머신러닝

[머신러닝] 선형 회귀- 손실 함수, 경사 하강법

jmkimmessi 2020. 7. 20. 01:15
반응형

회귀

회귀는 Training Data를 이용해 데이터의 특성과 상관관계 등을 파악해, 그 결과를 바탕으로 학습해

Training Data에 없는 데이터가 주어졌을 때, 그 결과를 연속적인 값으로 예측하는 것

 

선형 회귀

Training Data의 특성을 가장 잘 표현할 수 있는 가중치 W(기울기), 바이어스 b(y절편)를 찾는 학습 개념

 

오차(error), 가중치(weight) W, 바이어스(bias) b

training data의 정답과 직선 $y = Wx+b$ 값의 차이인 오차(error)는,

 

오차(error) $=t-y = t-\left [ Wx+b \right ]$으로 계산된다.

 

오차가 크면 직선의 가중치와 바이어스가 잘못된 것이고, 오차가 작다면 직선의 가중치와 바이어스 값이

잘 설정된 것이므로 미래 값 예측도 정확할 수 있다고 예상할 수 있다.

 

머신러닝의 regression 시스템은,

모든 데이터의 오차(error) $=t-y = t-\left [ Wx+b \right ]$ 의 합이 최소가 돼서, 미래 값을 잘 예측할 수 있는

가중치 W와 바이어스 b 값을 찾아야 함

 

손실함수(loss function)

각각의 오차인 $(t-y)$ 를 모두 더해서 손실함수(loss function)을 구하면 각각의 오차가 음수와 양수가 동시에 

존재하기 때문에 오차의 합이 0이 나올 수도 있다.

 

즉, 0이라는 것이 최소 오차 값인지 아닌지를 판별하는 것이 어렵다.

 

손실함수에서 오차(error)를 계산할 때는 $\left ( t-y \right )^{2}= \left ( t-\left [ Wx+b \right ] \right )^{2}$ 을 사용한다.

 

즉, 오차는 언제나 양수이며, 제곱을 하기 때문에 정답과 계산 값 차이가 크다면,

제곱에 의해 오차는 더 큰 값을 가지게 되어 머신러닝 학습에 있어 장점을 갖는다.

 

$$\mathrm{loss\,fucntion} = \frac{1}n \sum_{i=1}^{n}\left[t_{i} -\left(Wx_{i}+b \right) \right]^{2}$$

 

손실함수는 오차의 평균값을 나타내기 때문에, 손실함수가 최솟값을 갖는다는 것은 실제 정답과 계산 값의 차이인

오차가 최소가 되어, 미지의 데이터에 대해서 결과를 더 잘 예측 할 수 있다는 것을 의미한다.

 

이러한 손실함수는 W, b 에 영향을 받기 때문에, 손실함수가 최소가 되는 가중치 W 와

바이어스 b 를 찾는 것이 regression 을 구현하는 최종 목표이다.

 

경사하강법(gradient decent algorithm)

1. 임의의 가중치 W 선택 

2. 그 W 에서의 직선의 기울기를 나타내는 미분 값 (해당 W에서의 미분, ∂E{W)/∂W)을 구한다.

3. 그 미분 값이 작아지는 방향으로 W 감소(또는 증가) 시켜 나간다.

4. 최종적으로 기울기가 더 이상 작아지지 않는 곳을 찾을 수 있는데, 그곳이 손실함수 E(W)의 최솟값이다.

 

이처럼, W에서의 직선의 기울기인 미분 값을 이용해, 그 값이 작아지는 방향으로 진행하여 

손실함수 최솟값을 찾는 방법을 경사하강법(gradient decent algorithm) 이라고 한다.

 

W 에서의 편미분 $\frac{\partial E(W)}{\partial W}$ 해당 W에서 기울기를 나타냄

 

$\Rightarrow \frac{\partial E(W)}{\partial W}$ 가 양수 값을 갖는다면, W는 왼쪽으로 이동시켜야만, 손실함수 E(W) 최솟값을 찾는다.

 

$\Rightarrow \frac{\partial E(W)}{\partial W}$ 가 음수 값을 갖는다면, W는 오른쪽으로 이동시켜야만, 손실함수 E(W) 최솟값을 찾는다.

 

$$W = W - \alpha \frac{\partial E(W,b)}{\partial W}$$

 

$\alpha$ 는 학습률이라고 부르며, W 값의 감소 또는 증가되는 비율을 나타낸다.

 

linear regression의 목표는 training data 특성 / 분포를 가장 잘 나타내는 임의의 직선

$y=Wx+b$에서의 [W, b]를 구하는 것이다

 

 

 

반응형