tensorflow框架基础之损失函数
来源:互联网 发布:淘宝网男土劳动包 编辑:程序博客网 时间:2024/05/17 22:20
激活函数
激活函数去线性化
常见的激活函数有sigmoid()
,tanh()
,ReLU,关于激活函数的一些作用参考activation function
在tensorflow中,实现上述函数的代码:
tf.nn.sigmoid()tf.nn.tanh()tf.nn.relu()
传统损失函数
监督学习的两大类
- 分类问题:将不同的样本划分到已知的类别当中
多分类中,神经网络对每个样本产生一个n维数组作为输出结果,代表每个样本属于各类别的可能性。当然,如果是one-hot coding,那么输出应该只有所属类别的维度值是1,在其余类别的维度是0.
如何判断输出y
与真实值y_truth
有多接近?
常用方法:交叉熵cross_entropy
,它描述了两个概率分布之间的距离,当交叉熵越小说明二者之间越接近
交叉熵定义,概率
cross_entropy = -tf.reduce_mean(y_ * tf.log(tf.clip_by_value(y, 1e-10, 1.0)))# y_:真实值,y:原始输出# tf.reduce.mean函数求解平均数# tf.clip_by_value函数将一个张量的数值限制在一个范围内,上面代码将 q 的值限制在(1e-10, 1.0)之间
但是,网络的输出不一定是概率分布,因此需要将网络前向传播的结果转换成概率分布。常用方法是Softmax回归
.tensorflow中,Softmax回归
只作为一层额外的处理层,进行概率分布的转换。转换公式:
式中原始的网络输出是
tensorflow
将cross_entropy
与softmax
统一封装实现了softmax
后的cross_entropy
损失函数cross_entropy = tf.nn.softmax_cross_entropy_with_logits(y, y_)
- 回归问题:对具体数值的预测
如房价预测、销量预测等问题需要预测的是一个任意实数,其网络输出只有一个节点,也即是预测值。
常用的损失函数:均方误差(MSE, mean squared error)
其中batch中的第
mse = tf.reduce.mean(tf.squared(y_ - y))# y_:正确值,y:预测值
自定义损失函数
自定义的损失函数通常更加符合所应用的场景,如在销量预测中,我们对预测值与正确值之间的大小关系作为损失调整的条件,那么得到类似下面的式子:
在tensorflow中实现
loss = tf.reduce.sum(tf.select(tf.greater(v1, v2), a*(v1-v2), b*(v1-v2)))
# a>b时,m=True,否则m=Falsem = tf.greater(a, b)# m=True时,执行func1;m=False时,执行func2tf.select(m, func1, func2)
阅读全文
0 0
- tensorflow框架基础之损失函数
- TensorFlow之损失函数、学习率、正则
- Tensorflow 损失函数定义
- TensorFlow损失函数专题
- TensorFlow自定义损失函数
- tensorflow学习之损失函数设置和参数优化
- tensorflow中损失函数总结
- [tensorflow损失函数系列]sigmoid_cross_entropy_with_logits
- [tensorflow损失函数系列]weighted_cross_entropy_with_logits
- [tensorflow损失函数系列]softmax_cross_entropy_with_logits
- [tensorflow损失函数系列]sparse_softmax_cross_entropy_with_logits
- Tensorflow实现经典损失函数
- TensorFlow四种损失函数
- 10、TensorFLow 中的损失函数
- tensorflow框架基础之Tensor
- tensorflow框架基础之Session
- tensorflow框架基础之Variable
- tensorflow04 《TensorFlow实战Google深度学习框架》笔记-04-02自定义损失函数
- MVC 和 MVP 的对比
- 工厂模式从无到有
- 【文本超出显示为省略号】
- Android MediaMuxer录像(支持G711音频)
- 常用 Android 开发者选项与卡顿原因
- tensorflow框架基础之损失函数
- 1
- AR移动应用开发(二) Unity工程嵌入Android
- 2
- Cookie
- Linux下使用f.lux软件
- 【Java集合源码剖析】ArrayList源码剖析
- Java Annotation 学习(1)
- Sort Colors