앤드류 응(Andrew Ng) 교수님의 머신러닝 강좌 (2주차 Computing Parameters Analytically)

Devlee247·2021년 12월 11일
0

Machine Learning

목록 보기
5/5

Normal Equation

학습을 하지 않고 최적값을 한번에 찾는 방법을 말한다.


즉, 위와 같은 식을 이용해서 바로 θ\theta를 찾게 된다.

그렇다면 Normal Equation을 이용해서 바로 찾으면 되지, 왜 굳이 Gradient Descent를 이용해서 하는가?

이를 이해하기 위해서는 각각의 장단점을 보면 된다.

장단점은 위에 나와있는 것과 같다.
Normal Equation에서 컴퓨터가 XTXX^TX를 계산하는 데에 있어 O(n3)O(n^3)의 시간 복잡도를 가지게 된다. 즉 n이 증가함에 따라 수많은 연산이 증가한다는 뜻이다.

n이 100이나 1000이면 현대의 컴퓨터 성능으로는 충분히 감당이 가능하지만, n이 10000이상이 되게 되면 좀 느려지기 시작한다. 이때부터는 Gradient descent를 사용하는 것이 더 나을 수 있기 때문에 사용하는 것을 진지하게 고려해봐야 한다.

Normal Equation Noninvertibility

위의 계산에서 거의 일어나지는 않지만, XTXX^TX가 역행렬이 없는 경우가 발생하기도 한다.

위와 같인 두가지 이유로 인해 발생하는데, Octave에서는 pinv를 사용하기 때문에 사실상 무시해도 된다고 한다.

profile
항상 긍정적인 마음으로 배움을 갈망하며, 운동과 음악을 사랑하는 개발자

0개의 댓글