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实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
Python实现登录人人网并抓取新鲜事的方法
May 11 Python
python实现带声音的摩斯码翻译实现方法
May 20 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
Python 操作MySQL详解及实例
Apr 30 Python
Python iter()函数用法实例分析
Mar 17 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
Python+OpenCV实现将图像转换为二进制格式
Jan 09 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
python 实现定时任务的四种方式
Apr 01 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 26 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
全文搜索和替换
2006/10/09 PHP
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
深入PHP数据加密详解
2013/06/18 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
jQuery动态添加删除select项(实现代码)
2013/09/03 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
Node.js实现文件上传
2016/07/05 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
vue实现抖音时间转盘
2019/09/08 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
什么是属性访问器
2015/10/26 面试题
保护环境建议书400字
2014/05/13 职场文书
离职告别感言
2015/08/04 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python