Kernel Trick
Non-linear 한 형태의 DB가 필요한 경우가 있다.
에러가 있다는것을 인정하고 모델을 만들었는데 , 이번시간은 모델을 좀더 Complex 하게 만드는 방법을 배워보겠다.
이것은 데이터가 Complex 하기때문에 모델을 Complex 하게 만드는것이지 일부러 모델을 Complex 하게 만드는것은 아니다.
Linear regression 에서 각각 term간에 interaction을 만들어 데이터를 복잡하게 만들어 차원을 높여 Linear regression 을 생성한것을 배운적이 있다.
SVM도 term간에 interaction을 통해 차원을 높여 SVM 을 돌릴수 있다. 그러면 Non linear DB가 나오게 할수 있다.
그 결과가 위 슬라이드의 아래 오른쪽 그림이 된다.
이방법 뿐만 아니라 Kernel Trick을 이용해 Non linear DB를 구할수 있도록 알아보겠다.
Kernel을 도입하기 위해서는 SVM의 Primal Problem을 Dual Problem으로 바꾸는것에 대해 배워야 한다.
SVM 은 quadratic programming을 통해 Parameter을 Inference 했다.
Largrange method는 위 슬라이드와 같이 Lagrange Prime Function 정의하고 Constrained Optimization 있는 g 와 h part를 Obeject part(minf(x))로 올릴수 있다. (아래의 식과 같은 형태로 )
Lagrange Dual function 은 위의 Lagrange function 에 min을 취하는 형태로 정의할수 있다.
Largrange Dual function을 활용을 하면 특정 Optimization을 풀면 (아래식의 좌항)
특정 f(x) 와 동일하게 행동하는 성질이 있다. 이렇게 optimization 된 Largrange Prime function은 f(x)와 동일하게 행동한다 .즉 f(x)를 쓰지 않고, Largrange method로 바뀐 것을 쓰겟다는 것이 Primal problem 에서 Dual problem으로 넘어가는 시초이다.
'머신러닝 > 문일철 교수님 강의 정리 (인공지능및기계학습개론)' 카테고리의 다른 글
Week 5.8. Kernel (0) | 2019.08.06 |
---|---|
Week 5.7. Primal and Dual with KKT Condition (0) | 2019.07.20 |
Week 5.5. Soft Margin with SVM (0) | 2019.07.19 |
Week 5.4. Error Handling in SVM : 서포트벡터 머신에서의 오류처리 (0) | 2019.07.19 |
Week 5.2. Maximizing the Margin (0) | 2019.07.18 |