What
Chainerを利用して機械学習を学ぶにあたり、私自身が、気がついた点、リサーチした内容をまとめる記事になります。今回は、機械学習に必要な数学を抜粋して勉強します。
私の理解に基づいて記述しているため、間違っている場合があります。間違いは都度修正するつもりです、ご容赦ください。
#Content
微分
線形性
関数、定数a, b, 変数xに対し
f(ax + b) = a * f(x) + b
と分離できる場合、線形であるという
連鎖律
合成関数の微分の公式のことをいうらしい(・・・忘れた)
機械学習で取り扱う入力は多変数となる場合が多いので、個々の変数との出力の関係は多変数解析(要は偏微分)が必要になる。
線形代数
テンソル
ちょっと理解ができていないところがあるのでテキスト抜粋
テンソル (tensor) はベクトルや行列を一般化した概念です。 例えば、ベクトルは 1 方向に、行列は 2 方向にスカラが並んでいます。これは「ベクトルは 1 階のテンソルで、行列は 2 階のテンソルである」であることを意味します。 この考え方をさらに進めて、下図のように行列を奥行き方向にさらに並べたものを3階のテンソルと呼びます。例えば、カラー画像をデジタル表現する場合、1 枚の画像は RGB (Red Green Blue) の3枚のレイヤー(チャンネルと呼びます)を持つのが一般的です。 各チャンネルは行列として表され、その行列がチャンネル方向に複数積み重なっているため、画像は 3 階テンソルとみなすことができます。 3 階のテンソルは、特定の要素を指定するのに「上から 3 番目、左から 2 番目、手前から 5 番目」のように整数(インデックス)を3個必要とします。
恥ずかしながら今更しりました。定義自体はシンプルですね。
確率・統計
機械学習では良質なデータが大量にあるほど良い、つまり大量のデータを扱う分野であるという認識は持っていたのでやはり確率・統計も出てくるよな〜と思いました。ここがミソなんでしょうね。では、中身を見ていきます。
人間がパッと気が付かないような法則や特徴どうやって見つけ出すか?考えた時に、科学的根拠に基づいた方法として確率、統計が出てくるというのも納得がいきます。
ある結果が観測されたというとき、ある事象が原因である確率を考えるにはどうしたら良いでしょうか。
サイコロで例えるなら、①2つのサイコロを投げた時、その積が12でした。組み合わせが6,2である確率は?といった感じ?
②サイコロを2回投げて6, 2が出る確率と違いはある?
②なら2 / 36 = 1 /18 ①なら2 / 4 = 1/ 2[(2, 6), (3, 4)]で①と②で結果が異なるってことを言いたいのかな。これをベイズの定理というらしい。
数式は後で、じっくり読み込むとして、ベイズの定理は何を解決できる定理かが抑えられればいいかな。
尤度(ゆうど)
初見の言葉です。犬みたいな感じを書いてゆうどと読むみたいです。
カリキュラムだけではちょっと理解が難しかったので、下記サイトを参考にしました。
https://qiita.com/kenmatsu4/items/b28d1b3b3d291d0cc698
尤度関数の基本概念は、「サンプリングしてデータが観測された後、そのデータは元々どういうパラメーターを持つ確率分布から生まれたものだったか?」と言う問いに答えるためのものです。なので、逆確率的なベイズの定理っぽさがあると自分は思っています。(実際、尤度はベイズの定理を構成する1要素となっています)
この説明はわかりやすいですね。尤度が最大になる時が尤もらしい推定モデルになるというのも理解しやすいです。
複数データに対する尤度は、 1 より小さな値の積となるため、結果は非常に小さな数になり、コンピュータでこの計算を行う際にはアンダーフローという問題が発生しやすくなります。
デジタルとアナログの変換で生じる問題ですね。どのくらい問題になるか、現時点でイメージは持てないですが。
事後確率最大化推定(MAP推定)
与ええられたデータ群から尤もらしい確率分布を推定するのが、尤度ですが、尤もらしいモデルではないモデルから生じた確率モデルを予測する手段がMAP推定。例えば、ベルヌーイ分布から生じた,[表、表、表、表、表]というデータ群から、データ群から得られる以外の情報(例:裏が出ることもある等)を与えてできるだけ元のベルヌーイ分布を推定するにはどうすれば良いかを考える理論。実際には、データを扱う人の推測を確率モデルに組み込めるよって話。ある意味センス???笑
###分散
久しぶりに復讐したので忘れてる部分もありました。母分散、標本分散、不変分散の関係は以下のサイトが参考になりました。分散の平方根が標準偏差
https://staff.aist.go.jp/t.ihara/dispersion.html
###相関係数
2 種類のデータ間の相関が強いほど 𝑟 の絶対値は大きくなります。
rの値で、相関があるかを判断する指標はない。せいぜい大小で議論するか、判断基準を任意に設定するか。大学の時に買った統計の本いつでも見れるようにしておこう。
Comment
なんとか準備編読了です。Pythonの学習と思い出し作業が大半でした。早くコードを書きたいのですが、、、入り口が長いですね。
最近何かとAWSが話題ですが、AWSのコンテンツの中にも機械学習があるみたいなんですよね。
今の学習が終わったら、ちょっと調べてみたいと思ってるんですが、何ができるんでしょう???というよりも、AWSをきちんと理解したい。。。わかりにくくていまいち掴めないんです