tensorflow 细碎的概念

在程序中查看变量取值

在这里插入图片描述
这条语句的意思是,输出一个字符串,把其中的%s 换成双引号后面的变量name的取值,并且把name中的值按字符串格式输出,也就是把%s换成函数str(name)的返回值。%d代表按整数输出,%f代表按浮点数输出。

张量

张量在程序中定义中其实蕴含了两层含义:一是包含了对输入数据的计算操作,给张量赋值时等号右边的表达式就是这个操作;二是容纳了一个(一组)数据,也就是它的输出数据。总结来说,张量就是神经网络中神经元节点接收输入数据后经过一定计算操作输出的结果对象;张量在神经网络模型图中表现为各层的节点的输出数据。
在这里插入图片描述张量主要是用来存放节点的输出数据的

标量

对于一个普通的数字,我们给他一个名称,叫做标量,这个数可以是整数或浮点数

多维数组

不要把向量的维度和数组的维度这两个概念搞混了
向量中有几个数字,我们就把它叫做几维的向量,其中每一位数字叫做其中的一维。
多维数组中,除了最后一维是一个一维数组外,其他每一维都是包含数组作为内容项的,并且纬度越高,内容的包含项的纬度也就越高,例如,二维数组的第一维包含的内容项都是一维数组,而三维数组包含的内容项都是一个个二维数组。

用softmax函数来规范可变参数

softmax函数,它可以把一个向量规范化后得到一个新的向量,这个新向量中的所有数值相加起来保证为1

非数字列与数字列的转换

在这里插入图片描述
其中规定对序号3的为例(实际上是第四列)进行一个处理,如果处理的值等于是,那么就把输出的值改为“1.0”,否则就改为“0.0”

常见的优化神经网络结构的方法包括:增加神经元节点的数量、增加隐藏层的数量。全连接层应该是前后两层所有的节点之间都有连线,要想实现全连接的关系,就需要用到矩阵的乘法,在numpy包中的matmul函数就是用来进行矩阵乘法运算的。向量在计算机中的表达形式是一维数组,而矩阵是用二维数组来进行表示的,两个矩阵相乘,所得结果矩阵的形态是【前一矩阵的行数,后一矩阵的列数】

对于两层之间不同层的节点之间都有连接的关系的情况,我们就说这两层是全连接,对于神经网络中与上一层是全连接关系的层,叫做“全连接层”

如果把神经网络每一层的输出都看作矩阵,矩阵W的行数要等于上一层的输出矩阵的列数,W的列数就是本层神经元节点的数量,也是本层输出矩阵的列数。全连接层中的神经元节点数量可以和输入层节点数量不同,一般会让它多于输入层的节点数,以便实现更灵活的可变参数调整

对于结果是分类概率的情况,我们一般有更好的计算误差的方法,均方误差就是其中的一种,均方误差是指结果值向量中各数据项偏离目标值的距离平方和的平均数,也就是误差平方和的平均数。均方误差越大,越偏离目标值,均方误差越小,越接近目标值

在前面的实例中,已经使用sigmoid这个激活函数来进行神经网络的去线性化。sigmoid数的作用是把任意一个数字收敛到[0,1]的范围内,从而把一组的线性结构转换为非线性的数据。我们尝试用另一个激活函数tanh,tanh也是常常用到的一个去线性化的函数,tanh函数会把任何一个数字转换为[-1,1] 范围内的数字。

对神经网络进行优化:
1.增加隐藏层的神经元节点数量
2.增加隐藏层层数
3.适当调节学习率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值