日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于过拟合、局部最小值、以及Poor Generalization的思考

發布時間:2024/1/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于过拟合、局部最小值、以及Poor Generalization的思考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Poor Generalization

這可能是實際中遇到的最多問題。

比如FC網絡為什么效果比CNN差那么多啊,是不是陷入局部最小值啊?是不是過擬合啊?是不是欠擬合啊?

在操場跑步的時候,又從SVM角度思考了一下,我認為Poor Generalization屬于過擬合范疇。

與我的論文 [深度神經網絡在面部情感分析系統中的應用與改良] 的觀點一致。

SVM

ImageNet 2012上出現了一個經典虐殺場景。見[知乎專欄]

里面有一段這么說道:

當時,大多數的研究小組還都在用傳統computer vision算法的時候,多倫多大學的Hinton祭出deep net這樣一個大殺器。差距是這樣的:

第一名Deepnet的錯誤率是0.16422
第二名日本東京大學的錯誤率是0.2617
第三名牛津大學的錯誤率是0.2679

除了Hinton組是用CNN之外,第二第三都是經典的SIFT+SVM的分離模型。

按照某些民科的觀點,SVM是宇宙無敵的模型,結構風險最小化,全局最小值,那么為什么要綁個SIFT?

眾所周知,SIFT是CV里最優良的Hand-Made特征,為什么需要這樣的特征?

因為它是一種Encoding,復雜的圖像經過它的Encoding之后,有一些很明顯的性質(比如各種不變性)就會暴露出來。

經過Encoding的數據,分類起來是非常容易的。這也是模式識別的經典模式:先特征提取、再分類識別。

Question:如果用裸SVM跑ImageNet會怎么樣? My Answer:SVM的支持向量集會十分龐大。比如有10000個數據,那么就會有10000個支持向量。

SVM不同于NN的一個關鍵點就是,它的支持向量是動態的,雖然它等效于NN的隱層神經元,但是它服從結構風險最小化。

結構風險最小化會根據數據,動態算出需求最少的神經元(或者說是隱變量[Latent Variable])。

如果SVM本身很難去切分Hard數據,那么很顯然支持向量會增多,因為[Train Criterion] 會認為這是明顯的欠擬合。

欠擬合情況下,增加隱變量,增大VC維,是不違背結構風險最小化的。

極限最壞情況就是,對每個點,擬合一個值,這樣會導致最后的VC維無比龐大,但仍然滿足結構風險最小化。圖示如下:

之所以要調大VC維,是因為數據太緊密。

如果吃不下一個數據,那么找局部距離的時候,就會總是產生錯誤的結果。

盡管已經很大了,但是仍然需要更大,最好是每個點各占一個維度,這樣100%不會分錯。

這會導致另外一個情況發生:過擬合,以及維數災難:

維數災難: 在Test Phase,由于參數空間十分龐大,測試數據只要與訓練數據有稍微變化,很容易發生誤判。 原因是訓練數據在參數空間里擬合得過于離散,在做最近局部距離評估時,各個維度上,誤差尺度很大。測試數據的輕微變化就能造成毀滅級誤判,學習的參數毫無魯棒性。

不過,由于現代SVM的[Train Criterion] 一般含有L2 Regularier,所以可以盡力壓制擬合的敏感度。

如果L2系數大點,對于大量分錯的點,會全部視為噪聲扔掉,把過擬合壓成欠擬合。

如果L2系數小點,對于大量分錯的點,會當成寶去擬合,雖然不至于維數災難,過擬合也會很嚴重。

當然,一般L2的系數都不會壓得太狠,所以過擬合可能性應當大于欠擬合。

?

我曾經碰到一個例子,我的導師拿了科大訊飛語音引擎轉化的數據來訓練SVM。

Train Error很美,Test Error慘不忍睹,他當時和我說,SVM過擬合好嚴重,讓我換個模型試試。

后來我換了CNN和FC,效果也差不多。

從Bayesian Learning觀點來講,Model本身擁有的Prior并不能摸清訓練數據Distribution。

這時候,無論你是SVM還是CNN,都是回天無力的,必然造成Poor Generalization。

?

不是說,你搞個大數據就行了,你的大數據有多大,PB級?根本不夠。

單純的擬合來模擬智能,倒更像是是一個NPC問題,搜遍全部可能的樣本就好了。

悲劇的是,世界上都沒有一片樹葉是完全相同的,美國的PB級樹葉的圖像數據庫可能根本無法解決中國的樹葉問題。

?

也不是說,你隨便套個模型就了事了,更有甚者,連SVM、NN都不用,認為機器學習只要LR就行了。

“LR即可解決灣區數據問題”,不得不說,無論是傳播這種思維、還是接受這種思維的人,都是時代的悲哀。

NN

再來看一個NN的例子,我在[深度神經網絡以及Pre-Training的理解]一文的最后,用了一個神奇的表格:

[FC]

負似然函數1.691.551.491.441.321.251.161.071.051.00
驗證集錯誤率55%53%52%51%49%48%

49%

49%49%49%

?

?

?

[CNN]

負似然函數1.871.451.251.151.050.980.940.890.70.63
驗證集錯誤率55%50%44%43%38%37%

35%

34%32%31%

?

?

?

當初只是想說明:FC網絡的Generalization能力真是比CNN差太多。

但現在回顧一下,其實還有有趣的地方。

I、先看FC的Epoch情況,可以看到,后期的Train Likelihood進度緩慢,甚至基本不動。

此時并不能準確判斷,到底是欠擬合還是陷入到局部最小值。

但,我們有一點可以肯定,增大FC網絡的規模,應該是可以讓Train Likelihood變低的。

起碼在這點上,應該與SVM做一個同步,就算是過擬合,也要讓Train Likelihood更好看。

?

II、相同Train Likelihood下,CNN的Test Error要低很多。

如果將兩個模型看成是等效的規模(實際上CNN的規模要比FC低很多),此時FC網絡可以直接被判為過擬合的。

這點需要轉換參照物的坐標系,將CNN看作是靜止的,將FC網絡看作是運動的,那么FC網絡Test Error就呈倒退狀態。

與過擬合的情況非常類似。

?

綜合(I)(II),個人認為,從相對運動角度,Poor Generalization也可以看作是一種過擬合。

(II)本身就很糟了,如果遇到(I)的情況,那么盲目擴張網絡只會變本加厲。

這是為什么SVM過擬合非常可怕的原因,[知乎:為什么svm不會過擬合?]

轉載于:https://www.cnblogs.com/neopenx/p/5001851.html

總結

以上是生活随笔為你收集整理的关于过拟合、局部最小值、以及Poor Generalization的思考的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。