データサイエンス、データ分析、機械学習に必要な数学

2025年版Update記事を書きました

https://qiita.com/aokikenichi/items/b9fface07816dd8acc8e




データサイエンス、データ分析、機械学習の専門書の前書きには「大学初年度の数学」≒微分積分と線形代数を前提としているものが多い。
それならば大学に行っている人はほとんど履修しているはずなのだが、その専門書を読むと全然歯が立たない事が多い。
かといって微分積分や線形代数のテキストを開くと、これが機械学習やデータ分析のどこに役立つのか全然分からず、途方に暮れる。

- データの変化を捉えるから微分
- 変化を結果にまとめるから積分
- 多変量を扱いやすくするための線形代数

なのだがそんなお題目ではどうにもこうにも……
そんなときには下記の
『<a target="_blank" href="https://www.amazon.co.jp/gp/product/4254116330/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4254116330&linkCode=as2&tag=aokikenichi-22&linkId=ed7d45c4595b3a7ab526a1d966628264">統計学のための数学入門30講 (科学のことばとしての数学)</a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=4254116330" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />』
<a target="_blank"  href="https://www.amazon.co.jp/gp/product/4254116330/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4254116330&linkCode=as2&tag=aokikenichi-22&linkId=7af6e9a9d9283b12ffc089ba8c8ae887"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&MarketPlace=JP&ASIN=4254116330&ServiceVersion=20070822&ID=AsinImage&WS=1&Format=_SL250_&tag=aokikenichi-22" ></a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=4254116330" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
がいい。1冊で微分積分と線形代数の内容が入っている。また、それらが統計学にどうつながっているか、統計学のどこでどう使われているかが明示されている。「統計学のための」なので必ずしも機械学習やデータ分析向けではないのだが、機械学習のガチ本である、

- 『<a target="_blank" href="https://www.amazon.co.jp/gp/product/4621061224/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4621061224&linkCode=as2&tag=aokikenichi-22&linkId=55ba2aa1622ef60943019264b1760249">パターン認識と機械学習 上</a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=4621061224" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />』『<a target="_blank" href="https://www.amazon.co.jp/gp/product/4621061240/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4621061240&linkCode=as2&tag=aokikenichi-22&linkId=02bb0ae352bfb1a8430b1fd43b45b8f8">パターン認識と機械学習 下 (ベイズ理論による統計的予測)</a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=4621061240" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />』の数学的補則
    - [『パターン認識と機械学習の学習』の学習 1章](http://qiita.com/aokikenichi/items/ac738a8ae771fcc904d4)
- 機械学習プロフェッショナルシリーズ『<a target="_blank" href="https://www.amazon.co.jp/gp/product/B018K6C99A/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B018K6C99A&linkCode=as2&tag=aokikenichi-22&linkId=2ce92ba64bb41870619000b88ef3265d">深層学習 (機械学習プロフェッショナルシリーズ)</a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=B018K6C99A" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />』の数学的補則
    - [講談社機械学習プロフェッショナルシリーズ『深層学習』の学習 第1章 はじめに、第2章 順伝播型ネットワークの学習](http://qiita.com/aokikenichi/items/eead6f7b7fad1f33056e)

を書くにあたって本書をしょっちゅう参照している。
本書の目次は下記の通り。

- 第1部 基礎と1変換関数の微積分 
    - 第1講 基礎事項ア・ラ・カルト 
    - 第2講 和と積 
    - 第3講 順列・組み合わせと2項定理・多項定理 
    - 第4講 極限 
    - 第5講 微分 
    - 第6講 関数の極値 
    - 第7講 関数の展開 
    - 第8講 不定積分 
    - 第9講 定積分 
    - 第10講 定積分の計算 
    - 第11講 ガンマ関数とベータ関数 
    - 第12講 数値積分 
    - 第13講 広義積分 
- 第2部 線形代数 
    - 第14講 ベクトルと行列の加減 
    - 第15講 ベクトルと行列の積 
    - 第16講 いろいろな行列 
    - 第17講 行列の基本変形 
    - 第18講 部分ベクトル空間 
    - 第19講 行列のランク 
    - 第20講 行列式 
    - 第21講 射影と射影行列 
    - 第22講 固有値と固有ベクトル 
    - 第23講 対称行列の固有値と固有ベクトル 
    - 第24講 分割行列による計算 
- 第3部 多変数関数の微積分 
    - 第25講 偏微分と微分 
    - 第26講 テイラーの公式と極値問題 
    - 第27講 ベクトル微分と条件付き極値問題 
    - 第28講 重積分 
    - 第29講 重積分での変数変換 
    - 第30講 平均ベクトルと分散共分散行列 

2冊の内容を1冊に詰め込んでいるので解説や問題演習は少な目である。なので、書店などでパラパラとめくってみて「あーなんかやったことあるな」という感じなら本書を薦める。ただ、ぜんぜん分からないという感じなら、本書だけではキツイというか無理であろう。微分積分と線形代数のそれぞれについて、大学生向けの簡単な本が多数出ているのでそれをまずはやるのがいいと思う。でも本書を傍らに置いて、「いま勉強しているのはデータ分析のどこにつながっているのか」と意識することで勉強の意欲も湧くと思う。

- p78 問題12.2(2) シンプソンの公式を確かめる問題の答えが間違っているようです。p206の答えは 6.4167 となってますが 6.401041666…… だと思います。自分の計算と、Rで検算したので間違いないと思います。正誤表が見つかりませんが。私のは2005年3月25日初版第1刷です。

もう、1冊薦めたい。
機械学習ってぶっちゃけて言えば、

- データを説明するモデルを数式で表す
- 誤差を最小にするようにパラメータ（係数）を最小にする
- 簡単な式なら微分して=0と置いてしまえばおしまいなのだが、実際のデータではそうはいかない
- 誤差を最小にするようなアルゴリズムやり方があり、それを「最適化」と呼んでいる
- で、その「最適化」の仕方もデータや条件により適したものが複数ある

という感じなので、その最適化も微分積分と線形代数を駆使するが微分積分や線形代数のテキストには通常は最適化の方法は書いてないので、今学んでいるものがどうつながるのかが分からない。それを埋める本があり、
『<a target="_blank" href="https://www.amazon.co.jp/gp/product/4320017862/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4320017862&linkCode=as2&tag=aokikenichi-22&linkId=0d7a29983b5c516a4555e6cb7fcb9339">これなら分かる最適化数学―基礎原理から計算手法まで</a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=4320017862" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />』
<a target="_blank"  href="https://www.amazon.co.jp/gp/product/4320017862/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4320017862&linkCode=as2&tag=aokikenichi-22&linkId=6c43f177980a5a89cfe921e97b07e9d9"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&MarketPlace=JP&ASIN=4320017862&ServiceVersion=20070822&ID=AsinImage&WS=1&Format=_SL250_&tag=aokikenichi-22" ></a><img src="//ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&l=am2&o=9&a=4320017862" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
である。

- 第1章 数学的準備
    - 1.1 曲線と曲面
    - 1.2 1次形式と2次形式
    - 1.3 2次形式の標準形
- 第2章 関数の極値
    - 2.1 1次関数と2次関数
    - 2.2 関数の勾配と等高線
    - 2.3 関数の極値
    - 2.4 ラグランジュの未定乗数法
- 第3章 関数の最適化
    - 3.1 勾配法
    - 3.2 ニュートン法
    - 3.3 共役勾配法
- 第4章 最小二乗法
    - 4.1 式の当てはめ
    - 4.2 連立1次方程式
    - 4.3 非線形最小二乗法
- 第5章 統計的最適化
    - 5.1 最尤推定
    - 5.2 直線当てはめ
    - 5.3 データの分類
    - 5.4 不完全データからの最尤推定
- 第6章 線形計画法
    - 6.1 線形計画の標準形
    - 6.2 可能領域
    - 6.3 線形計画の基本定理
    - 6.4 スラック変数
    - 6.5 シンプレックス法
    - 6.6 退化
    - 6.7 人工変数
    - 6.8 双対原理
- 第7章 非線形計画法
    - 7.1 非線形計画
    - 7.2 ラグランジュ乗数
    - 7.3 双対原理
- 第8章 動的計画法
    - 8.1 多段階決定問題
    - 8.2 動的計画法
    - 8.3 最適経路問題
    - 8.4 ストリングマッチング
    - 8.5 制約のある多段階決定問題

データサイエンス、データ分析、機械学習の専門書を読んだことのある方なら、この目次に関連する語をたくさん見たことがあるだろう。豊富な例題でこれらを学ぶことが出来る。ぜひ、ペンとノートで例題を追ってみよう。

この2冊をマスターしたらデータサイエンス、データ分析、機械学習の数式メインの専門書がかなり楽になると思われる。
っていうか、私は『統計学のための数学入門30講』は3週目、『これなら分かる最適化数学』はまだ1周目を終わっただけでまだ身についてないけどね。
無駄に流行を追うより、この2冊を繰り返すといいと思うよ。
といっても数式ばかりでは疲れるので、関連技術の本を並行して読むならば
[データサイエンス、データ分析、機械学習関連の本](http://qiita.com/aokikenichi/items/ae4df263f591e47528a6)をご参考になさってください。