激励函数:
有人说翻译成“激活函数”(activation function)会更好,因为主要作用是分割数据,判断该“神经”是否被激活。比如说,当你判断面前的动物是否是一只猫的时候,你会从各个部分去判断。比如眼睛,当你觉得确实像猫的眼睛时,判断眼睛的神经数值会特别高,如果觉得比较像,则会相对低一点,在神经网络算法中,可以说,激励函数就是分割这个神经判断是与否的准则。
某些数据是可以被线性分割的,但是也有很多数据是不可被线性分割的,因此,激励函数也是多种多样的。
三层神经网:
以下是一个最简单的三层神经网络结构,代码中都有注释,输入层,隐藏层,输出层。其中,输入层,输出层为1个神经元,隐藏层为10个神经元,并且训练1000次。目的是为了让x_data数据与y_data数据进行拟合。
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
def add_layer(inputs,in_size,out_size,activation_function=None): #activation_function=None线性函数
Weights = tf.Variable(tf.random_normal([in_size,out_size])) #Weight中都是随机变量
biases = tf.Variable(tf.zeros([1,out_size])+0.1) #biases推荐初始