Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Chainerによる深層学習(3)

 Chainerによる深層学習(3)

長岡技術科学大学
自然言語処理研究室
B3ゼミ発表(第7回)

66cc992074ab4522374e429c11fef225?s=128

youichiro

March 08, 2017
Tweet

More Decks by youichiro

Other Decks in Technology

Transcript

  1. Chainerによる深層学習 (3) 平成29年3月9日 長岡技術科学大学 自然言語処理研究室 小川耀一朗

  2. Chainerによる分類問題 1/26

  3. プログラムの全体図 2/26

  4. Irisデータ • 150個のアヤメのデータ • データ: 花びらの長さ、幅、がく片の長さ、幅 • アヤメの種類: setosa(0)、versicolor(1)、virginica(2) 例)

    [ 5.0999999 3.5 1.39999998 0.2 ] => 0 [ 7. 3.20000005 4.69999981 1.39999998] => 1 [ 6.30000019 3.29999995 6. 2.5 ] => 2 訓練データ → 奇数番目のデータ75個 テストデータ → 偶数番目のデータ75個 3/26
  5. Irisデータの用意 4/26

  6. Irisデータの用意 Irisデータはscikit-learnに付属しているものを使う scikit-learn: 機械学習ライブラリ 分類や回帰、クラスタリングなどの機能が実装されている 5/26

  7. Irisデータの用意 X : 花のデータ >>>print(X) [[ 5.0999999 3.5 1.39999998 0.2

    ] [ 4.9000001 3. 1.39999998 0.2 ] … [ 5.9000001 3. 5.0999999 1.79999995]] 6/26
  8. Irisデータの用意 Y : 教師データ >>>print(Y) [0 0 0 0 0

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2] 7/26
  9. Irisデータの用意 Y2 : 教師データ(変形) >>>print(Y2) [[ 1. 0. 0.] [

    1. 0. 0.] … [ 0. 0. 1.]] 8/26
  10. 訓練データ、テストデータの用意 9/26

  11. 訓練データ、テストデータの用意 奇数番目のXデータ → 訓練データ 奇数番目のY2データ → 訓練用の教師データ 10/26

  12. 訓練データ、テストデータの用意 偶数番目のXデータ → テストデータ 偶数番目のYデータ → 正解データ 11/26

  13. モデルの定義 12/26

  14. モデルの定義 13 入力:花びらの長さ、幅、がく片の長さ、幅 → 4次元 出力:setosa(0)、versicolor(1)、virginica(2) → 3次元 /26

  15. モデルの定義 14 入力層→中間層:シグモイド関数 中間層→出力層:そのまま 損失関数:二乗誤差 /26

  16. パラメータの学習 15/26

  17. パラメータの学習 16/26

  18. パラメータの学習 17 おまじない /26

  19. パラメータの学習 18 ミニバッチ処理 1回のパラメータ更新にランダムに 取り出した25個の訓練データを使う /26

  20. パラメータの学習 19 5000回繰り返す /26

  21. パラメータの学習 20/26

  22. 評価 21/26

  23. 評価 22 テストデータをモデルに投入し、予測データを得る テストでは勾配を求める必要はないので Variable変数をvolatile=‘on’にする >>>print(ans) [[ 1.01755786e+00 1.39655769e-02 -2.12547127e-02]

    [ 9.83523667e-01 3.55108976e-02 -3.01905852e-02] [ 1.03329992e+00 -1.48231089e-02 -1.54979099e-02] … [ -1.24957561e-01 2.79694885e-01 8.36571217e-01]] /26
  24. 評価 23 nrow = 75 ncol = 3 /26

  25. 評価 24 予測の最大が正解データと一致したら ok+1 >>>print(“{} {}”.format(ans[30], yans[30])) [ 0.0668037 0.80043787

    0.15562642] 1 /26
  26. 評価 25/26

  27. 発表内容 26 • ChainerによるIrisデータの分類 参考文献 「Chainerによる実践深層学習」第4章 新納 浩幸 著 オーム社

    /26