機械学習についての勉強 2日目
2日目は機械学習で使用する数学の基礎について学んだ
内容としては数学についての理論を学ぶというより、機械学習で使用する数学を
Pythonで書くとどうなるか、グラフに描写するとどうなるかがメイン
学んだ内容
- 機械学習に必要な数学とは何か(線形学、統計学、大学の時に勉強したな…)
- 数学について勉強するよりまずは手を動かすことが大事
- Pythonで数学を扱う上で必要なパッケージについて
- 一次関数、二次関数、三次関数、指数関数
- ネイピア数
- シグモイド関数
ネイピア数について
Udemyの動画中では「ネイピア数とは何か」という説明は一切なく、
そして遠い昔に学んだはずの数学について忘れているためそれなんだっけ状態
ネイピア数についてわかりやすかったのは以下
自然対数の底(ネイピア数) e の定義と覚え方。金利とクジの当選確率から分かるその使い道 | アタリマエ!
なんとなくわかったのはネイピア数が「限りなく短い時間ごとに限りなく小さい割合で何かが増加するときの極限値」ということぐらい
高校生ぐらいのときに習ったはずなんですけどね
使われ方としては「単位時間あたり平均x回起きる現象が単位時間にk回起きる確率」を求める時にネイピア数が重要な役割を果たしているらしい
まぁ今はUdemyの講座を信じて数学よりも数学を利用して手を動かすことを優先します
シグモイド関数について
こちらも「シグモイド関数とは何か」については説明なし
シグモイド関数についてわかりやすかったのは以下
活性化関数のまとめ(ステップ、シグモイド、ReLU、ソフトマックス、恒等関数) - Qiita
わかったのは活性化関数と呼ばれるものの一つだということ、ニューラルネットワークにおいて入力に対し「負の値は負、正の値は正」というのを緩やかに返すので、なんとなく分類にその内使うんだろうな、と思ったこと
動画での学習中で作成したグラフからもなんとなく分類に使いそうな(=0か1かを返すために使いそうな)ことがわかった
所感
この時点では「で、これがどう機械学習に繋がるのかわからん」と思った
明日はいよいよニューラルネットワークのセクションに入るので、楽しみなところ