Tensorflow学习之神经网络基础知识

tensorflow学习之神经网络基础知识。

神经网络的特点

  • 输入向量的维度和输入神经元的个数相同

  • 每个连接都有个权值

  • 同一层神经元之间没有连接

  • 由输入层,隐层,输出层组成

  • 第N层与第N-1层的所有神经元连接,也叫全连接

image-20200906083546008

神经网络的组成

结构(Architecture)例如,神经网络中的变量可以是神经元连接的权重

激励函数(Activity Rule)大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值。

学习规则(Learning Rule)学习规则指定了网络中的权重如何随着时间推进而调整。(反向传播算法

image-20200906083851192

浅层人工神经网络模型

Mnist数据集神经网络分析

image-20200906084052536

image-20200906084100716

one-hot编码分析

image-20200906084127553

image-20200906084137415

one-hotAPI介绍

image-20200906085538745

获取数据

from tensorflow.examples.tutorials.mnist import input_data

mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)

SoftMax回归

公式:

image-20200906085731760

image-20200906085745200

image-20200906085756092

image-20200906085844132

全连接-从输入直接到输出

特征加权:

  • tf.matmul(a, b,name=None)+bias

  • return:全连接结果,供交叉损失运算

  • 不需要激活函数(因为是最后的输出)

如何去衡量神经网络的损失?

损失计算

交叉熵损失公式:

image-20200906090134458

yi’ 为神经网络结果,yi为真实结果。每个类别都有一个损失结果最后需要求平均损失

SoftMax计算、交叉熵

tf.nn.softmax_cross_entropy_with_logits(labels=None,logits=None,name=None)

计算logits和labels之间的交叉损失熵

  • labels:标签值(真实值)

  • logits:样本加权之后的值

  • return:返回损失值列表

损失值列表平均值计算:tf.reduce_mean(input_tensor)

  • 计算张量的尺寸的元素平均值
其他方法-损失下降API

tf.train.GradientDescentOptimizer(learning_rate):梯度下降优化

  • learning_rate:学习率,一般为

  • minimize(loss):最小化损失

  • return:梯度下降op

准确性计算

1、equal_list = tf.equal(tf.argmax(y, 1), tf.argmax(y_label, 1))

2、accuracy = tf.reduce_mean(tf.cast(equal_list, tf.float32))

image-20200906090610603

image-20200906090626376

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2020 WuXei Si
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信