1、分类问题(交叉熵):
(1)模型:
(2)代码1:
其中,tf.clip_by_value是将一个张量的数值限制在一个范围之内,若小于1e-10则赋值为1e-10,若大于1.0则赋值为1,这样避免出现log0这种错误或大于1的概率。
reduce_mean()函数是取对一个batch的交叉熵取平均运算。reduce_mean计算之前得到的结果是一个n×m的二维矩阵【每一个样本的每一类别交叉熵】,其中n为一个batch中样本数量,m为分类的类别数量。交叉熵模型中应将每行中的m个结果相加得到所有样本的交叉熵,然后再对这n行取平均得到一个batch的平均交叉熵。
代码2:
2、回归问题:(MSE)
(1)模型:
(2)代码:
(y代表神经网络的输出答案,y_代表了标准答案)
3、自定义损失函数:
(1)模型:
(2)代码: