ブック・インサイド―『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では、本書の内容を以下の4つの観点でカテゴライズしています。なお、5章については、機械学習のパイプラインと教師なし学習のアルゴリズムの双方に分類しています。
- 機械学習のパイプライン(4章、5章、6章、および「2. 教師なし学習のアルゴリズム」の該当章)
- 教師あり学習のアルゴリズム(2章、3章、7章、10章、12章、13章)
- 教師なし学習のアルゴリズム(5章、11章)
- 機械学習の応用(8章、9章)
以上では、機械学習のアルゴリズムを「教師あり学習」と「教師なし学習」で分類しました。本書では、「教師あり学習」として「分類」と「回帰」の2つのタスク、「教師なし学習」として「次元削減」と「クラスタリング」の2つのタスクを扱っています。
1. 機械学習のパイプラインに該当する章では、分類や回帰により教師あり学習のモデルを構築し評価するときに必要な処理を説明しています。これは、実務で機械学習を適用する際に必要となる実践的な内容です。4章ではデータの前処理、5章では次元削減、6章ではハイパーパラメータのチューニングや予測の評価等について説明されています。これらの章は順番に読んでいくとよいでしょう。また、機械学習のパイプラインで現れる「学習アルゴリズム」を知るには、「2. 教師あり学習のアルゴリズム」の該当する章を参照する必要があります。なお、5章の次元削減で扱われる主成分分析や判別分析の式の詳細な導出を知りたい場合は、以下の書籍等を参照されることをお勧めします。
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章は比較的早いうちにクラスを用いてパーセプトロンやADALINEというアルゴリズムの実装が行われることです。そのため、Pythonの知識に不安がある場合は2章を後回しにして3章でscikit-learnライブラリを使用しながら、分類のアルゴリズムに慣れていくのも一つの手です。この後、「本書の読み方のプラン」で詳しく説明します。なお、5月下旬に刊行された以下の書籍には、2章で扱われる題材が歴史的な経緯も含めて説明されています。読み物として面白いので、興味のある方は副読本として一読されることをお勧めします。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- AIとRPAの連携
- Pythonの利用実態調査「Python Developers Survey 2018」発表、データ分析目的の利用が急増
- Pythonの利用実態調査「Python Developers Survey 2018」発表、データ分析目的の利用が急増
- 基礎から始める!Python初心者におすすめの本10選
- さらに進化を遂げたInterSystems IRIS data platform Pythonのネイティブサポートが広げる可能性とは
- 機械学習とアルゴリズム
- Notebook Serversを使って機械学習モデルを作成する
- ブック・インサイド『Python機械学習プログラミング』―パーセプトロンを読み解く
- OpenShiftでデータサイエンティストとアプリ開発者が協調する流れをデモを交えて紹介
- ライセンスからDevOps、AIまで幅広いトピックを紹介 Open Developers Conference 2017 Tokyo