선형 회귀 - Linear Regression
선형 회귀는 레이블된 데이터를 통해 종속변수와 독립변수 간의 관계를 모델링하는 통계학적 머신러닝 메소드이다. 선형 회귀는 레이블된 데이터들을 입력받고, 레이블과 데이터 간의 관계를 파악하는데, 이를 학습이라고 한다.
선형 회귀는 변수의 개수에 따라 단순 선형 회귀와 다중 선형 회귀로 나뉘어지는데, 독립변수가 하나이면 단순, 독립변수가 두 가지 이상이면 다중으로 부른다.
단순 선형 회귀
종속변수(y)와 독립변수 하나(x)의 관계를 선형으로 모델링하는 기법을 단순 선형 회귀라 한다. 단순 선형 회귀에서, x와 y의 관계식을 구하면 미지수가 두 개인 일차식 꼴로 나타나게 되는데, 이를 회귀식이라 한다. 선형 회귀의 목표는 바로 이 회귀식을 구하는 것이다.
: 여기서 W, b를 구해보자
오차함수
식을 보면 알겠지만, 오차함수는 각각 w, b, c축으로 이루어진 공간에 이차곡면으로 나타내어지게 된다, 이 이차곡면의 전역 최소값을 찾는 것이 우리의 목표, 즉 가장 작은 C값을 만드는 W와 b값을 찾는 것이 목표이다.
이제 드디어 경사감소법을 사용할 시간이다.
경사 감소법(1)
꽃순이는(가명) 여름방학을 맞아 가족들과 빗살무늬 토기 공원(?)에 여행을 갔다. 빗살무늬 토기 공원은 빗살무늬 토기 모양의 공원으로, 해마다 수많은 관광객들이 찾는 한국 관광의 대표주자이다. 그런데 왠일, 꽃순이 혼자 길을 잃은 것이다. 다행히 꽃순이는 가족에게 전화를 걸어 위치를 확인했다. 서로 공원의 가장 낮은 지점에서 집결하기로 약속한 꽃순이와 가족, 그런데 꽃순이는 자신이 어디에 있는지 모른다. 그렇다면 꽃순이는 어떻게 해야 할까? 1
정답은 간단하다. 계속 아래로 내려가면 된다. 이것이 경사감소법의 기본적인 원리이다. 계속 아래로 내려가기!
위 그림은 등고선을 통해 나타낸 경사감소법의 기본적인 작동 원리이다. 좀 더 쉽게 알아보기 위해 간단한 이차함수에 적용해보자
위 함수의 최소값을 찾기 위해 한번에 움직여야 하는 거리는 그 위치에서의 기울기에 따라 결정된다. 즉 많이 기울었으면 한번에 많이 움직여도 문제가 없겠지만, 적게 기울었으면 그만큼 최소값과 가깝다는 의미이기에 그많큼 움직이는 거리를 줄여야 한다.
위의 식은 W가 한번에 움직여야 할 거리를 구한다. 즉, 현재 점에서의 순간 기울기가 크면 많이 이동하고, 작다면, 즉 최소값에 가깝다면 적게 이동한다. 는 학습률(Learning Rate)라고 불리는 상수로, 한번에 이동하는 정도를 조정한다. 가 너무 크면 영원히 최적값에 도달하지 못할 것이고, 너무 작다면 도달하는 데 걸리는 시간이 지나치게 많이 소모될 것이기에 값을 데이터세트에 맞게 적절하게 조정하는 것이 학습의 관건이다.
선형 회귀와 경사감소법
먼저, 라 하면 변화량은 이 될 것이다.
이를 통해 구한 새로운 v값은가 될 것이고, 이를 계속하면, 전역 최소값에 다다를 수 있다.
즉, C를 최소화하는 (w, b)값을 구할 수 있고, 이 값들을 회귀식에 대입하면 주어진 데이터세트와 가장 비슷한, 가장 우수한 회귀식을 얻을 수 있다.
연습
'Machine Learning > ML' 카테고리의 다른 글
06. 분류(1) - kNN(k Nearest Neighbor) (0) | 2017.09.10 |
---|---|
05. 강화학습(1) - 유전 알고리즘 - Genetic Algorihm (2) | 2017.08.22 |
04. 군집화(2)-DBSCAN(Density-based spatial clustering of applications with noise) (0) | 2017.08.13 |
03. 군집화(1) - K 평균 알고리즘 (0) | 2017.07.23 |
02. 선형 회귀(2) - 다중 선형 회귀 (0) | 2017.07.09 |