기계 학습(Machine learning) Start.

BioinformaticsAndMe






1. 머신러닝 (Machine learning)

-알고리즘을 이용해 대량의 데이터를 분석, 분석을 이용해 학습을 하고 학습으로 얻어진 정보를 기반으로 판단이나 예측을 하는 것
-머신러닝에 필요한 개념
풀고자 하는 문제의 특성을 이해
풀고자 하는 문제에 입력이 되는 데이터에는 무엇이 있는지 파악
데이터의 특성과 양을 파악
여기에 적합한 기법을 사용




2. 머신러닝 방법론

ㄱ. Regression (회귀): 학습 데이터 (x, y) 를 기반으로, 새로운 x’ 이 주어졌을 때 y’ 예측
→예) 주가 예측, 경제 성장률 예측, 영화 관람객 수 예측 등

ㄴ. Classification (분류): 학습 데이터 (x, y, class)를 기반으로, 새로운 (x’, y’) 이 주어졌을 때 class’ 예측
→예) 스팸메일 여부, 사용자의 게임 핵 이용 여부, 신문기사 분류 등

ㄷ. Clustering (군집): N개의 데이터 (x, y) 를, m 개의 그룹으로 나누기
→예) 이미지 영역 식별, 고객 집단 나누기 등







#Reference

1) https://www.valuecoders.com/blog/technology-and-apps/top-machine-learning-frameworks-for-web-development/

2) https://towardsdatascience.com/machine-learning-what-it-is-and-why-it-should-interest-you-97fcf3f68d04

3) https://bioinformaticsandme.tistory.com/82





기계 학습(Machine learning) End.

BioinformaticsAndMe

강화 학습(Reinforcement Learning) Start.

BioinformaticsAndMe





1) Reinforcement Learning (강화학습)

- 강화학습은 현재의 상태 (State)에서 어떤 행동 (Action)을 취하는 것이 최적인지 학습.
- 행동을 취할 때마다 외부 환경에서 보상 (Reward)이 주어지는데, 이러한 보상을 최대화 하는 방향으로 학습.





2) Reinforcement Learning 예시

- DQN Google DeepMind's Deep Q-learning playing Atari Breakout
- DDPG 심층 결정론적 정책 경사법 알고리즘




#참고 문헌

1) Libbrecht, M. W., & Noble, W. S. (2015). Machine learning applications in genetics and genomics. Nature Reviews Genetics, 16(6), 321.

2) https://ko.wikipedia.org/wiki/%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5

3) https://namu.wiki




강화 학습(Reinforcement Learning) End.

BioinformaticsAndMe



비지도 학습(Unsupervised learning) Start.

BioinformaticsAndMe





1) Unsupervised learning (비지도학습, 자율학습)

- 레이블 되지 않은 데이터에 대해 컴퓨터 스스로 학습하는 기계 학습(Machine Learning)의 한 방법.
- No labeled 데이터로 특정한 패턴과 규칙의 알고리즘 모델을 만든다. 즉 y없이 x만 이용해서 학습하는 것.






2) Unsupervised learning 예시

- 아래 그림은 샘플(column)과 유전자(row)의 발현을 기반으로 그린 Heatmap이다.

- Heatmap에서는 주로 Hierarchical clustering을 사용하는데, 이 방법이 비지도학습의 예이다.

- 사용자는 유전자나 샘플에 대해 어떠한 정보도 주지 않고, 오직 발현값만을 기준으로 계층적 클러스터링을 진행한다.

- Unsupervised clustering을 통해, co-expression을 보이는 유전자 군집을 뽑아낼 수 있고, outlier 샘플을 확인할 수도 있다.






3) Unsupervised learning을 이용한 알고리즘

  • k-평균 클러스터링 (k-means clustering)
  • 계층적 클러스터링 (Hierarchical clustering)
  • 분포 추정 (Underlying Probability Density Estimation)
  • 주성분 분석 (Principal component analysis, PCA)
  • 특이값 분해 (Singular value decomposition, SVD)




4) Unsupervised learning에서 참고사항

- Label 정보가 없다면, Unsupervised learning(비지도 학습) 알고리즘을 사용한다.

- 또한, 보유한 데이터를 최적으로 설명하는 Label을 찾고 싶다면, Supervised보단 Unsupervised가 효과적이다.

- 'ENCODE와 Roadmap Epigenomics Project'에서는 Histone modification이나 Transcription factor binding의 패턴을 찾기위해 Unsupervised learning을 사용한다.





#참고 문헌

1) Libbrecht, M. W., & Noble, W. S. (2015). Machine learning applications in genetics and genomics. Nature Reviews Genetics, 16(6), 321.

2) https://ko.wikipedia.org/wiki/%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5






비지도 학습(Unsupervised learning) End.

BioinformaticsAndMe


지도 학습(Supervised learning) Start.

BioinformaticsAndMe





1) Supervised learning (지도 학습)

- 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법.
- Labeled된 데이터를 기반으로 학습하여 알고리즘 모델을 만들고, Unlabeled된 데이터의 Label을 예측.





2) Supervised learning 예시

- 아래 그림은 'Tumor size와 Age'을 기반으로 Benign or Malignant인지 분류하는 Classification 모델이다.

- 이 Classification 모델은 Benign, Malignant로 Labeled된 Training sample로 만들어진 것이다.

- 만약, 하나의 Unlabeled된 Testing sample을 이 모델에 넣게되면, Testing sample의 'Tumor size와 Age'에 따라 분류가 될 것이다.

- 'Tumor size와 Age'가 Malignant와 유사하다면 Testing sample을 Malignant라 예측할 수 있다.






3) Supervised learning을 이용한 알고리즘

  • 서포트 벡터 머신 (support vector machine)
  • 은닉 마르코프 모델 (Hidden Markov model)
  • 회귀 분석 (Regression)
  • 신경망 (Neural network)
  • 나이브 베이즈 분류 (Naive Bayes Classification)




4) Supervised learning에서 참고사항

- Label 정보가 없다면, Unsupervised learning(비지도 학습) 알고리즘을 사용한다.

- Label 정보가 있더라도, Supervised learning 항상 최선의 선택은 아니다. 모든 Supervised learning 기법들이 Training set과 Testing set의 분포가 같을 것이라 가정하고 진행되므로, Training과 Testing 샘플이 전혀 다른 distribution을 가졌다면 모델과 예측 사이의 gap이 발생한다. 따라서 이를 보완하기 위해, Semi-supervised learning(준지도 학습)을 사용하기도 한다.

- 정리하자면, Supervised learning은 Training과 Testing 샘플이 유사한 Statistical properties 가질 때 진행하자.






#아래 내용을 참고했습니다

1) Libbrecht, M. W., & Noble, W. S. (2015). Machine learning applications in genetics and genomics. Nature Reviews Genetics, 16(6), 321.

2) https://ko.wikipedia.org/wiki/%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5





지도 학습(Supervised learning) End.

BioinformaticsAndMe

Gene Prediction & Machine Learning Start.

BioinformaticsAndMe



Genomics 에서 머신러닝의 활발한 사용 중 하나인
Gene Prediction(Gene Finding) 을 다뤄보겠다.


유전자 예측을 위해, 우선..

'은닉 마르코프 모델(Hidden Markov Model; HMM)' 에 대한 이해가 필요하므로,

이전 칼럼의 'Hidden Markov Model (은닉 마르코프 모델)' 를 참고하길 바란다.





1. Gene structure 의 이해

- 위 그림은 진핵생물(eukaryote)이 가지는 일반적인 Gene structure이다.

- 크게 exon과 intron으로 구성되어있으며, 인트론은 GT로 시작하여 AG로 끝난다.

- RNA splicing이 진행될 때 저 GT와 AG를 각각 doner와 acceptor로 인지하여 인트론을 잘라낸다.

- Gene prediction을 하고자 하는 Genome 특성을 적절한 transition probability와 emission probability table로 만들어 놓는 것이 정확한 gene finding의 핵심 요소가 되겠다.

- 이 말은 곧, 연구 중인 샘플 종의 특징을 충분히 학습한 training set이 필요하다는 얘기다.





2. Hidden Markov Model 적용

- 위 그림의 transition probability table 과 emission probability table을 살펴보자.

- transition probability는 현재 state에서 다음 state로 바뀔 확률로, exon->exon이 될 확률은 90%, exon->5'SS(Splicing Site)이 될 확률은 10%이다.

- exon->intron이 될 확률은 0%인데, 위에 gene structure를 살펴보면 exon에서 intron으로 넘어갈 때 5'SS가 항상나타나므로, 엑손 다음에 인트론이 바로 나올 수 없다는 생물학적 지식에 근거한 것이다.


emission probability는 특정 state에서 우리가 볼 수 있는 관찰값이다.

- 우리가 관찰할 수 있는 A, G, T, C 뉴클레오타이드의 특정 영역이 엑손? 인트론? splice site? (Hidden)인지 예측하여, 하나의 유전자를 구분짓는 것이 Gene prediction에서 HMM을 활용하는 방식이다.

- emission probability table에서 exon state일 때 A,G,T,C,가 관찰될 확률이 25%로 동일하다 (샘플종 혹 타겟유전자에 따라 GC contents가 높은 경우에는 G, C에 더 높은 가중치를 메기기도 한다).

- 5'SS에서 G는 consensus sequence이므로 G가 나올 확률이 100%이다 (역시나 이 수치가 고정된 것은 아니다).

#consensus sequence: 진화과정 중 돌연변이 등의 변화를 겪지 않고 잘 보존되어 있는 염기배열

- 진핵생물에서 인트론 부위는 GC contents의 비율이 AT에 비해 상대적으로 적다 (AT가 나올 확률이 더 높다).


- 아래 그림은 위 테이블의 probability 값을 hidden state path에 따라 정리한 것이다. 우리가 보통 머신러닝을 통한 Gene prediction 분석에서 흔히 볼 수 있는 그림이다.

- 명심해야할 점은 'transition probability 와 emission probability' 는 연구자가 보유한 training set 에서 산출되는 것이므로, 머신러닝에서 저 두 확률분포를 얼마나 잘 트레이닝하냐 여부가 정확한 gene prediction의 키포인트겠다.





3. HMM을 이용한 Splicing site 예측


- 자 이제  'CTTGACGCAGAGTCA' 의 시퀀스가 관찰됐을때, 가장 적합해보이는 엑손(청록색), 5`SS(주황색), 인트론(보라색)의 State path를 예측해보자.

- 계산하는 방법은 각 State에서 가질 수 있는 모든 Emission probability와 Transition probability를 곱하는 것이다.

- 위 그림에서처럼 계산한다면 첫번째 state path의 확률값은 4.519e-13 이다. 이런식으로 모든 state path의 확률값을 계산해준다.

- 결론적으로 가장 높은 state path의 확률값을 가진 경로가 주어진 시퀀스의 gene structure라 할 수 있겠다.

- 4.519e-13의 확률 값을 가진 첫번째 state path가 가장 높다면,  'CTTGACGCAGAGTCA'은 'CTT(엑손)G(5`SS)ACGCAGAGTCA(인트론)' 의 유전자 구조를 가지고 있음을 예측할 수 있다.


- 아래 그림의 방식처럼, 특정 state path의 likelihood 값도 구할 수 있다.





마무리하며...

HMM을 이용한 gene prediction을 설명하면서, 엑손-5`SS-인트론에만 초점을 두고 설명했다 (실제 유전체 분야에서 HMM 기반 gene prediction을 설명할 때 대부분 사용하는 예제이다).

프로모터부터 PolyAsite까지 같은 방식을 적용할 수 있겠다. 또한, 대부분의 유전체 분석 툴들이 앞서 설명한 HMM 알고리즘에 기반한 것들이 대다수이다.

Gene prediction 이외에도 protein family를 예측하는 gene annotation 분야에도 자주 쓰인다.

(아 요즘 너무 덥다...ㅠㅠ)





Gene Prediction & Machine Learning End.

BioinformaticsAndMe

Hidden Markov Model (은닉 마르코프 모델) Start.

BioinformaticsAndMe



유전체 머신러닝 분야에서 순차적 데이터 분석의 computational sequence analysis 등에 사용되는


'은닉 마르코프 모델(Hidden Markov Model; HMM)' 에 대해 알아보자.

(다음 칼럼의 Gene Prediction & Machine Learning 파트를 이해하기 위한 밑거름)



1. Hidden Markov Model

- 정의: 통계적 마르코프 모델의 하나로, 시스템이 은닉된 상태와 관찰가능한 결과의 두 가지 요소로 이루어졌다고 보는 모델이다. 관찰 가능한 결과를 야기하는 직접적인 원인은 관측될 수 없는 은닉 상태들이고, 오직 그 상태들이 마르코프 과정을 통해 도출된 결과들만이 관찰될 수 있기 때문에 '은닉'이라는 단어가 붙게 되었다 (위키). 

- 마르코프 성질(Markov Property): 과거와 현재 상태가 주어졌을 때의 미래 상태의 조건부 확률 분포가 거 상태와는 독립적으로 현재 상태에 의해서만 결정.

- 특정 시간 t에서의 은닉 변수 x(t)의 조건부 확률 분포는 오직 은닉 변수 x(t-1)에만 의존하는 것을 관찰할 수 있다. 그 이전의 시간들(<t-1)은 x(t)에 영향을 주지 않는다. 이와 비슷하게 시간 t에서 관측된 변수 y(t)의 값은 오직 은닉 변수 x(t)에만 영향을 받는다.

transition probability(전이 확률): 시간 t-1에서의 은닉 상태가 주어졌을 때 시간 t에서의 은닉 상태가 선택될 확률분포.

- emission probability(출력 확률): 주어진 상태 x(t)에서 특정한 결과값 y(t)이 관측될 확률 분포.

- 마르코프와 히든마르코프의 차이: 'Hidden'에서 x의 state 자체는 보이지 않음. 오직 x state 각각의 관찰값 y값만 볼 수 있다.





2. 날씨를 예로 transition probability 이해하기

- 위 그림은 transition probability(전이 확률)의 개념이다.

- 날씨가 'Sunny' 와 'Rainy' 의 두가지 상태가 있고, 오늘 날씨가 Sunny였다면 내일의 날씨가 어떤 상태일지 궁금하다.

- 우리는 기존 데이터(training set)에 근거하여 Today -> Tomorrow 에서 날씨가 바뀌는 확률을 구할 수 있다 (Output format 1).

- Output format 2와 3 은 format 1과 같은 의미를 지닌다.

- 참고로 오늘 날씨에서 다음날 날씨 예측 확률의 합이 항상 1 이란 사실을 기억하자 ( 예, 0.9 (sunny) + 0.1 (rainy) = 1 ).



- 날씨가 'cloudy' 가 추가 됐을뿐, 위에서 언급한 내용과 동일한 transition probability의 내용이다.





3. 날씨의 예로 emission probability 이해하기



- 우리는 Hidden state, 즉 날씨를 볼 수 없다. 다만, 그 위에 transition probability 의 정보들만 있을 뿐이다.

- 우리가 볼 수 있는건 관찰값인 'Observed state'이다. 날씨에 따라 사람들이 착용한 선글라스, 티셔츠, 우산, 자켓만을 볼 수있다.

- 특정 날씨에 따라 어떤 아이템을 착용할 것인지의 확률도 기존 데이터(training set)에 기반해 만들 수 있다.

- 특정 state의 해당 관찰값이 보일 확률이 emission probability(출력 확률) 이다.





4. 날씨 예측하기

1) 예를 들어, 어떤 사람이 이번주동안 착용한 복장이 다음과 같다. 우산-우산-자켓-선글라스-티셔츠-우산-자켓

2) 우리는 이번주 날씨가 어땠을지 HMM 으로 예측할 수 있다.

3) 위에서 구한 transition probability 과 emission probability table 정보를 이용해, 이번주에 발생할 모든 확률을 곱한다.

4) 모든 경우의 수를 계산했을 때, '비-비-흐림-맑음-맑음-비-흐림' 이 가장 높은 확률의 PATH인 것을 확인했다.





마무리하며..

사실 HMM을 소개한 이유는 유전체 머신러닝 분야에서 Gene prediction을 설명하기 위함이었다.

따라서, 위 마무리가 많이 엉성하다. 좀 더 자세한 계산식과 결과를 살펴보고 싶다면,

이어지는 Gene Prediction & Machine Learning 파트를 살펴보는 것을 추천한다.


내용을 정리하면서 느낀점은

기계학습에서 HMM의 훌륭한 Performance를 보이기 위해선,

높은 신빈성의 학습데이터에 근거한 전이확률과 출력확률 정보를 갖는 것이 중요해 보인다.





Hidden Markov Model (은닉 마르코프 모델) End.

BioinformaticsAndMe







'Machine Learning' 카테고리의 다른 글

강화 학습(Reinforcement Learning)  (0) 2018.09.15
비지도 학습(Unsupervised learning)  (0) 2018.09.05
지도 학습(Supervised learning)  (0) 2018.08.31
Gene Prediction & Machine Learning  (1) 2018.08.05
Machine Leaning & Genomics  (0) 2018.07.28

Machine Leaning & Genomics Start.

BioinformaticsAndMe


#Machine Learning 정의
- 기계학습. 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하는 분야.
- “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure Pif its performance at tasks in T, as measured by P, improves with experience E” – T.Michell(1997)
- "작업 T에 대해 기준 P로 측정한 성능경험 E로 인해 향상됐다면, 그 프로그램은 작업 T에 대해 기준 P의 관점에서 경험 E로부터 "배웠다"라고 말한다.


# Genomics 정의

유전체학. 특정 생물체의 개별 유전자들의 총합인 유전체 및 관련 정보를 체계적으로 연구하는 학문.

- 2003년, 인간이 지닌 모든 DNA를 분석하려했던 인간 지놈 프로젝트(Human Genome Project, HGP)에 의해 Genomics 의 중요성 전파.




# 기계학습과 유전체학

- Genomics에서는 차세대 유전체 분석 기술 (NGS; next generation sequencing technology)의 급격한 발전으로 방대한 유전체 데이터가 생산 중.

- 이를 기반으로 개인 유전체 정보의 맞춤 정밀의학 (precision medicine)를 추구.

- 유전체 빅데이터에 머신러닝 기법 접목은 복잡한 인간의 유전체 정보를 종합적으로 해석할 수 있는 미래 산업의 동력.

- 머신러닝을 이용하여 암, 치매, 비만 등 다양한 질병들의 예방, 조기진단 및 효과적인 맞춤치료가 가능,



- 현재 NGS 분석은 100 만원 이하(앞으로 더 내릴 듯.)의 저렴한 비용으로 진행.

- 미국 배우 안젤리나 졸리는 유방암에 취약한 BRCA 유전자 변이 보유를 확인한 뒤, 유방절제 시행.

- 앞으로 머신러닝이 본격적으로 유전체 데이터와 접목되어, 유전체와 질병과의 연관성이 더욱 많이 발굴될 것이라 예상.

- 아래는 Genomics 분야에서 머신러닝을 어떤식으로 사용하는지 참고할만한 논문들이다.






# 또한, 아래 논문은 머신러닝과 유전체학 관계의 기본지침서 같이 소개되어지는 논문이다.

위 논문 내용 중 몇가지를 정리해보면,

- 머신러닝 알고리즘은 여러 유전체 분석(microarray, RNA-seq, DNase-seq, ChIP-seq)에서 만들어진 Genomic data를 사용할 수 있다.


- 머신러닝 프로그램들이 유전자의 기능을 annotation 하는 데 광범위하게 사용 중 (Gene ontology term assignment).


- 네트워크 모델을 tanning하여 세포의 유전자 발현을 모델링.


- 현재, Genomics에서 머신러닝과 통계기법의 경계는 모호하여 적절히 융합되어 사용 중.






Machine Leaning & Genomics End.

BioinformaticsAndMe

+ Recent posts