회귀분석에서 최종 목적은 목적함수를 최소화하는
모수 파리미터를 추정하는 것이라 하였다.
이제 이 목적함수를 최소화하는 방식을 보자.
최소제곱법 ( least square methods )
최소제곱법에는 두가지 방식이 있다.
1. 아래로 볼록한 함수 (convex) 일 때 미분해서 0 되는 곳 찾기
2. 경사하강법 (gradient descent)
1번 방식 (미분)의 경우 함수의 최솟값을 구하는 가장 기본적인 방식이다.
예시를 살펴보자.
다음과 같은 목적함수가 있다고 한다면,
주어진 함수는 convex(아래로볼록) 한 함수 이므로
미분하여 0 되는 곳을 찾을 수 있다.
따라서 목적함수를 미분한식이 0 이 되려면 θ = 0이므로 최적의 파라미터는 0이다.
그러나 대부분의 목적함수는 위의 경우처럼 단순하지 않다.
회귀분석을 할 때 예측변수 추정을 위해 사용되는 독립변수들의 개수는
여러 개인 경우가 대부분이고 그에 따라 예측해야 하는 모수도 같이 늘어난다.
다음과 같은 목적함수가 있다고 하자.
이 목적함수는 회귀직선을 h(x) = θ₀ + θ₁x 라 할 때
오차의 제곱의 합을 미분하기 쉽게 목적함수에 1/2을 곱한 것이다.
최솟값을 구하기 위해 미분하려 했더니?
파라미터가 θ₀ θ₁으로 변수가 2개다
2개의 이상의 변수를 갖는 함수의 최대 최소는?
편미분을 이용하여 각각의 변수에 대해 미분하여
각각의 편미분 값이 모두 0이 되는 부분을 찾으면 풀 수는 있긴하다.
(점점 복잡해진다..)
목적함수를 θ₀에 대해 편미분 한 값
dJ(θ) / dθ₀ = (θ₀ - 3) + (θ₀ + θ₁ - 2) + (θ₀ + 2θ₁ - 8) + (θ₀ + 3θ₁ - 10)
= 4θ₀ + 6θ₁ - 23 = 0
목적함수를 θ₁에 대해 편미분 한 값
dJ(θ) / dθ₁ = (θ₀ + θ₁ - 2) + 2(θ₀ + 2θ₁ - 8) + 3(θ₀ + 3θ₁ - 10)
= 6θ₀ + 14θ₁ - 48 = 0
이제 두 방정식을 연립하여 θ₁ θ₀ 를 찾으면 된다.
변수가 더 많아지면 어떻게 될까?
회귀직선을 위와 같이 한다면 목적 함수는?
이처럼 목적함수의 변수 ( 찾아야 하는 파라미터) 도 매우 많아진다.
이때 앞서 했던 방식으로 편미분을 하여 각각의 방정식을 연립하면
계산 과정이 매우 복잡해진다.
이를 해결하기 위한 방식이 경사하강법( gradient descent)
경사 하강법 (grdient descent)
경사 하강법이란?
목적함수를 미분해서 0 되는 파라미터를 바로 찾는 것이 아니라
파라미터의 초기값을 주고 그 초기값으로 부터
새로운 파라미터를 갱신하며 미분해서 0되는 파라미터를 찾는 방식이다.
파라미터 초기값으로 부터 새로운 파라미터로 갱신한다는 것은
무슨 의미일까?
다음과 같은 수식을 살펴보자
수식을 해석하면 다음과 같다
- 목적함수를 모수에 대해 미분하여 초기 모수 값에서의 함수의 기울기를 계산
- 계산한 기울기 값에 적절한 수 alpha(학습률)를 곱한다.
- 초기 값에서 계산한 값을 빼어 새로운 모수를 구한다.
이 과정에서 미분한 값이 음수였다면
초기 모수 값에 적절한 값을 더해 계산한 모수는 우측으로 이동하게 된다.
미분한 값이 양수였다면
초기 모수 값에 적절한 값을 빼어 계산한 모수는 좌측으로 이동하게 된다.
이 과정을 시각적으로 이해해 보자.
목적함수는 2차 함수이며 초기 값을 step 0 값으로 했다고 하자.
그럼 step 0에서의 목적함수의 미분계수는 양수가 나올 것이다
따라서 위의 수식에 따라 다음 파라미터는 적절한 값을 빼어
갱신된 모수는 좌측으로 이동하게 되어 step 1으로 이동하게 된다.
이러한 과정을 반복적으로 실행하면 목적함수가 최소가 되는 파라미터로 이동하게 된다.
주의할점
이 과정을 잘 수행할 수 있게하는 alpha(학습률) 을 잘 설정해야한다.
학습률이 너무크면 한번에 움직이는 이동 범위가 커져
최적의 파라미터를 찾는 과정을 무한히 반복하게 된다.
또한 계산 과정에서 알 수 있듯이 계산된 지점이 global min이 아닌 local min에 빠질 수 있음을 주의하자.
따라서 초기값을 변경하면서 실제로 최소가 되는 점을 찾아야 한다는 것을 기억하자.
이번에는 단순 선형회귀에서 벗어나 다항함수 회귀에 대해 알아보자.
'회귀분석' 카테고리의 다른 글
릿지 회귀(Ridge Regression) (2) | 2024.09.25 |
---|---|
다항함수회귀 (0) | 2024.07.13 |
회귀분석 (0) | 2024.05.16 |