1 原理
1.1 引入
線性回歸是最為常用的一種數(shù)據(jù)分析手段,通常我們拿到一組數(shù)據(jù)后,都會先看一看數(shù)據(jù)中各特征之間是否存在明顯的線性關(guān)系。例如,現(xiàn)在我們拿到了一組學校中所有學生基本資料的數(shù)據(jù),該數(shù)據(jù)以二維表格的形式呈現(xiàn),如下表所示。

示例數(shù)據(jù)表
每行代表一個學生,每列代表該學生的一個屬性(或稱為特征),那么如果我們對特征進行仔細觀察,不難發(fā)現(xiàn)身高和年齡總是呈現(xiàn)正相關(guān)關(guān)系,數(shù)學成績與物理成績也基本呈現(xiàn)正相關(guān)關(guān)系。那么我們是否可以給這樣的兩個特征之間擬合出一條近似的直線來表達他們之間的線性函數(shù)關(guān)系呢?這里我們的想法其實就是機器學習的世界觀:數(shù)據(jù)驅(qū)動構(gòu)建模型。
1.2 模型
只不過這里的模型非常簡單,只是線性模型,也就是一條直線方程,通長我們可以表達成如下公式:

這里,數(shù)據(jù)中我們將某一特征列作為自變量 x (例如身高),因變量 y (如體重)也就是我們想要預測的值, x 和 y 都已知,現(xiàn)在的任務就是:加入新增了一個 x ,而其對應的 y 未知,那么我們該如何預測出一個 它?顯然,我們需要構(gòu)建 y 與 x 之間的函數(shù)關(guān)系:
對于身高體重這樣的簡單問題而言,就可以直接使用上述的線性方程作為我們想要擬合的模型。
接下來的問題就是,如何擬合這個模型,也就是說,如何求得線性模型中的兩個參數(shù) w 和 b?
1.3 損失函數(shù)
要求解最佳的參數(shù),首先我們需要讓計算機知道一個目標,畢竟解決任何問題都需要確立一個明確的目標才行,對于計算機這樣的數(shù)字世界,我們就需要給它確定一個定量化的目標函數(shù)式,在優(yōu)化問題中,我們通常稱之為目標函數(shù),或者損失函數(shù)(Loss function)。無論我們選擇什么樣的模型,最終都是可以得到一組預測值 ,對比已有的真實值 y ,數(shù)據(jù)行數(shù)為 n ,我們很自然地可以將損失函數(shù)定義如下:

即預測值與真實值之間的平均的平方距離,統(tǒng)計中我們一般稱其為MAE(mean square error)均方誤差。把之前我們確定的
帶入損失函數(shù):

注意,對于損失函數(shù) L 而言,其自變量不再是我們習慣中的 x(其實 x 和 y 都是在訓練數(shù)據(jù)中的已知值),損失函數(shù) L 的自變量應該是我們要求解的參數(shù) w 和 b,因此我們可以把損失函數(shù)重新記為:

現(xiàn)在,我們的任務就是希望把這個損失函數(shù)交給計算機,然后跟計算機說,幫我把這個函數(shù)最小化,然后告訴我 L 最小時的一組 w 和 b 是多少就行了。但是顯然計算機還沒那么聰明,它并不知道怎么算,我們還是要靠自己解決。
核心的優(yōu)化目標式:

這里有兩種方式:
一種是“最小二乘法”(least square method),可直接求解;
另一種是梯度下降(gradient descent),有關(guān)梯度下降的方法原理可參考我之前這篇文章 -》 [link]。
1.4 最小二乘法
求解 和 是使損失函數(shù)最小化的過程,在統(tǒng)計中,稱為線性回歸模型的最小二乘“參數(shù)估計”(parameter estimation)。我們可以將 L 分別對 w 和 b 求導,得到:

令上述兩式為0,可得到 w 和 b 最優(yōu)解的閉式(closed-form)解:

1.5 梯度下降法求解

2 代碼實現(xiàn) (使用梯度下降法)
首先建立 liner_regression.py 文件,用于實現(xiàn)線性回歸的類文件,包含了線性回歸內(nèi)部的核心函數(shù)。
建立 train.py 文件,用于生成模擬數(shù)據(jù),并調(diào)用 liner_regression.py 中的類,完成線性回歸任務。
顯示結(jié)果:

原始數(shù)據(jù)x, y和擬合的直線方程

利用梯度下降法優(yōu)化過程中損失函數(shù)的下降情況
-
線性回歸
+關(guān)注
關(guān)注
0文章
42瀏覽量
4572
原文標題:線性回歸(Liner Regression) —— 蘊含機器學習基本思想的入門級模型
文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
關(guān)于線性回歸實物相關(guān)介紹
評論