linear regression

本文详细介绍了线性回归模型及其使用梯度下降算法求解的过程。包括线性回归的基本概念、代价函数、梯度下降算法原理、矩阵形式表达、归一化处理、学习率选取以及在实际应用中的技巧。还对比了梯度下降算法与通解形式求解线性回归的优缺点,并提供了MATLAB实现示例。

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

模型

线性回归,使用的是线性函数模型。



代价函数:



梯度下降算法


梯度下降算法是为了求得θ使得代价函数J最小。
对于线性回归,只有一个局部最优解,也就是全局最优解。使用梯度下降算法,只需要求出一个局部最优解即可。
使用梯度下降算法,通过不断的迭代,获得不同的θ,使得代价函数J不断减小。

梯度下降算法求线性回归

,则



使用矩阵形式的表达

这些表达需要一些基础的线性代数知识基础。当线性回归模型中x个数很多时,使用上述的表达将会很繁琐,并且在使用梯度计算时,也需要进行循环运算。但当使用矩阵的形式表达时,这一切都会简单很多,在通过matlab等包含矩阵运算发类库时,使用梯度下降进行求解,也将简单很多。

普通形式的模型表达:
矩阵形式的模型表达:,其中,   ,.

梯度下降算法迭代过程:

矩阵形式的梯度下降表达:,另一种形式的表达,化简为.

实际应用中的一些技巧

mean normalization

在实际的梯度下降算法迭代过程中,为了使得收敛速度较快,需要把特征进行归一化处理,使得特征的取值范围大小相差不大。这里介绍一种归一化方法,均值归一化(mean normalization),其中μ表示均值,s表示特征值的范围。

学习率α的选取

通常,当α过小时,会导致收敛速度慢,需要很多次迭代;当α过大时,可能导致不收敛,也可能导致收敛速度慢(发生这种情况概率很小)。在选取α时,一般每次扩大3倍进行选取,比如(0.01,0.03,0.1,0.3,1)这样进行尝试选取合适的α。

另外,对于特征的选择,模型的选择在机器学习中也极为重要,选择合适的特征与合适的模型对最终的预测、分类结果将有着决定性的作用。

通解

对于线性回归,可以使用通解的形式快速获得对于统一通解的证明之后再做,这里只给出通解的形式。
,这里的*为矩阵乘法。
推导:

对比

使用梯度下降算法和通解形式求解线性回归的优缺点。
梯度下降:需要进行归一化处理,需要选取α的值,需要多次迭代才能获得结果。这些对于通解方式都不需要。
通解:当特征数量很多时,求逆很耗时,是o(n^3),而梯度下降则没有这个问题。在当下,一般当n>10^4时用梯度下降算法比较好。

matlab实现

百度网盘:http://pan.baidu.com/s/1ntqYY4h




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值