AndrewNg - 线性回归【2】正规方程组

这篇博客介绍了线性回归中的正规方程组,通过矩阵求导的角度来探讨最小二乘问题。文章详细阐述了如何利用矩阵导数直接求解线性回归参数,提供了一种非迭代的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AndrewNg - 线性回归【2】正规方程组


梯度下降法是用来计算J(θ)的惯用方法之一,不过通常我们可以通过另一途径取代这种迭代算法。这样思考,如果我们直接对Jθ的导数并使其为0,如果可以直接解出θ那不是爽歪歪。


1.矩阵求导

对于函数f : Rm×nR,即从m×n矩阵映射到实数的f,定义f对于A的导数为:

Af(A)=A11Am1A1nAmn

举个栗子,假如A=[A11A21A12A22]f(A)=32A11+5A212+A21A22

Af(A)=32A2210A12A21.

同时我们还要引进一个迹的概念:trA=ni=1Aii。当矩阵ABCD满足一些简单的条件时,他们的迹有一些性质值得一提:
(1)trAB=trBA,(2)trABC=trCAB=trBCA,(3)trABCD=trDABC=trCDAB=trBCDA,(4)trA=trAT,(5)tr(A+B)=trA+trB,(6)traA=atrA.

而相应的,矩阵求导和迹结合起来还有一些性质:
(1)AtrAB=BT,(2)ATf(A)=(Af(A))T,(3)AtrABATC=CAB+CTABT,(4)A|A|=|A|(A1)T

2.换个角度看最小二乘


给定一组训练集,定义矩阵Xmn阶的矩阵(实际上算上θ0截距是mn+1阶),每行是一个训练样例:

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

同时y⃗ X对应的m维样本分类结果向量:
y⃗ =y(1)y(2)y(m)

所以根据上一节我们有hθ(x(i))=(x(i))Tθ,即:
Xθy⃗ =(x(1))T(x(2))T(x(m))Ty(1)y(2)y(m)=hθ(x(1))y(1)hθ(x(2))y(2)hθ(x(m))y(m)

因为有zTz=iz2i,所以:
12(Xθy⃗ )T(Xθy⃗ )=12i=1m(hθ(x(i))y(i))2=J(θ).

那么现在我们要干的一件事,就变成了最小化J(求导取导数为0):
θJ(θ)=θ12(Xθy⃗ )T(Xθy⃗ )=12θ(θTXTXθθTXTy⃗ y⃗ TXθ+y⃗ Ty⃗ )=12θtr(θTXTXθθTXTy⃗ y⃗ TXθ+y⃗ Ty⃗ )=12θ(trθTXTXθ2try⃗ TXθ)=12(XTXθ+XTXθ2XTy⃗ )=XTXθXTy⃗ 

θJ(θ)=0则有XTXθ=XTy⃗ θ=(XTX)1XTy⃗ (注意:这里其实还有一个巧妙的地方就是XTX是可以写成xi,xj这样的形式,也就意味着这里可以使用核函数计算)。
至此,我们没有使用任何的迭代过程却求出了θ,是不是很爽!不过为什么这样的回归问题我们要选择使用最小二乘法作为我们的cost function J呢,欲知后事如何,且听下回分晓!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值