登录
首页精彩阅读【机器学习经典算法源码分析系列】-- 线性回归
【机器学习经典算法源码分析系列】-- 线性回归
2017-03-11
收藏

机器学习经典算法源码分析系列】-- 线性回归

一、单变量线性回归
1.数据集可视化
 
2.求解模型参数
对于线性回归模型,有两种方法可以求解模型参数。
1)  梯度下降法

将代价函数代入展开:

Matlab代码实现:

2)  正规方程
 

Matlab代码实现:

关于正规方程的推导:

3)梯度下降法和正规方程比较
 
由控制台输出模型参数和回归直线可知,两者得到的结果很相近,具体选择什么方法参照以下标准。

二、多变量线性回归
多变量线性回归求解步骤和单变量线性回归相似,值得注意的一个问题是:
对于多个特征变量,在计算模型参数之前要记得进行特征缩放,使各个特征值大致在同一范围内,有利于进行梯度下降算法求解模型参数。

介绍一种方法如下:

Matlab实现:

相比较而言,正规方程在处理多变量回归方程问题时省略了特征缩放的步骤,只需按照单变量的步骤进行处理即可,在简洁性上更胜一筹。
三、学习速率的选择
梯度下降法的效率受学习速率的影响非常大,过小,收敛速度非常缓慢,所需迭代次数增大;过大时,每次迭代可能不会减小代价函数,甚至会出现越过局部最小值无法收敛。数据分析师培训

可以通过试凑的方式进行的选择:如0.01,0.03,0.1,0.3,1,3,10…

数据分析咨询请扫描二维码

客服在线
立即咨询