06 May 2017
オライリーの『実践 機械学習システム』を読んだ。
内容はこの前読んだ『集合知プログラミング』と似ていて、機械学習ではこんなことができる、ということがいろいろ紹介されている。 もちろん色々紹介されているから中身が薄いというわけではなく十分満足できる内容だった。
でも、もうすでに機械学習をバリバリやっているような人が読んでもふーんで終わるかもしれない。
著者ができるだけ数学や統計学の知識がなくても読めるようにわかりやすく噛み砕いて説明しようと努めているため非常に読みやすい。
本で記載されているコードでは積極的にライブラリを使用している。
『集合知プログラミング』ではアルゴリズムやロジックをコードでわかりやすく説明するというスタンスだったがこの本は文章で説明して実装はscikit-learnなどのすでにあるライブラリを使用するというものになっている。
業務では実際のところ、スクラッチで機械学習部分をコーディングすることはほとんどないのでライブラリを使ったコードになっているのは実用的でありがたい。
![building-machine-learning](/public/image/20170506/building-machine-learning.jpg)
特に読んでいて興味深かったのは「トピックモデル」と「音楽ジャンル分類」のところだった。
...
04 May 2017
『集合知プログラミング』を読んだ。
この本が出たのは2008年なので技術書にしては古い。
古いので自分の読みたい本リストに入っていなかったのだが、 けっこういい本という噂を聞いたのと今仕事で機械学習を扱うようになったので知識を深めるためにも読んでみることにした。
実際とてもよい本。
機械学習について知らない人でもわかるように、統計学的な知識や数学の知識がなくても読めるように考えられている。
そして例がわかりやすい。こういう問題があってそれをこう解決したいのでこのアルゴリズムで学習させてよい結果を得られるようにします、という感じで終始進むのですんなり頭に入ってくる。
自分のプロダクトに組み込むならこのアルゴリズムが使えそう、などそういうのが閃いたりした。
![programming-collective-intelligence](/public/image/20170504/programming-collective-intelligence.jpg)
さすがに出た時期が時期なのでディープラーニングなどは扱っていなかったが、 現在の機械学習界隈と比べても違いはディープラーニングがあるかないかぐらいだった。
...
16 Apr 2017
ようやく緑本を読んだ。
緑本とはデータサイエンティスト界隈で有名な『データ解析のための統計モデリング入門』という本のことである。
この本はデータ解析を学ぶ入門本としてとても評価が高くいつかは読まなければなあと思っていて、仕事でデータ解析のタスクもやることになったのでこれはいい機会だと思って読んでみた。
![statisticsmodelingbook](/public/image/20170428/statisticsmodelingbook.jpg)
難しい…なんて難しいんだ。
平易な文章なので終わりまでさらっと読めるので、読んだだけでできる気になってしまうが内容は入門といえど難しい。
1回読んだだけで理解したと勘違いしてしまったら終わり。
難しいと感じてしまうのはところどころ数学が絡んでおり、行列やら積分やらが出て来るので高校数学を復習した上で再読したほうがよさそう。
そのほうが深い理解に繋がるはず。
なので高校の数学の教科書を引っ張り出した。
...
16 Apr 2017
最近Pythonを触る機会が増えたため、『Pythonエンジニア養成読本』をもう一度読んでみた。
この本はPythonを触ったことがないけれど、別のプログラム言語を触ったことがある、という人が読むべき本だと思う。
おそらく上記を対象読者としているのだろう。 そのためか全体的に内容が浅く、再読したが何も発見はなかった。
(だいたいの本は再読しても何かしらの発見があるのだが…)
ただし、Python触ってみたい、最近のPython界隈はどんな感じなんだろう?、という人は読んでみて損はない本だと思う。
むしろそういう意味ならとてもよい本。
特に第3章は最近のPythonの開発まわりについて記されていてよかった。
(自分は全部知っているので特に発見はなかったが…)
あと第4章のIPython Notebookのところを読んで、自分もIPython Notebookを使いたいと思った。絶対使うと思う。
![pythonista_book](/public/image/20170416/pythonista_book.jpg)
...
15 Apr 2017
『Effective Python』を読んだ。
メインで扱っている言語がPHPとJavaScriptで、これらのコードの書き方の作法はわかっているがPythonのそれはわかっていない。
Pythonらしい書き方、行儀のよいPythonコードの書き方を学ぶためにこの本を読んだ。
よく、他の言語から入ってきた人が書いたコードで 「あーこれPHPじゃこんなやり方しないよなー。ちょっといけてねーなー」と思うことがよくあり、 自分の書いたPythonコードがそう思われたくない。
Pythonicな書き方を学ぶにはこの本がよい、と風の噂で聞いたので読んでみた。
![effective_python](/public/image/20170415/effective_python.jpg)
中級者・上級者向けの本であるためか、Pythonの文法・基本的な知識がないと読めない本である。
一番自分が知りたかったPythonicな書き方というものは最低限知れたのかなと思う。
最低限というのは、小さい単位でコードを分割したときの場合においてPythonicに書けそうだが、...
06 Apr 2017
来週から本格的にPythonでデータ分析を始めることになるので、 そのまえにPythonの復習をすることにした。
オライリーの『入門 Python 3』を読んだ。 原題は『Introducing Python』。
対象としている読者は「プログラミング初心者」らしい。
さすがオライリー。こんなん初心者殺しやわ。
オライリーの本で初心者向けというのはだいたいウソ。
別のプログラミング言語をやったことがある人じゃないと30ページくらいで挫折すると思う。
![introduction_python3](/public/image/20170406/introduction_python3.jpg)
中級者以上にとっては、今からPythonを学ぶために読む本としてはとてもよいと思う。
...
25 Mar 2017
作業開始の合図はTMGEのゲットアップルーシー。
朝からテンションをあげるには最適な曲である。
![tmge_playlist.png](/public/image/20170325/tmge_playlist.png)
全曲TMGEで占められたプレイリストが終わる頃にちょうどよくミーティングが始まる。
リモートワークだと当然ひとりで作業することになるので、自分でモチベートさせていかなければならない。
競技開始前に精神集中または闘争心に火をつけるためにアスリートが音楽を聴くのと似たようなものである。
闘争心だいじ。
TMGEは闘争心に火をつけるのにまさにうってつけ。
(本当は最後のスタジオアルバムの曲を入れたいんだけどCD失くしてしまって聴けない…)
プログラマには闘争心が必要だ。 闘争心を持たずにコードリーディングすると、クソコードというモンスターにやられてしまう…
...
23 Mar 2017
エンジニアにとって資格はあまり意味はない。
IT資格は弁護士免許、医師免許といった業務独占資格ではない。
エンジニアになるのに資格は必要ないのである。
ではどうしてIT資格というものがあるのか。
純粋に技術力を測るものさしの役割を担うのだが、昔ならいざしらず現在ではGitHubやQiitaなどがものさしとしての役割を担っている。
資格が優れたエンジニアということを証明するものではない。
だが、その分野について「勉強した」ということの証明にはなる。
過去勉強したことは今でも役に立っている。
以下は過去取得したものである。
![capabilities](/public/image/20170323/capabilities.jpg)
上段左から
20 Mar 2017
田舎はよい。
空気がうまい。
水がうまい。
米がうまい。
野菜がうまい。
人混みがない。
星空がきれい。
田舎なので小洒落た格好をする必要もない。
田舎なので電車に乗らなくてもよい。
こんな田舎に住んでいる。
![country1](/public/image/20170320/country1.jpg)
...
18 Mar 2017
リモートワークをしているので、 当然、会社で仕事をすることはほとんどない。 「ノマドワーキング」という言葉がようやく一般的になったかと思うが、自分の場合は外で作業することはなくほぼ自宅の自分の机で作業している。
座り慣れた椅子と複数のディスプレイ、使い慣れたキーボードがないと作業効率が落ちてしまう(気がする)。
リモートワークのよいところは作業効率の改善のためにいろいろ工夫できることである。
いろいろ工夫した結果、現在以下のような環境で作業している。
![desk1](/public/image/20170318/desk1.jpg)
上の画像じゃわかりづらいかもしれないが、 21インチのディスプレイ2枚と16インチのディスプレイ1枚+MacBookProのディスプレイ1枚の4枚。
タブレット端末のディスプレイもあわせると5枚もある。
人によってはこんなにディスプレイはいらないかもしれないが、個人的にはディスプレイは最低2枚、できれば3枚は欲しい。
基本的に正面の2枚をMacBookProに繋げている。
...