標籤:

吳恩達機器學習第九周課後感

目錄

一、主要內容

二、個人感受

三、實際應用

正文

一、主要內容

1.Anomaly Detection

《Density Estimation》

Problem Motivation

假設我們是一家飛機引擎製造商,我們會檢測引擎的一些特徵,將數據可視化之後,如果分布與之前數據類似,那就是正常引擎,如果某分布在極其離譜的位置,那就有可能是有問題的引擎。確定該數據的離譜程度,我們可以通過給定一個密度來進行判斷。當密度越高,說明越正常,如果密度越低,說明越有異常。

Gaussian Distribution

Gaussian Distribution:高斯分布,又叫做正態分布,呈鐘形曲線。

方差越小,曲線的寬度也越小,曲線也會更高。平均數對於曲線在橫坐標的位置會產生影響。

Algorithm

去測量異常值的時候,我們可以建立概率函數,然後將不同的特徵都倒入進去後取所有函數的乘積。這樣,我們就有了一個更全面的概率函數,我們倒入不同的值,設定一個標準,所有小於標準的值都屬於異常值。

《Building an Anomaly Detection System》

Developing and Evaluating an Anomaly Detection System

機器學習中給各個決定定一個返回值,通過這些值來做判斷會比起單純地思考來的更加容易。首先我們將數據分成三份,訓練集,校驗集,以及測試集。然後我們可以用校驗集來測試該演算法是否可行。

Anomaly Detection vs. Supervised Learning

監督學習通常都會與龐大的數據量去支持演算法,在異常檢測的時候,正面信息相對更少,負面信息會更加龐大。異常檢測出來的異常值可能會千奇百怪,這與監督學習相對穩定的數據有所不同。

Choosing What Features to Use

異常檢測的時候,我們需要使用高斯分布來建立模型。當展示的數據圖像不是鐘形曲線的時候,做一些轉換,比如Log,可以讓圖像更加接近鐘形。誤差分析的時候,通過異常值在鐘形曲線的表現,我們可以從中找出一個新的特徵來更好地去選擇異常值。

《Multivariate Gaussian Distribution》

Multivariate Gaussian Distribution

多元高斯分布在一些特定的情況下可以找出高斯分布沒有辦法找出來的異常值。有些情況下,某種異常值有可能在兩個特徵的鐘形曲線中都表現為一般,而非異常。多遠高斯分布(或多元正態分布)可以通過矩陣和概率來畫出三維圖像,更多的信息可以使我們更加容易找到異常值。

Anomaly Detection Using the Multivariate Gaussian Distribution

建立以多元高斯分布為模型的系統,首先要計算出 mu 和矩陣,之後算出概率。與之前的高斯分布比較,多元高斯分布中的圖像呈現的圖像,不僅不是圓形是橢圓形,而且橢圓形還有角度。高斯分布使用的頻率會更高。在處理兩個關聯性不常見的特徵的時候,高斯分布需要我們建立第三個特徵(即前兩者的比值)。而多元高斯分布可以直接表達二至之間的分布。高斯分布的計算成本會更低。而且多元高斯分布要求樣本數量必須大於特徵數量,高斯分布則不存在這樣的問題。

2.Recommender Systems

《Predicting Movie Ratings》

Problem Formulation

推薦系統在學術界並不是最熱門的話題之一,但是在工業界,這個領域舉足輕重,基本上所有的大廠都在挖空心思去提升推薦系統的準確度。

Content Based Recommendations

推薦系統有一個比較常用的方式就是通過內容進行推薦。以推薦電影為例,我們可以為電影打上不同的權重,比如《殺死比爾》動作片權重是1,喜劇片的權重是0;《A計劃》動作片的權重是0.6,喜劇片的權重是0.4。接著再根據用戶對已有電影的評分進行加權,通過線性回歸和梯度下降最後得到參數,配合需要預測電影的權重,就可以輕鬆算出結果了。

《Collaborative Filtering》

Collaborative Filtering

Feature Learning:特徵學習,是一種可以自己學會應該使用哪種特徵的演算法。

如果我們的原始數據沒有告訴我們電影的內容,不過我們有觀眾對於各部電影的喜愛程度,那麼我們就可以預測電影的內容以及內容的權重。有了權重之後,我們就可以通過優化演算法得到最優的參數,從而預測用戶將會給電影的打分。這個操作可以成為一個循環,在這個循環之內,數據可以達到收斂。

Collaborative Filtering Algorithm

參數和內容權重的計算完全可以被合併在一起,雖然會有兩個正則化的項,但是整個效率大大提高,因為不需要反覆計算。具體步驟為,首先隨機生成初始值,然後使用梯度下降或採用其他方式優化,最後我們就可以通過我們算出來的參數對電影評分了。

《Low Rank Matrix Factorization》

Vectorization: Low Rank Matrix Factorization

推薦相似產品的時候,我們可以創建矩陣,各個參數和各個輸入值可以被各自生成為新的矩陣,這種演算法被成為低軼矩陣。就是通過低軼矩陣,我們可以比較兩部電影之間的向量距離。如果向量距離小,也就說明兩部電影相似。

Implementational Detail: Mean Normalization

Mean Normalization:均值歸一化,

如果我們的系統中,有位用戶沒有給任何電影打分,我們要收集其他用戶的所有數據,並算出他們對各部電影的平均值,並對每個用戶的打分歸一化。用被歸一化的數據做協同過濾,我們會得到新的參數和平均值,而這些平均值就可以作為我們對這位用戶的打分。

二、個人感受

異常值檢測和推薦系統在工業界都與非常廣泛的應用,就如吳恩達在課程中提到的一樣,推薦系統在工業界的火熱程度遠遠超出在學術界的程度。這不禁讓我想到了《南方公園》第19季,廣告如同天網一樣,滲透進了我們生活中的方方面面,彈出的是廣告,現在甚至一些文章和視頻都是廣告,將來可能連你周邊的人都是廣告。之前也有位專家在感慨:「我們這個時代最優秀的大腦每天都在為增加點擊量而煩惱。」

機器學習的應用領域本來不應該這麼窄,即使是我們自己的肉身我們都沒有辦法徹底解釋,大談特談宇宙真理真的有點為時過早了。我自己對機器學習未來的應用,更多是會寄希望於生物學研究,我希望我們可以更加了解人類自身,了解心臟的運行,了解大腦的運行,了解各個系統的協調。人為什麼為人,這個問題的答案我們尚不可知,但是人是怎麼為人的,寄希望於機器,我們可以早日知道答案。

不過,大多數人似乎不關心這個。他們更多人在乎的,也只是如何讓客戶多一下點擊,或者如何從商家那裡多拿一點優惠。

三、實際應用

這堂課中都有提到實際案例:一個是基於異常值檢測飛機發動機檢查,另外一個基於協同過濾的是電影推薦。

我個人對於醫療和健康的熱情還是很高漲的,畢竟從小體弱多病,也見證了白血病的可怕,對於身體和生命的敬畏之心一直都不敢忘。我一直都認為,作為群居動物的認為,應該為我們所處的族群做出一些服務和貢獻,別人可以不做,但至少我自己要做。生命是我們的感受存在的載體,我們應該保護好自己的生命(當然我們生理上對於死亡也有巨大的排斥)。

可以實時監測出身體的變化,如同有個私人醫生實時陪護。這個就有點遠了,實際上,找到醫生陪護可以做到的服務,只要做到其中一點,那麼這個產品必然會大放異彩。


推薦閱讀:

tensorflow數據的讀取
深入機器學習系列4-KMeans
<EYD與機器學習>一:The Machine Learning Landscape
《AN EFFICIENT FRAMEWORK FOR LEARNING SENTENCE REPRESENTATIONS》閱讀筆記

TAG:機器學習 |