數學模型之線性迴歸

前言廢話

    最近機器學習、數據分析非常火,我們學校也開了類似的課程。但是,不得不說,其研究對數學的要求比較高,我自知我的數學能力達不到深究的高度,所以只是把這些內容當做數學模型、以能達到實際應用爲目的來學習。( 就我現在理解很多內容都和數學建模有關)
    估計以後還應該有類似的感謝,暫且開一個專題,命名爲數學建模。打頭的就是較爲簡單的線性迴歸。

一、何爲迴歸?

所謂迴歸,簡單來說就是一個自變量和因變量之間的函數關係。而回歸分析或者說迴歸模型存在的理由就是利用觀測到的數據去建立這樣一個函數關係,然後利用這個函數關係進行預測。

對於迴歸來說,其根據不同的指標可以對其進行不同的分類。一般來說,大多數的迴歸由3個指標所衡量(自變量的數目,因變量的類型以及迴歸線的形狀)。如下圖所示。
迴歸的分類
而這裏的線性會就就是函數迴歸線的形狀進行分類的。即自變量和因變量之間是線性的關係。這也是這篇博客需要論述的。

二、簡單線性迴歸(一元線性迴歸)

先上的點數據:
數據
如果我們拿到上面的一批數據,畫出散點圖之後,我們從直覺上可以感覺這很可能是個線性關係。所以,我們可以建立一個線性迴歸的模型(說的簡單點,就是建立一個線性函數),對其進行研究、分析、或者預測。

說到這兒,有兩個問題需要解決:
1、你說是線性關係就是線性關係,我還覺得是多項式關係呢,難道沒看到圖像並不是“一馬平川”,“一路順風”中總 有些“起起伏伏的數據”?
2、如果用線性迴歸模型,這老多數據該怎麼處理呢?老師告訴我們一元線性函數只需要用兩個點就可以解出來了啊?

先說第一點:

2.1 使用線性模型的理由

第一,我們要知道,在實際生活中的大部分場景下,數據都不是“嚴絲合縫”的正好匹配我們理論數學上學到的那些公式、定理的。有一種東西,叫做誤差。這種誤差可能是有很多種情況產生的,可能是測量誤差、也可能是系統本身的誤差,還可能是統計時的誤差…比如說,上面那些“起起伏伏”不安分的數據點就有可能是數據產生的。

第二、如果上面說的還不能讓你滿意的話,還有個說法。在實際生活中很多情況都是複雜的,有些東西可能無法用一個特定的模型去描述。很多情況下我們只是儘可能用好的、簡單點模型來描述客觀的現實的世界。這裏面有個概率上的問題。即使已有數據點位於一條直線上,你也不能保證,下一個測量的點就是位於這條直線上,只是有非常大的程度上位於這條直線上。
說點題外話,我覺得,現實中的很多問題談論“精確”是無意義的,你說你有一米八,我去,你怎麼測量的,整整好好一米八嗎?一分一毫、一絲一粒都不差嗎?不可能的。我們說一米八只是在我們所考慮的大部分範圍內的問題。一言以蔽之,合適至上,夠用就好,。

2.2 如何得到線性模型

那麼如何建立線性迴歸的模型呢?就像上面問題中所敘述的,兩個點確定一條直線,那這麼多點,豈不是確定很多很多條直線了,現實生活中如果你時間緊、任務重又不懂線性迴歸,而且要求很不精確。那麼你可以找兩個相聚較遠而且不那麼特殊的點,確定這條直線。但,這,是在是太粗略了,完全沒考慮其他所有的點。

實際上,我們採用的是叫做最小二乘法的算法。
最小二乘法示意圖
這個最小二乘法,說簡單點也挺簡單的。就是是所有預測點的結果和我們將要確定的線性函數的結果之差的均方和最小。

在這裏插入圖片描述
利用是均方誤差和最小這個條件,可以列個方程組,如果人品還過得去的話就可以解出線性函數的係數。

這個時候,又冒出來兩個問題?
1、爲什麼要用最小二乘法來估計線性函數的參數?
2、如何利用最小二乘法來估計線性函數的參數?

篇幅所限,關於第一個問題,請參照下面這個博客,講的相當不錯。
如何理解最小二乘法?
關於第二個問題,我會在下一篇博客《數學模型之最小二乘法》中論述。

解出來之後,迴歸直線方程如下所示。
迴歸直線

三、多元線性迴歸

一元線性迴歸是線性迴歸中的基礎,而實際中更常用的而是多元線性迴歸。所謂多元線性迴歸,即是因變量和多個自變量有關係,按照吳恩達視頻中的例子,房價可能和房子的大小、房子的位置、房子有幾個臥室等等有關係。
模型函數如下:
在這裏插入圖片描述
多元線性函數的參數確定(參數訓練)也是和一元線性函數的差不多。本質上都是利用是最小二乘法。
均方誤差和
使均方誤差和(即預測值和觀測值差的平方和)最小,然後可以解出對應的參數值。具體的解法也和上面的類似,按照我的叫法主要有多元求導求最小值、利用線代的幾何意義以及梯度下降法進行求解。在這就不贅述了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章