ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Lasso Regression #3
    머신러닝 기초 2019. 10. 11. 23:07
    반응형

    (시간 관계상 강의 자료의 수식을 그대로 사용했다.)

     

    그렇다면 Lasso Regression에서 lambda는 어떻게 결정할까? 사실 ridge regression 하고 동일하다. 아래와 같이 vaildation set을 이용해 lambda를 결정하면 된다.

     

    앞선 lasso의 cordinate decent 알고리즘을 설명할 때 soft thresholding이 어떻게 등장한 수식인지에 대해 설명하지 않았으므로 이를 증명해보고자 한다. 우선 lasso의 cost function은 아래와 같음을 상기하자.

     

    feature가 normalized 되지 않았음에 주목하자. cordinate decent를 설명할 때 normalized 되지 않은 feature를 고려하는 것이 더 일반적이다. 우선 네모 친 부분의 수식을 먼저 고려하자.

     

    이 부분은 RSS에 해당한다. 편미분 하면 다음과 같다.

     

     

    이제 나머지 항에 대해서도 동일하게 계산하려고 하나 문제가 발생한다.

     

    L1 penalty항의 그래프가 위와 같으므로 미분 불가능한 지점이 발생한다. (우리가 lasso의 closed-form solution을 계산하지 못했던 이유이기도 하다.) 이때 필요한 개념이 바로 subgradients이며 이 개념은 미분 가능한 볼록 함수의 gradient를 미분 가능하지 않은 볼록 함수에도 적용할 수 있도록 일반화한 것이다. 아래와 같은 볼록 함수를 예를 들면

     

    다음 식을 만족한다.

     

    L1 penalty항에 subgradient를 적용하면 아래와 같이 정의된다. 이때 subgradient = V이다.

     

    따라서

     

     

    V는 위의 점선과 같은 직선이 가능하며 그 기울기는 [-1, 1] 범위를 가지는 subgradient이다. 따라서 L1 penalty항의 편미분 값을 다시 계산하면 아래와 같다.

     

    이제 앞의 RSS항과 합치면

     

    이 되며 마지막으로 각각의 weight 범위에서 subgradient가 0이 되는 optimal solution을 모두 찾으면 다음과 같다.

     

    위 solution은 앞서 언급했던 lasso의 soft thresholding을 이용한 cordinate decent 수식과 완전히 동일하므로 증명이 완료된다. 그래프로 표현해보면

     

    와 같다. 참고로 빨간색 선은 ridge이다.

    반응형

    '머신러닝 기초' 카테고리의 다른 글

    Logistic regression #1  (0) 2019.11.02
    Geometric intuition of solution  (0) 2019.10.12
    Lasso Regression #2  (0) 2019.10.09
    Lasso Regression #1  (0) 2019.10.09
    Ridge Regression #2  (0) 2019.10.05

    댓글

Designed by black7375.