1. 程式人生 > >[吳恩達機器學習筆記]15.1-3非監督學習異常檢測算法/高斯回回歸模型

[吳恩達機器學習筆記]15.1-3非監督學習異常檢測算法/高斯回回歸模型

閾值 訓練集 jpg -a 情況 color 訓練 ase 需要

15.異常檢測 Anomaly detection

覺得有用的話,歡迎一起討論相互學習~Follow Me

15.1問題動機 Problem motivation

飛機引擎異常檢測

  • 假想你是一個飛機引擎制造商,當你生產的飛機引擎從生產線上流出時,你需要進行 QA(質量控制測試),而作為這個測試的一部分,你測量了飛機引擎的一些特征變量,比如引擎運轉時產生的熱量,或者引擎的振動等等。如下圖所示:$x_1,x_2,x_3...$ 用以表示測量得到的飛機引擎的特征。而數據集中的m個數據用${x^{(1)},x^{(2)},x^{(3)}...x^{(m)}}$表示
  • 這樣一來,你就有了一個數據集,從 $x^{(1)}到x^{(m)}$,如果你生產了 m 個引擎的話,你將這些數據繪制成圖表,看起來就是這個樣子:
    技術分享圖片
  • 這裏的每個點、每個叉,都是你的 無標簽數據 。這樣,異常檢測問題可以定義如下:假設後來有一天,你有一個新的飛機引擎從生產線上流出,而你的新飛機引擎有特征變量$x^{test}$。所謂的異常檢測問題就是:希望知道這個新的飛機引擎是否有某種異常,或者說,我們希望判斷這個引擎是否需要進一步測試。因為,如果它看起來像一個正常的引擎,那麽我們可以直接將它運送到客戶那裏,而不需要進一步的測試。
  • 給定一個訓練集,然後對訓練數據進行建模即$p^{(x)}$,即對飛機引擎的特征進行建模,然後當給定一個新的數據即$x^{(test)}$,如果概率$P^{(test)}$低於閾值ε-- 那麽就將其標記為異常,如果概率$P^{(test)}$大於等於閾值ε-- 那麽就將其標記為正常
  • 觀察模型,將會發現在中心區域的這些點概率相當大,而稍微遠離中心的點概率會少些,而離中心更遠的點,其概率會更小即出現異常的概率會更大,而最外的標記點就是 異常點(anomaly) ,而中心區域的點P(x)很大即是 正確的點
    技術分享圖片
  • 這種方法稱為 密度估計 表達如下:
    $$if p(x)\begin{cases}\le\epsilon anomaly\> \epsilon normal\
    \end{cases}$$

    欺騙識別

  • 使用$x^{(i)}表示第i個用戶的行為特征$,通過檢測是否有$p(x)<\epsilon$來斷定用戶是否是一個非正常用戶。
  • 異常檢測主要用來識別欺騙。例如在線采集而來的有關用戶的數據,一個特征向量中可能會包含如:$x_1$用戶多久登錄一次,$x_2$訪問過的頁面,$x_3$在論壇發布的帖子數量,甚至是$x_4$打字速度等。嘗試根據這些特征構建一個模型,可以用這個模型來識別行為異常的用戶。

    數據中心異常檢測

  • 特征可能包含:$x_1$內存使用情況,$x_2$被訪問的磁盤數量,$x_3$CPU的負載,$x_4$網絡的通信量等。根據這些特征可以構建一個模型,用來是否有$p(x)<\epsilon$來判斷某些計算機是不是有可能出錯了


15.2高斯分布 Gaussian Distribution

  • 通常如果我們認為變量 x 符合高斯分布 x~N(μ,σ2)則其概率密度函數為:
    技術分享圖片
    其中$\mu $表示數據的平均值而$\sigma^2$表示樣本的方差,橫軸表示數據的值,而縱軸則表示此值出現的概率密度,圖像與一段範圍內的橫軸包圍的面積即為x的取值落在此範圍內的概率,其圖像如下圖所示:
    技術分享圖片
    其中$\mu$控制圖像的中線所在位置,而$\sigma$控制圖像的寬度,並且對於概率密度函數而言,其與坐標軸包圍的區域的面積始終為1
  • 利用已有的數據來預測總體中的$\mu 和 \sigma^2$的計算方法如下:
    技術分享圖片
    其中統計學家認為計算方法中的分母應該為(m+1),而機器學習學者則認為其中的分母為m也很合適,當時數據量十分巨大時,分母為m或者為(m+1)實質上沒有很大的區別。
    技術分享圖片

15.3非監督學習的異常檢測算法

  • 假定有共m個樣本的無標簽訓練集,訓練集中的每個樣本都是一個$R^n$維的特征向量。
    則處理異常檢測的方法是 使用數據集建立起概率模型p(x) 試圖通過特征量的乘積來對樣本的異常狀況進行檢測。
  • 假設特征量之間是相互獨立的,則概率模型可表示為特征量的概率的乘積:$$P(x)=p(x_1)p(x_2)p(x_3)...p(x_n)$$
  • 假設特征都是分散的,並且 服從高斯正態分布 則概率模型可表示為$$p(x)=p(x_1;\mu_1,\sigma_1)p(x_2;\mu_2,\sigma_2)p(x_3;\mu_3,\sigma_3)...p(x_n;\mu_n,\sigma_n)$$即$$\prod^{n}_{j=1}p(s_j;\mu_j,\sigma_j^2)$$

    異常檢測算法概述

  1. 挑選對異常檢測有用的特征$x_i$
  2. 計算每個特征的均值和方差$\mu_1,\mu_2,,u_3...,\mu_n,\sigma_1^{2},\sigma_2^{2},\sigma_3^{2}...\sigma_n^{2}$
    技術分享圖片
  3. 給定樣本x,計算概率p(x),$如果概率小於\epsilon$,則判斷這個樣本存在異常
    技術分享圖片

    異常檢測示例

    技術分享圖片

  • 此時選定$\epsilon$大小為0.02,則計算樣本點$x_{test}^{(1)}$的概率為0.0426,而計算樣本點$x_{test}^{(2)}$的概率為0.0021。因此樣本1可以被視為正常樣本,而樣本2則被視為異常樣本。

[吳恩達機器學習筆記]15.1-3非監督學習異常檢測算法/高斯回回歸模型