01. 수학 표기법 — 최적화 언어의 최소 문법
// BACKGROUND 1/6— set, interval, vector, function, mapping, summation, norm을 같은 방식으로 읽기
최적화 문서는 기호가 많아서 어렵게 보입니다. 하지만 대부분은 “가능한 값의 모음”, “입력을 출력으로 보내는 규칙”, “여러 항을 더하는 방식”, “크기를 재는 방식”을 짧게 쓴 것입니다.
Set과 interval
집합은 원소들의 모음입니다. 예를 들어 는 “가 집합 의 원소”라는 뜻입니다. 최적화에서는 가능한 후보 전체를 집합으로 표현합니다.
구간은 실수 집합의 연속된 조각입니다.
| 표기 | 의미 | 끝점 포함 여부 |
|---|---|---|
| 이상 이하 | 둘 다 포함 | |
| 초과 미만 | 둘 다 제외 | |
| 이상 미만 | 왼쪽만 포함 | |
| 초과 이하 | 오른쪽만 포함 |
최적화의 feasible region은 보통 이런 집합 표기로 씁니다.
여기서 는 “모든 제약을 만족하는 후보의 집합”입니다.
Vector
벡터는 여러 숫자를 한 번에 묶은 결정입니다.
최적화에서 는 대개 decision variable입니다. 예를 들어 공장 설계라면 은 길이, 는 두께, 은 유량일 수 있습니다.
:::tip 기억할 문장 스칼라 하나를 고르는 문제는 선 위에서 찾는 문제이고, 벡터를 고르는 문제는 공간 안에서 한 점을 찾는 문제입니다. :::
Function and mapping
함수는 입력을 출력으로 보내는 규칙입니다.
는 차원 벡터를 숫자 하나로 보내는 함수입니다. 목적함수는 보통 이런 형태입니다.
반대로 은 입력 벡터를 출력 벡터로 보냅니다. 여러 개의 제약이나 시뮬레이션 출력은 벡터값 함수로 보는 것이 자연스럽습니다.
Summation
합 기호는 반복되는 더하기를 압축합니다.
회귀 문제의 평균제곱오차는 보통 이렇게 씁니다.
읽는 법은 단순합니다. 부터 까지 바꿔 넣고 전부 더합니다.
Norm
norm은 벡터의 크기를 재는 함수입니다. 가장 자주 쓰는 것은 Euclidean norm입니다.
최적화에서는 “얼마나 움직였는가”, “오차가 얼마나 큰가”, “gradient가 충분히 작아졌는가”를 norm으로 판단합니다.
| norm | 정의 | 직관 |
|---|---|---|
| $\sum_i | x_i | |
| 직선거리 | ||
| $\max_i | x_i |
최적화 문장을 읽는 법
아래 식을 보세요.
읽으면 다음과 같습니다.
- 라는 벡터를 고른다.
- 를 작게 만들고 싶다.
- 단, 라는 제약을 반드시 지킨다.
- 가능한 들의 집합 안에서 가장 좋은 점을 찾는다.
다음: 최적화를 위한 미적분