原创 | CDA数据分析研究院,转载需授权
介绍
如果说在机器学习领域有哪个优化算法最广为认知,用途最广,非梯度下降算法莫属。梯度下降算法是一种非常经典的求极小值的算法,比如在线性回归里我们可以用最小二乘法去解析最优解,但是其中会涉及到对矩阵求逆,由于多重共线性问题的存在是很让人难受的,无论进行L1正则化的Lasso回归还是L2正则化的岭回归,其实并不让人满意,因为它们的产生是为了修复此漏洞,而不是为了提升模型效果,甚至使模型效果下降。但是换一种思路,比如用梯度下降算法去优化线性回归的损失函数,完全就可以不用考虑多重共线性带来的问题。其实不仅是线性回归,逻辑回归同样是可以用梯度下降进行优化,因为这两个算法的损失函数都是严格意义上的凸函数,即存在全局唯一极小值,较小的学习率和足够的迭代次数,一定可以达到最小值附近,满足精度要求是完全没有问题的。并且随着特征数目的增多(列如100000),梯度下降的效率将远高于去解析标准方程的逆矩阵。神经网络中的后向传播算法其实就是在进行梯度下降,GDBT(梯度提升树)每增加一个弱学习器(CART回归树),近似于进行一次梯度下降,因为每一棵回归树的目的都是去拟合此时损失函数的负梯度,这也可以说明为什么GDBT往往没XGBoost的效率高,因为它没办法拟合真正的负梯度,而Xgboost 的每增加的一个弱学习器是使得损失函数下降最快的解析解。总之梯度下降算法的用处十分广泛,我们有必要对它进行更加深入的理解。
关于梯度下降算法的直观理解,我们以一个人下山为例。比如刚开始的初始位置是在红色的山顶位置,那么现在的问题是该如何达到蓝色的山底呢?按照梯度下降算法的思想,它将按如下操作达到最低点:
第一步,明确自己现在所处的位置
第二步,找到相对于该位置而言下降最快的方向
第三步, 沿着第二步找到的方向走一小步,到达一个新的位置,此时的位置肯定比原来低
第四部, 回到第一步
第五步,终止于最低点
按照以上5步,最终达到最低点,这就是梯度下降的完整流程。当然你可能会说,上图不是有不同的路径吗?是的,因为上图并不是标准的凸函数,往往不能找到最小值,只能找到局部极小值。所以你可以用不同的初始位置进行梯度下降,来寻找更小的极小值点,当然如果损失函数是凸函数就没必要了,开开心心的进行梯度下降吧!比如下面这种:
问题是,如何用数学语言去描述以上5步呢?
一元函数
一元函数的导数我相信大家都学过,其几何意义是某点切线的斜率,除此之外它还能表示函数在该点的变化率,导数越大,说明函数在该点的变化越大。
则导函数本身则代表着函数沿着x方向的变化率
二元函数
对于二元函数,z=f(x,y),它对x和y的偏导数分别表示如下:
函数在y方向不变的情况下,函数值沿x方向的变化率
函数在x方向不变的情况下,函数值沿y方向的变化率
有了以上的了解,我们分别知道了函数在单独在x和y方向上的变化率
现在有一个问题,我想知道函数在其他方向上的变化率怎么办?
比如下图中的u方向上:
其实是可以做到的,我们都学过,在一平面中,任意一向量都可以用两个不共线的基向量表示,也就是说任意一方向上的变化,都可以分解到x和y两个方向上。
比如,我想求u方向上的变化率,根据导函数的定义
若:
其中α是u方向与x正方向的夹角
极限存在,可用洛必达法则,分子分母同时对▲u求导
原式等于:
令:
这是一个自变量是α的函数,我们将其命名为方向导数,其表明随着α的不同,方向不同,函数的变化率不同。
至此,我们推出了,方向导数的概念,还记得我们的梯度下降算法的第二步是什么吗?
”找到相对于该位置而言下降最快的方向“
而我们的方向导数,本身代表的就是函数变化率与方向的关系,也就是说我们需要利用方向导数,找到使得函数变化率最大的方向
那么,问题来了,在哪一个方向上变化率最大呢?
寻找函数变化率最大的方向-梯度
我们可以这样改写,令:
则:
θ是两个向量的夹角
显然,当θ=0时,取得最大方向导数,也就说随着α的改变,当两个向量A和I是平行的时候,取得最大方向导数,而此时I的方向就是下式的方向:
我们把上式称之为梯度,所以梯度方向是函数变化率最大的方向,更本质的说是函数增长最快的方向
所以,当我们需要最小化损失函数时,只需要使损失函数沿着负梯度前行,就能使损失函数最快下降。
更高元函数
二元函数的推导结论同样可作用于更高元的函数。
所以,高元函数在某点的梯度就是对每一个自变量求偏导,组成的一个向量,在该点的取值,该向量的方向就是函数在该点处增长最快的方向,显然,其负方向就是函数减少最快的方向
以下面的函数举个例子,这是一个有n+1个自变量的函数,自变量是θ:
首先呢,随机化一个我们梯度下降的初始位置,全部为0吧,当然在神经网络中可不能如此随意:
计算梯度,对每一个自变量求偏导:
将初始化的值0,代入上式梯度,就可以得到一个具体的向量,为什么是一个具体的向量呢?这个你要自己想想了
而该向量的方向就是函数在该点增长最快的方向
那么,显然,我们需要往其负方向走一段距离,可是,如何往负方向走呢?其实一样的道理,该负方向同样将其分解到各个自变量的维度上,即其更新过程可写成:
式中的减号表示往梯度的负方向改变
а为学习率,是一个大于0的数,它能控制沿着该方向走多长一段距离,不是步长
什么才是真正的步长?
一个式子说明足以,将当前位置θ代入下式,就是在该点处梯度下降的步长:
所以步长是一个有方向和模长的矢量,当然也是符合我们直观上的理解的,你总要确定往哪个方向走以及步子迈多大。
其中:
其更新过程可写成:
具体的梯度下降流程:
第一步:先随便假设一组θ,你要是喜欢可以全部取0
第二步循环迭代:
第一次迭代:
.......
第二次迭代:
......
......
第x次迭代:......
第三步,满足要求,循环结束,得到θ
参考资料:
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据分析在当今信息时代发挥着重要作用。单因素方差分析(One-Way ANOVA)是一种关键的统计方法,用于比较三个或更多独立样本组 ...
2025-04-25CDA持证人简介: 居瑜 ,CDA一级持证人国企财务经理,13年财务管理运营经验,在数据分析就业和实践经验方面有着丰富的积累和经 ...
2025-04-25在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-24以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《刘静:10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda ...
2025-04-23大咖简介: 刘凯,CDA大咖汇特邀讲师,DAMA中国分会理事,香港金管局特聘数据管理专家,拥有丰富的行业经验。本文将从数据要素 ...
2025-04-22CDA持证人简介 刘伟,美国 NAU 大学计算机信息技术硕士, CDA数据分析师三级持证人,现任职于江苏宝应农商银行数据治理岗。 学 ...
2025-04-21持证人简介:贺渲雯 ,CDA 数据分析师一级持证人,互联网行业数据分析师 今天我将为大家带来一个关于用户私域用户质量数据分析 ...
2025-04-18一、CDA持证人介绍 在数字化浪潮席卷商业领域的当下,数据分析已成为企业发展的关键驱动力。为助力大家深入了解数据分析在电商行 ...
2025-04-17CDA持证人简介:居瑜 ,CDA一级持证人,国企财务经理,13年财务管理运营经验,在数据分析实践方面积累了丰富的行业经验。 一、 ...
2025-04-16持证人简介: CDA持证人刘凌峰,CDA L1持证人,微软认证讲师(MCT)金山办公最有价值专家(KVP),工信部高级项目管理师,拥有 ...
2025-04-15持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。在实际生活中,我们可能会 ...
2025-04-14在 Python 编程学习与实践中,Anaconda 是一款极为重要的工具。它作为一个开源的 Python 发行版本,集成了众多常用的科学计算库 ...
2025-04-14随着大数据时代的深入发展,数据运营成为企业不可或缺的岗位之一。这个职位的核心是通过收集、整理和分析数据,帮助企业做出科 ...
2025-04-11持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。 本次分享我将以教培行业为 ...
2025-04-11近日《2025中国城市长租市场发展蓝皮书》(下称《蓝皮书》)正式发布。《蓝皮书》指出,当前我国城市住房正经历从“增量扩张”向 ...
2025-04-10在数字化时代的浪潮中,数据已经成为企业决策和运营的核心。每一位客户,每一次交易,都承载着丰富的信息和价值。 如何在海量客 ...
2025-04-09数据是数字化的基础。随着工业4.0的推进,企业生产运作过程中的在线数据变得更加丰富;而互联网、新零售等C端应用的丰富多彩,产 ...
2025-04-094月7日,美国关税政策对全球金融市场的冲击仍在肆虐,周一亚市早盘,美股股指、原油期货、加密货币、贵金属等资产齐齐重挫,市场 ...
2025-04-08背景 3月26日,科技圈迎来一则重磅消息,苹果公司宣布向浙江大学捐赠 3000 万元人民币,用于支持编程教育。 这一举措并非偶然, ...
2025-04-07在当今数据驱动的时代,数据分析能力备受青睐,数据分析能力频繁出现在岗位需求的描述中,不分岗位的任职要求中,会特意标出“熟 ...
2025-04-03