最小二乘法解的矩陣形式推導

2021-07-15 13:18:22 字數 1235 閱讀 5787

首先,什麼是最小二乘? 

維基百科給出了乙個定義,戳這裡

在我看來,最小二乘法是一種資料擬合方法。

我們從矩陣的角度來理解: 

首先我們給出乙個矩陣中的定義:  r

(a)=

,a∈r

n×n

有了上面的定義之後,我們就可以寫出最小二乘問題的矩陣形式: ∃b

∉r(a

),b∈

rn,minx∈

rn∥a

x−b∥

2 用bi格高一點的說法來說,就是求在歐幾里得空間中以2-範數作為距離,使得向量ax與b之間距離最小的x。

我們的目標是求: 

minx∈r

n∥ax

−b∥2

當然我們知道,使得距離最小的向量x與使得距離平方最小的向量x是相同的,於是我們可以將所求的目標改寫為: 

minx∈r

n∥ax

−b∥2

2 結合一些矩陣、行列式的知識,我們知道: ∥a

x−b∥

22=(

ax−b

)t∗(

ax−b

) 根據我們大一學過的高數知識,我們知道,求最極值問題直接對應的就是導數為零,因此我們試圖將所給出的原式的矩陣形式求導:

不過首先我們需要補充矩陣微積分(matrix calculus)的一些知識 

(ps:是矩陣微積分吧…我沒有翻譯錯吧….)  ∂

xta∂

x=∂a

tx∂x

=a

∂xta

x∂x=

ax+a

tx

如果矩陣a是對稱的(symmetric matrix): ax

+atx

=2ax

接下來,我們對原式化簡並求其對x的導數:  ∥

ax−b

∥22=

xtat

ax−b

tax−

xtat

b+bt

b 求導得到: ∂∥

ax−b

∥22∂

x=2a

tax−

2atb

=0

於是我們就得到了,最小二乘法解的矩陣形式: x=

(ata

)−1a

tb

當然了,這裡是最簡答的線性最小二乘法,還有更為複雜的非線性以及矩陣a不滿秩的情況(hdq說他老師能默寫出這個過程…),等以後有時間了,我會再補充上去的。

變數可以是矩陣嗎 矩陣形式下的最小二乘法推導

最常用的是普通最小二乘法 ordinary least square,ols 所選擇的回歸函式應該使所有觀察值的殘差平方和達到最小。在擬合函式時,先假定函式的通用表示式。這裡以最簡單的一次函式為例。若 橫座標 自變數 為 則估計值 使得殘差和 最小,表示式如下 現在需要求 的值。取何值時,殘差和 最...

最小二乘法矩陣

usr bin env python coding utf 8 import numpy as np defcalc left k mat k 獲得左側k矩陣 param k return k mat for i in range k 1 now line for j in range k 1 re...

最小二乘法 公式推導

求出這樣一些未知引數使得樣本點和擬合線的總誤差 距離 最小 最直觀的感受如下圖 圖引用自知乎某作者 而這個誤差 距離 可以直接相減,但是直接相減會有正有負,相互抵消了,所以就用差的平方 1 寫出擬合方程y a bx y a bx 2 現有樣本 x1 y1 x2 y2 xn,y n x1,y1 x2,...