详细看:https://zhuanlan.zhihu.com/p/54066141
简单理解:
- 公式:cross_entropy_error = -sum(t(i)*log(y(i)))
- 用于分类问题
- 用以量化2个概率分布之间的差异
demo:
>>> def corss_entropy_error(y, t):
delta=1e-7
return -np.sum(t*np.log(y + delta))
>>> t
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
>>> y
array([0.36618148, 0.00644256, 0.80942275, 0.99869108, 0.59959535,
0.58399833, 0.57789807, 0.84208446, 0.20611667, 0.58973758])
>>> corss_entropy_error(y, t)
0.5483576020780061
- 其中t是lable,其代表所在index的概率大小,label是有确定的唯一值,所以只有一个1,其他都是0;
- y是分类器后经过softmax的输出,是计算得到的值。
- y和t都是为了表示同一个东西,但是有差异,差异多少呢,通过这个corss entropy来量化
网友评论