回归问题之线性回归II

原创 2016年08月30日 15:57:14
1、线性回归(linear regression)

b、多元线性回归 multivariate linear regression:

形式如下:

因此:有
                                          
参数有:
那么,cost function(代价函数)为:

备注:
n:           number of features (特征的总数)
m:          number of training examples (训练集数据的例数)
graphic:     ith training example (第i个训练数据)
graphic:     feature j in ith training exmaple(第i个训练数据中的第j个特征)
要使得代价函数的计算结果最小,依然可以用之前提及的梯度下降算法求解参数:
Gradient descent:
repeat{    
 
}(simultaneously update for every j = 0, ... , n)
也就是
repeat{ 
     
}
微分项展开如下:


...

此时,梯度下降算法会稍微复杂一点,不过使用特征缩放的方法——(确保不同特征的取值都处在一个相近的范围),可以使得梯度下降法更快收敛: 


由于量冈的影响,特征可能朝着某一边倾斜,例如图1,此时梯度下降明显会比图2收敛慢,而去除量冈,使得特征值都范围都在一个相近的范围,例如[-1,1],[0,1]等等,当然该范围不应过小或者过大。因此,可以使用均值归一化来实现特征缩放:
(x - average)/(max - min)
接下来,看看学习速率,如何确定算法是否正常工作以及如何选择学习速率,用J值和迭代步数作图:

如果梯度下降算法正常工作,那么代价函数J(θ)的值会随着迭代步数的增大而变小(如图3所示),而当曲线慢慢趋于平缓的直线,则说明收敛!(因此可以用于判断算法是否正常工作以及迭代是否收敛

如果如图4所示,则说明梯度下降算法没有正常工作,此时应该选择较小的学习速率。(没有正常工作如果不是代码问题,那么就可能是选择的学习速率太大,跨步太大而无法向中间的较小的J值靠拢,参考图1和图2理解)
此外,还有可能出现图5的情况,也是没有正常工作:

图5也是说明学习速率过大以至于总是会越过最小值,该情况也应该选择较小的学习速率。

图6说明了学习速率过小的话,收敛也会很慢,此时应该选择较大的学习速率。

除了使用梯度下降算法,还可以使用正规方程方法解决问题(一次性求解θ 的最优值):
m examples:(graphic),(graphic),... ,(graphic);n features
那么
  (m * (n+1)维矩阵)
   (n + 1 维向量)
     (称为:设计矩阵)

    (m 维向量)

    (n + 1 维向量)
则有:
——(X的转置乘以X)的逆 乘以 X的转置再乘以y即可得参数的最优解。
用octave软件实现:
使用梯度下降算法和正规方程方法的优缺比较:


假设有m个训练和n个特征
梯度下降
正规方程
需要选择学习速率
不需选择学习速率
归一化(很重要)
不需归一化
需要迭代
不用迭代
n很大时,算法依然可以很好地工作
需要计算X的转置乘以X后的逆,当n很大时(例如n=10000),计算很慢



版权声明:本文为博主原创文章,未经博主允许不得转载。

机器学习 --- 1. 线性回归与分类, 解决与区别

机器学习可以解决很多问题,其中最为重要的两个是 回归与分类。 这两个问题怎么解决, 它们之间又有什么区别呢? 以下举几个简单的例子,以给大家一个概念 1. 线性回归 回归分析常用于分析两个变量X和...

机器学习岗位面试问题汇总 之 线性回归和LR模型

线性回归基本思想:用梯度下降法对最小二乘法行社的误差函数进行优化 几个式子:(1)假设 (2)优化目标 (3)梯度下降法(包括推导+特征缩放的目的) 优缺点:实现简单,但不能拟合非线性数据LR模型...

线性回归的欠拟合、过拟合问题总结

针对最近在《机器学习实战》的线性回归中遇到的问题,做一个学习小结,文章有误还请一起交流。局部加权线性回归(LWLR): 1、在线性回归发生欠拟合的时候,在估计中引入一些偏差,降低预测的...

30分钟学会用scikit-learn的基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)

真注:本教程是本人尝试使用scikit-learn的一些经验,scikit-learn帧的超级容易上手,简单实用。30分钟学会用调用基本的回归方法和集成方法应该是够了。 本文主要参考了scikit-...

线性回归与特征归一化(feature scaling)

线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题...

总结与计划(16-17)

关于2016,总体来说是充实的一年。在春季学期(大三上)自己几乎花了整个学期的时间去开发一个影院管理系统,需求分析、建模、设计、实现、测试、维护,所有事情都亲力亲为。由于当时并不了解软件工程的知识,甚...

基于OTSU算法和基本粒子群优化算法的双阈值图像分割

OTSU自适应阈值求法与粒子群算法的合作,将OTSU算法作为粒子群算法的适应值函数,来计算每个粒子的适应度与最优阈值相比较,经过3000次迭代最后取得优化后的阈值 原图: 经过联合算法优化的双阈值...

matlab论文 线性回归问题

  • 2011年12月27日 12:11
  • 620KB
  • 下载

机器学习中线性回归问题以及算法的解决办法提出

回归分析研究的是客观事物变量间的统计关系,通过在对客观事物大量实验和观测的基础上,找到隐藏在不确定现象中的规律性的统计方法。这一方法从高斯提出的最小二乘法算起已经有200年的历史,一直在被各种学科广泛...

线性回归问题解的唯一性

线性回归问题在Andrew Ng的视频教学《机器学习》的第二章中有提到,可以用梯度下降的方法来解决其中的参数估计问题。Ng指出梯度下降法在线性回归问题中必然全局收敛,因为这个问题只有一个极值点。这也就...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:回归问题之线性回归II
举报原因:
原因补充:

(最多只允许输入30个字)