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 Linear regression with one variable.md · GitBook

이번장에서는 Linear regression 알고리즘에 대해 알아보고 Model에 대해서 그리고 지도학습의 전체 과정에 대해서 알아볼 것이다. Linear regression은 입력된 값을 기반으로 결과값을 예측하는 알고리즘이다. 이장에서는 집값을 예측하는데 Linear regression을 사용해볼 것이다. 그것을 위해서 cost function 과 gradient descent 라는 개념에대해서 살펴볼 것이다. 위와 같은 데이터가 있을때, 1250 사

soopsaram.com

 

수식과 그림은 따로 포스팅에 첨부하지 않았다. 

 



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


경사하강법을 손실함수를 최소화 하는 수식에 대입하면 된다. 


 

728x90

+ Recent posts