Linear Regression의 cost 최소화 알고리즘의 원리

해당 게시물은 Edwith에서 제공하는
머신러닝과 딥러닝 BASIC을 듣고 요약 정리한 글입니다.


Hypothesis and Cost

\begin{align} H(x) = Wx + b
\end{align}

\begin{align} cost(W,b) = \frac{1}{m}\sum_{i=1}^m(H(x^{(i)}) - y^{(i)})^2
\end{align}


Simplified hypothesis

\begin{align} H(x) = Wx
\end{align}

\begin{align} cost(W) = \frac{1}{m}\sum_{i=1}^m(Wx^{(i)} - y^{(i)})^2
\end{align}


What cost(W) looks like?

X Y
1 1
2 2
3 3

W = 1, cost(W) = ?

\begin{align} Cost(W) = (1 * 1 - 1)^2 + (1 * 2 - 2)^2 + (1 * 3 - 3) = 0 \end{align}

W = 0, cost(W) = 4.67

\begin{align} Cost(W) = \frac{1}{3}((0 * 1 - 1)^2 + (0 * 2 - 2)^2 + (0 * 3 - 3)^2) = 4.67 \end{align}

W = 2, cost(W) = 4.67

\begin{align} Cost(W) = \frac{1}{3}((2 * 1 - 1)^2 + (2 * 2 - 2)^2 + (2 * 3 - 3)^2) = 4.67 \end{align}

W값의 변화에 따라 달라지는 cost(W)의 값 그래프

우리의 목표 : cost(W)최소화 되는 점을 찾는 것


Gradient descent algorithm

  • 경사하강법
  • cost(W)최솟값을 찾는데 사용
  • 아무 지점에서나 시작 가능
  • W의 값을 조금씩 줄이며 cost(W)의 값을 계산
  • 반복적인 작업
  • 경사도를 구하는 법 : 미분


Formal definition

\begin{align} cost(W,b) = \frac{1}{2m}\sum_{i=1}^m(H(x^{(i)}) - y^{(i)})^2
\end{align}

\begin{align} W := W - a\frac{a}{aW}cost(W)
\end{align}


미분 과정

1. \begin{align} W := W - a\frac{a}{aW}\frac{1}{2m}\sum_{i=1}^m(Wx^{(i)} - y^{(i)})^2
\end{align}

2. \begin{align} W := W - a\frac{1}{2m}\sum_{i=1}^m2(Wx^{(i)} - y^{(i)})x^{(i)}
\end{align}

3. \begin{align} W := W - a\frac{1}{m}\sum_{i=1}^m(Wx^{(i)} - y^{(i)})x^{(i)}
\end{align}


Convex function

  • 경사하강법을 사용할 때 그래프가 아래와 같은 모양인지 확인 필수