Noise 和 Error

一、有Noise 時vc bound依舊成立
在之前推導vc bound 的時候,我們假設樣本空間裏沒有Noise,自然抽樣樣本中也不會有Noise。當hypothesis 的dvc有限,N足夠大,Ein(h)足夠小,我們就說機器有所學習。但是當樣本空間中夾雜了Noise後,我們還能有這套理論的成立嗎?
解決思路:原先的target函數是確定的,對於每一個樣本來說,都有唯一個標籤。但現在我們可假設函數值也是服從某一概率分佈,大概率上接近未知的target函數,小概率會發生Noise。抽樣樣本是這樣,樣本空間也是如此。我們某一時刻在訓練集上學習所得的規則可表示當前時刻整個樣本空間。(保證訓練集、測試集的樣本及標籤服從相同的分佈)。
可以說,在有Noise時,機器學習的規則,可保證對時常被抽取到樣本做測試其標籤會是大概率出現的那個!(這也是機器學習的目標)
在這裏插入圖片描述二、error 度量
在學習過程中做驗證時,我們需要評估學習所得的規則與未知規則的差距!但是如何評估?使用和何種函數並沒有給出說明,這裏就來簡單的探究一下這個問題!度量函數最主要的目的評估預測值和真實值的差距,因此error function 的變量肯定是關於預測函數和真實函數(有Noise時,預測所得函數概率分佈和真實函數概率分佈),均值,可逐樣本計算。因而總error可使用各個樣本的error之和的均值來表示。將單樣本的error function 記爲err(f,g)。

在這裏插入圖片描述
在這裏插入圖片描述
最最基本兩類error function:0/1 error 和 squared error
在這裏插入圖片描述
error度量不僅用在評估g與f的相似程序,在演算法pick g時,即使得Ein近似於0,也需要用到它!爲了保證學習和測試的一致性,我們需要在演算法中指出使用的error function ,並且在測試的時候,也用類似的error function 。爲什麼一定要在演算法和驗證過程中均使用同一個error function ?不同的error function 差別很大。下面的例子表示在演算法中,不同error function對pick g的影響。
在這裏插入圖片描述
三、演算法中的error measure 的特殊性
上面的0/1 error 和squared error 用來驗證g與f的相似性是足夠的。但是對於演算法,針對不同的問題,我們可以再此兩類基礎的error function 上再作進一步修改,可是使得學習效果更接近真實應用場景的需要。比如,對於false reject 和false accept,在不同的場景下,懲罰因子是不同的,而0/1error中這兩種錯誤的懲罰因子都是1。
在這裏插入圖片描述
演算法中的error function 通常採取兩種形式:
1、可寫出單樣本的err表達式,但是結合演算法後並不好操作
2、演算法易於使用的特殊方法
在這裏插入圖片描述在這裏插入圖片描述總之,在機器學習過程中,我們將採用兩種類型的error function ,一個用於驗證過程,一個用在演算法中。

四、結合之前所學的pocket和新學的weighted error的演算法
下面將分析一個具體的例子:修改pocket演算法中的0/1error爲weight error後,機器學習還是可靠地嗎?
在這裏插入圖片描述將weight error轉化爲使用0/1error:在訓練集中複製懲罰因子高的樣本,因此只要0/1error的pocket算法時可靠地,那麼weight error pocket算法理論也是可靠地!
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章