機械学習
数学
データ分析
データサイエンス

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

More than 1 year has passed since last update.

数学の専門家でもなく、微分積分、線形代数、統計学は一応、最適化数学、集合・位相を勉強中というところなので以下、ツッコミどころ満載と思いますが、こういうまとめ記事が欲しいところなかなかなかったので書いてみました。

微分積分、線形代数、統計学の先へ

データサイエンス、データ分析、機械学習に必須な数学として、微分積分、線形代数そして最適化数学はどのレベルが必要かについて
データサイエンス、データ分析、機械学習に必要な数学
に書いております。
ただ、そこから先の数学を学ぼうと、機械学習やデータ分析に必要な数学を整理しようと思うと、数学の各科目間の前提知識やつながりなどが曖昧模糊としていて悩む。大学のシラバスなどを見ても「代数Ⅱ」などと書かれ何の内容か分からず、同じタイトルのテキストを見ても目次が異なっている事がある。
数学の各科目数学は純粋数学と応用数学に分かれ、……
 c.f. 数学分野紹介 - 関西大学システム理工学部数学科
と複雑なのだが機械学習に必要な数学に絞り以下に整理してみた。

その他別の方が書かれた参考の記事

機械学習、データ分析に関係がなさそうなものは略しています。

  • 純粋数学
    • 代数:方程式のようなもの
      • 線形代数:大学1年で学ぶ。多変量のデータを一括で扱う時のノウハウが詰まっている感じ。もともと連立方程式を効率的に解くために始まった分野だが、データを都合の良い空間に変換することで取り扱いやすくしたり(サポートベクターマシンなど)、機械学習で大活躍している。
    • 解析:微分積分な感じ
      • 微分積分:大学1年で学ぶ。誤差を関数で表して最小にするということが機械学習の基本的なスタンスだが、誤差の関数が最小になるとは関数の傾きが0となるときであり、関数の傾きを扱うのが微分である。
      • 複素関数論:微分積分の次に大学2年位で学ぶ。複素数を扱う関数について。データ分析ではあまり関係ないと思っていたが「複素ニューラルネットワーク」なるものがあり、今後広がるものか?
      • 関数解析(位相解析):有限次元のベクトル空間と写像を線形代数学で学ぶがそれの無限次元バージョンらしい。なぜ代数でなく解析というかというとベクトルの微積分が行えるらしい。また、距離のもっと抽象的な概念の測度なども扱える。データ分析とのつながりとしては、誤差の距離をもっと高度な抽象概念として扱えるらしい。
      • ルベーグ積分:通常の積分で扱われる関数は連続である必要があるが、不連続な関数を積分出来るのがルベーグ積分となる。確率の厳密な定義にはルベーグ積分が必要だと大抵の本には脅してある。
      • 確率論:確率・統計の確率ではなく、マルコフ連鎖やランダムウォークなどを扱う。
    • 幾何:図形を扱う
      • 集合・位相
        • 集合:別途「集合」がある。現代の数学は集合をベースに構築されているので至る所に顔をだすが大学の科目で集合の位置づけが曖昧な気がする。強いてあげると「集合と位相」というテキストが多そうなので、強引に幾何に位置づけられるのか?
      • 微分幾何学:平面の微分積分学の曲面バージョン。多様体などを扱う。データを幾何学的に扱う情報幾何へとつながっていく。
      • 位相幾何学:空間の連続的変形によって不変な性質を調べる幾何学。トポロジカルデータアナリシスとして注目を浴びている分野につながっていく。微分幾何学が図形を固いきっちりとしたものとして扱うのに比べて、位相幾何学は粘土のように柔らかく変形しつつも不変なものを扱う。
  • 応用数学
    • 計画数学
      • 線形計画法
        • 「最適化数学」という科目で扱われることが多いと思われる。
      • ゲーム理論
        • 直接データ分析で扱われているのを見たことがないがどうだろう?
    • 数理統計学
      • 確率・統計、統計学:大学1年で学ぶ。データの内容を明らかにすることに重きを置く統計学に対し、データからの予測に重きを置く機械学習とは異なる点も多いが共通する点も多い。
      • 数理統計学の専門的な科目、、、
    • 離散数学
      • 離散数学:大学1年か2年で学ぶ。他の数学は連続値を扱うことが多いがコンピューターの数学は0、1が種なので、離散的とのことでこう呼ばれているらしい。ただ、整数論(数論)は離散数学には入らない。AND、ORなどのブール代数や、グラフ理論、最適化問題、計算幾何学、etc。テキストによって内容が大きく異る、、、。最近ネットワーク分析などでグラフ理論が多用されているので、知っておくべき科目だと思う。
      • グラフ理論などの専門的な科目、、、
    • etc

どういう順番で学べばよいのか

およそ1年次   およそ2~3年次

(確率・統計)--------
              |------------・・・⇒情報幾何へ
微分積分-----微分幾何--          |
     |                   |
     |---最適化数学・・・        |
     |          ・・・・・・・・・・・・・・⇒機械学習の諸分野へ
     |--        ・        |
     | |-関数解析・・・・        |
線形代数-- |                 |
       |                 |
集合・位相----位相幾何--------------微分位相幾何--モース理論--
                         |               |
                         |-代数的位相幾何--------
                         |               |-⇒トポロジカル・データ・アナリシスへ
(線形代数)---代数(群環体)--圏論------               |
                                         |
離散数学-----グラフ理論----------------------------

(微分積分)---
        |-ルベーグ積分--
(集合・位相)--        |-⇒確率の本質的な理解へ
                 |
確率・統計-------------
                 |
確率論---------------

※図が書ききれなくて重複して表示している科目は(括弧)書き

……、じゃあどのように勉強していったらいいのか?機械学習に特化した数学テキストシリーズがあるのいいのだがない。
機械学習のための連続最適化 (機械学習プロフェッショナルシリーズ)

なんて本が出てます。立ち読みしたところ、「最適化数学」「関数解析」周辺かと思います。が、少なくとも私には近寄りがたい雰囲気だったので、
まずは、
 データサイエンス、データ分析、機械学習に必要な数学 (←そういや統計学について書いてなかった、、、書きます)
で基礎の基礎固めをして、それ以外の数学は、各種ガチ数学テキストシリーズ、岩波、共立、朝倉、裳華房、東京大学出版会、、、で学ぶという手もありますが、挫折するでしょう。
前掲の、

は無料なので取り組みやすいですね。また、

  • 志賀浩二数学30講シリーズ
    • 微分積分  ←ほぼ高校レベルらしい
    • 線形代数
    • 集合    ←今取り組んでいます
    • 位相    ←今取り組んでいます
    • 解析入門  ←大学での微分積分
    • 複素数   ←複素関数論についてだが取り敢えずは後回し
    • ベクトル解析←すこし違うが微分幾何の準備
    • 群論
    • ルベーグ積分
    • 固有値問題 ←関数解析の準備といったところらしい

と、統計学、離散数学以外はほぼこれで基礎が固められそう。
がいいのかなと思ってます。


関連ページ