書籍概要

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

著者
発売日
更新日

概要

現在話題となっている機械学習(Machine Learning)のツールやライブラリは内部でどのような計算をしているのか? 計算で得られた結果にはどのような意味があり,どのようにビジネス活用すればよいのか?――という疑問を持つエンジニアが増えています。本書は機械学習理論を数学的な背景からしっかりと解説をしていきます。そしてPythonによるサンプルプログラムを実行することにより,その結果を見ることで機械学習を支える理論を実感できるようになります。

こんな方におすすめ

  • 機械学習を知りたい方
  • しくみを正しく知ってビジネスに役立てたい方

著者から一言

筆者は,業務システムでのオープンソースの活用を促進する企業に勤務しており,日々の業務で直接に機械学習に関わっているわけではありません。機械学習の理論については,大学時代に学んだ統計学(統計物理学)の知識を基に,個人的な興味で学習を続けてきました。そのような中,「業務として機械学習に関わらざるを得ない」というITエンジニアが増えていることに気が付き,機械学習の基礎知識をエンジニア仲間に広げていきたいと考えるようになりました。
いまは,機械学習のツールやライブラリーがオープンソースで誰でも自由に利用できる時代です。しかしながら,その背後にある「理論」こそが万人に解放されるべきものだと信じています。機械学習は,高度な数学の理論が現実世界の問題解決に役立てられる舞台であり,ITエンジニアの知的探究心を刺激する最高の素材です。機械学習の面白さを知れば,「学校の数学は社会で役に立たない」なんて,まったくの勘違いだとわかるでしょう。
本書をきっかけに,「もう一度,数学を学びなおして,より高度な機械学習の理論をマスターしよう」と考える読者が現れることを心待ちにしています。

https://github.com/enakai00/ml4se/raw/master/ml4se.zip

本書で使用しているサンプルプログラムは上記GitHubページよりダウンロード可能です。本書を読み進める際に,機械学習理論の確認のためにご利用ください。

サンプル

samplesamplesample

目次

第1章 データサイエンスと機械学習

1.1 ビジネスにおけるデータサイエンスの役割

1.2 機械学習アルゴリズムの分類

  • 1.2.1 分類:クラス判定を生み出すアルゴリズム
  • 1.2.2 回帰分析:数値を予測するアルゴリズム
  • 1.2.3 クラスタリング:教師なしのグループ化を行うアルゴリズム
  • 1.2.4 その他のアルゴリズム

1.3 本書で使用する例題

  • 1.3.1 回帰分析による観測値の推測
  • 1.3.2 線形判別による新規データの分類

1.4 分析ツールの準備

  • 1.4.1 本書で使用するデータ分析ツール
  • 1.4.2 実行環境のセットアップ手順(CentOS 6編)
  • 1.4.3 実行環境のセットアップ手順(Mac OS X 編)
  • 1.4.4 実行環境のセットアップ手順(Windows 7/8.1 編)
  • 1.4.5 IPythonの使い方

第2章 最小二乗法:機械学習理論の第一歩

2.1 多項式近似と最小二乗法による推定

  • 2.1.1 トレーニングセットの特徴変数と目的変数
  • 2.1.2 多項式近似と誤差関数の設定
  • 2.1.3 誤差関数を最小にする条件
  • 2.1.4 サンプルコードによる確認
  • 2.1.5 統計モデルとしての最小二乗法

2.2 オーバーフィッティングの検出

  • 2.2.1 トレーニングセットとテストセット
  • 2.2.2 テストセットによる検証結果
  • 2.2.3 クロスバリデーションによる汎化能力の検証
  • 2.2.4 データ数によるオーバーフィッティングの変化

2.3 付録―ヘッセ行列の性質

第3章 最尤推定法:確率を用いた推定理論

3.1 確率モデルの利用

  • 3.1.1 「データの発生確率」の設定
  • 3.1.2 尤度関数によるパラメーターの評価
  • 3.1.3 サンプルコードによる確認

3.2 単純化した例による解説

  • 3.2.1 正規分布のパラメトリックモデル
  • 3.2.2 サンプルコードによる確認
  • 3.2.3 推定量の評価方法(一致性と不偏性)

3.3 付録―標本平均/標本分散の一致性と不偏性

  • 3.3.1 標本平均/標本分散の一致性と不偏性の証明
  • 3.3.2 サンプルコードによる確認

第4章 パーセプトロン:分類アルゴリズムの基礎

4.1 確率的勾配降下法のアルゴリズム

  • 4.1.1 平面を分割する直線の方程式
  • 4.1.2 誤差関数による分類結果の評価
  • 4.1.3 勾配ベクトルによるパラメーターの修正
  • 4.1.4 サンプルコードによる確認

4.2 パーセプトロンの幾何学的な解釈

  • 4.2.1 バイアス項の任意性とアルゴリズムの収束速度
  • 4.2.2 パーセプトロンの幾何学的解釈
  • 4.2.3 バイアス項の幾何学的な意味

第5章 ロジスティック回帰とROC曲線:学習モデルの評価方法

5.1 分類問題への最尤推定法の適用

  • 5.1.1 データの発生確率の設定
  • 5.1.2 最尤推定法によるパラメーターの決定
  • 5.1.3 サンプルコードによる確認

5.2 ROC曲線による学習モデルの評価

  • 5.2.1 ロジスティック回帰の現実問題への適用
  • 5.2.2 ROC曲線による性能評価
  • 5.2.3 サンプルコードによる確認

5.3 付録―IRLS法の導出

第6章 k平均法:教師なし学習モデルの基礎

6.1 k平均法によるクラスタリングと応用例

  • 6.1.1 教師なし学習モデルとしてのクラスタリング
  • 6.1.2 k平均法によるクラスタリング
  • 6.1.3 画像データへの応用
  • 6.1.4 サンプルコードによる確認
  • 6.1.5 k平均法の数学的根拠
  • 6.2 怠惰学習モデルとしてのk近傍法
  • 6.2.1 k近傍法による分類
  • 6.2.2 k近傍法の問題点

第7章 EMアルゴリズム:最尤推定法による教師なし学習

7.1 ベルヌーイ分布を用いた最尤推定法

  • 7.1.1 手書き文字の合成方法
  • 7.1.2 「画像生成器」による最尤推定法の適用

7.2 混合分布を用いた最尤推定法

  • 7.2.1 混合分布による確率の計算
  • 7.2.2 EM アルゴリズムの手続き
  • 7.2.3 サンプルコードによる確認
  • 7.2.4 クラスタリングによる探索的なデータ解析

7.3 付録―手書き文字データの入手方法

第8章 ベイズ推定:データを元に「確信」を高める手法

8.1 ベイズ推定モデルとベイズの定理

  • 8.1.1 ベイズ推定の考え方
  • 8.1.2 ベイズの定理入門
  • 8.1.3 ベイズ推定による正規分布の決定:パラメーター推定
  • 8.1.4 ベイズ推定による正規分布の決定:観測値の分布の推定
  • 8.1.5 サンプルコードによる確認

8.2 ベイズ推定の回帰分析への応用

  • 8.2.1 パラメーターの事後分布の計算
  • 8.2.2 観測値の分布の推定
  • 8.2.3 サンプルコードによる確認

8.3 付録―最尤推定法とベイズ推定の関係

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2016年10月11日更新)

P.3(はじめに)8行目

オープンソースして提供されるようになり
オープンソースして提供されるようになり

P.8 中見出し

■ベクトルの内積と外積
■ベクトルの内積と

P.9 6行目(外積→直積)

「縦ベクトル」✕「横ベクトル」は外積を表します。
「縦ベクトル」✕「横ベクトル」は積を表します。

P.62 5行目

データサインエンティストが自ら
データサイエンティストが自ら

P.107 20行目

真の母数1よりも
真の母数である1よりも

P.119 式(4.1)の直前

次の線形関数

【式】

を用意します。
次の一次関数

【式】

を用意します。

P.141 式(5.1)の直前

線形関数

【式】

を次式で定義します。
一次関数

【式】

を次式で定義します。

P.229 :式(8.62)

誤

正

商品一覧