분류에 회귀를 이용해 보자.
기계학습 분야에서 적용은 라벨이 붙은 학습 데이터를 나누는 분류 직선(또는 평면)을 얻는 것이다.
f(z)={1 \over 1+exp(-z) }
와 같은 함수가 있다. f는 z가 음수로 증가하면 0이고 양수로 증가하면 1이 된다.
샘플 데이터의 두 부류 라벨이 0과 1이라면 회귀 직선 z에 의한 f(z) 값이 0과 1로 나오면 된다.
직선(또는 고차공간에서 hyper-plane)은 파라메터 w와 샘플 특징 x의 곱으로
z=w'x
이다. w는 직선의 인자 값 벡터이고 x는 특징 벡터이다.
이 직선이 데이터를 잘 분류 하도록 w값을 정하는 문제를 최적화로 푼다.
f(z)가 0과 1, 또는 그 사이 값이 되므로 확률과 유사하다.
데이터 (x_i,y_i)가 주어진다면 f(z)는 w와 데이터의 함수이고 확률 형태 p(w,x)=f(z)으로 라벨 y_i와 함께 이용된다.
목적함수는
L(\omega)={\underset{i}{\prod}} p(\omega,x_i)^{y_i} (1-p(\omega, x_i))^{1-y_i}
와 같다. 샘플이 주어지면 라벨 y_i(1 또는 0) 값에 따라 L_i(w)는 f(z)나 1-f(z)가 된다.
즉, y_i=1이면 f(z)는 1이 되면 되고, y_i=0이면 f(z)가 0이 되면 된다. 따라서 두 경우 모두 f(z)나 1-f(z)는 1이 되므로 L(\omega)는 최대화가 된다.
즉, y_i=1이면 f(z)는 1이 되면 되고, y_i=0이면 f(z)가 0이 되면 된다. 따라서 두 경우 모두 f(z)나 1-f(z)는 1이 되므로 L(\omega)는 최대화가 된다.
\omega를 구하는 식은
\omega_{t+1}=\omega_t + \alpha \nabla L(\omega) = \omega_t + \alpha x (y-f(z))
\omega_{t+1}=\omega_t + \alpha \nabla L(\omega) = \omega_t + \alpha x (y-f(z))
댓글 없음:
댓글 쓰기