吴恩达机器学习第四章学习笔记

本文深入解析多变量线性回归,涵盖基本公式、梯度下降算法、特征值缩放、均值归一化、学习速率选择、多项式回归、标准方程法及其与梯度下降的对比。适合初学者和进阶者学习。

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

多变量线性回归(linear regression with multiple variables)

基本公式及字母

在这里插入图片描述
一个数据对应着上表中的一行,θ(2)\theta^{(2)}θ(2)代表第二个数据。(也就是表中红线圈出的位置)
xj(i)x_j^{(i)}xj(i):代表第i个数据,第j个特征量
x3(2)x_3^{(2)}x3(2)代表2
多元线性回归公式为:
hθ(x(i))=θ0x0+θ1x1+θ2x2+……+θnxnh_\theta^{(x^{(i)})}=\theta_0x_0+\theta_1x_1+\theta_2x_2+……+\theta_nx_nhθ(x(i))=θ0x0+θ1x1+θ2x2++θnxn
x0=0x_0=0x0=0得:
hθ(x(i))=θ0+θ1x1+θ2x2+……+θnxnh_\theta^{(x^{(i)})}=\theta_0+\theta_1x_1+\theta_2x_2+……+\theta_nx_nhθ(x(i))=θ0+θ1x1+θ2x2++θnxn
化简得到hθ(x(i))=θTxh_\theta^{(x^{(i)})}=\theta^Txhθ(x(i))=θTx
J(θ0,……,θn)=12m∑i=1m(hθ(x(i))−y(i))2J(\theta_0,……,\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta^{(x^{(i)})}-y^{(i)})^2J(θ0,,θn)=2m1i=1m(hθ(x(i))y(i))2
梯度下降算法:
θj:=θj−α∂J∂θj\theta_j:=\theta_j-\alpha\frac{\partial{J}}{\partial\theta_j}θj:=θjαθjJ

多元线性回归的梯度下降算法

联立上述各式得:
在这里插入图片描述
代入j的值就如下图所示:
在这里插入图片描述
多元线性回归的梯度下降算法与单变量线性回归的梯度下降算法的区别如下所示:
在这里插入图片描述
总而言之,单变量是多变量的特殊形式,n=1时为单变量,n>1时为多变量。

特征值缩放(feature scaling)

为了加速梯度下降,我们通常把特征量的取值缩小到一个适当的范围,这个范围不可过大,也不可过小,若-a<xj<<x_j<<xj<a,a通常不大于10,a可以等于13\frac{1}{3}31,但a不能等于像0.000010.000010.00001这样过小的数。每个xjx_jxj的范围要大致相同(相似),但也不要求完全严格一样。如(-4,4)与(0,3)这两个区间就可以看作大致相同(相似)。
均值归一化(mean normalization):通过这个方法可以确定xjx_jxj的取值范围
公式为:xj:=xj−μjsjx_j:=\frac{x_j-\mu_j}{s_j}xj:=sjxjμjx0x_0x0除外)
xjx_jxj:第j个特征量
μj\mu_jμj:数据集中所有的xjx_jxj的平均值
sjs_jsj:该特征值的范围(即最大值-最小值)

学习速率α\alphaα

如何确定梯度下降算法正常工作?

通过代价函数随迭代步数变化的二维曲线图判断。
在这里插入图片描述
在这里插入图片描述
像上图都表示未正常工作,为了解决这个问题,我们需要选择一个较小的α\alphaα值。
在这里插入图片描述
像上图就表示正常工作了,代价函数可以通过很多步的迭代到达最小值,代价函数从而收敛。

如何选择α\alphaα呢?

在这里插入图片描述
我们可以像上图那样选择α\alphaα的范围,然后画出代价函数与迭代步数的二维曲线图,寻找如上图梯度下降算法正常工作的图像,然后确定α\alphaα的值。

多项式回归(polynomial regression)在这里插入图片描述

上图,我们可以选择一个三次函数拟合数据。

特征量的选择

在这里插入图片描述
通常我们是先有数据,后根据数据选择一个能更好的拟合的算法,这通常与如何选择特征量有关。如上图所示,我们除了选择三次函数拟合数据,也可以选择一个平方平方根函数拟合数据。

标准方程法(normal equation)

一种可以直接求出θ\thetaθ值的算法。并且不用考虑均值归一化。
在这里插入图片描述
如上图所示,θ\thetaθ为实数,J(θ)J(\theta)J(θ)是一个以θ\thetaθ为变量的二次函数,在中学我们就学过如何求出θ\thetaθ的值。在这里插入图片描述
上图的X被称为设计矩阵(designed matrix),X的构造过程如下图所示:
在这里插入图片描述
由此,我们可以得到原始公式:y=Xθy=X\thetay=Xθ
经过一系列变形得到最终结果:θ=(XTX)−1XTy\theta=(X^TX)^{-1}X^Tyθ=(XTX)1XTy(之所以最后是这个结果是因为要考虑到矩阵的维度)

梯度下降算法与标准方程算法的优缺点

在这里插入图片描述
总的来说,当n的值比较大时我们最好选择梯度下降算法,当n的值较小,我们可以选择标准方程算法。(n=10000是一个不错的分割点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值