惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
罗磊的独立博客
Martin Fowler
Martin Fowler
博客园_首页
Stack Overflow Blog
Stack Overflow Blog
Last Week in AI
Last Week in AI
The GitHub Blog
The GitHub Blog
B
Blog
C
Check Point Blog
WordPress大学
WordPress大学
G
Google Developers Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
量子位
月光博客
月光博客
U
Unit 42
Engineering at Meta
Engineering at Meta
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 【当耐特】
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Jina AI
Jina AI
S
Secure Thoughts
aimingoo的专栏
aimingoo的专栏
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
Latest news
Latest news
V
Vulnerabilities – Threatpost
D
Docker
Attack and Defense Labs
Attack and Defense Labs
Help Net Security
Help Net Security
S
Security @ Cisco Blogs
Forbes - Security
Forbes - Security
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
Cloudbric
Cloudbric
Spread Privacy
Spread Privacy

RAIS

LSTM - 长短期记忆网络 - RAIS 三种梯度下降算法的区别(BGD, SGD, MBGD) - RAIS PCA - 主成分分析法 - RAIS Sigmoid 函数 - RAIS | Blog 深度学习中的正则化(一) - RAIS | Blog 深度前馈网络 - RAIS | Blog 构建机器学习算法 - RAIS | Blog 随机梯度下降 - RAIS | Blog 无监督学习算法 - RAIS | Blog 监督学习算法 - RAIS | Blog 最大似然估计与最大后验估计 - RAIS | Blog 估计、偏差和方差 - RAIS | Blog 超参数、验证集和K-折交叉验证 - RAIS | Blog 过拟合和欠拟合 - RAIS | Blog 机器学习算法 - RAIS | Blog 深度学习中的信息论 - RAIS | Blog 深度学习中的概率论 - RAIS | Blog 深度学习中的线性代数 - RAIS | Blog 深度学习最佳实践 - RAIS | Blog
深度学习中的数值计算 - RAIS | Blog
2020-03-28 · via RAIS

前言

本系列文章为《Deep Learning》读书笔记,可以参看原书一起阅读,效果更佳。

​数值计算

机器学习算法需要大量的数字计算,并且这些计算包含有一些迭代拟合的过程,在这个计算过程中,由于计算机的局限,无法完全精确的表示,因此总是存在误差的,小的误差经过迭代次数的增多,或者多个误差的叠加,甚至会使得算法不可用,系统失效。

上溢和下溢

  • 下溢:在现有的精度无法表示那么小的数的时候,接近零的数四舍五入为零时,会发生下溢。
  • 上溢:在现有的精度无法表示那么大的数的时候,数过大被近似为无限大的时候,会发生上溢。

解决办法:softmax 函数,也称 归一化指数函数,是逻辑函数的一种推广,将任意实数的 K 维向量映射到另外一个 K 维空间内,使得每一个元素都在 (0, 1) 之间。这里的 归一化 与之前在房价预测中提到的 标准化 不是一个概念(标准化对数据进行某种非线性变换,使其服从某一种分布,归一化对数值的范围进行缩放,不改变数据分布的一种线性变换)。

$$
softmax(x)_i=\frac{e^{x_i}}{\sum _{j=1}^ne^{x_j}}
$$

病态条件(poor conditioning)

这个词我觉得翻译不准确,但是大家都喜欢这么叫暂且先这么叫吧。一般来说这个概念针对的是方程组或矩阵,微小的扰动让方程组的解发生巨大的变化,这样的方程组称为病态方程组,他们的系数组成的矩阵叫病态矩阵。

与之相关的还有一个概念叫 条件数:函数相对于输入的微小变化而变化的程度,可以理解为一种敏感度。计算方法是求矩阵极大和极小特征值之比。

$$
\max_{i,j}=|\frac{\lambda_i}{\lambda_j}|
$$

基于梯度的优化方法

这个概念要分几步去理解。对于深度学习算法,往往会定义出很多函数,针对具体的问题,我们往往需要让某些函数的函数值尽可能的小或大,求最大值极值,我们往往求导(针对多个变量,这里的求导包括求偏导和方向导数),也会求梯度。梯度下降 指的是往梯度方向相反方向移动一个小距离来减小函数值的方法。这里还有极小值、极大值、驻点、最大值、最小值等概念,不再赘述。

雅可比矩阵(Jacobian)

在向量分析中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵,它的重要性是体现了一个可微分方程与给出点的最优线性逼近。

$$
J_{i,j}=\frac{\partial}{\partial x_j}f(x)_i
$$

海森矩阵(Hessian)

函数有多维输入时,二维导数有很多,将其合为一个矩阵,就是海森矩阵,等价于梯度的雅可比矩阵。

$$
H(f)(x)_{i,j} = \frac{\partial^2}{\partial x_i\partial x_j}f(x)
$$

一个点在每个方向上的二阶导数是不同的,海森的条件数衡量这些二阶导数的变化范围,当海森的条件数变得很差时,梯度下降法也会表现得很差,在 牛顿法 中,我们用海森矩阵指导搜索,来解决上面这个问题。

  • 二阶导数测试:一阶导数等于 0,二阶导数大于零是一个极小值点;一阶导数等于 0,二阶导数小于零是一个极大值。
  • 仅使用梯度信息的优化算法称为 一阶优化算法,使用海森矩阵的优化算法称为 二阶优化算法

总结

这一部分的内容涉及东西比较多,书中的内容还包括一些推导和解释,看上文看的不是很清楚的请阅读原书,那就不是我的笔力所能讲清楚的了。

到此本书中关于应用数学相关的内容就结束了,这本书确实挺难的,想要放弃了吗?

  • 本文首发自公众号:RAIS