[머신러닝] 라그랑주 승수법 개념 정리

업데이트:

라그랑주 승수법(Lagrange Multiplier Method) 개념 정리

참고링크

라그랑주 승수법 정의

라그랑주 승수법(Lagrange Multiplier Method)은 제약이 있는 최적화 문제를 푸는 방법이다. 최적화 하려는 값에 형식적인 라그랑주 승수(Lagrange multiplier)항을 더하여 제약된 문제를 제약이 없는 문제로 바꾼다.

라그랑주 승수법은 정의 그대로 어떤 제약조건이 있을 때 함수의 극한을 찾는 방법인데요. 즉, 최적화 문제를 푸는 방법입니다.

배경

우리가 최대값이나 최소값을 구하고 싶은 함수를 $f(x,y)$라 하고, 제약조건을 $\phi(x,y)=\text{상수}$라 합시다. 그러면 사실상 $f(x,y)$는 변수 한 개(예를 들어 x)의 함수입니다. 왜냐하면 제약조건 때문인데요, 제약조건 때문에 한 변수가 정해지면 나머지 하나는 자동으로 정해집니다. 통계학에서는 이를 ‘자유도’라고 부릅니다.

개념

$f$의 최대값이나 최소값을 구하기 위해 $df/dx = 0$으로 놓읍시다. $df=0$ 으로 놔도 좋습니다. $\phi=\text{상수}$이므로 $d\phi=0$입니다.

$ F(x,y) = f(x,y) + \lambda\phi(x,y) $

위 식은 우리가 최적화시켜야할 $f$와 제약식 $\phi$를 한 군데 묶은 식입니다. 이때 $\lambda$값에는 관심이 없습니다. 중요하지 않아요~

이 후에 $F(x,y)$에 대해 두 개의 편미분을 0으로 놓고, $\phi=\text{상수}$를 함께 풀어 $x,y,\lambda$를 구합니다.


잠깐! 선형대수, 머신러닝에 대해 좀 더 자세히 알고 싶다면?

선형대수와 통계학으로 배우는 머신러닝 with 파이썬