8.3 算法流程与评估-机器学习笔记-斯坦福吴恩达教授
算法流程與評估
算法流程
有了前面的知識,我們可以得到,采用了高斯分布的異常檢測算法流程如下:
μj=1m∑i=1mxj(i)μ_j=\frac1m \sum_{i=1}^m x_j^{(i)}μj?=m1?i=1∑m?xj(i)?
δj2=1m∑i=1m(xj(i)?μ)2δ_j^2=\frac1m \sum_{i=1}^m (x_j^{(i)}-μ)^2δj2?=m1?i=1∑m?(xj(i)??μ)2
p(x)=∏j=1np(xj;μj,δj2)=∏j=1n12πδjexp(?(xj?μj)22)p(x)=∏_{j=1}^n p(x_j;μ_j,δ^2_j)=∏_{j=1}^n \frac{1}{\sqrt{2\pi}δ_j}exp(-\frac{(x_j-μ_j)^2}2)p(x)=j=1∏n?p(xj?;μj?,δj2?)=j=1∏n?2π?δj?1?exp(?2(xj??μj?)2?)
如果 p(x)<?p(x)<?p(x)<? ,則認為樣本 xxx 是異常樣本。
舉個栗子
假定我們有兩個特征 x1x_1x1? 、 x2x_2x2? ,它們都服從于高斯分布,并且通過參數估計,我們知道了分布參數:
則模型 p(x)p(x)p(x) 能由如下的熱力圖反映,熱力圖越熱的地方,是正常樣本的概率越高,參數 ??? 描述了一個截斷高度,當概率落到了截斷高度以下(下圖紫色區域所示),則為異常樣本:
將 p(x)p(x)p(x) 投影到特征 x1x_1x1? 、 x2x_2x2? 所在平面,下圖紫色曲線就反映了 ??? 的投影,它是一條截斷曲線,落在截斷曲線以外的樣本,都會被認為是異常樣本:
數據集劃分
假定我們的引擎數據集被標注了是否為異常樣本:
y(i)={0,如果x(i)為正常樣本1,otherwisey^{(i)}=\begin{cases}0,如果 x^{(i)} 為正常樣本\\1,otherwise\end{cases}y(i)={0,如果x(i)為正常樣本1,otherwise?
并且,含有正常樣本 10000 個,異常樣本 20 個。那么,我們可以這樣劃分數據集:
- 訓練集含 6000 個正常樣本。
- 交叉驗證集含 2000 個正常樣本, 10 個異常樣本。
- 測試集含 2000 個正常樣本, 10 個異常樣本。
算法評估
由于異常樣本是非常少的,所以整個數據集是非常偏斜的,我們不能單純的用預測準確率來評估算法優劣,因此,可以考慮使用我們在算法分析與優化一節中提過的評價手段:
- 真陽性、假陽性、真陰性、假陰性
- 查準率(Precision)與 召回率(Recall)
- F1ScoreF_1ScoreF1?Score
總結
以上是生活随笔為你收集整理的8.3 算法流程与评估-机器学习笔记-斯坦福吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8.2 高斯分布模型-机器学习笔记-斯坦
- 下一篇: 8.4 有监督学习与异常检测-机器学习笔