3.48k likes | 3.61k Views
Bioinformatics Mid-Report. -Splicing Site Prediction-. 담당 : 장병탁 교수님 전기 . 컴퓨터공학부 2001-30603 임희웅 2000-20735 이경륜 2000-20727 박노갑. Introduction.
E N D
담당: 장병탁교수님전기.컴퓨터공학부2001-30603 임희웅2000-20735 이경륜2000-20727 박노갑
Genome Project가마무리되어가는지금의시점에서중요한화두로떠오르는것이대용량의genome data에서유용한정보를얻어내는작업, 즉Genome data에대한data mining이다. 작게는DNA sequence에서gene을찾아내는것부터크게는gene을부터생성되는protein의구조예측까지, 우리가해야할일들이많이있다. 그리고대용량의data를다룬다는문제의특성상효율적이고효과적인작업을위해machine learning 기법을많이도입하고있다.
본보고서에서는주어진DNA sequence로부터Gene 을찾아내는데machine learning 기법가운데하나인Artificial Neural Network을적용한다. 그러나실제생명현상에서DNA sequence로부터직접protein이생성되는것이아니고transcription과splicing과정을거쳐생성된다는사실을감안하여먼저exon과intron이분리되는splicing site를예측하는문제에집중하였다.
본보고서에서는Berkeley Drosophila Genome ProjectGroup(BDGP)에서제공하는 ‘Representative Benchmark Data Sets of Human DNA Sequences’ 를사용하였다.이data set은GenBank v.95를이용해서만들어진GENIE 96 data set으로부터splice site들을추출한것으로negative example들또한포함하고있다.
각각(doner & acceptor)의data set의instance는, Doner 영역에비해Acceptor이결정되는데더많은길이의sequence를필요로한다는사실과, exon부분보다는intron부분에더많은정보가존재한다는사실에근거하여다음과같은형식으로구성되어있다.
Doner : exon부분7bp와이어서 ‘GT’로시작하는intron부분8bp
Acceptor : ‘AG’로끝나는intron부분70bp와그에이은exon부분20bp
AcceptorDoner+-+-Train1116467211164140Test208881208782Neural Network Architecture
Splicing site pattern의학습을위해사용한Neural Network (이하NN)은기본적으로Multi-Layer Perceptron (이하MLP)이다.또한acceptor를판별하는NN과doner를판별하는NN을따로구성하여학습시켰다.
다른 조에서 Elman network을 사용해서 좋은 결과를 얻었다는 말을 들었지만 Elman network는 구조적으로 hidden node의 출력이 delay를 두고서 recurrent하게 재입력 된다는 사실 말고는 MLP와 별다른 차이가 없다는 생각에 MLP를 사용하였다. 또한 Elman network을 사용한다는 것은 input instance의 입력 순서가 학습과정에서 뭔가 특별한 역할을 한다는 것인데 우리가 학습시킬 data는 그 순서가 별다른 의미를 갖지 못하기 때문에 Elman network으로 학습을 시키는 것이 무의미 하다는 판단을 하였다.
여기에서사용된MLP는다음과같이input layer, hidden layer, output layer로구성되는데input layer 단순히입력노드로봐도무방하다. Output layer는현재입력으로들어온sequence가splicing site에해당하는가여부에따라0~1사이의값을출력하는데acceptor 혹은doner라고판단할경우1에가까운값을출력하며반대의경우0에가까운값을출력한다.
Hidden layer의경우hidden node의수가NN이학습할수있는문제의복잡도에영향을미칠수있다는생각을바탕으로그node의수를바꾸어가면서실험을행하였다.
그리고input layer의경우input sequence의길이에따라그수를달리해야만하는데이에관해서는다음Encoding 부분에서언급하기로하겠다.
마지막으로여기에서사용된NN은fully connected되어있다.
앞에서말한dataset을NN에입력으로주기위해서sparse coding 기법을사용하였다. DNA sequence에서한개의base pair가입력노드4개(A,T,C,G)에해당하며그가운데1개만1의값을가지고나머지는0을갖는다. 그러나우리가사용한data set에는S, W, N과같은noise들이있었는데, 이들에대한입력을다음과같이주었다.
이런식으로입력을encoding한결과doner와acceptor각각다음과같은크기의input vector를형성하였으며다시말하면다음의결과가각각의경우input node의수라고할수있겠다..
NN의학습은기본적으로backpropagation을채용하고있으며학습속도를증가시키고local minima를피한다는뜻에서다음과같은추가적인feature들을도입하였다.
learning rate를동적으로변환시키는방법을채용하였다.
현재의상태에서먼저Backpropagation알고리즘에따라weight들의변화량을계산한다음, weight를update시킨결과에러가감소하는했을경우에는learning rate를일정비율로증가시켜학습을계속진행하고, 에러가이전보다일정비율이상으로증가할때는학습을진행하지않고에러의증가율이어느수준이하일때까지learning rate를일정비율로감소시키면서계속해서weight의변화량을다시계산하며그동안에는momentum을0으로한다.
그리고모든input을동시에고려하는batch training을따랐으며, performance measure로사용된것은SSE(sum of squared error)가아닌MSE(mean of squared error)이다.
학습에 사용되는 data의 크기가 커서 batch training을 하기에 메모리의 소모가 크지만, linearly separable하지 않은 문제공간에 대한 학습을 수행하기에 stochastic 한 방법은 적당하지 않다고 판단하였다.