线性回归、对数几率回归模型,本质上是单个神经元。计算输入特征加权和。偏置视为每个样本输入特征为1权重,计算特征线性组合。激活(传递)函数 计算输出。线性回归,恒等式(值不变)。对数几率回归,sigmoid。输入->权重->求和->传递->输出。softmax分类含C个神经元,每个神经元对应一个输出类别。

XOR异或运算,无法通过线性模型解决。sigmoido类型神经元要求数据线性可分。2D数据存在直线,高维数据存在超平面,把不同类别样本分隔。

在神经网络输入和输出之间插入更多神经元,解决非线性可分问题。输入层->隐含层(hidden layer)->输出层->输出。隐含层使网络可以对输入数据提出更多问题。隐含层每个神经元对应一个问题,依据问题回答最终决定输出结果。隐含层在数据分布图允许神经网络绘制以一条以上分隔线。每条分隔线向输入数据划分提出问题,所有相等输出划分到单个区域。深度学习,添加更多隐含层,可采用不同类型连接,使用不同激活函数。

梯度下降法,找到函数极值点。学习,改进模型参数,大量训练,损失最小化。梯度下降法寻找损失函数极值点。梯度输出偏导数向量,每个分量对应函数对输入向量相应分量偏导。求偏导,当前变量外所有变量视为常数,用单变量求导法则。偏导数度量函数输出相对特定输入变量的变化率,当输入变量值变化,输出值的变化。损失函数输入变量指模型权值,不是实际数据集输入特征。相对于推断模型每个权值。
梯度输出向量表明每个位置损失函数增长最快方向,在函数每个位置向哪个方向移动函数值可增长。点表示权值当前值。梯度向右箭头表示为增加损失需向右移动,简头长度表示向右移动函数值增长量。反方向移动,损失函数值减少。直到梯度模为0,达到损失函数极小值点。
学习速率(learning rate)缩放梯度。梯度向量长度在损失函数单元中,缩放与权值相加。学习速率是超参数(hyperparameter),模型手工可配置设置,需指定正确值。太小,需要多轮迭代。太大,超调(overshooting),永远找不到极小值点。用tf.summary.scalar函数在TensorBoard查看损失函数值变化曲线。
局部极值点问题,通过权值随机初始化,增加靠近全局最优点附近开始下降机会。损失函数所有极值点接近等价。
tf.gradients方法,符号计算推导指定流图步骤梯度以张量输出。梯度下降法取决输入数据形状及问题特点。

误差反向传播算法,计算损失函数相对网络权值偏导,每层导数都是后一层导数与前一层导输出积。前馈,从输入开始,逐一计算隐含层输出,直到输出层。计算导数,从输出层逐一反向传播。复用所有已完成计算元素。

Sigmoid隐含层,softmax输出层以及带反向传播梯度下降,是最基础构件。

参考资料:
《面向机器智能的TensorFlow实践》

欢迎加我微信交流:qingxingfengzi
我的微信公众号:qingxingfengzigz
我老婆张幸清的微信公众号:qingqingfeifangz

学习笔记TF011:多层神经网络的更多相关文章

  1. CNN学习笔记:卷积神经网络

    CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...

  2. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

  3. 【学习笔记】循环神经网络(RNN)

    前言 多方寻找视频于博客.学习笔记,依然不能完全熟悉RNN,因此决定还是回到书本(<神经网络与深度学习>第六章),一点点把啃下来,因为这一章对于整个NLP学习十分重要,我想打好基础. 当然 ...

  4. [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法

    前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...

  5. 学习笔记TF026:多层感知机

    隐含层,指除输入.输出层外,的中间层.输入.输出层对外可见.隐含层对外不可见.理论上,只要隐含层节点足够多,只有一个隐含层,神经网络可以拟合任意函数.隐含层越多,越容易拟合复杂函数.拟合复杂函数,所需 ...

  6. 深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)

    一.卷积 卷积神经网络(Convolutional Neural Networks)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...

  7. 【学习笔记】卷积神经网络 (CNN )

    前言 对于卷积神经网络(cnn)这一章不打算做数学方面深入了解,所以只是大致熟悉了一下原理和流程,了解了一些基本概念,所以只是做出了一些总结性的笔记. 感谢B站的视频 https://www.bili ...

  8. 学习笔记TF027:卷积神经网络

    卷积神经网络(Convolutional Neural Network,CNN),可以解决图像识别.时间序列信息问题.深度学习之前,借助SIFT.HoG等算法提取特征,集合SVM等机器学习算法识别图像 ...

  9. 学习笔记CB010:递归神经网络、LSTM、自动抓取字幕

    递归神经网络可存储记忆神经网络,LSTM是其中一种,在NLP领域应用效果不错. 递归神经网络(RNN),时间递归神经网络(recurrent neural network),结构递归神经网络(recu ...

随机推荐

  1. Codeforces 765E. Tree Folding [dfs][树形dp]

    题解:先从节点1开始dfs.对于每一个节点,用一个set记录:以该点为根的子树的深度. a) 如果此节点的某个子节点打出了GG,则此节点直接打出GG. b) 若set的元素个数<=1,那么,以该 ...

  2. [原]node.js使用感想

    最近尝试了使用node.js,但因为不是太深入(小项目,还没做完),所以不能谈心得谈经验,就来谈谈使用感想. node.js和以往的cgi接口的服务器+cgi程序(如apache+phpmod)中的单 ...

  3. 自动化测试培训:qtp脚本获取获取汇率数据

    poptest(www.poptest.cn)致力于测试开发工程师的培训,以培养能胜任做测试工具开发,完成自动化测试,性能测试,安全性测试等工作能力为目标.自8月份成立2个月内中针对企业在职人员的能力 ...

  4. MVC 5 + EF6 完整教程15 -- 使用DI进行解耦

    如果大家研究一些开源项目,会发现无处不在的DI(Dependency Injection依赖注入). 本篇文章将会详细讲述如何在MVC中使用Ninject实现DI 文章提纲 场景描述 & 问题 ...

  5. 裴波那序列-JAVA实现

    编程输出:裴波那序列,1000项,int会越界! BigInteger  [] pArr=new BigInteger [10000];           pArr[0]=new BigIntege ...

  6. 【HDOJ 1085】数学问题,母函数

    Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Ja ...

  7. Docker改名为Moby了吗?

    背景 在DockerCon17上,Docker发布了两个新的开源项目LinuxKit和Moby.而原来在Github上托管的docker也随着PR #32691的合入正式变为Moby.这究竟是什么情况 ...

  8. OpenGL 的空间变换(上):矩阵在空间几何中的应用

    在使用 OpenGL 的应用程序中,当我们指定了模型的顶点后,顶点依次会变换到不同的 OpenGL 空间中,最后才会被显示到屏幕上.在变换的过程中,通过使用矩阵,我们更高效地来完成这些变换工作. 本篇 ...

  9. Web.简单配置

    XML 元素不仅是大小写敏感的,而且它们还对出现在其他元素中的次序敏感.所有这些元素都是可选的.因此,可以省略掉某一元素,但不能把它放于不正确的位置. icon icon元素指出IDE和GUI工具用来 ...

  10. linq 为什么要用linq linq写法

    LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...