TensorFlow从0到1之TensorFlow实现单层感知机(20)
简单感知机是一个单层神经网络。它使用阈值激活函数,正如 Marvin Minsky 在论文中所证明的,它只能解决线性可分的问题。虽然这限制了单层感知机只能应用于线性可分问题,但它具有学习能力已经很好了。
当感知机使用阈值激活函数时,不能使用 TensorFlow 优化器来更新权重。我们将不得不使用权重更新规则:

η 是学习率。为了简化编程,当输入固定为 +1 时,偏置可以作为一个额外的权重。那么,上面的公式可以用来同时更新权重和偏置。
下面讨论如何实现单层感知机:
- 导入所需的模块:

 - 定义要使用的超参数:

 - 指定训练数据。在这个例子中,取三个输入神经元(A,B,C)并训练它学习逻辑 AB+BC:

 - 定义要用到的变量和用于计算更新的计算图,最后执行计算图:

 - 以下是上述代码的输出:

 
那么,如果使用 Sigmoid 激活函数,而不是阈值激活函数,会发生什么?你猜对了,首先,可以使用 TensorFlow 优化器来更新权重。其次,网络将表现得像逻辑回归。
TensorFlow从0到1之TensorFlow实现单层感知机(20)的更多相关文章
- TensorFlow从0到1之TensorFlow优化器(13)
		
高中数学学过,函数在一阶导数为零的地方达到其最大值和最小值.梯度下降算法基于相同的原理,即调整系数(权重和偏置)使损失函数的梯度下降. 在回归中,使用梯度下降来优化损失函数并获得系数.本节将介绍如何使 ...
 - TensorFlow从0到1之TensorFlow Keras及其用法(25)
		
Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,你可以编译和拟合模型.之后,它可以用于预测.变量声明.占位 ...
 - TensorFlow从0到1之TensorFlow多层感知机函数逼近过程(23)
		
Hornik 等人的工作(http://www.cs.cmu.edu/~bhiksha/courses/deeplearning/Fall.2016/notes/Sonia_Hornik.pdf)证明 ...
 - TensorFlow从0到1之TensorFlow实现反向传播算法(21)
		
反向传播(BPN)算法是神经网络中研究最多.使用最多的算法之一,它用于将输出层中的误差传播到隐藏层的神经元,然后用于更新权重. 学习 BPN 算法可以分成以下两个过程: 正向传播:输入被馈送到网络,信 ...
 - TensorFlow从0到1之TensorFlow常用激活函数(19)
		
每个神经元都必须有激活函数.它们为神经元提供了模拟复杂非线性数据集所必需的非线性特性.该函数取所有输入的加权和,进而生成一个输出信号.你可以把它看作输入和输出之间的转换.使用适当的激活函数,可以将输出 ...
 - TensorFlow从0到1之TensorFlow逻辑回归处理MNIST数据集(17)
		
本节基于回归学习对 MNIST 数据集进行处理,但将添加一些 TensorBoard 总结以便更好地理解 MNIST 数据集. MNIST由https://www.tensorflow.org/get ...
 - TensorFlow从0到1之TensorFlow csv文件读取数据(14)
		
大多数人了解 Pandas 及其在处理大数据文件方面的实用性.TensorFlow 提供了读取这种文件的方法. 前面章节中,介绍了如何在 TensorFlow 中读取文件,本节将重点介绍如何从 CSV ...
 - TensorFlow从0到1之TensorFlow超参数及其调整(24)
		
正如你目前所看到的,神经网络的性能非常依赖超参数.因此,了解这些参数如何影响网络变得至关重要. 常见的超参数是学习率.正则化器.正则化系数.隐藏层的维数.初始权重值,甚至选择什么样的优化器优化权重和偏 ...
 - TensorFlow从0到1之TensorFlow多层感知机实现MINIST分类(22)
		
TensorFlow 支持自动求导,可以使用 TensorFlow 优化器来计算和使用梯度.它使用梯度自动更新用变量定义的张量.本节将使用 TensorFlow 优化器来训练网络. 前面章节中,我们定 ...
 
随机推荐
- vscode环境配置(三)——解决控制台终端中文输出乱码
			
由于系统终端默认编码为GBK,所以需要修改为UTF-8 方法一 打开cmd输入chcp查看编码格式,查看以及修改如下图所示: 方法二
 - 29-3 union的使用
			
联合结果集union (集合运算符) -------------------------使用union联合结果集---------------- select tsname,tsgender,tsag ...
 - Java——多线程基础知识
			
多线程进程和线程的区别:每一个进程拥有自己的一整套变量,而线程则共享数据.java.lang.Thread static void sleep(long millis) 线程休眠给定的毫秒数,用 ...
 - CSS 伪选择器 focus-within 介绍
			
CSS中的 :focus-within 伪选择器可有点"不寻常",尽管它的名称看上去很简单,而且相当直观.但它的解释是:选择一个包含具有:focus 的任何子元素的元素.有点绕是不 ...
 - Java IO(十五)FilterReader 和 FilterWriter、FilterReader 子类 PushBackReader
			
Java IO(十五)FilterReader 和 FilterWriter.FilterReader 子类PushBackReader 一.介绍 FilterReader 和 FilterWrite ...
 - css 图片宽度、居中、倒影
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - LM NTML NET-NTLM2理解及hash破解
			
LM Windows Vista / Server 2008已经默认关闭,在老版本可以遇到,但根据windwos的向下兼容性,可以通过组策略启用它(https://support.microsoft. ...
 - Web-从Java Request对象到HTTP协议
			
https://mp.weixin.qq.com/s/PjcA22STEDGwRxVQweObQQ Java Web中的Request对象是哪里来的?Response对象的角色是什么? Java We ...
 - jchdl - GSL实例 - Add
			
https://mp.weixin.qq.com/s/6xcYYdYZTBPTf25xFluzBQ 使用FullAdder级联实现加法器 参考链接: https://github.com/wj ...
 - Java IO实现文件(及文件夹)的复制 原创代码【精】
			
单个文件复制 FileInputStream input=new FileInputStream("C://360//fay.jpg"); FileOutputStream out ...