在機器學習領域裡面,我們常常可以將問題分成兩種類型,一種是迴歸問題,而另一種則是分類問題,如何釐清我們所想要解決的問題是隸屬於那一類,是非常重要的一件事情,今天我們就來瞭解一下這兩種問題之間的差異吧!
當我們所要預測的目標為一個連續之數值的時候,我們便稱此類的問題為迴歸問題,而相對應的,當我們想要預測的目標為眾多類別當中的其中一種類別,那此問題則為分類問題。
舉個例子來說吧,假設我們想要藉由過往的金融資料去預測台積電明天的股價,由於股價是屬於一個連續的數值,因此像這樣一個問題就是屬於迴歸問題。然而,如果我們將問題改成預測明天台積電股價是否會漲還是跌,這樣一個問題則會變為分類問題。
在迴歸問題當中,我們期望能找到一條符合資料分佈的函數,這個函數可能不一定是線性函數那麼單純,很多時候可能是一個非常複雜的高維度函數!但如果我們真的能找到了一個不差的函數來擬合這些資料點,那麼我們便能藉由此函數來幫助我們預測未知資料點所對應的數值,這就是整個迴歸所想要解決的問題。
至於在分類問題當中,我們則希望找到一個能將不同類別資料分開來的函數,如果能找到一個能將大部份不同種類資料分得夠好的函數,那麼當未來我們有新的資料想要預測類別時,我們變能用此函數判斷他是屬於哪個區域,進而判斷此新資料是屬於哪個類別!
不管是迴歸問題還是分類問題,到底我們是如何找到這些我們所期望的函數呢?這就仰賴許許多多不同的演算法啦!也因為這樣,每次總是會有人問,在那麼多演算法當中,有沒有目前被公認最好且能把大部分的問題解決的演算法呢?
答案是否定的,很多時候不同領域、不同資料集以及不同應用需求下,我們常常需要去嘗試不同類型的想法,並沒有所謂單一演算法在各個情況下均勝過其他演算法這樣一個情形,這也就是非常著名的數學定理”天下沒有白吃的午餐定理”(*)所要告訴我們的,所以說如何將某特定問題解決的很好還是需要勤奮的去找尋那個最適合的演算法啦!
(*)在機器學習裡面,天下沒有白吃的午餐定理(No free lunch theorem)指的是假如有一個演算法在特定的問題上表現優於其他演算法,則必定存在其他問題使得該演算法的表現差於其他演算法。
留言列表