working_helen

[ Week 11-2 ] with Insufficient Data / Semi-supervised learning, Active learning 본문

교내 수업/Machine Learning

[ Week 11-2 ] with Insufficient Data / Semi-supervised learning, Active learning

HaeWon_Seo 2024. 5. 17. 19:35

Lecture : Machine Learning

Date : week 11, 2024/05/16

Topic : With Insufficient Data 

 

 

1. data augmentation

2. Self training

3. Active learning

 


1. data augmentation (데이터 증강)

- expand labeled train data

- 기존 데이터셋을 활용해 추가 합성 데이터를 인위로 생성하는 기법 

- 데이터 셋의 규모를 키워 모델을 훈련에 필요한 충분한 수의 데이터를 확보하기 위해 사용 
- 데이터 증강은 사용하는 데이터의 종류에 따라 특성이 달라지며, 다양한 기법이 존재한다. 

2024.01.06 - [deep daiv./추천시스템 프로젝트] - [text 감정 추출 모델] Data Augmentation 데이터 증강

 

[text 감정 추출 모델] Data Augmentation 데이터 증강

text 감정 추출 모델 구현 과정에서 학습한 Data Augmentation에 대해 공부해본다. 1. Data Augmentation 데이터 증강2. 학습 데이터 부족 문제 3. 학습 데이터 불균형 문제4. Back translation5. EDA (Easy Data Augmentati

working-helen.tistory.com

 

 

1) Bootstrap sampling

출처 : https://blog.naver.com/gksshdk8003/220862646751

 

- 기존 학습 데이터셋을 모집단으로 일부 데이터만을 복원 추출하여 새로운 학습 데이터셋을 생성하는 것
- 크기가 N인 기존 학습 데이터셋에서 복원 추출로 N개를 뽑는 과정을 r번 반복하면, 크기가 N인 학습 데이터셋 r개를 얻는 효과를 얻음 
- N이 충분히 큰 경우 각 sampling 과정에서 각 instance가 추출될 확률은 약 2/3이 되어 결과적으로 전체의 1/3 정도의 instance는 새로운 학습 데이터에 포함되지 않음 (Out-Of-Bag sample, OOB sample)

- 새로운 학습 데이터셋은 기존 데이터셋과 유사하면서도 약간 변형된 확률분포를 가지게 되어 모델의 학습 데이터에 다양성을 부여 

 

 

2) data manipulation

- create new data by adding small noise to current data

- 기존 데이터의 class를 변화시키지 않으면서 real world data와 유사한 형태의 새로운 variation을 생성 

- 예) 이미지 데이터의 경우 밝기 변경, 좌우반전, 회전 등의 변형을 통해 noise가 추가된 새로운 이미지를 생성 

 

 

3) data synthesis

- create new data by making artificial data using ML algorithms
- labelled data를 활용해 확률 분포를 학습하고, 해당 확률분포로부터 새로운 instance를 sampling 하는 방식 
- 생성된 합성 데이터는 실제 데이터와 동일한 수치적 속성을 갖지만 다른 정보를 포함 

 

 

 

 

 

2. Self training

- semi-supervised learning, bootstrapping 

- model assumption : similar instances are likely to have the same label

 

- labeled data L을 이용해 모델을 학습한 후,

  unlabeled data U에 대하여 모델의 예측 결과가 high-confidence한 instance를 L로 포함시키는 과정

  반복적으로 수행함으로써 모델을 학습시키는 방식

 

- train model f using supervised learning with L

  → apply f to predict labels of U

  →  choose subset U' of U which have high-confidence labels

  →  move U' form U to L

  →  repeat until L does not change

출처 : https://towardsdatascience.com/a-gentle-introduction-to-self-training-and-semi-supervised-learning-ceee73178b38

 

 

 

 

 

3. Active learning

- semi-supervised learning

- model assumption 

  •  model can be more accurate with fewer training instances if it can pose queries about choosing training instances
  • instances near class boundaries are the most informative for learning

 

- labeled data L을 이용해 모델을 학습한 후,

  모델이 사람에게 uncertain labeled data에 대한 query를 제시하여 새로운 labeled data에 대한

  추가 정보를 얻음으로써 모델 성능을 개선해나가는 방식 

 

- learn the initial model using L

  → Model poses queries for uncertain labeled data to oracle(human)

  → Obtain additional information by requesting labeling for uncertain data

  → relearn the model with new labeled data

  → repeat to improve model performance

출처 : https://sonstory.tistory.com/38

 

 

※ QBC (query by committee)

- 다수의 model을 학습한 후, 모델 간의 예측 결과가 가장 불일치하는 instance를 query 대상으로 정하는 방식 

- 모델들이 예측하기 힘들수록 = 모델들 간 예측 결과가 다를수록 = low confident 일수록

  정보를 많이 얻을 수 있는 instance라는 가정 

- train multiple classifiers based on L and make predictions on U

  → select instances with the highest disagreement between classifiers

       (disagreement는 entropy를 이용해 측정)