학습을 하지 않고 최적값을 한번에 찾는 방법을 말한다.
즉, 위와 같은 식을 이용해서 바로 를 찾게 된다.
그렇다면 Normal Equation을 이용해서 바로 찾으면 되지, 왜 굳이 Gradient Descent를 이용해서 하는가?
이를 이해하기 위해서는 각각의 장단점을 보면 된다.
장단점은 위에 나와있는 것과 같다.
Normal Equation에서 컴퓨터가 를 계산하는 데에 있어 의 시간 복잡도를 가지게 된다. 즉 n이 증가함에 따라 수많은 연산이 증가한다는 뜻이다.
n이 100이나 1000이면 현대의 컴퓨터 성능으로는 충분히 감당이 가능하지만, n이 10000이상이 되게 되면 좀 느려지기 시작한다. 이때부터는 Gradient descent를 사용하는 것이 더 나을 수 있기 때문에 사용하는 것을 진지하게 고려해봐야 한다.
위의 계산에서 거의 일어나지는 않지만, 가 역행렬이 없는 경우가 발생하기도 한다.
위와 같인 두가지 이유로 인해 발생하는데, Octave에서는 pinv를 사용하기 때문에 사실상 무시해도 된다고 한다.