Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
h2o	
  deep	
  learningによる化学物質分析時の
保持時間予測モデル構築	
Twi0er:	
  @siero5335	
  
5/23-­‐24@東銀座ドワンゴ様	
  
Deep	
  learningもくもくハッカソン...
自己紹介
Twitter ID: @siero5335
仕事: 某大学で
   化学物質曝露影響の解析
   測定法の開発してます
   専門: 環境化学、分析化学
PCBs	
  (x+y	
  =	
  1~10)	
コンデンサ	
  
トランスの絶縁油	
  
209種類の異性体	
  
高次生物に高蓄積	
  
発がん性・催奇形性	
  
ポリ塩化ビフェニル (PCBs)
コンデンサ	
  
トランスの絶縁油	
  
ポリ塩化ビフェニル (PCBs)	
PCBs	
  (x+y	
  =	
  1~10)	
*測定結果のイメージ図	
  
保持時間 (RTs)
ピーク強度
209種類の異性体が存在
試薬買って測定しないと保持時間はわからない
ポリ塩化ビフェニル (PCBs)	
コンデンサ	
  
トランスの絶縁油	
  
PCBs	
  (x+y	
  =	
  1~10)
物理化学パラメータからの溶出時間予測
化学物質の物理化学的なパラメータから
分析時の保持時間 (RTs) を予測するための手法
未知物質の保持時間を構造が似てる
化合物のパラメータを使って予測したい
→未知物質が特定できると(分野的に)熱い
目 的
h2o deep learningによるPCBsのRTs予測モ
デル構築
19種のPCBsのRTsから190種のPCBsのRTsを予測
目 的
h2o deep learningによるPCBsのRTs予測モ
デル構築
19種のPCBsのRTsから190種のPCBsのRTsを予測
   どんな試料からも検出される代表的な異性体+α
化合物の構造最適化およびパラメータ算出
化学物質名	
 RTs	
 反応性	
電子の偏り	
 …	
 分子量	
PCB1	
 数値A	
 数値A'	
 ...	
 ...	
 数値A"	
PCB2	
 数値B	
 数値B'	
 ...	
 .....
解析手法 (機械学習)予測モデル最適化
データ
訓練データ
n = 19
検証データ
n = 190
モデル構築
モデル検証
予測モデル
データサイエンティスト養成読本R活用編	
  P45参照
    結果
一番良いパフォーマンスが出た際のコード
deeptest16	
  <-­‐	
  
h2o.deeplearning(x	
  =	
  setdiff(colnames(trainingPCBRT),	
  c("ID","RT")),	
 ...
一番良いパフォーマンスが出た際のコード
層を深くすればするほど精度低下... (Deepじゃなかった)
Dropoutや正則化項を取り除けば取り除くほど精度が上昇
他の活性化関数(Tanh, Maxout)は良くなかった
→今回くらいのデータサ...
H2ORegressionMetrics:	
  deeplearning	
  
**	
  Reported	
  on	
  training	
  data.	
  **	
  
	
  
MSE:	
  	
  とても良い
R2	
 ...
deeptest_layer1	
  =	
  h2o.deepfeatures(deeptest16,	
  
trainingPCBRT,	
  layer	
  =	
  1)	
  
	
  
head(deeptest_layer1)...
Deepじゃなかった…とはいえ
自分のフィールドのデータセットに対しても十分適用できそう
チューニングはシンプルなところから始めるほうがいい
いきなりDropoutとか正則化とかをしても結局遠回りかも...
多層よりも単層からとりあえずやってみ...
Upcoming SlideShare
Loading in …5
×

Deep learningもくもくハッカソンまとめup用

Deep learningもくもくハッカソンの結果まとめスライドです。
実際の数字については今後使うかもしれないので削ってますがご了承ください。
発表者はDeep learning初心者なので色々間違ってるかもです。

  • Be the first to comment

Deep learningもくもくハッカソンまとめup用

  1. 1. h2o  deep  learningによる化学物質分析時の 保持時間予測モデル構築 Twi0er:  @siero5335   5/23-­‐24@東銀座ドワンゴ様   Deep  learningもくもくハッカソン PCBs  (x+y  =  1~10)
  2. 2. 自己紹介 Twitter ID: @siero5335 仕事: 某大学で    化学物質曝露影響の解析    測定法の開発してます    専門: 環境化学、分析化学
  3. 3. PCBs  (x+y  =  1~10) コンデンサ   トランスの絶縁油   209種類の異性体   高次生物に高蓄積   発がん性・催奇形性   ポリ塩化ビフェニル (PCBs)
  4. 4. コンデンサ   トランスの絶縁油   ポリ塩化ビフェニル (PCBs) PCBs  (x+y  =  1~10) *測定結果のイメージ図   保持時間 (RTs) ピーク強度
  5. 5. 209種類の異性体が存在 試薬買って測定しないと保持時間はわからない ポリ塩化ビフェニル (PCBs) コンデンサ   トランスの絶縁油   PCBs  (x+y  =  1~10)
  6. 6. 物理化学パラメータからの溶出時間予測 化学物質の物理化学的なパラメータから 分析時の保持時間 (RTs) を予測するための手法 未知物質の保持時間を構造が似てる 化合物のパラメータを使って予測したい →未知物質が特定できると(分野的に)熱い
  7. 7. 目 的 h2o deep learningによるPCBsのRTs予測モ デル構築 19種のPCBsのRTsから190種のPCBsのRTsを予測
  8. 8. 目 的 h2o deep learningによるPCBsのRTs予測モ デル構築 19種のPCBsのRTsから190種のPCBsのRTsを予測    どんな試料からも検出される代表的な異性体+α
  9. 9. 化合物の構造最適化およびパラメータ算出 化学物質名 RTs 反応性 電子の偏り … 分子量 PCB1 数値A 数値A' ... ... 数値A" PCB2 数値B 数値B' ... ... 数値B" ... ... ... ... ... ... PCB209 数値Z 数値Z' ... ... 数値Z" Gaussian09: DFT B3LYPで構造最適化 Dragon6: 約5000パラメータを算出 → SD < 0.0001のパラメータを削除 → 約2500パラメータを解析に使用(前処理: 正規化のみ)
  10. 10. 解析手法 (機械学習)予測モデル最適化 データ 訓練データ n = 19 検証データ n = 190 モデル構築 モデル検証 予測モデル データサイエンティスト養成読本R活用編  P45参照
  11. 11.     結果
  12. 12. 一番良いパフォーマンスが出た際のコード deeptest16  <-­‐   h2o.deeplearning(x  =  setdiff(colnames(trainingPCBRT),  c("ID","RT")),                                                              y  =  "RT",                                                              training_frame  =  trainingPCBRT,                                                              validaTon_frame  =  testPCBRT,                                                            acTvaTon  =  "RecTfier",                                                              hidden  =  c(50),  epochs  =  10000,                                                              loss  =  "Huber”)  
  13. 13. 一番良いパフォーマンスが出た際のコード 層を深くすればするほど精度低下... (Deepじゃなかった) Dropoutや正則化項を取り除けば取り除くほど精度が上昇 他の活性化関数(Tanh, Maxout)は良くなかった →今回くらいのデータサイズだと小細工しないほうが良い? deeptest16  <-­‐   h2o.deeplearning(x  =  setdiff(colnames(trainingPCBRT),  c("ID","RT")),                                                              y  =  "RT",                                                              training_frame  =  trainingPCBRT,                                                              validaTon_frame  =  testPCBRT,                                                            acTvaTon  =  "RecTfier",                                                              hidden  =  c(50),  epochs  =  10000,                                                              loss  =  "Huber”)  
  14. 14. H2ORegressionMetrics:  deeplearning   **  Reported  on  training  data.  **     MSE:    とても良い R2  :とても良い   H2ORegressionMetrics:  deeplearning   **  Reported  on  validaTon  data.  **     MSE:とても良い R2  :  とても良い 結果 先行して実験してたElastic netの結果を上回る Training R2 = 割と良い, Training MSE = 割と良い Test R2 = 割と良い, Test MSE = 割と良い
  15. 15. deeptest_layer1  =  h2o.deepfeatures(deeptest16,   trainingPCBRT,  layer  =  1)     head(deeptest_layer1) 特徴量の確認 …が、生成された特徴量を見ても何が何やらさっぱり 正則化したわけでもないのに割とスパースになっていた →保持時間に関係するパラメータは多くないということ?
  16. 16. Deepじゃなかった…とはいえ 自分のフィールドのデータセットに対しても十分適用できそう チューニングはシンプルなところから始めるほうがいい いきなりDropoutとか正則化とかをしても結局遠回りかも... 多層よりも単層からとりあえずやってみるほうがいい? 特徴量が何なのか確認するためには修行が足りなかった… AWS上でRstudio + h2o動かすまでの記録はblogに投稿済み http://statchiraura.blog.fc2.com/blog-entry-20.html 学び

×