学习笔记TF011:多层神经网络
线性回归、对数几率回归模型,本质上是单个神经元。计算输入特征加权和。偏置视为每个样本输入特征为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:多层神经网络的更多相关文章
- CNN学习笔记:卷积神经网络
CNN学习笔记:卷积神经网络 卷积神经网络 基本结构 卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像.音频等.卷积神经网络通过卷积(convolution)操作.汇合(pooling)操作 ...
- thinkphp学习笔记7—多层MVC
原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...
- 【学习笔记】循环神经网络(RNN)
前言 多方寻找视频于博客.学习笔记,依然不能完全熟悉RNN,因此决定还是回到书本(<神经网络与深度学习>第六章),一点点把啃下来,因为这一章对于整个NLP学习十分重要,我想打好基础. 当然 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...
- 学习笔记TF026:多层感知机
隐含层,指除输入.输出层外,的中间层.输入.输出层对外可见.隐含层对外不可见.理论上,只要隐含层节点足够多,只有一个隐含层,神经网络可以拟合任意函数.隐含层越多,越容易拟合复杂函数.拟合复杂函数,所需 ...
- 深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)
一.卷积 卷积神经网络(Convolutional Neural Networks)是一种在空间上共享参数的神经网络.使用数层卷积,而不是数层的矩阵相乘.在图像的处理过程中,每一张图片都可以看成一张“ ...
- 【学习笔记】卷积神经网络 (CNN )
前言 对于卷积神经网络(cnn)这一章不打算做数学方面深入了解,所以只是大致熟悉了一下原理和流程,了解了一些基本概念,所以只是做出了一些总结性的笔记. 感谢B站的视频 https://www.bili ...
- 学习笔记TF027:卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN),可以解决图像识别.时间序列信息问题.深度学习之前,借助SIFT.HoG等算法提取特征,集合SVM等机器学习算法识别图像 ...
- 学习笔记CB010:递归神经网络、LSTM、自动抓取字幕
递归神经网络可存储记忆神经网络,LSTM是其中一种,在NLP领域应用效果不错. 递归神经网络(RNN),时间递归神经网络(recurrent neural network),结构递归神经网络(recu ...
随机推荐
- 老李分享:大数据测试之HDFS文件系统
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...
- Java集合总结系列2:Collection接口
Collection 接口是 Java 集合类的一个根接口,Java 在 Collection 接口中定义了许多通用的数据操作类方法以及判断类方法. 通过查看 API 文档或源码的方式,我们可以了解到 ...
- EDP转换IC NCS8801S:RGB/LVDS转EDP芯片
RGB/LVDS-to-eDP Converter1 Features Embedded-DisplayPort (eDP) Output 2-lane/4-lane eDP @ 1.62 ...
- 达到工业使用质量级别的类似于QQ截屏的软件
到网上查找截屏发现基本都是一些小孩子的初级玩意,功能强大一点的又没有源代码所以自己花了三四天时间写了一个能达到工业使用质量级别的截图控件. 优点:1.代码量小只有1500行代码 2.结构清晰简单极易于 ...
- JavaEE开发之Spring中的条件注解组合注解与元注解
上篇博客我们详细的聊了<JavaEE开发之Spring中的多线程编程以及任务定时器详解>,本篇博客我们就来聊聊条件注解@Conditional以及组合条件.条件注解说简单点就是根据特定的条 ...
- 处理json数据的空数据为任意字符
处理json数据的空数据为任意字符 有时候从后台返回来的数据需要处理一下,根据实际开发需求,不能在页面上直接显示空字符,需要显示为"无内容"或者其他字段,而有些json数据结构比较 ...
- Redis数据类型之列表List
Redis列表简介 Redis列表是简单的字符串列表,一个列表最多可以包含 232 - 1 个元素.列表按照插入顺序排序,可以从列表的头部或者尾部添加元素 上图演示了使用LPUSH向列表中插入元素,并 ...
- 纯JS实现图片验证码功能并兼容IE6-8
最近要搞一个图片验证码功能,但是又不想自己写后台代码.于是自己准备搞一个纯前端的验证码功能,于是网上搜索了一下,找到一个插件gVerify.js,简单好用,实现完美.不过后面接到说要兼容IE8,想想也 ...
- golang环境
Golang是谷歌开发的一款开源性语言,暂时比较方便的IDE有Inteillj Idea.LiteIDE.Eclipse(Golipse)等,使用起来比较方便的IDE:LiteIDE和Inteillj ...
- CF #365 703D. Mishka and Interesting sum
题目描述 D. Mishka and Interesting sum的意思就是给出一个数组,以及若干询问,每次询问某个区间[L, R]之间所有出现过偶数次的数字的异或和. 这个东西乍看很像是经典问题, ...