ブック・インサイド―『Python機械学習プログラミング』学び方ガイド

2016年6月30日(木)
福島 真太朗(ふくしま しんたろう)
本記事では、書籍『Python機械学習プログラミング』を読むために必要な知識、読み方等について説明します。

本書の構成

本書の章立ては以下のようになっています。

  • 第1章 「データから学習する能力」をコンピュータに与える
  • 第2章 分類問題 -- 機械学習アルゴリズムのトレーニング
  • 第3章 分類問題 -- 機械学習ライブラリscikit-learnの活用
  • 第4章 データ前処理 -- よりよいトレーニングセットの構築
  • 第5章 次元削減でデータを圧縮する
  • 第6章 モデル評価とハイパーパラメータのチューニングのベストプラクティス
  • 第7章 アンサンブル学習 -- 異なるモデルの組み合わせ
  • 第8章 機械学習の適用1 -- 感情分析
  • 第9章 機械学習の適用2 -- Webアプリケーション
  • 第10章 回帰分析 -- 連続値をとる目的変数の予測
  • 第11章 クラスタ分析 -- ラベルなしデータの分析
  • 第12章 ニューラルネットワーク -- 画像認識トレーニング
  • 第13章 ニューラルネットワーク -- 数値計算ライブラリTheanoによるトレーニングの並列化

第1章は導入にあたり、前半では機械学習が「教師あり学習」「教師なし学習」「強化学習」の3種類に大別されること、そしてそれぞれの概要が説明されています。本書では、「教師あり学習」と「教師なし学習」について扱われます。また、本章の後半では使用する数学的な記法、PythonやAnacondaの導入等について説明されています。

2章以降の章をカテゴライズしてそれぞれの章の依存関係を図1に示します。

図1:本書の各章の関係
図1:本書の各章の関係

図1では、本書の内容を以下の4つの観点でカテゴライズしています。なお、5章については、機械学習のパイプラインと教師なし学習のアルゴリズムの双方に分類しています。

  1. 機械学習のパイプライン(4章、5章、6章、および「2. 教師なし学習のアルゴリズム」の該当章)
  2. 教師あり学習のアルゴリズム(2章、3章、7章、10章、12章、13章)
  3. 教師なし学習のアルゴリズム(5章、11章)
  4. 機械学習の応用(8章、9章)

以上では、機械学習のアルゴリズムを「教師あり学習」と「教師なし学習」で分類しました。本書では、「教師あり学習」として「分類」と「回帰」の2つのタスク、「教師なし学習」として「次元削減」と「クラスタリング」の2つのタスクを扱っています。

1. 機械学習のパイプラインに該当する章では、分類や回帰により教師あり学習のモデルを構築し評価するときに必要な処理を説明しています。これは、実務で機械学習を適用する際に必要となる実践的な内容です。4章ではデータの前処理、5章では次元削減、6章ではハイパーパラメータのチューニングや予測の評価等について説明されています。これらの章は順番に読んでいくとよいでしょう。また、機械学習のパイプラインで現れる「学習アルゴリズム」を知るには、「2. 教師あり学習のアルゴリズム」の該当する章を参照する必要があります。なお、5章の次元削減で扱われる主成分分析や判別分析の式の詳細な導出を知りたい場合は、以下の書籍等を参照されることをお勧めします。

■『わかりやすいパターン認識』(オーム社、1998年)

2. 教師あり学習のアルゴリズムに該当する章では、分類と回帰のアルゴリズムが説明されています。分類は2章、3章、7章、12章、13章、回帰は10章で説明されています。分類については、7章を読むには3章、12章を読むには2章、13章を読むには12章をそれぞれ読んでおくと理解が深まると思います。

3. 教師なし学習のアルゴリズムは、5章で次元削減、11章でクラスタリングが説明されています。これら2つの章はそれぞれ独立に読むことが可能です。

4. 機械学習の応用は、8章で映画のレビュー文に対して肯定意見か否定意見かを分類するモデルを構築し、9章でWebアプリケーションを作成しています。これら2つの章はセットのため、順番に読む必要があります。なお、8章はテキストデータの解析(自然言語処理、テキストマイニング)の一例となっているため、この分野に関心のある場合は目を通したほうがよいでしょう。

各章で必要とされる「Python」「ライブラリ」「数学」のそれぞれの知識を評価すると表2のようになります。

表2:各章のおおまかな難易度
表2:各章のおおまかな難易度

特に注意が必要なのは、2章は比較的早いうちにクラスを用いてパーセプトロンやADALINEというアルゴリズムの実装が行われることです。そのため、Pythonの知識に不安がある場合は2章を後回しにして3章でscikit-learnライブラリを使用しながら、分類のアルゴリズムに慣れていくのも一つの手です。この後、「本書の読み方のプラン」で詳しく説明します。なお、5月下旬に刊行された以下の書籍には、2章で扱われる題材が歴史的な経緯も含めて説明されています。読み物として面白いので、興味のある方は副読本として一読されることをお勧めします。

著者
福島 真太朗(ふくしま しんたろう)
1981年生まれ。株式会社トヨタIT開発センターのリサーチャー。2004年に東京大学理学部物理学科卒業。2006年東京大学大学院新領域創成科学研究科修士課程修了。専攻は物理学・応用数学。

連載バックナンバー

開発言語書籍・書評

ブック・インサイド『Python機械学習プログラミング』―単純な例でADALINEのイメージをつかむ

2016/9/16
今回も前回に引き続き、書籍『Python機械学習プログラミング』の2章の内容についてより分かりやすく理解するためのヒントを解説していきます。今回は、ADALINEのイメージがつかめるように、ADALINEのシンプルな例を取り上げます。
開発言語書籍・書評

ブック・インサイド『Python機械学習プログラミング』―パーセプトロンを読み解く

2016/8/8
前回は、書籍『Python機械学習プログラミング』を読むために必要な知識、読み方等について説明しました。今回は、2章の内容についてより分かりやすく理解するためのヒントを解説していきます。
開発言語書籍・書評

ブック・インサイド―『Python機械学習プログラミング』学び方ガイド

2016/6/30
本記事では、書籍『Python機械学習プログラミング』を読むために必要な知識、読み方等について説明します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています