더북(TheBook)

SVM 알고리즘은 기본적으로 선형으로 분리 가능한 데이터에 적용할 수 있습니다. 그러나 실생활에서 사용하는 데이터는 선형으로 분리되지 않는 경우가 많으며, 이러한 경우에도 SVM 알고리즘을 적용하기 위하여 SVM에서는 커널 트릭(kernel trick)이라는 기법을 사용합니다. 커널 트릭이란 적절한 커널 함수를 이용하여 입력 데이터 특징 공간 차원을 늘리는 방식입니다. 원본 데이터 차원에서는 선형으로 분리할 수 없었던 데이터를 커널 트릭으로 고차원 특징 공간으로 이동하면 선형으로 분리 가능한 형태로 바뀔 수 있습니다.

데이터 특징 공간 차원을 증가시켜서 데이터를 선형 분리하는 예를 살펴보겠습니다. 2차원 좌표 평면상의 점 집합 X={(0,0), (1,1)}와 Y={(1,0), (0,1)}가 있다고 가정하고, 이 두 클래스 점들을 그림 15-10(a)에 각각 파란색 사각형과 빨간색 삼각형으로 나타냈습니다. 2차원 평면상에서 XY 두 클래스 점들을 분리할 수 있는 직선은 존재하지 않습니다. 입력 점들의 좌표에 가상의 z축 좌표를 zi=|xi-yi| 형태로 추가할 경우, X={(0,0,0), (1,1,0)}와 Y={(1,0,1), (0,1,1)} 형태로 3차원 공간상에서의 점 집합으로 바뀌게 됩니다. 이렇게 3차원 공간으로 변경된 XY 점들을 그림 15-10(b)에 나타냈습니다. 그리고 이 두 클래스 점들은 z=0.5 평면의 방정식을 이용하여 효과적으로 분리할 수 있습니다. 2차원 평면에서 선형 분리할 수 없었던 XY 데이터 집합이 가상의 차원이 추가됨으로써 선형으로 분리할 수 있게 되었습니다.

▲ 그림 15-10 비선형 데이터에 커널 트릭 적용하기

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.