栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

04.多元梯度下降算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

04.多元梯度下降算法

一、多元梯度下降算法
  • 通常情况下我们要解决的问题会涉及到多个变量,例如房屋价格预测应该考虑面积、房间个数、楼层、价格等多个因素,这时就需要使用多元线性回归的假设函数和多元梯度下降算法
1.1 相关表示的含义

以房屋价格预测为例来展开介绍,假设房屋的价格与房屋的面积、卧室数量和房屋年龄有关

  • 用 n 代表特征数量,m 代表样本数量,变量 x 此时也变为三个,即 x1 (代表面积),x2(代表卧室数量),x3(代表房屋年龄)。

  • 定义 x(i) 代表第 i 个样本的所有特征值。例如 x(2) = [1416, 3, 2, 40, 232]

  • 定义 xj(i) 代表第 i 个样本中第 j 个特征量。例如 x3(2) = 2

1.2 多元线性回归的假设函数

  • 假设函数就不再只包含一个变量,为了统一可以对常量引入变量x0=1
  • 通常都是把所有的 θ 和 x 看出一个向量来进行处理
1.3 多元线性回归的代价函数

1.4 多元线性回归的梯度下降算法

  • 上图左边为单梯度,右边为多元梯度
  • 虽然参数的个数增多,但是对每个参数求偏导时和单个参数类似。
二、特征缩放 2.1 特征缩放的引入原因
  • 多个变量的度量不同,数字之间相差的大小也不同,如果可以将所有的特征变量缩放到大致相同范围,这样会减少梯度算法的迭代。

  • 当特征范围相差太大时,会一直来回振荡,梯度下降效率会很低

  • 特征缩放把每个变量范围落到[-1,1]之间是比较好的,但不一定非要落到[-1,1]之间,只要数据足够接近就可以。

2.2 特征缩放的公式

  • 主要:上图的标准差也可以直接用变量的范围(max - min)来表示

  • 缩放的具体实现例子:

2.3 特征缩放后参数θ的还原方法
  • 经过线性回归得到的参数θ’,对应着缩放后的数据,要得到缩放前的参数θ的方法

三、学习率
  • 学习率α的大小会影响梯度算法的执行,太大可能会导致算法不收敛,太小会增加迭代的次数。
3.1 学习率选择是否合适的方法
  • 可以画出每次迭代的代价函数J(θ)的变化,来判断当前算法执行的情况,然后选择合适的学习率。(调参开始…)

    • 上图横坐标表示:梯度下降算法的迭代次数
    • 若图中的曲线接近平缓,J(θ)的值几乎没有下降的趋势了,则表示J(θ)差不多收敛了,可以不用继续迭代了
3.2 合适的学习率的选择
  • 尝试选取不同的α :… 0.001,0.003,0.01,0.03,0.1,0.3,1,…
  • 以3为倍速找到一个最快速下降的 α ,以该最大值或比该最大值略小的值作为 α
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018256.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号