선형 회귀는 W(weight) 와 b(bias) 를 조절해가며 학습 데이터와 자신의 예측 데이터 간의 오차를 줄이는 작업을 수행한다. 이를 학습이라고 하며 선형 회귀는 기본적으로 경사 하강법을 사용하여 학습을 진행한다.
def prediction(a,b,x):
eq = a*x + b
return eq
error = y-prediction(a,b,x)
두 값의 차이로 loss fuction 구현
오차 값이 0 인 해 a,b 를 경사 하강법으로 구현
미분값이 0인 방향으로 조금씩 이동
코드에서 정의할 loss function은 다음과 같이 최소 제곱법을 통해 정의했다. 이는 단순히 추정값의 차이인 error와는 다르다.
$$ L(a,b) = \frac{1}{n} \sum_{i=1}^n (y_i - (ax_i + b))^2 $$