ようやく機械学習の勉強を開始。
まずは、以下の本を読み始めた。
第2章の最小二乗法を読んでみたけど、前にAI勉強会みたいなところで紹介されていた内容そっくりだったので、違和感なく理解出来た。
ただし!数学徒の小部屋というページで問題が…。
数式の変換に行間が有りまくりで、付け焼き刃の数学の勉強では全く理解出来ん。
読み飛ばしても何とかなる面もあるんだろうけど、数式が理解出来るようになりたいから数学を勉強した訳で、とりあえず理解出来る範囲で頑張ってみる事にした。
間違っているかもしれないけど、とりあえず備忘録として残していく。
2日経てば確実に忘れるので…。
63ページに出てくる以下の式(2.4)が偏微分後に、64ページの式(2.7)になるのが意味不明だった。
(2.4)の式
(2.7)の式
これは、(多分)合成関数の微分という事に気付いたので、そのように計算してみたら、何となく(2.7)の式になった。
自分なりの考え方
合成関数の微分公式は以下の通り。
(2.4)の式の以下の部分をuとする。
そうすると、外側の微分は
になって、内側の微分(wで偏微分?)は
になる(と思われる)
ここで、Σ付きの変数を微分したら何でΣが消えるのか分からなかったんだけど、そこは最早諦めた…(※1)
※1 2018/1/15追記開始
Σが消える理由がようやく分かった気がする。
微分している は特定の1個のwであって、Σで回しているの特定の1個に対応するから、偏微分すると一致しないwの部分は消えてしまうって事だろう。
だから内側の微分結果がになると。
当たってると良いな…。
※1 2018/1/15追記完了
で、これらを合成関数の微分の公式に入れると
になる。
続いて、65ページにある(2.9)から(2.11)への行列の変形が意味不明だったけど、多分これはtの部分を移項して両辺にφの逆行列を掛けた結果なんだろうと思った。
ただし、何で転置しているのかは不明…。 (※2)
※2 2018/1/15追記開始
wとtについては、1次元だから転置するのは何となく分かったんだけど、φを転置する理由が分からなかった。
でも、このページで実際に値を入れて計算している例を見て、転置している理由が分かった。
感謝です。
※2 2018/1/15追記完了
その後に出てくるヘッセ行列とやらで心が折れたので、最小二乗法の数式理解は一旦ここまで…。
参考にしたサイト
第11回 高階偏導関数 [偏微分]
最小二乗法の基礎を丁寧に
多変数関数の極値判定とヘッセ行列
機械学習の数式は、文系プログラマには敷居が高すぎるぜ…。
コメント