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

    文章

    4329

    浏览量

    62575
  • 机器学习
    +关注

    关注

    66

    文章

    8408

    浏览量

    132573
  • 交叉熵
    +关注

    关注

    0

    文章

    4

    浏览量

    2361

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

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

收藏 人收藏

    评论

    相关推荐

    信息是什么?

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

    什么是交叉

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

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

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

    交叉的作用原理

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

    机器学习的分类器

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

    大数据边界向量调节函数支持向量机研究

    大数据边界向量调节函数支持向量机研究_林蔚
    发表于 01-07 19:08 0次下载

    采用交叉支持向量机和模糊积分的电网故障诊断_边莉

    采用交叉支持向量机和模糊积分的电网故障诊断_边莉
    发表于 01-08 13:26 0次下载

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

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

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

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

    基于交叉算法的跟驰模型标定

    的确定性标定方法会导致大量局部最优值的出现。在此基础上,本文提出了基于交叉算法的跟驰模型标定的框架,基于蒙地卡罗与重要样本策略逐步逼近参数的最优概率密度函数。实例分别采用合成数据与实测数据标定智能驾驶模型
    发表于 01-11 16:23 8次下载
    基于<b class='flag-5'>交叉</b><b class='flag-5'>熵</b>算法的跟驰模型标定

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

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

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

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

    机器学习若干典型的目标函数构造方法

    几乎所有的机器学习算法都归结为求解最优化问题。有监督学习算法在训练时通过优化一个目标函数而得到模型,然后用模型进行预测。无监督学习算法通常通
    的头像 发表于 12-26 09:52 4274次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>中</b>若干典型的目标<b class='flag-5'>函数</b>构造方法

    机器学习交叉验证方法

    机器学习交叉验证(Cross-Validation)是一种重要的评估方法,它通过将数据集分割成多个部分来评估模型的性能,从而避免过拟合或欠拟合问题,并帮助选择最优的超参数。本文将
    的头像 发表于 07-10 16:08 1099次阅读

    RNN的损失函数与优化算法解析

    函数有以下几种: 交叉损失函数交叉(Cross Entropy)是一种评估两个概率分布之
    的头像 发表于 11-15 10:16 373次阅读