페이지

2022년 7월 16일 토요일

1.2.3 커널 방법

 초기 성공에 힘입어 1990년에 신경망은 연구자들 사이에서 어느 정도 관심을 얻기 시작했지만, 머신 러닝의 새로운 접근 방법인 커널 방법이 인기를 얻자 신경망은 빠르게 잊혔습니다. 커널 방법(Kernel method)은 분류 알고리즘의 한 종류를 말하며 그중 서포트 벡터 머신(Support Vector Machine, SVM)이 가장 유명합니다. 현대적인 SVM의 공식은 1990년대 초 벨 연구소의 블라드미르 바프닉(Vladimir Vapnik)과 코리나 코르테스(Corinna Cortes)에 의해 개발되었고 1995년에 공개 되었습니다. 바프닉과 알렉세이 체르보넨키스(Alexcy Chervonenkis)가 만든 오래된 선형 공식은 1963년에 공개되었습니다.

SVM은 분류 문제를 해결하기 위해 2개의 다른 범주에 속한 데이터 포인트 그룹 사이에 좋은 결정경계(decision boundary)(그림 1-10 참고)를 찾습니다. 결정 경계는 훈련 데이터를 2개의 범주에 대응하는 영역으로 나누는 직선이나 표현으로 생각할 수 있습니다. 새로운 데이터 포인트를 분류하려면 결정 경계 어느 쪽에 속하는지를 확인하기만 하면 됩니다.

SVM이 결정 경계를 찾는 과정은 두 단계입니다.

1. 결정 계계가 하나의 초평면(hyperplane)으로 표현될 수 있는 새로운 고차원 표현으로 데이털르 매핑합니다(그림 1-10과 같은 2차원 데이터라면 초평면은 직선이 됩니다).

2. 초평면과 각 클래스의 가장 가까운 데이터 포인트 사이의 거리가 최대가 되는 최선의 결정 경계(하나의 분할 초평면)를 찾습니다. 이 단계를 마진 최대화(maximinzing the margin)라고 부릅니다. 이렇게 함으로써 결정 경계가 훈련 데이터셋 이외의 새로운 샘플에 잘 일반화되도록 도와줍니다.

분류 문제를 간단하게  만들어 주기 위해 데이터를 고차원 표현으로 매핑하는 기법이 이론상으로는 좋아 보이지만 실제로는 컴퓨터로 구현하기 어려운 경우가 많습니다. 그래서 커널 기법(kernel trick)이 등장했습니다(커널 방법의 핵심 아이디어로 여기에서 으름을 따왔습니다). 요지는 다음과 같습니다. 새롭게 표현된 공단에서 좋은 결정 초평면을 찾기 위해 새로운 공간에 대응하는 데이터 포인트 좌표를 식ㄹ제로 구할 필요가 없습니다. 새로운 공간에서의 두 데이터 포인트 사이의 거리를 계산할 수만 있으면 됩니다. 커널 함수(kernel function)를 사용하면 이를 효율적으로 계산할 수 있습니다. 커널 함수는 일반적으로 데이터로부터 학습되지 않고 직접 만들어야 합니다. SVM에서 학습되는 것은 분할초평면뿐입니다.

SVM이 개발되었을 때 간단한 분류 문제에 대해 최고 수준의 성능을 달성했고 광범위한 이론으로 무장된 몇 안되는 머신 러닝 방법 중 하나가 되었습니다. 또 수학적으로 깊게 분석하기 용이하여 이론을 이해하고 설명하기 쉽습니다. 이런 유용한 특징 때문에 SVM이 오랜동안 머신 러닝 분야에서 매우 큰 인기를 끌었습니다.

하지만 SVM은 대용량의 데이터셋에 확장되기 어렵고 이미지 분류 같은 지각에 관련된 문제에서 좋은 성능을 내지 못했습니다. SVM은 얕은 학습 방법이기 때문에 지각에 관련된 문제에 SVM을 적용하려면 먼저 수동으로 유용한 표현을 추출해야 하는데(이런 단계를 특성 공학(feature engineering)이라고 합니다) 이는 매우 어렵고 불안정합니다.


댓글 없음: