前馈神经网络作为深度学习基础中的基础,是很多同学入门深度学习的必经之路。由于马上要迎来考试复习周,在这里简单记录一下学习心得。

感知机模型

感知机(perceptron)是深度学习中最基本的元素,很多模型的构成需要它的参与。感知机的结构如下:

其中X1,X2... Xn为模型输入,每一个Xi代表了一个特征。在上图的模型中,其接收了4个特征作为输入。Y为模型输出,给出模型分类结果。其中间计算过程如下:

其中为权重向量,为偏置。等同于。sign为符号函数,其计算方法如下:

其作用是将计算结果按照任务要求分为两类。

感知机模型的工作过程可以简单的理解为接收特征作为输入,通过权重和偏置与特征进行计算,并不断调整权重值和偏置值,对目标进行分类。

感知机模型可以学习出一下几种分类方式:

对于一个两个特征的样本的二分类问题,其数据和分类可以可视化在一个平面上。

(1)与门

输入和输出的关系如下:

x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 1

可以可视化为:

感知机模型可以很轻松的通过一条直线将两类区分,图中的斜线为感知机模型产生的分类线。

(2)或门

输入和输出的关系如下:

x1 x2 y
0 0 0
0 1 0
1 0 0
1 1 1

可以可视化为:

感知机模型同样可以通过一条直线将样本分为两类。

(3)异或门

输入和输出的关系如下:

x1 x2 y
0 0 1
0 1 0
1 0 0
1 1 1

可以可视化为:

由图可以看出感知机模型不能够通过一条直线将样本分为两类,那么需要如何应对此类的分类问题呢?

我们已知异或门是由与门和或门拼接组成,其组成结构可以视为:

因此,只需要采用两层的感知机结构就可以解决异或问题。分类结果可以可视化为:

此外,对于更复杂的分类问题,多层感知机模型在理论上都可以找到分类方法。而通过堆叠多层感知机,就得到了我们要讲的前馈神经网络。

前馈神经网络

为了让多层感知机模型进行可以自主优化,需要引入反向传播算法。反向传播算法使多层神经网络成为了可能,算法具体内容可以参考:反向传播算法。

其中输入层接收输入数据,隐藏层会逐层提取提取数据特征,再在输出层上分类输出。其中每一个细胞的工作原理都与感知机模型相似。模型计算方法如下:

其中为激活函数。在没有激活函数时,模型的输出只会是输入的线性组合。而激活函数可以引入非线性因素,使模型输出更加复杂,从而提升模型的表达能力。

在这里总结一下我对激活函数作用的简单理解。在未添加激活函数时,在二维平面上的分类线只会是直线的组合。当数据集需要用到特定的曲线进行分类时,比如分类曲线形状可能类似字母“S”,那么需要堆叠很多层的神经网络来产生很多小段直线去拟合“S”曲线。在添加激活函数后,模型本身的输出就是非线性的,因此在二维平面上的分类线可以是曲线。只需要较少层数的神经网络就可以完成对上述任务的拟合。

常见的激活函数有Sigmoid,Relu,tanh等,之后有机会闲下来再总结。

深度学习入门——前馈神经网络相关推荐

  1. 水很深的深度学习-Task03前馈神经网络

    本文参考 Datawhale:水很深的深度学习 深度学习(四)-前馈神经网络_未名湖畔的落叶-CSDN博客_前馈神经网络 神经元模型   在前馈神经网络中,各神经元分别属于不同的层.每一层的神经元可以 ...

  2. 深度学习3 前馈神经网络

    深度学习3 前馈神经网络 目录 深度学习3 前馈神经网络 1. 神经元模型(M-P) (1)公式 (2)运算 (3)结构 2. 感知机模型 (1)单层感知机 (2)多层感知器 (3)BP算法 1. 神 ...

  3. 深度学习:前馈神经网络

    对深度学习(或称神经网络)的探索通常从它在计算机视觉中的应用入手.计算机视觉属于人工智能领域,因深度学习技术而不断革新,并且计算机视觉的基础(光强度)是用实数来表示的,处理实数正是神经网络所擅长的. ...

  4. 深度学习之前馈神经网络(前向传播和误差反向传播)

    转自:https://www.cnblogs.com/Luv-GEM/p/10694471.html 这篇文章主要整理三部分内容,一是常见的三种神经网络结构:前馈神经网络.反馈神经网络和图网络:二是整 ...

  5. 深度学习(四)-前馈神经网络

      在前馈神经网络中,各神经元分别属于不同的层.每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层.第 0 层叫输入层,最后一层叫输出层,其它中间层叫做隐藏层,相邻两层的神经元之间为全连 ...

  6. 【深度学习】前馈神经网络

    一.前馈神经网络 思维导图 线性问题分为两个: 1.与门 IN IN OUT 1 1 1 1 0 0 0 1 0 0 0 0 2.或门 IN IN OUT 1 1 1 1 0 1 0 1 1 0 0 ...

  7. 猿创征文|深度学习基于前馈神经网络完成鸢尾花分类

    大家我是猿童学!这次给大家带来的是基于前馈神经网络完成鸢尾花分类! 在本实验中,我们使用的损失函数为交叉熵损失:优化器为随机梯度下降法:评价指标为准确率. 一.小批量梯度下降法 在梯度下降法中,目标函 ...

  8. 深度学习入门之神经网络的学习思维导图

    第4章 神经网络的学习思维导图

  9. 深度学习入门之神经网络的学习

    文章目录 从数据中学习 数据驱动 一种方案 训练数据和测试数据 损失函数 均方误差 交叉熵误差 mini-batch学习 数值微分 导数 数值微分的例子 偏导数 求解两个关于偏导数的例子 题目一 题目 ...

最新文章

  1. 天玑机器人颈椎_烟台一女子车祸致颈椎重度骨折 骨科机器人助力救治
  2. 读入excel中的数据到数据库中
  3. Quartz.net持久化与集群部署开发详解
  4. 四边偏移lisp_双向偏移lisp
  5. 怎样把颜色转换为字符串
  6. MVC4 WebAPI
  7. Linux中Postfix邮件发送配置(三)
  8. kylinH5框架之项目脚手架
  9. html怎么做模糊条纹,如何使用纯CSS实现彩虹条纹文字的效果
  10. 详解Python操作Excel文件
  11. redis bio线程任务队列
  12. Uinttest +excel结合使用--详细讲解
  13. 伴鱼DQC数据质量平台实践
  14. 学习webbench需要掌握的基础知识(webbench源代码学习心得)
  15. javascript判断给定字符串是否是回文
  16. java基础总结06-常用api类-BigDecimal-精确计算
  17. 记录小新pro13 Intel版(S540-13IML)安装hackintosh的一些要点
  18. 方立勋_30天掌握JavaWeb_Web开发入门
  19. 顺序表实验——顺序表的基本操作
  20. @OneToMany mappedBy

热门文章

  1. python音频转数组_Python生成音乐 之 读取midi转换为数组
  2. 数据运营系列(三):熵权法如何确定指标权重构建评价体系
  3. 【通知】博客搬家通知
  4. PyQt5学习Ⅵ(自定义部件和俄罗斯方块)
  5. 对Request-ID的一些认识
  6. 三星智能手表Galaxy Gear惹争议
  7. android 上传图片进度条,Android带进度条的文件上传示例(使用AsyncTask异步任务)...
  8. linux系统cpu内存等资源查看top命令详解
  9. 电脑网速慢怎么解决?4个方法有效提升电脑网速!
  10. js判断输入的是否为数字