吴恩达机器学习笔记week9

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asasasaababab/article/details/82291488

本周主要讲异常检测和协同过滤算法。

异常检测

Motivation

  异常检测主要的motivation是我们可能有很多正常的样本,异常样本很少,然而异常样本才是业务中感兴趣的正样本,这个时候我们无法使用分类。一方面是因为正样本太少了,另一方面,其实我们也不知道异常样本到底都有那些类,在这种情况下,我们就会使用异常检测这种方式进行。

主要思路

  主要思路就是负样本有一个分布,一般假设成高斯的,然后估计出高斯的均值和方差,然后新样本就直接在这个分布下计算概率密度或者概率,如果足够小,就判别为异常。

流程

这里写图片描述

数据集划分

这里写图片描述

异常检测和监督学习的对比

这里写图片描述

一些其他事项

非高斯可以尝试取个对数,或者是开根号啥的
这里写图片描述
另外很可能找到的feature上显示异常和正常值的feature的概率在一个量级,那么这个时候解决的办法是复合一下其中的一些feature,比方说x1/x2,或者再去挑选能够表征异常的的feature。
另外一个是协方差不为0的高维高斯,参数估计方法如下:
这里写图片描述
这里写图片描述

推荐系统

推荐系统这里使用的是协同过滤的方法。
简要来说就是使用线性回归对用户对目标产品的评分进行回归估计。
以一个例子来说明:
这里写图片描述

这里写图片描述
这里写图片描述

在我们直到Movie的特征的情况下,比方说是爱情元素还是动作元素,在这种情况下,相当于特征我们是知道的,那么可以直接对参数 θ 进行估计。
这里写图片描述
只要使用梯度下降法就可以了:
这里写图片描述

协同滤波

但是问题是,我们其实很难直接给出一个电影究竟浪漫元素分值是多少,在这种情况下,x的值也是不知道的:
这里写图片描述
在这种情况下,我们有两种方法解,一种是随机初始化 x θ ,然后分别迭代优化,另外一种就是用一个cost function,一起优化 x θ ,也就是协同滤波的含义。
这里写图片描述
算法如下:
这里写图片描述
在这种情况下,其实就显出来,需要随机初始化 x θ 了,否则无法symmetric break。这个和神经网络是一个道理。
另外有一个实现上的问题,mean normalization:
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/asasasaababab/article/details/82291488
今日推荐