好,那講完了Linear Regression 我們來看看Linear
Regression跟我們之前學的Linear Classification 線性的分類到底有什麼一樣或不一樣的地方
好,線性分類裏面有什麼,線性分類裏面我們有說,我們的輸出就是正或負兩種,或者圈- 或叉兩種
然後我們的hypothesis在線性的時候,我們長的樣子是我們先算一個 分數,然後看它是正的還是負的,然後來決定我要輸出圈圈還是叉叉
那我一般用的錯誤衡量的方式,是看我輸出的圈圈叉叉,跟我要的圈圈叉叉到底一不一樣
那我們有說,在線性分類我們講pocket的時候說,在線性分類的狀況下
這個問題通常很難解,我們說求到一個最小的Ein通常很難解
Linear Regression線性迴歸這不太一樣的地方是什麼,好,我們的輸出空間
是整個實數,所以我們的hypothesis不用再取sign了,我直接把w transpose
x的值算出來 然後就直接就輸出來就好了,我們通常用的錯誤衡量方式
是平方的錯誤,然後呢大家已經看到剛剛好解 對不對?就是真的大家如果去例如說一些比較fancy的package,像MATLAB-
或iii 寫程式的話,真的就兩三行你就可以寫出來說,你要怎麼求線性迴歸的最佳解
這兩個題目或兩個方向看起來非常的不一樣 那就會有同學想啦,既然Linear
Regression這麼好解的話 然後又什麼?看起來正負1,正負1
也就是茫茫的實數海裏面的兩個特殊的值嘛 既然正負1也是一種實數的話
我能不能直接用Linear Regression來解
分類問題就好,我拿來資料,我的資料正負1,我不管我就把正負1就當成 正負1,實數的正負1,喂进去一個Linear
Regression演算法 Linear Regression演算法用力做,得到一個w,這個w大概在正的地方會告訴我,哎,比-
較正的事情,在負的地方 會告訴我比較負的事情,意思是說可能是正1的它應該會
給我一個大於0的值,可能是負1的它應該會給我一個小於0的 值,所以我可以直接把這個w,把Linear
Regression 解出來w直接當成一個分類器就好,對不對,我把它
取sign,當成一個分類器,回傳回去,是不是我可以這樣做? 說,誒,好像還不錯啊,聽起來你說這還蠻有道理的,反正既然Linear
Regression這麼 好解,我們就拿它來,"咚"就解了,我不用跑這個PLA或跑pocket,跑那麼久然後-
一路震蕩來震蕩去的 反正Linear Regression這些x啊,y啊,然後配合上寫好的pseudo
inverse我很快就可以算出來 那麼大概事情是這樣,是沒錯啦,你可以很快,聽起來有點
道理,可是目前這個道理不見得完全是數學上的道理 我想問大家,你覺得數學上的道理是什麼?
好,要解數學上的道理,我們就來列出來 所以Linear
Regression跟Linear classification看起來最大的差別 就是它們的錯誤衡量,它們的error
function,好,今天如果是0/1的錯誤 我們用藍色的來代表,如果是平方的錯誤,我們用紅色來代表
好兩個都算了w transpose x的值,只是算完 w transpose
x的值以後,後續再做的運算的方法不一樣 好,我們從一個例子來看,如果我今天的y,我想要的y是正1的話
我們把這兩個函數畫出來會長什麼樣?好我怎麼畫,大家先看我的這個 橫軸,我用的是w
transpose x,這是兩邊共通都有的值
然後呢那我的縱軸就是這個兩個不同的err畫出來的東西到底是怎麼樣,那紅色的
是平方的錯誤,藍色的是這個zero one的錯誤,0/1的錯誤
平方的錯誤看起來會像一個拋物線,紅色這個拋物線沒有問題,拋物線 最低點在哪裡,我們剛才說我們想要y是正1,所以拋物線的最低點
這個地方會在正1的地方,藍色的呢,好,藍色的說我今天要的是正1,所以如果 我的w
transpose x是大於0的話,沒問題,沒有任何錯誤,如果是小於0
的話,我就要收1的錯誤,所以藍色的畫起來會像一個 階梯函數的長相。
視覺上大家可以看到,當然你可以數學上證明 說紅色的這條曲線會壓在藍色的那條曲線的上面
如果今天y是-1的時候是類似的情形,不過差別只是我今天這個最低的這個點變成
負1而不是正1,跟其他情形是一樣的,我還是可以看到 紅色的曲線壓在藍色的曲線上面
好,從這個圖形化的證明,我們常常喜歡用圖形化證明 不喜歡說一定要跟大家講太多數學或怎麼樣,我們可以發現
不管你今天w transpose x的值是什麼
平方的錯誤一定比0/1的錯誤來得大,你如果在 同一個w
transpose x上去衡量說,哎,我,我算平方的錯誤跟我算0/1的錯誤的話
無論如何,今天在y是正負1的狀況,平方的錯誤一定比0/1的錯誤來得大 這告訴我們什麼?
好,大家記得我們的好朋友嗎,我們的好朋友VC bound 說我們要做這件事,我們在PLA,我們在pocket
algorithm做這件事 它說你今天如果用classification,binary
classification方式算Eout的話,它會比用binary classification方式算Ein,然後加上某個complexit
term,大家記得那個根號,然後裏面很複雜 有VC dimension等等那些東西。
好,這是VC告訴我們事情 然後我們現在又知道怎麼樣,我們現在又知道平方的錯誤 比0/1的錯誤來得大。
也就是我可以把這個不等式再寫下來說什麼 我統統把它換成,把所有的0/1錯誤統統換成平方的錯誤好了
好,所以我就把紅色的Ein換成了 對不起,我把藍色的Ein換成了紅色的Ein,紅色的Ein是什麼?
紅色的Ein是regression,紅色的Ein是誰可以做得好的?是Linear Regression可以做得好的
所以如果我們把這個bound,中間的部分不看的話,我們可以看到說什麼?
Eout,我們有興趣的那個資料分類的Eout 會被Regression的Ein,然後一樣加上那個complexity的term
所upper bound住,也就是說我們用力地想辦法把紅色那一項做好
也是把藍色的Eout做好的一種方法
也就是說我們可以用這個上限的觀念,反正既然是個上限,我們只要把上限盡可能做完
如果我們能夠把上限做到非常非常低,我們還是能夠保證我們的Eout是很好的 好,所以這解釋了為什麼我們可以用Linear
Regression來做classification 或者用我們上一堂課的講法的話,就是我們用
squared error用平方的錯誤來當作什麼,來當作err hat
我們有興趣的err是0/1錯誤,0/1錯誤不好解 換個好解一點的當err
hat,換哪個好解一點的,我們換 平方的錯誤當那個好解一點的,那也就是說我們
換的什麼事情,我們說我們換一個寬鬆一點的bound 但是這個寬鬆一點的bound,比較容易有效率的找到好的solution
好,這是我們這裡做的事情,為什麼我們可以做Linear Regression for
classification 好,所以這裡就講到說,所以我用Linear Regression算出一個w,這w是不是只能Regression用
如果你今天是個binary classification的資料,你也可以拿來用,實際上大家
有興趣可以去做一做,很多時候它的表現還不算太差 然後另外一方面來說是什麼呢,不但還沒有不算太差,如果你想要它更好
你可以讓它來做一件事情,你說它這麼寬鬆的bound,它真的會做得好嗎?不過如果它表- 現還算不錯
你可以拿它來當什麼,拿它來當PLA 或者是pocket的w0
一開始的那個向量就先用Linear Regression把它做到差不多好,做到差不多好以後
再慢慢地做PLA或pocket,做這個修正的動作,做把口袋裏的東西換掉的動作
這樣的話可能可以加速你的PLA跟pocket的過程,因為從一個好的解開始
那你需要做的修正次數可能就比較少一些,然後PLA或pocket都會變得有效率一些 那這是一些常見的把這個Linear
Regression使用在資料分類的方式 好,那我們剛才講到說所以我們可以用upper
bound,可以用這個上限 這個概念來設計演算法,我們可以用這個概念來把Linear
Regression用在classification上面 那我這邊列了幾個不同的函數,大家看看這幾個不同的函數裏面哪些函數
是我們在意的這個0/1,如果我們今天資料分類我們在意的這個0/1錯誤的上限
好,那大家做一做之後,我希望大家會 想到說,哎,其實把圖畫出來就好,這些函數的圖畫出來你會發現
前面三個,每一個都是0/1錯誤的上限,那實際上我這邊可以 先跟大家講這三個都對應到很重要的機器學習的演算法
那如果說你完整的上了這個課程,跟我們預計要上的下一個課程的話,你會學到這三種方法
那實際上在下一次上課,我們就會用這中間的其中一個來跟大家介紹一種不一樣的機器學- 習演算法 那也請大家期待。
好,總結來說呢 我們今天介紹了Linear Regression,線性迴歸這個方法
我們從它的問題出發,它的問題是我們要找一個平面或找一個線性 的函數來描述我們所看到的實數的資料是怎麼樣子
那我們講了它的演算法,它的演算法非常的簡單,我們可以用解析的方式就求到它的解法,那- 我們說了說
但是這樣求的方式,我們可以確保說平均來說Ein跟Eout差不多就是(d+1)/N
兩倍的(d+1)/N那麼遠,那麼最後我們也提到說實際上Linear Regression這個方法可以被
用在classification上面,因為它對我們有興趣的那個0/1函數來說,實際- 上還是在解一個上限的概念
好,那下一次,我們說我們已經講了binary classification,我們已經講了Regression
我們希望用這些機會跟大家講一些不一樣的問題 那一樣我們會用線性的模型,但是用不一樣的問題來解決,歡迎大家下次回來,謝謝!
[音樂] [音樂]
[音樂]
[音樂]