1.2.3 커널 방법

1.2.2 초창기 신경망 | 목차 | 1.2.4 결정 트리, 랜덤 포레스트, 그래디언트 부스팅 머신

 

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

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

043

그림 1-10 결정 경계

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

  1. 결정 경계가 하나의 초평면hyperplane으로 표현될 수 있는 새로운 고차원 표현으로 데이터를 매핑합니다(그림 1-10과 같은 2차원 데이터라면 초평면은 직선이 됩니다).
  2. 초평면과 각 클래스의 가장 가까운 데이터 포인트 사이의 거리가 최대가 되는 최선의 결정 경계(하나의 분할 초평면)를 찾습니다. 이 단계를 마진 최대화maximizing the margin라고 부릅니다. 이렇게 함으로써 결정 경계가 훈련 데이터셋 이외의 새로운 샘플에 잘 일반화되도록 도와줍니다.

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

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

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

 


 

1.2.2 초창기 신경망 | 목차 | 1.2.4 결정 트리, 랜덤 포레스트, 그래디언트 부스팅 머신

 

이 글은 도서출판 길벗에서 출간한  “케라스 창시자에게 배우는 딥러닝“의 1장~3장입니다. 이 책의 저작권은 (주)도서출판 길벗에 있으므로 무단 복제 및 무단 전제를 금합니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.