python编写softmax函数、交叉熵函数实例

 更新时间:2020年06月11日 15:04:58   作者:ChunxueShi  
这篇文章主要介绍了python编写softmax函数、交叉熵函数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

python代码如下:

import numpy as np
 
# Write a function that takes as input a list of numbers, and returns
# the list of values given by the softmax function.
def softmax(L):
 pass
 expL = np.exp(L)
 sumExpL = sum(expL)
 result = []
 for i in expL:
  result.append(i*1.0/sumExpL)
 return result

python编写交叉熵公式:

import numpy as np
 
def cross_entropy(Y, P):
 Y = np.float_(Y)
 P = np.float_(P)
 return -np.sum(Y * np.log(P) + (1 - Y) * np.log(1 - P))

补充知识:分类时,为什么不使用均方误差而是使用交叉熵作为损失函数

MSE(均方误差)对于每一个输出的结果都非常看重,而交叉熵只对正确分类的结果看重。

例如:在一个三分类模型中,模型的输出结果为(a,b,c),而真实的输出结果为(1,0,0),那么MSE与cross-entropy相对应的损失函数的值如下:

MSE:

cross-entropy:

从上述的公式可以看出,交叉熵的损失函数只和分类正确的预测结果有关系,而MSE的损失函数还和错误的分类有关系,该分类函数除了让正确的分类尽量变大,还会让错误的分类变得平均,但实际在分类问题中这个调整是没有必要的。

但是对于回归问题来说,这样的考虑就显得很重要了。所以,回归问题熵使用交叉上并不合适。

以上这篇python编写softmax函数、交叉熵函数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Pycharm关闭控制台多余窗口的解决办法

    Pycharm关闭控制台多余窗口的解决办法

    这篇文章主要介绍了Pycharm关闭控制台多余窗口的解决办法,文中通过图文结合的方式讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-12-12
  • 浅谈python中对于json写入txt文件的编码问题

    浅谈python中对于json写入txt文件的编码问题

    今天小编就为大家分享一篇浅谈python中对于json写入txt文件的编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python利用全连接神经网络求解MNIST问题详解

    Python利用全连接神经网络求解MNIST问题详解

    这篇文章主要介绍了Python利用全连接神经网络求解MNIST问题,结合实例形式详细分析了单隐藏层神经网络与多层神经网络,以及Python全连接神经网络求解MNIST问题相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • Python正则表达式教程之二:捕获篇

    Python正则表达式教程之二:捕获篇

    什么是捕获呢?使用小括号指定一个子表达式后,匹配这个子表达式的文本(即匹配的内容)可以在表达式或者其他过程中接着用,下面这篇文章就主要介绍了Python正则表达式中关于捕获的相关资料,需要的朋友可以参考下。
    2017-03-03
  • Python实现发送邮件到自己邮箱

    Python实现发送邮件到自己邮箱

    在日常开发中,我们经常需要监控应用程序的状态,及时发现问题并采取措施解决。而通过邮件发送报警信息则是一种常见的实现方式。本文就来介绍一下Python实现发送邮件到自己邮箱的方法
    2023-04-04
  • Python模块zipfile原理及使用方法详解

    Python模块zipfile原理及使用方法详解

    这篇文章主要介绍了Python模块zipfile原理及使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 使用NumPy读取MNIST数据的实现代码示例

    使用NumPy读取MNIST数据的实现代码示例

    这篇文章主要介绍了使用NumPy读取MNIST数据的实现代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Django 解决阿里云部署同步数据库报错的问题

    Django 解决阿里云部署同步数据库报错的问题

    这篇文章主要介绍了Django 解决阿里云部署同步数据库报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • pytorch查看通道数 维数 尺寸大小方式

    pytorch查看通道数 维数 尺寸大小方式

    这篇文章主要介绍了pytorch查看通道数 维数 尺寸大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python字符串的一些常见实用操作

    python字符串的一些常见实用操作

    字符串是Pyhon常用的数据类型,我们可以用引号来创建字符创(可以是单引号也可以是双引号,当然引号必须是英文的),这篇文章主要给大家介绍了关于python字符串的一些常见实用操作,需要的朋友可以参考下
    2022-04-04

最新评论