机器学习 吴恩达 第九周 笔记
Anomaly detection -----异常检测
造飞机引擎,然后根据其中的feature构造一个关系图,如上图,很明显,右下角那个点明显是异常
生活中很多东西都是符合高斯分布的,这个飞机引擎也一养
这里主要是介绍了一下高斯分布和其公式
这里展示了高斯分布公式中的两个变量对高斯分布的影响。
这里给出了μ的表达式和σ的表达式
首先,我们是通过算出p(x)是否小于某一阈值来判断他是否异常。而这里P(x) 等于每个feature的高斯分布乘积
运行步骤,挺简单的
这里给张例子方便理解。
假设这里给定了有标签的数据,包括异常(y=1)和正常(y=0) ,那么怎么分配呢,下图
推荐使用第一种分配方式,如上图,异常一般是远远小于tranining set的数量的。为啥要选第一种,因为cv和test的set一般是不能有相同的
分好了之后,就是要评估这个异常了,根据我们之前所学偏斜误差(在这里只有20个异常,所以说正确率是高的吓人,这导致偏斜误差也是很大) ,所以这里要用precision和recall来共同评估。这里要尝试不用的使得F1-score最大。
有没有发现,supervised learning 和这个anomaly detection很像,就是training set大小不一样。
具体看上面。
在代入feature进关系图里后,有时候会发现它并不是高斯分布,这个时候我们就要尽量让他看起来像高斯分布,具体就是上图中的用对数或者幂来转化
我们选择的feature,有时候并不是非常契合。怎么说呢,就是这个点在x1,x2组成的坐标系中是异常,然而用一个新的feature来判断这个点,它又是正常的。所以选择feature非常重要
我们也可以用已有的feature整合成一个新的feature
接下来是
Multivariate Gaussian distribution---多元高斯分布
这个看看就好。普通的高斯分布是中间圆圈,而多元高斯分布则是斜着的。
奉上公式。
着六张图展示了不同的μ和cov(那个求和符号是协方差) 对多元高斯分布的影响。
好了,终于到这里为啥要选择多元的,因为多元的可以自动获取feature之间的相关性(就是之前说的用已有的feature组合成一个新的来判断),不过只适用于m>n的情况下,因为如果n<m就会出现cov协方差是不可倒.
Recommender system --- 推荐系统
推荐系统是一门很复杂的学问balabala
第二张图是一些符号的意思,我们假设要预测人们对电影的评分,图一已经给出了每个人对不同电影的评分(?代表没有评分)。这里的predict其实就是linear regression。
在这里我们假设feature为action和romance两种,图一中间的用户评分使我们的目标y,现在就是要求θ,因为= y(咱的线性回归公式)。看起来差不多是这样,然后用它来预测这个用户对其他电影的评分。来实现给他推荐电影。
第一个公式是针对一个用户,而第二个则是针对多用户,当然这些被选中用来训练的电影必须被用户评价过r(i,j) =1
这里是利用梯度下降进行迭代时的公式
注意,这里是已知feature的数值和真实的y来求θ
接下来另一种东西就是已知θ求feature(不是协同过滤)
Collaborative filtering ---- 协同过滤
如上图,要求x
如之前求θ,这里是求feature
注意,到目前为止都不是协同过滤,而上图最后一个θ->x->θ->x->θ。。。。则点明了协同过滤的思想,通过猜测θ来求x,然后通过求得x来求θ,如此反复横跳。
接下来就是协同过滤:
看起来复杂,其实就是两条linear regression合并到一起,就是已知θ求x和已知x求θ两条合在一起。
以上一样,不过对象换成了合并在一起后的式子。
求出来该有的东西后,接下来就是如何推荐电影了
ok,有评价过电影的用户我们知道如何给他推荐电影,那么没评价过的呢?
上图,用户评价哪里全是????,那么就可以用已有的用户评分来给他取个平均值,然后进行归一化。
然后没有评价的用户评分设为0,然后加上平均值,来给他推荐。