感知机-梯度下降法

一、概念

在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,简称grad f(x,y)或者▽f(x,y)。

梯度向量的意义

从几何意义上讲,就是函数变化增加最快的地方。具体来说,对于函数f(x,y),在点(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,梯度减少最快,也就是更加容易找到函数的最小值。

梯度下降与梯度上升

在机器学习算法中,在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数,和模型参数值。反过来,求解损失函数的最大值,就用梯度上升法来迭代了。

梯度下降法相关概念

  • 步长(Learning rate):步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。
  • 特征(feature):指的是样本中输入部分,比如2个单特征的样本(x(0),y(0)),(x(1),y(1)),则第一个样本特征为x(0),第一个样本输出为y(0)。
  • 假设函数(hypothesis function):在监督学习中,为了拟合输入样本,而使用的假设函数。
  • 损失函数(loss function):为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。

二、详细算法

2.1代数法梯度下降

假设函数设为,则损失函数为=

2.2算法推导过程

2.3梯度下降举例

2.4梯度下降的算法调优

梯度下降更新公式:

其中 α是学习率。

物理意义 :梯度方向指向损失函数增长最快的方向,负梯度方向指向损失下降最快的方向

  1. 算法的步长选择。步长实际上取值取决于数据样本,可以多取一些值,从大到小,分别运行算法,看看迭代效果,如果损失函数在变小,说明取值有效,否则要增大步长。
  2. 算法参数的初始值选择。 初始值不同,获得的最小值也有可能不同,因此梯度下降求得的只是局部最小值;当然如果损失函数是凸函数则一定是最优解。由于有局部最优解的风险,需要多次用不同初始值运行算法,关键损失函数的最小值,选择损失函数最小化的初值。
  3. 归一化。由于样本不同特征的取值范围不一样,可能导致迭代很慢,为了减少特征取值的影响,可以对特征数据归一化,也就是对于每个特征x,求出它的期望和标准差std(x),然后转化为:,这样特征的新期望为0,新方差为1,迭代速度可以大大加快。

参考文章:梯度下降(Gradient Descent)小结 - 刘建平Pinard - 博客园https://www.cnblogs.com/pinard/p/5970503.html

相关推荐
图生生13 小时前
基于AI的商品场景图批量生成方案,助力电商大促效率翻倍
人工智能·ai
说私域13 小时前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
yugi98783813 小时前
用于图像分类的EMAP:概念、实现与工具支持
人工智能·计算机视觉·分类
aigcapi13 小时前
AI搜索排名提升:GEO优化如何成为企业增长新引擎
人工智能
mit6.82413 小时前
几何|阻碍链
算法
彼岸花开了吗13 小时前
构建AI智能体:八十、SVD知识整理与降维:从数据混沌到语义秩序的智能转换
人工智能·python·llm
有一个好名字13 小时前
力扣-小行星碰撞
算法·leetcode·职场和发展
MM_MS13 小时前
Halcon图像锐化和图像增强、窗口的相关算子
大数据·图像处理·人工智能·opencv·算法·计算机视觉·视觉检测
韩师傅13 小时前
前端开发消亡史:AI也无法掩盖没有设计创造力的真相
前端·人工智能·后端
AI大佬的小弟13 小时前
【小白第一课】大模型基础知识(1)---大模型到底是啥?
人工智能·自然语言处理·开源·大模型基础·大模型分类·什么是大模型·国内外主流大模型