機器學習公開課筆記第五週之機器學習系統設計

2022-03-17 11:03:14 字數 1640 閱讀 1519

以設計垃圾郵件分類器為例,當我們設計機器學習演算法時,先在24小時內設計出乙個簡單的演算法,跑一遍訓練資料,再根據資料的反饋結果(高偏差,高方差,或對某一類資料誤判比例過高等等)調整我們的演算法,反覆迭代優化

一,提取特徵

從大量垃圾郵件訓練資料中找出出現頻率最高的10,000到50,000個單詞,以該單詞是否出現為特徵,出現為1,未出現為0

二,提高分類器的準確性

每乙個演算法效能的提高必須具體問題具體分析,沒有行之四海皆準的方法提高機器學習的準確性,

三,誤差分析(提高演算法準確性的分析方法)

如,我們有500封信件然而我們的演算法把其中100封分錯了類,觀察這100封郵件,我們發現大多數郵件嘗試偷取密碼,我們就可以加入是否偷取密碼這個特徵

必須以演算法準確率為優化的指標,每次優化必須看準確率為標準

四,偏斜類(skewed classed)

當訓練資料中型別的分布比例差距較大時,如01分類中0為0的比例是99%,1的比例是1%,準確性這個量化指標就不夠用了,

因為不用機器學習演算法直接**y=0,準確性就高達99%,這個時候就需要另外另個量化指標了查準率(precsision)和召回率(recall),計算查準率和召回率時分類為1的類為比例極少的類

actual 1

actual 0

predict 1

true positive

false positive

predict 0

false negative

true negative

\(precision = \frac = \frac\)

\(recall = \frac = \frac\)

查準率和召回率時乙個問題的兩面,我們一般我們很難做到同時做到高查準率和高召回率,一般取其平衡

一般情況下我們可以通過修改\(h_\theta(x)\)的分類閾值調整查準率和召回率,

\(h_\theta(x) \geqslant 0.5 \rightarrow h_\theta(x) \geqslant 0.7\),查準率提高,召回率降低(千真萬確)

\(h_\theta(x) \geqslant 0.5 \rightarrow h_\theta(x) \geqslant 0.3\),召回率提高,查準率降低(寧殺錯,勿放過)

那如何自動取捨查準率和召回率來評估演算法效能?\(2\frac\)

五,在什麼樣的條件下收集大量資料是有用的

如果有足夠充分的特徵\(x\in r^\)能夠準確的**y,或者說,把這些特徵交給人類這方面的專家,人類專家能十分準確的**出y,在以上條件下,資料越多,演算法效能越高

機器學習公開課筆記第五週之優化機器學習演算法

一,提高機器學習演算法準確度的方法 當我們的機器學習演算法不能準確 我們測試資料時,我們可以嘗試通過以下方法提高我們機器學習的演算法準確度 1 獲得更多的訓練樣例 2 減少特徵數 3 增加特徵數 4 增加多項式特徵 5 增大或減小 lambda 二,評估機器學習模型 如果只是單獨的使用乙個訓練集,我...

機器學習公開課筆記第七週之K均值法

一,無監督學習 unsupervised learning 無監督學習就是給定一系列沒有標籤的訓練資料,找出訓練資料之間的關係,最典型的就是聚類演算法 clustering algorithm 無監督學習的工程應用 二,k均值法 k means algorithm 1,k均值法是常用聚類演算法之一,...

機器學習公開課筆記 2 多元線性回歸

一元線性回歸只有乙個特徵 x 而多元線性回歸可以有多個特徵 x 1,x 2,ldots,x n 假設 hypothesis h theta x theta tx theta 0x 0 theta 1x 1 ldots theta nx n 引數 parameters theta 0,theta 1,...