关闭

July深度学习笔记之神经网络与反向传播算法

标签: 神经网络深度学习
947人阅读 评论(1) 收藏 举报
分类:

July深度学习笔记之神经网络与反向传播算法

一、神经网络

神经网络的大致结构如下;

image

大致可以分为输入层、隐藏层与输出层。

而我们可以单独拿出来一个结点,可以发现,其实它就是类似一个逻辑回归(LR),这样的单独一个节点我们把它称之为“感知机”,而这样单独的一个节点与逻辑回归的区别就在于,当它做完线性函数之后,还要在本结点上经历“激活函数”(也叫做激励函数)。那么为什么我们需要这个激活函数呢?

  • 首先,每一个神经元对输入进行的操作如果就仅仅是Wx+b,那么到了下一个神经元其实就是W1(Wx+b)+ b1,这样下去,叠加更多的层不能完成非线性变换,而仍然是线性变换,只是改变系数而已。
  • 其次,激活函数的作用你可以把它理解成对信号的一种过滤和筛选,以及以多大程度地让这种信号向下层传递。

image

如果神经网络的层数比较少,只添加了少量的隐层,这样的神经网络是浅层神经网络(SNN)。如果增加很多的隐层,这样的神经网络叫做深层神经网络(DNN)。

实际上,神经网络在分类问题上表现效果较好,尤其是在逻辑回归和SVM很难解决的非线性可分问题上。

下图是利用简单的单个神经元完成“逻辑与”操作的实例:
实际上,单个的神经元就对应二维空间上的一条直线,类似地,单个神经元也可以完成“逻辑或”的操作,只需要调整参数分别为-10,20,20即可。

image

So,仅仅通过线性分类器的“与”和“或”的组合,我们就可以实现对平面样本点的分布进行完全分类。

神经网络表达力与过拟合问题

  • 理论上说单隐层神经网络可以逼近任何连续函数(只要隐层的神经元个数足够多)。
  • 虽然从数学上看表达能力一致,但是多隐藏层的神经网络比单隐藏层的神经网络工程效果好很多。
  • 对于一些分类数据(比如CTR预估里),3层神经网络效果优于2层神经网络,但是如果把层数再不断增加(4,5,6层),对最后结果的帮助就没有那么大的跳变了。
  • 图像数据比较特殊,是一种深层(多层次)的结构化数据,深层次的卷积神经网络,能够更充分和准确地把这些层级信息表达出来。
  • 提升隐层层数或者隐层神经元个数,神经网络“容量”会变大,空间表达力会变强。
  • 过多的隐层和神经元节点,会带来过拟合问题。
  • 不要试图通过降低神经网络参数量来减缓过拟合,用正则化或者dropout。

二、反向传播算法

我们刚刚提到的激励函数,常用的有sigmoid函数等等,sigmoid函数图像如下:

image

而反向传播算法如何理解呢?实际上反向传播算法的目的在于优化参数W和偏置b,首先初始化参数W和b,然后正向传播求得“损失”-即此时和正确值的差值,然后“反向传播”回传误差,根据误差信号来修正每层的权重。

image

实际上,反向传播算法做的事情就是为了求偏导。而参数更新还是用到了梯度下降算法。

下面举一个例子来说明反向传播算法的过程和参数更新的过程:

首先进行前向运算:

image

然后求得偏导:

image

然后根据梯度下降更新参数权值:

image

image

可以看出,反向传播算法就是这样的一个求导、导数连乘过程,求得导数,再根据梯度下降法优化,更新权重。这就是神经网络的训练过程。

0
0
查看评论

七月算法(julyedu.com)5 月深度学习班学习笔记-第一节数学基础

关于数学在机器学习中的重要性: 程博是这样说的------ 不错,数学是算法的基础,没有好的数学根基是不能触碰到算法的根源,但是我认为一般非数学专业的人适可而止,不要太迷恋数学,我们大部分人,了解微积分、矩阵等就可以了 1.梯度 了解机器学习的同学肯定不陌生这个名词,认为很高大上。其实没那么...
  • cd0601
  • cd0601
  • 2016-05-24 22:31
  • 1773

July深度学习笔记之图像检测、NeuralStyle

July深度学习笔记之图像检测、NeuralStyle
  • sunpeng19960715
  • sunpeng19960715
  • 2016-12-24 23:01
  • 767

神经网络和反向传播算法推导

注:由于自己画图实在太难画,本文中基本所有插图来源于算法团子机器学习班,请勿转载 1.普通的机器学习模型: 其实,基本上所有的基本机器学习模型都可以概括为以下的特征:根据某个函数,将输入计算并输出。图形化表示为下图: 当我们的g(h)为sigmoid函数时候,它就是一个逻辑回归的分类器。当g(h...
  • u014403897
  • u014403897
  • 2015-06-03 16:11
  • 5789

前馈神经网络与反向传播算法(推导过程)

前馈神经网络与反向传播算法(推导过程)
  • u010089444
  • u010089444
  • 2016-09-16 14:49
  • 7992

王小草【深度学习】笔记第一弹--神经网络

【深度学习】笔记第一弹–神经网络王小草深度学习笔记课程来自:寒小阳 笔记整理者:王小草 时间:2016/08/15 欢迎交流:qq:1057042131
  • sinat_33761963
  • sinat_33761963
  • 2016-08-16 12:33
  • 2562

Coursera吴恩达《神经网络与深度学习》课程笔记(5)-- 深层神经网络

上节课我们主要介绍了浅层神经网络。首先介绍神经网络的基本结构,包括输入层,隐藏层和输出层。然后以简单的2 layer NN为例,详细推导了其正向传播过程和反向传播过程,使用梯度下降的方法优化神经网络参数。同时,我们还介绍了不同的激活函数,比较各自优缺点,讨论了激活函数必须是非线性的原因。最后介绍了神...
  • red_stone1
  • red_stone1
  • 2017-09-22 14:08
  • 2614

多层神经网络与反向传播算法

如感知机详解中所论述的那样,单个感知器仅能表示线性决策面。相反,反向传播算法所学习的多层网络能够表示种类繁多的非线性曲面。如图1所示,该图描述了一个典型的多层网络和它的决策曲面。这个语音识别任务要区分出现在“h_d”上下文中的10种元音(例如,“hid”,“had”,“head”,“hood”等)。...
  • qq_28168421
  • qq_28168421
  • 2016-12-08 18:17
  • 788

神经网络训练中的Tricks之高效BP(反向传播算法)

神经网络训练中的Tricks之高效BP(反向传播算法)zouxy09@qq.comhttp://blog.csdn.net/zouxy09        Tricks!这是一个让人听了充满神秘和好奇的词。对于我们这些所谓的尝试应用机器学习技术解决某些...
  • zouxy09
  • zouxy09
  • 2015-04-26 14:36
  • 53198

Deep Learning 学习笔记(三):神经网络反向传播算法推导

神经网络反向传播算法的推导
  • arsenicer
  • arsenicer
  • 2015-02-08 20:04
  • 2605

深度下降法轨迹-七月算法(julyedu.com)4 月机器学习算法班学习笔记

课程大纲 一般的有约束优化问题 凸优化问题 证明深度下降法的轨迹是正交的深度下降法步骤细化了下降步进的计算公式课程大纲核心思想:把问题转换为凸优化问题一般的有约束优化问题等式约束 不等式约束 KKT: 有约束优化问题的解的必要条件; KKT可以用于求约束优化问题的极值点; 相对于无约束时,...
  • zhzhji440
  • zhzhji440
  • 2016-05-12 00:16
  • 1126
    个人资料
    • 访问:111793次
    • 积分:1651
    • 等级:
    • 排名:千里之外
    • 原创:67篇
    • 转载:2篇
    • 译文:0篇
    • 评论:38条
    最新评论