1. 程式人生 > >吳恩達-機器學習(9)-異常檢測、協同過濾

吳恩達-機器學習(9)-異常檢測、協同過濾

文章目錄

Density Estimation

Problem Motivation

異常檢測:給定m個假定正常的資料集,對x的分佈概率建模,建立概率模型之後,對於新的資料概率低於閾值就是異常的


異常檢測的應用:

  • 欺詐檢測
  • 產品的質量控制
  • 資料中心的計算機監測

Gaussian Distribution

樣本出現的概率符合下列公式就是高斯分佈,其中 σ \sigma 是標準差, μ \mu 是均值

p ( x ) = 1 2 π σ exp ( ( x μ ) 2 2 σ 2 ) p(x) = \frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

Algorithm

獨立分佈的概率,等於概率的乘積
在異常檢測演算法中,即使獨立的假設不成立,該演算法的效果也還可以

異常檢測演算法步驟:

Building an Anomaly Detection System

Developing and Evaluating an Anomaly Detection System

與監督學習一樣,將樣本分為三個部分訓練集、交叉驗證集、測試集,
不同之處在於訓練集是無標籤的,都是正常的資料,交叉驗證集和測試集是有標籤的正常的資料和異常的資料均包含

下圖就是資料集的分割,第二種方法也可行但不推薦

由於資料樣本的不均衡,所以要使用召回率和置信度進行評價演算法

Anomaly Detection vs. Supervised Learning

異常檢測和監督學習的對比

Anomaly Detection Supervised Learning
資料具有傾斜性,正的資料較少, 負的資料較多 大量的正的和負的資料
很多不同種類的異常資料,任何演算法都很難從假設的例子中瞭解異常是什麼樣子的,出現的異常可能並沒有出現過 充足的正的資料可以讓演算法瞭解正的樣本是什麼樣的,未來出現的正的樣本很可能是訓練集中的

異常檢測和監督學習的應用對比

Anomaly Detection Supervised Learning
欺詐檢測 垃圾郵件分類
生產檢測 天氣預測
資料中心監測機器 癌症檢測

Choosing What Features to Use

異常檢測是使用高斯模型對特徵向量建模,但有些特徵不符合高斯分佈,雖然演算法可以正常執行,但如果對這些
特徵進行處理使其符合高斯分佈,演算法表現會更加好,處理的方法有取對數、開方等

選擇特徵要選擇異常情況下非常大或非常小的特徵向量

Multivariate Gaussian Distribution

Multivariate Gaussian Distribution

對於計算機監測的例子:當低CPU佔用,高記憶體佔用時,使用上述的異常檢測可能將該情況作為正常情況,上述
的異常檢測是圓形的,在同一個圓上認為是同一概率,所以要使用多元高斯分佈

多元高斯分佈不是將特徵獨立的建模

多元高斯分佈的例子
協方差相同,相互獨立,與普通高斯分佈相同

協方差不同,特徵相關

正相關

負相關

Anomaly detection using the multivariate Gaussian Distribution

使用多元高斯模型建模

傳統高斯模型和多元高斯分佈模型的關係協方差矩陣對角線上的值其實就是方差

高斯分佈和多元高斯分佈對比

Original model Multivariate Gaussian
當特徵相關時需要手動的建立新特徵去捕獲這種情況 自動尋找特徵間的相關性
所需的計算資源少 所需的計算資源多
訓練集的數量可以很小 訓練集的數量必須大於特徵數

Predicting Movie Ratings

Problem Formulation

電影評分資料

Content Based Recommendations

符號說明


線性迴歸

梯度下降

使用線性迴歸進行預測,需要收集電影的特徵資料,這是非常困難的,所以下一節介紹協同過濾

Collaborative Filtering

Collaborative Filtering

對於每個電影我們要知道該電影的動作指數是多少浪漫指數是多少,這件事是很難的,但我們可以很容易的知道
使用者喜歡什麼型別的電影

優化目標

Collaborative Filtering Algorithm

如果給你幾個特徵去表示電影,我們可以使用這些特徵去獲取使用者的引數資料
如果給你使用者的引數資料,你可以使用這些資料去獲得電影的特徵
將兩者合一就是協同過濾演算法

同時進行梯度下降

Low Rank Matrix Factorization

Vectorization: Low Rank Matrix Factorization

協同過濾的向量實現

對於每個電影已經得到了特徵,就可以尋找相關的電影

Implementational Detail: Mean Normalization

當用戶沒有給任何電影評分時,所以r(i,j)=0,對引數影響的只有正則化項,為了最小化代價函式,所以最後引數均
為0,所以預測結果均為0,這對於推薦是沒有任何意義的

均值歸一化就是為了解決上述問題,計算每個電影的平均分,將每個評分減去平均分
如果電影沒有評分對列進行均值歸一化