简单的单层神经网络详解完整版,训练和测试单层网络代码示例

1.神经网络的组成:
结构(例如神经网络中权重,神经元等)
激活函数
学习规则(指定网络中的权重如何随着时间推进而调整(反向传播算法))
2.神经网络的API模块
在使用tensorflow时候,tf.nn, tf.layers, tf.contrib模块有很多功能是重复的。
tf.nn:提供神经网络相关操作的支持,包括卷积操作(conv)、池化操作(pooling)、归一化、loss
分类操作、embedding、RNN、Evaluation
tf.layers:主要提供的高层的神经网络,主要和卷积相关的,对tf.nn的进一步封装
tf.contrib:tf.contrib.layers提供能够将计算图中的网络层、正则化、摘要操作、是构建计算图的高级操作,但是tf.contrib包不稳定以及一些实验代码
3.softMax
用来计算每个分类的可能概率,和sigmoid一样
简单的单层神经网络详解完整版,训练和测试单层网络代码示例_第1张图片

4.全连接层
就是隐藏层的最后一层,输出层的前一层
5.正向传播和反向传播
正向传播:输出经过一层层的计算得出输出
反向:从损失计算开始,梯度下降更新权重,即通过误差来调整权重,使得差异减小
6.计算损失的方法
不同算法不一样:
简单的单层神经网络详解完整版,训练和测试单层网络代码示例_第2张图片

7.单层神经网络图示:
简单的单层神经网络详解完整版,训练和测试单层网络代码示例_第3张图片

8.训练和测试单层神经网络,(using mnist data set)

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
from tensorflow_core.python.training import saver

FlAGS=tf.compat.v1.app.flags.FlAGS
tf.compat.v1.app.flags.DEFINE_integer("is_train", 1,"指定程序是预测还是训练")
def full_connected():
    #获取真实的数据:
    mnist = input_data.read_data_sets("./data/mnist/input_data/", one_hot=True)
    #1.建立数据的占位符 x [None, 784]
    with tf.compat.v1.variable_scope("data"):
        x = tf.compat.v1.

你可能感兴趣的:(深度学习,神经网络,tensorflow,深度学习,python,算法)