【神经网络】
.
Giyn
个人博客:https://giyn.work
联系邮箱:[email protected]
展开
-
【神经网络】{10} ——梯度检测
前面我们讨论了如何在神经网络中使用前向传播和反向传播来计算导数,但是反向传播算法含有许多细节,因此实现起来比较困难,并且它有一个不好的特性,很容易产生一些微妙的bug,当它与梯度下降或是其他算法一同工作时,看起来它确实能正常运行,并且代价函数J(θ)在每次梯度下降的迭代中也在不断减小。在反向传播的实现中存在一些bug,但运行情况看起来确实不错,然而虽然J(θ)在不断减小,但是到了最后,你得到的神...原创 2020-02-25 10:04:43 · 761 阅读 · 1 评论 -
【神经网络】{9} ——神经网络参数的展开
前面分析了怎样使用反向传播算法计算代价函数的导数。此处分析一个细节的实现过程:怎样把参数从矩阵展开成向量,以便在高级最优化步骤中的使用需要。具体来讲,我们执行了代价函数,输入参数是 theta,函数返回代价值以及导数值:然后我们可以将返回值传递给高级最优化算法 fminunc:当然 fminunc 并不是唯一的算法fminunc 的功能是取出这些输入值,即 @costFun...原创 2020-02-24 12:57:49 · 611 阅读 · 1 评论 -
【神经网络】{8} ——神经网络学习算法总体实现过程
关于神经网络学习算法,还有许多需要补充的,此处只是做一个不完整的概括。大体内容为神经网络学习算法总体回顾、相互之间有怎样的联系,以及神经网络学习算法的总体实现过程。在训练一个神经网络时,要做的第一件事就是选择一种网络架构(神经元之间的连接模式):我们该如何做出选择呢?首先,我们已经定义了输入单元的数量,一旦确定了特征集x,输入单元的数量就等于特征x^(i)的维度,输入单元数目...原创 2020-02-22 12:06:39 · 1012 阅读 · 1 评论 -
【神经网络】{7} ——理解反向传播
为了更好地理解反向传播,先进一步地研究一下前向传播的过程:这是一个含2个输入单元的神经网络结构(没有把偏置单元算进去),第二层有2个隐藏单元,再下一层也有2个,最后只有一个输出单元。在进行前向传播时,我们的样本,比如(x^ (i),y^ (i)),把这个x^ (i)传到输入层中。z(2)_1和 z(2) _2是输入单元的加权和。然后将sigmoid逻辑函数,还有sigmoid激活...原创 2020-02-21 11:47:54 · 623 阅读 · 1 评论 -
【神经网络】{6} ——反向传播
此处开始讲解一个算法来尝试优化神经网络结构的代价函数。这是一个让代价函数最小化的算法——反向传播算法。首先来看一下神经网络的代价函数:要做的就是设法找到参数θ,使得J(θ)取到最小值,为了使用梯度下降法或者其他某种高级优化算法,需要做的就是写一段代码,这段代码获得输入参数θ,并计算J(θ)和这些偏导项:神经网络里对应的参数Θ_ij^(l)∈R(都是实数)。为了计算代价函数J(θ)...原创 2020-02-20 11:30:51 · 373 阅读 · 1 评论 -
【神经网络】{5} ——神经网络的代价函数
此处开始谈论一个学习算法,它能在给定训练集时,为神经网络拟合参数。和我们讨论的大多数学习算法一样,我们将从拟合神经网络参数的代价函数开始讲起。重点讲解神经网络在分类问题中的应用。假设我们有一个与上图类似的神经网络结构:再假设我们有一个像这样的训练集:其中有m组训练样本(x ^(i), y ^(i))。用大写字母L来表示这个神经网络结构的总层数。(对于上图的网络结构,能够得出L =...原创 2020-02-20 00:31:30 · 2991 阅读 · 1 评论 -
【神经网络】{4} ——多元分类
如何利用神经网络解决多类别分类问题原创 2020-02-19 22:17:39 · 2351 阅读 · 1 评论 -
【神经网络】{3} ——计算复杂的非线性假设模型(1)
此处通过例子来展示神经网络是怎样计算复杂的非线性假设模型的。例子:这个网络只有一个输入特征x_1,还有一个偏置单元+1。现在用权重(参数),也就是+10和-20把这些单元连接起来:故假设模型为:故:观察得出的结果,会发现它确实实现了函数NOT x_1。若要实现逻辑非运算,大体思想就是在预期得到非结果的变量前面放一个很大的负权重(参数)。比如说-20乘以x_1,这就是对x_1做...原创 2020-02-19 18:07:47 · 394 阅读 · 1 评论 -
【神经网络】{2} ——计算复杂的非线性假设模型(0)
这里通过一个详细的例子,来说明神经网络是怎样计算复杂非线性函数的输入的,进而弄明白为什么神经网络可以用来学习复杂的非线性假设模型。例子:这里有x_1和x_2两个输入特征,它们都是二进制的,所以x_1和x_2只可能是0或1。在这个例子中,只画了2个正样本和2个负样本,但你可以把它看作是复杂的机器学习问题的一个简化版本,本来我们可能在右上方和左下方有许多个正样本,还有许多用圆圈表示的负样本...原创 2020-02-18 16:23:36 · 395 阅读 · 1 评论 -
【神经网络】{1} ——向量化、前向传播
上一篇博客中讲述了怎样用数学来定义或者计算神经网络的假设函数。现在来学习一下如何高效进行计算和向量化的实现方法。更重要的是,搞明白为什么这样是表示神经网络的好的方法,并且明白它们如何帮助我们学习复杂的非线性假设函数。以这个神经网络为例:计算出假设输出的步骤是上边的这些方程,通过这些方程,我们计算出三个隐藏单元的激活值,然后利用这些值来计算最终输出,假设函数h(x)。接下来,定义一...原创 2020-02-17 00:01:18 · 605 阅读 · 1 评论 -
【神经网络】{0} ——如何表示神经网络及其计算
背景:神经网络的起源是人们想尝试设计出模仿大脑的算法,它的理念就是,如果我们想要建立学习系统,那为什么不去模仿我们所认识的,最神奇的学习机器,人类的大脑呢?神经网络逐渐兴起于20世纪80、90年代,应用得非常广泛,但由于各种原因,在90年代的后期应用减少了。再次兴起的原因之一是神经网络的计算量较大,因此,大概到了近些年,计算机的运行速度变快,才足以运行大规模的神经网络。0、如何表示神经...原创 2020-02-16 16:25:40 · 465 阅读 · 1 评论