四、初始PyTorch之均方差&交叉熵

一、均方差Mean Squared Error

loss = \sum[y - (x*w + b)]^{2} 

torch.norm(y-pred, 2).pow(2)

二、交叉熵Cross Entropy

信息熵,越大越稳定。

交叉熵
其中KL散度代表了两个分布的,重合度越高,KL散度值越低,完全重合KL散度为0。 如果P=Q时,H(p,q) = H(p), 对于one-hot编码,若使模型预测的Pθ(p,q)接近真实值Pr(p,q),两者相等时即为H(p,q)=0。

二分类问题举例:非cat即dog

设真实值为y,预测值为p,H(y,p) = -(ylogp + (1-y)log(1-p)), 若y=1的话,H(y,p) = -logp,H(y,p)要最小,即p要最大化, 而p = P(y = 1 | x), 故优化是合理的,刚好让y=1的概率最大,与目标y=1,是一致的。 若y=0,H(y,p) = -log(1-p),H(y,p)要最小, 即要最大化log(1-p), 即p最小化, 而p = P(y = 1 | x),也就是最大化y=0的概率,与目标y=0,是一致的, 故优化是合理的。

多分类问题举例:

上面的Q1和下面的Q1算出来的H,上面的H大,下面的H小,说明下面的效果好,与我们实际观测到的下面的Q1比上面的Q1好是一致的,说明通过交叉熵来优化也是可行的。对比于mse,0.4到0.98,优化了0.3~0.4,而cross entropy优化了0.9左右,梯度更大了,优化更快了。

扫描二维码关注公众号,回复: 10125309 查看本文章

关于MSE和cross Entropy的取舍:

代码:F.cross_entropy()自动完成了softmax+cross-entropy

发布了14 篇原创文章 · 获赞 2 · 访问量 2888

猜你喜欢

转载自blog.csdn.net/sleepinghm/article/details/105069730