温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

关于python编写softmax函数、交叉熵函数的案例

发布时间:2020-06-23 17:15:17 来源:亿速云 阅读:190 作者:清晨 栏目:开发技术

不懂关于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函数、交叉熵函数的案例内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI