일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SQL공부
- sql
- 파이썬
- orderby
- DATE_FORMAT
- 머신러닝강의
- 코세라강의
- coursera
- sorted
- 프로그래머스SQL
- WHERE
- POP
- 인프런sql강의
- Algorithm
- 코세라
- map
- 머신러닝
- groupby
- 경제공부
- mysql
- 안드류응
- PYTHON
- sql오답노트
- 코세라머신러닝
- 코세라머신러닝강의
- Andrew NG
- 프로그래머스
- programmers
- Machine Learning
- 알고리즘
- Today
- Total
미래를 예측하는 데이터분석가
[Coursera] 머신러닝 Andrew Ng 강의 1주차 정리노트 - 2 본문
Machine Learning by professor Andrew Ng in Coursera
Day 2 - What is Machine Learning?
Cost Function
선형 회귀 문제에서 비용함수 즉, Cost Function은 이 그래프가 얼마나 잘 적합한지를 검증해주는 함수라고 할 수 있다. 통계에서는 이것을 MSE(Mean of Squared Error)라고 부른다. 나 역시 학부시절 그렇게 배워왔고 익숙했던 함수라 쉽게 이해할 수 있었다.
실제값에서 예측한 값의 차의 제곱을 평균한 값이며 2를 나눈 이유는 경사하강법의 계산에서 편의성이라고 한다.
여기서 함수 J는 비용함수이며 가장 최소가 되는 값이 최적의 값을 가지게 해준다.
최적의 값은 세타가 1이되면 즉 기울기가 1일 때 J의 값이 0이 되기 때문이다.
그런 부분을 가장 직관적인 선형함수를 사용하여 그래프로 비교하면서 이해를 시켜주셔서 좋았다.
위의 가정함수 h 는 기울기만을 포함해서 Cost Function이 2차원으로 위와 같이 나왔다.
하지만 기울기와 y절편이 있는경우
여기보시면 Contour plot의 높이가 cost function을 나타내고 가장 작은 값일 때의 기울기와 절편을 구하는데 도와준다.
그 수많은 등고선들을 다 일일이 확인해서 가장 작은 값을 찾기는 힘들기 때문에 기계를 돌려 학습시키게 된 것이다.
그렇게 최적의 값을 찾으면 다음과 같을 것이다.
Gradient Descent Algorithm
cost function이 가장 작은 값의 θ1의 최적의 값을 구하는게 경사하강법의 목적이다.
여기서 오른쪽에서 내려올 때 함수 J의 미적분값이 양수이므로 θ1이 learning rate에 따라 크게 또는 작게 감소하여 최적의 값으로 도달하며 반대로 왼쪽에서 내려올 때는 J의 미적분값이 음수이므로 θ1가 점점 커지면서 최적의 값을 찾는 것을 알 수 있다.
그러나 learning rate을 너무 크게 주면 점점 값이 커져 수렴하지않고 2번째 그림처럼 튕겨져 나갈 것이며 너무 learning rate이 작아도 학습속도가 느려지고 과적합이 될지도 모른다는 점이다.
Gradient Descent For Linear Regression
다음과 같은 식이 나오는 이유는 아래 그림과 같다.
미적을 하면 최종적으로 나오는 값을 단지 위에 식에 정리해 대입한 것 뿐이다.
새로울 것은 없고 이렇게도 표현할 수 있고 식을 간단히 표기하기 위해서일 것이다.
또 새롭게 알게된 사실은 선형 회귀의 경우만 하나의 global optima가 존재한다는 것이다.
'강의노트 > Coursera' 카테고리의 다른 글
코세라 머신러닝 Octave 설치 및 과제 제출 (0) | 2021.02.12 |
---|---|
[Coursera] 머신러닝 Andrew Ng 강의 2주차 정리노트 - 2 (0) | 2021.02.08 |
[Coursera] 머신러닝 Andrew Ng 강의 2주차 정리노트 - 1 (0) | 2021.02.05 |
[Coursera] 머신러닝 Andrew Ng 강의 1주차 정리노트 - 3 (0) | 2021.02.03 |
[Coursera] 머신러닝 Andrew Ng 강의 1주차 정리노트 (0) | 2021.02.01 |