在神经网络的最后一层总用到的激活函数为softmax和sigmoid。 在经过以上 激活函数后,线性回归选用均方误差为损失函数,逻辑回归选择交叉熵为损失函数。以下代码使用tensorflow实现。
softmax激活函数:用在多分类,一个输入只能有一个输出,输出标签独立(onehot类型标签,只有一个为1,其他都是0)),如猫狗大战一张图像,识别结果非猫即狗。
tensorflow 实现 tf.nn.sigmoid(logits),自己定义实现如下
def Sigmoid_( logits ):
date = tf.cast(logits,tf.int32)
result = []
with tf.Session() as sess:
date = sess.run(date)
for i in date:
sig = round(1/(1+math.exp(-i)),6 )
result.append(sig)
return result
sigmoid激活函数:用在多标签,即输入一张图像,可以同时多标签种类为1,如一张图像即有猫又有狗标签中含有两个1.