机器学习-梯度下降算法-特征缩放和学习速率选取

简介: 1. 特征缩放实际当我们在计算线性回归模型的时候,会发现特征变量x,不同维度之间的取值范围差异很大。这就造成了我们在使用梯度下降算法的时候,由于维度之间的差异使得Jθ的值收敛的很慢。

1. 特征缩放

实际当我们在计算线性回归模型的时候,会发现特征变量x,不同维度之间的取值范围差异很大。这就造成了我们在使用梯度下降算法的时候,由于维度之间的差异使得Jθ的值收敛的很慢。

我们还是以房价预测为例子,我们使用2个特征。房子的尺寸(1~2000),房间的数量(1-5)。以这两个参数为横纵坐标,绘制代价函数的等高线图能看出整个图显得很扁,假如红色的轨迹即为函数收敛的过程,会发现此时函数收敛的非常慢。

为了解决这个问题,我们采用特征缩放,所谓的特征缩放就是把所有的特征都缩放到一个相近的取值范围内。比如-1~1,或者-0.5~2,或者-2~05 等等,只要不超过-3 ~ 3这个范围,基本上都能够满足梯度下降算法

最简单的方法采用下面的公式进行计算

  1. Xn表示第n个特征,也就是特征变量X的第n维
  2. Un表示特征的平均值,也就是所有特征向量集第n个特征的平均值
  3. Sn表示标准差,方差算术平方根
实际上,当我们在运用线性回归时,不一定非要直接用给出的 x1, x2, x3 ... xn 作为特征,有时候可以自己创造新的特征。 比如训练集中只给了房子长度和宽度两个特征,但是我们可以用长度X宽度得到面积这个新的特征。 
有时,通过定义新的特征,可以得到一个更好的模型。

2. 学习速率

梯度下降算法中,最合适即每次跟着参数θ变化的时候,J(θ)的值都应该下降 到目前为止,我们还没有介绍如何选择学历速率α,梯度下降算法每次迭代,都会受到学习速率α的影响

  1. 如果α较小,则达到收敛所需要迭代的次数就会非常高;
  2. 如果α较大,则每次迭代可能不会减小代价函数的结果,甚至会超过局部最小值导致无法收敛。如下图所示情况

观察下图,可以发现这2种情况下代价函数 J(θ)的迭代都不是正确的

  1. 第一个图,曲线在上升,明显J(θ)的值变得越来越大,说明应该选择较小的α
  2. 第二个图,J(θ)的曲线,先下降,然后上升,接着又下降,然后又上升,如此往复。通常解决这个问题,还是选取较小的α

根据经验,可以从以下几个数值开始试验α的值,0.001 ,0.003, 0.01, 0.03, 0.1, 0.3, 1, …

α初始值位0.001, 不符合预期乘以3倍用0.003代替,不符合预期再用0.01替代,如此循环直至找到最合适的α

然后对于这些不同的 α 值,绘制 J(θ)随迭代步数变化的曲线,然后选择看上去使得 J(θ)快速下降的一个 α 值。

所以,在为梯度下降算法选择合适的学习速率 α 时,可以大致按3的倍数再按10的倍数来选取一系列α值,直到我们找到一个值它不能再小了,同时找到另一个值,它不能再大了。其中最大的那个 α 值,或者一个比最大值略小一些的α 值 就是我们期望的最终α 值

目录
相关文章
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
16天前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
20 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
29天前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
1月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
165 1
|
2月前
|
机器学习/深度学习 存储 算法
图解最常用的 10 个机器学习算法!
图解最常用的 10 个机器学习算法!
|
2月前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
2月前
|
机器学习/深度学习 存储 人工智能
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
本文是关于2022-2023年知能科技公司机器学习算法工程师岗位的秋招笔试题,包括简答题和编程题,简答题涉及神经网络防止过拟合的方法、ReLU激活函数的使用原因以及条件概率计算,编程题包括路径行走时间计算和两车相向而行相遇时间问题。
63 2
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
基于python 机器学习算法的二手房房价可视化和预测系统
文章介绍了一个基于Python机器学习算法的二手房房价可视化和预测系统,涵盖了爬虫数据采集、数据处理分析、机器学习预测以及Flask Web部署等模块。
基于python 机器学习算法的二手房房价可视化和预测系统
|
2月前
|
机器学习/深度学习 算法 数据挖掘
机器学习必知必会10大算法
机器学习必知必会10大算法
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
下一篇
无影云桌面