天天看點

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

執行個體引入——房價預測

設想一個房價預測的場景,假設出租房屋的價格受面積、使用年限、地段等因素影響。我們現在有一系列标明價格的房屋的面積、使用年限、地段的資訊,還有一些沒有标明價格的房屋資訊,現在要我們做的就是使用已有的資訊,預測未知的房屋價格。

将上述問題抽象為一個回歸問題:為一個或多個自變量與因變量模組化。

稱為線性回歸是假設自變量和因變量之間的關系是線性的(即系數是線性的),函數不一定得是一次函數。

線性模型

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

損失函數

建立完模型之後我們還需要一種度量模型品質的方法。我們可以很直覺的想到衡量兩點差距的方法是用距離,類似于這樣的想法,我們引入損失函數來量化目标的實際值與預測值之間的差距。

定義公式如下:

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

 這裡乘以常數1/2是為了之後求導後常系數為1.

由于平方誤差的二次方,會導緻估計值和觀測值之間較大的差異導緻更大的損失。我們可以計算訓練集n個樣本上的損失均值(MSE)

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

 最終,我們的目标就是尋找一組參數(w,b),使得所有訓練樣本上的總損失最小,即

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

觀測誤差(正态分布與平方損失)

上述損失函數是度量的估計值與真實值之間的差距。但,從現實世界采集的資料多多少少都會帶點噪聲,我們不能完全認為觀測到的(采集的)資料就是真實資料(也有可能是噪聲)。于是我們可以将線性函數描述成如下的樣子:

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

,其中

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

 是以我們可以寫出通過給定的x觀測到特定的y的似然:

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

将極大似然改為最小化負對數似然:

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

 現在我們隻需要假設

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

是某個固定常數就可以忽略第一項,第二項除了

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

外,其餘部分和前面介紹的均方誤差(損失函數)是一樣的。是以,在高斯噪聲的假設下,最小化均方誤差等價于對線性模型的極大似然估計

随機梯度下降

在前面我們已經得到了度量模型好壞的公式和一個優化方程,現在隻需要一個求解參數的辦法。前面的損失函數可以看作關于自變量的二次函數,我們知道對方程自變量求導後令導數等于令可以得到函數的一個極值點。其實求損失函數最小就相當于找損失函數的極值點。

随機梯度下降,随機是指每次疊代随機選取小批量的樣本進行計算更新參數,梯度就是求導,梯度的含義是某一函數在該點處的方向導數沿着該方向取得最大值(沿梯度的方向走,函數增長的越快,是以要沿梯度的反方向走,才能更快走到最小值處),下降是指我們每次更新參數都是沿着負梯度的方向上更新。

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

求解步驟如下:

  1. 初始化模型參數的值
  2. 對每次疊代,首先随機抽樣一個小批量B
  3. 計算小批量的平均損失關于模型參數的導數
  4. 将梯度乘以一個預先确定的正數
    最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型
    ,并從目前參數的值中減掉
  5. 不斷疊代,直到損失值收斂
最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

公式表示如下:

最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型
最最最基礎的——線性回歸模型執行個體引入——房價預測線性模型

 參考:3.1. 線性回歸 — 動手學深度學習 2.0.0-beta0 documentation

繼續閱讀