如何理解機器學習中雜訊影響模型複雜度問題?
在機器學習中,數據中往往會存在雜訊,當我們用模型去擬合帶有雜訊的數據時,往往將模型便得更加複雜?由此提出了,正則化和懲罰因子,目的是為了平衡模型複雜度和損失函數之間的關係,從而得到更優的測試結果。
我想問的是,這些理論是建立在雜訊影響了模型的複雜度之上,這好像是被大家廣泛認可的公理。但為什麼受雜訊影響,任何一種模型的複雜度就隨之增加嘛?是什麼內在因素影響了模型的複雜度?它們之間就沒有任何聯繫可以用來解釋嘛?
謝邀。針對你的問題來挨個的細化、解答。
【1、為什麼受雜訊影響,任何一種模型的複雜度就隨之增加嘛?】【2、是什麼內在因素影響了模型的複雜度?它們之間就沒有任何聯繫可以用來解釋嘛?】首先咱們回答第1個問題,這個問題很簡單,可以看下面第三幅圖:

所以呢,為了能夠區分出某些個特徵不是特別明顯的樣本,我們需要樣本給我們提供更多的特徵。特徵的增加,導致了我們用f(x)模型去判別y的時候,多項式的項增加了,所以模型的複雜度增加了。其實衝上面的最右邊那副圖我們也可以看出,假設樣本只有兩個屬性,我們要生成一個模型f(x)去區分類別{X,O},顯然有噪音影響的時候藍色的線,即模型f(x),更加的複雜。
ps:相應的第二幅圖中我們為了讓模型更簡單,有意識的去忽略了某些個特別離奇的樣本(即人妖),這就是容錯,第二幅圖就是正則化後的圖像。
所以第一個問題解答的很清楚了,噪音樣本的增加肯定會導致模型的複雜度提高,因為我們為了擬合所有的樣本需要的多項式的項數越多。
第二個問題,影響模型複雜度的內在因素可以在資訊理論當中找到答案,資訊理論的內容很多,我就不一一介紹了,挺有意思的一本資料,可以自己去看看書。用我自己的話去解釋一下好了:
首先,我們得了解信息熵的定義,即: H(X)= - 這個公式怎麼去理解呢?咱們先拆開來看,累加和的單項為:
ps:多說一句,發散一下思維,咱們看到熵的時候肯定很容易聯想到資料、教材當中講到過的決策樹構造演算法對吧?例如,ID3演算法就是直接使用【信息增益(相對熵)】來作為是否作為根節點的選擇條件,請聯繫一下上面我對熵的理解,回答個問題,該演算法為什麼選擇【信息增益(相對熵)】的分類節點來作為決策樹的根節點呢?
很顯然吧,因為熵越大不確定性越大,然後特徵就越活躍吧!(這句話很虛,我根據上面我自己理解的熵的意思,舉個例子,讓你來理解)舉個例子,分類為:{C1:男人,C2:女人},給出「隨機均勻」樣本數據集(即:人的特徵集),樣本特徵可分為:{A1:有手/無手,A2:長發/短髮,A3:有喉結/無喉結},樣本列表如下:D={ {有,長發,有,男人},{有,短髮,有,男人},
{有,短髮,有,男人}, {有,長發,無,女人}, {有,長發,無,女人}, {有,短髮,無,女人},}根據信息增益的定義,首先數據集D的經驗熵為:同理可以求出,H(D|A2),H(D|A3)
有:H(D|A1) &> H(D|A2) &> H(D|A3)根據咱們的熵的理解其實猜都可以猜出來,很顯然吧,A3特徵能將數據分離的特別對等,對等的時候噪音使得特徵失准,一般而言的雜訊相比常見的簡單模型要複雜,從而你如果不去除雜訊,至少需要同等複雜的模型才有可能得到觀感上較好的效果,而這往往是提高了複雜度的。
終於搞明白了
關於這個問題,嚴重同意樓上。另,要減少噪音的話可以 分箱;聚類;計算機和人工檢查結合;回歸
我想請問一下,這個log取的底數是e還是10呢?謝謝~
推薦閱讀:
※研究生畢業做機器學習數據挖掘程序員發展前景如何?在這方面跟博士競爭差距會有多大?
※知乎上有哪些關於大數據、推薦系統、機器學習之類的專欄?
※文本分類中,CHI演算法、TFIDF演算法、TextRank演算法都應該對應哪個環節?如何選擇?
※AlphaGo 的學習決策模型是否能用於股票市場的交易?
