Biotechnology

03-3. Polynomial Regression And Normal Equation 본문

생명공학 전공지식/Machine Learning

03-3. Polynomial Regression And Normal Equation

로얄블루 2018. 6. 25. 21:26

안녕하세요,


로얄블루입니다. 






오늘도 이어서 'Machine Learning' 에 대해


Andrew Ng 교수님의 Coursera 수업의 내용을 


가공하여 포스팅하도록 하겠습니다. 



03-3. Polynomial Regression And Normal Equation



저번 포스팅으로



Regression의 심화에 대해서 간략하게 살펴봤습니다.



보러가기 :  http://biotech-lab.tistory.com/entry/032-Regression%EC%9D%98-%EC%8B%AC%ED%99%94







오늘은 


Polynomial Regression와 


Normal Equation(정규 방정식)에 대해서 알아보겠습니다. 








첫째로 Polynomial Regression에 대해 알아보겠습니다. 






저번 시간 내용을 떠올리면


Multiple Linear Regression이란, 


Output (Y)를  어떠한 선형 방정식을 통해 


1차항의 X들로부터 얻어내는 것이라고 


정의할 수 있습니다.




이 때 중요한 것은 변수 X는 모두 1차항이라는 것이죠.


만약 2차항이 넘는 방정식을 사용한다면,


우리는 그것을 Polynomial Regression (다항 근사)라고 부릅니다. 






여기서 을 degree(차수)라 부르고 모두 양수입니다.


다시 말해, 음수가 될 수 없습니다.


또한 모든 등을 coefficient(계수)라 부릅니다. 






다차항의 식으로 Regression model을 만드는 것은


대표적으로 2가지의 해법을 사용할 수 있습니다.





첫째는 


 Feature Scaling이나 Mean normalization을 사용하는 것입니다. 


즉, 변수의 범위를 조정함으로써 


다차항이 아닌, 새로운 X를 만들어내는 것이라 할 수 있습니다. 


이 때는 어떻게 Feature Scaling을 수행했는가가 


결과에 큰 영향을 미친다는 것 잊지 않으셨으면 좋겠습니다. 







둘째는 정석적인 방식으로 Analytic하게 (또는 해석적으로) 풀 수 있습니다.


즉, 이차 방정식을 풀듯 다차 방정식을 푸는 것이라 볼 수 있습니다. 




다차 방정식을 푸는 것은 해석적인 방법으로 푸는 방식인


Normal Equation (정규 방정식)의 해법으로 가능합니다.







우리가 지금까지 공부했던 


Gradient descent 방식이 반복적으로 해를 구하는 것이라면


Normal Equation (정규 방정식)은 분석적으로 를 구하는 것입니다.





Normal Equation의 해는 위와 같은 Matrix (행렬) 형태로 구할 수 있습니다.


여기서 T는 transpose matrix, -1은 inverse matrix을 의미합니다.



여기서 잠깐 행렬에 대해서 공부하고 넘어가겠습니다.



Transpose matrix는 


대각선을 중심으로 대칭이동을 시켰을 때 나오는 Matrix을 의미합니다.




Inverse matrix는


역행렬이라고도 하며, 위와 같이 구할 수 있습니다.



고등학교 과정에서 배우는 2X2 행렬은 눈에 많이 익으실꺼라고 생각합니다.




이와 같은 수식이 성립하는 이유는 다음 식이 성립하기 때문입니다. 




대학교 1학년 과정에서 미적분수학 혹은 공학수학을 공부하신 분들이라면


Critical Points라는 정의를 들어보셨을 것이라고 생각합니다. 





Critical Points란,


미분이 0 이거나 미분이 불가능한 지점을 의미합니다.



'어떤 함수가 최솟값과 최대값이 c라는 점에서 가진다고 했을 때,


c는 범위의 양 끝 혹은, 이 Critical point 중 하나이다'라는 


Fermat's Theorem이 있습니다.




잘 생각해보면, 


우리가 원하는 Cost Function의 목표는 J의 최소화 (최솟값)이었으므로


당연히 Critical Point 중 최솟값을 만족하는 를 찾는다와 


같은 문제가 됩니다. 



따라서 위와 같은 식을 통해 를 찾아내는 것은 


Normal Equation이라 부릅니다. 






Normal Equation와 Gradient descent은 각각 장단점을 가지고 있습니다.

 


장점으로는


Normal Equation은 n이 작을 때, 반복할 필요없이 바로 구할 수 있으며,


Gradient descent는 n이 클 때 (>)에도 잘 작동합니다. 



단점으로는


Normal Equation은 역행렬을 구해야한다는 것이고,


Gradient descent은 많은 횟수를 거듭해야 해를 구할 수 있다는 것입니다. 




n이 작을 때는 빠르게 얻을 수 있지만,


n이 엄청 클 때, Normal equation으로 해를 구하면


많은 Computational cost를 지불해야한다는 것


잊지 마세요!





이상으로


오늘의 포스팅을 마치겠습니다.



다들 행복하세요!




출처 :  


https://www.coursera.org/learn/machine-learning


https://coggle.it/diagram/Wcez0SY9AQABcRGj/t/machine-learning-coursera


'Machine Learning' in Stanford University, Prof. Andrew Ng 


'생명공학 전공지식 > Machine Learning' 카테고리의 다른 글

03-2. Regression의 심화  (0) 2018.06.20
03-1. Regression의 기초  (0) 2018.06.19
02. Machine Learning의 분류  (0) 2018.06.19
01. Machine Learning이란?  (0) 2018.06.18
Comments