Machine learning MSE损失和交叉熵损失的收敛性比较
对于一个非常简单的分类问题,其中我有一个目标向量[0,0,0,….0]和一个预测向量[0,0.1,0.2,….1],交叉熵损失收敛得更好/更快,还是MSE损失更快? 当我绘制它们时,在我看来,MSE损失具有较低的误差幅度。为什么会这样? 或者,当我的目标为[1,1,1,1…1]时,我得到以下结果:Machine learning MSE损失和交叉熵损失的收敛性比较,machine-learning,logistic-regression,loss,cross-entropy,mean-square-error,Machine Learning,Logistic Regression,Loss,Cross Entropy,Mean Square Error,对于一个非常简单的分类问题,其中我有一个目标向量[0,0,0,….0]和一个预测向量[0,0.1,0.2,….1],交叉熵损失收敛得更好/更快,还是MSE损失更快? 当我绘制它们时,在我看来,MSE损失具有较低的误差幅度。为什么会这样? 或者,当我的目标为[1,1,1,1…1]时,我得到以下结果: 你听起来有点困惑 比较MSE和交叉熵损失的值,并说一个比另一个低,就像把苹果和桔子比较一样 MSE用于回归问题,而交叉熵损失用于分类问题;这些上下文是相互排斥的,因此比较其相应损失度量的数值没有意
你听起来有点困惑
- 比较MSE和交叉熵损失的值,并说一个比另一个低,就像把苹果和桔子比较一样
- MSE用于回归问题,而交叉熵损失用于分类问题;这些上下文是相互排斥的,因此比较其相应损失度量的数值没有意义
- 如您所说,当您的预测向量类似于
(即具有非整数分量)时,问题是回归(而不是分类)问题;在分类设置中,我们通常使用一个热编码目标向量,其中只有一个分量为1,其余分量为0[0,0.1,0.2,….1]
的目标向量可以是回归设置中的情况,也可以是多标签多类别分类中的情况,即输出可能同时属于多个类别[1,1,1,1…1]
如果你想详细讨论分类设置中的交叉熵损失和准确性,你可以看看我的。作为对公认答案的补充,我将回答以下问题
在机器学习中,我们经常使用均值0和方差1处理分布(或者我们将数据转换为均值0和方差1)。在这种情况下,正态分布为,
这称为标准正态分布。
对于具有权重参数和精度(逆方差)参数的正态分布模型,观察单个目标
t
给定输入x
的概率由以下等式表示
,其中是分布的平均值,通过模型计算为现在目标向量给定输入的概率可以表示为
取左项和右项的自然对数得到
其中为正态函数的对数似然。训练一个模型通常涉及到对模型的似然函数进行优化。现在,参数的最大似然函数由(关于的常数项可以省略) 对于训练模型,忽略常数不影响收敛性。 这称为平方误差,取
平均值
产生均方误差。, 交叉熵 在讨论更一般的交叉熵函数之前,我将解释交叉熵的具体类型——二进制交叉熵 二元交叉熵 二元交叉熵假设为目标变量的概率分布,目标变量的概率分布取自伯努利分布。根据维基百科 伯努利分布是一个随机变量的离散概率分布 取概率为p的值1,值为0 概率q=1-p 伯努利分布随机变量的概率由
,其中p是成功的概率。 这可以简单地写为
取两边的负自然对数得到 ,这叫做二元交叉熵 范畴交叉熵 交叉熵的推广遵循一般情况 当随机变量是多变量时(来自多项式分布 )具有以下概率分布 取两边的负自然对数会产生分类交叉熵损失 , 结论
当目标变量来自伯努利分布时使用交叉熵,当目标变量来自正态分布时使用均方误差 我的回答会有帮助。@vipinbansal不幸的是,它不会