[2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)

TensorFlow Playground

http://playground.tensorflow.org

帮助更好的理解,游乐场Playground可以实现可视化训练过程的工具

TensorFlow Playground的左侧提供了不同的数据集来测试神经网络。默认的数据为左上角被框出来的那个。被选中的数据也会显示在最右边的 “OUTPUT”栏下。在这个数据中,可以看到一个二维平面上有红色或者蓝色的点,每一个小点代表了一个样例,而点的颜色代表了样例的标签。因为点的颜色只有两种,所以这是 一个二分类的问题。在这里举一个例子来说明这个数据可以代表的实际问题。假设需要判断某工厂生产的零件是否合格,那么蓝色的点可以表示所有合格的零件而红色的表示不合格的零件。这样判断一个零件是否合格就变成了区分点的颜色。

为了将一个实际问题对应到平面上不同颜色点的划分,还需要将实际问题中的实体, 比如上述例子中的零件,变成平面上的一个点。 这就是特征提取解决的问题。还是以零件为例, 可以用零件的长度和质量来大致描述一个零件。这样一个物理意义上的零件就可以被转化成长度和质量这两个数字。在机器学习中,所有用于描述实体的数字的组合就是一 个实体的特征向量(feature vector)特征向量的提取对机器学习的效果至关重要,通过特征提取,就可以将实际问题中的实体转化为空间中的点。假设使用长度和质量作为一个零件的特征向量,那么每个零件就是二维平面上的一个点。 TensorFlow Playground中 FEATURES 一栏对应了特征向量。 可以认为 x1代表零件的长度,而 x2代表零件的质量。

在二分类问题中,比如 判断零件是否合格,神经网络的输出层往往只包含一个节点,而这个节点会输出一个实数值。通过这个输出值和一个事先设定的阀值,就可以得到最后的分类结果。以判断零件合格为例,可以认为当输出的数值大于 0 时,给出的判断结果是零件合格,反之则零件不合格。一般可以认为当输出值距离阈值越远时得到的判断越可靠。

主流的神经网络主体结构都是分层的结构:

输入层 - 隐藏层 - 输出层

综上,使用神经网络解决分类或回归问题主要可以分为以下 4 个步骤:

1. 提取问题中实体的特征向量作为神经网络的输入。不同的实体可以提取不同的特征向量。

2. 定义神经网络的结构,并定义如何从神经网络的输入得到输出。这个过程就是神经网络的前向传播算法

3. 通过训练数据来调整神经网络中参数的取值,这就是训练神经网络的过程。

4. 使用训练好的神经网络来预测未知的数据。

前向传播算法

最简单的全连接网络结构的前向传播算法

原文地址:https://www.cnblogs.com/clemente/p/10260197.html

时间: 2024-08-29 07:26:54

[2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)的相关文章

tensorflow 2.0 学习 (七) 反向传播代码逐步实现

数据集为: 代码为: 1 # encoding: utf-8 2 3 import tensorflow as tf 4 import numpy as np 5 import seaborn as sns 6 import matplotlib.pyplot as plt 7 from sklearn.datasets import make_moons 8 # from sklearn.datasets import make_circles 9 from sklearn.model_sel

Back Propagation:反向传播

1. 前向传播和反向传播 ①前向传播  forward propagation:从前往后,根据输入和参数计算输出值和损失值,并将当地梯度(local gradient),即每个结点的输出值对该节点的输入值的偏导数,保留 在内存中以供反向传播计算梯度时使用,注意:前一个结点的输出是后一个结点的输入 ②反向传播 back propagation:从后往前,利用链式求导法则,计算损失函数值对各参数 / 输入值 / 中间值的偏导数 / 梯度,梯度下降法需要使用反向传播来计算梯度 在利用梯度下降法对权重矩

《神经网络和深度学习》系列文章十六:反向传播算法代码

出处: Michael Nielsen的<Neural Network and Deep Learning>,点击末尾“阅读原文”即可查看英文原文. 本节译者:哈工大SCIR硕士生 李盛秋 声明:如需转载请联系[email protected],未经授权不得转载. 使用神经网络识别手写数字 反向传播算法是如何工作的 热身:一个基于矩阵的快速计算神经网络输出的方法 关于损失函数的两个假设 Hadamard积 反向传播背后的四个基本等式 四个基本等式的证明(选读) 反向传播算法 反向传播算法代码

神经网络和深度学习之——误差反向传播算法

在讲解误差反向传播算法之前,我们来回顾一下信号在神经网络中的流动过程.请细细体会,当输入向量\(X\)输入感知器时,第一次初始化权重向量\(W\)是随机组成的,也可以理解成我们任意设置了初始值,并和输入做点积运算,然后模型通过权重更新公式来计算新的权重值,更新后的权重值又接着和输入相互作用,如此迭代多次,得到最终的权重. 信号向前传播,权重的更新反向传播,是这样吗? 是的,你的直觉没错,确实是反向传播. 1. 前馈的实质 反向传播这个术语经常被误解为用于多层神经网络的整个学习算法.实际上,反向传

循环神经网络(RNN)模型与前向反向传播算法

在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法,这些算法都是前向反馈的,模型的输出和模型本身没有关联关系.今天我们就讨论另一类输出和模型间有反馈的神经网络:循环神经网络(Recurrent Neural Networks ,以下简称RNN),它广泛的用于自然语言处理中的语音识别,手写书别以及机器翻译等领域. 1. RNN概述 在前面讲到的DNN和CNN中,训练样本的输入和输出是比较的确定的.但是有一类问题DNN和CNN不好解决,就是训练样本输入是连续的序列,且序列的长短不

DL学习笔记-反向传播算法的理解

作者:杜客链接:https://zhuanlan.zhihu.com/p/21407711来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Backprop Note,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃和巩子嘉进行校对修改.译文含公式和代码,建议PC端阅读. 原文如下: 内容列表: 简介 简单表达式和理解梯度 复合表达式,链式法则,反向传播 直观理解反向传播 模块:Si

《神经网络和深度学习》系列文章十五:反向传播算法

出处: Michael Nielsen的<Neural Network and Deep Learning>,点击末尾“阅读原文”即可查看英文原文. 本节译者:哈工大SCIR本科生 王宇轩 声明:如需转载请联系[email protected],未经授权不得转载. 使用神经网络识别手写数字 反向传播算法是如何工作的 热身:一个基于矩阵的快速计算神经网络输出的方法 关于损失函数的两个假设 Hadamard积 反向传播背后的四个基本等式 四个基本等式的证明(选读) 反向传播算法 反向传播算法代码

读懂反向传播算法(bp算法)

原文链接:这里 介绍 反向传播算法可以说是神经网络最基础也是最重要的知识点.基本上所以的优化算法都是在反向传播算出梯度之后进行改进的.同时,也因为反向传播算法是一个递归的形式,一层一层的向后传播误差即可,很容易实现(这部分听不懂没关系,下面介绍).不要被反向传播吓到,掌握其核心思想就很容易自己手推出来. 思想 我们知道神经网络都是有一个loss函数的.这个函数根据不同的任务有不同的定义方式,但是这个loss函数的目的就是计算出当前神经网络建模出来输出的数据和理想数据之间的距离.计算出loss之后

【MLP】多层感知机网络——BPN反向传播神经网络

BPN(Back Propagation Net) 反向传播神经网络是对非线性可微分函数进行权值训练的多层网络,是前向神经网络的一种. BP网络主要用于: 1)函数逼近与预测分析:用输入矢量和相应的输出矢量训练一个网络,逼近一个函数或预测未知信息: 2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来: 3)分类:把输入矢量以所定义的合适方式进行分类: 4)数据压缩:减少输出矢量维数以便于传输与存储. 比如,一个三层BPN结构如下: 由输入层.隐含层和输出层三层组成.其中每一层的单元与之相邻

深度学习与计算机视觉系列(5)_反向传播与它的直观理解

作者:寒小阳 && 龙心尘 时间:2015年12月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50321873 声明:版权所有,转载请联系作者并注明出处 1. 引言 其实一开始要讲这部分内容,我是拒绝的,原因是我觉得有一种写高数课总结的感觉.而一般直观上理解反向传播算法就是求导的一个链式法则而已.但是偏偏理解这部分和其中的细节对于神经网络的设计和调整优化又是有用的,所以硬着头皮写写吧. 问题描述与动机: 大家都知道的,其实我