オモンパカリスト

深層学習、計算論的神経科学に興味あります

機械学習・深層学習の勉強したこと・したいこと、このブログの方針

ちょっと予告とは違う更新だけど。。

深層学習(Deep Learning)というものを知り、いろいろ調べて勉強したりした一年
紆余曲折がありつつも、Pythonを初めて扱い深層学習以外の機械学習全般に興味を持った
今取り組んでいることは、「機械学習を基礎から身につけ、pythonで実装していく力を身につける。」

ある程度参考書やサイトを漁った結果、自分なりのベストプラクティスが固まりつつある(前もこんなこと言った)

このブログは息抜き程度の備忘録の位置づけにしたいので、技術ブログではないことをあやふやな記述の免罪符にしたい
わりとまじで。切実に。

機械学習のベストプラクティス(今現在)

数学の事前準備

さすがに微分積分と行列、確率はある程度必要になる。
個人的に行列の微分が苦手。現役の学生なので覚えてるが、
一切を忘れてしまったという方は数学の参考書で数式慣れしたほうがいいかも

超初心者

Python触ったことないYO!なひと。

Numpyの勉強はここがためになる
機械学習の Python との出会い — 機械学習の Python との出会い

PythonじゃないけどMATLABに似たようなやつでOctaveという言語がある。
Courseraのビデオ学習が勉強になる。
www.coursera.org

日本語の字幕がユーモアあって楽しい。
ちなみにNg先生は深層学習での大家でもある

Kaggle(様々な問題(データセット)に世界中のデータサイエンティストが正答率を競い合うプログラミングサイト)に登録もしておく

qiita.com

いずれはKaggleに!と常々思っていたのでこのQiita記事の後押しもあり登録してみた
スコアの高いコードが参考になる

深層学習を学びたいひとは、大変だけど論文サーベイもできたらいいと思う
この一年で1000以上も投稿されてさすがに読みきれないので、
slideshareでまとめてくれてるひとのスライドにお世話になることも多い
Twitterはさみとぎ屋というアカウントで技術や論文概要をRTしたりしてるので
よかったらフォローしてください

Pythonによる学習スタイルは基本的にIPython notebook(Jupyter notebook)を用いるのが今流行り
環境構築はAnacondaで統一できたら楽らしいが僕はやってない(このブログの過去記事で散々書いた)
その辺、Anacondaで統一した環境構築を下記の書籍が案内してるのでさっさとこの本を買えばいい

機械学習の書籍

Python 機械学習プログラミング(インプレス社)

PRMLという有名な黄色い本があるけど、
僕にとってPRMLはちょっと敷居が高かった。

今年発売された取っ付きやすい良書がある

可視化までほぼ毎回するのでmatplotlibの使い方の勉強にもなる。

  • 第1章〜第2章 分類問題の基本的なアルゴリズム
  • 第3章 scikit-learnで分類。サポートベクトルマシンとか決定木とかk近傍法とか
  • 第4章 データの前処理ノウハウ
  • 第5章 次元削減の技術
  • 第6章 モデルの性能評価とハイパラチューニングのノウハウ(グリッドサーチとか)
  • 第7章 アンサンブル学習
  • 第8章 機械学習の応用その1 感情分析(Bag of Words)
  • 第9章 機械学習の応用その2 Webアプリケーション(Flask + SQLite)
  • 第10章 回帰分析
  • 第11章 クラスタ分析
  • 第12章 ニューラルネットワーク
  • 第13章 Theanoを使ったニューラルネットワーク(Kerasも)

僕がこの本を買う決め手になったのは、scikit-learnの用法用例が充実してること、
Theanoによる実装があること、最近出版されたばかりだということ。

scikit-learnのインターフェイス機械学習アルゴリズムの基準になってる。
fitメソッドとかpredictメソッドとか慣習がある。それすらイマイチわかってない右も左もわかんない僕が
制限付きボルツマンマシンをpythonで実装しようとしたとき取っ付き辛かった。

じつはこの本はまだ3章しか読めてない。実装用のブランチをGitHubに切ったのでよかったらどうぞ

github.com

ざっとペラペラめくって全体眺めた感じ、理論と実装の割合がちょうどいいかんじで
楽しく学べそうだ。はやく第9章のFlaskでWebアプリ開発してデプロイ、やってみたい。

1日1章を目標にpush目指します。早速きつくなってきたけど。

その他書籍

Python 機械学習プログラミング」を読了し終わった後は
いにしえから伝わる最強の書PRMLはもちろん読みたい。やっぱりあの本は理解しておきたい。
かといってひと昔前の書物という印象も受ける

パターン認識と機械学習 上

パターン認識と機械学習 上

あとIPythonデータサイエンスクックブック。こいつぁ良さそうだ。
こちらも最近でたばっかり。Amazonのレビュー参考にすると、守備範囲が広そう。

Pythonのコーディング力に関してはEffective Pythonがでてる。こいつぁ良さそうだ。

Effective Python ―Pythonプログラムを改良する59項目

Effective Python ―Pythonプログラムを改良する59項目

深層学習の勉強

紫本

青本はあまり読み返してないな。初めて深層学習の概要をつかむには良かった。

紫本は僕の興味である確率的深層学習への記述が丁寧で、数式が追いやすい。
ちょっと物足りなくなってきてからは、Webをとにかく漁ってる。

深層学習 Deep Learning (監修:人工知能学会)

深層学習 Deep Learning (監修:人工知能学会)

今後の方針

深層学習に特に関心が強いのは前記事で触れたように
生成モデルの分野。
どれくらい面白くて、2015-16年この分野が激アツなのかをいろんな人がslideshareしてくれてる

www.slideshare.net

www.slideshare.net

www.slideshare.net

特に「猫でもわかる〜」の終盤の最近の論文紹介がヤバい
すごい面白い時代ですねほんとに

僕としては、生成モデルに興味がありすぎて脳汁が溢れますので
これらを理論研究し、実装はTheano + Kerasで行こうかなと思ってます
なんかそれが最近の主流な動向っぽいし。

まとまりませんでした、以上です