카테고리 없음

[머신러닝(machine learning) - 선형회귀(liner regression)] 내일배움캠프 AI트랙

lovvepearl 2022. 1. 6. 11:44

지난 시간에 머신러닝을 크게 분류해서

기계를 학습시키는데 어떤 방법들이 있는지 살펴보았다.

 

오늘은 그 중에서도 지도학습의 회귀(regression)를 사용하여

학습시키는 방법에 대해서 자세히 알아보자.

 

모든 기계를 학습시킬 때에는 기본적으로 가설을 세운다는 사실을 유념하자.

 

회귀는 결과값이 숫자일때 사용하는 방법으로

가설을 바탕으로 정해진 입력값과 결과값의 갯수나 형태에 따라

회귀의 종류도 다양하게 나뉜다. 

 

 

01. 선형회귀

출력값을 선형(liner)으로 가정

 

H(x) = Wx + b (직선 그래프 형태를 가진 함수)

 

점선(가설)과 점(정답)이 가까워지도록 학습시키는 방법

점과 점선사이의 거리를 손실함수(cost or loss)로 표현

 

✅ 모든 학습의 최종 목적은 손실함수의 값을 최소로 만드는 것이다

손실함수의 모양이 2차 함수라고 가정할때,

손실함수의 값을 최소로 만들어주려면 경사하강법(gradient descent)을 사용한다. 

 

x축을 W(weight)로, y축을 cost 값으로 설정하고

cost 값이 작아지게 학습하는 것이 목표라면

아래 그림처럼 그래프를 따라 내려가야한다. 

starting point 부터 final value 값까지 이동할 때

전진하는 단위를 learning rate라고 하는데

rate 값이 너무 클 경우 그래프 내에서 최저지점을 찾지 못하고

결과 값이 튕겨져 나가는 overshooting 현상이 발생할 수 있다.

 

✅ 따라서, 적절한 rate 값을 찾는데에는 노가다가 필요하다!

 

 

02. 다중선형회귀

입력값이 2개 이상이고 출력값을 선형으로 가정

 

실제 분석할 데이터는 훨씬 복잡하게 이루어져 있음으로

가설이 복잡한 손실함수의 경우 더욱 굴곡이 많은 그래프의 형태로 표현된다. 

실제 데이터로 그린 손실함수는 위 그래프 보다 훨씬 더 복잡하게 그려짐을 유념하자 

global minimum이라는 최소 cost 값을 찾는 것이 목표이지만,

local minimum에 빠질 수 있음으로

좋은 가설을 세우고 손실함수를 만들어서

기계가 잘 학습할 수 있도록 만드는 것이

머신러닝 엔지니어의 역할이라고 할 수 있다🔎