天天看點

線性回歸(原理推導)

1.方程式表示:

數學形式:

線性回歸(原理推導)

矩陣形式:

線性回歸(原理推導)

其中,X矩陣是m行(n+1)列的,每一行是一個樣本,每一列是樣本的某一個特征

線性回歸(原理推導)

矩陣(n+1)行1列的,它是X的權重,也是線性回歸要學習的參數.

線性回歸(原理推導)
線性回歸(原理推導)

2.損失函數(Loss function) 對數極大似然和最小二乘的聯系: 由線性函數的假設知道,噪音項滿足高斯分布,其中一個樣本的正态分布的數學表達為:

線性回歸(原理推導)

那麼,通過極大估計求得似然函數為所有樣本的乘積,如下:

線性回歸(原理推導)

經過數學運算和推導,求極大似然的最大值可以轉化為求其log函數的最大值,推導過程如下:

線性回歸(原理推導)

要使得極大似然取得極大值,上式中的後一項就要最小,也可以将求線性回歸的極大似然轉化為求最小二乘的最小值,也就是常見到的線性函數的最小二乘求損失函數的數學形式:

線性回歸(原理推導)

由此就得到了線性函數的loss function 3.線性函數算法:求解參數

線性回歸(原理推導)

機器算法的目的就是通過建立模型并通過選擇合适的算法來求出參數

線性回歸(原理推導)

下的y和實際的Y之間的內插補點盡量的小,也就是預測的準确率在訓練集和測試集足夠高 3.1 當矩陣

線性回歸(原理推導)

可逆(滿秩)時,通過normal equation可以直接求解

線性回歸(原理推導)

目标函數轉化為矩陣形式:

線性回歸(原理推導)

對其求導并求駐點

線性回歸(原理推導)

另上式為0,可求得

線性回歸(原理推導)

此算法的缺點是:當矩陣很大是,計算非常耗時且占用資源 3.2 當矩陣

線性回歸(原理推導)

不可逆(非滿秩)時,通過梯度下降求解

線性回歸(原理推導)

初始化

線性回歸(原理推導)

,沿着負梯度方向進行疊代,知道

線性回歸(原理推導)

變化很小或者不變化

線性回歸(原理推導)

梯度下降中設計到的參數是,步長alpha,疊代次數t,這些對于計算最終的

線性回歸(原理推導)

都會影響,是以需要調參優化。 常用的梯度下降算法有SGD,BGD,mBGD,實際中以mBGD使用最多 4.線性回歸防止overfitting 機器學習最忌諱的是死記硬背,像考試一樣平時學習隻記得死答案了,在考試的時候就不會做題目了,為了靈活變通,overfitting的方法就出現了,線性回歸中最常用的是引入正則化項,也就懲罰項,給損失函數的參數

線性回歸(原理推導)

賦予一個限制項,使其不能任意的無限大或者無限小,加入正則化損失函數變為:

線性回歸(原理推導)

4.1當矩陣滿秩時,引入正則項後的

線性回歸(原理推導)

變為:

線性回歸(原理推導)

4.2當矩陣不滿秩時,引入正則項後的

線性回歸(原理推導)

變為:

線性回歸(原理推導)