머신러닝

[머신러닝] 로지스틱 회귀 - 분류, 시그모이드 함수, 손실 함수

jmkimmessi 2020. 7. 24. 19:56
반응형

분류(Classification)

 

Training Data 특성과 관계 등을 파악한 후, 미지의 입력 값에 대해 그 결과가 어떤 종류의 값으로 분류될 수 있는지 예측하는 것

 

로지스틱 회귀(Logistic Regression) 알고리즘

 

1. Training Data 특성과 분포를 나타내는 최적의 직선을 찾고(Linear Regression)

 

2. 그 직선을 기준으로 데이터를 위/아래, 또는 왼쪽/오른쪽 등으로 분류(Classification) 해주는 알고리즘

$\Rightarrow$ 이러한 Logistic Regression은 Classification 알고리즘 중에서도 정확도가 높은 알고리즘이다.

 

시그모이드 함수(sigmoid function)

 

출력 값이 1 또는 0 만을 가져야만 하는 분류(classification) 시스템에서, 함숫값으로 0~1 사이의 값을 가지는

sigmoid 함수를 사용할 수 있다.

$$ y = \frac{1}{1 + e^{-(Wx+b)}} $$

or

$$ z = Wx + b$$

$$y = \mathrm{sigmoid} (z) = \partial (z) = \frac{1}{1 + e^{-z}} $$

시그모이드 함수 그래프

$\Rightarrow$ 즉, linear regresstion 출력 $Wx+b$ 가 어떤 값을 갖더라도, 출력 함수로 sigmoid를 사용해,

0.5를 기준으로 0.5 이상이면 1, 0.5보다 작으면 0으로 정의해 분류(classification) 시스템을 구현할 수 있다.

 

손실함수(loss function)

 

분류 시스템 최종 출력 값은 1 또는 0의 이산적인 값을 갖기 때문에 선형 회귀에서와는 다른 손실함수가 필요하다.

$$y = \frac{1}{1+e^{-(Wx+b)}}\;,\;t_{i} = 0\;\mathrm{or}\;1 $$

$$\mathrm{loss \;function} = E(W,b) = -\sum_{i=1}^{n} \{t_{i}\log y_{i} + (1-t_{i})\log (1-y_{i})\} $$

 

이 함수를 똑같이 경사 하강법에 이용해 알맞은 W, b를 찾으면 된다.

 

반응형