交叉熵是一种损失函数,常用于分类问题中。

原文章讲的 很清楚:损失函数|交叉熵损失函数 - 知乎

如何用看下面这个例子:

#修改交叉熵;在做分类问题时,使用交叉熵迭代效果会更好,效率也更高
model.compile(optimizer = sgd,loss ='categorical_crossentropy',metrics=['accuracy'],
)

此处配置模型时将损失函数直接修改为交叉熵。

本文的例子是基于上一篇的MNIST手写数字识别来的,将损失函数修改为交叉熵,发现效果是更好的,接下来上代码。

import numpy as np
import tensorflow as tf
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense
from tensorflow.keras.optimizers import SGD
#载入数据
(x_train,y_train),(x_test,y_test)=mnist.load_data()
#
print('x_shape:',x_train.shape)
print('y_shape:',y_train.shape)
#格式化并归一化
x_train = x_train.reshape(x_train.shape[0],-1)/255.0
x_test = x_test.reshape(x_test.shape[0],-1)/255.0
#转玮one hot 格式;num_class为输出的类别
y_train = np_utils.to_categorical(y_train,num_classes=10)
y_test = np_utils.to_categorical(y_test,num_classes=10)#创建模型,输入784个神经元,输出10个神经元
model = Sequential([Dense(units =10,input_dim =784,bias_initializer='one',activation='softmax')
])
#定义优化器
sgd = SGD(lr=0.2)
#修改交叉熵;在做分类问题时,使用交叉熵迭代效果会更好,效率也更高
model.compile(optimizer = sgd,loss ='categorical_crossentropy',metrics=['accuracy'],
)#训练模型
model.fit(x_train,y_train,batch_size=32,epochs=10)#评估模型
loss,accuracy = model.evaluate(x_test,y_test)
print('\ntest loss',loss)
print('accuracy',accuracy)

结果如下:

上文使用mse作为损失函数时的准确度为0.917,本文使用交叉熵时准确度为0.922.

keras学习笔记--交叉熵相关推荐

  1. 深度学习中交叉熵_深度计算机视觉,用于检测高熵合金中的钽和铌碎片

    深度学习中交叉熵 计算机视觉 (Computer Vision) Deep Computer Vision is capable of doing object detection and image ...

  2. Keras学习笔记---保存model文件和载入model文件

    Keras学习笔记---保存model文件和载入model文件 保存keras的model文件和载入keras文件的方法有很多.现在分别列出,以便后面查询. keras中的模型主要包括model和we ...

  3. 深度学习(十)keras学习笔记

    keras学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/49095199 作者:hjimce keras与torch7的使用非常相似,是最 ...

  4. Keras学习笔记:函数式模型

    目录: 目录: 函数式(Functional)模型 第一个模型:全连接网络 多输入和多输出模型 让我们用函数式模型来实现这个框图 共享层 更多的例子 inception模型 卷积层的残差连接 共享视觉 ...

  5. Keras学习笔记:序列式模型

    目录: 目录: 快速开始序列(Sequential)模型 指定输入数据的shape 编译 训练 例子 用于序列分类的栈式LSTM 采用stateful LSTM的相同模型 本系列参考官方文档官方文档 ...

  6. Keras学习笔记(一)认识序贯(Sequential)模型

    Keras由纯Python编写而成并基Tensorflow.Theano以及CNTK后端.Keras 为支持快速实验而生,能够把你的idea迅速转换为结果,它的可读性非常强!笔者在这参考了中文文档给自 ...

  7. keras学习笔记-bili莫烦

    一.keras的backend设置 有两种方式: 1.修改JSON配置文件 修改~/.keras/keras.json文件内容为: {"iamge_dim_ordering":&q ...

  8. 强化学习笔记:熵正则

    0 策略过于确定的优劣 策略学习的目的是学出一个策略网络 用于控制智能体agent. 比如基于某一个状态s,策略网络的输出为: 那么基本上agent进行的动作就是向右了 这样过于确定性的决策有好有坏: ...

  9. Keras学习笔记(1)

    参考1:Keras中文文档 一些基本概念 在开始学习Keras之前,首先回顾关于深度学习的基本概念和技术. 符号计算 Keras的底层库使用Theano或TensorFlow,这两个库也称为Keras ...

  10. keras学习笔记-黑白照片自动着色的神经网络-Beta版

    正文共3894个字,8张图,预计阅读时间11分钟. Alpha版本不能很好地给未经训练的图像着色.接下来,我们将在Beta版本中做到这一点--将上面的将神经网络泛化. 以下是使用Beta版本对测试图像 ...

最新文章

  1. 老友记即将回归!用数据来重温经典剧情:老友记里到底说了多少次Oh my God?...
  2. 转在同一个sql语句中如何写不同条件的count数量
  3. Hi3516A开发-- 板卡串口烧写
  4. Boost.MultiIndex 双向映射示例
  5. [linux学习] 字符界面linux安装vmtools
  6. 理论基础 —— 栈 —— 链栈
  7. 大道至简第四章读后感
  8. RAW socket使用
  9. HTML调用QQ临时会话
  10. PxCook 高效智能的研发设计工具。点击设计稿即可生成前端代码的智能标注切图软件
  11. 测向交叉定位matlab,测向交叉定位
  12. Facebook广告投放策略与优化Facebook广告成效的技巧方式
  13. 初识Vulkan渲染管线
  14. Loadrunner11录制含有Ajax请求页面的处理方法
  15. Chrome谷歌浏览器自动填充账号密码样式
  16. win7计算机ftp清理记录,快速清除Win7使用记录的4则小技巧
  17. 转 ext文件系统及块组
  18. python之json和dick数据类型
  19. NC开发笔记——NC63开发方法总结
  20. Idea 使用git插件从git仓库下载project图文并茂,详细解答

热门文章

  1. 什么是USB Key?
  2. ionic 配置java_ionic开发环境搭建
  3. BUCK/BOOST电路
  4. Boost电路的驱动电路
  5. Aho-Corasick automaton(AC自动机)解析及其在算法竞赛中的典型应用举例
  6. 5G新方案!升级现有的基站和UE模拟器至5G毫米波频段
  7. 【IoT】产品设计:包装盒LOGO设计工艺
  8. VBA学习练习-将多个单元格内容合并
  9. CPU HQ 什么意思
  10. 密西根州立大学计算机qs分数,密歇根州立大学2021年QS世界大学排名第157