排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
举报
首页
/
大白话讲梯度下降法(一)
大白话讲梯度下降法(一)
哈尔的数据城堡
2019-11-08
1102
导言
在用机器学习算法解决问题时,求解模型参数是很经常的事情,也就是在优化损失函数的时候,需要找到最合适的模型参数。
那么如何找到最优的参数呢,这个时候就需要我们本文要讲的 梯度下降法 了。
学习前提
微积分
求导
梯度下降法原理简单易懂,但是需要有微积分,以及求导的数学理论基础,其实也就是会微积分的求导。
下文也会提到,忘记也无妨。
梯度下降法是什么
在机器学习算法中,很多模型本质就是通过最小化损失函数来间接求解模型参数。
我们在最小化损失函数时,可以通过梯度下降法来一步步迭代求解,得到最小参数值,来得到最小化损失函数,从而得到模型参数。
通过场景来理解梯度下降法
相信读者大大们一定很好奇为什么梯度下降法可以求解最优参数。接下来我们先通过一个场景来了解它的原理。
ps:图片来源于网络
假如我们现在在山顶,想到山脚下,但是不知道具体怎么走。
那我们只能一步一步走,走一步算一步。
我们现在要怎么走到山底,还是有科学依据的。
就需要我们每次都选能最快到达山底的方向走,这个也就相当于梯度下降法中梯度的定义, 也就是最陡峭的地方,然后继续走,继续选择最陡峭的方向走(顺便提一下:
最陡峭的地方,是不是跟我们函数的斜率很像?
),直到走到山脚。
进一步思考
那怎么确定是否是山脚呢,也就是当你的下一步跟上一步相差无几,基本没有变化的时候, 我们就可以说达到局部最低点了。
梯度下降法的数学解释
经过上面的场景解释,相信对梯度下降法的基本思想有一定理解了。那么通过数学是怎么表现的呢,让我们进入本文的重点。
梯度下降法的重点公式,如下图
其中 θ0 就是我们现在的所处的位置,J 就是关于 θ 的函数,∇J(θ)就是该点的斜率,就是我们往下走选择的方向,α 就是我们移动的步长,在机器学习中我们称为学习率。
θ1 就是我们在 θ0 往 ∇J(θ) 的方向走了 α*∇J(θ) 后到达的位置。
下面我们对几个概念重点介绍
初始值
:上式中的 θ0 就是我们梯度下降法最开始随机选择的一个初始值。
学习率
:上式中的 α,也就是我们确定下降的方向后移动的距离。
梯度
:
单变量函数中梯度j就是函数的微积分,也就是函数在某点的斜率。
多变量函数中梯度就是向量。
迭代求解梯度
重点来了,解释之前,我们先来演示下怎么迭代求梯度
首先看看一个自变量的梯度下降情况
假设函数:
随机选择一个值作为初始值,假设为:
学习率为:
梯度:
迭代过程
根据公式,我们开始迭代计算梯度:
经过5次迭代运算,基本到了第五步,就到函数的最低点,也就是我们上面下山场景的山底了。
再来看多变量的梯度下降情况
假设函数:
随机选择一个值作为初始值,假设为:
学习率为:
梯度:
根据公式,我们开始迭代计算梯度:
经过50次迭代运算,我们发现基本到函数最低点了。
总结
可以看出梯度下降法的原理:求解每个位置也就是每个点的斜率,并乘以步长。
梯度
就是斜率,学习率就是梯度下降的步长,构成了移动的要素。进而求解到最小值。
通过下山场景以及迭代演算相信读者大大们对梯度下降法的思想以及过程已经基本了解了。那么本篇的目的就达到了。篇幅所致,下篇我们将继续介绍梯度下降法的分类,优缺点,作用,应用实现,可以更全面了解梯度下降法。
推荐阅读:
深入浅出Apriori关联分析算法(一)
深入浅出Apriori关联分析算法(二)
Scala 函数式编程(一) 什么是函数式编程?
数据库
文章转载自
哈尔的数据城堡
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨