吴恩达机器学习笔记week9

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

异常检测

Motivation

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

主要思路

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

流程

这里写图片描述

数据集划分

这里写图片描述

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

这里写图片描述

一些其他事项

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

推荐系统

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

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

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

协同滤波

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值