Supervised Learning - 특정 input에 대해 정답(Label) output이 있는 데이터 셋이 주어지는 경우.

Regression : continuous(연속) output을 추정하는 문제 

집값 예측의 예시에서, input은 집의 넓이 output으로 집값이다. 사전에 집의 넓이와 그 집의 가격을 조사해서 그 정보를 사용하므로 supervised learning이고 output에 해당하는 집값을 연속값을 가지므로 regression 문제

 

종양이 악성인지 양성인지 진단하는 문제. 사전에 종양의 크기와, 진단 결과(악성/양성)정보를 이용하므로 supervised learning. output에 해당하는 진단 결과가 악성/양성으로 discrete category이므로 classfication 문제.


Univariate Linear Regression

수집한 집 넓이와 집값을 DataFrame형태로 나타내면 좌측, 좌표평면에 나타내면 우측(파란 선). 이 점들을 가장 '잘 나타내는' 직선인 녹색 선을 구한다. 이 선을 구하는 과정이 바로 선형 회귀이고 1250제곱피트짜리 집에 해당하는 지점을 녹색 선에서 찾고, 그에 해당하는 가격을 y축에서 찾아내어 22만불이 적정 가격이라고 결론내릴 수 있다. 이처럼 Linear Regression은 주어진 데이터를 나타내는 최적의 직선을 찾아냄으로써 input(x)와 output(y)사이의 관계를 도출해내는 과정이다. 이 과정을 수학적으로 나타내기 위해 notation을 정리해보자.


The Hypothesis Function

Hypothesis : input(feature)과 output(target)의 관계를 나타내는 함수. '진짜' 변수들의 관계식을 찾아내는 것은 불가능. 그러므로 집값을 결정하는 요인만 하더라도, 집의 평수 뿐만 아니라 방이 몇 개인지 역세권인지 영향을 주는 변수들이 매우 많아, "주로 이 변수들이 output에 영향을 미칠 거야"라고 추정하고, "~~~한 변수들과 output의 관계를 얼추 나타내보자"처럼 가설을 세우기 때문에 hypothesis라고 부르기 시작함.

Hypothesis h는 어떤 함수의 형태든 취할 수 있지만, 다음과 같은 선형 함수를 자주 사용.

이 때 x는 실수값을 취하는 1차원 랜덤변수이고, 한 가지 feature를 이용한 linear regressio을 "univariate linear regression"이라고 부름.

이 방정식이 '직선' 형태를 띄기 때문에 세타값들을 지정하여 y값을 구하는 것이다. 즉 세타 값들을 조정하여 점들을 가장 잘 대표하는 직선을 찾아내는 것.


Cost Function

위의 hypothesis function에서 세타들을 파라미터라고 한다. 파라미터에 어떤 값이 들어가느냐에 따라 h(x)의 y절편과 기울기가 달라진다. 그렇다면 이 최적의 파라미터들을 어떻게 찾을 수 있을까?

데이터에 잘 '맞는' 직선을 선택하려면 일정한 기준이 있어야 한다. hypothesis function의 정확도를 측정하기 위해 cost function을 이용할 것이다.

error의 값이 최소값일 수록 상식적으로 h와 y와 비슷해진다. 그런데 이 error값은 양수일 수도 음수일수도 있기 때문에 바로 합을 구하는 것은 적합하지 않다. 여기서 제곱값의 합을 구하여 평균, 즉 error제곱의 평균을 구하는 것을 MSE라고 한다. 여기서 m이 아닌 2m으로 나누는 것은 계산상의 편의를 위해 2로 나누어 주었다.

계산상의 편의를 위해 세타0을 0으로 주면 y절면이 0인 직선이 그어질 것이고 세타1에 따라서 기울기가 달라진다. input 데이터가 (1,1),(2,2),(3,3)이 있다고 했을 때 J(세타1)는 0이 되고, 오른쪽 그래프에 (1,0)이라는 점을 찍는다. 세타1인 경우 0.58이므로 (0.5, 0.58)의 점을 찍는다. 이와 같이 여러 세타1에 대하여 그래프를 그려나가다보면 포물선 형태가 되며, 이 포물선의 최소값(0)을 갖도록 하는 parameter가 최적의 값이다.

다시 세타0이 존재하는 일반형을 생각해 보자면, 위의 세타1만 존재할 때에 비해 변수가 2개이므로 세타0과 세타1에 따라 크기가 변하는 3차원 그래프가 된다. 이 때 크기를 색상으로 표현하여 2차원 평면에 나타내면 오른쪽 그림과 같은 등고선 모양이 된다.

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기