CS229学习笔记(3)

正规方程

上一小节中,我们使用批量梯度下降算法,通过不断迭代以求得最佳参数 θ θ 的值。本小节将介绍另一种方法——正规方程(The Normal Euqations)来计算出最佳参数 θ θ 的值。

在介绍正规方程法之前,我们先看看一些基本概念。

Matrix Derivatives

对于一个 mn m ∗ n 的矩阵到实数的函数映射 f:RmnR f : R m ∗ n ↦ R ,其关于 A A 的导数为:

Af(A)=[fA11fA1nfAm1fAmn]

其中 A A mn的矩阵。

便于理解,我们不妨假设矩阵 A A 为:

A=[A11A12A21A22]

函数映射 f:R22R f : R 2 ∗ 2 ↦ R 为:

f(A)=32A11+5A212+A21A22 f ( A ) = 3 2 A 11 + 5 A 12 2 + A 21 A 22

根据上述公式,我们可得:

Af(A)=[32A2210A12A21] ∇ A f ( A ) = [ 3 2 10 A 12 A 22 A 21 ]

对于 nn n ∗ n 矩阵A,我们将矩阵A对角线上元素的和定义为矩阵A的迹:

trA=i=1nAii t r A = ∑ i = 1 n A i i

其中若矩阵A为 11 1 ∗ 1 ,即为一实数,则其迹为本身, trA=A t r A = A

一些常用性质如下:

trAB=trBAtrABC=trCAB=trBCAtrA=trATtr(A+B)=tr(A)+tr(B)traA=atrA t r A B = t r B A t r A B C = t r C A B = t r B C A t r A = t r A T t r ( A + B ) = t r ( A ) + t r ( B ) t r a A = a t r A

结合矩阵导数的概念有如下性质:

AtrAB=BTATf(A)=(Af(A))TAtrABATC=CAB+CTABTA|A|=|A|(A1)T(1)(2)(3)(4) (1) ∇ A t r A B = B T (2) ∇ A T f ( A ) = ( ∇ A f ( A ) ) T (3) ∇ A t r A B A T C = C A B + C T A B T (4) ∇ A | A | = | A | ( A − 1 ) T

其中等式(1)要求 AB A B 为方阵;等式(3)要求 ABATC A B A T C 为方阵;等式(4)要求矩阵A为非奇异矩阵,即可逆; |A| | A | 表示矩阵A的行列式。

Least Squares Revisited

好了,现在让我们开始介绍正规方程法,以找到最佳参数 θ θ 的值最小化代价函数 J(θ) J ( θ )

在给定训练集中,我们可构建一个维度为 mn m ∗ n 的矩阵 X X ,其中m为样本个数, n n 为每个样本的特征变量个数。

X=[(x(1))T(x(2))T(x(m))T]

同样,向量 Y Y 为:

Y=[(y(1))T(y(2))T(y(m))T]

根据 hθ(x(i))=(x(i))Tθ h θ ( x ( i ) ) = ( x ( i ) ) T θ ,我们可得:

XθY=(x(1))Tθ(x(2))Tθ(x(m))Tθ(y(1))T(y(2))T(y(m))T=hθ(x(1))y(1)hθ(x(2))y(2)hθ(x(m))y(m) X θ − Y = [ ( x ( 1 ) ) T θ ( x ( 2 ) ) T θ ⋮ ( x ( m ) ) T θ ] − [ ( y ( 1 ) ) T ( y ( 2 ) ) T ⋮ ( y ( m ) ) T ] = [ h θ ( x ( 1 ) ) − y ( 1 ) h θ ( x ( 2 ) ) − y ( 2 ) ⋮ h θ ( x ( m ) ) − y ( m ) ]

又因为对于向量 z z ,有zTz=izi2。故我们可得:

J(θ)=12(XθY)T(XθY)=12i=1m(hθ(x(i))y(i))2 J ( θ ) = 1 2 ( X θ − Y ) T ( X θ − Y ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2

所以,我们对代价函数 J(θ) J ( θ ) 求偏导,可得:

θJ(θ)=12θ(θTXTYT)(XθY)=12θ(θTXTXθθTXTYYTXθ+YTY)=12θtr(θTXTXθθTXTYYTXθ+YTY)=12θ(trθTXTXθ2trYTXθ)=12(XTXθ+XTXθ2XTY)=XTXθXTY(1)(2)(3)(4)(5)(6) (1) ∇ θ J ( θ ) = 1 2 ∇ θ ( θ T X T − Y T ) ( X θ − Y ) (2) = 1 2 ∇ θ ( θ T X T X θ − θ T X T Y − Y T X θ + Y T Y ) (3) = 1 2 ∇ θ t r ( θ T X T X θ − θ T X T Y − Y T X θ + Y T Y ) (4) = 1 2 ∇ θ ( t r θ T X T X θ − 2 t r Y T X θ ) (5) = 1 2 ( X T X θ + X T X θ − 2 X T Y ) (6) = X T X θ − X T Y

其中等式(1)类似于完全平方展开得到等式(2);等式(2)应用 trA=A t r A = A 得到等式(3);等式(3)应用 YTY Y T Y 为实数,且实数的转置为其本身,从而得到等式(4);等式(4)应用 trAB=trBA t r A B = t r B A AAB=BT ∇ A A B = B T AtrABATC=CAB+CTABT ∇ A t r A B A T C = C A B + C T A B T 得到等式(5)。

最后,我们令该偏导为 0 0 可得:

XTXθ=XTYθ=(XTX)1XTY

从而,我们求出了参数 θ θ 的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值