交叉熵代价函数(损失函数)及其求导推导

原文:https://blog.csdn.net/jasonzzj/article/details/52017438算法

本文只讨论Logistic回归的交叉熵,对Softmax回归的交叉熵相似。 函数

交叉熵的公式

以及J(θ)J(θ)对参数θ的偏导数(用于诸如梯度降低法等优化算法的参数更新),以下: 优化

交叉熵损失函数

假设函数(hypothesis function)定义为: atom

由于Logistic回归问题就是0/1的二分类问题,能够有 spa

如今,咱们不考虑“熵”的概念,根据下面的说明,从简单直观角度理解,就能够获得咱们想要的损失函数:咱们将几率取对数,其单调性不变,有:.net

那么对于第i组样本,假设函数表征正确的组合对数几率为: 3d

其中,I{y(i)=1}和I{y(i)=0}为示性函数(indicative function),简单理解为{ }内条件成立时取1,不然取0。xml

由以上表征正确的几率含义可知,咱们但愿其值越大,模型对数据的表达能力越好。而咱们在参数更新或衡量模型优劣时是须要一个能充分反映模型表现偏差的损失函数(Loss function)或者代价函数(Cost function)的,并且咱们但愿损失函数越小越好。由这两个矛盾,那么咱们不妨领代价函数为上述组合对数几率的相反数:
blog

交叉熵损失函数的求导

这步须要用到一些简单的对数运算公式,这里先以编号形式给出,下面推导过程当中使用特地说明时都会在该步骤下脚标标出相应的公式编号,以保证推导的连贯性。 io

在这里涉及的求导均为矩阵、向量的导数(矩阵微商)。交叉熵损失函数为: 

其中,

由此,获得 :

此次再计算J(θ)对第j个参数份量θj求偏导: 

这就是交叉熵对参数的导数: 

相关文章
相关标签/搜索