Semi-Supervised Learning (SSL)을 도입하여 reliable한 artificial false data sets 구축하기

DanA·2022년 8월 24일
0
post-thumbnail

목적

True 데이터는 충분히 갖고 있지만 False 데이터는 충분하지 않음. 이처럼 labeling data가 부족한 현상은 실무에서 빈번히 발생하는 일인데, 이를 해결하기 위해 SSL이 도입된 것으로 알고 있고 우리의 경우에도 False set이 부족하기 때문에 이를 해결하기 위해 적용해보고자 함

용어 정리

- Experimental True(ET) : IEDB에 있는 실제 실험 True 데이터
- Experimental False(EF) : IEDB에 있는 실제 실험 False 데이터
- Artificial False(AF) : Domain knowledge 기반으로 인위적으로 만들어준 False 데이터 

방법

  1. [ET + EF]을 Total training data sets로 학습 진행하여 예측 모델 구축
  2. 1번 모델로 전체 AF에 대해서 예측 진행
  3. 높은 confidence를 갖는 소수의 AF 샘플 선별
    • 높은 confidence : 높은 probability 값으로 선정
  4. [ET + EF + 3번에서 선별한 소수의 AF 샘플] 을 Total training data sets으로 해서 재 학습 진행
  5. 4번으로 나머지 AF에 대해서 예측 진행
  6. 높은 confidence를 갖는 소수의 AF 샘플 선별
  7. 이와 같이 ET : EF+AF 가 1:1의 비율이 될 때 까지 계속 반복...
  8. 최종적으로 선별된 ET + (EF + AF) 를 이용해서 모델 구축

우려되는 점 :

ET와 EF가 비율이 너무 안맞으니까 1번 진행 시에 결과가 너무 편향되진 않을까 우려됨. 우선은 돌려보고 결과가 너무 편향된 것 같으면 그떄 가서 다시 해결해보면 어떨까 싶음.

8월 24일 수요일 진행 상황 및 결과

  1. 위의 방법에서 1번과정에 해당하는 예측 모델을 학습 완료하였음
  2. 첨부한 사진과 같이 HLA-A-10을 제외하곤, 전체적으로 auc가 크게 떨어지진 않음.
  • 또한 실제로 예측한 결과를 살펴보았는데, 우려했던 대로 데이터 불균형으로 인해 EF에 대해선 예측을 잘 못하고 있는 것으로 보임.
  • Test datasets(Experimental data로만 구성되어 있음) : 47,841개
    		- Experimental True(ET) : 47,205개
      	- True로 올바르게 예측됨 : 46,619개
      	- False로 잘못 예측됨 : 586개
    		- Experimental False(EF) : 636개
    			- True로 잘못 예측됨 : 516개
    			- False로 올바르게 예측됨 : 120개

이어서 진행해 볼 예정인 것 :

  1. 가능한 모든 Non-binding [allele + peptide seq] 조합 생성 (=Artificial False)
    • domain knowledge를 기반으로 인위적으로 뽑아놓은 artificial peptide sequence의 개수:
      - 9mer : 11,161,231개
      - 10mer : 11,351,930개
    • 모든 allele쌍의 개수 :
      - HLA-A : 64개
      - HLA-B : 102개
      - HLA-C : 32개
    • 모든 artificial peptide sequence와 allele의 쌍을 만들 예정.
      - HLA-A + 9mer = (11,161,231 x 64)개의 경우의 수
      - HLA-B + 9mer = (11,161,231 x 102)개의 경우의 수
      - HLA-C + 9mer = (11,161,231 x 32)개의 경우의 수
      - HLA-A + 10mer = (11,351,930 x 64)개의 경우의 수
      - HLA-B + 10mer = (11,351,930 x 102)개의 경우의 수
      - HLA-C + 10mer = (11,351,930 x 32)개의 경우의 수
  2. 위에서 만들어준 모든 쌍에 대해 현재 만들어놓은 모델로 예측을 하여, probability값이 굉장히 낮게 예측되는 극소수의 AF샘플만 False data로 선별할 예정.
이 극소수의 AF샘플을 포함하여 다시 재학습 진행. (아래와 같은 방법 반복)
    • 우려되는 점 : 위의 쌍 경우의 수를 만들어주고 예측하는 과정이 시간이 많이 소요될 듯 합니다.
      - 예상 소요 시간 : 이번주 => 예상 시간 변동되면 다시 알람드리겠습니다.
      - 오늘 결과 나온다 했다가 바뀐 이유 : 원래는 가능한 경우의 수를 모든 경우의 수로 하지 않고 True data와 개수를 맞춰주는 개수로만 random하게 추출하는 방식으로 하려 했는데, 모든 경우의 수에 대해 진행을 하는 것이 더 좋을 거 같다고 판단이 되었습니다.
  3. [ET + EF + 3번에서 선별한 소수의 AF 샘플] 을 Total training data sets으로 해서 재 학습 진행
  4. 3번에서 재학습한 모델로 2번의 과정을 반복
  5. 이와 같이 ET : EF+AF 가 1:1의 비율이 될 때 까지 계속 반복...
  6. 최종적으로 선별된 ET + (EF + AF) 를 이용해서 모델 구축
profile
단아와라라

0개의 댓글