이전내용에 이어서 설명 : https://bookandmed.tistory.com/9?category=1152328
[모두의딥러닝] 3장. 선형회귀 (Logistic regression)
선형회귀란? 한 개 이상의 독립변수(설명변수, x)와 종속변수(y)의 상관관계를 모델링하는 회귀기법이고, 이에 따라 만들어진 회귀식을 선형모델이라고 한다. 하나의 y에 하나의 x가 대응되는 경�
bookandmed.tistory.com
앞에서 그냥 쫙 그은 직선에서 실제 y값과 비교하여 평균제곱오차(mse)를 구했다.
이 mse 가 최소가 되는 직선을 구하는 것이 경사하강법이다.
손실함수(loss func) = 비용함수(cost func)
: 알고리즘의 오차를 나타내는 함수로 이 오차가 최소가 되는 지점의 가중치(w)를 찾아 최적의 예측함수를 찾는 것이 목표이다.
MSE 는 손실함수 중의 하나이다.
경사하강법의 순서
1. 특정 파라미터값으로 시작 : 임의의 a, b (가중치)로 예측함수선을 쫙 긋기!
2. Cost Function 계산 : 비용함수의 한종류인 mse를 구한다 (이전포스팅참조).
3. 파라미터값 업데이트 : 가중치 W의 미분변화량 dW를 구하고 학습률(lr)에 따라 업데이트 한다.
dW = W - lr * dW
4. 반복학습 : 반복학습할 횟수인 epochs를 설정해주고, cost function의 결괏값이 최솟값으로 수렴할때의 가중치(w)를 구한다.
실습
x는 공부한 시간 y는 성적
여기서 가중치는 처음 예측함수를 만들때 사용한 a와 b가 될 것이고, 이 가중치들이 임의로 정한 학습률(learning rate) 에 따라 얼마나 변하는지 미분변화량 da, db를 평균제곱오차(mse) 공식을 각각 a와 b에 대해 미분하여 구해준다.
다중선형회귀
하지만 이렇게 구한 예측함수도 실제데이터와는 오차가 당연히 꽤 클 것이다. 성적 y에 영향을 미칠 다른 요소 x를 추가적으로 고려하여 2개이상의 x와 y에 대하여 회귀분석을 하는 다중선형회귀를 구해보자.
실습
x1 공부시간, x2 과외횟수, y 성적
y = a1x1 + a2x2 + b → 가중치 a1, a2, b
책대로 lr = 0.05 하면 수렴안하고 날라간다. lr = 0.02로 하고 epoch를 늘려서 3001로 하니 수렴한다.
'코딩 독학 > 모두의딥러닝' 카테고리의 다른 글
[모두의딥러닝] 6장. 퍼셉트론 (0) | 2020.09.30 |
---|---|
[모두의딥러닝] 5장. 로지스틱회귀 (Logistic regression) (0) | 2020.09.29 |
[모두의딥러닝] 3장. 선형회귀 (Logistic regression) (0) | 2020.09.29 |
댓글