AI・データサイエンスのための 図解でわかる数学プログラミング
書籍情報
発売日 : 2021年04月22日
著者/編集 : 松田雄馬/千葉彌平/露木宏志
出版社 : ソーテック社
発行形態 : 単行本
書籍説明
内容紹介
機械学習やデータ分析に必要な数学がPythonを使ってやさしく学べます。
目次
序章 Python開発環境を設定してみよう
Prologue 1 Google Colaboratoryを使ってみよう
Prologue 2 Anacondaをダウンロードして開発環境を作ってみよう
Prologue 3 Pythonによるプログラミングを体験してみよう
Prologue 4 ファイルをアップロードしてみよう
第一部 確率統計・機械学習編
第1章 データを手にしてまず行うべきこと
1-1 データを読み込んでみよう
1-2 時系列データを可視化してみよう
1-3 平均値、中央値、最小値、最大値を出力してみよう
1-4 分布の形を見てみよう
1-5 分布の近似曲線を求めてみよう
1-6 プランごとにデータを抽出してみよう
1-7 大口顧客の行動を分析してみよう
1-8 感染症流行前後の顧客の行動を分析してみよう
1-9 条件による顧客の分類をしてみよう
1-10 条件にあった顧客をリストアップしよう
第2章 機械学習を使った分析を行ってみよう
2-1 顧客の行動パターンの類似度を計算しよう
2-2 類似度と機械学習との関係を知ろう
2-3 大口顧客の類似性を主成分分析によって確認しよう
2-4 大口顧客の行動パターンを時系列によって確かめよう
2-5 大口顧客同士の行動パターンの違いをクラスタリングによって可視化しよう
2-6 決定木によって行動の原因を推定してみよう
2-7 決定木の分類結果を可視化し、分類精度を評価しよう
2-8 予測の精度を評価する流れを理解しよう
2-9 さまざまな分類アルゴリズムを比較しよう
2-10 サポートベクトル回帰によって時系列予測をしてみよう
第3章 必要なデータ数を検討しよう
3-1 統計値をシミュレーションしてみよう
3-2 中心極限定理について知ろう
3-3 一ヶ月のデータを正確に取ってみよう
3-4 一ヶ月分のデータから二年分のデータの平均・標準偏差を推定しよう
3-5 標準偏差と信頼度の関係を知ろう
3-6 宿泊者数との相関関係を仮定して被害額の推移を推測しよう
3-7 年間の被害総額とその信頼区間を推定しよう
3-8 安価なアメニティに絞り込んで、二年分のデータの平均・標準偏差を推定し直そう
3-9 安価なアメニティに絞り込んだ結果の二年間の被害額の推移に信頼区間を設定しよう
3-10 二年分のデータによる「答え合わせ」をしてみよう
第二部 数理最適化編
第4章 最適ルート探索問題を題材にした最適化問題を解く方法
4-1 数理最適化問題の解き方を理解しよう
4-2 数理最適化の出発点である「定式化」を理解しよう
4-3 全探索を行ってみよう
4-4 アルゴリズムによる問題の解き方を理解しよう
4-5 動的計画法によって厳密解を求める方法を学ぼう
4-6 動的計画法のソースコードを理解しよう
4-7 近似解を求めるというアプローチを学ぼう
4-8 最近傍法によって近似解を求めよう
4-9 遺伝アルゴリズムを用いて近似解を求める方法を学ぼう
4-10 遺伝アルゴリズムのソースコードを理解しよう
第5章 シフトスケジューリング問題を中心にした最適化問題の全体像
5-1 最適化問題の種類を知ろう
5-2 ソルバーを利用して線形最適化問題を解いてみよう
5-3 非線形最適化問題を解いてみよう
5-4 日雇いアルバイトのシフトを自動で決める方法について検討してみよう
5-5 シフト希望をグラフネットワークで可視化する方法を学ぼう
5-6 マッチング問題を最大流問題に帰着させる方法を学ぼう
5-7 最大流問題を解くためのパーツ「幅優先探索」を理解しよう
5-8 最大流問題を解くためのパーツ「深さ優先探索」を理解しよう
5-9 最大流問題を解いてみよう
5-10 最大流問題を応用して、マッチング問題を解いてみよう
第三部 数値シミュレーション編
第6章 感染症の影響を予測してみよう
6-1 イメージで理解する感染症モデル
6-2 感染症モデルを理解するためのねずみ算
6-3 ねずみ算のパラメータを変化させ、直感的な理解をしてみよう
6-4 実際の生物や社会の現象を説明するロジスティック方程式
6-5 ロジスティック方程式のパラメータを変化させ、直感的な理解をしてみよう
6-6 生物間や競合他社との競争を説明するロトカボルテラ方程式(競争系)
6-7 ロトカボルテラ方程式(競争系)のパラメータを変化させ、直感的な理解をしてみよう
6-8 生物種や他社との共生関係を説明するロトカボルテラ方程式(捕食系)
6-9 ロトカボルテラ方程式(捕食系)のパラメータを変化させ、直感的な理解をしてみよう
6-10 微分方程式を復習しながら、映画や商品のヒットを予測する方法を考えよう
第7章 人の動きをアニメーションのようにシミュレーションしたい
7-1 人の移動をシミュレーションしてみよう
7-2 緊急時の避難行動をシミュレーションしてみよう
7-3 それぞれの人の移動の様子を可視化してみよう
7-4 噂の広まりはシミュレーションできるの?
7-5 経路によって変わる噂や口コミの様子を確認してみよう
7-6 どれだけ噂が広がったか、その浸透度合いをグラフにしてみよう
7-7 人間関係のネットワークを可視化してみよう
7-8 人間関係のネットワークの成長の様子を可視化してみよう
7-9 ネットワークを分析してみよう
7-10 微分方程式を差分化する際の誤差とその対策について知っておこう
第四部 深層学習編
第8章 深層学習による画像認識とその仕組みを知ろう
8-1 深層学習って何ができるの?
8-2 深層学習はどうやって動くの?
8-3 深層学習の「学習」はどうやって進むの?
8-4 深層学習ライブラリを使って直線グラフを予測してみよう
8-5 深層学習ライブラリを使って曲線グラフを予測してみよう
8-6 学習データとしての画像の構造を理解しよう
8-7 深層学習ライブラリを使ってゼロから画像データを学習してみよう
8-8 学習した結果を評価しよう
8-9 学習したネットワークが見ている「特徴」を可視化してみよう
8-10 学習したネットワークの中身を可視化してみよう
第9章 深層学習によって時系列を扱う仕組みを知ろう
9-1 RNNの基礎を理解しよう
9-2 RNNを使ってsin波を予測してみよう
9-3 予測した結果を評価してみよう
9-4 CNNを用いてsin波を予測してみよう
9-5 sin波の予測精度を高めよう
9-6 音の分類のために必要なデータの前処理をしてみよう
9-7 LSTMを使って音の分類をしてみよう
9-8 LSTMを使って分類した結果を評価してみよう
9-9 CNNで音の分類をしてみよう
9-10 CNNで分類した結果を評価してみよう
第10章 深層学習によって実現できる画像処理・言語処理を知ろう
10-1 深層学習によって実現できる処理の全体像を知ろう
10-2 物体検出アルゴリズムYOLOについて知ろう
10-3 YOLOを用いて物体検出を行ってみよう
10-4 物体検出を行った結果を評価してみよう
10-5 画像セグメンテーションSegnetについて知ろう
10-6 Segnetを用いてセグメンテーションを行ってみよう
10-7 セグメンテーションした結果を評価してみよう
10-8 深層学習を用いた自然言語処理Bertについて知ろう
10-9 Bertを用いて文章の分類をしてみよう
10-10 Bertを用いて分類した文章の評価をしてみよう
付録 プログラミングと数学との橋渡し
Appendix 1 数式を動かして理解する正規分布
Appendix 2 微分方程式の差分化による誤差とテイラー展開
Appendix 3 非線形最適化としての機械学習/深層学習における回帰/分類
Prologue 1 Google Colaboratoryを使ってみよう
Prologue 2 Anacondaをダウンロードして開発環境を作ってみよう
Prologue 3 Pythonによるプログラミングを体験してみよう
Prologue 4 ファイルをアップロードしてみよう
第一部 確率統計・機械学習編
第1章 データを手にしてまず行うべきこと
1-1 データを読み込んでみよう
1-2 時系列データを可視化してみよう
1-3 平均値、中央値、最小値、最大値を出力してみよう
1-4 分布の形を見てみよう
1-5 分布の近似曲線を求めてみよう
1-6 プランごとにデータを抽出してみよう
1-7 大口顧客の行動を分析してみよう
1-8 感染症流行前後の顧客の行動を分析してみよう
1-9 条件による顧客の分類をしてみよう
1-10 条件にあった顧客をリストアップしよう
第2章 機械学習を使った分析を行ってみよう
2-1 顧客の行動パターンの類似度を計算しよう
2-2 類似度と機械学習との関係を知ろう
2-3 大口顧客の類似性を主成分分析によって確認しよう
2-4 大口顧客の行動パターンを時系列によって確かめよう
2-5 大口顧客同士の行動パターンの違いをクラスタリングによって可視化しよう
2-6 決定木によって行動の原因を推定してみよう
2-7 決定木の分類結果を可視化し、分類精度を評価しよう
2-8 予測の精度を評価する流れを理解しよう
2-9 さまざまな分類アルゴリズムを比較しよう
2-10 サポートベクトル回帰によって時系列予測をしてみよう
第3章 必要なデータ数を検討しよう
3-1 統計値をシミュレーションしてみよう
3-2 中心極限定理について知ろう
3-3 一ヶ月のデータを正確に取ってみよう
3-4 一ヶ月分のデータから二年分のデータの平均・標準偏差を推定しよう
3-5 標準偏差と信頼度の関係を知ろう
3-6 宿泊者数との相関関係を仮定して被害額の推移を推測しよう
3-7 年間の被害総額とその信頼区間を推定しよう
3-8 安価なアメニティに絞り込んで、二年分のデータの平均・標準偏差を推定し直そう
3-9 安価なアメニティに絞り込んだ結果の二年間の被害額の推移に信頼区間を設定しよう
3-10 二年分のデータによる「答え合わせ」をしてみよう
第二部 数理最適化編
第4章 最適ルート探索問題を題材にした最適化問題を解く方法
4-1 数理最適化問題の解き方を理解しよう
4-2 数理最適化の出発点である「定式化」を理解しよう
4-3 全探索を行ってみよう
4-4 アルゴリズムによる問題の解き方を理解しよう
4-5 動的計画法によって厳密解を求める方法を学ぼう
4-6 動的計画法のソースコードを理解しよう
4-7 近似解を求めるというアプローチを学ぼう
4-8 最近傍法によって近似解を求めよう
4-9 遺伝アルゴリズムを用いて近似解を求める方法を学ぼう
4-10 遺伝アルゴリズムのソースコードを理解しよう
第5章 シフトスケジューリング問題を中心にした最適化問題の全体像
5-1 最適化問題の種類を知ろう
5-2 ソルバーを利用して線形最適化問題を解いてみよう
5-3 非線形最適化問題を解いてみよう
5-4 日雇いアルバイトのシフトを自動で決める方法について検討してみよう
5-5 シフト希望をグラフネットワークで可視化する方法を学ぼう
5-6 マッチング問題を最大流問題に帰着させる方法を学ぼう
5-7 最大流問題を解くためのパーツ「幅優先探索」を理解しよう
5-8 最大流問題を解くためのパーツ「深さ優先探索」を理解しよう
5-9 最大流問題を解いてみよう
5-10 最大流問題を応用して、マッチング問題を解いてみよう
第三部 数値シミュレーション編
第6章 感染症の影響を予測してみよう
6-1 イメージで理解する感染症モデル
6-2 感染症モデルを理解するためのねずみ算
6-3 ねずみ算のパラメータを変化させ、直感的な理解をしてみよう
6-4 実際の生物や社会の現象を説明するロジスティック方程式
6-5 ロジスティック方程式のパラメータを変化させ、直感的な理解をしてみよう
6-6 生物間や競合他社との競争を説明するロトカボルテラ方程式(競争系)
6-7 ロトカボルテラ方程式(競争系)のパラメータを変化させ、直感的な理解をしてみよう
6-8 生物種や他社との共生関係を説明するロトカボルテラ方程式(捕食系)
6-9 ロトカボルテラ方程式(捕食系)のパラメータを変化させ、直感的な理解をしてみよう
6-10 微分方程式を復習しながら、映画や商品のヒットを予測する方法を考えよう
第7章 人の動きをアニメーションのようにシミュレーションしたい
7-1 人の移動をシミュレーションしてみよう
7-2 緊急時の避難行動をシミュレーションしてみよう
7-3 それぞれの人の移動の様子を可視化してみよう
7-4 噂の広まりはシミュレーションできるの?
7-5 経路によって変わる噂や口コミの様子を確認してみよう
7-6 どれだけ噂が広がったか、その浸透度合いをグラフにしてみよう
7-7 人間関係のネットワークを可視化してみよう
7-8 人間関係のネットワークの成長の様子を可視化してみよう
7-9 ネットワークを分析してみよう
7-10 微分方程式を差分化する際の誤差とその対策について知っておこう
第四部 深層学習編
第8章 深層学習による画像認識とその仕組みを知ろう
8-1 深層学習って何ができるの?
8-2 深層学習はどうやって動くの?
8-3 深層学習の「学習」はどうやって進むの?
8-4 深層学習ライブラリを使って直線グラフを予測してみよう
8-5 深層学習ライブラリを使って曲線グラフを予測してみよう
8-6 学習データとしての画像の構造を理解しよう
8-7 深層学習ライブラリを使ってゼロから画像データを学習してみよう
8-8 学習した結果を評価しよう
8-9 学習したネットワークが見ている「特徴」を可視化してみよう
8-10 学習したネットワークの中身を可視化してみよう
第9章 深層学習によって時系列を扱う仕組みを知ろう
9-1 RNNの基礎を理解しよう
9-2 RNNを使ってsin波を予測してみよう
9-3 予測した結果を評価してみよう
9-4 CNNを用いてsin波を予測してみよう
9-5 sin波の予測精度を高めよう
9-6 音の分類のために必要なデータの前処理をしてみよう
9-7 LSTMを使って音の分類をしてみよう
9-8 LSTMを使って分類した結果を評価してみよう
9-9 CNNで音の分類をしてみよう
9-10 CNNで分類した結果を評価してみよう
第10章 深層学習によって実現できる画像処理・言語処理を知ろう
10-1 深層学習によって実現できる処理の全体像を知ろう
10-2 物体検出アルゴリズムYOLOについて知ろう
10-3 YOLOを用いて物体検出を行ってみよう
10-4 物体検出を行った結果を評価してみよう
10-5 画像セグメンテーションSegnetについて知ろう
10-6 Segnetを用いてセグメンテーションを行ってみよう
10-7 セグメンテーションした結果を評価してみよう
10-8 深層学習を用いた自然言語処理Bertについて知ろう
10-9 Bertを用いて文章の分類をしてみよう
10-10 Bertを用いて分類した文章の評価をしてみよう
付録 プログラミングと数学との橋渡し
Appendix 1 数式を動かして理解する正規分布
Appendix 2 微分方程式の差分化による誤差とテイラー展開
Appendix 3 非線形最適化としての機械学習/深層学習における回帰/分類
著者情報
松田, 雄馬, 1982-
松田雄馬
千葉彌平
露木, 宏志
千葉, 彌平
露木宏志