주제: 최소제곱법 구현하기
오늘은 전에 화학시간에 절대 영도 구하기에 사용했던 최소 제곱법을 파이썬 코드로 구현해 보고자 합니다.
*나온 예제는 모두의 딥러딩에 나온 예제를 참고했습니다.*
최소제곱법이란?
최소제곱법, 또는 최소자승법, 최소제곱근사법, 최소자승근사법(method of least squares, least squares approximation)은 어떤 계의 해방정식을 근사적으로 구하는 방법으로, 근사적으로 구하려는 해와 실제 해의 오차의 제곱의 합(SS)이 최소가 되는 해를 구하는 방법이다.
이 방법은 값을 정확하게 측정할 수 없는 경우에 유용하게 사용될 수 있으며, 특히 그 계의 방정식이 어떤 형태인지를 알고 있을 때 방정식의 상수 값들을 추정하는 데에 사용된다.
-위키백과-
쉽게 말해서, 주어진 값들을 이은 그래프를 만드는 방법 중 하나라고 보면 됩니다.
CODE
아래는 최소제곱법을 구현한 파이썬 코드입니다.
import numpy as np
x=[2, 4, 6, 8]
y=[81, 93, 91, 97]
mx=np.mean(x)
my=np.mean(y)
mom=sum((i-mx)**2 for i in x)
def f():
s=0
s=sum((x[i]-mx)*(y[i]-my) for i in range(len(x)))
return s
son=f()
a=son/mom
b=my-(mx*a)
print(a, b)
소감
사실 전에 최소제곱법을 사용할 때는 나무위키만 보고 해서 이해가 잘 안 됐었는데 이번에 천천히 책을 보고 구현해 보니 잘 구현할 수 있었던 것 같다.
'정보 과학융합탐구' 카테고리의 다른 글
Famous Scientists by Balenciaga (발렌시아가 밈 패러디) (2) | 2024.08.12 |
---|---|
경사하강법 구현하기 (0) | 2023.07.04 |
9박 7일간의 차원여행 후기 (1) | 2023.06.01 |
python을 이용하여 말머리성운의 fits파일 구현하기 (0) | 2023.05.19 |
astropy를 이용하여 IC434의 적외선 관측 데이터 분석하기 (2) | 2023.03.31 |