Python でプログラミングして理解する 機械学習アルゴリズム

パイソンデプログラミングシテリカイスルキカイガクシュウアルゴリズム

Python でプログラミングして理解する 機械学習アルゴリズムの表紙
プログラミング
著者:
神野健哉(ジンノケンヤ)
出版社:
近代科学社
出版日:
2022年02月25日頃
ISBN:
9784764906365
在庫:
在庫あり
0

なぜ注目されているか

総合103位 ↓ 19 ランクダウン 言及 13 件
言及数
194位
出版日02420222023202420252026

書籍紹介

「機械学習」を Python でプログラミングし、アルゴリズムの動きを理解しよう!

機械学習のプログラムは様々なライブラリ・モジュールを使うことで簡単に試すことができる。その反面、単にモジュールを使用するだけでは機械学習の中のアルゴリズムがブラックボックス化してしまい、計算結果の意味を正しく捉えることも難しくなってくる。
本書ではまず「機械学習」のアルゴリズムを解説し、機械学習の動きを Python で実際にプログラミングすることで、アルゴリズムの流れが理解できるよう構成している。まずは黎明期からの機械学習アルゴリズムを理解し、それを実装することが目標となる。

さらに Python 用の機械学習モジュールの使用法も解説し、これらを使用したプログラムの作成も行う。機械学習を使いこなすためのイントロダクションとなる 1 冊。

1 章 データに基づいた解析・機械学習とは

2 章 データの標準化・主成分分析

3 章 線形回帰

4 章 過剰適合

5 章 最尤推定法

6 章 カーネル法

7 章 線形判別

8 章 サポートベクターマシン

9 章 パーセプトロンとロジスティック回帰

10 章 多層ニューラルネットワーク

11 章 深層学習

12 章 畳み込みニューラルネットワーク

A Google Colaboratory

B Python 入門

技書の森解説

『Python でプログラミングして理解する 機械学習アルゴリズム』 (神野 健哉 著、近代科学社、2022 年 2 月刊) は、主成分分析や線形回帰からサポートベクターマシン (SVM)、多層ニューラルネットワーク、畳み込みニューラルネットワーク (CNN) まで、機械学習の代表的なアルゴリズムをまず解説し、その動きを Python で自分でプログラミングしながら理解していく教科書です。版元の紹介文は、ライブラリやモジュールを使うだけではアルゴリズムの中身がブラックボックスになり、計算結果の意味を正しく捉えにくくなるという問題意識を示しており、黎明期からの機械学習アルゴリズムを理解して実装することを目標に据えています。そのうえで Python 用の機械学習モジュールの使い方も扱う、機械学習を使いこなすためのイントロダクションという位置づけです。

全 12 章の構成、主成分分析から CNN の実装まで

目次は全 12 章と付録 2 本です。1 章で機械学習の種類と実装の考え方を整理したあと、2 章でデータの標準化と主成分分析、3 章で単回帰と多項式回帰による線形回帰、4 章で過剰適合と交差検証、正則化を扱います。5 章は最尤推定法と MAP 推定法、6 章はガウス関数による近似からカーネル関数へ進むカーネル法、7 章は Fisher の線形判別分析法を含む線形判別です。8 章ではハードマージンとソフトマージンの SVM、カーネル SVM を取り上げ、9 章のパーセプトロンとロジスティック回帰を経て、10 章で誤差逆伝播法を含む多層ニューラルネットワーク、11 章で勾配消失と ReLU 関数を中心とする深層学習、12 章で CNN へ至ります。2 章と 8 章、11 章には scikit-learn による実装の節があり、12 章では TensorFlow による多層ニューラルネットワークと CNN の実装を扱います。付録 A は Google Colaboratory の始め方と環境、制約、付録 B は条件分岐やデータ構造、NumPy の ndarray を扱う Python 入門です。

推定と正則化、カーネルを数式とコードでつなぐ読みどころ

この章立てには、古典的な手法どうしの理論上のつながりを順にたどれる並びが見て取れます。線形回帰で誤差の二乗和を最小にする係数の求め方は、誤差を正規分布と仮定した確率モデルの最尤推定として読み直すことができ、さらに係数に事前分布を置く MAP 推定は、4 章で扱う正則化と同じ形の式に行き着きます。同じように、入力を非線形の関数で写してから線形に扱うという考え方は、6 章のカーネル法と 8 章のカーネル SVM をつなぐ軸です。9 章のパーセプトロンから 10 章の ニューラルネットワーク と誤差逆伝播法、11 章の勾配消失と ReLU 関数へ進む流れは、層を深くしたときに何が学習を妨げ、どう回避してきたかという歴史的な課題の順でもあります。こうした関係は数式だけでは実感しにくく、正則化の強さやカーネルの幅を変えたときに決定境界や予測曲線がどう変わるかを自分のコードで描いてみると、ハイパーパラメーターの意味が勘ではなく理屈として残ります。

数学の前提と Google Colaboratory で動かす環境

付録に Python 入門が付いているとはいえ、プログラミング自体を一から学ぶ本ではありません。最尤推定や誤差逆伝播法を式で追うには、ベクトルと行列の計算、偏微分、確率分布の基本を一通り知っていると読み進めやすくなります。数式に不安がある場合は、機械学習に必要な数学の本 で学び直しの範囲を先に決めておくと遠回りを減らせます。実行環境については付録 A で Google Colaboratory を扱っており、手元に Python の環境を用意しなくてもブラウザー上でコードを動かせます。ただし本書は 2022 年刊で、scikit-learn や TensorFlow は版を重ねるたびに関数の引数や既定値が変わることがあるため、動かない箇所は版元の読者サポートにある正誤表とソースコードを確認しながら進めるのが確実です。

一方で、Transformer や生成モデルといった大規模な深層学習の手法、学習済みモデルを本番の業務に組み込んで運用する方法は、目次に含まれていません。そうした領域を目的とする人や、ライブラリの使い方だけを手早く知りたい人は、機械学習とディープラーニングの本の選び方 から目的に合う別の一冊を探すほうが近道です。

裏返せば、scikit-learn で予測は出せるものの、主成分分析や SVM が内部で何を計算しているのかを説明できずにいる人、講義で習った数式をコードに落とせずに止まっている学生にとって、本書は解説と実装を同じ章の中で往復できる手頃な入口です。1 章から順に自分の手でアルゴリズムを書いていけば、ライブラリの出力を根拠を持って読み解く力が身につきます。

言及した記事 (13 件)

関連記事

関連用語

共有: