Coursera Week9
はじめに
CourseraのWeek9を実施しましたので、私のメモを公開します。
Courseraってなんだ?という方はWeek1から御覧ください。
Anomaly detection
あるデータ・セットが与えられていて、そのデータセットから明らかに離れたデータをアノマリーと言う。
Gaussian(Normal) istribution
ガウス分布は以下の式で表される。
$x\sim N(\mu, \sigma^2)$
$\mu$は平均を表し、$\sigma$は分散(標準偏差)を表す。
$\mu$はただの平均なので下記の式で表現できる。
$$
\mu = \frac{1}{m}\sum_{i=1}^mx^{(i)}
$$
$\sigma^2$は下記のように表す。
$$
\sigma^2=\frac{1}{m}\sum_{i=1}^m(x^{(i)}-\mu)^2
$$
#Density estimation
$$
p(x) = \Pi_{j=1}^np(x_j;\mu_j,\sigma_j^2)
$$
$\Pi$は$\sum$の積バージョン。
最終的に$p(x)$の値がかなり小さい($epsilon$より小さい)場合、これをアノマリーとする。
$p(x) < \epsilon$
Recommendation System
リコメンダシステムを取り扱う1つ目の理由は機械学習の問題とよくマッチするから。
2つ目の理由は全般的に必要な知識を共有するのにちょうどいいから。
Feature Learning
アルゴリズムがなんのフィーチャー(つまり$X$)を使うか自分自身で学習する。
映画の例では各映画がどれくらいロマンティックか、アクションが多いかを自分自身で学習する。
Collaborative filtering algorithm
1.$x$と$\theta$を小さいランダム数で初期化する。
2.CostFunctionを最急降下法などのアルゴリズムを使用して最小化する。
$$
x_k^{(i)} = x_k^{(i)} - \alpha(\sum_{j:r(i,j)=1}((\theta^{(j)})^Tx^{(i)} - y^{(i,j)})\theta_k^{(j)} + \lambda x_k^{(i)})
$$
$\theta$も上記の$x$と同様の式で求められる。
$\alpha$のカッコ内はコスト関数の偏微分。
3.レーティングの予測をする。
$(\theta^{(i)})^T x^{(i)}$