機(jī)器學(xué)習(xí)算法概覽:異常檢測(cè)算法/常見算法/深度學(xué)習(xí)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本文是對(duì)機(jī)器學(xué)習(xí)算法的一個(gè)概覽,以及個(gè)人的學(xué)習(xí)小結(jié)。通過閱讀本文,可以快速地對(duì)機(jī)器學(xué)習(xí)算法有一個(gè)比較清晰的了解。本文承諾不會(huì)出現(xiàn)任何數(shù)學(xué)公式及推導(dǎo),適合茶余飯后輕松閱讀,希望能讓讀者比較舒適地獲取到一點(diǎn)有用的東西。
本文主要分為三部分,第一部分為異常檢測(cè)算法的介紹,個(gè)人感覺這類算法對(duì)監(jiān)控類系統(tǒng)是很有借鑒意義的;第二部分為機(jī)器學(xué)習(xí)的幾個(gè)常見算法簡(jiǎn)介;第三部分為深度學(xué)習(xí)及強(qiáng)化學(xué)習(xí)的介紹。最后會(huì)有本人的一個(gè)小結(jié)。
1 異常檢測(cè)算法異常檢測(cè),顧名思義就是檢測(cè)異常的算法,比如網(wǎng)絡(luò)質(zhì)量異常、用戶訪問行為異常、服務(wù)器異常、交換機(jī)異常和系統(tǒng)異常等,都是可以通過異常檢測(cè)算法來做監(jiān)控的,個(gè)人認(rèn)為這種算法很值得我們做監(jiān)控的去借鑒引用,所以我會(huì)先單獨(dú)介紹這一部分的內(nèi)容。
異常定義為“容易被孤立的離群點(diǎn) (more likely to be separated)”——可以理解為分布稀疏且離密度高的群體較遠(yuǎn)的點(diǎn)。用統(tǒng)計(jì)學(xué)來解釋,在數(shù)據(jù)空間里面,分布稀疏的區(qū)域表示數(shù)據(jù)發(fā)生在此區(qū)域的概率很低,因而可以認(rèn)為落在這些區(qū)域里的數(shù)據(jù)是異常的。
圖1-1離群點(diǎn)表現(xiàn)為遠(yuǎn)離密度高的正常點(diǎn)
如圖1-1所示,在藍(lán)色圈內(nèi)的數(shù)據(jù)屬于該組數(shù)據(jù)的可能性較高,而越是偏遠(yuǎn)的數(shù)據(jù),其屬于該組數(shù)據(jù)的可能性就越低。
下面是幾種異常檢測(cè)算法的簡(jiǎn)介。
1.1 基于距離的異常檢測(cè)算法
圖1-2 基于距離的異常檢測(cè)
思想:一個(gè)點(diǎn)如果身邊沒有多少小伙伴,那么就可以認(rèn)為這是一個(gè)異常點(diǎn)。
步驟:給定一個(gè)半徑r,計(jì)算以當(dāng)前點(diǎn)為中心、半徑為r的圓內(nèi)的點(diǎn)的個(gè)數(shù)與總體個(gè)數(shù)的比值。如果該比值小于一個(gè)閾值,那么就可以認(rèn)為這是一個(gè)異常點(diǎn)。
1.2 基于深度的異常檢測(cè)算法
圖1-3 基于深度的異常檢測(cè)算法
思想:異常點(diǎn)遠(yuǎn)離密度大的群體,往往處于群體的最邊緣。
步驟:通過將最外層的點(diǎn)相連,并表示該層為深度值為1;然后將次外層的點(diǎn)相連,表示該層深度值為2,重復(fù)以上動(dòng)作??梢哉J(rèn)為深度值小于某個(gè)數(shù)值k的為異常點(diǎn),因?yàn)樗鼈兪蔷嚯x中心群體最遠(yuǎn)的點(diǎn)。
1.3 基于分布的異常檢測(cè)算法
圖1-4 高斯分布
思想:當(dāng)前數(shù)據(jù)點(diǎn)偏離總體數(shù)據(jù)平均值3個(gè)標(biāo)準(zhǔn)差時(shí),可以認(rèn)為是一個(gè)異常點(diǎn)(偏離多少個(gè)標(biāo)準(zhǔn)差可視實(shí)際情況調(diào)整)。
步驟:計(jì)算已有數(shù)據(jù)的均值及標(biāo)準(zhǔn)差。當(dāng)新來的數(shù)據(jù)點(diǎn)偏離均值3個(gè)標(biāo)準(zhǔn)差時(shí),視為異常點(diǎn)。
1.4 基于劃分的異常檢測(cè)算法
圖1-5孤立深林
思想:將數(shù)據(jù)不斷通過某個(gè)屬性劃分,異常點(diǎn)通常能很早地被劃分到一邊,也就是被早早地孤立起來。而正常點(diǎn)則由于群體眾多,需要更多次地劃分。
步驟:通過以下方式構(gòu)造多顆孤立樹:在當(dāng)前節(jié)點(diǎn)隨機(jī)挑選數(shù)據(jù)的一個(gè)屬性,并隨機(jī)選取屬性的一個(gè)值,將當(dāng)前節(jié)點(diǎn)中所有數(shù)據(jù)劃分到左右兩個(gè)葉子節(jié)點(diǎn);如果葉子節(jié)點(diǎn)深度較小或者葉子節(jié)點(diǎn)中的數(shù)據(jù)點(diǎn)還很多,則繼續(xù)上述的劃分。異常點(diǎn)表現(xiàn)為在所有孤立樹中會(huì)有一個(gè)平均很低的樹的深度,如圖1-5中的紅色所示為深度很低的異常點(diǎn)。





