회귀 (Regression)
Training Data를 이용하여 데이터의 특성과 상관관계 등을 파악하고, 그 결과를 바탕으로 Training Data에 없는 미지의 데이터가 주어졌을 경우에, 그 결과를 연속적인 (숫자) 값으로 예측하는 것
ex) 공부시간과 시험성적 관계, 집 평수와 집 가격 관계 등
아직 고려할 수준이 아닐지 모르겠지만, 인풋에 대한 결과 값으로 Training을 시키는 만큼 인풋과 결과 값의 상관 관계가 있는 데이터를 사용하는 것도 중요할 것이라고 예측됩니다.
[Step 1] Analyze Training Data
[Step 2] Find W and b
Training Data의 입력과 출력 간의 상관 관계를 이해하여 어떤 그래프를 나타낼지 예측하는 과정이 꽤나 중요한 과정이라고 생각됩니다.
Training Data의 정답(t) 값과 직선 y = Wx + b 값의 차이인 오차(error) 값을 통하여 가중치와 바이어스를 설정합니다.
오차 (error) = t - y = t - (Wx + b)
오차가 크다면 가중치와 바이어스 값이 잘못된 것이고, 오차가 작다면 가중치와 바이어스 값이 잘 설정된 것이기 때문에 미래 값 예측도 정확할 수 있다고 예상이 가능합니다.
손실함수 (Loss Function)
손실함수는 Trainnig Data의 정답(t)과 입력(x)에 대한 대한 계산 값 y의 차이를 모두 더해 수식으로 나타낸 것 입니다.
※ 각각의 오차는 (+), (-) 값이 존재하므로 오차 제곱의 합을 통해 계산합니다.
(제곱을 하기 때문에 정답과 계산값의 차이가 크다면 오차는 더 크기 때문에 학습에 있어 장점을 가집니다.)
x와 t는 Training에서 주어지는 값이므로 손실함수 E(W,b)는 W와 b에 영향을 받는 함수이며, E(W, b)가 작다는 것은 평균 오차가 작다는 의미입니다.
=> 손실 함수 E(W, b)가 최소값을 갖도록 가중치와 바이어스를 구하는 것이 Regression model의 최종 목적
위 수식에서 손실 함수가 MSE^2 형태인 2차 함수 형태를 띄고 있기 때문에 포물선의 형태를 띄고 있을 겁니다.
(실제로 완전한 포물선 형태를 띄고있을거라 생각되지 않아 설명드릴 경사하강법은 아주 간단한 예측법이라고 생각됩니다.)
α는 학습율이라고 부르며, W 값의 감소 또는 증가 비율을 나타냅니다.
이처럼 가중치 W와 바이어스 b를 편미분을 이용하여 손실함수의 최소값을 찾는 방법을 경사하강법이라고 합니다.
출처 : 유튜브 NeoWizard 채널 머신러닝/딥러닝 강의