0:00
好,所以我們來看看我們剛才講到的 regularizer 我們都 集中在
weight-decay,就是那個 w 的平方,w tanspose,w 的那個上面, 那如果我今天想換更一般的
regularizer 呢,大家可能 會問有沒有什麼 guideline 說我要怎麼樣
加上這些條件,你說 regularizer 就是條件對不對,我到底要加上什麼樣的條件才是好的。
最好的條件就是,我告訴你 target function 是什麼,這是最好的條件。
某種角度是啦,不過 target function 既然我們要做 machine learning,我們這些是不知道的話,
應該就算你有一個很神級的同學,他是不會告訴你說到底最好的 hypothesis
是哪一個,不過呢,他最好告訴你什麼?他最好告訴你說 好的 hypothesis 在哪一個方向。
對吧,好的就是說符合你的 target 的 hypothesis 在哪一個方向,對吧,它告訴我們
是一個比較小的範圍來說你 prefer 那樣東西。
所以一個好的 regularizer 會有什麼特性,例如說它可能會跟
我們想要做,我們心裡覺得從 domain knowledge 上來說我們要做什麼樣的 target 有關。
既然說你今天如果想要的是一個比較接近偶函數的 函數的話,或者是說你想你的
target 可能是偶函數或者很接近偶函數, 你要加上 regularizer
可能會長什麼樣子,你會說,那我加上去的東西都只要 讓那個奇次方的,奇數次方的這個 w
變小就好了,偶數次方 的我不管它,偶數次方長大一點沒有關係,奇數次方的我希望能夠小一點。
這是如果你知道你的 target 的一些特性,你也許可以把它放進去當做 regularizer。
然後呢,又或者什麼,在實務上我們常常 會說我們選擇一些可以說服我們自己的
regularizer, 例如說我希望我的 regularizer
可以讓我很輕易地選 出比較平滑或者比較簡單的 hypothesis。
這是為什麼,我們說 regularization 希望對付 overfitting, overfitting
的造成是來自於 noise, noise 不管是 Stochastic 還是 deterministic
noise 記得那個跳來跳去的嗎?跳來跳去就代表不平滑,
好,所以如果我們要說我們的 target 相對於 noise 來說應該是平滑
的,那我們就應該要多多選出那些平滑的人,然後那些跳來跳去的你最好最好不要選。
所以例如說什麼?我們在下一頁會跟大家介紹一個不一樣的 regularizer
叫 L1,OK,它 在實務上還算蠻有用的,我們一般叫做 sparsity regularizer,為什麼叫做
sparsity,我們等一下再講,大體上來說,它做事情非常簡單,它說 我加上去的不是那個 W
的平方,而是 W 的一次方,加起來,一次方,取絕對值的一次方加起來, 好,這個
regularizer 待會我們詳細跟大家介紹,它會幫助我們找出簡單的函數在哪裡。
好,又或者什麼呢,又或者我們還是可以找 我的 regularizer
最終是要加進去我的 optimization 裡面啊, 所以我也希望找什麼,希望找說好
optimize 的 regularizer,例如說我們剛才講的 weight decay,
就是這樣的 regularizer,對不對。我加進去我只是加一個平方項,看起來
我整個 optimization 問題跟原來的沒有太大的差別。
好,那你說說了這麼多,表示我還是不會選 啊,我如果今天找到一個不好的 regularizer
怎麼辦呢? 不要急,regularizer 前面乘了什麼? λ,你說找到一個不好的,只要你把
λ 等於零也放到你的選項裡面,最差最差也就是不用它而已啦, 但是
OK,你會不會一定受到那個不好的 regularizer 不好的例如說把你你想要的
target 越來越推開的那個 如果是不好的怎麼辦,沒有關係,你還有一個 λ 等於零的最後的這個保護。
好,所以 regularizer常用的 選擇的方式一個是看你有沒有覺得 target
應該長什麼 樣子。然後呢再來可能是能夠說服你自己說他有好
處的或者是今天容易 opitmize 的,
有沒有覺得這三個 criteria 好像在哪裡聽過。
我們今天一直在逼大家說回憶一下我們之前教過些什麼東西。
有,我們之前在第八講,講 error measure 的時候講 說
error measure 有三個可能性,user 告訴我們它真的想要什麼, user
講不出來,我們選一個能說服我們自己的,然後另外有可能我們會選一個好 optimize
的 這樣的話我們就可以比較容易把 minimize Ein
一類的問題 做好,所以我們今天實際上是把這兩個事情混起來,在
augmented error 裡面我又 有這個 error 這三個選項,然後又有 regularizer 也是三個類似的選項。
大家可以看到說這是 machine learning 在設計演算法的時候很重要的
三個不同的面向,不管是在 error function 還是在 regularizer 都是類似的選擇。
好,那我們來看看,我們剛才講過這個 L2的 regularizer,大家應該還記得
它的最佳化問題是長這個樣子,那這個 L2 regularizer 你看它就是W的平方而已,所以對
W 來說它非常的 平滑,它實際上是凸凸的,它非常的平滑,然後可以微分等等 等等,所以對我們來說做最佳化的問題,
比較容易一些。然後呢,那但是,OK,如果今天是一個 L1 呢,
好,L1 的話,我們會看到說,它解的事情是 我加進 regularizer 是把所有的
w 的絕對值加起來, 也就是說重新定義的話,這就是所謂 w 的 one norm。
OK,就是這個用 one norm 的方式來算這個長度。
好,那麼它是 convex 的,OK,一樣因為 這是絕對值函數,絕對值函數是這樣尖尖的,但是還是凸起來的。
然後不過,因為它是尖尖的,所以它有那個點是兩邊尖尖的這個交合 的地方也就是
W 等於零的那個地方,會讓它是不可以微分的。
所以最佳化來說,它稍微難解一些,還是 convex 所以有好解的地方,但是呢因為有那些尖尖的點,所以難解一些。
那我們用上面這個示意圖來告訴大家說這個 L1
的解 常常會是 sparse 的,大家記得我們剛剛講 sparse 是什麼,sparse 就是我的 W 裡面有很多個 0,只有少數個是 1。
為什麼,我今天的 W 如果,好,例如說我們想象說我
W 都沒有0 的話, 都沒有 0 也就是說我會在這個方塊,這個方塊代表我的 one norm 是等於 C。
可是在我的那個條件的最外面,所以我現在不是一個圓球,我現在是一個這個菱形的球,- 我可以在
多維空間上,我的條件告訴我說我必須我要找的 W 在這個菱形的球裡面,
我如果在這個菱形的球的邊界上,而不是在頂點上的時候, 好,大家記不記得,我們說我們要看是不是最佳解,
我們就要看什麼,就要看梯度和梯度的反方向。
跟垂直于我這個平面的方向到底有沒有平行。
垂直于我這個平面的方向是什麼?垂直于我這個平面 我這邊畫,垂直于我這個平面的方向實際上也就是
我取 W 的正負號的方向,所以這個方向就是什麼,好,我今天 W
是正一,那這個方向是正正正正正,都是正一 的。如果我的 W
是負一,就是負一然後正一正一正一,所以我如果取這個方向,方向等於是把我這個 regularizer 做一次微分,
大家應該很容易可以得到這樣的結果,然後我的 Ein
我的那個一堆實數的 那個 Ein 要跟這個正一正一正一這個都是正整數的這個方向要是平行的,
這件事情看起來,你從那個圖可以看出來,可能在邊邊上不是很容易。
在邊邊上,你就說你的 Ein 常常跟你的垂直的這個方向不是平行的。
不是平行的會怎麼樣,就會一直有那個綠色的分量拉拉拉拉拉,
拉到哪裡去,拉倒頂點上面去,才會得到最佳解。
好,所以在 L1 的 regularization 在我加上這個 L1
上去 的時候,它的最佳化問題最後的解常常會發生在
頂點上,發生在頂點上什麼意思,頂點就是有一些 W 要是 0。
好,所以它會得到所謂的 sparse 的 solution。
那這個呢 sparse solution 什麼時候有用,我們剛剛已經暗示過大家, sparse
solution 你今天要做最後的預測的時候,你就只要算不是零的那幾項就好了。
所以會比較快,舉例來說,你今天用你的手機好了,好,用手機要做某個資料分類的問題,
你說,我訓練好了一個一千一百二十六個維度的 W,然後呢我每一個維度算算算算算,算完以後你的手機的電也耗完了。
但是你說我一千一百二十六個維度的 W 裡面其實我只需要5 個,好,所以你手機就算 5
個,咚 結果輸出出去會比較有效率,會比較不耗電,好,這些都是一些可能的應用。
好,那我們再來看看,好我們剛才講到說,有 regularizer
以後,然後再來選擇上還有另外一個選擇是 λ 要選多少。
我們這邊 show 給大家三個不同的 Stochastic noise 的情形,這三個情形是 Stochastic
noise 是 0, 是 0.25 是 0.5 的時候,然後呢,
我們對 λ 做 不同的變化來看看說 Eout 到底是多少。
好,我們想一下我們作弊,我們把這一條曲線做出來以後,然後選一個什麼,選一個 Eout
最低的點,好,像在這裡,Eout 最低的點是在這裡,代表我們應該要選這個 λ。
這裡 Eout 最低的點是這裡,代表我們應該要選這個 λ,這裡 Eout 最低的點是這裡 好,這是 Stochastic noise 的情形。
我們還 show 給大家 deterministic noise 的情形,這是沒有 deterministic noise
也就是我是一個十五次多項式,我這邊剛好都是用十五次多項式,十五次多項式就是沒有 deterministic
noise 的情形, 三十次,有 deterministic noise,一百次有很大的
deterministic noise 的情形,好,看看最好的 λ 是多少。
從這兩個圖大家不難發現,最好的 λ,
OK,取決於你有多少的 noise,noise 越高,λ
最後越大。好,這不意外,也就是像說 你在開車的時候,路況越不好,你剎車要踩得越多,我們說
regularization 就像是踩剎車一樣,路況越不好你剎車要踩得越多。
不過你會說,老師我又不知道 noise 是多少,對,不知道 noise 是多少,所以很有可能
你會在很多個不同的 λ 裡面你要做選擇,找出一個最好的 λ。
這才能讓你的 regularization 發揮真正的效用。
好,那就問了,那我要怎麼做選擇呢?好,
時間到了,我們賣個關子,下一次的上課我們就會告訴大家說 你要怎麼做選擇,不但是怎麼選擇
λ,我們還會告訴你說怎麼樣順便選擇 φ, 怎麼樣順便選擇不同的
linear model,你要用哪一個,好,所以在我們已經學過
的各式各樣選擇裡面,請你下一次回來跟我們學習如何做選擇。
好,最後呢再給大家一個練習說如果我今天使用了這樣的 regularizer
說我在 Wq 的平方的前面乘上2 的 q 次方,请问
這樣的 regularizer 會喜歡下面哪一種的 這個
hypothesis,好那大家看一看後,我希望大家選到正確的答案是 2。
也就是說我們在高維度的地方加上了很重的 regularization,那個 2 的 q 次方,很大的數字,所以我希望 W 越小越好。
所以我今天會比較喜歡低維度的多項式。
好,那我們今天跟大家講過了 regularization,我們講到說
我們 regularized hypothesis set 其實就是在原來的 hypothesis
set 上面加上條件, 加上了這個條件之後呢,那我們可以把要解的問題最後轉
換成一個 augmented error 的問題,也就是把 W 的平方加進去。
那這代表了我們會降低 effective 的 VC dimension,
然後最後呢,我們說到說 regularization 是一個非常 general 的工具。
而這非常 general 的工具,我們可以設計跟 target 有關,或者是能夠說服我們自己。
或是好 opitmize 的 regularizer 來加進去我們的 formulation 裡面。
我們剛剛提到我們下次要跟大家講什麼,怎麼做選擇這是一個重要課題,歡迎大家下次回來-
,感謝! [音樂]
[音樂]
[音樂]