notions:单个神经元、BP算法(误差反向传播算法):learning rate
激活函数【了解定义域、值域、图形】
softmax算法、损失函数
1.激活函数
Sigmoid函数tf.nn.sigmoid(x,name=None)
tanh函数:tf.nn.tanh(x,name=None)
Sigmoid与tanh存在饱和问题,所以输入不能够无限大
ReLU函数:运算简单,但正向传播中负值全部舍去,特征不能训练
tf.nn.relu(features,name=None)
tf.nn.relu6(features,name=None)
Swish函数:
def Swish(x,beta=1):
return x*tf.nn.sigmoid(x*beta)
2.softmax算法
主要应用于多分类问题(只能属于一个类)
常用的分类函数
tf.nn.softmax(logits,name=None)
tf.nn.log_softmax(logits,name=None)
★损失函数–用真实值与预测值的距离指导模型的收敛方向
均值平方差(MSE)和交叉熵
交叉熵:预测输入样本属于某一类的概率
loss函数
均值平方差可自行定义,交叉熵常有Sigmoid交叉熵、softmax交叉熵、Spare交叉熵
3.梯度下降
帮助寻找最小的损失值,反推出模型中的b和w
梯度下降法:批量梯度下降、随机梯度下降、小批量梯度下降
tf.train.GradientDesentOptimizer()
tf.train.AdamOptimizer() #常用的两种梯度算法
退化学习率:在速度与精确度之间找到平衡
def exponential_decay(learning_rate,global_step,decay_steps,decay_rate)
#学习率的衰减速度由global_rate&decay_steps
属于单层神经网络,仅能解决线性可分的问题