ITエンジニアのための機械学習理論入門
2015年10月17日紙版発売
2015年10月17日電子版発売
中井悦司 著
A5判/256ページ
定価2,838円(本体2,580円+税10%)
ISBN 978-4-7741-7698-7
ただいま弊社在庫はございません。
書籍の概要
この本の概要
現在話題となっている機械学習(Machine Learning)のツールやライブラリは内部でどのような計算をしているのか? 計算で得られた結果にはどのような意味があり,どのようにビジネス活用すればよいのか?――という疑問を持つエンジニアが増えています。本書は機械学習理論を数学的な背景からしっかりと解説をしていきます。そしてPythonによるサンプルプログラムを実行することにより,その結果を見ることで機械学習を支える理論を実感できるようになります。
こんな方におすすめ
- 機械学習を知りたい方
- しくみを正しく知ってビジネスに役立てたい方
著者の一言
筆者は,業務システムでのオープンソースの活用を促進する企業に勤務しており,日々の業務で直接に機械学習に関わっているわけではありません。機械学習の理論については,大学時代に学んだ統計学(統計物理学)の知識を基に,個人的な興味で学習を続けてきました。そのような中,「業務として機械学習に関わらざるを得ない」というITエンジニアが増えていることに気が付き,機械学習の基礎知識をエンジニア仲間に広げていきたいと考えるようになりました。
いまは,機械学習のツールやライブラリーがオープンソースで誰でも自由に利用できる時代です。しかしながら,その背後にある「理論」こそが万人に解放されるべきものだと信じています。機械学習は,高度な数学の理論が現実世界の問題解決に役立てられる舞台であり,ITエンジニアの知的探究心を刺激する最高の素材です。機械学習の面白さを知れば,「学校の数学は社会で役に立たない」なんて,まったくの勘違いだとわかるでしょう。
本書をきっかけに,「もう一度,数学を学びなおして,より高度な機械学習の理論をマスターしよう」と考える読者が現れることを心待ちにしています。
https://github.com/enakai00/ml4se/raw/master/ml4se.zip
本書で使用しているサンプルプログラムは上記GitHubページよりダウンロード可能です。本書を読み進める際に,機械学習理論の確認のためにご利用ください。
この書籍に関連する記事があります!
- 機械学習理論入門の入門
- 2015年のIT業界の話題は「機械学習」でした。
本書のサンプル
本書の一部ページを,PDFで確認することができます。
- サンプルPDFファイル(871KB)
本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。
目次
第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 付録―最尤推定法とベイズ推定の関係
この本に関連する書籍
-
ITエンジニアのための強化学習理論入門
前作の『ITエンジニアのための機械学習理論入門』から,5年経過しましたが,AI(人工知能)や機械学習に対しての期待と関心はまったく衰えません。むしろ機械学習の利用...
-
AIエンジニアを目指す人のための 機械学習入門 実装しながらアルゴリズムの流れを学ぶ
機械学習はAI(人工知能)の基礎技術です。今後AIの利活用が進むにつれて、機械学習をコンピュータシステムに組み込んでビジネスに活用できる人材(本書ではAIエンジニ...
-
わけがわかる機械学習 ─現実の問題を解くために、しくみを理解する
機械学習が話題に上ることも増えてきましたが,実際には手っ取り早くできるものではなく,ライブラリを使うだけではやりたいことをうまく実現できません。もとになる考...
-
やってみよう! 機械学習
月刊誌『Software Design』の特集や単発企画で評判の良い,機械学習とPython関連の記事を再編纂。機械学習・深層学習に取り組んでいる開発現場のITエンジニアが自身で試...
-
データサイエンティスト養成読本 機械学習入門編
ビッグデータ分析をきっかけとして「機械学習」に注目が集まり,ビジネス利用への検討がはじまっています。しかし,実際に「機械学習」を理解しているエンジニアや分析...
-
データサイエンティスト養成読本 [ビッグデータ時代のビジネスを支えるデータ分析力が身につく!]
企業や組織は「ビッグデータ」時代を迎え,成果へのプロセスをデータ分析から得られる判断に委ねようとしています。「データサイエンティスト」は,データ分析を中心と...
-
Python ポケットリファレンス
Googleで使われているオブジェクト指向型スクリプト言語「Python(パイソン)」。最近ではクラウドコンピューティングを実現する GoogleAppsを使うための言語としても注目...