K-MOOC 인공지능 및 기계학습(2017 봄학기) 수강 중 2주차 2번째 퀴즈 문제 풀이..


SVM(Support Vector Machine)을 공부하다보면 초평면(hyperplane)에 대한 이론이 나온다. 초평면이란 P 차원에서 Class들을 분류하는 P-1 차원의 Subspace이다.

위의 그림과 같이 경계를 구분짓는 직선은 꼭 1개만 존재하는 것이 아니라 다양한 경우의 수가 있다. 그 중에서 둘을 가장 적절하게 구분할 수 있는 직선을 '최대 마진 분류기'라고 한다. 즉 학습 데이터 중에서 분류 경계에 가장 가까운 데이터로부터 분류 경계까지의 거리를 마진(Margin)이라고 하며, 이 마진을 최대로 만드는 것이 분류의 성능을 가장 높이는 것이다. 


그렇다면 이는 필연적으로 점과 직선사이의 거리를 계산하는 문제로 귀결된다.

n차원의 공간상에서 초평면을 이루는 단위법선벡터 w=(w1, w2, ... wn)이고,

중심에서 이 초평선까지의 거리가 b라고 할 때,

초평면상의 한 점 x=(x1, x2, ... xn)인 초평면의 방정식은 아래와 같이 나타낼 수 있다.


그리고 n차원 공간상의 임의의 점 A = (a1, a2, ... an)에서 이 초평면에 이르는 최소 거리(d)는 다음과 같이 구할 수 있다.

이를 토대로 문제에서 주어진 숫자들을 대입하면 계산할 수 있다.

Excel등을 사용해서 계산한다면 다음과 같은 수식이 될 것이다.

w(1~n)은 각각 [1,-2, 3, -1]으로 주어져있고, x는 [3, 1, 2, 4]이므로 이를 대입해보면,

계산기로 돌려보자..

정답!


*K-MOOC(일명 한국형 무크)에서 KAIST 오혜연 교수님의 머신러닝 기초강좌가 진행 중입니다. 약 한달정도로 운영되는 코스이고, 확률론부터 딥러닝까지 강좌당 20분정도 분량으로 틈틈이 가볍게 학습할 수 있는 것이 큰 장점인 것 같습니다. Andrew ng강좌를 듣고싶으나 언어의 장벽에 가로막히신 분들은 이 강의로 입문을 하셔도 좋을 것 같습니다. 


CPUU님의 창작활동을 응원하고 싶으세요?