본문 바로가기
각종공부/머신러닝

머신러닝 공부 3편 - 로지스틱 회귀분석에서의 비용함수, 경사하강법 | Machine Learning(Coursera, Andrew Ng)

by 달슬 2020. 6. 14.
반응형

○ 분류(Classification)

$y\: \in \left \{ 0,\, 1 \right \}$ ··· 0 : negative class, 1 : positive class

기존 선형회귀분석 $h_{\Theta }(x) = \Theta _{0}+\Theta _{1}x$으로 분류를 할 경우, $h_{\Theta }(x)$는 0 or 1이 되어야 하는데, x 값에 따라 $h_{\Theta }(x)$의 값이 0보다 작아지기도 하고, 1보다 커지기도 하는 문제가 발생한다

따라서 $0\leq h_{\Theta }(x)\leq 1$을 만족시키기 위해 시그모이드 함수(Sigmoid Function)을 이용하여 변환을 시켜준다.

 

→ $g(z)\: =\: \frac{1}{1+e^{-z}}$
→ $z\: =\: \Theta ^{T}x = \Theta _{0}+\Theta _{1}x+\Theta _{2}x_{2}+\cdot \cdot \cdot +\Theta _{n}x_{n}$
  에서

  $h_{\Theta }(x) \: =\: g(\Theta ^{T}x )\: =\: \frac{1}{1+e^{-\Theta ^{T}x }}$
  이고,

  $h_{\Theta }(x) \: =\: P(y=1\mid x;\Theta )\: =\: 1\,-\, P(y=0\mid x;\Theta )$
    $ \Leftrightarrow \: P(y=1\mid x;\Theta )\: +\, P(y=0\mid x;\Theta )\: =\: 1$
  이다.

○ 로지스틱 회귀분석(Logistic Regression)

$h_{\Theta }(x) \: =\: g(\Theta ^{T}x ) $  where  $g(z)\: =\: \frac{1}{1+e^{-z}}$
에서

$h_{\Theta }(x) \: \geq \: 0.5$이면 y=1
$h_{\Theta }(x) \: < \: 0.5$이면 y=0
으로 추정한다.
이 때,
→ $z\geq 0$이면 $g(z)\geq 0.5$이므로, $\Theta ^{T}x\geq 0$이면 y=1로 추정한다.
→ $z< 0$이면 $g(z)< 0.5$이므로, $\Theta ^{T}x< 0$이면 y=0으로 추정한다.
□ 예시

○ 로지스틱 회귀분석에서의 비용함수(Cost Function)

$J(\Theta )\: =\: \frac{1}{m}\sum_{i=1}^{m}Cost(h_{\Theta }(x^{(i)},\, y^{(i)}))$
에서

$Cost(h_{\Theta }(x^{(i)},\, y^{(i)})\: =\: \left\{\begin{matrix} y=1\: \rightarrow \:\: -log(h_{\Theta }(x)) \\ y=0\: \rightarrow \: \: -log(1-h_{\Theta }(x)) \end{matrix}\right.$
이다.
( ∵이렇게 해야 $J(\Theta )$가 Convex Function이 된다.)

이를 합쳐서 표기하면,

$Cost(h_{\Theta }(x),\, y)\: =\: -y\, log(h_{\Theta }(x)) -(1-y)\, log(1-h_{\Theta }(x)) $
이고,

$J(\Theta )\: =\: -\frac{1}{m}\sum_{i=1}^{m}[ y^{(i)}\, log(h_{\Theta }(x^{(i)})) +(1-y^{(i)})\, log(1-h_{\Theta }(x^{(i)})) ]$
이다.

○ 경사하강법(Gradient Descent)

☞ $J(\Theta )$를 최소화 하기 위해

 $Repeat\left \{ \Theta _{j}\: :=\: \Theta _{j}\, -\, \alpha \frac{\partial }{\partial \Theta _{j}}J(\Theta _{j}) \right \}$

      $where\: \: J(\Theta )\: =\: -\frac{1}{m}\sum_{i=1}^{m}[ y^{(i)}\, log(h_{\Theta }(x^{(i)})) +(1-y^{(i)})\, log(1-h_{\Theta }(x^{(i)})) ]$

를 사용한다.

 

계산은 프로그래밍 툴 사용!

반응형

댓글