Ch15 support vector machines and machine learning on documents
This presentation is the property of its rightful owner.
Sponsored Links
1 / 97

Ch15 Support Vector Machines and Machine Learning on documents PowerPoint PPT Presentation


  • 317 Views
  • Uploaded on
  • Presentation posted in: General

Ch15 Support Vector Machines and Machine Learning on documents. 2010. 1. 25. 최성빈. Introduction. 최근 20 년 간 , 분류기의 효과성을 향상시키기 위한 연구의 결실로 , support vector machine, boosted decision tree, regularized logistic regression, neural network, random forest 와 같이 새로운 분류기들이 등장했다 .

Download Presentation

Ch15 Support Vector Machines and Machine Learning on documents

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ch15 support vector machines and machine learning on documents

Ch15 Support Vector Machines andMachine Learning on documents

2010. 1. 25. 최성빈


Introduction

Introduction

  • 최근 20년 간, 분류기의 효과성을 향상시키기 위한 연구의 결실로,

    support vector machine, boosted decision tree, regularized logistic regression, neural network, random forest와 같이 새로운 분류기들이 등장했다.

  • 이러한 방법론 중 다수는, 정보검색문제 특히 문헌분류에 적용되어,

    성공적인 모습을 보여왔다.

  • SVM은 large-margin classifier의 하나이다.

  • SVM은 vector space기반의 machine learning 기법이다.

  • SVM의 목적

    training data에서, 두 클래스의 어떤 point로부터도 최대한 멀리 떨어져 있는, 두 클래스 간의 decision boundary를 찾는 것


Introduction1

Introduction

  • 다른 machine learning기법이 이 작업에 적용된바 있음에도,

    SVM의 사용이 두드러져 왔다.

  • SVM이 항상 다른 machine learning기법보다 좋은 것은 아니지만,

    가장 최신의 성능을 보여주고 있으며,

    현재 이론적 및 실험적인 측면에서 많은 매력을 가지고 있다.


Introduction2

Introduction

  • 15.1 Support vector machines: The linearly separable case

    : two-class data sets, separable by a linear classifier

  • 15.2 Extensions to the SVM model

    : multiclass problem, non-separable data, nonlinear models, other issues

  • 15.3 Issues in the classification of text documents

  • 15.4 Machine learning methods in ad hoc information retrieval


15 1 support vector machines the linearly separable case

15.1 Support vector machines:The linearly separable case

  • 14.8의그림에서와 같이

    two-class의 분리가능한 training data set에서

    많은 수의 선형 분류기가 존재한다.

  • 직관적으로, 두 클래스의 data item들 가운데를 지나는 decision boundary가,

    하나 혹은 두 클래스와 매우 가깝게 지나가는 decision boundary보다 좋아 보인다.


15 1 support vector machines the linearly separable case1

15.1 Support vector machines:The linearly separable case

  • 퍼셉트론, Naïve Bayes와 같은 학습기법들은, 특정 기준에 따라

    가장 성능이 좋은 어떤 선형분류기를 찾는다.

  • 특히 SVM은, 그 기준을, 어떤 data point로부터도 가장 멀리 떨어져 있는 결정면(decision surface)을 찾는 것으로 정의한다.


15 1 support vector machines the linearly separable case2

15.1 Support vector machines:The linearly separable case

  • 결정면에서 가장 가까운 data point와 결정면과의 거리가,

    분류기의 margin이 된다.

  • SVM의 분류기의 위치를 정의하는 decision function은,

    data point의 일부분으로 특정지을 수 있다.

    - 이 data point들을 support vectors라고 한다.

  • support vector외의 다른 data point들은

    결정면을 선택하는데 있어

    아무 역할을 하지 못한다.


15 1 support vector machines the linearly separable case3

15.1 Support vector machines:The linearly separable case

  • 결정면 근처에 data point가 위치한다는 것이

    매우 불확실한 분류 결정을 의미하기 때문에,

    margin을 최대화하는 것은 좋은 것이다.

  • 큰 margin을 가지는 분류기는,

    확실성이 낮은 분류 판단을 내릴 가능성이 없어진다.

  • 이것은 classification safety margin을 제공한다.

    : slight error in measurement나 slight document variation이 있더라도,

    이것이 오분류로 이어지지 않는다.


15 1 support vector machines the linearly separable case4

15.1 Support vector machines:The linearly separable case

  • SVM분류기는 결정면 근처에서 large margin을 제공한다.

  • decision hyperplane과 비교해서,

    클래스 사이에 fat separator를 위치한다면

    그것을 어디에 위치할지에 대해

    적은 가지 수의 선택권을 가지게 된다.

  • 그 결과로, 모델의 memory capacity가 감소하고,

    따라서 test data로의 정확하게 일반화하는 능력이

    증가할 것을 기대할 수 있다.

    (bias-variance tradeoff에 대한 14장의 논의와 같이)


15 1 support vector machines the linearly separable case5

15.1 Support vector machines:The linearly separable case

  • SVM을 수식으로 정형화해 보자

  • 14장(278page)에서 말했듯이,

    decision hyperplane은

    intercept term b와 decision hyperplane의 normal vector w

    로 정의될 수 있다.

    ( w 는 machine learning문헌에서 종종 weight vector로 언급된다)

  • normal vector w 에 수직인 모든 hyperplane중 하나를 선택하기 위해,

    intercept term b를 특정한다.

  • hyperplane은 normal vector와 수직이므로, hyperplane의 모든 벡터 x는

    를 만족한다.


15 1 support vector machines the linearly separable case6

15.1 Support vector machines:The linearly separable case

  • training data의 집합 을 가지고 있다고 가정하고

  • 두 데이터 클래스는 +1, -1으로 이름 붙인다.

  • intercept term은 에 합쳐서 넣지 않고, 외부로 떼어내어 b로 표현한다.

    (rather than being folded into the weight vector w

    by adding an extra always-on feature)

  • 이 경우, 선형분류기는,

  • 의 값이 1이 나오면 +1 클래스

    의 값이 -1이 나오면 -1 클래스

    로 분류된다.


15 1 support vector machines the linearly separable case7

15.1 Support vector machines:The linearly separable case

  • point를 분류하는데 있어,

    결정면에서 멀리 떨어져 있는 point를 분류하는 것은

    확신을 가질 수 있다.

  • 주어진 data set과 decision hyperplane에서

    i번째 예 벡터의

    hyperplane으로부터의functional margin을 정의하고

    이것은값을 가진다.


15 1 support vector machines the linearly separable case8

15.1 Support vector machines:The linearly separable case

  • decision surface에 대한 data set의 functional margin은,

    minimal functional margin을 가지는 data set의 어떤 point보다

    2배의 값을 가진다.

    The functional margin of a data set with respect to a decision surface is then twice the functional margin of any of the points in the data set with minimal functional margin

    (the factor of 2 comes from measuring across the whole width of the margin, as in Figure 15.3)


15 1 support vector machines the linearly separable case9

15.1 Support vector machines:The linearly separable case

  • decision surface에 대한 data set의 functional margin은,

    minimal functional margin을 가지는 data set의 어떤 point보다

    2배의 값을 가진다.

    The functional margin of a data set with respect to a decision surface is then twice the functional margin of any of the points in the data set with minimal functional margin

    (the factor of 2 comes from measuring across the whole width of the margin, as in Figure 15.3)


15 1 support vector machines the linearly separable case10

15.1 Support vector machines:The linearly separable case

  • 앞의 Functional margin의 정의를 그대로 사용하기에는 문제가 있다.

    : The value is underconstrained.

  • w벡터와 b 에 임의의 수를 곱해줌으로서,

    functional margin을 마음대로 조절할 수 있다.

    ex> 를 로 하고, b를 5b로 하면

    functional margin이 되어

    5배가 된다

  • w 벡터의 크기에 제약을 줄 필요가 있다.

    이 말을 이해하기 위해, 실제 geometry를 살펴보자


15 1 support vector machines the linearly separable case11

15.1 Support vector machines:The linearly separable case

  • r : decision hyperplane과 간의 실제 거리 (Euclidean distance)

  • data point와 decision hyperplane간의 최단거리는

    decision hyperplane에 수직이다.

    따라서 에 평행하다.

  • 이 방향에서, 단위 벡터는 이다.


15 1 support vector machines the linearly separable case12

15.1 Support vector machines:The linearly separable case

  • 에 가장 가까운 decision hyperplane의 접점 부위를


15 1 support vector machines the linearly separable case13

15.1 Support vector machines:The linearly separable case

  • Geometric margin은 scaling of parameter에 따라 변하지 않는다.

  • functionalmargin은 마음대로 scaling할 수 있으므로,

    큰 SVM문제 풀이의 편의를 위해,

    모든 data point의 functional margin이 최소한 1 이상이 되도록 선택한다.

    적어도 하나의 data point는 functional margin이 1이어야 한다.

  • Geometric margin


15 1 support vector machines the linearly separable case14

15.1 Support vector machines:The linearly separable case

  • SVM의 목표는 다음을 충족하는 와 b를 찾는 것이다.

  • 최대화 문제를 최소화 문제로 변형

  • 선형 조건을 가진 2차 함수의 최적화 문제

    : Quadratic Optimization problem


15 1 support vector machines the linearly separable case15

15.1 Support vector machines:The linearly separable case

  • Quadratic Optimization problem은

    잘 알려진 수학적인 최적화 문제이며,

    많은 solving algorithm이 존재한다.

  • Standard quadratic programming library를 이용해서 SVM을 만들 수도 있지만, 최근 이 부분에 많은 연구가 있어왔고, 그에 따라 보다 섬세하면서도 빠르고 확장 가능한 library들도 사용 가능하다. 이러한 알고리즘의 세부 사항에 대해서는 여기서 다루지 않겠다.

  • However, it will be helpful to what follows to understand the shape of the

    solution of such an optimization problem.


15 1 support vector machines the linearly separable case16

15.1 Support vector machines:The linearly separable case

  • Solution:

  • Lagrange multiplier 가 primal problem의 각 constraint 와 연관되어 있는 dual problem,을구성한다.


15 1 support vector machines the linearly separable case17

15.1 Support vector machines:The linearly separable case


15 1 support vector machines the linearly separable case18

15.1 Support vector machines:The linearly separable case

  • 는 대부분 0의 값을 가진다.

  • xi가 supporting vector인 경우만 non-zero값을 가진다.

  • 최적화 문제 및 결정 함수에서, 두 point간의 내적 계산을 포함한다.

    - point를 사용해서 계산하는 유일한 방법


15 1 support vector machines the linearly separable case19

15.1 Support vector machines:The linearly separable case

Overview

  • Training data set에서 시작

    Data set은 특이적으로 best separating hyperplane을 정의함

  • quadratic optimization procedure에 data를 줘서,

    이 hyperplane을 찾아낸다.

  • 새로 분류할 data point가 주어지면

    분류함수를 이용 계산을 수행한다.

    분류함수 결과값의 부호가, data point의 class를 결정한다.


15 1 support vector machines the linearly separable case20

15.1 Support vector machines:The linearly separable case

  • 포인트가 분류기의 마진 (혹은 오분류를 피하기 위해, 사전에 임의로 정한 confidence threshold t) 내에 위치하는경우, 분류기는 “알 수 없음” 결과를 낼 수 있다.

  • 분류함수의 결과값은 probability of classification으로 변환될 수 있다.

    : 값을 Sigmoid로 변환하는 것이 일반적인 표준이다.(Platt 2000)

  • margin이 일정하기 때문에, 만약 모델이 다양한 소스로부터 얻은 차원을 가지고 있다면, 섬세한 rescaling이 요구될 수 있다.

    (However, this is not a problem

    if our documents (points) are on the unit hypersphere)


15 1 support vector machines the linearly separable case21

15.1 Support vector machines:The linearly separable case


15 1 support vector machines the linearly separable case22

15.1 Support vector machines:The linearly separable case

Example 15.1

  • Figure 15.4의 매우 작은 data set에서 SVM을 생성하는 것을 생각해본다.

    yi : x (x1, x2)

  • 1 : (2,3)

  • -1 : (1,1), (2,0)


15 1 support vector machines the linearly separable case23

15.1 Support vector machines:The linearly separable case

Example 15.1

  • Figure 15.4의 매우 작은 data set에서 SVM을 생성하는 것을 생각해본다.

    yi : x (x1, x2)

  • 1 : (2,3)

  • -1 : (1,1), (2,0)

    SVM decision boundary

  • y = x1 + 2x2 – 5.5


15 1 support vector machines the linearly separable case24

15.1 Support vector machines:The linearly separable case

Example 15.1

  • Figure 15.4의 매우 작은 data set에서 SVM을 생성하는 것을 생각해본다.

    yi : x (x1, x2)

  • 1 : (2,3)

  • -1 : (1,1), (2,0)

    SVM decision boundary

  • y = x1 + 2x2 – 5.5


15 2 extensions to the svm model

15.2 Extensions to the SVM model

15.2.1 Soft margin classification

  • 텍스트 분류와 같이 high dimensional problem이 흔한 경우, 데이터가 linearly separable한 경우도 있지만, 일반적으로 그렇지 않은 경우가 대부분이다.

    설사, 선형 분리 가능한 경우라도, 몇몇 특이한 noise document를 무시해서

    데이터를 더 잘 분리할 수 있는 해법을 찾는 것이 낫다.

  • training data가 선형 분리 불가능한 경우,

    decision margin이 몇 개의 mistake를 만들 수 있도록 허용한다.

  • 그리고 오분류된 사례에는 >1 방정식의 margin 요구조건에서 얼마나 멀리 떨어져 있는 가에 대해 비용을 매긴다.

  • 여기에 이란 개념을 도입한다.


15 2 1 soft margin classification

15.2.1 Soft margin classification

  • Slack variable의 개념을 포함하는 SVM optimization problem

  • 최적화 문제는 이제,

    얼마나 margin을 두텁게 할 수 있는가 vs

    이 margin을 허용하기 위해 얼마나 많은 점을 이동시켜야 하는가

    간의 trade off이다.

  • 을 0보다 크게 함으로서,margin이 1보다 작은 값을 가질 수 있지만,

    최소화 문제에서 그만큼 더 더해짐으로써, penalty를 받게 된다.

  • soft margin classifier는 margin에 대해 교환된 training error를 최소화한다.

  • Parameter C는 overfitting을 통제하기 위한 regularization term이다.


15 2 1 soft margin classification1

15.2.1 Soft margin classification

  • soft margin classification의 dual problem

  • dual problem의 답

  • 의 값을 명시적으로 알 필요는 없다.

    (data point들과의 dot point로 할 수 있다)


15 2 1 soft margin classification2

15.2.1 Soft margin classification

  • 일반적으로, training data의 작은 일부분만이 support vector이다.

  • 하지만, linearly nonseparable하거나, small margin을 가지는 문제의 경우, 오분류된 데이터 포인트나 margin안에 있는 포인트는 0이 아닌 값을 가지게 될 것이다. 이러한 포인트 집합이 늘어날 수록, SVM의 testing time에 큰 지연을 가져온다.


15 2 1 soft margin classification3

15.2.1 Soft margin classification

  • 선형 SVM의 training 및 testing의 complexity는 Table 15.1에 나와있다.

  • SVM의 training time은

    대부분 QP(Quadratic Programming)을 푸는 데 들어간다.

    따라서, 풀이 방식에 따라 이론적 및 경험적 complexity는 다를 수 있다.

  • Kozlov(1979)에 의하면, QP를 푸는데 표준 시간은

    data set 크기의 세제곱에 비례한다.

  • 최근 SVM의 연구는 이러한 복잡도를 줄이기 위해 노력했으며,

    approximate solution에 의해 만족스러운 결과를 내고 있다.

  • 표준적으로 실험적인 complexity는 정도 이다.

  • 하지만 전통적인 SVM의 superlinear training시간은, 매우 큰 dataset을 가지는 경우에는 SVM의 사용을 어렵거나 불가능하게 하고 있다.


15 2 1 soft margin classification4

15.2.1 Soft margin classification

  • training example의 숫자에 선형인 Alternative traditional SVM solution 알고리즘은, text와 같이 큰 가지 수의 feature를 가지는 경우에 확장이 어려워진다.

  • 하지만 cutting plane technique에 기반한 새로운 training algorithm은,

    running time을 training example의 수 및 nonzero feature의 수에

    선형으로 가짐으로서, 희망적인 답을 내고 있다.

  • 그럼에도, quadratic optimization을 하는 실제 속도는,

    단순히 term을 세기만 하는 Naïve Bayes model보다 매우 늦다.

  • svmalgorithm을 비선형 SVM으로 확장하는 경우, 표준적으로 training complexity가 factor 만큼 증가되어, 비실용적이다.

  • 실제로는, higher order feature를 직접 계산(materialize)해서 선형 SVM을 훈련시키는 것이 종종 더 저렴하다.


15 2 2 multiclass support vector machines

15.2.2 Multiclass support vector machines

  • SVM은 본래 two-class 분류기이다. SVM을 multi-class classification에 사용하는 전통적인 방법은 Section 14.5에 소개된 바 있다.

  • build |C| one-versus-rest classifier (one-versus-all classification)

    : class 개수 만큼의 분류기를 생성한 뒤,

    테스트 데이터가 가장 큰 마진을 가지는 class를 선택한다.

  • build a set of one-versus-one classifiers

    : |C| ( |C| -1 ) / 2 분류기를 생성한 뒤,

    가장 다수의 분류기에 의해 선택된 class를 선택

    : 분류기 수는 많지만, 각 분류기 별 training set의 크기는 감소하므로,

    실제 training시간은 더 적을 수 있다.


15 2 2 multiclass support vector machines1

15.2.2 Multiclass support vector machines

  • 보다 나은 대안: Structural SVM

  • (input feature, 데이터의 class) 의쌍으로 구성된, feature vector

    에 대하여 two-class classifier를 생성한다.

    margin during training :

    correct class의 값과 nearest other class의 값 간의 차이

    constraint:

  • testing시에, 하는 분류기를 선택한다.


15 2 2 multiclass support vector machines2

15.2.2 Multiclass support vector machines

  • 이러한 방법은,

    다양한 선형 분류기의 multiclass formulation으로 확장될 수 있다.

  • 이것은 또한,

    class가 독립적인, categorical label이 아닌,

    그들 사이의 관계를 가지고 있는 임의의 구조화된 객체들

    에 대한 분류의 일반화이다.


15 2 3 nonlinear support vector machines

15.2.3 Nonlinear support vector machines


15 2 3 nonlinear support vector machines1

15.2.3 Nonlinear support vector machines

  • General idea : 원래 feature space를,

    training set이 분리 가능한 higher dimensional feature space로 mapping

  • SVM과 몇몇 선형 분류기들은, higher dimensional space로 mapping을 수행하는 데 있어, kernel trick이라 불리는 쉽고 효율적인 방법을 제공한다.

  • 커넬 함수 K는, 확장된 feature space에서 doc product에 해당하는 함수이다.


15 2 3 nonlinear support vector machines2

15.2.3 Nonlinear support vector machines


15 2 3 nonlinear support vector machines3

15.2.3 Nonlinear support vector machines

  • 기능적으로 분석할 때(In the language of functional analysis),

    어떤 커넬 함수가 유효한(valid) 커넬 함수인가?

  • 커넬함수는, Mercer’s condition을 만족해야 하므로,

    보다 정확히는 Mercer kernels라고 불리운다.

  • 커넬 함수 K는 연속적이고(continuous), 대칭적이며(symmetric),

    positive-definite gram matrix를 가져야 한다.

  • 그러한 K는, 함수 K와 같은 값을 가지는 doc product가 있는,reproducing Hilbert space로의 mapping이 존재한다는 것을 의미한다.


15 2 3 nonlinear support vector machines4

15.2.3 Nonlinear support vector machines

  • 커넬이Mercer’s condition을 만족하지 못하면,

    Quadratic Programming은 해답이 없을 수 있다.

  • 이러한 Issue들에 대해 더 잘 이해하고자 한다면,

    References의 SVM관련 서적을 참고하라.

  • 그렇지 않다면, 이 사실에 안도해도 된다.

    커넬과 관련된 일의 90%는,

    다음에 소개할 두 가지 함수를 사용한다.

  • 가장 흔히 사용되는 두 가지 커넬은,

    Polynomial kernel과 radial basis function이다.


15 2 3 nonlinear support vector machines5

15.2.3 Nonlinear support vector machines

Polynomial Kernel

  • d = 1 인 경우, linear kernel

  • d = 2 인 경우, quadratic kernel


15 2 3 nonlinear support vector machines6

15.2.3 Nonlinear support vector machines

Radial basis function 가운데 가장 흔한 형태는,

Gaussian distribution이다.

  • radial basis function은,

    무한 차원의 Hilbert space로 data를 mapping하는 것과

    동일(equivalent)하다.

    그래서 radial basis function을 구체적으로 표현하는 것은 불가능하다.

  • 이 두 함수 외에도, 커넬 개발과 관련해 흥미 있는 연구들이 있었으며,

    일부는 텍스트 영역에 유망한 것이다.

    그 중에서도 특히,string kernel에 대한 연구가 있었다.


15 2 3 nonlinear support vector machines7

15.2.3 Nonlinear support vector machines

  • SVM의세계는 자신만의 언어를 가지고 있으며,

    다른 machine learning 분야의 언어와 다른 부분이 있다.

  • Terminology의 깊은 뿌리는 수학에 두고 있다.

  • 하지만 terminology 때문에 지나치게 두려워 하지 않는 것이 중요하다.


15 2 3 nonlinear support vector machines8

15.2.3 Nonlinear support vector machines

  • Polynomial kernel은,

    (다항계수에 따라) feature conjunction을 모델할 수 있게 해준다.

    Topic 분류와 관련해서,

    개별 단어로서는 정보를 주지 못하지만,

    pair of words로서 고유의 정보를 주는,

    단어 쌍의 출현을 모델링하고자 하는 경우,

    ex> operating AND system , ethnic AND cleansing

    Quadratic Kernel을 사용할 필요가 있다.


15 2 3 nonlinear support vector machines9

15.2.3 Nonlinear support vector machines

  • 만약 세 단어의 쌍이 고유의 정보를 주는 경우,

    cubickernel을 사용할 필요가 있다.

  • radial basis function은 원(hypersphere)을 골라낼 수 있는 feature를 제공한다. 단, decision boundary는 다중의 feature들이 interact하면서 훨씬 복잡해질 수 있다.

  • string kernel은 term의 character subsequence를 feature로 가질 수 있게 해 준다.

    이 모든 것들은,

    다른 많은 영역에서 이미 쓰여왔던, 간단한 개념들이다.


15 2 4 experimental results

15.2.4 Experimental Results

  • 13장에서 살펴본 대로, SVM은 텍스트 분류에 매우 효과적이다.


15 2 4 experimental results1

15.2.4 Experimental Results

  • Joachims, Thorsten, Learning to classify Text Using Support vector machines

  • With increased dimensionality, the likelihood of linear separability increases rapidly.


15 3 issues in the classification of text documents

15.3 Issues in the classification of text documents

  • 상업적인 부분에서 텍스트 분류의 응용이 다수 존재한다.

  • Jackson and Moulinier(2002),

    ‘문서를 content에 따라 자동으로 분류할 수 있는 것이 가지는 상업적 가치는 의심의 여지가 없다. 기업 인트라넷, 정부 부서, 인터넷 출판업자등 무수히 많은 응용 가능성이 있다’

  • 분류에 대한 우리의 논의에서, classification과 관련해 text문서의 특이한 feature를 논의하기보다, 대부분 다양한 machine learning 기법들을 소개하는 데 주안점을 두었다.

  • 이런 편중은 textbook으로서는 적절한 것이지만,

    application개발자에게 있어서는 잘못된 것이다.


15 3 issues in the classification of text documents1

15.3 Issues in the classification of text documents

  • 많은 경우 성능의 개선은,

    서로 다른 machine learning 기법을 하나씩 바꿔가며 적용해 보는 것보다, 도메인 특이적인 텍스트의 특성의 발굴을 통해 얻어진다.

  • Jackson and Moulinier(2002)

    “ 데이터를 이해하는 것은 성공적인 분류의 핵심이지만,

    대부분의 분류 tool vendor들이 매우 취약한 부분이기도 하다

    시장에 존재하는 ‘one size fits all’ 방식의 많은 도구들이,

    여러 종류의 content type에서 테스트되지 않았다 ”

  • 이번 장에서는 텍스트 분류의 응용, 가능한 solution,

    application-specific heuristic에 대해 살펴본다.


15 3 1 choosing what kind of classifier to use

15.3.1 Choosing what kind of classifier to use

  • 텍스트 분류기를 생성하는 데 있어, 첫 번째 질문

    어느 정도 양의 training data가 가용 가능한가?

  • 기계학습 분류기의 실제 응용에서 가장 큰 도전은,

    충분한 양의 training data를 생성 혹은 획득하는 것이다.

  • 많은 문제와 알고리즘에서, 좋은 성능을 위해서는

    각 class별로 수백 수천개의example이 필요하다.

  • 실제 적용에서는 카테고리 수가 많이 있다.

  • 분류기 구현에 많은 시간이 가용 가능하다면,

    그 중 대부분이 데이터 자원을 모으는데 쓰일 것이다.


15 3 1 choosing what kind of classifier to use1

15.3.1 Choosing what kind of classifier to use

  • 만약 label된 training data가 없고, 데이터의 도메인에 해박한 지식을 가진 직원이 있다면, hand-written rule을 사용하는 solution을 잊지 말라.

    - standing query를 작성하는 것

    ex > (wheat OR grain ) AND NOT (whole OR bread) THEN c = grain

  • 실제 적용에서는, 규칙이 훨씬 커지고, boolean표현식보다 훨씬 더 복잡한 쿼리 언어를 사용하며, 숫자점수를 사용하기도 한다.

  • 세심한 솜씨( development data에 적용할 rule을 사람이 tuning )로,

    그러한 rule의 정확도는 매우 높아진다.

  • Jacobs와 Rau (1990)는 takeover(기업 인수)와 관련된 기사를 식별하는데 92%의 precision, 88.5%의 recall을 보여준 바 있다.


15 3 1 choosing what kind of classifier to use2

15.3.1 Choosing what kind of classifier to use

  • Haynes와 Weinstein(1990)은 Reuter newswire 문서의 675개 카테고리를 대상으로, 94% recall 및 84%의 precision을 보여주었다.

  • 그럼에도 불구하고, 그렇게 잘 튜닝된rule을 만드는 데 들어가는 노력은 매우 크다.

  • 대략 class 당 이틀이 들어가며, rule의 유지관리에 추가 시간이 들어간다. class의 문서의 내용이 변할 수도 있다.

  • 만약 매우 적은 데이터만 가지고 supervised classifier를 훈련해야 하는 경우, machine learning 이론에 의하면,high bias를 가지는 분류기를 고집해야 한다. (Section 14.6에서 토의한 내용대로)


15 3 1 choosing what kind of classifier to use3

15.3.1 Choosing what kind of classifier to use

  • 예를 들어, 그러한 경우에 Naïve Bayes가 적합하다는 이론적 및 실험적 결과(Ng and Jordan 2001; Forman and Cohen 2004)가 있다.

  • text데이터를 대상으로 한 regularized model의 실제 적용에서는, 이런 효과가 관찰되지 않기도 했다. (Klein and Manning 2002)

  • 아무튼 nearest neighbor model과 같이, 매우 낮은 bias를 갖는 모델은 금기이다.

  • 어느 쪽이든, 모델의 질은 제한된 training data로 인해 부정적 영향을 받게 된다.


15 3 1 choosing what kind of classifier to use4

15.3.1 Choosing what kind of classifier to use

  • 여기서, 이론적으로 재미있는 답은, semisupervised training method를 적용해보라는 것이다. 이것은 boostrapping이나 expectation-maximization algorithm과 같은 방법을 포함한다.(이것은 16.5장에서 소개)

  • 이러한 방법론들은, 시스템이 일부의 labeled document와,

    학습을 시도하기 위한 더 많은 양의 unlabeled document가 주어진다.

  • Naïve bayes의 큰 장점중 하나는, semisupervised learning algorithm으로 직접적인 확장이 가능하다는 것이다.

  • SVM의 경우는, Transductive SVM이라는 이름 하에,

    별도의 semisupervised learning 연구가 있다.


15 3 1 choosing what kind of classifier to use5

15.3.1 Choosing what kind of classifier to use

  • 많은 경우, 가장 실용적인 대답은, 어떻게 더 많은 labeled data를 최대한 빨리 가져오는가 이다.

  • 최적의 방법은, 누군가가 그들 업무의 과정으로써 data에 label할만한 부분에 집중하는 것이다.

  • 예를 들어, 사람들이 자신의 목적에 따라 email을 sort하거나 route한다.

    -> 이러한 행동들이 클래스에 대한 정보를 준다.

  • 분류기 training에 human labeler를 쓰는 것에 비교해서 단점은,

    labeling이 실질적인 업무 선상에 있지 않으므로,

    organize하기 어렵고, labeling의질이 종종 더 낮다는 것이다.


15 3 1 choosing what kind of classifier to use6

15.3.1 Choosing what kind of classifier to use

  • 사람이 모든 문서혹은 랜덤으로 추출한 문서를 label하는 것 보다,

    어떤 문서를 label할지 시스템이 결정하는 방식인,

    active learning에 대해 많은 연구가 있어왔다.

  • 이것은 대부분 어느 쪽으로 분류해야 할지 불확실한 것들이다.

  • annotation cost를 2배 내지 4배 정도 줄이는 효과가 있다.

  • 문제는, 한 분류기에서train이 필요하다고 생각하는 문서가,

    다른 종류의 분류기에서는 아닐 수 있다는 것이다.


15 3 1 choosing what kind of classifier to use7

15.3.1 Choosing what kind of classifier to use

  • 만약 적당한 양의 labeled data가 있다면, text분류에 대해 우리가 제시한 것들을 이용해 볼 수 있는 완벽한 위치에 있는 것이다.

  • 만약 선형 SVM을 배치하고자 한다면, 아마도 machine learning 분류기 위에 boolean rule-based 분류기를 덮어씌우는 application을 디자인해야 할 것이다.

  • 사용자들은, 맞지 않는 결과들에 대해, 종종 그것을 조정하고 싶어한다. 만약 경영자가 이를 실행에 옮겨, 특정 문서의 분류를 고정하길 원하는 경우, 이것을 전체적인 분류의 정확도에 손상이 없게 하면서 SVM의 weight을 조정하는 것보다,hand-writing rule에 의하는 것이, 훨씬 쉽다.

  • 이것이, 사용자가 해석가능한boolean like model을생성하는 decision tree와 같은 모델이 대중성이 있는 이유이다.


15 3 1 choosing what kind of classifier to use8

15.3.1 Choosing what kind of classifier to use

  • 만약 매우 많은 양의 데이터가 가용 하다면, 결과에 분류기의 선택은 별 영향이 없으며, 무엇이 best choice인지는 불분명하다.

    (cfBanko and Brill 2001)

  • training의 scalability나 runtime efficiency에 기반해 분류기를 선택하는 것이 최상일 수 있다 <- 이 정도 시점에 이르려면, 매우 많은 양의 데이터가 있어야 한다.

  • 경험적으로, training data의 크기가 두 배가 될 때마다, 분류기의 성능은 선형으로 증가한다.

  • 하지만 매우 많은 양의 데이터가 있는 경우, 향상 은 sublinear해진다.


15 3 2 improving classifier performance

15.3.2 Improving classifier performance

  • 특정 응용에 있어, domain 혹은 document collection에 특이적인 feature의 활용을 통해 분류기 성능을 향상시킬 여지가 있다.

  • 최적의 분류 성능을 위해, 특별한 조치를 필요로 하는

    특수한 subvocabulary들이 종종 있다.


15 3 2 improving classifier performance1

15.3.2 Improving classifier performance

Large and difficult category taxonomies

  • 만약텍스트 분류 문제가, 소수의 잘 분류된 카테고리로 구성되어 있다면, 많은 분류 알고리즘이 잘 동작할 것이다.

  • 하지만 현실적인 분류 문제는 종종,

    매우 많은 수의, 유사한 카테고리로 구성되어 있다.

  • 예 : web directories(the Yahoo! Directory or the Open Directory Project), library classification schemes (Dewey Decimal or Library of Congress), classification schemes used in legal or medical applications

  • Yahoo! Directory는 200,000개 이상의 카테고리와 deep hierarchy로 구성되어 있다. 가까이 연관되어있는 매우 큰 카테고리에서, 정확한 분류는 매우 어렵다.


15 3 2 improving classifier performance2

15.3.2 Improving classifier performance

  • 대부분의 큰 카테고리 집합은 hierarchical structure를 가지고 있다.

    hierarchy를 활용한, hierarchical classification은 유망한 접근법이다.

  • 하지만, 각 hierarchy의 말단 노드를 class로 활용하는 것과 비교할 때,

    현재로서는 성능 개선이 미미하다.

  • 하지만 이 방법은, 매우 큰 hierarchy에 대하여, 단순히 분류기 생성의 scalability를 향상시키는 데 유용할 수 있다.

  • 분류기 생성의 scalability를 향상시키는 또 하나의 단순한 방법은 aggressive feature selection에 의한 것이다.

  • References


15 3 2 improving classifier performance3

15.3.2 Improving classifier performance

  • machine learning의 일반적인 결과:

    다중의 분류기를 혼합하는 경우, 각각의 분류기가 생성하는 오류가 독립적이라는 가정하에, 분류기 정확도에 약간의 향상을 보인다.

  • voting, bagging, boosting 기법 들에 대한 많은 연구 논문들이 있다.

    -> reference

  • 최종적으로, hybrid의 automatic / manual solution 이

    충분한 분류 정확도를 달성하는데 필요할 수 있다.


15 3 2 improving classifier performance4

15.3.2 Improving classifier performance

  • 그런 상황에서 일반적인 접근법은, 분류기를 먼저 실행하고,

    high confidence decision을 받아들인 뒤, low confidence decision은 manual review하는 것이다.

  • 이러한 과정은 자동적으로, 나중에 새로운 버전의 machine learning 분류기에서, 새로운 training data의 생성으로 이어지게 된다.

  • 하지만 이것은, 생성된 training data가 document space에서 랜덤하게 샘플된 경우가 아닌 경우에 한해 성립한다.


15 3 2 improving classifier performance5

15.3.2 Improving classifier performance

Features for text

  • ad hoc retrieval과 text classification은 모두 term을 feature로 활용한다.

    하지만 텍스트 분류의 경우, 특정 문제에 맞춤화된 추가적인 feature를 디자인할 수 있다.

  • IR query language의 경우와 달리, 이러한 feature들은 분류기 내부에 있기 때문에, 최종 사용자에게 이러한 feature를 communicating해야 하는 문제가 없다.

  • 이러한 과정을 일반적으로 feature engineering이라 한다.


15 3 2 improving classifier performance6

15.3.2 Improving classifier performance

  • 현재 feature engineering은 machine learning에 의해 되기보다, human craft로 남아있다.

  • 좋은 feature engineering은 텍스트 분류기의 성능을 크게 향상시킨다.

  • 텍스트 분류의 가장 중요한 응용인, spam 혹은 pornography등에서,

    특히 유용하다.


15 3 2 improving classifier performance7

15.3.2 Improving classifier performance

  • 분류 문제는, 텍스트 분류에서 같은 그룹으로 묶일 수 있는 많은 수의 term을 가지고 있다.

    예 > 연도에 대한 언급, 느낌표를 포함한 string, ISBN, 화학식

  • 이것을 분류기에서 직접적으로 활용하는 것은

    vocabulary를 매우 증가시키지만,

    그것이 아는 것 (예: 그것이 화학식이다) 이상으로,

    classificatory power를 제공하지는 않는다.

  • 그러한 경우, 정규표현식과의매칭 및 구분된 다른 token으로의 전환을 통해, feature의 수 및 feature의 sparseness를 줄일 수 있다.

    -> 따라서 분류기의 성능 및 속도가 대개 향상된다.


15 3 2 improving classifier performance8

15.3.2 Improving classifier performance

  • 어떤 경우, 모든 숫자가 한 가지 feature로 전환될 수도 있지만,

    다른 종류의 숫자를 구분함으로써, 그렇지 않을 수도 있다.

    four digit number -> 대개 연도를 말함

    cardinal number

    real number with decimal point

  • 같은 방식으로 dates, ISBN number, 스포츠 게임 점수등에

    응용 가능하다.


15 3 2 improving classifier performance9

15.3.2 Improving classifier performance

다른 방향을 생각해 보자.

  • part of word matching, selectedmultiword pattern matching과 같이

    feature의 수를 증가시키는 것도 유용할 수 있다.

  • part of word matching : k-gram features

    -> 분류를 몰랐던 단어의 경우 특히 유용할 수 있다.

    예 > -rase로 끝나는 단어의 경우, training data에 없던 단어라도,

    enzyme으로 분류될 것이다.

  • selected multiword pattern matching :

    예> ethnic cleansing

    ethnic : food and art cleansing : home ethnic cleansing : word news

  • 몇몇 텍스트 분류기는,

    named entity recognizer에서 생성된 feature를 이용하기도 한다.


15 3 2 improving classifier performance10

15.3.2 Improving classifier performance

stemming 혹은 lowercasing과 같은 기법이 텍스트 분류에 도움을 주는가?

  • 항상 최종적인 테스트는, 적절한 collection에 대한 실험적인 평가지만, 그런 기법은 분류에 유용성이 제한적이다.

  • IR에서는 종종, oxygenate, oxygenation과 같은 단어를 collapse할 필요가 있다. 문서에서 두 단어가 등장한다는 것이, oxygenation에 대한 쿼리가 주어질 때, 문서가 쿼리에 relevant하다는 단서일 수 있다.


15 3 2 improving classifier performance11

15.3.2 Improving classifier performance

  • 방대한 training data가 주어질 때, stemming은 텍스트 분류에 아무 가치를 주지 못한다. 만약 한 stem의 다른형태가 같은 신호를 가지는 것이라면, 모든 parameter들이 같은 weight를 가질 것이다.

  • Stemming과 같은 기법은 data sparseness를 보상하는 경우에서만 유용하다.

  • 하지만 종종, 단어의 형태는 문서 분류에 다른 의미의 단서를 주곤 한다.

  • 지나치게 aggressive한 stemming은 분류 성능을 떨어뜨릴 수 있다.


15 3 2 improving classifier performance12

15.3.2 Improving classifier performance

Document zones in text classification

  • 6.1장에서 논의된 바 대로, 문서는 대개 zone을 가진다.

    예 > mail message header : subject, author

    research article : title, keyword

  • 텍스트 분류기는, training 및 분류 작업에서

    이러한 zone을 활용할 수 있다.


15 3 2 improving classifier performance13

15.3.2 Improving classifier performance

Upweighting document zones :

  • 서로 다른 zone에 대하여 차등적으로 weighting함으로서,

    성능의 향상을 가져올 수 있다.

  • 경험적으로, title word의 weight를 두 배로 하는 것이 효과적이었다.

  • 텍스트의 일부분 중, 명확히 zone이 정의되어 있지 않지만, 문서의 구조 혹은 내용 상 중요하다는 증거가 있는 경우, 그 부분을 upweighting하는 것도 도움이 될 수 있다.

  • Murata et al(200)에 의하면, ad hoc retrieval의 관점에서,

    (newswire) 문서에서 첫 문장을 upweighting하는 것이 도움이 될 수 있다.


15 3 2 improving classifier performance14

15.3.2 Improving classifier performance

Separate feature spaces for document zones:

  • document zone에 대한 두 가지 전략이 있을 수 있다.

  • upweighting words that appear in certain zones

    : 같은 feature를 사용하지만, 특정 zone에서 등장한 term에 좀 더 관심을 기울인다.

  • 서로 다른 zone에서 등장한 단어에 대해,

    완전히 분리된 feature set 및 parameter를 사용

    : 원칙적으로는 더 강력하다.

  • Title에서 추출한 단어는 topic이 Middle East라고 말하고,

    본문에서 추출한 단어는 topic이 Commidity라고 말할 수 있다.


15 3 2 improving classifier performance15

15.3.2 Improving classifier performance

  • 하지만 실제로는, parameter를 연관해 묶는 것이 더 효과적이다.

  • 분리된 feature set을 구성하는 것은 두배 혹은 그 이상의 parameter를 가지는 것인데, 이 경우 training data에서 보다 sparse하게 될 것이다. 이것이 평가에 나쁜 영향을 끼친다.

  • 반면, upweighting방법은 그러한 부작용이 없다.

  • 또한 단어가 다른 존에 쓰인다고 해서 다른 preference를 가지는 경우는 드물다. 단지 strength of vote만 조정하면 된다.

  • 하지만최종적으로 이것은 contingent result이다.

    - training data의 속성이나 양에 의존적인 것이다.


15 3 2 improving classifier performance16

15.3.2 Improving classifier performance

Connections to text summarization

  • 8.7장 에서 text summarization에 대해 언급한 바 있다.

  • 이 분야에서, 대부분의 연구는, 문장의 위치 및 내용과 같은 feature에 기반해서, 원본 텍스트에서 중심에 해당하는 일부분을, 추출 및 조합하는 것에 대해 목표를 두고 있다.

  • 이러한 연구들은, 특정 zone이 각각 텍스트 분류에 유용한지를 판단하는 데 이용될 수 있다.


15 3 2 improving classifier performance17

15.3.2 Improving classifier performance

  • Kolcz et al(2000)는

    특정 zone에서의 단어에만 기초해 문서를 분류하는

    feature selection의 방식을 생각함

    text summarization연구에 기반하여,

  • only the title

  • only the first paragraph

  • only the paragraph with the most tittle words or keywords

  • the first two paragraphs or the first and last paragraph

  • all sentences with a minimum number of title words or keywords

    를 이용


15 3 2 improving classifier performance18

15.3.2 Improving classifier performance

  • 일반적으로, 이러한 positional feature selection 방법은 mutual information방법 만큼의 좋은 결과를 냈다.

  • Ko et al(2000)은 text summarization에서 영감을 얻어,

    title과 문서 내용의 중심에 해당하는 문장을 upweighting하는 방법으로,

    분류기 정확도를 1% 향상시켰다.


15 4 machine learning methods in ad hoc information retrieval

15.4 Machine-learning methods in ad hoc information retrieval

  • cosine 점수, title match 등을 relevance signal을 learning problem의 feature로 생각할 수 있다.

  • 각각의 쿼리 마다 relevant, nonrelevant document들이 주어지면,

    분류기는 각 signal 들의 상대적인 weight를 계산할 수 있다.

  • 쿼리와 relevance judgment가 된 문서가 주어진다면 이것 또한 텍스트 분류 문제로 생각할 수 있다.

  • 이런 분류 기법은 최상의 것은 아니다.

    15.4.2에서 그 대안을 제시하겠다.

  • 일단은 이 작업을 분류 문제로 보고, relevant decision과 관련해서 분류기가 생성한 confidence에 따라 document를 정렬한다.


15 4 1 a simple example of machine learned scoring

15.4.1. A simple example of machine-learned scoring

  • 6.1.2장에서 다루었던 방법론을 , scoring function의 machine learning 기법으로 일반화해 본다.

  • 기본 세팅: scoring function은 두 가지 factor의 선형 결합이다.

    i. query 와 document간의 vector space cosine similarity

    ii. query term이 있는 minimum window width

  • 7.2.2에서 언급했듯, 특히 웹에서와 같이 긴 문서의 경우, query termproximity는 문서가 topic에 대한 것인지를 말해주곤 한다.

  • 한 가지 factor는, bag of word 로서의,

    문서 내 쿼리 단어의 통계량에 관련이 있고,

  • 다른 factor는 proximity weighting에 관련있다.

  • 이 두 feature만 이용하는 것은 보여주기 간편하기 때문이다.

    다른 feature들에게도 이 방식을 적용할 수 있다.


15 4 1 a simple example of machine learned scoring1

15.4.1. A simple example of machine-learned scoring

  • Error minimization 방식으로 구할 수도 있지만,

  • 이것을 geometric하게 풀어본다.


15 4 1 a simple example of machine learned scoring2

15.4.1. A simple example of machine-learned scoring

  • Thresholding기법을 적용, θ값 이상이면 relevant,

    그렇지 않으면 nonrelevant로 정의한다.


15 4 2 result ranking by machine learning

15.4.2. Result ranking by machine learning

  • 이러한 방법론은 두 가지 이상의 변수를 가지는 함수로 일반화 될 수 있다. 문서의 길이, 나이, zone contribution 등을 활용할 수 있다.

  • decision boundary로부터의 거리에 의해 probability of relevance를 계산할 수 있다.


15 4 2 result ranking by machine learning1

15.4.2. Result ranking by machine learning

  • 하지만 IR 결과 랭킹을 이런 식으로 접근하는 것은,

    문제를 바르게 생각 하는 것이 아니다.

  • 통계학자들은 보통 문제를 분류 문제혹은 회귀 문제로 나눈다.

    분류 문제 ( categorical variable is predicted )

    회귀 문제 ( real number is predicted )

  • 그 사이에 위치한 분야가 ordinal regression이다.

    : ranking is predicted

  • ad hoc retrieval에 대한 machine learning은 ordinal regression problem으로 생각할 수 있다.


15 4 2 result ranking by machine learning2

15.4.2. Result ranking by machine learning

  • 목적은, training data가 주어져 있을 때, query에 대해 문서의 집합을 랭크하는 것이다.

  • 이것은 추가적인 강점을 제공하는데,

    문서를 global scale of goodness로 mapping할 필요 없이,

    다른후보 문서들 과의 상대적인 평가만 수행하면 된다.

    : relevance에 대한 절대값을 구할 필요없이 ranking만이 요구된다.

  • ranking에 대한 이슈는 웹 검색과 밀접한 관련이 있다.

    상위 검색 리스트를 rank하는 것은 매우 중요한 일이지만,

    query에 대한 relevance를 구하는 것은 훨씬 덜 중요한 일이다.

  • 이런 작업은 structural SVM framework를 이용해 할 수 있다.

    쿼리에 대한 결과를 rank하는 작업은, 클래스를 예측하는 것에 대응함


15 4 2 result ranking by machine learning3

15.4.2. Result ranking by machine learning

  • 여기서는 보다 쉬운 ranking SVM방식에 대해 제시하고자 한다.

  • ranking SVM의 생성은 다음과 같다.

  • 판단이 되어 있는 쿼리의 집합을 가지고 시작한다.

    각 training query q마다, 쿼리에 대해 리턴된 문서의 집합을 가지고,

    이것은 사람에 의해 정렬되어 있다.

  • 모든 문서-쿼리 쌍마다, vector of feature를 생성

  • 15.4.1장에서처럼, 이때 feature는 더 많은 것을 쓸 수 있다.


15 4 2 result ranking by machine learning4

15.4.2. Result ranking by machine learning

  • 두 문서 di, dj가 주어질 때, vector of feature difference를 생성할 수 있다.

  • di가 dj보다 더 relevant 하다고가정하면 로 표시할 수 있고,

    class yijq = +1 ; otherwise -1

  • 분류기는


15 4 2 result ranking by machine learning5

15.4.2. Result ranking by machine learning

  • 한 방향으로의 정렬만 생각하므로,

    제약조건에서 yijq는 생략할 수 있다.

  • 위 수식에서 선형 분류기를 생성할 수 있다.

  • 이러한 방법론은 정규data set에서의 IR evaluation에서 standard hand-built ranking function보다 성능이 우월한 ranking function을 생성해 냈다.


15 4 2 result ranking by machine learning6

15.4.2. Result ranking by machine learning

  • 우리가 살펴본 방법론 둘은, 이 영역에서 다른 연구들과 마찬가지로, 모두 document feature의 선형 weighting방식을 사용하였다.

  • 대부분의 IR weighting 방식은 basic measurement에 대하여 nonlinear scaling을 사용하였다는 점이 흥미롭다. ( 예> logweighting of tf, idf )

  • 지금 현재, machine learning 기법은 feature의선형 결합에 있어 최적의 weight를 생성하고 있다. 하지만 basic measurement의 좋은 nonlinear scaling생성에는 그렇지 못하다. 이 부분은 human feature engineering의 영역으로 남아있다.

  • ranking function을 학습하는 일은 최근 수년간 등장한 개념이다.

    : 최근 들어서야 충분한 machine learning 지식, training document collection, computationalpower이 같이 모아져 이 방법이 실용적이 되었다.


15 4 2 result ranking by machine learning7

15.4.2. Result ranking by machine learning

  • ranking function을 학습하는 일은 최근 수년간 등장한 개념이다.

    : 최근 들어서야 충분한 machine learning 지식, training document collection, computationalpower이 같이 모아져 이 방법이 실용적이 되었다.

  • 따라서 IR의 ranking에 관한 machine learning 접근법에 대해 확정적인 내용을 전달하기는 어렵다.

  • 하지만 machine learned ranking approach가 시간에 따라 증가할 것이라는 것은 충분히 기대할 수 있다.

    : 숙련된 개인이 매우 좋은 ranking function을 수동으로 만들 수 있지만, handtuning이 어려운 일이고, 새로운 document collection이 생길 때마다 작업을 반복해야 한다.


  • Login