선형 회귀-Linear Regression
선형 회귀는 레이블된 데이터를 통해 종속변수와 독립변수 간의 관계를 모델링하는 통계학적 머신러닝 메소드이다. 선형 회귀는 레이블된 데이터들을 입력받고, 레이블과 데이터 간의 관계를 파악하는데, 이를 학습이라고 한다.
선형 회귀는 변수의 개수에 따라 단순 선형 회귀와 다중 선형 회귀로 나뉘어지는데, 독립변수가 하나이면 단순, 독립변수가 두 가지 이상이면 다중으로 부른다.
다중 선형 회귀
: 여기서 a, b, c(오프셋)을 구해야 한다.
선형 회귀에 대한 설명은 저번 포스팅에서 했으니, 이번 포스팅에선 좀 더 포괄적이고 일반적으로 오차함수를 최소화하는 방법을 알아보겠다.
오차함수
여기서 우리가 알아야 하는 것은, 독립변수의 개수가 변하여도 바뀌지 않는 부분이 있다는 것이다. 이를 간단히 나타내면 이렇다.
여기서 E는 실제 데이터세트의 값(레이블)과 회귀식을 통해 계산한 값의 차를 뜻한다. 우리는 다시 이 C를 최소화하는 기울기와 오프셋을 구해야 한다.
경사감소법(2) - 좀 더 일반적으로
를 c, a, b축의 3차원 공간에 나타내면 다음과 같다. 그 위에 꽃순이가 있다
꽃순이는 계속 아래로 내려가고자 한다. 그러면 C의 변화량을 다음과 같이 나타낼 수 있다.
또한 이 식은 이와 같이 해석할 수 있다. ->
이 식을 행렬곱을 통해 분리해보면 다음과 같다.
우리가 찾아야 할 것은 C의 변화량을 언제나 음수로 만드는 (a 변화량, b 변화량) 값이다. 즉, 언제나 꽃순이가 아래를 향하게 a, b축 방향으로 이동해야 하는 거리이다. 계산을 위해 다음과 같이 설정한다.
: ∇기호는 '나블라'라고 읽으며, 곡면에서의 기울기를 의미한다.
: 한번에 a, b축 방향으로 이동하는 각각의 거리이다.
그러면 위의 식을 다음과 같이 다시 쓸 수 있다. , 이제 c 변화량이 언제나 음수가 되게 하는 v 변화량을 구하면 된다.
라 하고 이를 위의 식에 대입하면,
가 된다. 이 때, 학습률
를 양수로 설정하면, 실수의 제곱은 언제나 양수이므로, C의 변화량이 언제나 음수가 되는, 즉 골짜기의 가장 깊은 곳을 향하는 (a, b) 변화량을 구할 수 있다. 1
경사감소법(3)-다중 선형 회귀에 적용
'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 |
01. 선형 회귀(1) - 단순 선형 회귀 (0) | 2017.06.25 |