如今有一個網站,爲了防止該網站被人惡意攻擊,你採起了如下措施。給每一個用戶創建用戶畫像,記錄他的一些操做,例如:打字速度,瀏覽時間,點擊網頁次數等等... 能夠將這些特徵創建一個模型,讓它有一個閾值,當低於這個閾值時,就多是有人在惡意攻擊你的網站,這時候你就要當心了。就像下圖,若是超出藍圈,那這個數據就有可能發生了異常:算法
那麼這個模型是怎麼創建出來的呢?用到的是異常檢測算法(Anomaly detection)。異常檢測算法是用高斯正態分佈推導出來的,方法很簡單,就是將每一個特徵的高斯正態分佈值相乘,獲得的結果與閾值相比較,若大於這個閾值,就認爲是沒有異常的。微信
1.對於無標籤的樣本選取特徵;機器學習
2.每一個特徵根據公式計算出高斯分佈中所須要的參數 μ 和 σ^2;編輯器
3.畫出高斯分佈的圖像;學習
4.將交叉驗證集中的數據根據是否異常打上標籤;網站
5.在交叉驗證集中根據 F 值選擇閾值;spa
6.閾值選好後,將每一個特徵的高斯正態分佈值相乘,並與閾值進行比較,若小於閾值,則爲異常數據。cdn
當正樣本(出錯的樣本)不多時,咱們就須要用到異常檢測法,而正負樣本都不少時,咱們就須要用監督學習。blog
ps. 本篇文章是根據吳恩達機器學習課程整理的學習筆記。若是想要一塊兒學習機器學習,能夠關注微信公衆號「SuperFeng」,期待與你的相遇。圖片