吴恩达机器学习课程-作业8-异常检测和推荐系统(python实现)

Machine Learning(Andrew) ex8-Anomaly Detection and Recommender Systems

椰汁笔记

Anomaly detection

这是也是一个非监督学习算法

  • 异常检测做什么?
    从一组数据中找到那些“异常”的数据,基于高斯分布(正太分布)。生活中的很多事情都是符合高斯分布的,对于数据也是如此。我们通过参数估计,估计出数据符合的高斯分布参数,当其中的数据分布在高斯分布中概率很小的地方,就认为这是异常数据。
  • 具体怎么做?
    选择可以描述异常状态的特征作为输入
    x ( 1 ) , x ( 2 ) , … , x ( m ) x^{(1)},x^{(2)},\dots,x^{(m)} x(1),x(2),,x(m)
    根据以往的数据估计高斯分布的参数(对每一个特征)
    μ j = 1 m ∑ i = 0 m x j ( i ) σ j 2 = 1 m ∑ i = 0 m ( x j ( i ) − μ j ) 2 \mu_j=\frac{1}{m}\sum_{i=0}^{m}x_j^{(i)} \\\sigma_j^2=\frac{1}{m}\sum_{i=0}^{m}(x_j^{(i)}-\mu_j)^2 μj=m1i=0mxj(i)σj2=m1i=0m(xj(i)μj)2
    对于一个新的数据,预测其发生概率
    P ( x ) = ∏ j = 1 n P ( x j ; μ j ; σ j 2 ) = ∏ j = 1 n 1 2 π σ j e − ( x j − μ ) 2 j 2 σ j 2 P(x)=\prod_{j=1}^nP(x_j;\mu_j;\sigma_j^2)=\prod_{j=1}^n\frac{1}{\sqrt{2\pi}\sigma_j}e^{-\frac{(x_j-\mu_)^2j}{2\sigma_j^2}} P(x)=j=1nP(xj;μj;σj2)=j=1n2π σj1e2σj2(xjμ)2j
    当概率小于一定阈值后认定为异常。
  • 这个算法有什么缺点?
    可以看到,之前的模型中对每个特征都是独立地处理,最后的组合只是简单的相乘。这样就是存在一些问题,特征之间的关联没有捕捉到。
    升级的方式就是多元高斯分布,将不再单独考虑特征,而是将特征一起考虑,自动捕捉之间的关联。
    参数的估计变为,其中的sigma为协方差矩阵
    μ = 1 m ∑ i = 1 m x ( i ) Σ = 1 m ∑ i = 1 m ( x ( i ) − μ ) ( x ( i ) − μ ) T \mu=\frac{1}{m}\sum_{i=1}^{m}x^{(i)} \\\Sigma=\frac{1}{m}\sum_{i=1}^{m}(x^{(i)}-\mu)(x^{(i)}-\mu)^T μ=m1i=1mx(i)Σ=m1
  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值