【Machine Learning, Coursera】机器学习Week2 Normal Equation

本文介绍了一种求解线性回归问题的方法——正规方程法,该方法无需选择学习率,也不需要迭代,可以直接求得参数的解析解。文章详细推导了正规方程的计算公式,并与梯度下降法进行了比较。

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

Linear Regression with Multiple Variables——Normal Equation


对于线性回归问题,用梯度下降法求解参数需要选择α,并且需要多步迭代才能收敛到全局最小值,而用正规方程法可以一次性求解参数。Andrew Ng在视频中直接给出了正规方程求解参数的计算结果

θ=(XTX)1XTyθ=(XTX)−1XTy

本篇文章给出了一种可能的推导方法。


一、矩阵运算预备知识

1.1 矩阵转置

(A+B)T(AB)T=AT+BT=BTAT(A+B)T=AT+BT(AB)T=BTAT

1.2 矩阵求偏导

d(XTA)d(X)=d(ATX)d(X)=Ad(XTA)d(X)=d(ATX)d(X)=A

d(XTAX)d(X)=2AXd(XTAX)d(X)=2AX

二、推导过程

对于训练样本集,有

hθ(x(1))hθ(x(2))hθ(x(m))=θ0x(1)0+θ1x(1)1++θnx(1)n=θ0x(2)0+θ1x(2)1++θnx(2)n=θ0x(m)0+θ1x(m)1++θnx(m)nhθ(x(1))=θ0x0(1)+θ1x1(1)+……+θnxn(1)hθ(x(2))=θ0x0(2)+θ1x1(2)+……+θnxn(2)……hθ(x(m))=θ0x0(m)+θ1x1(m)+……+θnxn(m)

用向量形式表示,得到
hθ(x(1))hθ(x(2))hθ(x(m))m×1=x(1)0x(2)0x(m)0x(1)1x(2)1x(m)1x(1)nx(2)nx(m)nm×(n+1)×θ0θ1θn(n+1)×1[hθ(x(1))hθ(x(2))⋮hθ(x(m))]m×1=[x0(1)x1(1)…xn(1)x0(2)x1(2)…xn(2)⋮⋮…⋮x0(m)x1(m)…xn(m)]m×(n+1)×[θ0θ1⋮θn](n+1)×1


hθ(x)=Xθhθ(x)=Xθ

代价函数J(θ)J(θ)可写为
J(θ)=12mi=1m(hθ(x(i))y(i))2=12m(Xθy)T(Xθy)=12m(θTXTXθ2θTXTy+yTy)J(θ)=12m∑i=1m(hθ(x(i))−y(i))2=12m(Xθ−y)T(Xθ−y)=12m(θTXTXθ−2θTXTy+yTy)

最小化代价函数,即需
θJ(θ)=0∂∂θJ(θ)=0

根据矩阵求偏导规则,得到
12m×[2(XTX)θ2XTy]=012m×[2(XTX)θ−2XTy]=0

解得
θ=(XTX)1XTyθ=(XTX)−1XTy

三、梯度下降法和正规方程法的对比

这里写图片描述
对于线性回归问题,用梯度下降法求解参数需要选择α,并且需要多步迭代才能收敛到全局最小值,而用正规方程法可以一次性求解参数,自然也不必画J(θ)J(θ)曲线图了。此外,如果使用正规方程法,还不需要归一化特征变量。显然,在某些情况下,正规方程法效率更高。

那么,梯度下降法和正规方程法该如何取舍?

首先,要看n的大小。正规方程法需要进行矩阵逆运算,而实现逆矩阵计算所需的计算量大约是矩阵维度的三次方。当n非常大时,逆运算会消耗大量时间。具体来说,当n在10000以上时,就会考虑优先使用梯度下降法。
其次,要看具体的问题。梯度下降法的应用范围更广,在非回归问题中,梯度下降法也可用于求解参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值