Corgi Dog Bark

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Normal Equation(정규방정식)
    머신러닝(MACHINE LEARNING)/간단하게 이론(Theory...) 2021. 4. 19. 12:22
    반응형

    - Normal Equation 이란.

    데이터 분석에서 회귀를 진행했을때, 오차를 줄여 줄 수있도록 하는 방법론 중 하나이다. 네이버 지식백과에서는 

    잔차의 제곱의 합을 최소로 한다는 조건, 즉 최소제곱법에 의하여 얻어지는, 미지수의 개수와 같은 수의 방정식이다.

    라고 정의가 되어있는데, 이는 곧 전체 오차의 합을 줄여나가 회귀식을 구하는데 목적이 있다 할 수 있다.

     

     

     

    - Cost Function을 최소화 하는 법

    여기서 argmin 은 최소가 될때까지 반복시키겠다는 의미이다. 따라서 cost function을 최소화 하기 위해, 각 항들의 오차를 제곱하여, 최소가 될때까지 반복시키는 것이 우리가 원하는 normal eq의 최종 형태이다.

     

     

    - 일차식에서의 회귀식 표현해보기

    식을 보게 되면, 좌측에 일차식을 나타내는 식이 5개 있고, 우측 Y = Xw으로 weight 가중치와 X 값의 행렬을 곱해서 Y값을 예측하고 있다. 이렇게 되면, J(오차의 제곱 합)

    이 되게 되고, J를 w0,w1 으로 미분해주게되면, 경사하강법(gradient descent)로 인하여 dJ가 0이될때 J가 최소값을 가지게 된다.

     

     

    - 행렬을 이용하여 w0, w1 가중치의 최소값 찾기

    위의식을 정리하여 풀게 되면, (m 은 반복 수)

    이 되게 되고 , 이는 곧 좌측변을 행렬로 표현하게 된다면,(우측변의 시그마Y부분은 나중에 정리해주겠다.)

    가 되게 되는 데, (XtX부분이 밑의 식처럼 표현되기 때문에)

    XtX 가 위의 식 처럼 행렬식으로 유도가 되기 때문이다.(자세한 부분은 생략)

     

    - 최종 w 가중치 값 행렬식으로 표현하기

    이제 우측의 y부분을 행렬식으로 나타내준다면, 행렬식으로 모든 부분이 표현 가능하다.

    우측의 y부분은

    처럼 표현이 되고, (X의 각항들을 y가 곱해줌을 행렬로 표현함으로 전치를 시켜 y와 곱해준다.)

    따라서 전체 식은

    이 되게 되고, w 가중치를 구해주기 위함 이므로 , XtX 를 우변으로 넘겨주면,

    이 되게 된다. 이 식이 Normal Eq 를 이용하여, 가중치의 최솟값을 구해주기 위한 식이다.

     

    - 일반식 표현

    일반식으로 나타내주게 된다면,

    이 되게 되는데, 이를 실제로 XtX를 역행렬 취하여, 구해주게 된다면, (1/ad-bc ~~~ 의 과정은 생략)

    이 최종적으로 W가중치를 구하기 위해 X,y 값들을 이용하여 구해준 식이 된다. 어쨋든 중요한 사실은

    요식만 머릿속에 박아넣고 기억하고 있으면 좋겠다 ... 

    (Ndrew Ng 교수님은 머신러닝 수업에서 이부분을 따로 유도를 안하셨던걸로 기억하지만, 네이버 부트코스에서 수업을 듣다 정리가 잘되어 있어 참고하였습니다.)

    https://www.boostcourse.org/ai222/

     

    머신러닝을 위한 파이썬

    부스트코스 무료 강의

    www.boostcourse.org

     

    반응형

    댓글

Designed by Tistory.