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


Posted in Python onJune 11, 2020

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:

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

cross-entropy:

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

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

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

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

Python 相关文章推荐
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
浅谈python内置变量-reversed(seq)
Jun 21 Python
zookeeper python接口实例详解
Jan 18 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
python中的decimal类型转换实例详解
Jun 26 Python
python 批量修改 labelImg 生成的xml文件的方法
Sep 09 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
python 实现单例模式的5种方法
Sep 23 Python
Python try except else使用详解
Jan 12 Python
python能开发游戏吗
Jun 11 #Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 #Python
python属于解释语言吗
Jun 11 #Python
numpy的Fancy Indexing和array比较详解
Jun 11 #Python
python如何更新包
Jun 11 #Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 #Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 #Python
You might like
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
JavaScript CSS修改学习第五章 给“上传”添加样式
2010/02/19 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
python爬取微博评论的实例讲解
2021/01/15 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
error和exception有什么区别
2012/10/02 面试题
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
读书活动总结范文
2014/04/26 职场文书
促销活动总结怎么写
2014/06/25 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
运动会主持词大全
2015/07/02 职场文书
创业计划书之养殖业
2019/10/11 职场文书
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers