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

machine-learn

kanayannet
October 22, 2017

 machine-learn

kanayannet

October 22, 2017
Tweet

More Decks by kanayannet

Other Decks in Programming

Transcript

  1. 機械学習で奇妙な冒険
    @kanayannet
    Gunma.web #29

    View full-size slide

  2. 自己紹介
    名前 :
    金澤 宏昭
    Twitter : @kanayannet
    Facebook : HiroakiKanazawa

    View full-size slide

  3. 機械学習と私
    2011
    年9

    spam_ lter-druby---classi er-
    https://github.com/kanayannet/spam_ lter-
    druby---classi er-

    View full-size slide

  4. おそらく
    まだ「機械学習」という言葉が流行ってなかった時代。

    View full-size slide

  5. こっちの言葉の方が流行ってたかな?
    ベイズの定理
    ベイジアンフィルター
    レコメンドエンジン

    View full-size slide

  6. 全部話すと大変
    1
    日じゃ終わらない。

    View full-size slide

  7. 今日話すこと
    なぜ話すのか?
    機械学習の種類
    奇妙な冒険
    まずは動かしてみる
    実験
    まとめ

    View full-size slide

  8. なぜ話すのか?
    機械学習 という言葉が流行してから数年がたった。
    web-db press
    でも扱われたし(8
    月)
    そろそろ話してもい
    いかな?

    View full-size slide

  9. 機械学習の種類
    アルゴリズムの分類
    教師あり学習
    教師なし学習
    強化学習...etc

    View full-size slide

  10. 今日取り扱うもの
    教師あり学習

    View full-size slide

  11. 理由
    数年前作ったものを現在でも動くのか?
    試したかった。
    おそらく、動かない(
    予想)
    現代風に作り直すことである程度勉強になる

    View full-size slide

  12. 理由
    教師なし学習..
    難しい!!><
    正直に言う、解らない!!
    初心者でも解りそうな本あったら教えて!!

    View full-size slide

  13. 奇妙な冒険
    JOJO
    の奇妙な冒険

    View full-size slide

  14. なぜ?
    名台詞がたくさんある!

    View full-size slide

  15. 何を学習させるの?
    各キャラクターと名台詞

    View full-size slide

  16. 最終的に何をさせるの?
    名台詞をIT
    勉強会風に修正し
    どのキャラクターが言いそうな言葉か?
    判定してもらう。

    View full-size slide

  17. PG
    の構成
    daemon.rb
    server
    入力されたデータから学習し保存
    入力されたデータから判定結果を返す
    mecab
    形態要素解析
    classi er
    ベイズの定理 を利用
    Classi er::Bayes
    json/pure

    View full-size slide

  18. json/pure
    学習用データをjson
    形式で保存する
    drb/drb
    通信した別プロセスとobject
    空間を共有

    View full-size slide

  19. PG
    の構成
    test_inp.rb
    client
    入力された学習データをサーバに渡す
    判定用文章をサーバに渡し、判定結果を出力
    drb/drb
    通信した別プロセスとobject
    空間を共有

    View full-size slide

  20. まずは動かしてみる
    その前に
    ざっくりと コードを見てもらいます。
    細かいところは省く

    View full-size slide

  21. 学習させるデータ構造
    {
    キャラキター名}{
    セリフ} = true

    View full-size slide

  22. 今からIT
    勉強会風に修正します
    デモ中....

    View full-size slide

  23. 実験
    学習データを少なくすると、どうなるか?
    擬音は判定できるの?

    View full-size slide

  24. まとめ
    学習データは少ないと精度が悪い
    単純なパターンマッチよりも精度が悪い
    特殊な擬音

    辞書に追加するなり、チューニング必須

    View full-size slide

  25. 参考文献
    https://docs.ruby-lang.org/ja/latest/library/drb.html
    http://d.hatena.ne.jp/zariganitosh/20070712/1184230093
    https://qiita.com/mhiro216/items/391ae79848129ac1cb2d

    View full-size slide

  26. 余談
    classi er
    classi er-reborn
    が出ている
    こっちの方がいいかも?
    mecab
    natto
    が出ている
    こっちの方がいいかも?

    View full-size slide

  27. ガチな計算式
    ベイズの定理
    解りませんので、質問困る汗

    View full-size slide

  28. ご清聴
    ありがとうございました!

    View full-size slide