IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 李宏毅机器学习--P6梯度下降法 -> 正文阅读

[人工智能]李宏毅机器学习--P6梯度下降法

  • Review: gradient Descent
  • Learning rates给优化过程中带来的影响
  • 自适应调整learning rate 的方法
  • 梯度下降法的背后理论基础

Review: gradient Descent
在上一个视频里,已经介绍了使用梯度下降法求解Loss function
θ ? = a r g m i n ? L ( θ ) \theta^*=argmin\ L(\theta) θ?=argmin?L(θ)
L:loss function θ \theta θ:参数
在这里插入图片描述
梯度下降过程中的可视化
在这里插入图片描述
Learning rates给优化过程中带来的影响
在这里插入图片描述
自适应调整learning rate 的方法

  1. Adagrad
    以权重 w w w的更新过程为例
    w t + 1 ← w t ? η t σ t g t w^{t+1}\leftarrow w^t-\frac{\eta^t}{\sigma^t}g^t wt+1wt?σtηt?gt
    其中 η t = η t + 1 \eta^t=\frac{\eta}{\sqrt{t+1}} ηt=t+1 ?η?, σ t = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma^t=\sqrt{\frac{1}{t+1}\sum_{i=0}^t(g_i^t)^2} σt=t+11?i=0t?(git?)2 ?.
    在这里插入图片描述
    如何理解Adagrad的物理意义呢?
    如下图所示,当只有一个参数时,微分越大说明当前参数距离最优参数越远
    在这里插入图片描述
    当时当需要同时考虑多个参数时,考虑微分越大当前参数距离最优参数越远是一种不正确的想法,可见绿色的线中 c c c点相比于蓝色的线中 a a a点的微分值大,但 c c c距离最优解比 a a a近。
    在这里插入图片描述
    那么为了同时考虑好几个参数时,我们应该将描述一阶微分变化的二次微分也需要考虑进来. f r i s t ? d e r i v a t i v e s e c o n d ? d e r i v a t i v e \frac{frist \ derivative}{second \ derivative} second?derivativefrist?derivative?
    在这里插入图片描述
    在Adagrad中, σ t = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma^t=\sqrt{\frac{1} {t+1}\sum_{i=0}^t(g_i^t)^2} σt=t+11?i=0t?(git?)2 ?, 具有体现反差的效果。
    在这里插入图片描述
    我认为Adagrad具有这样的作用:损失函数在最优解处的微分值为0,在最优解附近的邻域内其他点处微分也应该较缓。Adagrad让一直陡峭突然变缓时,让函数快点走走,避免陷入局部最优解。一直平缓突然陡峭时让函数变慢点,别跨越最优解了。
  2. Stochastic Gradient Descent
    在这里插入图片描述
    在这里插入图片描述
  3. Feature Scaling
    归一化不同数据的分布,可以看出没有归一化是找最优解是需要拐弯才能到,但是绿色线直走就能到。
    在这里插入图片描述
    归一化的方法:
    在这里插入图片描述
    梯度下降法的背后理论基础
    假设在损失函数中,我们需要更新两个参数 θ 1 , θ 2 \theta_1,\theta_2 θ1?,θ2?.
    对于一个二阶可微函数 L ( θ 1 , θ 2 ) L(\theta_1,\theta_2) L(θ1?,θ2?),在 ( a , b ) (a,b) (a,b)附近的一个邻域内, L ( θ 1 , θ 2 ) L(\theta_1,\theta_2) L(θ1?,θ2?)可以被表述如下
    L ( θ 1 , θ 2 ) ≈ = s + u ( θ 1 ? a ) + v ( θ 2 ? b ) L(\theta_1,\theta_2)\approx=s+u(\theta_1-a)+v(\theta_2-b) L(θ1?,θ2?)=s+u(θ1??a)+v(θ2??b)
    其中 s = L ( a , b ) s=L(a,b) s=L(a,b), u = ? L ( a , b ) ? θ 1 u=\frac{\partial L(a,b)}{\partial\theta_1} u=?θ1??L(a,b)?, v = ? L ( a , b ) ? θ 2 v=\frac{\partial L(a,b)}{\partial\theta_2} v=?θ2??L(a,b)?
    在这里插入图片描述

那么为了使得整体的L最小,我们就需要
把向量 ( ( θ 1 ? a ) , ( θ 2 ? b ) ) ((\theta_1-a) ,(\theta_2-b)) ((θ1??a),(θ2??b))置于与 ( u , v ) (u,v) (u,v)相反。
在这里插入图片描述
在这里插入图片描述
红色圈的半径就是学习率 η \eta η。当红色圈过大时, L ( θ 1 , θ 2 ) ≈ = s + u ( θ 1 ? a ) + v ( θ 2 ? b ) L(\theta_1,\theta_2)\approx=s+u(\theta_1-a)+v(\theta_2-b) L(θ1?,θ2?)=s+u(θ1??a)+v(θ2??b)就会误差过大。

图源:李宏毅机器学

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:08:28  更:2021-09-18 10:10:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 14:41:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码