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 将字符串转换成字典dict
Mar 24 Python
Python读取Excel的方法实例分析
Jul 11 Python
python 异常处理总结
Oct 18 Python
python实现稀疏矩阵示例代码
Jun 09 Python
Python3.4解释器用法简单示例
Mar 22 Python
Django ModelForm组件使用方法详解
Jul 23 Python
python3.7环境下安装Anaconda的教程图解
Sep 10 Python
在pycharm中实现删除bookmark
Feb 14 Python
Python中if有多个条件处理方法
Feb 26 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
一行代码python实现文件共享服务器
Apr 22 Python
详解PyTorch模型保存与加载
Apr 28 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
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
python编写计算器功能
2019/10/25 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
html5与css3小应用
2013/04/03 HTML / CSS
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
高一英语教学反思
2014/01/22 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
家庭贫困证明
2015/06/16 职场文书
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers
Django框架模板用法详解
2022/06/10 Python