수학

최소자승법(Least Sequence Method)

object0814 2015. 5. 23. 19:47

어떤 데이터를 가장 잘 표현하는 모델을 설계할때 가장 좋은 방법은 무엇일까?





만약 위와 같은 데이터가 분포 한다고 할때 위 데이터를 가장 잘 표현할 수 있는 모델은 아마도 직선 아니면 타원일 

것이다. 이해를 쉽게 하기 위해 데이터 분포를 가장 잘 표현하는 직선을 구한다고 하면 아래 사진과 같은 직선을 예상할

것이다. 하지만 가장 좋은(표현력 높은) 직선을 구하기 위해서는 모든 데이터를 고려해 가장 잘 표현하는 것을 선택해야 할 것이다. 수많은 직선 중 가장 잘 표현하는 직선을 찾기 위해 사용되는 방법 중 하나가 최소자승법이다.




최소 자승법(Least Sequence Method)은 모델의 파라메타를 구하기 위한 대표적인 방법이다. 

모델과 데이터의 관계를 고려해 가장 좋은 파라메타를 선택한다. 이때 설계한 모델과 데이터 간의 합 혹은 제곱 합이 

가 되도록 파라메타를 계산한다. 한마디로 오류의 합 혹은 제곱 합이 가장 작은 것을 찾는것이다.



최소 자승법은 위와 같은 여러 모델로 부터 가장 최적의 파라메타를 찾는것을 도와준다.

위 데이터 모델을 찾기 위해 1차원 방정식을 구성하면, y = ax+b로 방정식을 설계할 수 있다.


이제 최소자승법을 이용해 미지수 a,b를 선택하면 된다. 

위 2차원 좌표계에서 데이터를 (x1,y1), (x2, y2), ... , (xn,yn)이라고 하면 데이터로 모델을 설계하기 위해 각각의

데이터로 2차 방정식을 계산하면



로 여러개 만들 수 있다. 이것으로 가장 오류가 적은 방정식을 선택하면 된다.

하지만 여러개의 방정식이 존재하고 a,b를 찾으려면 어떤것을 선택해야 할지 애매하다.


따라서 위를 계산하기 위해 행렬식으로 변환하여



,로 치환하면


B = AX가 된다. X를 구하기 위해 A의 역행렬을 B로 넘기면


 를 계산하면 X만 남게 되어 한번에 X를 구할 수 있겠지만, 

A는 정방행렬이 아니므로 역행렬이 존재하지 않을 수도 있다.


따라서 이때 Pseudo inverse를 사용한다.


 



위 식을 다시 변형하면



최종적으로 X를 계산할 수 있다.