0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习中的代价函数与交叉熵

lviY_AI_shequ 来源:未知 作者:李倩 2018-05-09 15:04 次阅读

本文将介绍信息量,熵,交叉熵,相对熵的定义,以及它们与机器学习算法中代价函数的定义的联系。

1. 信息量

信息的量化计算:

解释如下:

信息量的大小应该可以衡量事件发生的“惊讶程度”或不确定性:

如果有人告诉我们一个相当不可能的事件发生了,我们收到的信息要多于我们被告知某个很可能发⽣的事件发⽣时收到的信息。如果我们知道某件事情⼀定会发⽣,那么我们就不会接收到信息。 也就是说,信息量应该连续依赖于事件发生的概率分布p(x)。因此,我们想要寻找一个基于概率p(x)计算信息量的函数h(x),它应该具有如下性质:

h(x) >= 0,因为信息量表示得到多少信息,不应该为负数。

h(x, y) = h(x) + h(y),也就是说,对于两个不相关事件x和y,我们观察到两个事件x, y同时发⽣时获得的信息应该等于观察到事件各⾃发⽣时获得的信息之和;

h(x)是关于p(x)的单调递减函数,也就是说,事件x越容易发生(概率p(x)越大),信息量h(x)越小。

又因为如果两个不相关事件是统计独⽴的,则有p(x, y) =p(x)p(y)。根据不相关事件概率可乘、信息量可加,很容易想到对数函数,看出h(x)一定与p(x)的对数有关。因此,有满足上述性质。

2. 熵(信息熵)

对于一个随机变量X而言,它的所有可能取值的信息量的期望就称为熵。熵的本质的另一种解释:最短平均编码长度(对于离散变量)。

离散变量:

连续变量:

3. 交叉熵

现有关于样本集的2个概率分布p和q,其中p为真实分布,q非真实分布。按照真实分布p来衡量识别一个样本的熵,即基于分布p给样本进行编码的最短平均编码长度为:

如果使用非真实分布q来给样本进行编码,则是基于分布q的信息量的期望(最短平均编码长度),由于用q来编码的样本来自分布p,所以期望与真实分布一致。所以基于分布q的最短平均编码长度为:

上式CEH(p, q)即为交叉熵的定义。

4. 相对熵

将由q得到的平均编码长度比由p得到的平均编码长度多出的bit数,即使用非真实分布q计算出的样本的熵(交叉熵),与使用真实分布p计算出的样本的熵的差值,称为相对熵,又称KL散度。

KL(p, q) = CEH(p, q) - H(p)=

相对熵(KL散度)用于衡量两个概率分布p和q的差异。注意,KL(p, q)意味着将分布p作为真实分布,q作为非真实分布,因此KL(p, q) != KL(q, p)。

5. 机器学习中的代价函数与交叉熵

若 p(x)是数据的真实概率分布, q(x)是由数据计算得到的概率分布。机器学习的目的就是希望q(x)尽可能地逼近甚至等于p(x) ,从而使得相对熵接近最小值0. 由于真实的概率分布是固定的,相对熵公式的后半部分(-H(p))就成了一个常数。那么相对熵达到最小值的时候,也意味着交叉熵达到了最小值。对q(x)的优化就等效于求交叉熵的最小值。另外,对交叉熵求最小值,也等效于求最大似然估计(maximum likelihood estimation)。

特别的,在logistic regression中,p:真实样本分布,服从参数为p的0-1分布,即X∼B(1,p)

p(x = 1) = y

p(x = 0) = 1 - yq:待估计的模型,服从参数为q的0-1分布,即X∼B(1,q)

p(x = 1) = h(x)

p(x = 0) = 1-h(x)

其中h(x)为logistic regression的假设函数。两者的交叉熵为:

对所有训练样本取均值得:

这个结果与通过最大似然估计方法求出来的结果一致。使用最大似然估计方法参加博客Logistic Regression.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3863

    浏览量

    61303
  • 机器学习
    +关注

    关注

    66

    文章

    8105

    浏览量

    130541
  • 交叉熵
    +关注

    关注

    0

    文章

    4

    浏览量

    2332

原文标题:信息量,熵,交叉熵,相对熵与代价函数

文章出处:【微信号:AI_shequ,微信公众号:人工智能爱好者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    #硬声创作季 机器学习_11.3.3 代价函数

    机器学习
    深海狂鲨
    发布于 :2022年10月29日 10:47:28

    MNIST机器学习入门

    ,但是它后来演变成为从博弈论到机器学习等其他领域里的重要技术手段。它的定义如下:y 是我们预测的概率分布, y' 是实际的分布(我们输入的one-hot vector)。比较粗糙的理解是,交叉
    发表于 03-30 20:05

    信息是什么?

    2018-04-22 开胃学习数学系列 - 信息
    发表于 03-14 10:02

    最大是什么?

    2018-04-23 开胃学习数学系列 - 最大
    发表于 03-15 09:02

    什么是交叉

    2018-04-22 开胃学习数学系列 - 交叉
    发表于 03-21 11:08

    机器学习神经网络参数的代价函数

    吴恩达机器学习笔记之神经网络参数的反向传播算法
    发表于 05-22 15:11

    交叉的作用原理

    交叉作为损失函数在神经网络的作用和几种常用的交叉损失
    发表于 06-03 09:10

    机器学习的分类器

    各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归和最大模型
    发表于 09-10 10:53

    机器人工具箱的常用函数介绍

    这一节,就机器人工具箱的一些常用的函数做一下简单的介绍。机器人工具箱在机器人建模、轨迹规划、控制、可视化仿真等方面给
    发表于 09-15 09:04

    机器学习,损失函数一般要怎么选择?

    机器学习,损失函数一般要怎么选择?
    发表于 08-25 09:11

    机器学习经典损失函数比较

    所有的机器学习算法都或多或少的依赖于对目标函数最大化或者最小化的过程。我们常常将最小化的函数称为损失函数,它主要用于衡量模型的预测能力。
    的头像 发表于 06-13 17:53 8214次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>经典损失<b class='flag-5'>函数</b>比较

    机器学习的logistic函数和softmax函数总结

    本文简单总结了机器学习最常见的两个函数,logistic函数和softmax函数。首先介绍两者的定义和应用,最后对两者的联系和区别进行了总结
    的头像 发表于 12-30 09:04 9395次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的logistic<b class='flag-5'>函数</b>和softmax<b class='flag-5'>函数</b>总结

    机器学习遇上SSD,会擦出怎样的火花呢?

    判断一个函数的好坏,这需要确定一个衡量标准,也就是我们通常说的损失函数(Loss Function),损失函数的确定也需要依据具体问题而定,如回归问题一般采用欧式距离,分类问题一般采用交叉
    的头像 发表于 09-07 16:12 2413次阅读
    当<b class='flag-5'>机器</b><b class='flag-5'>学习</b>遇上SSD,会擦出怎样的火花呢?

    机器学习和深度学习中分类与回归常用的几种损失函数

    本文将介绍机器学习、深度学习中分类与回归常用的几种损失函数,包括均方差损失 Mean Squared Loss、平均绝对误差损失 Mean Absolute Error Loss、Hu
    的头像 发表于 10-09 16:36 5898次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中分类与回归常用的几种损失<b class='flag-5'>函数</b>

    机器学习找一个好用的函数的原因是什么

    (1)机器学习中经典的“支持向量机(SVM)”的主要提出者弗拉基米尔·万普尼克(Vladimir Vapnik),在其著作《统计学习理论的本质》中这样定义机器
    的头像 发表于 11-02 16:15 543次阅读