Week 01: Parameter Learning
해당 수업에서는 첫 번째 Machine Learning 알고리즘이면서, 빈번하게 사용되는 gradient descent 알고리즘을 학습 한다.
Gradient Descent Algorithm
Cost Fuction이 다음과 같이 있다고 가정하다.
당연히 이러한 Cost Fucntion의 값이 최소가 되는
최적화된 Cost Function을 찾는 방법을 Gradient Descent 알고리즘이라 한다.
- Start with some
θ0,θ1 - Keep Changing
θ0,θ1 to reduceJ(θ0,θ1) untile we hopfully end up at a minimum
아래와같이 최소 지역을 찾을 수고 있고,
아래와 같이 약간 옆으로 시작할경우 local minimum 문제에 빠질 수도 있다.
수식으로 Gradient descent algorithm을 표현하면 아래와 같다.
구현상의 중요점은
그리고 temp를 이용해서 저장하고 그것을 반영해야한다.
Gradient Descent Algorithm Intuition
좀 더 직관적으로 쉽게 이해해보자.
일단 단하나의 변수
추가로 learning rate에 따라서 최적화가 될 수도 있고 안될 수도 있다.
이렇게 local minimum에서 빠져 나오지 못하는것은
자체적으로 점점 더 값이 작아지기 때문이다.
알파 값을 고저이켜도 결국 minimum 값에 converge 하게 된다.
이러한 gradient descent algorithm을 이용해서 어떠한 cost function도 최적화 할 수 있다.
단 local minimum의 문제는 여전히 존재 한다.
Gradient Descent for Linear Regression
실제 cost function인 linear regression에서의 measn sqaured error 를 생각해보자.
당연히
각각에 대해서 partial derivative (편미분)하면 아래와 같다.
실제 partialderivative (편미분)을 통해서 optimal 함수를 구하는 것은 알아냈다.
이제는 좀 더 실제적으로 local fucntion을 구하는것을 알아보자.
bow shape을 따른다 Linear regression의 cost function의 경우에는
아래와같은 모양을 convex fucntion이라고 하고 이것을 bow-shaped 이라고 인포멀리 부른다.
이러한 convex fucntion은 local minimum이 존재하지 않고, 오로지 global minimum만이 존재한다.
따라서 linear regression의 cost function은 convex이기 때문에 local minimum문제 없이 언제나 global minimum에 도달하게 된다.
좀 더 포멀하게 cost function을 최적화 하는 것을 생각해보자.
이때 hypothesis function h(x) = -0.1x+900
그리고 이것을 반복하면 최종적으로 global minimum에 도달하게 된다.
그리고 이렇게 전체 Traning set을 가지고 gradient descent하는 것을 Batch Gradient Descent라 한다.
'MOOC > Machine Learning (python)' 카테고리의 다른 글
Week02: Linear Regression with multiple variables (0) | 2015.12.18 |
---|---|
Week 01 Linear Algebra Review (0) | 2015.12.17 |
Week 01: Model And Cost Function (0) | 2015.12.05 |
Week 08: Dimensionality Reduction (0) | 2015.11.18 |
Week 03: Logistic Regression Regularization (0) | 2015.08.03 |