Andrew Ng机器学习笔记(二)

来源:互联网 发布:淘宝店铺开店资料 编辑:程序博客网 时间:2024/06/06 18:29

4.多元线性回归

对于多元回归,道理同之前讲述的一样,要引入线性代数表达。此时,可视化描述已经不可能了。现在的假设函数变为:
hθ(x)=θ0+θ1x ———> hθ(x)=θ0+θ1x1+θ2x2+...θnxn

为了方便数学上的表示,引入x0=1,则θ0=θ0x0
那么可得到假设函数的向量表示:
hθ(x)=θ0x0+θ1x1+θ2x2+...θnxn=θTx

相应的梯度下降算法,参考以前的进行修正即可,最终的表达式反而更简洁:
这里写图片描述

4.1一些技巧

特征缩放:将所有的特征的数量级都在一个差不多的范围之内, 以加快梯度下降的速度.
如下图所示,经过特征缩放,寻找的梯度将会更快地到达目的地。特征缩放之后,针对的是偏导数,改变的是“探寻的方向”。
这里写图片描述

特征缩放的两个处理方式:
这里写图片描述

还有一个特征处理的方法就是均值归一化(Mean normalization):这里的μi为范围的均值
这里写图片描述

确认算法运行的正确与否:画出代价函数Jθ随着θ的变化图
如果图形变化趋势如下,则说明是正确的。还有一种叫自动收敛测试的方法, 即每次迭代之后观察
Jθ的值, 如果迭代之后下降的值小于ϵ (例如ϵ=103)就判定为收敛. 不过准确地选择阈值ϵ是非常困难的, 通常还是使用画图的方法.
这里写图片描述

α 的选取:如果出现了下面的两种情况, 这个时候应该选择更小的α
注意:

  1. 如果足够α 小, 那么Jθ在每次迭代之后都会减小。但是如果太小, 梯度下降会进行的非常缓慢.

  2. 如果学习率 α 过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛

这里写图片描述

可以使用下面几个值进行逐个尝试。(吴老师介绍自己的经验在)
这里写图片描述

特征选择与多项式回归
比如在房价预测问题,选取房屋的长和宽作为变量,我们有如下假设函数:
h(θ)=θ0+θ1×frontage+θ2×depth
但是,如果我们考虑到真正决定房屋价格的是面积,那么我们可以重新选择我们的特征x=frontage×depth,假设函数变为:
h(θ)=θ0+θ1x
通过这种特征的选择, 我们可能得到一个更好的模型。

有时,观察数据集发现使用多项式拟合更好,比如二次函数三次函数等,h(θ)=θ0+θ1x+θ2x2+θ3x3,那么如何使用之前的线性回归模型呢?可以进行如下的特征选择处理 (这里需要注意的是,x1,x2,x3的范围差别会非常大, 所以一定要进行特征缩放处理):
这里写图片描述

4.2正规方程

到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,可以考虑正规方程方法。我们知道,我们的目的是要使得代价函数最小,而代价函数是关于未知参数θ的函数,可以利用函数的求导。
这里写图片描述

具体计算时候,使用的如下式子:θ=(XTX)1XTy但是why???有点突兀这里,看不太明白 ),就可以算出要求的θ值。例子如下:
这里写图片描述

两者 的比较及使用范围:
这里写图片描述

原创粉丝点击