ITエンジニアのための機械学習理論入門

技術評論社さんから頂きました。頂いてから何ヶ月も経ってしまいました・・

ITエンジニアのための機械学習理論入門

ITエンジニアのための機械学習理論入門

本書では最初に「データを活用してより質の高いビジネス判断を行うこと」をデータサイエンスの目的と位置づけ、その目的を実現するのがデータサイエンティストの役割であると定義しています。そのためにビジネスを理解し適切なデータを選択することの重要性が述べられています。受け取ったデータにアルゴリズムを適用してレポートを出すことにとどまらず、データを通してビジネスを理解し、意思決定についてビジネスオーナーに助言するところまでできてこそのデータサイエンティストということなのでしょう。

自分も仕事で、多変量解析 / 決定木 / ニューラルネット / クラスタリングなどの各種アルゴリズムを使ってマーケティングのためのデータ分析やりました。マーケティング部門の要望に応じて仮説を検証するのはとても大変だったので非常に共感できます。期待通りの結果が出ないと失望され、期待通りの結果を出すと当たり前だと言われてしまう。

仮説を立て、目的に合うデータを収集し加工するという前工程はとても地道な泥臭い作業で、本書に登場するようなアルゴリズムを適用するという部分は作業全体のほんの一部です*1

本書の構成として最初に数学記号と基本公式が掲載されており、本書を読み進める上で必要な数学のトピックについて各章に「数学徒の小部屋」というコラムで補足説明が書かれています。

さらに本書では NumPy / ScPy など豊富なデータ解析ライブラリが揃っている Python によるコードが示されています。ライブラリのスイートである Canopy を使って実際のデータを分析して結果を確認する手順が示されており、初学者に向けた解析ツール活用の手引きにもなっています。

www.enthought.com

2章の最小二乗法で予測モデルの構築、3章の最尤推定法で確率モデルの概念が理解できるようになっています。データによる学習(モデルの構築)と予測・評価という作業を3章までで体験できます。

4章のパーセプトロンでは深層学習でも利用される確率的勾配降下法アルゴリズムが、5章でマーケティングでも多用されるロジスティック回帰が解説されています。

6章と7章で教師なし学習によるクラスタリングアルゴリズムである K-means 法と EM アルゴリズムが、8章ではスパム判定で近年有名になった教師あり学習アルゴリズムベイズ推定が登場します。

丁寧な解説とともに、数式だけで掴みづらいモデルの特性を学習データの増加とともに収束していくグラフを示すことで視覚的に理解できるように配慮されているところが良いと思いました。自分も数学モデルの理解は浅いので、このぐらい丁寧に解説してもらえるのはありがたいです。

著者の中井悦司氏は無理ゲーな状況に身を置いて強引に HP / MP をアップするタイプのすごい方のようで。

togetter.com

話は逸れますが、冒頭で触れられている「ビジネス上の意思決定に資する分析ができるようになるにはビジネスの理解が不可欠」というところは、自分の本職であるソフトウェア開発にも通じるものがあると感じました。対象業務やユーザーの特性を理解しないと良い仕様、良いコードは書けないし、コードを書いて動かし修正することで問題の理解が深まるところも似ています。

なお、ディープラーニングについては本書の対象外ですが、パーセプトロンの解説を取っ掛かりとして「深層学習」を読み進めるのが良いかもしれません。

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

統計モデルの理解を深めるために「データ解析のための統計モデリング入門」に挑戦するのも良いでしょう。

ちなみに、自分は学生時代は実験心理学専攻だったのですが、データ特性に応じた最適な統計的仮説検定の適用をガイドしてくれる「心理学のためのデータ解析テクニカルブック」を愛用していました。今は紛失してしまいましたが、とても便利でした。

心理学のためのデータ解析テクニカルブック

心理学のためのデータ解析テクニカルブック

*1:そもそも対象を理解するという目的がないと、仮説の構築すら危うい。