機械学習を1から10まで学びたいならこれを読め

本格的にKaggleに挑戦しようと思った矢先、機械学習について多少知ってはいたが、最近流行りのxgboostの元となってる決定木周りであったり理解できていない部分が多いことに気づいた。

そこで、改めて機械学習について体系的に学ぼうと思い、機械学習関連の本をAmazonで調べた。 色々な本があったが、レビューが良くて気になったのが「Pythonで始める機械学習」。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

原著の題名が「Introduction to Machine Learning with Python」で機械学習をやってみようと思う人の入門書的な本で、薄い内容と思いきや、ところがどっこい非常に勉強になった。

前処理、教師あり・教師あり学習アルゴリズム、予測モデルの評価から複数処理をまとめて行うパイプラインまで機械学習を行う上でのステップを踏まえて1から10まで体系的に学ぶことができた。

そして何よりも良いと思ったのが、著者自体がsklearnのコントリビュータなので、それぞれのアルゴリズムやロジックの説明の際に、なぜそれを使うのか、どういうデータに対して有効なのか実用例も交えた説明がとてもよかった。

機械学習の本にありがちなのが、アルゴリズムや手法の解説はあれど、「なぜそれを使うのか」「どういう時にそれを使うと有効なのか」に触れられることは少ないように感じる。 Normalizerの変換や特徴量をbin化・対数化すべき時はどんな状況かなど、なぜそれを使うと良いのか一言触れられるだけで自分の中の納得感と説得力がぜんぜん違う。

また、一般的に機械学習のゴールは誤差を最小にして、精度を限りなく高くすることを目標と語られることが多いが、著者自体がビジネス的な経験を多く積んでいるからか、ビジネス的な目標を達成することがゴールであることも心得ている部分が自分の心をぐっと掴んだ。

本書の中でも語られているが、機械学習をビジネスに応用する際に気をつけなければいけない点などは下の戦略的データサイエンス入門にて、語られるということなので、今度読みたいと思う。

戦略的データサイエンス入門 ―ビジネスに活かすコンセプトとテクニック

戦略的データサイエンス入門 ―ビジネスに活かすコンセプトとテクニック