吴恩达机器学习笔记(四)多变量线性回归


本文章是笔者根据Coursera上吴恩达教授的机器学习课程来整理的学习笔记。如果是初学者,建议大家首先观看吴恩达教授的课程视频,然后再来看博文的要点总结。两者一起食用,效果更佳。

一、多维特征(Multiple Features)

之前讲过的房价预测问题是单一特征的,现在赋予其更多的特征,如下图:

多元线性回归模型:

二、多元梯度下降法

梯度下降法应用于多元线性回归模型:

求偏导数:左侧是单变量的公式,右侧是多变量的公式。

三、多元梯度下降法实操——特征缩放(Feature Scaling)

主要思想:让特征的取值范围相近,能够让梯度下降法更快地收敛。
下图中,左侧是未进行特征缩放的数据。x1取值范围远大于x2的取值范围,导致等高线呈非常细长的椭圆状,收敛很慢,甚至产生震荡。右侧是进行特征缩放后的,等高线比较均匀,能更快地收敛。

吴恩达教授建议的缩放范围是-3~3,-1/3~1/3。
各特征取值范围不要求完全相同,只要比较接近,就可使梯度下降算法正常工作。

均值归一化:
减均值,再除以标准差,或简单地直接除以最大值与最小值的差。

四、多元梯度下降法实操——学习率(Learning Rate)

debug的方法:
绘制出损失函数随着迭代次数的变化趋势。如果下降,说明梯度下降算法是正常工作的。
此外,还有自动测试是否收敛的方法。即设定一个很小的阈值,当损失函数下降速度小于阈值时,认为收敛。
吴恩达教授认为,很难确定一个合适的阈值,因此他更倾向于绘制图像来观察。
不同数据集下的梯度下降算法,收敛时的迭代次数很难提前预知,有的是300次即可收敛,有的是300万次才收敛。因此,有必要通过绘制图像来查看算法是否正常工作。

如果损失函数不是下降趋势的,而是上升,或先下降再上升再下降再上升等,很有可能是因为学习率过大。此时应该选用一个更小的学习率。

如果学习率太小,收敛太慢。
如果学习率太大,可能不是每次迭代都会下降,甚至发散。
吴恩达教授建议选去的学习率是,…0.001,0.003,0.01,0.03,0.1,0.3,1…取比能收敛的最大学习率稍小一些的数值作为学习率。

五、特征和多项式回归(Features and Polynomial Regression)

有些时候,不直接用现有的特征,而是根据现有特征构建出新的特征,能达到更好的效果。例如给出房子的长和宽两个特征,那么想到构建一个新的特征面积,是长和宽的乘积。只使用面积一个特征来进行预测。

有些时候,线性函数不能很好地拟合,我们想到多项式函数来拟合。如下图,用三次多项式来进行拟合。令x1=size, x2=size平方,x3=size立方,就转化成了之前讲过的多元线性模型。
注意:这里一定要进行特征缩放。

特征选择很重要:
因为二次函数会先上升再下降,所以不适合我们的图线。由此想到用三次函数来拟合。此外,我们还能想到,平方根也是一个很好的特征。平方根的整体呈上升趋势,但上升速度逐渐变缓,这与我们的图线趋势非常接近。

在后续的课程中,我们也将介绍一些能够自动选择特征的算法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值