搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Gausst松鼠会
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
vue -- 无法打卡vue ui创建项目_deprecate request@^2.67.0 request has been depreca
2
react 遍历生产form表单(FormItem)_react 循环form.item
3
build opencv3.3.0 with VTK8.0, CUDA9.0 on ubuntu9.0
4
java正则表达式校验日期_java验证出生日期正则表达式
5
01_C++ Qt开发:Qt的安装与配置
6
C# 使用EPPlus创建Excel文件_c# epplus excel
7
linux多进程通信框架,Linux下多进程IPC通讯的例子
8
Unity摄像机详解_unity 摄像机 后视镜开发
9
DOM编程-表单验证_html dom表单验证
10
Sora给中国AI带来的真实变化
当前位置:
article
> 正文
机器学习中的梯度下降法_机器学习梯度下降
作者:Gausst松鼠会 | 2024-02-23 10:33:02
赞
踩
机器学习梯度下降
1.
机器学习中为什么需要梯度下降
梯度下降是机器学习中常见优化算法之一,梯度下降法有以下几个作用:
(
1
)梯度下降是迭代法的一种,可以用于求解最小二乘问题。
(
2
)在求解机器学习算法的模型参数,即无约束优化问题时,主要有梯度下降法(
Gradient Descent
)和最小二乘法。
(
3
)在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。
(
4
)如果我们需要求解损失函数的最大值,可通过梯度上升法来迭代。梯度下降法和梯度上升法可相互转换。
(
5
)在机器学习中,梯度下降法主要有随机梯度下降法和批量梯度下降法。
2.
梯度下降法缺点
梯度下降法缺点有以下几点:
(
1
)靠近极小值时收敛速度减慢。
(
2
)直线搜索时可能会产生一些问题。
(
3
)可能会
“
之字形
”
地下降。
梯度概念也有需注意的地方:
(
1
)梯度是一个向量,即有方向有大小。
(
2
)梯度的方向是最大方向导数的方向。
(
3
)梯度的值是最大方向导数的值。
3.
梯度下降法直观理解
梯度下降法经典图示如下图
所示:
梯度下降法经典图示
形象化举例,由上图
所示,假如最开始,我们在一座大山上的某处位置,因为到处都是陌生的,
不知道下山的路,所以只能摸索着根据直觉,走一步算一步,在此过程中,每走到一个位置的时候,都
会求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前
位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。不断循环求梯度,就这样一步步地走
下去,一直走到我们觉得已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个
局部的山势低处。
由此,从上面的解释可以看出,梯度下降不一定能够找到全局的最优解,有可能是一个局部的最优
解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。
核心思想归纳
:
初始化参数,随机选取取值范围内的任意数;
迭代操作
a
)计算当前梯度;
b
)修改新的变量;
c
)计算朝最陡的下坡方向走一步;
d
)判断是否需要终止,如否,返回
a
);
得到全局最优解或者接近全局最优解。
4.
梯度下降法算法描述
5.
如何对梯度下降法进行调优
实际使用梯度下降法时,各项参数指标不能一步就达到理想状态,对梯度下降法调优主要体现在以下几个方面:
算法迭代步长选择
在算法参数初始化时,有时根据经验将步长初始化为
1
。实际取值取决于数据样本。可以从大到小,多取一些值,分别运行算法看迭代效果,如果损失函数在变小,则取值有效。如果取值无效,说明要增
大步长。但步长太大,有时会导致迭代速度过快,错过最优解。步长太小,迭代速度慢,算法运行时间
长。
参数的初始值选择
初始值不同,获得的最小值也有可能不同,梯度下降有可能得到的是局部最小值。如果损失函数是凸
函数,则一定是最优解。由于有局部最优解的风险,需要多次用不同初始值运行算法,关键损失函数的
最小值,选择损失函数最小化的初值。
标准化处理
由于样本不同,特征取值范围也不同,导致迭代速度慢。为了减少特征取值的影响,可对特征数据标
准化,使新期望为
0
,新方差为
1
,可节省算法运行时间。
6.
随机梯度和批量梯度区别
6.1. 批量梯度下降的求解思路
6.2. 随机梯度下降的求解思路
6.3. 小批量(
Mini-Batch
)梯度下降的求解思路
6.4. 在线梯度下降(
Online GD)
的求解思路
7.
各种梯度下降法性能比较
下表简单对比随机梯度下降(
SGD
)、批量梯度下降(
BGD
)、小批量梯度下降(
Mini-batch
GD
)、和
Online GD
的区别:
参考文献
深度学习500问
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/135720
推荐阅读
article
使用
Azure
Site
Recovery
灾难
恢复
至
Azure
的
功能
现已正式发布...
ABHISHEK A. HEMRAJANI云 + Enterprise项目经理自我们宣布发布使用
Azure
Sit...
赞
踩
article
嵌入式
的
日常
工作
内容
是
什么?_
嵌入式
工作
实际
工作
内容...
如果不
是
在创业公司
的
话,其实很多
嵌入式
公司
的
岗位分工
的
颗粒度还
是
很细
的
。基本上都
是
各司其职。答主多年
的
嵌入式
开发经历,经...
赞
踩
article
计算机
英语翻译
100句...
1.Subnotebooksusersgiveupafullsizedisplayscreenandkeyboardin...
赞
踩
article
PostgreSQL
优化
器案例之 -
order
by
limit
索引
选择问题...
标签
PostgreSQL
,
limit
,
order
by
,
优化
器 , 选择性 , 相关性 , 数据存储顺序 ,...
赞
踩
article
火出圈
三维重建
-
NeRF
_
nerf
三维重建
原理...
该方法使用一个全连接深度网络来表示场景,使用的输入是一个单连通的5D坐标(空间位置x,y,z以及观察视角θ,),输出为一...
赞
踩
article
postgresql
日志
配置_pg
数据库
日志
文件
...
【代码】
postgresql
日志
配置。_pg
数据库
日志
文件
pg
数据库
日志
文件
...
赞
踩
article
spring
-
boot
-
maven
-plugin 爆红...
问题描述
spring
-
boot
-
maven
-plugin
spring
-...
赞
踩
article
Yolo
V5 转
tensorrt
_
yolov5
tensorrt
...
一、 在转
tensorrt
之前,请先确认你下载的yolo v5的版本及对应权重:在官方地址:https://github...
赞
踩
article
python
创建
person
类用
printinfo
方法
_
python
高级练习题代码...
一、1、
创建
Person类,属性有姓名、年龄、性别,
创建
方法
printInfo,打印这个人的信息2、
创建
Student类...
赞
踩
article
使用
three
.
js
中
的
CSS3DRenderer
实现
3d
卡片
的
效果
...
前言最近要做一个 3D 卡片
的
效果
,设计图如下:第一次尝试第一次尝试选择了我比较熟悉
的
PixiJS,关于我如何用 Pi...
赞
踩
article
.
Net8
到底
支持
那些
平台
/
指令集
呢...
1.前言国产信创化的趋势下,.Net还有机会吗?这里有必要了解下最新的这个.
Net8
到底
支持
哪些
平台
,哪些
指令集
呢?本篇...
赞
踩
article
【
C#
】
IQueryable
和
IEnumerable
的区别和互相转换_
iqueryable
转化为is...
【
C#
】
IQueryable
和
IEnumerable
的区别1.
IQueryable
接口是继承自
IEnumerable
的接...
赞
踩
article
Postgres
设置
日志
级别_
postgres
日志
级别...
程序运行时出现了错误,但是无法判断是哪个SQL造成的,需要修改
Postgres
日志
输出内容。_
postgres
日志
级别...
赞
踩
article
毫米波
雷达
(一):
原理
_
毫米波
雷达
原理
...
【精选分享】TI mmWave Radar
毫米波
雷达
产品资料和软件下载链接链接: https://e2echina.t...
赞
踩
article
Silane
-
PEG
-
NHS
,
SIL
-
PEG
-
NHS
,
可以用来修饰蛋白质、多肽以及其他活性基团
,
NH...
英文名称:
Silane
-
PEG
-
NHS
中文名称:硅烷-聚乙二醇-活性酯分子量:1k
,
2k
,
3.4k
,
5k
,
10k
,
20k...
赞
踩
article
机器
学习
笔记 - 了解
学习
率
对
神经网络
性能
的
影响
_
神经网络
学习
率
变化有什么
影响
...
深度
学习
神经网络
使用随机梯度下降优化算法进行训练。
学习
率
是一个超参数,它控制每次更新模型权重时响应估计误差而改变模型
的
程...
赞
踩
article
黑白棋
(人人对战)——C
语言
实现
方法之一
_
黑白棋
c
语言
...
黑白棋
(人人对战)——C
语言
实现
方法之一
黑白棋
,又叫翻转棋(Reversi)、奥赛罗棋(Othello)、苹果棋或正反棋...
赞
踩
article
基于
SqlSugar
的开发框架
循序渐进
介绍
(31)-- 在
查询
接口中实现多表
联合
和单表对象的统一
处理
...
在一些复杂的业务表中间
查询
数据,有时候操作会比较复杂一些,不过
基于
SqlSugar
的相关操作,
处理
的代码会比较简单一些,...
赞
踩
article
DevExpress
控件使用方法:第一篇
gridControl
详解_
devexpress
grid...
个人整理的
DevExpress
的控件使用总结,今后会陆续更新。_
devexpress
gridcontrol
gridv...
赞
踩
article
AIGC
介绍篇_
aigc
说明
...
AIGC
最近横空出世,对社会产生了多冲击。
AIGC
发展到现在,其实也就是最近几个月被 ChatGPT (22年11月...
赞
踩
相关标签
运维
嵌入式
stm32
keil
单片机
数据库
操作系统
人工智能
算法
机器学习
postgresql
maven
spring
java
深度学习
神经网络
pytorch
python创建person类用printinfo方法
javascript
json
ViewUI
雷达
毫米波雷达
其他