4.2损失函数的定义

本节将具体介绍如何刻画不同神经网络模型的效果

神经网络模型的效果以及优化的目标是通过损失函数来定义的

4.2.1讲解适用于分类问题和回归问题的经典损失函数

4.2.2介绍如何根据具体问题定义损失函数

4.2.1经典损失函数

分类问题和回归问题是监督学习的两大种类

在3.4.5小节中,已经通过TensorFlow实现过交叉熵,其代码如下:

其中y_代表正确结果,y代表预测结果.

这一行代码包含了四个不同的运算.

(1)tf.clip_by_value函数可以 将一个张量中的数值限制在一个范围之内,以避免一些运算错误

(2)tf.log函数,这个函数完成对张量中所有元素依次求对数,以下是一个简单的样例:

(3)第三个运算时乘法(元素相乘 *,矩阵相乘用tf.matmul,此处时元素相乘),下面给出了这两个操作的区别

通过上面三个运算完成了对于每一个样例中的每一个类别交叉熵p(x) = logq(x)的计算

这三部步得到一个n x m的二维矩阵,n为一个batch中样例的数量,m为分类的类别数量

以下代码展示了tf.reduce_mean函数的使用方法:

因为交叉熵一般会与softmax回归一起使用,所以TensorFlow对这两个功能进行了统一封装

并提供了tf.nn_softmax_cross_entropy_with_logits函数.

可以直接通过下面的代码来时间使用了softmax回归之后的交叉熵损失函数

 

 

与分类问题不同,回归问题解决的是对具体数值的预测,比如房价,销量预测等

这些问题需要预测的不是一个事先定义好的类别,而是一个任意实数

解决回归问题的神经网络一般只有一个输出节点,这个节点就是预测值

对于回顾问题,最常用的损失函数是均方误差,它的定义如下:

4.2.2自定义损失函数

以预测商品销量为例,来介绍如何自定义损失函数

因为一般商品的成本和利润不会严格相等,所以使用4.2.1小节中介绍的均方误差损失函数就

不能够很好的最大化销售利润

比如一个商品的成本是1元,利润是10元,那么少预测一个就少挣10元,而多预测一个才少挣1元

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值