0:00
[音樂] [音樂]
[音樂] [音樂]
好,大家好,大家好!歡迎回到今天的機器學習基石的課程, 我們今天要跟大家講的課題是Noise and
Error,Noise就是雜訊,Error就是 錯誤,好,有雜訊的狀況下,然後我們怎麽衡量這些錯誤,這是我們今天的課題,好,那我們-
先來看看我們上一次上過 一些什麽事情,我們首先要恭喜大家已經掌握了機器學習裏面最重要的一項工具,就是VC
Dimension, 我們說到說,如果我們的hypothesis set的VC
Dimension是有限的,然後我們有足夠多的資料, 我們的演算法又能夠找到一個hypothesis它的Ein很低的話,那麽我們就大概
學到了東西,那我們今天要從這邊出發,去講說,哎,我們原來的VC Bound,在推導的過程中,
我們有一些假設,我們怎麽樣放寬這些假設,讓我們對這個VC Bound的VC Dimension的了解, 可以放寬到更多不同的問題上面。
好,我們先來看看我們學過的Learning Flow,大家現在應該已經很清楚了,我們有一個
target function,這個target function,會産生一堆的這個example,我們的資料,
那這些資料怎麽來的呢?除了,從target function得到它的Y的部分以外,
那它的X部分是由某一個我們所不知道的distribution所産生的, 那未來在測試的時候,我們也會用一樣的distribution,
那我們的演算法做什麽事,我們的演算法想辦法從這些資料還有一個hypothesis set裏面,
找出一個好的hypothesis,那我們現在大概有一個觀念說,好的hypoth- esis set是VC
Dimension是finite的, 然後呢,這個好的hypothesis是Ein是低的,那我們說,哎,經過
我們這幾個禮拜的推導,在這樣的流程之下,我們是可以做到機器學習的。
那大家可能記得,哎,我們之前有探討 過說,如果在這個圖裏面加上了Noise,
那我們好像還是可以設計,演算法Pocket,演算法等等,等等等等的,來做一些事情,- 但是加上Noise,
對我們之前整個理論的推導會不會有影響呢?這就是我們現在要來看的課題。
好,所以我們看看我們之前在講Pocket演算法的時候, 我們講到說,哎,有可能我們的資料有Noise,例如說什麽呢?
例如說,我們想象我們之前這個信用卡,銀行決定要不要發信用卡的例子。
好,我們會不會有一個這個應該要發信用卡給它的顧客,可是在我們的資料裏面,因爲記錄錯- 誤,因爲
人爲的錯誤,因爲其他一些原因,所以我們沒有發信用卡給他,哎,有可能,所以我們的資料- 啊,資料的
來源,比如我們說信用卡的資料,可能也是來自于銀行裏面,之前的一些人工的標記,或者一些
其他的公式,那這些公式有沒有可能有錯?有可能有錯, 那還有其他錯誤的可能,例如說什麽呢?例如說,哎,如果今天是
條件一模一樣的顧客,我們有沒有可能一個人發了信用卡給他,一個人沒有發信用卡給他,
哎,這也有可能,因為如果我們有那麼大量的資料,有同樣條件的顧客,那我們的
來自不同的來源,例如說,哎,這個可能是專家一號標的,這個可能是專家二號標的,兩個人- 標的想法搞不好不一樣。
那如果對應到,這個我們上面那個二元分類圖的話,這就會好像,二個點疊在一起,但是我們- 又要說圈圈
又要說叉叉,那或者什麽呢?不是只有y的部分可能會有雜訊而已,我們在x的部分
也有可能會雜訊,例如說哎,顧客在填資料的時候,他有沒有可能填的不精准,哎,有可能填- 的不精准。
我們在收集顧客資料的時候,有沒可能收集的不精准,也有可能搜集的不精准,
所以不管在INPUT,就是就是x,或者是OUTPUT,y的部分,我們都可能有這些
雜訊,那在我們原來的設定裏面,我們是沒有考慮這種,我們就想說x好,反正就從某個di- stribution
進來了, 然後它的y的部分就從某個固定的
這個target function,目標函數産生了,那我們現在如果有這些雜訊的時候,
到底我們所推導出來這個VC bound還是不是能夠作用地很好。
好,這是我們要想一想的事情。好,那我們要看看VC bound在有雜訊
的時候,還會不會Work的話,我們最重要看的事情就是VC Bound的核心是什麽?
大家如果回想一下的話,可能會想起來說,我們在證明VC Bound的時候,一開始的基礎都是,哎,我們有一個
罐子,我們不知道罐子裏有多少橘色的彈珠,不過我們抓一把出來的話,我們就可以估計橘色-
的彈珠有多少, 那大家現在應該有個概念,說這些橘色的彈珠,就是我們犯錯誤的
地方,好,什麽意思呢?大家記得的話,我們說,我們把每一顆彈珠,就看成
這個,我們的一個一個的x,對應到我們在學習裏面,
就是一個一個的輸入,然後我們從某一個機率分布P,把它抽出來,
然後再來呢,彈珠的顔色怎麽決定的?彈珠的顔色我們說,我們就看看,我們
hypothesis的預測,OK,我的這個h,h就是對應到一個罐子,
這個罐子對應的h的預測,跟我的目標函數f的預測,到底是一樣還是不一樣,不一樣
我就漆成橘色,一樣我就漆成綠色,好,這是我們之前推導整個VC Bound的最核心的部分。
那現在呢,如果我有雜訊的話,怎麽樣呢?雜訊的話,大家想一想,雜訊的意思
是什麽?雜訊的意思實際上是說,好,我也許有一個真實的f在那邊,
但是呢,我今天出來的這個y,我拿到的這個y,並不一樣是f(x),它有可能
是跟f(x)不一樣,比如說f(x) 說圈圈結果這個y是叉叉,好,這是雜訊的意思,就像我們剛才說的,
有一個顧客,我們明明應該給他信用卡,結果呢,他其實被,我們我們之前拒絕了他,我們沒- 有給他信用卡。
好,那今天如果我們想像一種特別的彈珠是這樣的,OK,這個彈珠呢,
它會不斷地顔色會變來變去,好,大家想像說,每一個時間點,它就可能從橘色變成綠色,或- 者從綠色變成橘色。
好,所以它的顔色不是固定的,OK,而是有時候是橘色,有時候是綠色,或者你若從
時間的比例來切割的話,好,我們想象有一顆彈珠,它有60%的時候是橘色,40%的時候- 是綠色,
好好,所以彈珠的顔色,好,變來變去。好,如果我們現在想象有這種變色龍彈珠,于是呢,- 我若整個罐子看
的話,哎,這整個罐子就這個,每一顆彈珠來看, 有時候是橘色,有時候是綠色,不過呢,整個罐子看,還是有一個大概的
橘色的比例的,好,那我們說,我們要怎麽知道,這個整個罐子裏面橘色的比例到底是怎- 麽樣呢?
那麽有一種方式就是這樣的啊,好,一樣我做抽樣的動作,而且呢,我抽這些
會變色的彈珠出來的時候,我趕快記錄什麽,我抽出來那瞬間,OK,那個彈珠到底是什麽
顔色。也就是彈珠顔色還在變來變去,不過呢,我記錄說,我抽出來那瞬間,
這個彈珠是什麽顔色,好,大家應該可以想象說,我那個瞬間抽出來,比如說我抽了10- 0顆彈珠
出来,好,那抽出来那个瞬间,裏面有20颗是橘色。然后这也可以
用來估計說,罐子裏面同一個時間,到底有多少比例的彈珠是
橘色的,也就是說,雖然我的彈珠變來變去,但是只要我在抽出來這個過程,還有這些變來變去
的過程,符合某些機率分布等等的話,那麽我要用抽出來的方式,來估計
罐子裏面同一時間到底有多少的比例是橘色,有多少的比例是綠色,我還是可以做的,
那這種會變色的彈珠,我們叫做probalilistic 的marbles,OK,會變色,那對應到
我們的學習的問題是什麽?就是可能有雜訊的發生,什麽樣的雜訊,就是,哎,我原來應該是- 橘色的,
我原來應該是錯誤的,結果呢,變變 變成綠色,或者我原來應該是綠色的,變成橘色,這樣的情形,
那大家可以想像,既然我們還是可以用抽樣的方式來估計 罐子裏有多少的比例是橘色的話,那我們,OK,
這這這兩個部分,不管我今天是deterministic,就是我們原來這種 固定的彈珠,還是會變色的這種彈珠,我們通通都可以使用,也就是說什麽,
好,我們也可以把整個VC的證明重新寫一次,用
會變色的彈珠形式,會變色的彈珠是什麽,也就是我們現在要想象說,我們的y,
我們的這個標記,並不是來自f(x), 而是來自什麽,一樣,我們需要讓VC
work,我們唯一堅持一定要的,就只有這個取樣的過程, 然後,所以這個y也要是取樣來的,來自哪裏?我們說來自一個我們叫P
of y given x, 已經是這顆彈珠的狀況下,到底它的顔色會怎麽樣變來變去,這是有這個P
of y given x 決定的,好,所以,如果我們的x來自某個P(x),然後我們的y來自 P of
y given x,都是這種i.i.d的過程等等等等的話,那VC Bound,我們只要把這些很複雜的證明重新寫一次,
好,我相信大家不想要我真的重新寫一次,但是想象我們把它重新寫一次的話,大家會想象說- ,哎,VC
Bound還是會work, 那我們也可以把這兩個部分整合起來,就是說這實際上告訴我們說
什麽呢?說只要我們的每一個example,我們現在是x跟y 來自某一個我們叫joint
distribution,OK,這個 p(x, y),i.i.d.
這樣子來得話 好一樣,我們在訓練的時候做這件事,我們在測試的時候做這件事
那麼整個 VC 的大架構都還是可以用的
上來,好那這個 P(yIx) 我們一般把它叫做
Target 的 Distribution,也就是我們今天不是一個目標函數,我們今天是一個目標的
分佈,我們為什麼叫它目標的分佈呢,因為它實際上告訴 我們說對每一個點,每一個
x ,每一個彈珠來說 到底 ok 我的這些,mini- target也就是說我對這些
x,我可以做一個預測 那這個最理想的mini- target,對這個
x 上面,到底最理想的預測是什麼 什麼意思呢,呃這個我們來看看這個例子說,這個distribution
告訴我們說最理想的是什麼,然後其它不理想的部份是什麼,是雜訊 例如說,我今天如果有個
P,好,這個 P 長 這個樣子,我說,它是如果我拿了這顆彈珠
它是圈圈的機率是 0.7,叉叉的機率是 0.3
那我就問大家啦,圈圈機率是 0.7,叉叉是 0.3,請問你要猜圈圈還猜叉叉
好,十之八九大家應該都會跟我說,哎,所以最好 我說這個
x 是圈圈,我不要說它是叉叉,因為我說它是圈圈的話,那我的錯誤率只有百分之三十
我說它是叉叉的話,我錯誤率是百分之七十,所以看來在這一個點上,如果我已經知道這個 P(yIx)
的話 圈圈是個比較好的選擇,那我就再問啦,圈圈是個比較好的選擇
那你犯的百分之三十的錯誤是怎麼回事呢,這百分之三十的錯誤
其實就可以看成是在這個最好的選擇上面的雜訊
就我有一個最好的選擇,是圈圈,然後呢,但是百分之三十的 機會,好我看到的這些資料我可以把它想像成就是雜訊
所以今天 Target Distribution 我們這個目標的分佈,實際上告訴我們說,最好的預測是什麼
然後,哎,有多少比例的雜訊 好,這是一種,對這個 Target Distribution
的看法 那或者呢,我們之前一直說使用的 deterministic
的 target,也就是說一個固定的目標函數,實際上也可以看成target
distribution的一個特殊的例子,什麼樣特殊的例子,就是如果今天我的 y
跟我的 f(x) 是一樣,我的機率就是 1,其它機率就是 0,也就是我就完全沒有雜訊
然後我只有一個單一的這個、這個最好的這個預測 好,這是我們的
Target Distribution,但是使用 Target Distribution 的時候,使用這個分佈的時候,跟我們之前使用
目標函數這個 f 的時候,基本上沒有什麼太大的不一樣
好,所以我們回頭來看,所以我們現在learning的部份 有兩個部份了,一個是我們原先的這個
P(x),P(x) 告訴我們甚麼 哪些點是重要的,我今天如果某個點的
P(x) 很大,代表它常常會被 sample 到 常常會被什麼 sample
到,在 Ein 裡面你常常會被看到,然後你在算 Eout 的時候,它也會比較重要一點
所以這些常常 sample 到的裡面,我們要盡量預測得接近
這些mini- target的,這些mini- target怎麼來的,就是從我們的 P(yIx)
它告訴我們說最理想的那個mini- target是什麼,所以在常見的
點上,我們要能夠做的好,那這就是machine learning做到的事情
好,所以根據這個新的這個noise,或者是這個 Target Distribution
這件事情的話 我們就可以把learning的圖再畫成這個樣子,那跟之前的圖比起來,最大
的差別就是我們在左上角那邊,現在不是一個target funtion f
而是一個Target Distribution P(yIx),那它所產生的
y,會,我們要給這個 我們的training,也就是data
set的部份,那另外呢我特別畫了一條線,去 highlight 說,我們要同樣的distribution
來產生這些 y,來最後做我們的測試說 g 到底跟
f,OK,現在這個 f 就是我們的 ideal 的 target 到底一樣還是不一樣 那整個
VC 的 bound,這個我們當然沒有詳細的證明,但是從我們剛才
對這個probabilistic model的推導,我相信大家應該了解說整個VC bound
的 OK沒有問題,還是可以繼續使用,那這樣的話,我們現在就跟大家多解釋什麼演算法
pocket,我們說 pocket 做的事情是什麼,在 A 那邊我們儘量想辦法去讓
Ein 越小越好 那這個 Ein 越小越好,會不會真的變成 Eout
越小越好,哎,會,因為在有noise 的狀況下 只要我們想像說這個 noise,是用這個Target
Distribution 來做這個描述的話,我們還是可以把事情學的很好
好,那這邊呢,列了這個一個讓大家思考的事情,我們現在把 PLA
跟 pocket 通通都學好了,那下面呢,有四個跟 PLA 跟
pocket,或者是 一些它們相關的性質有關的敘述,到底這裡的敘述哪一個是正確的
好,大家想一想之後,我希望大家能夠想到說實際上
前三個敘述通通都不是正確的,第一個敘述說什麼,第一個敘述說我們在 玩
PLA 之前應該要先算算,資料是不是linear separable,那這個我們之前有提過說
如果你知道你的資料是linear separable,那你很有可能你就已經知道那個
w,那你就不用跑 PLA 了 好,所以這個邏輯上來說,我們通常不會這麼做
那麼 2 跟 3 是有趣的問題就是說,如果我的資料不是 linear
separable,我的訓練的資料不是linear separable,那麼是不是表示 我的 f,OK,我的target
function就一定不是linear,那我這邊要跟大家特別強調說這不一定,為什麼呢 因為你
f 可能是linear,但是加上了雜訊,所以你的資料就不是linear separable,就是我們剛才在像
pocket 那個圖裡面 看到的例子,那第 3 個則是反過來說,如果我們的資料是
linear separable,是不是代表我們的 f 就一定,OK也、也一定要是一條線
那我們說這個也不一定啊,為什麼,因為有可能你的 f
是彎彎曲曲的,只是因為取樣的過程,所以你剛好得到一個 linear separable的資料,或者你的
f 其實是 noisy 的,不過你的運氣很好,你完全沒有碰到那些 noise,所以你得到linear separable
的資料,所以從資料的性質,不見得我們一定能夠說 f
的性質是怎麼樣,VC 給我們的保證 並不是從資料性質我們就知道 f
的性質是怎麼樣,而是從資料然後如果我們得到很低的 Ein,配合上
小的VC dimension的話,我們就得到很低的 Eout,但這不是完全代表說我們的 f 一定要是線性的。
還不是線性的,這是一個很重要的觀念,我們希望大家能夠知道