일/Data Mining

Co-Training : Semi-Supervised Learning

LEEHK 2007. 5. 5. 22:28

 석사 때 공부하며 정리했던 부분, Labeled Data를 얻기 힘든 현실에서 어떻게든 응용할 수 있는 방법이겠거니 생각할 수도 있지만, 일단 독립적인 두 개의 feature Set을 만들기도 어렵거니와, 그 두 개의 Classifier가 각각 제 몫을 해준다는 보장을 얻기도 힘들다.

 하지만 어떻게든 웹 데이터 쪽에 응용해볼 수 있지 않을까? 사이트 개편 플젝 끝나면 필터링 쪽에 붙어서 실험하고 응용해보고 싶다.

 

--------------------------------------------------------------------

 

0) What is the Semi-Supervised Learning?  
  
  - Supervised Learning : Labeled Data를 이용해서 학습. 
  - Unsupervised Learning : Unlabeled Data를 이용해서 학습. 
  
  - Semi-Supervised Learning : Labeled Data와 Unlabeled Data를 이용해서 학습 
     
   : Labeled Data를 얻기 위한 비용이 높고, 어려운 경우가 많음.
   : 적은 양의 labeled Data와, 많은 양의 Unlabeled Data를 이용하여 학습.
   : 방안 - S3VM, Co-Training 등
  
1) Co-training Method  
  - "Combining Labeled and Unlabeled Data with Co-Training" , 
      A. Blum and T. Mitchell, Carnegie Mellon University(1998)   
 
    
  - 2개의 독립적인 속성 그룹(Two distinct views)으로 각각 Classifier를 학습하고   
    비용이 저렴한 Unlabeled Data를 이용하여 적은 양의 Labeled Data를   
    늘려 더 많은 Training Set을 확보하는 방법. 

 

  - Web Page 분류 문제에 적용 실험.  
   : 대상 데이터  
    - 1051 web pages collected from Computer Science Department weg sites
       at 4 Universitieds : Cornell, UniV. of Washington, UniV. of Wisconsin, UniV. of Texas.
       (
http://www.cs.cmu.edu/afs/cs/project/theo-11/www/wwkb/)

    - "course home page" 이면 positive(22%), 아니면 negative(78%).

    - X1 : Web page contents.
    - X2 : 다른 web page에서 대상 page를 가리키는 hyperlink.

    - L : labeled examples 로 구성된 Set.
    - U : unlabeled examples 로 구성된 Set.
   
    (1) Naïve Bayes algorithm(text-catagorization 작업에 유용)
         L 의 X1 을 이용하여 Classifer h1 학습.
         L 의 X2 을 이용하여 Classifer h2 학습.
   
    (2) U 에서 u개의 unlabeled examples 을 랜덤 추출하여 샘플 U' 생성. ( u=75)
         U' 에 Classifer h1 , h1 를 적용하여 Label값 추정.
   
    (3) 추정한 U' 에서 가장 신뢰성 높은  p개의 positive examples 과
          n개의 negative examples 를 선택해 L 로 포함.
         (p=1 , n=3 , 원본 데이터의 분포 고려;Data Distribution)
   
    (4) p+n개의 데이터를 L 로 옮기고 난 뒤, U' 에 2p+2n 개의 데이터를 U 에서 랜덤 추가.

    (5)  (1)~(4) 까지의 과정을 k번 만큼 반복 (k=30)

 

 

  - Test Set error는 초기 데이터 셋 분할을 랜덤하게 5회 실시하여 실험한 것의 평균치.
     Random 예측시의 Error Rate 는 22%

  - Co-Training이 Supervised Learning 보다 약 2배 정도 성능이 우수함.
    Hyperlink-based Classifier에서 성능이 비슷한 이유는, Hyperlink 특성상, 포함된 문장이
    짧고, 사용되는 문법도 단순하기 때문에 분류 문제에 크게 효과를 발휘하지 못한
    것으로 추측.

 

 : 결론 및 요약. 

  - 서로 상관관계가 전혀 없는(Completely independent) 두 속성 집합(two views)을
     이용하여 Unlabled Data를 Labeled Data 로 포함시켜, 구하는 데 비용이 드는
     Labled Data를 늘림으로써, 모델의 효용성을 제고하는 방법론.

  - 단 이 방법은 현실문제를 지나치게 단순화 시킨 면이 있으며, 상관관계가 전혀 없는
     두 속성 집합이 구성 가능한 문제가 많지 않다는 단점이 있음.

  - 그 외 적용가능한 분야로는 television broadcasts 에서, X1 은 possible video images 로,
     X2 는 possible audio signals로 하는 티비 방송 분류 문제 등이 있겠다.

 

 

  < 적용 시 중요한 점 >
 
    (1) X 는 X1 , X2 로 나누어질 수 있어야 한다.
    (2) X1 과 X2 는 서로에게 완전히 독립이어야 한다.
    (3) X1 과 X2 는 각자 스스로 classifier의 생성이 가능해야 한다.