[5-1] Semi-supervised Learning

이번장에서는 Semi supervised Learning 의 Self training 과 Co training 에 대해서 보도록 하였습니다.

먼저, 준지도 학습 기법과 Transduction Learning 의 차이점을 보도록 하겠습니다.

Transductive Learning vs Semi-Supervised Learning

Labeld Data 와 Unlabed Data#1 를 둘다 활용해서 새로운 Test Data(Unlabeled Data #2) 를 예측하는 것을 Semi-Supervised Learning 이라고 하며, Unlabeled Data #1 에 Label 을 다는 것을 Transductive Learning 이라고 한다.

Self-training

Self training 은 먼저 Labeled Data 를 가지고, 학습 모델을 만들고, Unlabeled Data 를 위에서 만든 모형에 넣어 예측치를 확보한다. 그렇게 예측된 값을 레이블된 데이터를 다시 학습시키는 것입니다. 하지만 variation 이 있으므로 다양한 pseudo labeled 전략들이 존재합니다.

  • Labeled Data 를 가지고, 학습 모델을 만든다.

  • Unlabeled Data 를 위에서 만든 모형에 넣어 예측치를 확보한다.

  • Pseudo Labeld 전략들

    • 쉽게 설명하기 위해서, 위에서 얻은 전체 데이터쌍를 가지고 테스트시 사용할 새로운 모형을 만든다.

    • 2번째에서 얻은 예측치중에 Confidence 가 높은 데이터만을 가지고, fianl 모형을 만들고 이를 반복한다.

    • Unlabeled Data 학습시 Confidence 가 높은 데이터가 틀리면 Loss를 높게 증가하고, Confidence 가 낮은 데이터가 틀리면, Loss를 적게 증가시킨다.

Co-training

Item 을 표현하는데 여러 feature 가 있을 수 있다. 예를 들면, text, image. 이러한 image 분류기 따로 text 분류기 따로 만들어서 두 개 중 강하게 확신한 label 을 unlabeled data 예측치로 사용한다. 이를 다양한 관점에서 바라본다라는 의미에서 Multi view 알고리즘이라고도 합니다. 한쪽에서 자신있게 하는 분류기를 다른 한쪽의 정답으로 사용합니다. 반대로 다른 분류기가 확실하게 정답이라고 추정하는 것을 상대방에게 넘겨줍니다.

하지만 협동학습의 가정은 굉장히 엄격한데 두가지의 표현이 서로 상관성이 없어야 한다는 것입니다. 하지만 이것이 위배가 되더라도 성능이 향상되기 때문에 사용됩니다.

이를 활용하는 사례로 살펴보면 문서의 표현법(TF-IDF, LDA, DOC2VEC)을 다양화 시킬 수 있습니다.

Confidence 를 구할 떄, 모델이 정확하고 범주 값에 대한 차이를 나타낼 수록 정답셋으로 인정을 해주자고 정하였습니다.

이상으로, Self training 과 Co trainig 설명을 마치도록 하겠습니다.

Last updated