機械学習への道

6/20〜23 数学編

今年の10/6までに機械学習エンジニアになるという目標を立てた。
今回は機械学習にとって必須になる数学にどう取り組むかについて考えた。
また実践して感じたことも述べた。

今思い描いている道のりの設計には以下の二つを参考にした。
両サイトとも、まず数学の基礎を固めることを薦めている
しかし完璧に理解するには時間がかかりそうなので、ある程度要点を絞って先に進みたいところ。


方針

スタート時の数学レベルは、高校生状態。
10日間は線形代数や微分積分がくの勉強をする。

ここから速習で機械学習を理解するための数学的素養を身につける。
現在参考にしているのは本だが、webサイト上の情報やAIを活用して分からない点を調べている。
とても効果的である。
数学は久しぶりに触れたが、ただ公式を刷り込ませる高校時代の勉強と違って、なぜそうなるかを考えられるので楽しい。
また応用する分野が見えていることも楽しく感じられる理由の一つだと思う。
これからの勉強方法は、コードを書いて実際に自分で数式を表現してみることを軸にしていく。


ベクトル・行列

最高なチャンネルを見つけた。
有名なYouTuberなので知っている人も多いはず。


ベクトルとは何かという基本を復習することから始めた。
ベクトルは矢印で表現されることが多いが、空間上の最終点であると解釈したほうがより簡易になる。
線形(linear)であるという言葉は日常で目にすることはおそらくない。
意味は、格子が一直線の線であり、原点は固定化されていることを意味する。
つまり線形変換(linear transformation)は、原点を固定、格子戦は並行かつ等間隔のまま空間を移動させることである。
しかし空間上全てのベクトルがどう動くか想像する必要はない。
単位ベクトル(1, 0)と(0, 1)が変換後の空間ではどのようなベクトルになっているかわかれば良い。
理由は、線形変換後も任意のベクトルと単位ベクトルの関係は維持されるからである。
全てのベクトルは単位ベクトルで表現できるので、変換後も単位ベクトルがわかれば、全てのベクトルの行き先を知ることができる。
なぜベクトルの内積の式が、幾何学上ではあるベクトルを他のベクトルに投影した結果となるのか理解できた。

そのためには、線形変換への理解が必須であった。しかし高校の時はただ式を暗記しているだけっだ。
今ではなぜそうした措置になっていたのかわかる。
先に線形変換を教える必要があるのだが、おそらくそんな時間はないのだらう。また行列✖️ベクトルの意味も線形変換によってわかるようになる。

勉強していて気づいたことが一点ある。
それは、厳密な数学の定義などよりも、自分で納得のいく答えを出すことのほうが、応用力がすぐに身につくということである。なぜなら、私は数学者を目指しているのではないからである。

計画の修正

少しこれからの日程に変更を加えるかもしらない。
もう少し数学に費やす時間を増やしたくなってきた。
機械学習の基礎になるだけでなく、論理的に考える方法を学べるからである。

この記事が気に入ったらサポートをしてみませんか?