机器学习-多元线性回归

作者: 不会停的蜗牛 | 来源:发表于2016-05-16 22:19 被阅读943次

A. 用途:

可以用来预测,由多种因素影响的结果。

B. 建立公式:

C. 求解方法:

方法1. Gradient Descent:

技巧:

技巧1. Feature Scaling:
何时用:

当各个变量的值域或者数量级相差比较大时,
需要将各个变量的值域变换到相似的水平,
变换后,Gradient Descent 就可以更快地下降。

为什么要用:

不用的话,J 关于 Theta 的形状就会非常扁,Gradient 就会来回摆动,就需要更长的时间才能找到最小值。

所以就要做Feature Scaling:

怎么用:

1.除以值域范围:

2.或者,先减平均值,再除以值域范围:

之后,这个形状就会比较正规,Gradient 就可以比较快地找到全局最小值。

技巧2. Learning Rate:

如何确认Gradient Descent是在正确地进行?
如何选择Alpha?

1. 如何确认Gradient Descent是在正确地进行?

数学家们已经证明,当Alpha足够小,J就会每次迭代后都下降。

所以,就可以画图,横轴是迭代的次数,纵轴是cost function的值:
如果是正确的话,那么每次都用迭代后得到的Theta代入J,J应该是下降的。

如果曲线是上升的,说明Gradient Descent用错了,此时需要将Alpha调小。

因为Alpha较大的话,就会过头而错过最小值,进而表现越来越差,造成曲线是上升的:

但是当Alpha太小的话,收敛就会很慢。

补充:
到底需要多少次迭代才会收敛,是与算法和数据有关的。

自动检测是否收敛的方法:
但是这个阈值是很难去确定的。


2. 如何选择Alpha?
在实践中:
可以尝试一系列Alpha的值,0.001,0.01,0.1,1等。

技巧3. 如何选Feature?

在实践中:
你可以不只是用给定的因素,而是通过思考,看哪些因素也是影响预测目标的原因,或者由原始的因素间,进行加减乘除等运算,自己构建Feature。
有一种比较普遍的构建方法,就是多项式。

后续会介绍一些算法,是用来自动选择Feature的。

方法2. Normal Equation

它是另一种求解最小值的方法,是通过分析的方式,而不是迭代。

根据线性代数的知识,得到Theta的求解公式:

m个Sample数据,n个Feature,那么Design Matrix的维度就是 m*(n+1)。

当 X`X 不可逆的时候,该怎么办?
造成不可逆的原因可能主要有两个:
一个是变量间具有相关性,比如一个变量以线性相关关系的形式被用作两个变量。
另一个原因是用了太多的Feature,就是m<=n时,比如说只用10个Sample去做101个Feature的预测。

这两种情况下的解决方案就是,要么删掉一些Feature,要么采用Regularization,后续。

D. 两种方法比较

用 Normal Equation 的话,就不用做 Feature Scaling 了。

当 Feature 有很多,成千上百万的时候,Gradient Descent 也仍然有效,但是 Normal Equation 因为要计算矩阵的转置,乘积,还有逆,就不适用于这样的数量级的计算。一般在 1000 级别的还可以用 Normal Equation。

相关文章

  • 多元线性回归

    链接:多元线性回归 NG机器学习公开课笔记:机器学习笔记

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

  • 机器学习-多元线性回归

    A. 用途: 可以用来预测,由多种因素影响的结果。 B. 建立公式: C. 求解方法: 方法1. Gradient...

  • 机器学习实践系列1——线性回归

    摘要:本文结合实际案例,介绍机器学习的线性回归模型,包括一元线性回归和多元线性回归,以及模型的评估。案例展示用Py...

  • 2019-02-17

    机器学习系列 机器学习100天 机器学习第1天:数据预处理 机器学习第2天:简单线性回归模型 机器学习第3天:多元...

  • 用人话讲明白梯度下降Gradient Descent(以求解多元

    文章目录1.梯度2.多元线性回归参数求解3.梯度下降4.梯度下降法求解多元线性回归 梯度下降算法在机器学习中出现频...

  • QR分解与线性回归

    1 一元回归与多元回归 任何一本初级水平的计量经济学、统计学或机器学习相关书籍,都会详细推导多元线性线性回归的解,...

  • 多元线性回归(multiple regression model

    之前学习了单一线性回归,这次主要研究多元线性回归,以及提高多元数据的模型精度的一些方法 1、什么是多元线性回归,我...

  • 机器学习算法——多元线性回归

    数据来源合鲸社区-工业产生的蒸汽量预测 1.1 背景描述[http://localhost:8888/noteb...

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

网友评论

  • e2bca3245e1d:梯度下降是不是有可能找到的只是局部最优解?

本文标题:机器学习-多元线性回归

本文链接:https://www.haomeiwen.com/subject/ohtbrttx.html