Andrew Andrew Ng 교수의 머신러닝 정리를 요약했다.
첫 번째 챕터 1.2 Linear Regression with One Variable
http://soopsaram.com/ml/markdowns/1.2-linear-regression-with-one-variable.html
수식과 그림은 따로 포스팅에 첨부하지 않았다.
1.2.1 Model and Cost Function
Linear regression은 입력된 값을 기반으로 결과값을 예측하는 알고리즘이다.
1.2.2 Linear regression
Supervised learning == 지도학습.
문제와 답이 한 쌍으로 되어 있다. 이를 Training set(data set) 이라고 한다. data set이 x와 y로 구성된다.
m: 학습 데이터 개수
x: input, feature
y: output, target
1.2.3 Model Representation
Hypothesis Function(가설 함수) 개념
머신러닝의 최종 목적은 예측을 위해 이 가설함수를 생성하는 것이다.
데이터를 통해 학습을 진행하는 것은 함수의 parameter를 학습하는 것과 같다.
trainig set데이터가 학습 알고리즘을 거치면 결과함수가 나오는데, 이를 h라고 표기한다.
(Hypothesis Function이라 부른다)
1.2.4 Cost Function(비용 함수, 손실 함수 )
Cost Function은 Hypothesis Function의 정확도를 평가하기 위한 도구다.
h함수가 함수의 파라미터를 어떻게 선택하는지에 영향을 미친다.
함수의 파라미터를 적절하게 선택하여 만든 h함수의 결과값과, 실제 결과값 y가 얼마나 차이가 있는지 확인하는 것이 cost function이다.
이 차이가 적을 수록 정확한 h(가설함수)를 찾은 것이다.
이러한 가설함수는 오차함수의 제곱이라고도 풀린다.
이 제곱함수는 회귀분석(regression)에서 가장 많이 사용된다.
제곱을 하는 이유는 음소, 또는 미분을 해야하기 때문이다.
자세히 살펴보면 공식자체는 별게 없다.
training set에서 각 (예측값i - 실제값i)을 제곱하고 합을구한뒤 전체 training set 갯수 m으로 나눠서 평균을 낸것일 뿐이다.
cost function이 작아질 수록, Hypothesis Function의 정확도는 향상된다.
1.2.5 Simplified Cost function of Linear Representation
세타0을 0으로 만든 단순화 버전
단순화시킨 h그래프는 원점을 지난다.
세타1이 1일때(기울기가 1)는 예측 모델의 예측값이 실제값과 동일해진다는 것을 설명한다.
세타1 == 기울기.
1.2.6 cost function
세타0과 세타1이 모두 존재하므로, cost function(손실함수)는 3차원 그래프가 나온다.
이 부분은 이해하기 어려웠음.
1.2.7 Parameter Learning(Gradient Descent)
이번 장에서는 가장 적합한 hypothesis function의 공식을 구성하는 parameter(세타)들을 어떻게 추정하는지 알아본다.
Gradient Descent 알고리즘이다.
1.2.8 Gradient Descent 알고리즘 수학적 정의
목적: Minimize cost function
Gradient Descent알고리즘은 Cost function, J() 의 최소값을 찾기 위해 사용한다. (최소화 문제의 경우에 많이 사용하는 범용 알고리즘이다.)
어떤 값으로 세타0와 세타1을 초기화 한다. (보통 0)
손실 함수를 최소화 시키는 방향으로 세타0과 세타1을 변화시킨다.
Linear regression에서는 손실함수 J의 최소점이 무조건 1개이다.
훈련비율(==학습률, learning rate): 기본적으로 언덕을 내려갈 때 얼만큼 큰 걸음을 내 딛어야 하는지를 의미한다. 기울기 하강의 변화치를 큰폭으로 할지 작은폭으로 할지에 해당한다.
1.2.9 learning rate와 미분계수
훈련비율이 매우 작다면, 매우 작은 스탭(폭)으로 gradient가 하강한다.
그래서 많은 이동이 필요해서 하강 속도가 느려진다.
훈련비율이 매우 크면, 결국 수렴(converge)에서 멀어지게 된다.
1.2.10 Gradient Descent for Linear Regression
경사하강법을 손실함수를 최소화 하는 수식에 대입하면 된다.
'일상 > Today I Learn(TIL)' 카테고리의 다른 글
2019-09-20 TIL 파이썬으로 진법변환 (0) | 2019.09.20 |
---|---|
2019-09-19 TIL 파이썬을 파이썬답게 (0) | 2019.09.19 |
2019-08-16 TIL Elastic Search bulk insert (0) | 2019.08.16 |
2019-08-13 TIL pandas DataFrame 다루기 (0) | 2019.08.13 |
2019-07-31 TIL Elastic Search (0) | 2019.07.31 |