bioinfo

Data augmentation in microbiome data (데이터 불균형)

" " 2023. 9. 6. 19:08

마이크로바이옴 데이터에 머신러닝 기법을 적용해보려 할 때 가장 먼저 생각나는 것은 Bacteroides, Prevotella, Ruminococcaceae 분류이다. (이하 B, P, R) 
 
위의 3개의 gut microbiota phenotype 중에서 탄수화물 위주의 섭취 시 나타나는 P type 은 단백질을 많이 섭취하는 현대식단에서 찾아보기 어려운 유형이다. 실제 연구들에서도 단백질 및 동물성 지방 섭취와 관련된 B type의 수는 많지만, P type의 유형은 상대적으로 적은 경우가 적지 않게 보인다.
 
그런 데이터의 불균형 자체로 어떤 문제가 있는 것은 아니지만, 마이크로바이옴 데이터를 가지고 B, P, R 타입에 대해 분류를 수행할 수 있는 예측모델을 만든다고 했을때는 문제가 생길 수 있다. 데이터 불균형은 머신러닝 모델의 성능을 저하시킬 수 있는 요인 중에 하나이며 이는 마이크로바이옴 데이터뿐만 아니라 다양한 데이터에서도 나타나는 문제이기에 이를 해결하기 위한 연구들이 오래전부터 지속되어 왔다.
 
* 불균형 데이터를 머신러닝 모델에 학습시키게 되면 가장 먼저 과적합 문제가 있을 수 있고, accuracy 를 확인했을 때는 문제가 없는 것처럼 보이나 샘플 수가 적은 (여기서 Prevotella) 클래스에 대한 recall 이 저하되는 것을 볼 수 있다.
 
 
데이터 불균형을 해결하기 위해서는 크게 두 가지 방법을 생각해볼 수 있는데, 그 목표가 그룹 간의 샘플수를 비슷하게 맞추고자 하는 것이므로, 샘플이 많은 그룹의 샘플을 줄이거나, 샘플이 적은 그룹의 샘플을 늘리는게 그것이다.
 

각각을 Oversampling, Undersampling 이라고 한다.

그런데, 둘 중 한 가지의 방법을 고르라고 했을 때 Undersampling을 고르는 사람은 그리 많지 않을 것이다. 작은 그룹의 샘플 수가 어느 정도가 되는지에 따라 다르겠지만, 이미 가지고 있는 데이터를 버리고 모델을 만드는 것은 별로 기분 좋은 일은 아닐 것이기에 대부분이 Oversampling을 선택할 것이라고 생각한다.
 

Data augmentation (Oversampling methods)

 
1. Synthetiic minority oversampling technique (SMOTE)
 
가장 흔하게 사용되는 oversampling method로 소수 클래스의 데이터를 사용해서 가상을 데이터를 생성, 샘플 수를 증가시키는 방법이다.
 

# https://www.youtube.com/watch?v=Vhwz228VrIk
해당 유튜브를 보고 공부했는데 생각보다 어렵지 않아 쉽게 어떤 방식으로 작동하는지 이해할 수 있습니다.

 
 
2. Adaptive Synthetic Sampling (ADSYN)
 
이름은 많이 다르지만, 기본적인 원리는 동일하고 가중치로 소수 클래스의 데이터 주변에 얼마나 많은 다수 클래스 데이터가 있는지를 사용합니다. 두 그룹의 데이터를 나누는 경계선 근처에 많은 데이터를 생성하여 모델의 분류 성능을 증가시키는 모델로 조금 더 효율적인 것처럼 보입니다.
 
 
 
3. Tree-based Associative Data Augmentation (TADA)
 

TADA: phylogenetic augmentation of microbiome samples enhances phenotype classification

AbstractMotivation. Learning associations of traits with the microbial composition of a set of samples is a fundamental goal in microbiome studies. Recently, ma

academic.oup.com

 
해당 논문은 data augmentation 기법을 microbiome data의 특성에 맞추어 TADA라는 새로운 메서드를 사용하였습니다. 해당 기법을 자세하게 알아보겠습니다. 계통발생학적 관계를 고려하여 데이터를 생성하도록 하였고 이름에서 알 수 있다시피, 트리 기반 모델을 사용하였습니다.
 
기본 아이디어는 다음과 같습니다.
1) 각각의 관찰된 샘플들은 전체적인 마이크로바이옴의 특성을 불완전하게 반영하기 때문에, 새로운 데이터를 기존 데이터를 바탕으로 생성했을 때 변형된 데이터가 생성될 수 있다.
2) 그런 변형을 억제하기 위해서, species 사이의 계통발생학적 관계를 사용하였고 그 계통발생학적 관계는 sequence similarity, microbial diversity를 바탕으로 생성되었다.
 
TADA는 OTU 기반으로 기존의 생성 모델에 두 가지 변동을 추가하여 모델링하였다.
1. True variation (TV) : 개인 간의, 심지어 같은 표현형을 같더라도 마이크로바이옴을 구성하는 OTU의 비율에는 차이가 있다. 이것은 자연스러운 생물학적인 변동이다.
2. Sampling variation (SV) : 시퀀싱 과정에서 생성되는 오류 등을 통해 증가하는 변동이다. 인공적인 변동이라 할 수 있음.
 
위의 변동을 반영하여 데이터를 생성, 위의 SMOTE 예시에서처럼 2차원 평면상의 유클리디안 거리를 기반으로 하는 것이 아닌  각 OTU를 phylogenetic tree의 노드에 할당하여 거리를 계산한다. 
 

phylogenetic tree 에서 노드의 거리를 기반으로 데이터를 생성한다.

 
역시 알고리즘을 처음부터 끝까지 자세하게 이해하기 위해서는 더 많은 시간이 걸릴 것 같습니다. 다만 어느 정도의 기본 아이디어는 생각보다 어렵지 않았고 위 논문의 결과 데이터는 보여드리지 않았지만 TADA 알고리즘을 사용했을 때 AUC 가 가장 높이 증가하였다는 결론이 있었고 마이크로바이옴 데이터의 특성을 반영하여 알고리즘을 재 디자인 하는 것이 효과가 있었던 것 같습니다.
 
나중에 시간이 나면 연구실 데이터로 수행해 볼 예정입니다!
 
# reference
1) Sayyari, Erfan, Ban Kawas, and Siavash Mirarab. "TADA: phylogenetic augmentation of microbiome samples enhances phenotype classification." Bioinformatics 35.14 (2019): i31-i40.
2) https://www.youtube.com/watch?v=Vhwz228VrIk