TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

时间:2024-11-10 11:06:50

1、分类问题(交叉熵):

(1)模型:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

(2)代码1:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

其中,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:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

2、回归问题:(MSE)

(1)模型:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

(2)代码:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

(y代表神经网络的输出答案,y_代表了标准答案)

3、自定义损失函数:

(1)模型:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数

 (2)代码:

TensorFlow+实战Google深度学习框架学习笔记(6)----神经网络经典损失函数