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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
python中os操作文件及文件路径实例汇总
Jan 15 Python
Python导入txt数据到mysql的方法
Apr 08 Python
解析Python中的异常处理
Apr 28 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
Python实现的购物车功能示例
Feb 11 Python
解决python Markdown模块乱码的问题
Feb 14 Python
Python基于WordCloud制作词云图
Nov 29 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
python绘图pyecharts+pandas的使用详解
Dec 13 Python
详解Python中__new__方法的作用
Mar 31 Python
python多次执行绘制条形图
Apr 20 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
php 文本文件的读取效率
2012/02/10 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
Python中的魔法方法深入理解
2014/07/09 Python
python中类的一些方法分析
2014/09/25 Python
python内存管理分析
2015/04/08 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
python中比较两个列表的实例方法
2019/07/04 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
BIFFI美国站:意大利BIFFI BOUTIQUES豪华多品牌时装零售公司
2020/02/11 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
便利店投资的创业计划书
2014/01/12 职场文书
调解员先进事迹材料
2014/02/07 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
经典祝酒词大全
2015/08/12 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL