[原创] 如何防止softmax函数上溢出(overflow)和下溢出(underflow)

转载请注明出处:https://www.codelast.com/

Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这里我再详细地把它总结一下。… Read More

[原创]Machine Learning/机器学习 文章合集

转载请注明出处:https://www.codelast.com/

『1』用人话解释机器学习中的Logistic Regression(逻辑回归)

『2』《Neural Networks and Deep Learning》读书笔记:最简单的识别MNIST的神经网络程序(1)

『3』《Neural Networks and Deep Learning》读书笔记:反向传播的4个基本方程(1)

『4』如何防止softmax函数上溢出(overflow)和下溢出(underflow)

『5』To be added...… Read More

[原创] 用人话解释机器学习中的Logistic Regression(逻辑回归)

转载请注明出处:http://www.codelast.com/
友情提示:如果觉得页面中的公式显示太小,可以放大页面查看(不会失真)。

Logistic Regression(或Logit Regression),即逻辑回归,简记为LR,是机器学习领域的一种极为常用的算法/方法/模型。
你能从网上搜到十万篇讲述Logistic Regression的文章,也不多我这一篇,但是,就像我写过的最优化系列文章一样,我仍然试图用“人话”来再解释一遍——可能不专业,但是容易看得懂。那些一上来就是几页数学公式什么的最讨厌了,不是吗?
所以这篇文章是写给完全没听说过Logistic Regression的人看的,我相信看完这篇文章,你差不多可以从无到有,把逻辑回归应用到实践中去。… Read More

[原创] 再谈 牛顿法/Newton's Method In Optimization

转载请注明出处:http://www.codelast.com/

牛顿法是最优化领域的经典算法,它在寻优的过程中,使用了目标函数的二阶导数信息,具体说来就是:用迭代点的梯度和二阶导数对目标函数进行二次逼近,把二次函数的极小点作为新的迭代点,不断重复此过程,直到找到最优点。… Read More

[原创] 再谈 最速下降法/梯度法/Steepest Descent

转载请注明出处:http://www.codelast.com/

最速下降法(又称梯度法,或Steepest Descent),是无约束最优化领域中最简单的算法,单独就这种算法来看,属于早就“过时”了的一种算法。但是,它的理念是其他某些算法的组成部分,或者说是在其他某些算法中,也有最速下降法的“影子”。因此,我们还是有必要学习一下的。
我很久以前已经写过一篇关于最速下降法的文章了,但是这里我还打算再写一篇,提供更多一些信息,让大家可以从更简单生动的方面去理解它。… Read More

[原创]高等数学笔记(23)

转载请注明出处:http://www.codelast.com/

【前言】
请看此文
要查看高等数学笔记合集,请看这里

【正文】
<定义2> 设函数 f(x){x_0} 点的左侧 [{x_0} + \Delta x,{x_0}]\Delta x < 0 )有定义,如果极限 \mathop {\lim }\limits_{\Delta x \to {0^ - }} \frac{{f({x_0} + \Delta x) - f({x_0})}}{{\Delta x}} 存在,则称此极限为 f(x){x_0} 点的左导数,记为 {{f'}_ - }({x_0}) = \mathop {\lim }\limits_{\Delta x \to {0^ - }} \frac{{f({x_0} + \Delta x) - f({x_0})}}{{\Delta x}}Read More

[原创]高等数学笔记(22)

转载请注明出处:http://www.codelast.com/

【前言】
请看此文
要查看高等数学笔记合集,请看这里

【正文】

第3章 导数与微分

(1)由于自变量 x 的变化引起函数 y = f(x) 变化的“快慢”问题——函数的变化率/导数。
(2)由于自变量的微小改变(增量 \Delta x 很小时)引起 y = f(x) 的改变量 \Delta y 的近似值问题——微分问题。
(3)求导数或微分——微分法。… Read More

[原创]使用一维搜索(line search)的算法的收敛性

转载请注明出处:http://www.codelast.com/

在最优化领域中,有一类使用一维搜索(line search)的算法,例如牛顿法等。这类算法采用的是 确定搜索方向→进行一维搜索→调整搜索方向→进行一维搜索 的迭代过程来求解。那么,这类算法应该满足什么条件的时候才能收敛?本文将略为讨论一下。请务必看清本文的标题:不是讨论line search的收敛性,而是讨论使用line search的算法的收敛性。… Read More

[原创]用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则

转载请注明出处:http://www.codelast.com/

line search(一维搜索,或线搜索)是最优化(Optimization)算法中的一个基础步骤/算法。它可以分为精确的一维搜索以及不精确的一维搜索两大类。
在本文中,我想用“人话”解释一下不精确的一维搜索的两大准则:Armijo-Goldstein准则 & Wolfe-Powell准则。
之所以这样说,是因为我读到的所有最优化的书或资料,从来没有一个可以用初学者都能理解的方式来解释这两个准则,它们要么是长篇大论、把一堆数学公式丢给你去琢磨;要么是简短省略、直接略过了解释的步骤就一句话跨越千山万水得出了结论。
每当看到这些书的时候,我脑子里就一个反应:你们就不能写人话吗?… Read More

[原创]一维搜索中的划界(Bracket)算法

转载请注明出处:http://www.codelast.com/

很多最优化算法需要用到一维搜索(line search)子算法,而在众多的一维搜索算法中,大多数都要求函数被限制在一个单峰区间内,也就是说,在进行一维搜索的区间内,函数是一个单峰函数。尽管有一些改进的一维搜索算法(例如 H\ddot opfinger 建议的一种改进过的黄金搜索算法)可以处理函数非单峰的情况,但是,在没有确定函数在一个区间内是单峰的之前,即使在搜索过程中,函数值持续减小,我们也不能说极小值是一定存在的,因此,找出一个区间,在此区间之内使函数是单峰的,这个过程是必需的(我更倾向于接受这种观点)。这个过程就叫作划界Bracket)。Bracket这个单词是括号的意思,很形象——用括号包住一个范围,就是划界。在某些书中,划界算法也被称为进退法。… Read More