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程序与C程序的结合使用
Apr 07 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
用pycharm开发django项目示例代码
Jun 13 Python
python 抓包保存为pcap文件并解析的实例
Jul 23 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 Python
python 决策树算法的实现
Oct 09 Python
python中str内置函数用法总结
Dec 27 Python
Python用requests库爬取返回为空的解决办法
Feb 21 Python
PyQt QMainWindow的使用示例
Mar 24 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下几种删除目录的方法总结
2007/08/19 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
php实例分享之二维数组排序
2014/05/15 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
JavaScript中的值类型转换介绍
2014/12/31 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
js实现表格筛选功能
2017/01/18 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
Python3基础之基本数据类型概述
2014/08/13 Python
python3生成随机数实例
2014/10/20 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
Django发送邮件和itsdangerous模块的配合使用解析
2019/08/10 Python
python读取Kafka实例
2019/12/23 Python
Python实现播放和录制声音的功能
2020/08/12 Python
学习型班组申报材料
2014/05/31 职场文书
挂职个人工作总结
2015/03/05 职场文书
单位更名证明
2015/06/18 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python
Python OpenCV形态学运算示例详解
2022/04/07 Python