偏差、方差的權衡(trade-off):
偏差(bias)和方差(variance)是統計學的概念,剛進公司的時候,看到每個人的嘴里隨時蹦出這兩個詞,覺得很可怕。首先得明確的,方差是多個模型間的比較,而非對一個模型而言的,對於單獨的一個模型,比如說:
這樣的一個給定了具體系數的估計函數,是不能說f(x)的方差是多少。而偏差可以是單個數據集中的,也可以是多個數據集中的,這個得看具體的定義。
方差和偏差一般來說,是從同一個數據集中,用科學的采樣方法得到幾個不同的子數據集,用這些子數據集得到的模型,就可以談他們的方差和偏差的情況了。方差和偏差的變化一般是和模型的復雜程度成正比的,就像本文一開始那四張小圖片一樣,當我們一味的追求模型精確匹配,則可能會導致同一組數據訓練出不同的模型,它們之間的差異非常大。這就叫做方差,不過他們的偏差就很小了,如下圖所示:
上圖的藍色和綠色的點是表示一個數據集中采樣得到的不同的子數據集,我們有兩個N次的曲線去擬合這些點集,則可以得到兩條曲線(藍色和深綠色),它們的差異就很大,但是他們本是由同一個數據集生成的,這個就是模型復雜造成的方差大。模型越復雜,偏差就越小,而模型越簡單,偏差就越大,方差和偏差是按下面的方式進行變化的:
用一個很通俗的例子來說,現在咱們國家一味的追求GDP,GDP就像是模型的偏差,國家希望現有的GDP和目標的GDP差異盡量的小,但是其中使用了很多復雜的手段,比如說倒賣土地、強拆等等,這個增加了模型的復雜度,也會使得偏差(居民的收入分配)變大,窮的人越窮(被趕出城市的人與進入城市買不起房的人),富的人越富(倒賣土地的人與賣房子的人)。其實本來模型不需要這么復雜,能夠讓居民的收入分配與國家的發展取得一個平衡的模型是最好的模型。
最后還是用數學的語言來描述一下偏差和方差:
E(L)是損失函數,h(x)表示真實值的平均,第一部分是與y(模型的估計函數)有關的,這個部分是由於我們選擇不同的估計函數(模型)帶來的差異,而第二部分是與y無關的,這個部分可以認為是模型的固有噪聲。
對於上面公式的第一部分,我們可以化成下面的形式:
這個部分在PRML的1.5.5推導,前一半是表示偏差,而后一半表示方差,我們可以得出:損失函數=偏差^2+方差+固有噪音。