基本概念
1.精度 :(1-a/m) x 100%,m爲樣本總個數,a爲出錯的樣本數目。
在訓練集上的誤差爲經驗誤差。在新樣本上面的誤差爲泛化誤差。
2.P問題:可以在多項式時間內解決並且驗證答案。(多項式時間指的是複雜度中n總在下面。計算機可以承受其複雜度)。
NP問題:保證在多項式時間內驗證問題的正確答案。
NPC問題:NPC問題就是一個NP問題領域的大boss。所有的NP問題都可以約化爲這個問題。
3.測試樣本也是從樣本真是分佈中獨立分佈採樣而得。測試集應該儘可能與訓練集互斥。
4.留出法:將訓練集劃分爲兩份互斥集合,用作訓練集和測試集。在劃分集合的時候應該儘可能保證集合的數據分佈一致性。
兩個集合的比例約爲2:1或者4:1.
5.交叉驗證法:將贗本隨機分爲k份,取其中的k-1份爲訓練集,剩下的一份爲測試集。k通常取10,位10折交叉驗證。
留一法:k爲樣本數量。適用於小規模數據。當數據量較大的時候計算開銷無法忍受。
自助法:在m個樣本中隨機採樣m次,採樣所得的數據爲訓練集,未被採集到的數據用作訓練集。採樣的方式爲獨立重複採樣。未被採集到的數據所佔比例約爲0.368。即訓練集:測試集=2:1。用於數據集較小,難以有效劃分訓練/測試集的時候使用。
6.性能度量
均方誤差
錯誤率
精度
查準率:在認定爲真的示例中,真正的正例所佔的比例。
查全率:在全部真正的示例中,找出來的正例所佔的比例。
查全率越高,查準率越低,因爲爲了提高查全率,必須要降低閾值。這樣取值較高的反例也是會被選擇爲正例的。
查準率越高,查全率越低,因爲爲了提高查準率,必須要提高閾值。這樣取值較低的正例會被判定爲反例。
所以在實際工作中是要在二者之間做一個均衡的。使用調和平均和加權調和平均。
調和平均就是二者取到數再取平均數。=2 x TP/(樣本總數+TP-TN)。
ROC和AUC
ROC曲線的橫座標爲“假正例率”,縱座標爲“真正例率”,其實就是查全率。取值都是0-1.與曲線相交,曲線下的面積爲AUC。AUC越高,說明模型效果越好。
代價敏感錯誤率與代價曲線
所謂代價敏感就是指不同錯誤所帶來的代價是不同的,所以在計算代價的時候需要對不用錯誤增加不同代價的比重。
所繪製的圖下方的 面積就是期望總體代價。如果要是隻看一個梯形的面積還是很好理解的,就是假正例率與假反例率求平均。那多條曲線求交集的目的是什麼,是指通過不斷優化,最終不斷減小代價嗎,在這裏不是很明白。
習題
1.數據集包含1000個樣本,其中500個正例,500個反例,將其劃分爲包含70%樣本的訓練集和30%樣本的測試集用於留出法評估,試估算共有多少種劃分方式。
就是一個隨機抽取的問題。從500裏面選取350個,選兩次,最後得結果。2.數據集包含100個樣本,其中正反例各一半,假定學習算法所產生的模型是將新樣本預測爲訓練樣本數較多的類別(訓練樣本數相同時進行隨機猜測),試給出用10折交叉驗證法和留一法分別對錯誤率進行評估所得的結果。
10折交叉法:因爲將樣本平均分爲10份,所以其中每一份的正反樣本比例應該是一樣的,所以最後的答案應該是隨機猜測的,所以錯誤率應該1-0.5^10。每個樣本都正確的可能性是0.5^10,所以整體錯誤率就是1減去正確率。但是對於其中的每一個樣本來說,錯誤率與正確率相等爲0.5。
留一法:對於留一法來說,分爲兩種情況考慮。當測試樣本爲正例的時候,訓練樣本中有49個正例,50個反例,所以此時會判定爲反例。對於測試樣本爲反例時,同樣會是這種情況,所以正確率爲0。錯誤率爲100%。
3.若學習器A的F1值比學習器B高,試析A的BEP值是否也比B高。
需要先明白F1和BEP都分別指的什麼,之後再分析他們之間的關係。F1是查準率與查全率的調和平均,BEP是“查準率=查全率”的取值。
看網上上的思路就是確定了二者沒有關係。具體就是先確定當二者的BEP都相同時,F1是否相同。如果這個時候F1不同,那就沒有再進行下去的必要了。因爲已經證明了二者是沒有任何關係的。最好的證明方法是舉一個反例。
出自http://blog.csdn.net/icefire_tyh/article/details/52065867
這樣證明了二者沒有關係,那麼當F1高的時候,不能確定BEP也是高的。