본문 바로가기

스터디-ing/AI

[PyTorch] 선형회귀(Linear Regression), 손실함수

PyTorch를 공부하면서 참고한 NeoWizard(박성호)님의 YouTube영상을 토대로 내용을 정리함.

실제 영상 강의를 보고 싶은 분들은 아래 링크로 ㄱㄱ!

출처: https://www.youtube.com/@NeoWizard

 
 

 

 

회귀(Regression)
회귀(Regression)

✔️ Training Data를 이용해 데이터의 특성과 상관관계 등을 파악하고, 그 결과를 바탕으로 Training Data에 없는 미지의 데이터가 주어졌을 경우에, 그 결과를 연속적인(숫자) 값으로 예측하는것

  • Ex) 공부시간과 시험성적 관계, 집 평수와 집 가격 관계 등

✔️ 입력으로 공부시간(x)과 그에 대응되는 시험성적(y)인 training data를 이용하여(1️⃣) 특성과 상관관계를 파악한 후(2️⃣), 그 결과를 바탕으로 trainig data에 없는 값 55, 60, 78 으로(3️⃣) 예측값(t)을 도출함(4️⃣)

 

학습(learning)

 

✔️ 트레이닝 데이터를 먼저 분석하고 그 데이터의 분포를 가장잘 나타내는 1차함수의 기울기 W와 b를 찾는 과정

✔️ 입력값 트레이닝 데이터인 공부시간(x)에 비례해 출력값 시험성적(t)도 증가하는 경향이 있음, 즉 입력(x)과 출력(y)는 y = Wx+b로 나타낼 수 있음

✔️ [step2] 1, 2, 3 그래프 중, 트레이닝 데이터의 특석을 가장 잘 표현할 수 있는 가중치 W(기울기), 바이어스b(y절편)을 찾는 것이 학습(learning) 개념

 

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

✔️ 트레이닝 데이터의 정답(t)과 직선 y = Wx+b 값의 차이인 오차(error)는

     오차(error) = t-y = t-(Wx+b) 로 계산되며,

     오차가 크다면 우리가 임의로 설정한 직선의 가중치와 바이어스 값이 잘못된 것이고, 오차가 작다면 직선의 가중치와 바이어스 값이 잘

     된것이기 때문에 미래 값 예측도 정확할 수 있다고 예상할 수 있음.

✔️ 머신러닝의 회귀(regression) 시스템은, 모든 데이터의 오차(error) = t-y = t-(Wx+b) 의 합이 최소가 되서, 미래 값을 잘 예측할 수 있는 가중치 W와 바이어스 b 값을 찾아야 함.

 

손실함수(loss function)

✔️손실함수(loss function 또는 cost function)는, 트레이닝 데이터의 정답(t)와 입력(x)에 대한 계산 값 y의 차이를 모두 더해 수식으로 나타낸 것

 

✔️ 각가의 오차인 (t-y) fmf ahen ejgo thstlfgkatn(loss function)을 구하면 가가의 오차가 (+), (-) 등이 동시에 존재하기 때문에 오차의 합이 0이 나올 수도 있음. 즉, 0이라는 것이 최소 오차 값인지 아닌지 판별하는 것이 어려움.

✔️ 그래서 손실함수에서 오차(error) 를 계산할 때는 (t-y)^2 = (t-[Wx+b])^2 을 사용함. 즉, 오차는 언제나 양수이며, 제곱을 하기때문에 정답과 계산값 차이가 크다면, 제곱에 의해 오차는 더 큰 값을 가지게 되어 머신러닝 학습에 있어 장점을 가짐.

 

오차의 제곱을 이용해 손실함수를 나타낸 수식

✔️ 각각의 정답 t에서 계산값 y를 빼서 제곱을 한 뒤, 그런 제곱값들을 모두 더한 뒤에 트레이닝 데이터의 개수로 나눔. 즉 손실함수는 모든 데이터에 대한 평균 오차값을 나타낸다고 볼 수 있음.

 

모든 데이터의 오차값

✔️ x와 t는 트레이닝 데이터에서 주어지는 값이므로, 손실함수(loss function)인 E(W, b)는 결국 W와 b에 영향을 받는 함수임.

✔️ E(W, b) 값이 작다는 것은 정답(t, target)과 y = Wx+b 에 의해 계산된 값의 평균 오차가 작다는 의미

✔️ 평균 오차가 작다는 것은 미지의 데이터 x가 주어질 경우, 확률적으로 미래의 결과값도 오차가 작을 것이라고 추측할 수 있음.

✔️ 이처럼 트레이닝 데이터를 바탕으로 손실 함수 E(W, b)가 최소값을 갖도록 (W, b) 를 구하는 것이 (linear) regression model의 최종 목적임.