延續昨天的問題,為了要建立預測油耗與里程之間的關係的模型,我們先選擇使用最簡單的線性模型,數學式子寫出來就是
y = a * x + b
為了找到一個最好的 a & b 的組合,讓我們的模型與目前的 10 筆資料之間差距總和最小。
那我們要怎麼計算差距總合呢?很簡單,我們就來計算當我們給定一個 x 之後,帶入 a * x + b 得到的 y(預測值),與實際值的差距有多少,可以寫成
其中 代表的是實際值。但是這樣有個問題,因為實際值減去估計值有正有負,如果加總所有點的「實際值減去估計值」,那麼有可能正負抵消後,得到一個很小的數值,就不能正確的反應差距總和。因此這裡我們把「實際值減去估計值」取平方值來解決這個問題。
因此差距總合就會長得像下面這樣:
然後我們的任務就是,找到一組 a 和 b,能讓上面這個式子的值變得最小,就代表我們建立模型能夠最準確的去預測。我們把上面這個式子寫成下面這樣:
所以目標就是讓 這個東西變得最小,而這個 L 在機器學習的領域中,我們稱做損失函數 (Loss Function)
不同的 a & b 的組合會產生出不同的 L 值,如果在平面上作圖,把 a & b 當作是橫軸與縱軸,因此圖上的每一個位置都會有一個 的值。不同的地方有高有低,如果我們加上等高線,看起來就會像下面這個圖:
其中,紅色的 X 就是我們想要達到、可以讓 最小的地方,但是我們還不知道可以怎麼到達。明天開始,我們將來聊聊一個可以讓我們達到紅色 X 的方法:梯度下降法 (Gradient Descent)