矩陣法比代數法要簡潔,且矩陣運算可以取代迴圈,所以現在很多書和機器學習庫都是用的矩陣法來做最小二乘法。
這裡用多元線性回歸例子來描述矩陣法解法。
假設函式hθ(
x1,x
2,…x
n)=θ
0+θ1
x1+…
+θn−
1xn−
1h_\theta\left(x_, x_, \dots x_\right)=\theta_+\theta_ x_+\ldots+\theta_ x_
hθ(x1
,x2
,…x
n)=
θ0+
θ1x
1+…
+θn−
1xn
−1的矩陣表達方式為:
h θ(
x)=x
θh_(\mathbf)=\mathbf \theta
hθ(x)
=xθ其中, 假設函式hθ(
x)
h \theta(\mathbf)
hθ(x
)為mx1的向量θ
\theta
θ為nx1的向量,裡面有n個代數法的模型引數。x
\mathbf
x為mxn維的矩陣。m代表樣本的個數,n代表樣本的特徵數。
損失函式定義為j(θ
)=12
(xθ−
y)t(
xθ−y
)j(\theta)=\frac(\mathbf \theta-\mathbf)^(\mathbf \theta-\mathbf)
j(θ)=2
1(x
θ−y)
t(xθ
−y)
其中y
\mathbf
y是樣本的輸出向量,維度為mx1. fra
c12
frac
frac12
在這主要是為了求導後係數為1,方便計算。
根據最小二乘法的原理,我們要對這個損失函式對θ
\theta
θ向量求導取0。結果如下式:
∂ ∂θ
j(θ)
=xt(
xθ−y
)=
0\frac j(\theta)=\mathbf^(\mathbf \theta-\mathbf)=0
∂θ∂j(
θ)=x
t(xθ
−y)=
0這裡面用到了矩陣求導鏈式法則,和兩個矩陣求導的公式。
公式1:
∂ ∂x
(xtx
)=2x
\frac\left(\mathbf^} \mathbf\right)=2 \mathbf
∂x∂(x
tx)=
2x,x
\mathbf
x為向量
公式2:
∇ xf
(ax+
b)=a
t∇yf
,y=a
x+
b\nabla_ f(a x+b)=a^ \nabla_ f, \quad y=a x+b
∇xf(a
x+b)
=at∇
yf,
y=ax
+b,f (y
)f(y)
f(y)
為標量上述求導等式整理後可得:
x tx
θ=xt
y\mathbf^} \mathbf \boldsymbol=\mathbf^} \mathbf
xtxθ=x
ty兩邊同時左乘(xt
x)−1
\left(\mathbf^} \mathbf\right)^
(xtx)−
1可得:
θ =(
xtx)
−1xt
y\theta=\left(\mathbf^} \mathbf\right)^ \mathbf^} \mathbf
θ=(xtx
)−1x
ty這樣我們就一下子求出了θ
\theta
θ向量表示式的公式,免去了代數法乙個個去求導的麻煩。只要給了資料,我們就可以用θ=(
xtx)
−1xt
y\theta=\left(\mathbf^} \mathbf\right)^ \mathbf^} \mathbf
θ=(xtx
)−1x
ty算出θ
\theta
θ。**:最小二乘法小結
最小二乘法
include stdafx.h include include const int n 2 const int m 5 int sgn double x void lss double g n 1 int xm,int xn,double x m double p,double w m lss函式...
最小二乘法
在研究兩個變數之間的關係時,可以用回歸分析的方法進行分析。當確定了描述兩個變數之間的回歸模型後,就可以使用最小二乘法估計模型中的引數,進而建立經驗方程.簡單地說,最小二乘的思想就是要使得觀測點和估計點的距離的平方和達到最小.這裡的 二乘 指的是用平方來度量觀測點與估計點的遠近 在古漢語中 平方 稱為...
最小二乘法
最小二乘法 least squares analysis 是一種 數學 優化 技術,它通過 最小化 誤差 的平方和找到一組資料的最佳 函式 匹配。最小二乘法是用最簡的方法求得一些絕對不可知的真值,而令誤差平方之和為最小。最小二乘法通常用於 曲線擬合 least squares fitting 這裡有...