2013년 10월 19일 토요일

Logistic regression 기반의 분류기

선형 회귀란 직선을 데이터에 정합하는 것이다.
분류에 회귀를 이용해 보자. 

기계학습 분야에서 적용은 라벨이 붙은 학습 데이터를 나누는 분류 직선(또는 평면)을 얻는 것이다. 

$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)$는 최대화가 된다.

$\omega$를 구하는 식은

$\omega_{t+1}=\omega_t + \alpha \nabla L(\omega) = \omega_t + \alpha x (y-f(z))$

이다.  도함수를 구하는 식은 링크를 참고한다.










댓글 없음:

댓글 쓰기