天天看點

關于線性回歸

線性回歸($linear\  regression$),目标就是用一個(n-1)維的東西,來拟合一些在(n)維圖形上的點,并且使得點集與拟合函數間的誤差最小。

如果自變量的個數隻有一個,就稱為一進制線性回歸;如果自變量的個數多于一個,就稱為多元線性回歸。

比如,我們想得到房屋的價格與房間個數、大小、狀況等多種因素之間的關系時,将這些因素作為自變量,将房屋價格作為因變量,這就是多元線性回歸。

其實,我們平常說的資料挖掘,就是拟合出來一個線性回歸模型。

 舉個栗子

給定一個大小為$n$ 的資料集

$$\{ y_{i},x_{i1},...,x_{ia}\}_{i=1}^{n}$$

$\text{其中}\ x_{i1},...x_{id}$是第$i$個樣本的$d$個屬性值,$y_{i}$ 是 是該樣本待預測的目标。線性回歸模型假設目标$y_{i}$ 可以被屬性間的線性組合描述,即

$$y_{i}=\sum_{j=1}^{d}w_{j}x_{ij}+b,i=1,...,n$$

例如,我們現在要買一套房子,然後呢,我們統計了一下每個房源的大小,方向,作用點 ,位置,環境等資訊,對于每個資訊每個檔次,打出一個分,最後根據各個因素的影響的大小決定每個因素所占有的權重,之後我們的估價就是這些權重*分值的和了。這樣的話,我們就可以根據我們的估算去買房子了。

線性回歸模型有形式簡單和易于模組化分析的優點,它在實際問題中得到了大量的應用。

線性回歸模型

線性回歸的一般模型為:

$$\widehat{y}=w_{0}+\sum_{i=1}^{n}w_{i}x_{i}$$

其中$\widehat{Y}$ 表示模型的預測結果,用來和真實值$Y$ 區分。模型要學習的參數(不嚴謹的說,就是每個因素所占有的權重)為 $w_{0},...,w_{n}$  即:$W$。

如果我們構造:

 $$\widehat{Y}=\widehat{y}$$

 $$X=[1,x_{1},...,,x_{n}]^{T}$$

 $$W=[w_{0},w_{1},...,w_{n}]^{T}$$

那麼該模型可以寫為矩陣形式:

 $$\widehat{Y}=W^{T}X$$

模型的評價标準

假設集合資料為 $D=(X_{1},Y_{1}),...,(X_{n},Y_{n})$ ,将集合的 $X$ 代入到模型中即可求得模型的預測值 $\widehat{Y}$。

我們需要給模型一個優化目标,使得學到的參數能夠讓預測值 $\widehat{Y}$ 。 盡可能地接近真實值$Y$。

這裡我們引入損失函數

Loss Function

這個概念。

輸入任意一個資料樣本的目标值 $Y_{i}$  和模型給出的預測值 $\widehat{Y_{i}}$,損失函數輸出一個非負的實值。這個實值通常用來反映模型誤差的大小。

對于線性回歸模型來講,最常見的損失函數就是均方誤差

Mean  Squared  Error,MSE

),它的形式是:

 $$J(W)=MSE=\frac{1}{n}\sum_{i=1}^{n}(\widehat{Y_{i}}-Y_{i})^{2}$$

即對于一個大小為 $n$ 的集合,$MSE$是$n$ 個資料預測結果誤差平方的均值。

 模型的求解方法

對于小數量級樣本以及矩陣滿秩的特殊情況,線性回歸模型是有解析解的。

将集合中的變量寫成矩陣形式:令

 $$X=[X_{1},...,X_{n}]^{T},Y=[Y_{1},...,Y_{n}]^{T}$$

根據線性回歸模型,可以得到預測值 $\widehat{Y}=XW$

那麼損失函數可以表示為:

 $$J(W)=MSE=\frac{1}{n}\sum_{i=1}^{n}(\widehat{Y_{i}}-Y_{i})^{2}\frac{1}{n}(XW-Y)^{T}(XW-Y)$$

将損失函數$J$對變量$W$ 求導,并令其等于$0$可得:

 $$\frac{\partial J(W)}{\partial W}=\frac{1}{n}(XW-Y)^{T}X=0$$

 $$X^{T}XW=X^{T}Y$$

在$X^{T}X$的逆存在時可得

 $$W=(X^{T}X)^{-1}X^{T}Y$$

繼續閱讀