softmax 分类

技术softmax 分类 softmax 分类为什么softmax 里面要用交叉熵这个问题之前困扰我挺久的,但这两篇博文完美解答了我的疑惑。交叉熵、相对熵和负对数似然的理解 - 最大的梦想家的文章 -

最大分类

为什么要在softmax中使用交叉熵这个问题困扰了我很久,但这两篇博文完美地回答了我的疑问。

对交叉熵、相对熵和负对数似然的理解——最伟大的dreamer-https://zhuanlan.zhihu.com/p/268171298,之虎的文章

库尔巴克-莱布勒散度-灰色Articles-https://zhuanlan.zhihu.com/p/100676922,知乎简介

KL散度

KL散度是原始分布和近似分布(即学习分布)之间差异的度量。如果差异较大,则意味着学习到的近似分布不太拟合。

\[d _ { KL }(p \ parallel q)=\sum_{i=1}^n p _ I(log(p _ I)-log(q _ I))\ \

S(P)=\sum_{i=1}^K p_i\log p_i\\

交叉熵=-\sum_{i=1}^K p_i \log q_i \\

交叉熵(y_{true},y _ { pred })=-\sum_{i=1}^k y _ { true }(I)\ log y _ { pred }(I)\

\】可以看出,KL散度实际上是实际分布的熵s,加上预测分布和实际分布的交叉熵,机器学习的目的是最小化KL散度,因为KL散度越小,两个分布越接近,这意味着我们从学习中得到的分布越接近实际分布。

对数似然

假设我们观察了一系列样本,包括A情况下的A,B情况下的B,c情况下的c,我们的目标是什么?找出一组分布(p(a) p(b) p(c))使这种状态的概率最高。

因为机器学习是一种分布。

那么我们的目标是最大化

对数是\(a\log p(a) b\log p(b) c \log p(c)\)

其实我们会这样表达:\(\ sum _ { I=1 } n _ I \ log p _ I \)

我们的目标是最大化这个似然函数。在某些情况下,它有一个解决方案。比如在前面的概率论中,我们取导数求极值点,然后得到分布函数。但是在机器学习中,我们通过学习得到分布,没有精确的函数。

还记得之前的交叉熵吗?

对数似然\(\ sum _ { I=1 } n n _ I \ log p _ I \)可以除以\(\ sum _ { I=1 } n n _ I \),因为这个值是一个常数,那么你得到3360。

\(\sum_{i=1}^n p _ { true }(I)\ log p _ { pred }(I)\)

哇哦!

这不就是之前交叉熵的负数吗?

因此,从另一个角度来考虑对数似然性,最大化对数似然性实际上就是最小化KL散度,因为我们的目标是找到一组最接近真实分布的预测分布。

在这一点上,我们得出结论,负对数似然是交叉熵。

为什么我们可以用交叉熵来作为损失函数

在之前的KL散度中,有——个具有两个分量的自熵S和交叉熵。

在深度学习分类中,我们使用一组onehot向量,(0,0,0,1,0,0)作为标签,这意味着$ p _ j=1 \ quad和\ quad p _ {I | I \ neq j}=0 $,所以,\ s(p(交叉熵=-\sum_{i=1}^k p _ I \ log q _ I=-p _ j \ log q _ j=-\ log q _ j \)

这个交叉熵与前面提到的负对数似然一致。

这就是为什么交叉熵可以用作损失函数。

SoftMax 梯度下降

等着填坑.

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/77292.html

(0)

相关推荐

  • debug Q命令如何退出debug

    技术debug Q命令如何退出debug本篇文章给大家分享的是有关debug Q命令如何退出debug,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。   

    攻略 2021年11月11日
  • decimal数据类型

    技术decimal数据类型 decimal数据类型GPS平台、网站建设、软件开发、系统运维,找森大网络科技!https://cnsendnet.taobao.com来自森大科技官方博客http://ww

    礼包 2021年12月21日
  • Flex布局新旧混合写法分析

    技术Flex布局新旧混合写法分析本篇内容主要讲解“Flex布局新旧混合写法分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flex布局新旧混合写法分析”吧!旧语法篇定义容器

    攻略 2021年11月15日
  • WRH$_ACTIVE_SESSION_HISTORY问题的处理方法

    技术WRH$_ACTIVE_SESSION_HISTORY问题的处理方法这篇文章给大家介绍WRH$_ACTIVE_SESSION_HISTORY问题的处理方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所

    攻略 2021年11月30日
  • PostgreSQL中的bool类型转换为smallint的方法是什么

    技术PostgreSQL中的bool类型转换为smallint的方法是什么这篇文章主要介绍“PostgreSQL中的bool类型转换为smallint的方法是什么”,在日常操作中,相信很多人在PostgreSQL中的bo

    攻略 2021年11月5日
  • socket编程中常用协议有哪些

    技术socket编程中常用协议有哪些这篇文章给大家分享的是有关socket编程中常用协议有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.ip IP协议是将多个包交换网络连接起来,它在源

    攻略 2021年11月17日