那我們回顧一下機器學習的流程,給 Model(function set) -> Goodness of function -> Find the best function
那我們說過 Goodness of function 可以利用 Loss function 來檢查當前 function 的錯誤程度,然後在最後輸出 best function,在 Regression loss function 可以直接用 Estimation error(估計誤差),然後更新參數用 Gradient Descent,那分類問題呢?
Loss Function
在 Regression 中,我們的 Loss function 會是預期的答案減去我們計算出來的答案的差異量,但是 Classification 這邊並沒有答案差異這件事情,要怎麼辦呢?
其實很簡單,我們平常怎麼知道自己的判斷力好不好?也就是看我們判斷的成功率對吧?
所以我們可以利用不符合的答案數量來當作回答狀況的好壞,所以我們可以改寫我們的 Loss function 成
Best function
從上面的 Loss function 我們可以發現我們用判斷答錯的數量來判斷我們 function 的好壞,並且拿到的式子 ,那就開始算 Gradient D...
等等等等,筆者你不是說過 Gradient Descent 一定要是可微分式子嗎?上面的 loss function 最好可以微分啦!
挖,被你發現了,所以這裡當然不會是 Gradient Descent 啦~
想必細心一些的讀者都已經發現了,在這邊很明顯不能用 Gradient Descent 去最佳化我們 Model 的參數,那有沒有別的方法可以解決這邊最佳化的問題嗎?難不成真的要開始窮舉了 QQ?
那這個跟分類有什麼關係?我們假設今天我們把盒子改成類別,然後給定一個 x,這個 x 是我們要分類的對象,也就是要分成 class1 或是 class2,那我們這時候先來算這個 x 出現在 class1 跟 class2 中的機率是多少,也就是我從這兩個 class 中抽取到 x 的機率,那式子會變成怎樣?