최적화(Optimization)
미분(differentiation) 가능한 함수(function)의 가장 크거나 작은 값은 기울기(slope)가 0인 곳이나 구간의 끝에서 나온다. 그래서 도함수(derivative function)의 0점을 찾는 문제가 된다.
한 변이 10인 정사각형 종이의 네 귀퉁이에서 한 변이
꼭대기에서는 곡선이 잠깐 평평해집니다. 올라가다가 내려가기 시작하는 순간이니 도함수가 0입니다.
최적화는 수학 곳곳에 숨어 있습니다. 최소제곱 회귀(least-squares regression)는 오차 제곱의 합이 가장 작은 직선을 찾습니다. 주성분 분석(principal component analysis)은 데이터 점들을 평균(mean)을 지나는 한 직선 위로 그림자처럼 내렸을 때, 그림자들이 가장 넓게 퍼지는(분산(variance)이 가장 큰) 방향을 찾습니다. 그 답은 공분산 행렬(각 변수 쌍이 함께 변하는 정도를 모은 표)의 고유벡터(eigenvector) 가운데 고유값(eigenvalue)이 가장 큰 것입니다.
물리에도 있습니다. 페르마는 1662년 빛이 두 점 사이를 가장 짧은 시간에 가는 길을 택한다는 원리를 세웠습니다. 공기에서 물로 들어가는 빛에 이 원리를 적용해 걸리는 시간을 최소로 만들면 굴절 법칙(law of refraction)이 나옵니다. 경계면에 수직인 선에서 잰 두 각도가
변수가 아주 많아 도함수가 0인 곳을 직접 풀 수 없을 때는 기울기 벡터(gradient vector)의 반대쪽으로 조금씩 내려가는 경사 하강법(gradient descent)으로 골짜기를 찾습니다. 변수들이 일차식으로만 얽힌 제약(예: 재료가 이만큼만 있다) 아래서 이익을 최대로 만드는 문제는 선형 계획법(linear programming)이 풉니다. 이때 답은 기울기가 0인 곳에서 나오지 않습니다. 최적의 답이 있고 허용된 영역에 꼭짓점(vertex)이 있다면, 최적의 답 가운데 적어도 하나는 꼭짓점에 있습니다. 제약이 등식(예: 둘레가 정해진 울타리)이면, 제약의 기울기가 0이 아닌 최적점에서 목표와 제약의 기울기 벡터가 평행하다는 조건으로 후보를 찾습니다(라그랑주 승수법).
고를 수 있는 것이 연속적인 값이 아니라 유한한 갈림길일 때도 있습니다. 지도 위 가장 빠른 길 찾기는 최단 경로(shortest path) 문제입니다. 매 순간 가장 좋아 보이는 갈림길만 고르는 욕심쟁이 알고리즘(greedy algorithm)은 빠르지만 늘 최선의 답을 주지는 않습니다. 길이가 음수인 길이 없는 최단 경로 문제처럼, 욕심쟁이 방식(다익스트라 알고리즘, Dijkstra's algorithm)으로도 최선이 보장되는 문제는 구조가 특별한 경우입니다.
점들을 무리 지어 중심까지의 거리 제곱합을 줄이는 k-평균 군집(k-means clustering)은 시작점에 따라 다른 골짜기에 빠지는 최적화의 좋은 예입니다. 여기서 골짜기는 주변보다는 낮지만 전체에서 가장 낮지는 않을 수 있는 곳(국소 최솟값, local minimum)입니다. 함수가 볼록하면 국소 최솟값이 곧 전체 최솟값이라 이런 걱정이 없습니다.
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 미분계수
… 가운데, 출력 쪽에서 거꾸로 나르는 후진 모드를 신경망에 쓴 것입니다. 미분 가능한 함수가 구간 안쪽에서최댓값이나 최솟값을 가지면 그곳의 기울기는 0입니다. 그래서 기울기가 0인 점이 후보가 됩니다(거꾸로는 성립하지 않습니다. …
- 국소 선형성
… 미분 가능한 곡선의 꼭대기나 골짜기에서는 접선이 수평이니, 확대한 직선의 기울기가 0입니다. 이것이최적화의 출발점입니다. 국소 선형성을 근사가 아니라 등식으로 만든 세계도 있습니다. 제곱하면 0인 '무한소' …
- 도함수
… 한 점의 값을 따로 알아야 합니다. 꼭대기와 골짜기에서는 도함수가 0이니, 도함수의 0점이 그 후보입니다.최적화가 도함수의 0점을 찾는 문제가 되는 까닭입니다. 하지만 후보일 뿐입니다. x^3 은 x = 0 에서 …
- 뉴턴 방법
… 나오는 또 다른 예가 망델브로 집합입니다. 이런 그림은 도메인 컬러링에 반복을 더해 그립니다.최솟값을 찾을 때는 도함수의 0점에 뉴턴 방법을 쓰면 됩니다. 그러려면 도함수를 한 번 더 미분한 이계 …
- 최소제곱 회귀
… 직선을 움직여 넓이 합을 줄여 보세요. 왜 제곱일까요? 제곱 합은 기울기에 대한 매끄러운 포물선이라최적화가 쉽습니다. 아래 그래프는 기울기마다(절편은 그 기울기에 맞게 최선으로 두고) 오차 제곱 합을 그린 …
- 중앙값
… 0으로 놓으면 -2\sum(x_i - c) = 0 , 곧 c가 평균일 때 가장 작다는 것이 바로 나옵니다(최적화). 그 최솟값을 개수로 나눈 것이 분산입니다. 값이 짝수 개면 가운데 두 값 사이 전체가 평평한 …
- 가우스 곡률
… 행렬식이 K이고, \kappa_1, \kappa_2 는 그 행렬의 고유값입니다. 같은 식이최적화에서 기울기가 0인 점이 극대·극소인지 안장점인지 가려내는 판별식으로도 쓰입니다. 양수면 극대나 극소, …
- 측지선
… 않는 곡선이고, 짧은 구간에서는 가까운 어떤 곡선보다도 짧습니다. 수 하나가 아니라 곡선 전체를 고르는최적화인 셈이고, 이런 문제를 다루는 분야가 변분법입니다. 구에서 측지선은 대원입니다. 서울과 …
- 최단 경로
… 거리 d(v) 는 이웃 u들의 d(u) + w(u, v) 가운데 가장 작은 값입니다(위의 식). 큰최적화문제를 한 번에 풀지 않고, 작은 조각의 최적을 이어 붙이는 셈입니다. 1959년 네덜란드의 컴퓨터 과학자 …
- k-평균 군집
… 먼 점일수록 높은 확률로 다음 시작점으로 뽑는 k-means++(2007) 같은 방법을 씁니다. 이것도최적화에서 흔히 만나는 함정입니다. 손실을 줄이는 쪽으로만 조금씩 움직이는 경사 하강법도 같은 국소 최솟값에 …
- 최적 수송
… GAN). 평면이나 그래프 위처럼 일반적인 경우에는 흙을 어디서 어디로 얼마나 보낼지를 정하는최적화문제를 풀어야 합니다. 보낼 양들을 미지수로 두면 비용도 조건(흙더미마다 내보내는 양의 합, 구덩이마다 …
- 쇠렌센–다이스 계수
… 나갈 '틀린 정도'(손실)로 1-D 를 씁니다. 픽셀마다 0이나 1 대신 확률을 넣어 매끄럽게 바꾼 뒤최적화하는데, 이것이 다이스 손실입니다. 이어지는 곳. 이름은 두 생태학자에게서 왔습니다. 미국의 리 다이스가 …
- 맨해튼 거리
… 멀리 튄 값에 덜 휘둘립니다. 대신 절댓값 그래프는 0에서 뾰족하게 꺾여 미분할 수 없는 점이 있으니최적화가 조금 까다롭습니다. 성분의 절댓값 합은 벡터의 크기를 재는 한 방법, 곧 p = 1인 ⟦Lp …
- Lp 노름
… 꼭짓점에서는 좌표 몇 개가 정확히 0이니, 계수 몇 개가 정확히 0이 되어 꼭 필요한 변수만 남습니다(최적화). 이어지는 곳. 합을 적분으로 바꾸면 함수의 크기 (\int |f|^p)^{1/p} 가 됩니다. …
- 편집 거리
… 편집 표에서 각 칸의 값을 이웃 칸의 최솟값으로 구할 수 있는 것도 이 때문이고, 여러 단계로 나뉜최적화문제에 두루 쓰입니다. 상태는 보이지 않고 상태가 내놓는 관측값만 보이는 마르코프 연쇄에서 관측값들을 …
- 튜링 기계
… 기계가 그런 기계입니다(14걸음 만에 멈춥니다). 남기는 1의 개수 대신 멈출 때까지 걸리는 걸음 수의최댓값을 물어도 됩니다. 이런 최댓값들은 n이 커질수록 어떤 계산 가능한 함수보다도 결국 빨리 자랍니다(헝가리 …
- 경사 하강법
… 그곳도 기울기가 0이어서, 발밑만 보는 경사 하강법은 더 낮은 왼쪽 골짜기가 있는지 알 수 없습니다.최적화에서 기울기가 0인 점은 극소일 수도, 한쪽으로는 오르고 다른 쪽으로는 내려가는 안장점일 수도 있고, …
- 욕심쟁이 알고리즘
… 오를 때 늘 가장 가파른 쪽으로만 가다가 가까운 봉우리(국소 최적)에 갇히는 것과 닮았습니다. 연속적인최적화에서 경사 하강법이 빠지는 함정도 같은 모양입니다. 이어지는 곳. 1, b, b², …처럼 진법의 …
- 최대 흐름 최소 절단 정리
… 용량과 같고, 앞의 부등식에 따라 둘 다 최적입니다. 지금 이 네트워크에서 최소 절단은 입니다. 이 정리는최적화에서 말하는 쌍대성의 대표적인 예입니다. 선형 계획법에서는 일차 부등식 조건 아래 일차식을 최대로 …
- 최대 엔트로피 원리
… 합이 1이고 평균이 m이라는 두 조건 아래에서 H = -\sum p_i \log p_i 를 가장 크게 하는최적화문제를 라그랑주 승수법으로 풀면 이 모양이 나옵니다. 라그랑주 승수법은 조건마다 새 변수(승수)를 …
- 변분법
보통의최적화는 수 하나를 찾습니다. 어떤 x에서 f(x)가 가장 작은지 묻고, 미분이 0인 곳에서 답을 찾습니다. …
- 최대가능도법
… 0 \;\Rightarrow\; \hat p = \frac{k}{n} 미분해서 0이 되는 곳을 찾으면(최적화) 직감대로 앞면의 비율이 나옵니다. log L은 위로 볼록한 곡선이라, 기울기가 0인 곳이 곧 가장 높은 …
- 기계 학습
… 정하는 조절 손잡이 같은 수들(스팸 필터라면 낱말마다의 점수)로 적혀 있다면 학습은 그 수들을 맞추는최적화입니다. 손실을 매개변수로 미분해 내려가는 경사 하강법(실제로는 자료 일부로 기울기를 어림하는 …
- 기울기 벡터와 야코비 행렬
… 데이터가 너무 많을 때 일부로 어림하는 것이 확률적 경사 하강법입니다. 기울기가 0인 점을 찾는 일은최적화의 첫걸음이고, \dot{\vec x} = -\nabla f(\vec x) 처럼 기울기를 따라 흐르는 …
- 볼록 함수와 볼록 최적화
… 기울기 벡터와 헤세 행렬의 뜻은 기울기 벡터와 야코비 행렬에, 이계도함수로 극소와 극대를 가리는 일은최적화에 있습니다.
- 라그랑주 승수법
… = x(6 - x)/2 의 꼭대기를 찾으면 됩니다. 답은 x = 3, y = 1.5, 넓이 4.5입니다(최적화). 그러나 제약이 복잡하면 한 변수를 다른 변수로 풀어 쓰기조차 어렵습니다. 라그랑주 승수법은 대입 없이 …
- 인공지능
… 이 계산을 둘러싼 수학은 다음 페이지들에 있습니다. 손실을 줄이는 길. 학습은 손실을 가장 작게 만드는최적화입니다. 가중치를 하나씩 조금 바꿀 때 손실이 얼마나 변하는지를 모은 것이 기울기 벡터입니다. 이것은 …
- 규모의 법칙
… 그 바닥은 글의 엔트로피입니다. 트랜스포머: N과 계산량을 세는 방법. 라그랑주 승수법과최적화: 제약 아래에서 최적점을 찾는 일반적인 방법. 과적합: 맞춘 곡선을 측정한 범위 밖에 쓰는 위험과 …
- 굿하트의 법칙
… 모델이라는 대리 지표를 너무 세게 최적화하지 않으려는 장치입니다. 이어지는 곳. 지표를 목표로 삼는 일은최적화의 한 경우이고, 최적화는 대개 목표 함수의 가장 극단적인 곳, 곧 대리 지표와 참값이 가장 많이 어긋날 …