Machine Learning - Andrew Ng 筆記(7)

Anomaly Detection

異常檢測算法經(jīng)常用于非監(jiān)督學(xué)習(xí)問題中升敲,有點類似于logistic regression.

examples

Aircraft engine

如上圖所示,紅色的樣本都是經(jīng)過測試被證明是質(zhì)量合格的引擎,如果有一個新的引擎稱作與質(zhì)量合格的樣本位置接近那么大概率也質(zhì)量合格,反之此樣本可能需要作更進(jìn)一步的安全測試.

量化來說就是如果p(X_{test})<\epsilon就被認(rèn)為是異常樣本,反之正常.調(diào)節(jié)\epsilon的值類似調(diào)節(jié)logistic regression中的Threshold值.

Density estimation

Anomaly Detection還用于欺詐行為識別和manufacturing


more examples

Gaussian((Normal) distribution

正態(tài)分布
如果隨機(jī)變量X服從正態(tài)分布,記作X~N(\mu,\sigma^2),則其密度函數(shù)為:

Density

其中

被稱為數(shù)學(xué)期望/期望值,被稱為方差,被稱為標(biāo)準(zhǔn)差

Parameter estimation

Anomaly detection algorithm

Anomaly detection algorithm

1.選擇你認(rèn)為可能會表明樣本是一個異常樣本的特征,用來篩選異常樣本候選者.
2.構(gòu)造{}樣本集合用來訓(xùn)練,上圖中的公式向量化可以寫作,類似
3.給定新樣本x,計算p(x)
符號表示乘積.,即

如果則x被認(rèn)為是異常樣本,值的選取下文會提到.
example

p(x)的函數(shù)圖類似于上圖中的3D圖片(特征值n=2).

Developing and evaluating an anomaly detection system

數(shù)據(jù)準(zhǔn)備階段,如下圖,需要
1.Training Set, unlabeled,由正常樣本構(gòu)成
2.Cross validation set, labeled,由正常樣本和異常樣本混合而成.
3.Test set, labeled,由正常樣本和異常樣本混合而成.


Data set

舉個例子,如下圖,不推薦粉色的樣本分組方法.一般來說Training/CV/Test分組的樣本最好不要重合,避免影響對算法的性能評估.


example

Algorithm evaluation

評估一個Anomaly detection algorithm算法的步驟如下:
1.使用training set的樣本數(shù)據(jù)訓(xùn)練出
2.對CV set的樣本進(jìn)行預(yù)測,選擇Fscore最高時對應(yīng)的
3.將以及用于Test set觀察算法表現(xiàn).

Anomaly detection vs. supervised learning

Anomaly detection算法實際上也是預(yù)測樣本的分類,飛機(jī)引擎是好的還是壞的;這筆交易是否有欺詐嫌疑等等.那既然如此為什么不使用logistic regression呢?
因為這兩個算法針對的場景有細(xì)微的差別,如下圖所示:


Anomaly detection vs. supervised learning
  • Anomaly detection算法適用于異常樣本很少的情況下(通常是0-20),并且有大量的正常樣本(因為訓(xùn)練p(x)需要的是正常樣本).換句話說就是異常樣本太少以至于使用監(jiān)督學(xué)習(xí)算法無法很好的識別異常樣本的特征,但是因為有大量的正常樣本反而能很好的訓(xùn)練p(x),所以這種場景使用Anomaly detection更好.
  • Supervised learning適用于無論正常樣本還是異常樣本都很多的情況.


    example

Choosing what features to use

如何為Anomaly Detection 算法選擇特征使得算法的性能更好呢?
需要思考以下兩個方面:
1.選擇的特征盡量滿足Gaussian distribution.

Non-Gaussian features -> Gaussian features

在octave中我們可以使用hist函數(shù)打印特征值的圖形,如果特征值的圖形不符合Gaussian distribution我們可以使用如下手段:
Tranforms

注意:我們可以對每個特征使用不同的方式變形.

2.選擇的特征需要盡可能可以區(qū)分正常/異常樣本.

Error analysis

一般來說我們會選擇特征值要么非常大要么非常小的特征去用于Anomaly Detection算法,更通常的做法是,選擇一些特征看看能不能很好的區(qū)分,如果不行,觀察本該是異常的樣本,在挑選新的特征加入算法.但是有時候根據(jù)現(xiàn)有的特征無法還是不能夠區(qū)分出異常樣本.
舉個例子,如下圖所示,你想找出在數(shù)據(jù)中心中出現(xiàn)特定錯誤的機(jī)器(cpu空轉(zhuǎn),死循環(huán)導(dǎo)致),依靠現(xiàn)有的4個特征值很難將異常機(jī)器和正常機(jī)器區(qū)分開(有可能真的是在執(zhí)行很耗cpu的任務(wù)),此時我們創(chuàng)建一個新特征值,這樣就能很明顯區(qū)分出正常機(jī)器和異常機(jī)器了.

example

Multivariate Gaussian Distribution

Motivating example

之前p(x)的計算方式(分別計算)沒法很好的區(qū)分CPU低Memory Use高,CPU高M(jìn)emory Use高兩個樣本,所以這里需要使用Multivariate Gaussian Distribution,新的p(x)如下:


Multivariate Gaussian Distribution

以下是一些例子:


example1
example2
example3
example4
example5
example6

如果使用example4中間的例子可以區(qū)分CPU低Memory Use高,CPU高M(jìn)emory Use高兩種情況.

Anomaly detection using the multivariate Gaussian distribution

Parameter fitting
Anomaly detection with multivariate Gaussian

Relationship to original model

Gaussian distribution的p(x)是multivariate Gaussian distribution 的特例(是一個n*n的矩陣當(dāng)滿足除對角線之外的元素都為0的時候).
另一個發(fā)現(xiàn)是original model的輪廓圖始終是與坐標(biāo)軸對齊的.

Original model vs. Multivariate Gaussian
  • Original model
    需要創(chuàng)建新的特征(現(xiàn)有特征值的組合)來更好的識別異常值.
    計算成本低(適用于大規(guī)模輸入,like n=10000)
    training size很小也ok
  • Multivariate Gaussian
    無需考慮新建特征值
    計算成本高,求\Sigma的inverse
    必須滿足m>n,否則\Sigma不可逆(推薦m>=10*n時才使用)

Recommender System

Recommender System Example

Content-based recommender systems

基于內(nèi)容的推薦系統(tǒng),以推薦電影為例,根據(jù)用戶的打分?jǐn)?shù)據(jù)和這些分?jǐn)?shù)對應(yīng)的電影特征去構(gòu)造hypothesis去預(yù)測該用戶對沒打過分?jǐn)?shù)的電影的打分,然后可以根據(jù)分高的推薦.

terms

上圖中的可以理解為用戶的對不同類型電影的喜好.

cost function for user j

,這其實是一個linear regression,帶入linear regression的cost function可得recommender system用戶j的cost function如上.
cost function for all users

Gradient descent

Collaborative filtering

協(xié)同過濾的動機(jī)在于(還是拿預(yù)測電影評分舉例子):電影太多了,如果需要工作人員一個一個去看完然后給出每個電影的特征值太慢而且不現(xiàn)實.所以我們這樣想,如果我們已知用戶對于電影的喜好(\theta^{(j)}),并且知道用戶對于電影的評分(y(i,j)),那么我們可以根據(jù)這些來倒推電影的特征(x^{(i)}).

cost function for X

如上圖所示求出最優(yōu)的X.
Collaborative filtering

Collaborative filtering的思想就是隨機(jī)初始化用戶的偏好,根據(jù)用戶評分去估算電影特征X,再根據(jù)X和評分去優(yōu)化,如此往復(fù),雖然沒給出證明,但是這樣做最后和X都會收斂.

Collaborative filtering algorithm

cost function(simultaneously)

前一節(jié)中的先優(yōu)化再優(yōu)化X的反復(fù)的過程可以合并在一起同時進(jìn)行,cost fucntion 如上.
Collaborative filtering algorithm

完整的Collaborative filtering algorithm步驟如上.
注意,這里不需要\theta_0,x_0

Vectorization:Low rank matrix factorization

Y

Predicted ratings


X是的矩陣,可以看成是影片的樣本,每一行代表一部電影,每一列代表電影的特征,是的矩陣,可以看作用戶的樣本,每一行代表一個用戶,每一列代表用戶對電影特征的愛好程度.

Finding similar movies

有時候我們要根據(jù)用戶喜愛的電影類型推薦相似的電影給他,當(dāng)計算出用戶喜歡的電影的特征值時,遍歷所有電影,當(dāng)最小時對應(yīng)的電影j就是和i最類似的電影.

Implementational detail:Mean normalization

Users who have not rated any movies

對于從來沒有打?qū)﹄娪按蜻^分的用戶,在使用Collaborative filtering algorithm時,cost function的第一項永遠(yuǎn)為0,那么在梯度下降算法執(zhí)行的過程中對于上圖中的Eve用戶來說,傾向于把偏好都設(shè)置為0,如果使用去預(yù)測Eve的評分那將全部是0,我們沒法給Eve做推薦,為了解決這種問題,我們需要使用Mean normalization,如下圖所示,對于Y的每一行求平均值構(gòu)成向量,再做類似于的操作,此時對于用戶j在電影i上的打分則是 ,換句話說就是對于沒有做過任何評分的用戶,將他對電影的評分設(shè)置為該電影的平均分.
Mean normalization

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末当宴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子步清,更是在濱河造成了極大的恐慌,老刑警劉巖虏肾,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廓啊,死亡現(xiàn)場離奇詭異,居然都是意外死亡封豪,警方通過查閱死者的電腦和手機(jī)谴轮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吹埠,“玉大人第步,你說我怎么就攤上這事≡道牛” “怎么了粘都?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長刷袍。 經(jīng)常有香客問我翩隧,道長,這世上最難降的妖魔是什么呻纹? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任堆生,我火速辦了婚禮,結(jié)果婚禮上雷酪,老公的妹妹穿的比我還像新娘淑仆。我一直安慰自己,他們只是感情好太闺,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布糯景。 她就那樣靜靜地躺著,像睡著了一般省骂。 火紅的嫁衣襯著肌膚如雪蟀淮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天钞澳,我揣著相機(jī)與錄音怠惶,去河邊找鬼。 笑死轧粟,一個胖子當(dāng)著我的面吹牛策治,可吹牛的內(nèi)容都是我干的脓魏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼通惫,長吁一口氣:“原來是場噩夢啊……” “哼茂翔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起履腋,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤珊燎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后遵湖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悔政,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年延旧,在試婚紗的時候發(fā)現(xiàn)自己被綠了谋国。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡迁沫,死狀恐怖芦瘾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弯洗,我是刑警寧澤旅急,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站牡整,受9級特大地震影響藐吮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逃贝,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一谣辞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沐扳,春花似錦泥从、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杨拐,卻和暖如春祈餐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哄陶。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工帆阳, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屋吨。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓蜒谤,卻偏偏與公主長得像山宾,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鳍徽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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