2020년 11월 30일 월요일

ML memo - Regression

Regression


특징

gradient descent 방법을 주로 사용함

decision boundary 가 함수라서 numeric data 에 강함.

독립변수의 수보다 instance 의 수가 많아야함


Logistic Regression

$$
$P\left(y=1\ /\ x\right)\ =\ a_1x_1+...+a_nx_n+\ c$P(y=1 / x) = a1x1+...+anxn+ c
$\frac{P\left(y=1\ /\ x\right)}{1-P\left(y=1\ /\ x\right)}\ =\ a_1x_1+...+a_nx_n+\ c\ $P(y=1 / x)1P(y=1 / x) = a1x1+...+anxn+ c 
$$

확률을 맨 위 식을 이용해 만들면 P(y=1/x) 가 확률의 범위를 넘어가게 됨.

이를 보완하기 위해서 odd radio 라고 두번쩨식처럼 바꿈


$\log \combi{\frac{P\left(y=1\ /\ x\right)}{1-P\left(y=1\ /\ x\right)}}=\ a_1x_1+...+a_nx_n+\ c\ =ax+c$logP(y=1 / x)1P(y=1 / x)= a1x1+...+anxn+ c =ax+c
$P\left(y=1\ /\ x\right)=\frac{e^{ax+c}}{1+e^{ax+c}}=\frac{1}{1+e^{-\left(ax+c\right)}}=sigmoid\left(ax+c\right)$P(y=1 / x)=eax+c1+eax+c=11+e(ax+c)=sigmoid(ax+c)

x 가 1 에 가까워지면 odd radio 는 값이 너무 커지므로 로그를 씌워서 위 식으로 만듬.

이를 P(y=1/x) 에 대해 풀면 sigmoid function 혹은 logistic function 이 구해짐.

이렇게 구한 식을 이용해 확률을 naive bayesian 처럼 직접 계산함.


$loss=-\frac{1}{m}\sum _{i=1}^m\left(y_i\log \left(sigmoid\left(ax_i+c\right)\right)+\left(1-y_i\right)\log \left(1-sigmoid\left(ax_i+c\right)\right)\right)$loss=1mmi=1(yilog(sigmoid(axi+c))+(1yi)log(1sigmoid(axi+c)))
$\frac{loss}{da}=-\frac{1}{m}\sum _{i=1}^m\left(\left(\left(1-sigmoid\left(ax_i+c\right)\right)y_i-sigmoid\left(ax_i+c\right)\left(1-y_i\right)\right)\cdot x_i\right)$lossda=1mmi=1(((1sigmoid(axi+c))yisigmoid(axi+c)(1yi))·xi)
$=-\frac{1}{m}\sum _{i=1}^m\left(\left(y_i-sigmoid\left(ax_i+c\right)\right)\cdot x_i\right)$=1mmi=1((yisigmoid(axi+c))·xi)

이제 중요한건 a 와 c 의 학습인데 이는 delta rule 을 이용한 gradient descent 방식을 사용.

a 의 gradient 는 위처럼 구하고, c 는 x_i 만 1로 바꾸면 됨.


List