본문 바로가기
IT 기록/머신러닝

[머신러닝]03-1.Linear Regression의 cost 최소화 알고리즘

by Lazy Quant 2018. 7. 9.
반응형


※본 포스팅은 직접 강의하는 내용이 아닌, 김성훈 교수님의 머신러닝 강의를 정리하기 위한 포스팅입니다.

김성훈 교수님의 강의는 모두를 위한 머신러닝/딥러닝(http://hunkim.github.io/ml)에서 들을 수 있습니다.



Linear Regression의 cost 함수


목표는 cost를 최소화하는 값 W와 b를 찾는 것이다.



cost 함수는 어떻게 생겼을까?

cost 함수의 그래프

cost 함수의 그래프를 그리면 위와 같은 모습이 된다.

이 그래프에서 cost 함수를 최소화하는 W와 b를 찾기위해 경사하강법 알고리즘(Gradient descent algorithm)을 사용한다.



Gradient descent algorithm(경사하강법 알고리즘)

  • cost 함수를 최소화하는 알고리즘
  • 다양한 최소화 문제에 사용됨
  • cost(W,b) 함수에서 cost를 최소화하는 W와 b를 찾는 것
  • 많은 값들이 있는 cost 함수도 최소화할 수 있는 알고리즘(W)


Gradient descent algorithm의 원리

  • 임의의 한 점을 정해 시작한다.
  • W를 조금 바꾼 후 경사도를 계산
  • 경사도가 낮아지는 방향으로 이동
  • 경사도를 구하는 방법 : 미분

Convex function

3차원 cost function의 그래프가 위와 같이 그려진다고 하면, 시작하는 임의의 값에 따라 서로 다른 local minimum을 가지기 때문에, 정확한 최소값을 찾지 못할 수 있다.


따라서, cost(W,b) 함수의 형태가 convex function인지를 확인해야 한다


하지만 linear regression의 경우 convex function이기 때문에 아래와 같은 그래프의 모양을 가진다

이러한 모양의 그래프에서는 어떠한 점에서 시작을 해도 동일한 최소값을 향해 나아간다.


따라서 Gradient descent algorithm(경사하강법 알고리즘)을 사용하기에 적합하다.


반응형

댓글