多变量线性回归

这篇博客探讨了多变量线性回归模型,通过引入多个特征如房间数、楼层数、房龄等,来预测房价。文章详细介绍了如何进行特征缩放和调整学习率以优化梯度下降算法,并对比了梯度下降与正规方程两种方法在求解线性回归问题上的差异。同时,还讨论了特征与多项式回归的关系,强调了学习率选择的重要性。

多维特征

上次我们了解了单变量的线性回归,现在我们对房价模型增加更多的特性,如房间数、楼层数、房龄等特征,构成一个含有多变量的模型,模型中特征表示为


在添加了多个特征后,我们也要增加一些注释:

n 代表特征数目

 表示第i个训练样本的所有特征,就是特征矩阵中的第i行,是一个向量(vector) 

       比如上面的

 表示第i个训练样本的第j个特征,就是特征矩阵中的第i行的第j个特征。

       比如上面的 

对于假设函数h(hypothesis function), ,为了简化公式,记,则公式转化为:

这时参数Θ是一个n+1维的向量,任何一个训练样本也是n+1维向量,特征矩阵X的维度是m×(n+1)。所以我们可以把公式化简为:,上标T代表转置。


多变量梯度下降

与单变量线性回归一样,我们也构建一个代价函数:

其中,
我们的目标与单变量线性回归一样,找出使代价函数最小的那一组参数。
多变量线性回归的梯度下降算法:

求导后得到:


当n≥1时,

注意这里的参数也是同步更新的。

梯度下降实践1:特征缩放

在房价问题中,如果我只使用两个特征,房屋尺寸和房间数量,房屋尺寸的取值范围为0-2000,而房间数量取值是0-5,当以这两个特征作为坐标绘图时:

我们可以看到图像很扁,梯度下降算法需要多次迭代才能收敛。
而这问题的解决方法就是确保所有特征的相似的尺度里,如使每一个特征值都缩放到-1到1之间。

我们使用的方法就是均值归一化(mean normalization):

其中,是平均值,可以是标准差,也可以是特征的取值范围(最大值-最小值)。

梯度下降实践2:学习率

如何选择正确的学习率很重要,它也是确保梯度下降算法收敛的关键。
梯度下降算法收敛所需要的迭代次数根据模型不同而不同,但我们可以绘制迭代次数和代价函数的图标来观察算法何时收敛。

如果某一步减少的值小于某个很小的值,那么我们认为收敛。

梯度下降算法的每次迭代受到学习率的影响,如果学习率太小,那么要达到收敛的迭代次数会非常高;如果学习率太大,不能保证每次迭代都减小代价函数,可能会越过局部最小值导致无法收敛。

学习率选择的经验是: ,通常后一个尝试的数是前一个数的3倍。


特征与多项式回归

房价预测问题:


x1=frontage(临街宽度),x2=depth(纵向深度),x=frontage×depth(面积),那么
很多时候,线性回归不能很好的拟合样本,所以我们需要曲线,如二次方模型或三次方模型,或者开根号也可以。

通常我们需要观察数据然后再决定尝试什么模型。
另外,我们还可以令:,从而将模型转化为线性回归模型。


正规方程(normal equation)

相对于梯度下降算法,正规方程使用分析的方法直接解决Θ
正规方程:
1维时,Θ∈R
    
找出使代价函数最小值的参数:

然后得到Θ


同理,在多变量线性回归中,Θ∈,代价函数是:

Θ得思路仍然是:

对于4组特征(m=4)的房价预测问题:



则利用正规方程求出的向量:,其中上标T代表转置,上标-1代表矩阵的逆。
运用正规方程求解参数:


对于正规方程,如果不可逆,那么:
(1)去掉冗余的特征(线性相关)
    如以平方英尺为单位的面积x1余以平方米为单位的x2,x1和x2是线性相关的。
(2)过多特征时,删掉一些特征或者正规化(regularization)。

梯度下降与正规方程比较






参考资料: Machine Learning——Andrew Ng(Coursera)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值