본문 바로가기
머신러닝

[분석 방법론] Semi supervised Learning(2) - Self-Training & Co-Training

by 하응 2023. 1. 12.

본 포스팅은 고려대학교 산업경영공학부 강필성 교수님의 [Korea University] Business Analytics (Graduate, IME654) 강의   05-2: Semi supervised Learning - Self-Training & Co-Training 영상을 보고 정리한 내용입니다.


1. Basic Self-Training 알고리즘 

- 가정 : high-confidence predictions는 정답으로 볼 수 있음

- label된 \(X_l, y_l\)을 이용하여 \(y_l =f(x_l)\) 모형 생성하고, 생성한 모형을 이용하여 unlabel된 \(x_u\)에 대한 \(\hat{y_u}\)값을 도출

- 도출한  \(x_u, \hat{y_u}\)를 labeled data에 추가하고, 다시  \(y_l =f(x_l)\) 모형 생성 (반복) 

2. Variations in Self-Training 알고리즘

- 변형 1) confidence가 높은 \(x_u, \hat{y_u}\) 만 labeled data에 추가 

- 변형 2) confidence에 따라 \(x_u, \hat{y_u}\)에 weight를 부여하여 labeled data에 추가하고, weight 값을 통해, 해당 객체가 모델 학습에 반영되는 정도를 조절

- pseudo-labeled data를 어떻게 정의할 것인지가 관건!

 

Self-Training 수행 흐름

 

3. Self-Training 장단점 

- 장점 : 

   + 가장 단순한 semi-supervised learning 방법론

   + wrapper method로써, 기존에 존재하는 classifier에 적용 가능

   + natural language processing 등 현실 세계에서 자주 사용됨 

- 단점 : 

   + 초반 실수가 계속해서 모델 학습에 안좋은 영향을 줌 (outlier와 noise에 취약함) 

   + 알고리즘이 항상 수렴한다는 보장이 없음 

 

초록색-unlabeled 객체, iteration이 반복될수록 2개의 그룹으로 잘 구분되는 것을 볼 수 있음

 

초록색-unlabeled 객체, 1개의 outlier가 학습에 큰 영향을 주고 있음

 

4. Co-Training 알고리즘 (Multi-view 알고리즘) 

- 가정 : 어떤 특정한 객체를 설명하는 것에 있어서 상호 배반적인 (mutually exclusive) feature set이 존재함 

- 예를 들어, '천문학에서의 eclips'와 '자동차 모델 eclips'는 이미지로도 설명할 수 있지만, 텍스트로도 설명할 수 있으며, 이 둘의 데이터 특성(feature)는 매우 다를 것이라고 본다.

- 2개 set 각각의 모델을 생성한 후, 만든 new labeled data를 서로에게 넘겨주어, 기존의 labeled data에 추가하여 재학습함
(Self-Training은 자기가 예측한 값이 정확하다고 생각하고 labeled data를 추가해서 재학습 한다면, Co-Training은 상대방이 학습하여 생성한 labeled data가 정확하다고 생각하고 모델을 학습함) 

- unlabeled x의예측 값 y에 대하여 confidence를 고려하여 기존 labeled data에 추가할 수도 있음  

 

Co-Training 수행 흐름

 

 


 

 

참고 자료 

- 고려대학교 산업경영공학부 강필성 교수님 강의 

- Zhu, X. (2009). Tutorial on Semi-Supervised Learning: Theory and Practice of Computational Learning

반응형

댓글