老師給出了房價與房子面積、臥室數量的一組實際樣本。
目的是讓監督學習算法預測給定的一組數據(size,#benrooms),預測輸出y爲房子對應房價。
線性迴歸
給定一個預測函數
參數θ 既我們現在需要算法最終確定的值(目前理解)
那麼我們如何選擇參數的值?爲了讓h(x)逼近給定的樣本y,定義一個cost function(成本函數):
老師的課上並未說明是如何得到此j,經查資料終於理解,記錄如下:
我們假設,誤差滿足正態分佈
所以要使誤差最小,再線性迴歸中取均方差最小 既
故,我們爲了取得一個θ 使得j(θ)的值最小,可以使用梯度下降的方法(gradient descent)。
對於單個樣本:
推廣到m個樣本的情況:
還有一種方法叫做 隨機梯度下降(stochastic gradient descent)
在極大訓練數據條件下,收斂效率高於所有樣本採樣的梯度下降(叫啥來着:批量梯度下降)
2、矩陣的跡 和 矩陣導數
對於f(a)來說,他將 一個mxn的矩陣映射到一個實數R上,則 導數f(A)爲一個mxn的矩陣,被定義爲所有矩陣元素對於f的偏導數
例如:對於一個f(a) 將 2x2的矩陣映射到實數上
則 導數f(a)等於:
矩陣的跡是所有對角線上元素的累加和:
先引入矩陣求導和矩陣的跡 是爲了簡化後面loss函數求最小值的過程,但先不知道用法。
這裏可以把矩陣的跡運算理解爲f(x) 既將mxn的矩陣映射到實數的函數,所以可以對其求導
我們給出 輸入X,輸出Y的矩陣表示模式:
根據
得出
所以 使得j最小,倒數爲0
即可直接由輸入得出參數