본문 바로가기

문제풀기

pattern recognition and machine learning 3-5, 라그랑주 함수의 이해 ( 정규화 오류 함수의 lambda 값이 라그랑주 승수를 구하는 문제로 해석 가능)

라그랑주 승수법을 이용하여 

정규화된 오류 함수를 최소화하는 것이

정규화되지 않은 곱합 오류를 제약 조건하에서 최소화하는 것과 동일하다는 것의 증명

 

n, lambda 의 관계에 대해 논하라

 

정규화된 오류 함수

정규화 되지 않은 곱합 오류

제약 조건

 

제약 조건의 재작성

편의상 1/2 의 도입(deliberately)

라그랑주 함수 사용

해당 식과 정규화된 오류 함수 를 정규화되지 않은 곱합 오류를 제약조건 하에서 최소화하는 것과 동일,

w 에 대해 동일한 의존성을 갖는 것이 명백하다.

 

한편 L(w,lambda) 를 최소화할 수 있는 최적 w 를 w*(lambda) 로 표시하면,

해당 식을 얻는다. 

라그랑주 식의 최소화.

근데 그럼 n 은 뭔데 제약 조건식의 형태 때문에 생긴건가. 

 

n 과 lambda 사이의 관계 파악, 

위의 식에서는 단순히 라그랑주 함수의 2번째 항을 0으로 만드는 n 값,

 

0 보다 큰 lambda 값에 대해서 정규화 오류 함수의 최소화, w 에 대한 값을 w*(h) 로 나타내고 KKY 를 사용하면 n 값을 얻을 수 있다.

 

 

이러한 내용의 기저가 되는 내용, 

정규화 오류 함수에서 q = 1 인 경우를 라쏘 lasso 라 한다. 이 때 lambda 값을 충분히 크게 설정하면 몇몇 계수 w 가 0이 된다. 이러한 모델을 희박한 모델( 많은 가중치가 0 인 경우 ) 이라고 한다. 

이때 계수가 0이 된 해당 항의 기저 함수는 더 이상 사용되지 않는다. ?? 먼말알?

 

 

정규화의 경우 최적의 모델 복잡도 탐색 문제에서 적절한 정규화 계수 lambda  를 찾는 문제로 변경

 

라그랑주 승수법

undermined multiplier, lagrange multiplier 는 하나 이상의 제약 조건하에서 여러 변수에 대한 함수의 임계점을 찾는 데 사용,

 

D 차원 변수 x 에서 제약 조건 g(x) = 0 은 x 공간상의 D-1  차원 표면에 해당한다. ( 함숫값이 0이니까!!! )

제약 조건 표면상(g(x) = 0)의 모든 포인트들에 대해서 제약 조건 함수에 대한 기울기 d g(x) 들은 표면에 대해 직교할 것이다.( 왜??)

이를 확인하기 위해 제약 조건 표면상의 포인트 x 와 x+e 의 고려 (둘 다 제약 조건 표면상의 포인트)

x 주변에 대해 테일러 전개를 시행하면

g(x+e) ~= g(x) + e^T d g(x)

을 얻게 된다. (그치 이거까진 맞지)

x 와 x + e 는 둘 다 제약 조건 평면상 위치, g(x) = g(x+e), e^T d g(x) 의 값이 0과 비슷할 것,

lim(e) -> 0 일수록 e^T d g(x) 는 0이 된다.

이것은 벡터 e 가 제약 조건 평면 에 대해 평행하다는 것, 해당 값이 0이 되기 위해서는 d g 는 표면에 대해 수직이어야 한다.

 

다음으로는 f(x) 가 최대화되는 결정 표면상의 x* 를 찾아야 한다. 

이러한 포인트는 d f(x) 가 제약 조건 평면에 대해 직교하는 성질을 가져야 한다. - 이건 또 왜??

이 경우 제약 조건 표면을 따라 짧은 거리를 이동시킴으로써 f(x) 의 값을 더 증가 시킬 수 있기 때문 - 아하 작은 변화로 더 많은 증가를 얻을 수 있기에...

제약 조건 평면은 g(x) = 0 을 이루는 평면임을 계속 인지....

 

df 와 dg 는 평행한 벡터이어야 하므로, df + lambda dg = 0 을 만족하는 매개변수 lambda 가 존재할 것,

 

0이 아닌 lambda 를 라그랑주 승수 lagrange multiplier 라 한다. 

 

다음으로 정의된 라그랑주 함수 도입

L(x, lambda) ≡ f(x) + lambda g(x)

제약된 정류 조건은 d L_x = 0 으로 설정함으로써 구할 수 있다. 

또한 조건 d L / d lambda = 0 에 따라 제약 조건식 g(x) = 0 을 얻게 된다.

(람다 변화량에 대한 라그랑주 함수 변화량이 0이면 g(x) = 0 을 얻네 ㅇㅇ)

 

 

따라서 제약조건 g(x) = 0 하에서 함수 f(x) 의 최댓값을 얻기 위해서는 라그랑주 함수를 정의하고 x 와 lambda 에 대한 L(x, lambda) 의 임계점을 찾아야 한다.