おおまかな内容
機械学習の実験をするために、基本的な準備をします。その過程や内容を覚えておきます。
なぜやるのか・どうなると思うか・どこまでやるか
まずは自由研究ができるように、python環境と実験用のプログラムの準備をします。
準備の状況
python 2.7
サンプルプログラムの多くはpythonで作成されています。試行錯誤の末 python 2.7環境にしました。
jupyter (notebook)
pythonの勉強のためと、動作確認補助のためインストールしました。
PyCharm Community Edition 2016.2
IDEを何にしようか迷いましたが(というかこだわりがないので選ぶ基準がわかりません)、グーグル先生によるとこれがおすすめ的だったので入れました。すごいです!
自己符号化器(AutoEncoder)のプログラム
このボクが、『ポケモンGO』に目もくれず悪戦苦闘して初版を作成しました。
githubなどにあげるのは10年はやい3年くらい勉強したあと、恥ずかしくないくらいになったらあげるかもしれません。とりあえず(その2)くらいに置いておきます。
まとめ(わかったこと・わからなかったこと)
anacondaを入れてpython3系とpython2.7系を切り替えれるようにしましたが、妙なところで原因不明のエラー(なんとかdllがない:そうです。Windowsなんです。)が発生しました。仕方がないので、オリジナルのpython2.7系のみとしました。(今後の課題)
pythonの(というよりnumpyなのでしょうか、)配列演算のやりやすさと速度に驚きました。(CPUしかないけどびっくり)
pythonのデバッグ方法は未知の世界で、修行が必要なことがわかりました。
自由研究用プログラムは、ネットにある諸先生方のものを、実験に適したように切り貼りしました。pythonがわからないだけに、とってもたいへんでした。その道の人が作成すれば半分以下の行数になると思います。でも、動作させるとちゃんと収束していくので、とりあえず実験できるくらいにはできたと思います。
chainerでもやってみましたが、深いところの変更(オーバーライド?)や操作方法がわからず、一旦保留しました。(実験なのでいろいろ試したいんです。)特にchainerの最新のチュートリアルは抽象化されすぎで別次元でした。英語が読めるように勉強します!でも、ぜひそのうち使いたいと思います。
思ったこと
ネットにサンプルプログラムをアップしていただいた諸先生方に感謝します。切り刻んで再構成したことについては深くお詫び申し上げます。
参考にした資料
深層学習 青イルカ本
ネットのPythonチュートリアルとか諸先生のブログとかいろいろ数知れず
蛇の足はたくさんあるととってもこわい
意外なことにボクにとって「AutoEncoder」は『ポケモンGO』よりずっと面白いのだと思われます。今、どっちやる?といわれたら迷わず「AutoEncoder」です。たぶん人生でいちばんおもしろいです。
プログラムについて、ブログへの置き方がわかりませんが、とりあえず初版のものを自由研究の準備(その2)においてみます。