SHOYAN BLOG

I am a pragmatic programmer.

機械学習ことはじめ

機械学習をやるぞ!と息巻いてから半年が経とうとしている。
進捗はてんでダメ。ほとんど勉強せずに時間だけが過ぎてしまった。
さすがにこれではいけないと学習を始めた。

とりあえず学ぶにも何かしらの教材がないと効率が悪いと思い、基礎的な理論が勉強できそうな 「機械学習理論入門」を買った(半年前に)。
機械学習の理論を優しく書いてあるはずなのだが、高校数学の理解もままならない自分の数学力では理解に苦しみ、本棚の肥やしとなっていた。
この段階では機械学習にも色々種類があるんだなということがわかった。

次に機械学習理論の入門としてわかりやすそうなやる夫シリーズを読みだした。

まずは最小二乗法についての話が出てきた。
これはそれとなく理解できたので、最小二乗法を使って誤差を求めるプログラムをRubyで実装してみたりもした。

しかし、最急降下法でつまづいてしまった。
最急降下法に出てくる合成関数の微分がよく分からない

そもそも合成関数ってなんだというところで、合成関数について勉強した。
合成関数は関数の引数が関数になっている関数だった。

関数: y=g(x)
合成関数: y=g(f(x)) ←こういう感じで引数が関数となっている

やる夫シリーズを理解するには微分の知識が必要だということがわかったので、微分について勉強するために数学ガールを読んでいる。微分について会話形式で学んでいけるので、なかなかわかりやすい。

というところで、現状は微分を学んでいる。

だいぶ遠回りしている感がある。
道のりは険しい。

よく読まれている記事

Comments