1,噪音和非確定性目標
幾種錯誤:(1) noise in y: mislabeled data; (2) noise in y: different labels for same x; (3) noise in x: error x.
將包含噪音的y 看作是概率分佈的,y ~ P(y|x)。
學習的目標變爲預測最有可能出現的y,max {P(y|x)}。
2, 錯誤的測量 (error measure)
對錯誤不同的測量方法將對學習過程有不同的指導。
如下面的0/1 error 和 squared error.
我們在學習之前,需要告訴模型我們所關心的指標或衡量錯誤的方法。
3,衡量方法的選擇
圖中的false accept 和 false reject 就是我們在分類中常說的 false positive 和 false negative,只是臺灣和大陸的叫法不同而已。
採用0/1 error 時,對於每種錯誤,都會有相同程度的懲罰(panalize)。
然而,在實際應用中,兩種錯誤帶來的影響可能很不一樣。
例如(講義中的例子),一個商場對顧客進行分類,老顧客可以拿到折扣,新顧客沒有折扣;這時,如果發生false reject(將老顧客錯分爲新顧客)而不給其打折,那麼會嚴重影響用戶體驗,對商家口碑造成損失,影響較壞;而如果發生false accept (將新顧客錯分爲老顧客)而給其打折,也沒什麼大不了的。
另一個例子,CIA 的安全系統身份驗證,如果發生false accept(將入侵者錯分爲合法僱員),後果非常嚴重。
通過上述兩個例子,我們知道,對於不同application,兩類錯誤的影響是完全不同的,因此在學習時應該通過賦予不同的權重來區分二者。比如對於第二個例子,當發生false accept : f(x)=-1, g(x)=+1, 對Ein 加一個很大的值。
Just remember: error is application/user-dependent.
4,帶權重的分類
依然是藉助CIA 身份驗證的例子來說明什麼是weighted classification:
通過感知機模型解決CIA 分類問題。如果數據時線性可分的,那麼帶權重與否對結果沒有影響,我們總能得到理想結果。
如果輸入數據有噪音(線性不可分),像前面學習感知機時一樣,採用Pocket 方法,然而計算錯誤時對待兩種錯誤(false reject/false accept) 不再一視同仁,false acceot 比false reject 嚴重1000倍。通過下面方法解決:
即,在訓練開始前,我們將{(x,y) | y=-1} 的數據複製1000倍之後再開始學習,後面的步驟與傳統的pocket 方法一模一樣。
然而,從效率、計算資源的角度考慮,通常不會真的將y=-1 的數據拷貝1000倍,實際中一般採用"virtual copying"。只要保證:
randomly check -1 example mistakes with 1000 times more probability.
(這句大家還是看英文比較好,以免理解有歧義)
總之,我們選擇好適合特定應用的error measure: err,然後在訓練時力求最小化err,即,我們要讓最後的預測發生錯誤的可能性最小(錯誤測量值最小),這樣的學習是有效的。