引入
買房出價需要對房價進行預測。
假設1:影響房價的關鍵因素是臥室個數、衛生間個數和居住面積,記為x1、x2、x3。
假設2:成交價是關鍵因素的加權和?。權重和偏差的實際值在后面決定。
拓展至一般線性模型:
給定n維輸入,線性模型有一個n維權重和一個標量偏差b。輸出是輸入的加權和?
。
線性模型可以看作是單層的神經網絡:
衡量預測質量
比較真實值和預估值,例如房屋售價和估價。假設y是真實值,是估計值,可以通過比較真實值與估計值誤差的平方以估計質量。
。1/2是為了方便在求導時消去2。
訓練數據:
收集一定數據點來決定參數值,如過去6個月被賣的房子。
x1、x2等均為向量,即一個樣本。y1、y2等為實數數值,即實際售出房價
參數學習
對于模型在每一個數據上的損失求均值便可以得到損失函數:
1/2來自損失函數,1/n表示求平均,對于每一個樣本使用真實值減去預測值后求平方。
為了學習最優模型,需要找到最小的w和b:
可以將偏差加入權重
X矩陣中加入一列全1特征,將偏差放入w向量中。偏差加入權重后公式如下;
顯示解
為求得權重的最優解,需要對函數求導:
損失是凸函數,所以最優價滿足導數為0時的值:
線性回歸總結
線性回歸是對n維輸入的加權外加偏差
使用平方損失來衡量預測值和真實值的差異
線性回歸有顯示解
線性回歸可以看作單層神經網絡
基礎優化方法:梯度下降
挑選一個初始值
重復迭代參數t=1,2,3...
Wt減去上一輪的W值即Wt-1,減去標量乘以損失函數關于Wt-1處的導數(梯度)
直觀解釋:
圖為二次函數等高圖。外側為最大值,內側為最小值。梯度為使得函數值增加最快的方向,負梯度為值下降最快的方向。
為學習率,即在每次在梯度方向上移動的步長。作為超參數,需要人為提前指定。?學習率不能太長也不能太小。
小批量隨機梯度下降
在整個訓練集上計算梯度太貴(占用內存多)以至模型訓練時間過長。可以隨機采取b個樣本來近似損失。b是批量大小,是另一個重要的超參數:batch_size。批量大小也是不能太大、不能太小。
梯度下降總結
梯度下降通過不斷延著反梯度方向更新參數求解
小批量隨機梯度下降是深度學習默認的求解算法
兩個重要的超參數是批量大小batch_size和學習率