[머신러닝 이론] Logistic Regression(로지스틱 회귀)
이 글은 모두를 위한 딥러닝 시즌1을 기반으로 작성한 글입니다.
[머신러닝 이론] Multiple Linear Regression(다중 선형 회귀)
이 글은 모두를 위한 딥러닝 시즌1을 기반으로 작성한 글입니다. [머신러닝 이론] Gradient descent(경사하강법) 이 글은 모두를 위한 딥러닝 시즌1을 기반으로 작성한 글입니다. [머신러닝 이론] Linear
chaerrylog.tistory.com
이전 글까지는 선형 회귀의 가설, 손실함수, 경사하강법에 대해서 배웠다.
이 글에서는 로지스틱 회귀에 대하여 설명한다.
Logistic Hypothesis
머신 러닝은 지도 학습과 비지도 학습으로 구분되고, 지도 학습은 회귀과 분류로 나눠진다.
앞에서 배운 선형 회귀는 Regression에 속하고, 오늘 배울 로지스틱 회귀는 Classification에 속한다.
Regression은 주어진 데이터에 따라서 새로운 데이터에 대한 y값을 예측하면 되지만, Classification은 카테고리에 따라 데이터를 분류해야 한다.
$$ H(x) = Wx+b $$
앞서 봤던 선형 회귀 함수는 독립 변수 x에 따라서 y의 범위가 달라진다. 따라서 y의 범위가 [0, 1]인 함수를 찾게 됐는데, 이 때 발견된 함수가 시그모이드 함수이다.
Sigmoid function은 어떤 x값이든 y의 범위가 [0, 1]인 함수이다. 이 함수는 0.5를 기준으로 이진분류를 하게 된다. 이를 통해 가설을 세웠다.
$$ H(x) = \frac{1}{1+e^{-W^{T}X}} $$
Loss function
로지스틱 회귀에 선형 회귀에서 사용했던 Loss function을 사용하면 Local miniaum에서 멈출 수 있기 때문에 선형 회귀와 다른 Loss function을 사용해야 한다.
$$ C = \left\{\begin{matrix}
-log(H(x)):y=1\\-log(1-H(x)):y=0
\end{matrix}\right. $$
따라서 로지스틱 회귀에서 Loss function은 위에 두 범위를 합친 Binary Cross Entropy(BCE)를 사용한다.
$$ cost(W) = -\frac{1}{m}\sum ylog(H(x))+(1-y)log(1-H(x)) $$
보기엔 수식이 복잡해 보이지만, y가 1일 때는 앞 부분만 남고, y가 0일 때는 뒷 부분만 남아서 수식이 간단해진다.
Weight
Loss가 최소 되는 W값을 찾는 수식이다.
$$ W = W-\alpha \frac{\partial }{\partial W}cost(W) $$
선형 회귀와 마찬가지로 Gradient descent 알고리즘을 사용한다.
기존에 W에서 loss function에 미분한 값에 내려갈 step(알파)을 곱해준 값을 빼주는 방법으로 최적의 W값을 찾는다.