機械学種のエッセンス 実装しながら学ぶPython、数学、アルゴリズム
機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)
ソフトバンククリエイティブ
著者:加藤公一
はじめに
謝辞
目次
第01章 学習を始める前に
01 本書の目的
02 本書は何を含まないのか
適切な機械学習アルゴリズムの選び方
最適な実装
ディープラーニング(深層学習)
03 機械学習の初歩
04 実行環境の準備
何をどうインストールするか
Anacondaのインストール
Windowsの場合
macOSの場合
Linuxの場合
その他の選択肢
サンプルのダウンロード
Column Pythonのバージョンについて
第02章 Pythonの基本
01 プログラムの実行方法
REPL
ファイルの実行
Jupyter Notebook
プログラムの実行
ファイルの実行
グラフの表示
Jupyter Notebookの終了
02 基本的な文法
コメント
03 数値と文字列
04 複数行処理
05 制御構造
06 リスト、辞書、集合
リスト
タプル
シーケンス型
辞書
集合(Set)
07 関数定義
08 オブジェクト指向
標準ライブラリの利用
クラス定義
09 モジュール
モジュールの作成
10 ファイル操作
pickleモジュールの利用
その他のファイル形式
11 例外処理
Column Pythonで何ができるのか
第03章 機械学習に必要な数学
01 基本事項の確認
集合
数列
写像と関数
02 線形代数
ベクトルの基本
ベクトルの内積
ベクトルの幾何的イメージ
行列の基本
行列の演算
ブロック化による演算の効率化
逆行列と連立方程式
逆行列と線形独立性
一次変換
固有値
直行行列
対象行列
03 微積分
極限
指数関数
対数関数
式03-13の照明
式03-14の照明
式03-15の照明
微分
多項式の微分
積・商の微分と高階導関数
合成関数の微分と逆関数の微分
指数関数と対数関数の微分
べき乗の微分
関数の増減と極大・極小
不定積分
定積分
偏微分と勾配
第04章 Pythonによる数値計算
01 数値計算の基本
浮動小数点の演算
演算による桁落ち
数値範囲の考慮
02 NumPyの基本
NumPyの配列
2次元配列
配列のデータ属性
reshapeメソッドと形状の変更
その他の配列の操作
行列の連結
03 配列の基本計算
ブロードキャスト
配列の演算
04 疎行列
05 NumPy/SciPyによる線形代数
06 乱数
再現性と乱数の種
07 データの可視化
折れ線グラフ
散布図
曲線のグラフ
複数の線を表示する
ヒストグラム
複数のグラフを並べて表示する
等高線の描画
08 数理最適化
線形計画問題
2次計画法
勾配降下法
ニュートン法
数値微分に関する補足
ラグランジュ未定乗数法
09 統計
統計基本量
正規分布と確立密度関数
第05章 機械学習アルゴリズム
01 準備
入力データについて
用語
インターフェース
02 回帰
原点を通る直線による近似
一般の直線による近似
特徴量ベクトルが多次元の場合
実践的な例
機械学習アルゴリズムの評価について
03 リッジ回帰
ハイパーパラメータとチューニング
04 汎化と過学習
モデルの汎化性能
交差検証
05 ラッソ回帰
文献に関するメモ
06 ロジスティック回帰
07 サポートベクタマシン
分離不可能な場合
カーネル法
文献に関するメモ
08 k-Means法
09 主成分分析(PCA)
多次元への射影と特異値分解
PCAのアルゴリズム
参考文献と読書案内
INDEX