1. 程式人生 > >Coursera機器學習(Andrew Ng)筆記:異常檢測與推薦系統

Coursera機器學習(Andrew Ng)筆記:異常檢測與推薦系統

異常檢測(Anomaly Detection)

機器學習初學者,原本是寫來自己看的,寫的比較隨意。難免有錯誤,還請大家批評指正!對其中不清楚的地方可以留言,我會及時更正修改

異常檢測是機器學習演算法的常見應用,它主要用於非監督學習問題,但從某些角度看,又十分類似一些監督學習問題。
假設我們有m個樣本x(1)x(m)都是正常的,我們需要一個演算法告訴我們,新樣本xtest是不是正常的,即這個新樣本是否異常。這裡使用的方式是對已有的無標籤樣本資料進行建模p(x),也可以理解成是對x的分佈概率進行建模。模型建立之後,對於新樣本xtest,如果它的概率p小於某個閾值ϵ,它就被標記為異常。
異常檢測可以應用在欺詐檢測,飛機引擎引數檢測,資料中心的計算機監控等。

高斯分佈Gaussian Distribution

又常稱作正太分佈Normal Distribution,其分佈函式可以描述為xN(μ,σ2),其中μ稱作均值,是曲線的中心,σ2稱作方差,亦即σ是標準差。完整的分佈函式描述為:

p(x;μ,σ2)=1σ(2π)e12(xμσ)2
μ=1mi=1mx(i)
σ2=1mi=1m(x(i)μ)2

演算法

給定訓練集{x(1),,x(m)},每個樣本是一個向量,即xRn。則異常檢測演算法的模型表示為:

p(x)=p(x1;μ1,σ21)p(x2;μ2,σ22)p(xn;μn,σ2n)=j=1np(xj;μj
,σ2j)

其中,μj=1mi=1mx(i)j,σ2j=1mi=1m(x(i)jμj)2。因此,p(x)也可以寫作
p(x)=j=1np(xj;μj,σ2j)=j=1n12πσjexp((xjμj)2