さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

機械学習の勉強をしてみた時のまとめ

ちょっと一念発起して機械学習とか統計の勉強をしてみたのでその時の勉強に使った本とか の記録です。

とりあえずこの勉強で以下のような状態には辿りつけました

これから勉強するものとしては以下のものが残っているような状態です

などなどです。 まだ知りたいことは大量にあるので適宜勉強していきます。

モチベーション

そもそもなんで勉強するのか?

  • 最近データ分析の分野が注目されている
  • 計算機の性能向上

最初の理由は最近ニュースなどでもよく目にする「ビッグデータ」というやつですね。 巨大なデータからパターン認識などを見つけて新しいビジネスを見つけていこうとかそういう感じのものです。

2つ目の理由は、自分が大学生の頃はまだまだ個人で巨大なデータ解析をするというのは難しかったのですが、 最近の計算機は性能向上やHadoopやmahoutといった技術がだいぶこなれてきていてお家でも手軽にデータ解析できるようになった ということです。

というのが建前です。

  • 流行りのアニメから自分好みの物を見つける
  • 自分の好きそうなキャラの画像を探す
  • Webサーフィン楽したい

というのを自動化したいというのがモチベーションとしてあります。 特に最近自分が好きそうなアニメを録画リストに入れ損ねているという事件が頻発しているので対策を早めに 実施しないと自我崩壊してしまう危険性があります。

画像探したりアニメ探したりというのはtwitterのTLをデータとして与えればなんとかなるかなぁと思っています。 Webサーフィン楽したいというのは、自分は普段はてなブックマークのホットエントリをよく読んでいるのですが 記事の好みが自分と微妙に合わなかったり、「〇〇を〇〇する〇〇個の方法」みたいなのは外したいとかあるので そういうフィルタが書けたら良いなという感じです。

やったこと

ざっくりまとめると

この2つだけです。 書籍で勉強した感じです。

最初に読んだ物

最初に勉強したのはどれだったかもうあまり覚えていないのですが

入門統計学

http://www.amazon.co.jp/dp/4274068552

データサイエンティスト養成読本 [ビッグデータ時代のビジネスを支えるデータ分析力が身につく!]

http://gihyo.jp/book/2013/978-4-7741-5896-9

機械学習 はじめよう

http://gihyo.jp/dev/serial/01/machine-learning

銀座で働くデータサイエンティストのブログさんのいくつかの記事

http://tjo.hatenablog.com/entry/2013/05/01/190247

この辺りを取っ掛かりにして機械学習のイメージがつかめてきました

慣れてきた辺りで読んだ物

最初の書籍などでどんなことができるのかはイメージがついてきたので、 実際にどのような手法があるのかを具体的に知りたくなったので以下の書籍やwikiなどを 読んでみました。

「入門 機械学習

http://www.oreilly.co.jp/books/9784873115948/

朱鷺の杜Wiki

http://ibisforest.org/index.php?%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92

オライリー本は期待してた内容とマッチしていたのですが、載ってるプログラムが今ひとつ。 Rを使って正規表現処理とか頑張ってるのですが、正直自分で書くならPythonとかRubyでデータ整形して その結果をRに渡す or Scipyとかで自前で処理すると思うので参考にならなかったです。 ただ、理論面に関してはかなり丁寧に書いてくれているので各種アルゴリズムがどうして上手く動いてくれるのか という観点ではためになりました。

Wikiに関しては、この分野が概観できるものになっていてオライリー本には載っていない分野なども知ることができて 参考になりました。

さらに理論面を強化するために

言語処理のための機械学習入門 (自然言語処理シリーズ)

http://www.amazon.co.jp/dp/4339027510

を現在読んでいます。さくさく読めて良い本だと思います。 実際に機械学習をやるにはどうしても日本語がネックになると思ったので丁度良い本ですね。

あとはバスケット分析とか協調フィルタリングとか言われている分野の勉強をしていけば良いかなぁと思っていますが なかなか手頃な入門書が見当たらないというのが現状です。

この辺りが参考になると良いなぁという感じです。

http://gihyo.jp/dev/serial/01/recommend_hadoop

http://hivecolor.com/id/47

http://d.hatena.ne.jp/EulerDijkstra/20130407/1365349866