概念

为了解决线性回归问题,我们也用梯度下降算法。
算法逻辑如下:

对于线性回归模型中例子,梯度下降可以如下:


算法

实际上梯度下降可有通过求导。这里的符号“:=”是赋值的含义

有两个注意点:

  • 参数的更新,每次迭代中θ0和θ1是同时更新的。

  • 在梯度下降中需要注意α,也就是学习速率(learn rate)。速率过大导致一直发散,速率过小导致迭代过多。这个值需要根据实际调整,具体后续分析。

  • 即使学习率α固定,渐变下降也可以收敛到局部最小值


梯度下降算法最小化平方误差代价函数

基本概念

首先二者分别如下

所以可以得到下面的迭代

多特征

对于多个特征量,假设函数(hypothesis)应该变化为:

同理,新的算法为:

特征缩放

对于新的算法中,多个特征量由于各自有不同的范围,因此由这些取值可能使得收敛较慢或者没有了理想的效果。所以可以使用特征缩放来解决这个问题:

需要注意的是这里的正负1不是要求绝对的满足,这里的意思是多个特征量的值范围不要差距太大即可

均值归一化

对于特征量除了特征缩放以外还有均值归一化的方法:

这里μ的含义是特征集中特征X1的平均值,S1表示X1的特征值范围,也就是X1_max和X1_min的差值。虽然可以用标准差,但其实是一样的。同理这里的正负0.5也表示相近的值就可以。

学习率α的取值

如果α的取值过大或者过小都有可能导致代价函数不理想:

因此在实际中,ANg推荐的做法是通过取不同的α观察来比较,从中选取合适的学习率。

特征和多项式回归

选取的特征越有效,最终获取的结果就越准确,所以选择正确的特征是很重要的。但实际中可能有一些函数会很复杂,或者非线性。这个时候我们不能直接使用选取特征和对应的函数。此时可以通过拟合的方式获取符合实际的函数。并且特征也可以间接利用。


正规化方程

概念

某一些问题,使用正规化方程可以更好的得到θ。并且正规化方程可以一次性得出θ
对于例子来说,使用正规化方程,可以得出结果。


梯度下降算法和正规化方程的选择

对于二者,最主要的区别就是梯度下降是多次得到结果,正规化方程是一次求解。所以当特征较少的情况下,使用后者更合适。前者适用于大型或者复杂的情况

此外正规化方程有一个使用前提,也就是有逆矩阵的前提下。但这个情况通常极少,可不考虑。

ANg-梯度下降算法的更多相关文章

  1. 梯度下降算法的一点认识(Ng第一课)

    昨天开始看Ng教授的机器学习课,发现果然是不错的课程,一口气看到第二课. 第一课 没有什么新知识,就是机器学习的概况吧. 第二课 出现了一些听不太懂的概念.其实这堂课主要就讲了一个算法,梯度下降算法. ...

  2. ng机器学习视频笔记(二) ——梯度下降算法解释以及求解θ

    ng机器学习视频笔记(二) --梯度下降算法解释以及求解θ (转载请附上本文链接--linhxx)   一.解释梯度算法 梯度算法公式以及简化的代价函数图,如上图所示. 1)偏导数 由上图可知,在a点 ...

  3. 监督学习:随机梯度下降算法(sgd)和批梯度下降算法(bgd)

    线性回归 首先要明白什么是回归.回归的目的是通过几个已知数据来预测另一个数值型数据的目标值. 假设特征和结果满足线性关系,即满足一个计算公式h(x),这个公式的自变量就是已知的数据x,函数值h(x)就 ...

  4. [机器学习Lesson3] 梯度下降算法

    1. Gradient Descent(梯度下降) 梯度下降算法是很常用的算法,可以将代价函数J最小化.它不仅被用在线性回归上,也被广泛应用于机器学习领域中的众多领域. 1.1 线性回归问题应用 我们 ...

  5. Spark MLib:梯度下降算法实现

    声明:本文参考< 大数据:Spark mlib(三) GradientDescent梯度下降算法之Spark实现> 1. 什么是梯度下降? 梯度下降法(英语:Gradient descen ...

  6. AI-2.梯度下降算法

    上节定义了神经网络中几个重要的常见的函数,最后提到的损失函数的目的就是求得一组合适的w.b 先看下损失函数的曲线图,如下 即目的就是求得最低点对应的一组w.b,而本节要讲的梯度下降算法就是会一步一步地 ...

  7. Logistic回归Cost函数和J(θ)的推导(二)----梯度下降算法求解最小值

    前言 在上一篇随笔里,我们讲了Logistic回归cost函数的推导过程.接下来的算法求解使用如下的cost函数形式: 简单回顾一下几个变量的含义: 表1 cost函数解释 x(i) 每个样本数据点在 ...

  8. 梯度下降算法对比(批量下降/随机下降/mini-batch)

    大规模机器学习: 线性回归的梯度下降算法:Batch gradient descent(每次更新使用全部的训练样本) 批量梯度下降算法(Batch gradient descent): 每计算一次梯度 ...

  9. tensorflow随机梯度下降算法使用滑动平均模型

    在采用随机梯度下降算法训练神经网络时,使用滑动平均模型可以提高最终模型在测试集数据上的表现.在Tensflow中提供了tf.train.ExponentialMovingAverage来实现滑动平均模 ...

  10. 深度学习课程笔记(四)Gradient Descent 梯度下降算法

    深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...

随机推荐

  1. MySQL ERROR 1300 (HY000): Invalid utf8 character string

    load data报错 原因:原始数据含有 中文\中文 这样的带斜线的字符串. 解决方案:导出的时候替换 replace(d.role_name,'\\','.' ),这样导入时候就不用处理了

  2. day7--面向对象进阶(内含反射和item系列)

    一面向对象的结构和成员 1.1面向对象的结构 class A: company_name = '老男孩教育' # 静态变量(静态字段) __iphone = '1353333xxxx' # 私有静态变 ...

  3. ace admin

    .svg             image/svg+xml.woff            application/x-font-woff.woff2          application/x- ...

  4. jquery IE中加载xml

    $.ajax({ url: 'xml/myXML.xml', dataType: ($.browser.msie) ? "text" : "xml", time ...

  5. [Android]Android布局优化之 ViewStub

    转载请标注:转载于http://www.cnblogs.com/Liuyt-61/p/6602926.html -------------------------------------------- ...

  6. [Android]Animation 动画介绍和实现

    Animation动画效果来实现菜单的显示和隐藏,本文就来介绍下吧. 1.Animation 动画类型 Android的animation由四种类型组成: XML中 alph 渐变透明度动画效果 sc ...

  7. 自动化脚本编写环境部署_win7(RF)

    第一步 安装Python并设置环境变量 1.安装python: python下载地址https://www.python.org/,建议用2.7.x版本 2.设置环境变量: 方法如下所示  第二步 安 ...

  8. 以虎嗅网4W+文章的文本挖掘为例,展现数据分析的一整套流程

    本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 本文作者将结合自身经验,并以实际案例的形式进行呈现,涉及从 ...

  9. Oracle exp/imp 导出/导入

    set NLS_LANG=AMERICAN_AMERICA.AL32UTF8 exp jjhd_test/11111111@a_syj file="d:\jjhd_test.dmp" ...

  10. python中的update

    update()批量写入批量更新字典,举个例子: 1 a = { 2 "name":"dlrb", 3 "age":25, 4 " ...