はじめに
最近オンラインで機械学習の授業を受けているのですが,学ぶことが多く,受けているだけだと忘れてしまいそうなので備忘録的にもここにまとめていく.
(全部英語なので日本語にまとめるだけでも勉強になりそう)
まだまだ勉強中の身なので,読んでて気になるところがあったらぜひコメントしてください.
オンライン授業について詳しく知りたい方はこちらから!
機械学習の概要
この授業では機械学習について以下のように分けていましたので僕のまとめもその観点からになることを先に断っておきます
学習方法 | 教師あり学習 | 教師なし学習 |
モデリング方法 | 確率的モデル | 非確率的モデル |
アプローチ | モデリングアプローチ | 最適化アプローチ |
教師あり学習
教師あり学習は大きく二つの方法に分けることができる
- 回帰
入力データを使って,直接値を出力させること - クラスタリング
入力データを使って,離散値(クラスタ)を出力すること
教師なし学習
教師なし学習の目的は基本的にデータの構造を明らかにすること(最近はもっと他にも色々あるけど)
これはpredictionやrecommendations, efficient data explorationを助けてくれる
データモデリング
次に機械学習の方法について大きく4ブロックに分かれている
ブロック | ||
---|---|---|
ブロック1 | Data | どんなデータ? |
ブロック2 | Build Model | どんなモデル? |
ブロック3 | Infer hidden variables | パラメタの推定 |
ブロック4 | Predict & Explore | 未知データの予測 |
具体例
ガウス分布
例としてガウス分布について上のモデルの立て方を適応してみると
Data
x_1,...x_n.~~Each~~x_i \in \mathbb{R}^d
Build Model
An i.i.d Gaussian model を仮定する
i.i.d assumption とは
p(x_1,...x_n|\theta) = \prod_{i=1}^n p(x_i|\theta)
が成り立つこと.つまり,独立で同一の分布からデータが得られる
Infer hidden variables
最尤推定法(Maximum likelihood)
最尤推定法は
\hat{\theta}_{ML} := argmax ~~p(x_1,...x_n | \theta)
を満たす $\theta$ を推定することである
これはつまり得られたdata群に対して,このdata群を一番よく出現させるパラメタを推定している.
具体的な計算については割愛
その結果,ガウス分布のパラメタはそれぞれ
\hat{\mu}_{ML} = \frac{1}{n}\sum_{i=1}^n x_i \\
\hat{\Sigma}_{ML} = \frac{1}{n} \Sigma_{i=1}^n (x_i - \hat{\mu}_{ML})(x_i - \hat{\mu}_{ML})^T
となる
つまり,最尤推定法を用いると,モデルの平均は得られたデータの平均,分散共分散も,その平均を用いて計算したものとなる.
Predict
特にしない
ちなみに密度関数
p(x|\mu,\Sigma) := \frac{1}{(2\pi)^{\frac{d}{2}}\sqrt{det(\Sigma)}}\exp(\frac{-1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu))