線性回歸是利用數理統計中的回歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。分析按照自變數和因變數之間的關係型別,可分為線性回歸分析和非線性回歸分析。
在統計學中,線性回歸(linear regression)是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。這種函式是乙個或多個稱為回歸係數的模型引數的線性組合。只有乙個自變數的情況稱為簡單回歸,大於乙個自變數情況的叫做多元回歸。(這反過來又應當由多個相關的因變數**的多元線性回歸區別,[引文需要],而不是乙個單一的標量變數。)
回歸分析中,只包括乙個自變數和乙個因變數,且二者的關係可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。如果回歸分析中包括兩個或兩個以上的自變數,且因變數和自變數之間是線性關係,則稱為多元線性回歸分析。
問題引入
這個例子來自
假設有乙個房屋銷售的資料如下:
面積(m^2)
銷售價錢(萬元)
這個表類似於北京5環左右的房屋價錢,我們可以做出乙個圖,x軸是房屋的面積。y軸是房屋的售價,如下:
如果來了乙個新的面積,假設在銷售價錢的記錄中沒有的,我們怎麼辦呢?
我們可以用一條曲線去盡量準的擬合這些資料,然後如果有新的輸入過來,我們可以在將曲線上這個點對應的值返回。如果用一條直線去擬合,可能是下面的樣子:
綠色的點就是我們想要**的點。
首先給出一些概念和常用的符號。
房屋銷售記錄表:訓練集(training set)或者訓練資料(training data), 是我們流程中的輸入資料,一般稱為x
房屋銷售價錢:輸出資料,一般稱為y
擬合的函式(或者稱為假設或者模型):一般寫做 y = h(x)
訓練資料的條目數(#training set),:一條訓練資料是由一對輸入資料和輸出資料組成的輸入資料的維度n (特徵的個數,#features)
這個例子的特徵是兩維的,結果是一維的。然而回歸方法能夠解決特徵多維,結果是一維多離散值或一維連續值的問題。
學習過程
下面是乙個典型的機器學習的過程,首先給出乙個輸入資料,我們的演算法會通過一系列的過程得到乙個估計的函式,這個函式有能力對沒有見過的新資料給出乙個新的估計,也被稱為構建乙個模型。就如同上面的線性回歸函式。
線性回歸
線性回歸假設特徵和結果滿足線性關係。其實線性關係的表達能力非常強大,每個特徵對結果的影響強弱可以由前面的引數體現,而且每個特徵變數可以首先對映到乙個函式,然後再參與線性計算。這樣就可以表達特徵與結果之間的非線性關係。
我們用x1,x2..xn 去描述feature裡面的分量,比如x1=房間的面積,x2=房間的朝向,等等,我們可以做出乙個估計函式:
θ在這兒稱為引數,在這的意思是調整feature中每個分量的影響力,就是到底是房屋的面積更重要還是房屋的地段更重要。為了如果我們令x0 = 1,就可以用向量的方式來表示了:
我們程式也需要乙個機制去評估我們θ是否比較好,所以說需要對我們做出的h函式進行評估,一般這個函式稱為損失函式(loss function)或者錯誤函式(error function),描述h函式不好的程度,在下面,我們稱這個函式為j函式
在這兒我們可以認為錯誤函式如下:
這個錯誤估計函式是去對x(i)的估計值與真實值y(i)差的平方和作為錯誤估計函式,前面乘上的1/2是為了在求導的時候,這個係數就不見了。
至於為何選擇平方和作為錯誤估計函式,講義後面從概率分布的角度講解了該公式的**。
如何調整θ以使得j(θ)取得最小值有很多方法,其中有最小二乘法(min square),是一種完全是數學描述的方法,和梯度下降法。
在這裡需要理解的乙個概念是斜率和截率。
斜率,亦稱「角係數」,表示一條直線相對於橫軸的傾斜程度。一條直線與某平面直角座標系橫軸正半軸方向的夾角的正切值即該直線相對於該座標系的斜率。 如果直線與x軸垂直,直角的正切值無窮大,故此直線不存在斜率。 當直線l的斜率存在時,對於一次函式y=kx+b(斜截式),k即該函式影象(直線)的斜率。
斜率的計算公式為:
當直線l的斜率存在時,點斜式y2—y1=k(x2—x1),當直線l在兩座標軸上存在非零截距時,有截距式x/a+y/b=1對於任意函式上任意一點,其斜率等於其切線與x軸正方向的夾角,即tanα 斜率計算:ax+by+c=0中,k=-a/b。
2,計算過程如下: 斜率=k=(y1-y20/(x1-x2) =(-3-4)/(2-(-5)) =-1。 直線斜率公式:k=(y2-y1)/(x2-x1)
下面再具體說一下梯度下降和最小二乘法:
梯度下降法
在選定線性回歸模型後,只需要確定引數θ,就可以將模型用來**。然而θ需要在j(θ)最小的情況下才能確定。因此問題歸結為求極小值問題,使用梯度下降法。梯度下降法最大的問題是求得有可能是全域性極小值,這與初始點的選取有關。
梯度下降法是按下面的流程進行的:
1)首先對θ賦值,這個值可以是隨機的,也可以讓θ是乙個全零的向量。
2)改變θ的值,使得j(θ)按梯度下降的方向進行減少。
梯度方向由j(θ)對θ的偏導數確定,由於求的是極小值,因此梯度方向是偏導數的反方向。結果為
迭代更新的方式有兩種,一種是批梯度下降,也就是對全部的訓練資料求得誤差後再對θ進行更新,另外一種是增量梯度下降,每掃瞄一步都要對θ進行更新。前一種方法能夠不斷收斂,後一種方法結果可能不斷在收斂處徘徊。
一般來說,梯度下降法收斂速度還是比較慢的。
另一種直接計算結果的方法是最小二乘法。
最小二乘法
將訓練特徵表示為x矩陣,結果表示成y向量,仍然是線性回歸模型,誤差函式不變。那麼θ可以直接由下面公式得出
但此方法要求x是列滿秩的,而且求矩陣的逆比較慢。
跟我一起資料探勘(10) HP Vertica
考慮到企業資料倉儲的重要戰略意義 edws 和每年投入的鉅額維護和擴充套件費用,如何容易地訪問這些大量資訊資產是非常迫切的需求。然而,許多edws成為自己成功的受害者。隨著時間的推移,使用者獲取新問題答案的需要導致edws包含的資料量和複雜資料型別發生迅速增長,同時也帶來更多的併發和複雜分析的壓力。...
跟我一起資料探勘(18) 什麼是資料探勘(1)
前兩天看到群裡有人問,什麼是資料探勘,現在就資料探勘的概念做一下分析,並且盡量用大白話說一下資料探勘到底是個啥東西,為啥大資料來了資料探勘也火了 其實原來就挺火 先看一上概念 資料探勘說的直白些就是在海量的資料中找到有價值的資料,為企業經營決策提供依據。價值包括以下幾類 1 相關性 相關性分析是指對...
跟我一起資料探勘(18) 什麼是資料探勘(1)
前兩天看到群裡有人問,什麼是資料探勘,現在就資料探勘的概念做一下分析,並且盡量用大白話說一下資料探勘到底是個啥東西,為啥大資料來了資料探勘也火了 其實原來就挺火 先看一上概念 資料探勘說的直白些就是在海量的資料中找到有價值的資料,為企業經營決策提供依據。價值包括以下幾類 1 相關性 相關性分析是指對...