交叉熵

1.公式

用sigmoid推导

上式做一下转换:

 

y 视为类后验概率 p(y = 1 | x),则上式可以写为:

 

则有:

交叉熵_第1张图片

将上式进行简单综合,可写成如下形式:

写成对数形式就是我们熟知的交叉熵损失函数了,这也是交叉熵损失的推导由来:

2.代码画图 

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig=plt.figure()
ax=Axes3D(fig)
X=np.linspace(0.01,0.99,101)
Y=np.linspace(0.01,0.99,101)
X,Y=np.meshgrid(X,Y)
Z=-(X*np.log2(Y)+(1-X)*np.log2(1-Y))
ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap='rainbow')
plt.show()

可看出当两个分布一致时,熵取值最小

交叉熵_第2张图片

你可能感兴趣的:(numpy,matlab与seaborn)