Pythonの勉強をしていて…

何というか,VBA勉強していた頃に比べると凄く調べないと行けないことが多くて面倒臭い.高機能で勉強しやすいと色々なところに書かれているのに(Pythonの紹介だからそりゃそうだろという気もしますが)本当に勉強しやすいんだろうかと疑問に思い始めていたのですが…よくよく考えてみると,

VBAだと機能は無いのが(自分の中で)前提になっているので,基本,自分で全部スクラッチしてしまうので調べるということをついぞしたことが無い(ぶっちゃけファイル入出力とADOぐらいしか使ったことが無い).

Pythonだとライブラリを使うのが前提になってるので,その気になればスクラッチできなくもないが(実行速度が死にそうだけど),ライブラリについて調べてトライアンドエラーになって時間を消費することが非常に多い.

というわけで,プログラミングのスタイルが全然違うんだなーということに気がついた次第.

Pythonで体験するベイズ推論 PyMCによるMCMC入門

を読んでいます.

・5章が終わるかなーぐらいで,まだ読み終わっていないのですけど,今更R覚えるのも何だかなーと思っていたこのタイミングで出版されたのは本当に良かった.

ベイズ推論に関しての説明も一応ありますけど,さっさと済ませてPyMCで試そうぜ,ってのが如実に感じられます.PRMLとかMLPの青い本とか読んでいたので,凄く実践指向だなーと感じます.

MCMCそのものの説明に関してはほぼ皆無.一応イメージの説明はされてるけど,算式皆無だし,MH法をExcelで実装できる程度には理解してる自分が読んでもフワフワしたものを感じるぐらいです.とりあえず,初期値から初めて適当な期間(バーンイン)放置した後,適当なサイクルでサンプリングするとイケるよ!ぐらいの感じで我慢した方が精神衛生上良さげ.

・PyMCそのものについては,まとまっての詳しい解説はしていないように感じます.特に3章まで,サンプリングの際のコマンドの引数の意味に関してロクに説明されないので,ややモヤモヤした状態で読み進めないといけないのはちょっと…と感じました(第1引数がサンプリング数・第2がバーンイン・第3がサンプリングサイクルの模様).

・想定読者はプログラマーと書いてあるけど,もう少し詳しく書くと,PythonとNumpyの基本操作が一応できるレベルって感じです.コードが何を目的としているのかはかなりざっくりとしか説明されておらず,添え字のテクニックなんかも説明は無いので,まぁ,そこは見れば分かるでしょって前提の模様.

・グラフィカルモデルというか,生成モデル的な考え方ができないと辛いのかなと感じました.この変数はガウス分布で尤度をモデルして,パラメータは一様分布にする,等は,まぁ,実務上はそんなものなのかもしれないけど,いざ新規の課題に対して自分でやれってなると混乱してしまうのでは(特に,潜在変数がデータで共通なのかそれともデータ毎に存在するのか).

・たまたま衝動買いしてパラ読みしてた統計的因果推論の考え方が微妙にフィットする感じ(あくまで微妙に,ですけど).

タイフェスティバル

に行ってきました.

・食事の割合が若干減ってたような?去年までは入口からすぐ食べ物の露店ばっかりだったのが,今年は入口沿いはグッズとか情報関係に変わっていたような.フルーツ店も若干奥の方に押しやられた感じがあります.対して,何故かタイに関係ない露店は増えていたような.一体どうなってんだろ?露店が集まらなかった?毎年賑わっているのに?

・微妙にカレー系が減ったような.気のせいかも.

・人多過ぎ.尤も,昨日が雨だったので今日に集中した可能性も否めず,本当に人数が多かったのかどうかは不明.気温低くて本当に良かった.

・ゴミ捨て場が元に戻ってた.何のことかと言うと,それまでゴミ捨て場は普通に野ざらしにバケツが並べられていて,スタッフの人なんかが手伝ってくれながら捨てるような感じだったのです.ところが,去年見た目がイケてないと思ったのかどうなのかは分からないけど,リサイクルセンターとかいう感じに名前を変え,周囲をテントで囲ってしまったのですね.そのせいでちょっと離れると何処がゴミバケツが見えないし,リサイクルセンターという名前のせいでいまいちピンと来ないわで困った印象があったのです.

・フルーツ市場のドリアンが半冷凍状態でシャーベット状で売られていた(いつも生).たまたまかも知れません.個人的には半冷凍の方が美味しいと思いましたけど.

XGBoost

を入れるのに半日近くかかってしまった…

ここまでメジャーなんだから,Anaconda Navigatorから簡単に入るようにしてくれればいいのになぁ…パソコン周りのこういうとこ,ホント嫌い.

〜経緯〜

・公式サイト(?)の指示通りにターミナルで入力するもなんかコンパイルのときに色々エラー表示と思しき赤い文字列がチラホラ出るも無視して続行.

→案の定,import xgboost as xgbとかやっても全然ダメなので,公式サイトをよく見てみたら,gccのバージョンが6以上じゃないと何たらかんたら.

gccのバージョンの調べ方が分からなかったが,何とかgcc -vとか入れればいいことを知る.4.2とかそんぐらいが入っていることが発覚.

gccの公式サイト(?)から最新版をDLしようとするも圧縮ファイルの置き場所は分かったがインストール方法が分からない

Mac portでインストールできるということを知り,version 7を入れてみたが,どうやってもgcc -vが4.2のまんまでパスが通らない.

brewで入れるのが普通みたいなので,brew経由でバージョン6を入れてみたら,何とかgcc -vでバージョン6になってくれた模様.

→やっとxgboostのコンパイルができるぜ!と思ったら,今度はstdio.hが無いとかでやっぱりコンパイルできない(stdio.hがデフォルトで入らないようなものをインストールと呼んでいいんだろうか?とか思ったりもしました).

xcodeのターミナルツールが削除されるので入れ直さないといけないということを知り,指示通りに入れ直す.

→xgboostのコンパイルが…できた!で,import xgboost as xgbで,エラーが出ない!

 

もう遅いのでXGBoostを試すのは明日にしよう.それにしても,全てのステップで誰かしらの書いたブログを参照しているわけで,ネットの無かった頃だと本当にどうにもならなかっただろうなぁ…

PRMLで学んだ色々なアルゴリズムが

Scikit Learnでことごとく実装されててあの勉強時間(半年強)は何だったんだろうと思わずにはいられない今日この頃(しかもPRMLの内容どんどん忘れてきてるし!).

・サンプリングだけは実装されている感じがしないのですけど(見つけられないだけか?),一体どういうことなんだろう?他のモジュールで既に実装されてる?それともあくまでScikit Learnの段階ではパラメータを求めるのが目的という認識なのだろうか?

・MH法だけ試しに実装してみたのですけど,これって分岐含んでるからGPU使っても速くならんのでしょうね…

 

ギンザシックス

に行ってきました.

・思ってたより普通のデパートだなぁというのが正直な感想.

・中央の吹き抜けが物凄く広そうに写ってるのは完全にフカシのように感じます.その他に関しても特にスペースを広く取っていたり天井が高いようには感じませんでした.ぶっちゃけ東京ミッドタウンの方がずっと贅沢にスペースを使っていると思います.

・斜めの直線・白と金というのが基調になっているのかなーと.

・名札の付いてない店が多かったように思います.名札が付いていた中でダントツで高かったのはフランクミュラーのエテルニタス・メガ5(3億5000万)でしょうか.ちなみにフランクミュラーのブックカバーが貰えます.

・警備員が凄いウロウロしてます.

・男性用トイレが1・2階に無い上,場所が分かりにくく感じました.

・6階のレストランは,幾つかの店を除くとディナーは1万円弱という価格設定で普段使うのは厳しいように感じます.

・蔦屋書店は見尽くしたわけではありませんが,アート系の本が沢山置いてあって(代官山もそうだけど),スタバと混合しています.日本刀が展示してありました.

そろそろPRMLを読み終わりそうなので

(一応既に最後まで目は通したが,算式の導出はしてないのが幾つかある),はじめの頃に挫折した通称はじパタをパラパラめくってたんですけど,

やっぱ今見てもはじパタの方がずっと難しく感じられるというか,何ではじパタが入門でPRMLは壁みたいに言われてんのかサッパリ理解できない…

はじパタすんなり理解できる人がPRMLの算式で苦戦するとかありえないと思うんだけど(自分はPRMLの算式で苦戦したことはほぼ無い.ってかアンチョコ本が出てるのが信じられないと言うぐらいにサクサク行けた).

機械学習やる平均的な層の得意な数学の分野・傾向と自分のそれとが大きく隔たっているのかな…ないしは↑の層が実は別々でお互い全く一致してないのか…

うーん,謎だ…