斯坦福 机器学习Andrew NG 第二讲 Linear Regression with multiple variables

 Linear Regression with multiple variables 多参数线性回归

1·Multiple features

引例:同第一讲中一样,依然用房屋售价问题为例。不同的是,本次的房屋售价问题考虑到了其他的因素有多个参数,而不再是单一的参数。如下图:

其中:
         n 为参数的个数
        Xi(i为X的上标)为第i个训练例子的参数
        Xij(i为X的上标,j为X的下标)为第i个训练例子的第j个参数
则:

为了方便定义x0=1,可得:

可得cost function 为:

对比单参数线性回归(n=1)和多参数线性回归(n>1)的梯度下降(单参数在左边,多参数在右边):


2·Feature Scaling

如果各个参数的取值范围差别很大会有什么影响呢?参数的取值范围差别很大会造成运算速度变慢,需经过多次迭代才能得到使cost function最小。

怎么解决这个问题呢?Make sure features are on a similar scale.
尽量做到使每一个参数在大概-1到1的范围内。

也可以用均值归一化的方法来解决这个问题。

怎么判定梯度下降的方法正常工作?
如果梯度下降正常工作,那么随着迭代次数的增加,min(J)的值会逐渐收敛,也就是非递增的。

如果迭代的结果如下图所示:

那就说明梯度下降没有正常工作,可能是学习率alpha设置的过大了,这时就要减小alpha

如何设置alpha?
若alpha设置的太小,则迭代速度太慢,需要很多次迭代才会收敛,若alpha设置的太大,则可能不会收敛。

3·Features and polynomial regression

以房价为例,当多项式的最高次为2时,不符合规律,所以最高次设为3

还有另一种方法:

4·Normal equation


先来看一种通过计算直接得到Theta值的算法

通过求导令导数为0的方法寻找极点。这样计算的方法的缺点是比较麻烦。
下面以房价为例,通过normal equation计算Theta值。

其中:
         X为(m*(n+1))的矩阵,y为m*1矩阵,X为m*(n+1)的原因是前面已提到过的令x0=1


Gradient Descent与Normal equation的对比

Gradient Descent的优缺点:
需要选择alpha,alpha选择不当对结果影响极大
需要多次迭代
即使n的值很大,依然能够很好的工作
Normal equation 的优缺点:
不需要选择alpha
不需要迭代
需要通过矩阵的计算来求解
时间复杂度为O(n^3)当n很大时,计算速度很慢
不可逆怎么办?
造成(XTX)不可逆的原因有如下两点:1.参数冗余,比如房屋特征中既有平方米又有平方英尺2.参数太多。
解决方法删除冗余参数或其他的参数,或者使用正则化(后续章节会讲到)。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值