非アカデミックで機械学習を学んでいる皆さん!
こんな感じじゃないですか
- 2017年にこれらを書いて7年
いろいろ挫折とか挫折とかしながら考え続け中かつ絶賛積読中ですが、ChatGPTが家庭教師をしてくれるようになったのでまた加速したいと思い、記事をUpdateしました。
私が学んだことかつこれでいいかとChatGPTに聞いた感じこんな流れです。
おそらく冒頭の「ここに何かいる」は「およそ2〜3年次」としているところ特に「関数解析」などを攻略しないといけないと思っています。
統計学・確率論の方は、図が煩雑になってしまうので分けましたがこんなイメージ。
という上記のフローの中でそれぞれの数学を学ぶためのテキストを上げていきます。
別途機械学習の本の紹介記事
の方は明記ないところ以外は読んでいますが、以下の数学書は積読も多いです。
でもこういう記事がないので恥を晒しつつ書きます。間違いはコメントなどで優しく教えてくれると幸いです。
高校数学
AIの時代に行列をやらないとは何事だとか騒がれますが10年に1回くらい変えられるのですよね。改めてやり直しであれば高校数学くらいからやり直すとよろしいかと。最新の課程は2022年改訂版となっています。
WikiBooks:高等学校数学
-
数学I+A
- 概ね1年生に学び数学II+Bなどの参考書が売られています
- 数学I
- 数と式(集合の基礎も)、図形と計量(三角比)、二次関数、データの分析(記述統計・推測統計の基礎の基礎)
- 昔(私の頃1980年代後半)の「数学I」、「確率・統計」の合体的なでしょうか
- 数学A
- 図形の性質、場合の数と確率、数学と人間の活動(数学史、ユークリッドの互除法、など)
- 昔の「数学I」、「確率・統計」の合体的な感じ
-
数学II+B
- 概ね2年生に学び数学II+Bなどの参考書が売られています
- 数学II
- いろいろな式、図形と方程式、指数関数・対数関数、三角関数、微分積分の考え
- 昔の「基礎解析」ですね。機械学習に必須
- 数学B
- 数列、統計的な推測、数学と社会生活(データ解析の基礎など)
- 昔の、「基礎解析」と「確率・統計」ですね。必須。
-
数学III+C
- 概ね3年生に学び数学III+Cなどの参考書が売られています
- 数学III
- 極限・微分・積分
- ま、微分積分の基礎これは必須ですね
- 数学C
- ベクトル、平面上の曲線、複素平面、図グラフ表現、行列(計算方法の紹介程度)
- 昔の「代数・幾何」の一部的な、箱ひげ図などが昔よりも追加。必須ですね。
-
高校時代のテキストや参考書があればそれか、書店にも多数出ているので気に入ったものを使うのが良いですかね。「高校数学からわかる機械学習」みたいな本も出てるので眺めるのも良いかも。
-
ここら辺の「数学の気持ち」みたいのに馴染めないなと言う方は結城浩氏の数学ガールの秘密ノートが良いと思います。ストーリー自たてで「数学の気持ち」が分かります。私はここら辺はわかるので数冊しか読んでませんが、高校数学の大半の分野を網羅していますね
- 数学ガールの秘密ノート/式とグラフ
- 数学ガールの秘密ノート/整数で遊ぼう
- 数学ガールの秘密ノート/丸い三角関数
- 数学ガールの秘密ノート/数列の広場
- 数学ガールの秘密ノート/微分を追いかけて
- 数学ガールの秘密ノート/ベクトルの真実
- 数学ガールの秘密ノート/場合の数
- 数学ガールの秘密ノート/やさしい統計
- 数学ガールの秘密ノート/積分を見つめて
- 数学ガールの秘密ノート/行列が描くもの
- 数学ガールの秘密ノート/ビットとバイナリー
- 数学ガールの秘密ノート/学ぶための対話
- 数学ガールの秘密ノート/複素数の広がり
- 数学ガールの秘密ノート/確率の冒険
- 数学ガールの秘密ノート/図形の証明
- 数学ガールの秘密ノート/数を作ろう
およそ1年時
微分積分・線形代数
妥協しないデータ分析のための 微積分+線形代数入門 定義と公式、その背景にある理由、考え方から使い方まで完全網羅!
- 好著連発のソシムのカラフルシリーズ
- そして目次を見てよ、ちゃんと勉強している人ならわかるはず。「そこを知りたかった」が書いてある
- 線形代数基礎→微分積分基礎→微分積分と線形代数のデータ分析の関係について
- 微分積分と線形代数について数学的には重要だけれど機械学習では優先度が低い点は大胆に省いて、その代わり本の入り口ではありますが話題の生成モデルである拡散モデルにまで触れている
- 問題演習は別の本でやった方がいいけれど、どこまでが必要かってわからないじゃないですか数学って「この範囲ですよ」って示してくれる貴重な1冊
上記書が出たものの問題演習をしたいなどがあれば、
に書いてますが、『統計学のための数学入門30講』もまだまだ有用と思います。
線形代数
- 微積は傾き、面積なので計算はともかくイメージはしやすいと思います。でも線形代数はイメージがしにくい
- 本書は「プログラミングのための」と題してますがプログラミングはほとんど関係なく、「線形代数の気持ち」を伝えてくれます
統計学
- 東京大学出版会『統計学入門』を入門に指定されることが多いですが(昔は私もそうしてた)正直統計学の概念は難しく、もっと基礎的なところに絞ってしっかり身につけた方が良いかと。そうなるとこの本
- 北大農学部の統計学入門の授業をテキストにまとめたようです。ですので必ずしも数学に馴染みがない学生向けに非常に丁寧にリアルな例とグラフを多用してわかりやすく説明しています
- 後述の『データ分析に必須の知識・考え方 統計学入門』の方が範囲が広いのでやや手薄になりがちな基本概念を非常に丁寧に解説しています。「統計学は問題なし」という方でもなければまず本書が良さそうです
- 統計検定で言うと2級のちょっと手前ぐらい
東京大学『統計学入門』にかわり新しくスタンダードになるのではないかと思うのが下記3著。同じ著者がレベル別に3冊書いています。
難しい方から順番に出て全部途中なままで恐縮ですが順番にこれを学んでいこうと思っています。
- 統計検定2級レベル
- 表題通り、定義・定理で行くのではなく、例題を解くことを重視しています
- 統計検定準1級レベル
- 数式ガチガチの数理統計の本よりは優しめですが、歯応えはあります
- 東京大学『統計学入門』と大体同じかちょっと上くらいのレベルでしょうか
- 統計検定1級レベル
- ここら辺までだと大学2-3年でやるのかも。The 数理統計学と思います(もっとガッツリのもあるらしいですが)
こんなんも書いてましたが止まっちゃってるのでUpdateしなきゃ
集合・位相
- とっつきにくい!でお馴染み集合と位相です。正直私もまだ腑に落ちていません
- 微積と線形代数は手を動かす労力を惜しまなければなんとかなると思います。でも集合と位相は「そもそも何をやっているのか?」が全くわからなくなる
- 最初から読まなくてもよいと思います。以降で紹介する本のなかで、〇〇集合、位相〇〇などの沼にはまりかけたら本書を読むといいと思います。完全解決するわけではないですが、ちゃんと意味があってそういった概念が導入されていることは分かります。私も泥んこになりながら格闘中なので大きなことは言えないですが、統計学がセクシーな学問とするのであれば、集合・位相をマスターすることが、分かれ目と思っています
集合・位相入門 (松坂和夫 数学入門シリーズ 1)
本書が昔は定番だったらしいとのことで取り組み中だが半分くらいで止まっちゃってる
離散数学
- 大学1年生のテキストに指定されてもいるようなので読んでみた
- 本格的にやると難しいのでしょうが、少なくともこの分野で「何が議論されているか」はわかると思います
およそ大学2-3年時
微分幾何
- 著者のダジャレに耐えるだけで難解な微分幾何学の入門ができる稀有な本
- 演習中心で進みます
- 微分幾何学の代表的な入門テキストの1つです
- やばいこれも半分くらいで止まってる、、、
最適化数学
- 上記記事にも書いておりますが、隠れた名著と思っています。私は本書を読み練習問題を解いて、「あ、勾配法ってこういう計算を中でしてるんだ」と分かるようになりました
- さらに徹底的な演習が必要かなと思い実施中。解答がないので時間掛かっちゃってますが、Qiitaに書いてます。
- 『スタンフォード ベクトル・行列からはじめる最適化数学』1章章末問題の解答
- リンクは略しますが(上記ページから辿れます)現在第12章まで解いています
関数解析
- 無限次元の線形代数が関数解析ですよ!、線形代数ではベクトルを扱うけれど、同じ枠組みでベクトルを関数に置き換えたもの!とも聞いたことがあるのだけれどまだ分かってません。本書も途中まで。でも関数解析のテキストの中では比較的分かりやすめらしいです
- データを関数で表し、カーネルなどを扱うと内積なども出てくるのでそこを自由自在にする手段かなと思っています
- 冒頭に書きました「ここに何かいる」の主犯格だと睨んでいます
代数(群・環・体)
- 入門書として評価が高いです。私にはそれでも抽象度についていけず
- これを読み始めています
- 代数学の極北!ガロア理論の本ですが、それを理解するために「代数学のお気持ち」に触れているので参考まで
位相幾何
- さらにさらに抽象度が上がるでお馴染みトポロジーその中でもレベルを落とさず一番優しめと有名なので読んでいます。80%くらいまで。でも難解
- 直接トポロジーの本ではないですが、トポロジーにも関係するポアンカレ予想の本で、「トポロジーのお気持ち」にも触れているので参考まで
グラフ理論
- 早稲田大の早水先生のグラフ理論入門が人気とのことで、そこで紹介されているテキスト
- メジャーなテキストの中ではかなり入門的らしい。最後まで例題をきちんと解いたら少なくとも「グラフ理論のお気持ち」は分かりますわ
- めちゃくちゃにつながっているようでもノード(繋がっている点ね)とエッジ(点と点を繋ぐ線ね)の数とかのパターンを見てくと、これとこれは同じじゃん、となるのね。だから電子回路とか、ネットワーク理論とかで重要視されるのだと思う
- 難解なデータサイエンスの中では学んで分かる費用対効果が高め(やらない人は何のこっちゃ、ちょっとでもやると差がつきやすい)の方の分野だと思うので、やろうよ
確率論
- 統計学との違いがわかりにくいのですが
- 確率論
- ランダムな現象の法則性(期待値・分散・確率過程)を解明しようとする学問
- 統計学
- 得られたデータを元にしてその現象を解明しようする学問
- 確率論
- となっており、特に確率過程が難解です
残念ながら確率論についてはきちんとしたテキストを読んだことがなく、
機械学習のための確率過程入門: 確率微分方程式からベイズモデル,拡散モデルまで
- 確率過程とは、時間などの変数に沿ってランダムに変化する現象を数学的に表現するモデルのこと。各時刻での状態が確率変数となり、例えば株価や分子運動などが対象となり、ランダムウォークやブラウン運動、マルコフ過程などの用語が出てきます
- 最近ですと深層生成学習の拡散モデルにも関連しますね
ルベーグ積分
- これもテキストとしては未読です
- 我々が普通知っている積分はリーマン積分と言ってx軸の方を細分化して極限を取って足し合わせるみたいな考えをします。ただこれだとこれに対応できない関数が世の中にあるらしい
- ルベーグ積分ではy軸の方を細分化して極限を取って足し合わせる。そのためには我々の思う距離をもっと抽象化した「測度」という概念が必要となる
- みたいな分野であり、なぜこれをやるかというと確率概念を正確に定義するにはルベーグ積分が必要なためらしいですよ
応用(およそ大学4年次-大学院)
情報幾何
- これも途中までだ
- データの分布を幾何学的に捉えるものですね
- データの分布の幾何学的理解
- 高次元なデータの分布や構造を幾何学的に捉えることで、データ間の類似性や特徴を明らかにするための、クラスタリングや次元削減などに応用すること
- 勾配降下法の改善
- 勾配の形状(局所的な曲率など)を解析し、パラメータ空間の曲率(Fisher情報行列などによって表される)を考慮する自然勾配降下法のように、より効率的な最適解の探索を可能にすること
- パラメータ推定の不確かさの評価
- ニューラルネットワークの重みなどのパラメータ推定において、Fisher情報行列を用いることで、推定の不確かさや局所的な空間の構造を捉え、学習の安定化や効率化に役立てることができる
- とからしい
- データの分布の幾何学的理解
- 情報幾何も関数解析同様「ここに何かいる」のところで重要な役割をしていると睨む
従来の解析的な機械学習
- 機械学習のアルゴリズムなどのテキストなのでここでは略
- 講談社機械学習プロフェッショナルシリーズとかPRMLとか
- ここはまた別に書きます
トポロジカルデータアナリシス
- (これはもう機械学習に必要な数学じゃなく機械学習の手法だけでまあいいや)
- データを位相的に扱って解析学や微分幾何学的でも解けないのを解こうというものですね。抽象の塊のような代数学と位相幾何が必要で難解です
タンパク質構造とトポロジー ―パーシステントホモロジー群入門―
- トポロジカルデータナリスというものを知って和書訳書を探したのですが、まーない。近しい本としては本書だけでした
- タンパク質は複雑な立体構造をとるのですが、その形状によって体内で様々な働きをし、そこに必要に応じて化合物を当てはめることで薬になるので、構造理解が重要です。そのためにトポロジーを応用していますが、まさにトポロジカルデータアナリシスの考えに近い
- 繰り返し読みましたが、理解がどこまでか。Web上のドキュメントなどもいくつも参照して今のところの理解としては
- パーシステントホモロジーとは
- データ点を中心に球を徐々に拡大していくことで、データに内在するトポロジカルな特徴(連結成分、輪、空洞など)の発生と消滅を追跡する手法
- その結果、データの形状や構造の類似性・非類似性を評価するための指標(バーコードやパーシステンス図)が得られる
- 構造そのものは見ないで重要となる繋がりや穴のパターンが似ていれば似ている構造、違えば違う構造とみなすことにより複雑な構造から必要な特徴量だけ取り出す、みたいな感じです
- パーシステントホモロジーとは
- 翻訳書がやっと出ました。積読ですが読みます!