大白話5分鐘帶你走進人工智能-第十五節L1和L2正則幾何解釋和Ridge,Lasso,Elastic Net迴歸

                                     第十五節L1和L2正則幾何解釋和Ridge,Lasso,Elastic Net迴歸app

上一節中咱們講解了L1和L2正則的概念,知道了L1和L2都會使不重要的維度權重降低得多,重要的維度權重降低得少,引入L1正則會使不重要的w趨於0(達到稀疏編碼的目的),引入L2正則會使w的絕對值廣泛變小(達到權值衰減的目的)。本節的話咱們從幾何角度再講解下L1和L2正則的區別。函數

          L1正則是什麼?|W1|+|W2|,假如|W1|+|W2|=1,也就是w1和w2的絕對值之和爲1 。讓你畫|W1|+|W2|=1的圖形,恰好是下圖中方形的線。編碼

仔細思考一下,用一個分類函數去討論,好比第二象限,W1小於零,W2大於零,此時這個絕對值就等於W2-W1=1,在第一象限裏面,它倆都大於零,就把絕對值脫掉,變成W1+W2=1,因此,這是一個分類討論的例子。因此根據4個象限的取值不一樣,畫出圖中所示的L1正則項等高線的圖。

 L2正則是什麼?$W1^{2}+W 2^{2}=1$,畫出其圖形恰好是個圓形。spa

不管是L1正則仍是L2正則,最後的最優解必定是出如今損失函數和正則等高線的焦點上。爲何呢,咱們反推一下,若是不在焦點,假如說這是一個二維空間,這個例子裏面有兩個W,假如不加正則,可以使損失函數達到最小值的點也就是目標函數最優解的地方,若是加上了L1正則或者L2正則,原來只使損失函數達到最小值的地方,還能使目標函數達到最小值嗎? 確定不能,那麼最優解得點它在哪?3d

假設新的最優勢在下圖位置:code

由於圓圈是L2正則的等高線,因此L2沒變小,誰變大了,損失項是否是變大了?由於損失函數等高線越往外值越大,因此上圖中這個假設的最優勢的損失項,確定比焦點上的損失項要大。blog

假設新的最優勢在下圖位置:element

雖然損失項沒變大,可是這個正則項是否是變大了?因此最優解必定會出如今它們的相切的位置,也就是焦點的位置。get

又由於L1正則的等高線圖形是這種方形的,因此最優解更容易出如今軸上。it

此時W1=0,W2=1。這個圖在不少書裏面都出現過。可是特別討厭的就是沒有一本書給你解釋這個圖是怎麼個意思?實際上方形和圓形是L1,L2正則的等高線。 而這些彩色的圓圈是loss的等高線,它想解釋的是爲何L1正則更容易致使某些W變爲零,本質上是由於它在空間裏面造成的等高線是尖的,在軸上它會扎到loss的等高線上,而這個圓乎乎的東西L2正則的等高線它不會扎。因此L2正則你再怎麼加,再不重要的特徵,也不會讓它到零。這個是由它的幾何特性決定的,L2它就是一個圓乎乎的東西,L1是一個很尖銳的東西。

接下來咱們討論下Ridge迴歸與Lasso迴歸,  Ridge迴歸(嶺迴歸)的公式以下:

                                                                          $\min _{w}\|X w-y\|_{2}^{2}+\alpha\|w\|_{2}^{2}$

你發現它就是一個線性迴歸,加了一個L2正則。再來看下 Lasso迴歸,它就是一個線性迴歸,加了一個L1正則。

                                                                       \min _{w} \frac{1}{2 n_{\text {samples}}}\|X w-y\|_{2}^{2}+\alpha\|w\|_{1}

α是什麼?α是取決於你有多重視正則項,也就是多重視模型簡單程度的,值越大,說明我越想獲得簡單的模型。假如你把α調成了很大好比100,就證實我只想要一個簡單的模型,模型錯的多離譜,我並不在意。假如咱們調成了一個0.01,可能簡單性我不是那麼重視,也重視。可是模型必定得相對作好。因此α通常會調到多大?是大於1仍是小於1的?必定是小於1的。默認α一般會0.1,0.01,也能夠是0.001

咱們再看下面關於α的變化與W的對應變化的圖:

這十條線表明10個W,當這個α調到10的-10次方的時候,幾乎你能夠認爲它壓根就沒加L2正則。這會L2正則影響極小的時候,你發現此時模型訓練出來的W都是一個特別大的權重的模型(200,150,-100等),由於它只追求了損失函數必定要最低。但你看隨着把α的權重越調越大的話,這些線都迅速地被收起來了。僅僅將α調到0.01的時候,此時W就變得很小了,你能夠想象α的係數才0.01,所以也不會對錯誤率影響很大。固然這個例子必定是一個特殊狀況,現實狀況可能不會那麼完美,它不必定會有這麼大做用。可是你能夠看到哪怕你α只設了一點點,就比不設強不少,它就能大幅度的簡化掉你模型原來沒有用的大權重,與此同時又沒帶來過高的錯誤率,沒帶來過高的損失,因此一般都會加L2正則。。

Ridge迴歸(嶺迴歸)和Lasso迴歸兩種方式的結合,叫Elastic Net,也就是對損失函數同時增長L1和L2正則。公式以下:

                                           \min _{w} \frac{1}{2 n_{\text { samples }}}\|X w-y\|_{2}^{2}+\alpha \rho\|w\|_{1}+\frac{\alpha(1-\rho)}{2}\|w\|_{2}^{2}

  α是超參數,  ρ是一個新的超參數,它是一個0到1之間的數,當ρ值爲0的時候, L1正則就被幹掉了。當ρ值爲1的時候,L2正則被幹掉了,當ρ值爲0.5或0.6,0.7的時候,就變成了一個兩種正則的混合形式,它兼備了L1跟L2兩項特色。那麼底下這張圖解釋下Elastic Net與Lasso迴歸的對比:

實線爲何是嶺迴歸,由於隨着α增大,w歸到0上去了。因此加的是L1正則,L1正則會使W爲0,因L2正則它都不着急歸爲零,但都會使w統統變小,因此你加了L1正則的時候w迅速的縮到0了。Elastic Net它也能讓這個w縮進去,但它縮的比原來晚了一些。好比原來這個藍線Lasso迴歸很快使w變爲0,很快縮到0,而Elastic Net相對很慢才使w變爲0,縮的較慢。實際上它的應用不是特別多,爲何不是特別多?由於超參數很差調,你永遠找不到一個最合適的ρ,來平衡他們的關係,而且還能說明白了爲何你要選這個ρ。若是你說那我就成敗論英雄,我就試哪一個ρ對訓練集最好,我就選哪一個ρ,這自己是否是就是一種過擬合,就至關於你去迎合你的訓練集的概念上去了。

相關文章
相關標籤/搜索