본 포스팅은 고려대학교 산업경영공학부 강필성 교수님의 [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를 어떻게 정의할 것인지가 관건!
3. Self-Training 장단점
- 장점 :
+ 가장 단순한 semi-supervised learning 방법론
+ wrapper method로써, 기존에 존재하는 classifier에 적용 가능
+ natural language processing 등 현실 세계에서 자주 사용됨
- 단점 :
+ 초반 실수가 계속해서 모델 학습에 안좋은 영향을 줌 (outlier와 noise에 취약함)
+ 알고리즘이 항상 수렴한다는 보장이 없음
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에 추가할 수도 있음
참고 자료
- Zhu, X. (2009). Tutorial on Semi-Supervised Learning: Theory and Practice of Computational Learning
'머신러닝' 카테고리의 다른 글
[분석 방법론] Semi supervised Learning(1) - Overview (0) | 2023.01.06 |
---|---|
[분석 방법론] Ensemble Learning(9) - CatBoost (0) | 2023.01.01 |
[분석 방법론] Ensemble Learning(8) - LightGBM (0) | 2023.01.01 |
[분석 방법론] Ensemble Learning(6) - Gradient Boosting Machine(GBM) (0) | 2022.12.28 |
[분석 방법론] Ensemble Learning(7) - XGBoost (0) | 2022.12.28 |
댓글