回归问题之线性回归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),计算很慢



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

线性回归(Linear regression)及其相关问题

前言: True regression functions are never linear!
  • qq_26837565
  • qq_26837565
  • 2015年03月24日 17:18
  • 2486

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

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

回归问题之线性回归

1、线性回归(linear regression): a、单变量线性回归univariate linear regression: 形式: 关键是怎么选择模型的参数,:应该是使得尽可能/无限...
  • xiu_star
  • xiu_star
  • 2016年08月17日 16:46
  • 444

线性回归问题

今天在阅读机器学习线性回归问题时,作为一个初学者产生了很多疑问。我下面将我的一些思考总结如下,并不是从方法推导和技术使用角度来解析,只是从基础概念上进行一些深度理解: 线性回归模型为...
  • chenxidedipingxian
  • chenxidedipingxian
  • 2015年08月28日 10:37
  • 519

线性回归、逻辑回归等问题对比分析总结

回归问题的条件/前提: 1) 收集的数据 2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。 1. ...
  • u010159842
  • u010159842
  • 2015年08月07日 15:38
  • 1867

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

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

机器学习面试准备之一、线性回归与逻辑回归

机器学习面试准备之一、线性回归与逻辑回归
  • sunpeng19960715
  • sunpeng19960715
  • 2017年01月26日 21:02
  • 3363

回归分析---线性回归原理和Python实现

为什么要学习回归?机器学习实战作者说‘回归可以任何事情’。 假设有如下方程,就是一个回归方程,系数wi为回归系数,求回归系数的过程被称为回归 线性回归意味着可以将输入项分别乘以一些常量,再将结果加起...
  • u012535605
  • u012535605
  • 2017年04月28日 17:06
  • 2489

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

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

机器学习练习(二)——多元线性回归

作者:John Wittenauer 翻译:GreatX 源:Machine Learning Exercises In Python, Part 2这篇文章是一系列 Andrew Ng 在 Co...
  • And_w
  • And_w
  • 2016年10月03日 12:58
  • 2440
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:回归问题之线性回归II
举报原因:
原因补充:

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