从零推导神经网络之入门篇

从零推导神经网络之入门篇

什么是神经网络?

可以先看逼乎这个问题下的答案:(https://www.zhihu.com/question/22553761)。

在有了基本概念后(没有也ojbk),我们往下走。

为了实现上述分类功能,我们可以采用如下的一种模型:

假设输入向量为,我们让输出为y=1或y=0(二分类问题)

以垃圾邮件识别为例,输入向量即为每个词汇出现的次数(频率),让输出y=1为垃圾邮件,为普通邮件。

【Tips:这种分类模型可以使用感知器或者逻辑回归(感兴趣的可以看历史文章了解更多)】

这种单个的模型,我们将其称为神经元,模型所使用的方法,称为激活函数。通过激活函数对输入向量的计算,我们就能得到分类结果(第二部分有解释)。

单个神经元能应付很多日常的问题,但是,有时候,单独的一个神经元并不能实现某些功能,如。

然而机智的人们发现,用两个神经元拼接起来就能实现这个功能。

进一步的,多个神经元,很多个神经元,非常多个神经元,当一家人整整齐齐团团圆圆时,我们虽然不知道发生了什么,但他们就是可以实现很神奇的功能。

所以,神经网络就引入了出来。

同样的输入,同样的输出,只不过过程变得复杂,让很多个神经元一起工作,其中一些神经元为另一些神经元服务罢了。

·神经网络的基础函数

1、Sigmoid函数

在神经网络中,我们一般采用Sigmoid函数作为激活函数。

Sigmoid函数也称为Logistic函数,它可以将数字转换到区间(0,1)之间,并且具有可求导等良好的数学特征。

【TIPS:感兴趣的可以看Logistic Regression逻辑回归】

函数公式:

函数图像:

然后,我们来看看PPT的这张图(emmm,其实画的挺好的)。这是一个神经元的计算例子:

具体点的例子,仍然是上面那个孤独的神经元:(两张图片是等价的)

每个神经元发生了两步:

每一层的神经元都这样计算一遍~

这就是前向传播,简单的1b,套公式就行:

这就是前向传播。

额外的,Sigmoid函数求导(后面要用):

2、损失函数

在一般模型中,我们都会定义一个Cost Function损失函数

这样的模型中,最优化问题最小化损失函数。

【TIPS:感兴趣的可以看看Gradient Descent梯度下降

Convex optimization凸优化】

为了方便计算,神经网络中,我们定于Cost Function为

【TIPS:真的只是为了方便计算,因为平方误差对于逻辑回归是非凸的)】

(损失函数可以理解为真实值与预测值的差,故只看输出层)

·后项传播推导

Emmm,是这样的,我们站在宏观上来看,如果要使一个模型尽量好,那么我们认为可以调节的只有参数,所以后向传播是“用来调整参数的值”从而“提高模型精度”。

比如:

PPT的这个ANN中,InputVector输入向量已经确定了,为(1,0,1),我们要做的就是调整

这些玩意儿,从而使输出和预期的一样。

开始推导:

单个神经元如下:

我们来看看,对于一个神经元(PPT中的神经元6),他的输入我们当成是Z(PPT中为I),(bias跟着别人跑路了,就不管他了),通过激活函数,那么输出是。

时刻记住,后向传播本质只是链式求导

我们定义每个结点的误差(the error at each node),也就是PPT中的Err

(Z=PPT中的I)。

【这就是Err的数学来源】

这么做1是因为,方便后续计算,2是因为对输入求导符合直观理解。

以输出层为例子:神经元j(可以直接替换成j=6)Err6的来源:

同样的,各个隐藏层也是这么推导的

对于神经元4,就是神经元4的输入():

推导出来后,那么对各个参数的导数就很容易得到啦~比如:

,一阶求导就是答案

最后,就是更新权重(即w家族了)

PPT上直接更新了参数值:l是步长;

为什么这么做呢,感兴趣的查查看梯度下降法,我就不多讲了,不感兴趣的知道公式为:

即可。

——————————————————————————————————

GG,看到这,也大概知道放弃了吧!

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

ECCV 2018 | UBC&腾讯AI Lab提出首个模块化GAN架构,搞定任意图像PS组合

作者:Bo Zhao、Bo Chang、Zequn Jie、Leonid Sigal

12210
来自专栏智能算法

理解这25个概念,你的人工智能,深度学习,机器学习才算入门!

人工智能,深度学习,机器学习—无论你在做什么,如果你对它不是很了解的话—去学习它。否则的话不用三年你就跟不上时代的潮流了。 ——马克.库班 马克.库班的这个观点...

365130
来自专栏企鹅号快讯

深度学习VGG模型核心拆解

如今深度学习发展火热,但很多优秀的文章都是基于经典文章,经典文章中的一句一词都值得推敲和分析。此外,深度学习虽然一直被人诟病缺乏足够令人信服的理论,但不代表我们...

82580
来自专栏深度学习之tensorflow实战篇

MODELER C5.0

摘要: 机器学习在各个领域都有广泛的应用,特别在数据分析领域有着深远的影响。决策树是机器学习中最基础且应用最广泛的算法模型。本文介绍了机器学习的相关概念、常见的...

38160
来自专栏人工智能头条

决策树算法介绍及应用

14630
来自专栏新智元

CVPR清华大学研究,高效视觉目标检测框架RON

【新智元导读】当前最好的基于深度网络的目标检测框架可以分为两个主要方法流派:基于区域的方法(region-based)和不基于区域(region-free)的方...

42670
来自专栏和蔼的张星的图像处理专栏

DSST详解

有一段时间没有看tracking了,前面一个月老师没有找,我也没有看文章,主要去看c++和cs231n去了。上周一老师找了我一次,于是赶紧把tracking又拾...

23420
来自专栏语言、知识与人工智能

transformer框架概述

3.6K90
来自专栏数据科学与人工智能

【概念】深度学习25个概念,值得研读

小编邀请您,先思考: 深度学习有哪些重要概念,怎么理解? 深度学习和机器学习有什么异同? 人工智能,深度学习,机器学习—无论你在做什么,如果你对它不是很了解的话...

22970
来自专栏人工智能的秘密

拆解VGGNet网络模型在分类和定位任务上的能力

下面我们将对2014年夺得ImageNet的定位第一和分类第二的VGG网络进行分析,在此过程中更多的是对这篇经典文章的感性分析,希望和大家共同交流产生共鸣,如果...

55890

扫码关注云+社区

领取腾讯云代金券