吳恩達(dá)機(jī)器學(xué)習(xí)—異常檢測

問題動機(jī)

模型建立

再給定訓(xùn)練集的情況下豆赏,如何檢測某一個輸入x是否異常芳悲?

首先要根據(jù)訓(xùn)練集數(shù)據(jù)建立一個模型P(x)榛丢,當(dāng)給定數(shù)據(jù)的值P(x_{test} )<\varepsilon 的時候枪芒,則數(shù)據(jù)被認(rèn)定為異常彻况,表示它距離總體數(shù)據(jù)中心較遠(yuǎn)P(x_{test} )\geq \varepsilon 時被認(rèn)定為正常。

異常檢測的例子

欺詐行為識別是異常識別最常用的領(lǐng)域舅踪,向量x^i 表示用戶i的一系列特征纽甘,如登錄次數(shù),點擊某一個頁面的次數(shù)抽碌,發(fā)帖次數(shù)等悍赢,根據(jù)這些特征建立模型p(x),然后根據(jù)閾值\varepsilon 識別欺詐行為。同樣,異常識別還用于產(chǎn)品檢測等方面左权。

高斯分布

高斯分布
高斯分布的參數(shù)估計

基于高斯分布的異常檢測算法

模型的構(gòu)建

假設(shè)樣本數(shù)據(jù)的每一個特征對應(yīng)一個高斯分布皮胡,模型等于這些分布的聯(lián)合分布。通常涮总,統(tǒng)計學(xué)上概率聯(lián)乘基于獨立性假設(shè)胸囱,但在實際中,若樣本數(shù)量足夠大瀑梗,是否獨立就不那么重要了烹笔。

異常點檢測

首先選擇可能需要的特征,擬合特征的參數(shù)抛丽,即均值和方差谤职,得到每個特征的分布,也可以用特征向量表示亿鲜;用所有特征的聯(lián)合分布構(gòu)建模型允蜈;給定新的樣本點x,根據(jù)模型計算p(x)值蒿柳,看其有沒有小于閾值\varepsilon 饶套。

異常點識別舉例

上圖數(shù)據(jù)有兩個特征,擬合每個特征的參數(shù)垒探,p值就表示為在三維圖上面的高度妓蛮。

開發(fā)和評估異常檢測系統(tǒng)

在進(jìn)行特征選擇的時候,如果想知道是否應(yīng)該加入一個新的特征圾叼,一個數(shù)值的評估指標(biāo)就顯得很重要蛤克,那么在進(jìn)行特征選擇的時候可以分別計算加入該特征和不加兩種情況,當(dāng)加入該特征時夷蚊,返回一個數(shù)值指標(biāo)构挤,可以用來判斷算法效果是否得到了改進(jìn)。

學(xué)習(xí)算法的數(shù)值評估
數(shù)據(jù)分類

假設(shè)有10000個正常樣本和20個異常樣本惕鼓,按上面的方式進(jìn)行評估筋现。根據(jù)訓(xùn)練集求得特征向量的參數(shù),構(gòu)造模型呜笑,樣本的分類比例有不同的方法夫否,但是不要把把驗證集同時作為測試集。

算法評估

首先進(jìn)行模型的構(gòu)造叫胁,對訓(xùn)練集樣本中的每一個特征建立高斯分布擦?xí)缓笸ㄟ^聯(lián)乘建立模型P(x)汞幢,因為樣本其實是有標(biāo)簽的驼鹅,即,是帶有標(biāo)簽y的,那么输钩,y就可以用來幫我們判斷模型的好壞豺型。建立模型以后,在驗證集中進(jìn)行算法評估买乃,將驗證集中的某一個樣本值x輸入到模型中姻氨,根據(jù)閾值\varepsilon 預(yù)測驗證集樣本的標(biāo)簽,大于閾值則為正常點剪验,小于閾值為異常點肴焊。然后在與樣本的實際標(biāo)簽作對比,計算評估指標(biāo)如準(zhǔn)確率功戚,召回率娶眷,F(xiàn)-score等。

對于模型中的閾值\varepsilon 的選擇啸臀,可以嘗試不同的\varepsilon 届宠,然后選擇對應(yīng)的F-score最大的\varepsilon

既然我們有了帶標(biāo)簽的數(shù)據(jù)乘粒,為什么不適用線性回歸豌注,邏輯回歸等方法進(jìn)行異常點識別呢?

異常檢測VS監(jiān)督學(xué)習(xí)

異常檢測與監(jiān)督學(xué)習(xí)

異常檢測適用于正樣例(y=1)數(shù)量非常少灯萍,而負(fù)樣例(y=0)數(shù)量非常多的樣本轧铁。因為這正樣本正樣例太少,無法找到所有的異常原因竟稳,若進(jìn)行監(jiān)督學(xué)習(xí)的話属桦,無法學(xué)到所有的知識,還有可能會存在未來會發(fā)生的新的異樣他爸,這些異衬舯觯現(xiàn)在無法觀測的到,更無法進(jìn)行建模诊笤。相反系谐,異常檢測是對大量的負(fù)樣例進(jìn)行建模,這樣任何偏離模型的樣本就可以被識別為異常讨跟,而不用研究異常的原因是什么纪他。之前在講述有監(jiān)督的學(xué)習(xí)的時候提到過例子,垃圾郵件的分類晾匠,就是因為我們擁有的垃圾郵件的數(shù)量非常多茶袒,可以總結(jié)出垃圾郵件的普遍特征,因此有利于算法學(xué)習(xí)和建模凉馆。

因此薪寓,當(dāng)負(fù)樣例即異常點數(shù)量非常少的時候亡资,可以使用異常檢測法對數(shù)據(jù)中的負(fù)樣例進(jìn)行建模,偏離正常點的數(shù)據(jù)都被認(rèn)為是異常點向叉;當(dāng)負(fù)樣例即異常點數(shù)量非常多的時候锥腻,監(jiān)督學(xué)習(xí)算法可以有效地進(jìn)行學(xué)習(xí),因此母谎,這個時候可以選擇監(jiān)督學(xué)習(xí)的算法進(jìn)行異常點識別瘦黑。

選擇異常算法要使用的功能

特征分布的處理

在進(jìn)行異常檢測的時候,我們認(rèn)為數(shù)據(jù)的分布符合高斯分布奇唤,然后根據(jù)訓(xùn)練集進(jìn)行參數(shù)估計幸斥,再通過聯(lián)乘進(jìn)行模型構(gòu)建,然后在驗證集中進(jìn)行驗證冻记。但是睡毒,實際上很多特征的分布不是符合高斯分布的,此時我們可以通過變換將其調(diào)整為高斯分布(實際上樣本數(shù)量足夠多的情況下不進(jìn)行調(diào)整也可以冗栗,但是如果進(jìn)行了調(diào)整演顾,模型效果肯定會更好)。調(diào)整的方式有很多隅居,如上圖所示钠至,可以將參數(shù)數(shù)值取對數(shù),進(jìn)行開方等胎源,通過調(diào)節(jié)冪指數(shù)等參數(shù)棉钧,是數(shù)據(jù)的分布趨向于高斯分布。

?異常檢測的誤差分析

我們希望的得到的模型P(x)在正樣例上數(shù)值較大涕蚤,在負(fù)樣例上數(shù)值較小宪卿。我們可以采取這樣的方法,先進(jìn)行初始模型的建立万栅,在最后分析模型的表現(xiàn)佑钾,當(dāng)模型表現(xiàn)不好的時候在分析可能產(chǎn)生的原因是什么,根據(jù)這些原因再去選擇合適的特征烦粒。一個常見的問題是單一特征的時候休溶,異常點和正常點的額都很大,此時扰她,就可以添加新的特征去進(jìn)行異常點檢測兽掰。

特征選擇示例

我們可以根據(jù)對問題的判斷,自己構(gòu)造特征徒役。

多變量高斯分布

異常檢測的一種延伸

異常檢測無法識別的異常

上圖左上角的綠色點是異常數(shù)據(jù)孽尽,因此通常在CPU負(fù)載較低的時候,內(nèi)存使用應(yīng)該較低忧勿,但是這個點不同泻云。當(dāng)分別考慮CPU負(fù)載和內(nèi)存使用兩個特征的時候艇拍,如右邊兩個坐標(biāo)所示狐蜕,這個異常點并沒有表現(xiàn)出來異常宠纯,從CPU負(fù)載來看,小于該點的值也有很多层释;從內(nèi)存使用來看,大于該點的也有很多廉白。這樣一來使用異常檢測算法就不能識別出這個異常點楣嘁,這是因為進(jìn)行高斯異常檢測的時候,是按照左圖洋紅色線來劃分的,越靠近內(nèi)部圓圈的點越是正常把曼,原理內(nèi)部圓的點越不正常器净。這樣就忽略了不同特征之間的關(guān)系。

為了改進(jìn)這種異常識別算法的不足,就有了改進(jìn)的異常檢測算法,即多變量高斯分布 。

多變量高斯分布

多變量高斯分布在建立模型的時候不在分別將每一個特征的分布看做一個高斯分布光涂,而是整合成一個分布齐佳,分布中的參數(shù)\Sigma 表示樣本的協(xié)方差矩陣。隨著參數(shù)的變化隧土,樣本分布變化如圖:

當(dāng)特征方差同時變化時
當(dāng)只有一個特征向量的方差變化時
當(dāng)兩個特征向量高度正相關(guān)時

協(xié)方差矩陣的副對角線上元素的大小表示兩個特征的相關(guān)系數(shù)幕庐,因此瑟由,數(shù)值越大,兩個特征的相關(guān)性越大冤寿,則樣本分布圖如上所示歹苦。同理青伤,相關(guān)系數(shù)為負(fù)的時候,表示兩個特征負(fù)相關(guān)殴瘦,則樣本分布如下所示:

特征負(fù)相關(guān)

當(dāng)改變均值的時候狠角,分布的峰值會發(fā)生改變,即改變均值就是移動整個分布的中心:

均值改變的多元高斯分布

多變量高斯分布的異常檢測

多元高斯分布的參數(shù)估計

在多元高斯分布中痴施,要估計的參數(shù)就是均值向量和sigmoid函數(shù)擎厢。

多元高斯分布模型

在求出參數(shù)以后,可以按照上述公式建立模型辣吃,給定一個新的樣本x,當(dāng)其小于閾值\varepsilon 的時候就會被認(rèn)定為異常芬探。

與單變量高斯模型的比較

單變量高斯分布其實就是在樣本特征相互獨立的時候的一種特殊的多元高斯分布的情況

傳統(tǒng)高斯分布與多變量高斯分布的對比

在傳統(tǒng)的高斯分布中神得,如果能手工建立相關(guān)特征之間的關(guān)系,捕捉異常關(guān)系偷仿,那么是可以使用傳統(tǒng)的高斯異常檢測的哩簿,如果不能自己識別建立這種關(guān)系,那么就適合使用多元高斯分布酝静,它會自動捕捉特征之間的關(guān)系节榜;在訓(xùn)練集規(guī)模較小的時候使用傳統(tǒng)的高斯分布是可以的,若要使用多元高斯分布别智,那么就要求訓(xùn)練集數(shù)據(jù)量要很大宗苍,訓(xùn)練集數(shù)據(jù)量m要遠(yuǎn)遠(yuǎn)大于特征個數(shù)n,一般m>10n,效果較好薄榛,不然就會出現(xiàn)奇異矩陣讳窟。再優(yōu)點方面,傳統(tǒng)的高斯分布可能計算較為簡單敞恋,而多元高斯分布計算量隨著特征的個數(shù)上升丽啡。

如果在使用多元高斯分布的時候產(chǎn)生了奇異矩陣,可能是存在以下兩方面的問題:一是數(shù)據(jù)量太少硬猫,沒有達(dá)到遠(yuǎn)超過特征數(shù)的要求补箍;另一方面是存在特征冗余,即特征之間存在線性關(guān)系啸蜜。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坑雅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盔性,更是在濱河造成了極大的恐慌霞丧,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,332評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冕香,死亡現(xiàn)場離奇詭異蛹尝,居然都是意外死亡后豫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評論 3 385
  • 文/潘曉璐 我一進(jìn)店門突那,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挫酿,“玉大人,你說我怎么就攤上這事愕难≡绻辏” “怎么了?”我有些...
    開封第一講書人閱讀 157,812評論 0 348
  • 文/不壞的土叔 我叫張陵猫缭,是天一觀的道長葱弟。 經(jīng)常有香客問我,道長猜丹,這世上最難降的妖魔是什么芝加? 我笑而不...
    開封第一講書人閱讀 56,607評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮射窒,結(jié)果婚禮上藏杖,老公的妹妹穿的比我還像新娘。我一直安慰自己脉顿,他們只是感情好蝌麸,可當(dāng)我...
    茶點故事閱讀 65,728評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著艾疟,像睡著了一般来吩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汉柒,一...
    開封第一講書人閱讀 49,919評論 1 290
  • 那天误褪,我揣著相機(jī)與錄音,去河邊找鬼碾褂。 笑死兽间,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的正塌。 我是一名探鬼主播嘀略,決...
    沈念sama閱讀 39,071評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乓诽!你這毒婦竟也來了帜羊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,802評論 0 268
  • 序言:老撾萬榮一對情侶失蹤鸠天,失蹤者是張志新(化名)和其女友劉穎讼育,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,256評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡奶段,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,576評論 2 327
  • 正文 我和宋清朗相戀三年饥瓷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痹籍。...
    茶點故事閱讀 38,712評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡呢铆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蹲缠,到底是詐尸還是另有隱情棺克,我是刑警寧澤,帶...
    沈念sama閱讀 34,389評論 4 332
  • 正文 年R本政府宣布线定,位于F島的核電站娜谊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏渔肩。R本人自食惡果不足惜因俐,卻給世界環(huán)境...
    茶點故事閱讀 40,032評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望周偎。 院中可真熱鬧,春花似錦撑帖、人聲如沸蓉坎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉艾。三九已至,卻和暖如春衷敌,著一層夾襖步出監(jiān)牢的瞬間勿侯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評論 1 266
  • 我被黑心中介騙來泰國打工缴罗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留助琐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,473評論 2 360
  • 正文 我出身青樓面氓,卻偏偏與公主長得像兵钮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舌界,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,606評論 2 350

推薦閱讀更多精彩內(nèi)容