信息增益与熵

信息增益与熵,本文将阐述什么是信息增益和信息熵,以及它们如何被用来训练决策树。

基尼杂质一样,信息增益也是用来训练决策树的一个指标。具体地说,这些指标测量分割的质量。例如,假设我们有以下数据:
信息增益与熵
数据集

如果我们在x=1.5处分割呢?
信息增益与熵
一个不完美的分割

这个不完美的分割将我们的数据集分成以下几个分支:

  • 左支,4个蓝色。
  • 右支,有1个蓝色和5个绿色。

很明显,这种分割不是最优的,但它有多好呢?我们如何量化拆分的质量?
这就是信息增益的来源。
困惑吗?不确定决策树是什么或者它们是如何训练的?阅读我对 随机森林和决策树的介绍。

信息熵

在讨论信息增益之前,我们首先要讨论信息熵。在训练决策树的上下文中,熵可以粗略地看作数据的方差。例如:

  • 一个只有蓝色的数据集的熵非常低(实际上是零)。
  • 混合了蓝色、绿色和红色的数据集将具有相对较高的熵。

下面是我们如何计算具有C类的数据集的信息熵:
信息增益与熵

其中p_i为随机选取第i类元素的概率(即由第i类构成的数据集的比例)。

理解这一点最简单的方法是用一个例子。考虑一个包含1个蓝色、2个绿色和3个红色的数据集。这时:
信息增益与熵

因为 \frac{1}{6}的数据集是蓝色,所以我们知道p_b = \frac{1}{6}。类似地,p_g=\frac{2}{6}(绿色),p_r=\frac{3}{6}(红色)。因此:
信息增益与熵

那么所有颜色的数据集呢?以3个蓝色为例。其熵应该是:
信息增益与熵

信息增益

终于到了回答我们之前提出的问题的时候了:我们如何量化拆分的质量?
让我们再来考虑一下这种分裂:
信息增益与熵
一个不完美的分割
在分裂之前,我们有5个蓝色和5个绿色,所以熵是:
信息增益与熵

分裂之后,我们有两个分支。
左分支有4个蓝色,所以E_{left} = 0因为它是所有颜色的数据集。
右分支有1个蓝色和5个绿色,所以:
信息增益与熵
现在我们已经知道了两个分支的熵值,我们可以通过加权每个分支的熵值来确定分裂的质量。由于左分支有4个元素,右分支有6个元素,我们分别对其权重为0.4和0.6:
信息增益与熵
分裂之前我们用E_{before}=1熵,现在降到了0.39!信息增益=我们去掉了多少熵,所以:
信息增益与熵

这是有道理的:更高的信息增益=更多的熵去除,这是我们想要的。在最理想的情况下,每个分支在分裂后只包含一种颜色,这就是零熵!

回顾

信息熵可以看作是数据集的不可预测性。

  • 只有一个类(比如蓝色)的集合是非常容易被预测的:其中的任何东西都是蓝色的。它的熵很低。
  • 许多混合类的集合是不可预测的:给定的元素可以是任何颜色!它的熵很高。

计算信息熵的实际公式为:
信息增益与熵

通过从原始熵中减去每个分支的加权熵,计算出分裂时的信息增益。当使用这些指标训练决策树时,通过最大化信息收益来选择最佳分割。

想了解更多吗?看看我对 基尼杂质的解释,一个类似的度量标准,或我的深入指导完全是初学者的 随机森林。

Python教程

Python 教程

Python 教程

Tkinter 教程

Tkinter 教程

Pandas 教程

Pandas 教程

NumPy 教程

NumPy 教程

Flask 教程

Flask 教程

Django 教程

Django 教程

PySpark 教程

PySpark 教程

wxPython 教程

wxPython 教程

SymPy 教程

SymPy 教程

Seaborn 教程

Seaborn 教程

SciPy 教程

SciPy 教程

RxPY 教程

RxPY 教程

Pycharm 教程

Pycharm 教程

Pygame 教程

Pygame 教程

PyGTK 教程

PyGTK 教程

PyQt 教程

PyQt 教程

PyQt5 教程

PyQt5 教程

PyTorch 教程

PyTorch 教程

Matplotlib 教程

Matplotlib 教程

Web2py 教程

Web2py 教程

BeautifulSoup 教程

BeautifulSoup 教程

Java教程

Java 教程

Java 教程

Web教程

HTML 教程

HTML 教程

CSS 教程

CSS 教程

CSS3 教程

CSS3 教程

jQuery 教程

jQuery 教程

Ajax 教程

Ajax 教程

AngularJS 教程

AngularJS 教程

TypeScript 教程

TypeScript 教程

WordPress 教程

WordPress 教程

Laravel 教程

Laravel 教程

Next.js 教程

Next.js 教程

PhantomJS 教程

PhantomJS 教程

Three.js 教程

Three.js 教程

Underscore.JS 教程

Underscore.JS 教程

WebGL 教程

WebGL 教程

WebRTC 教程

WebRTC 教程

VueJS 教程

VueJS 教程

数据库教程

SQL 教程

SQL 教程

MySQL 教程

MySQL 教程

MongoDB 教程

MongoDB 教程

PostgreSQL 教程

PostgreSQL 教程

SQLite 教程

SQLite 教程

Redis 教程

Redis 教程

MariaDB 教程

MariaDB 教程

图形图像教程

Vulkan 教程

Vulkan 教程

OpenCV 教程

OpenCV 教程

大数据教程

R语言 教程

R语言 教程

开发工具教程

Git 教程

Git 教程

VSCode 教程

VSCode 教程

Docker 教程

Docker 教程

Gerrit 教程

Gerrit 教程

Excel 教程

Excel 教程

计算机教程

Go语言 教程

Go语言 教程

C++ 教程

C++ 教程

机器学习教程

  • 什么是机器学习
  • 人工智能与机器学习有什么区别
  • 机器学习分类
  • 神经网络简介
  • 基尼杂质
  • 监督学习
  • 无监督学习
  • 什么是Softmax
  • 随机森林和决策树
  • 如何实现机器学习
  • 机器学习所需技能
  • 信息增益与熵
  • 机器学习中的数据介绍
  • 强化学习
  • 决策树
  • 虹膜数据集的探索性数据分析
  • GrowNet:梯度提升神经网络
  • 使用神经网络的手写数字识别
  • 如何计算监测数据的百分比
  • 如何用机器学习提高用户体验
  • 使用MobileNet的图像识别
  • 鲸鱼优化算法的实现
  • Python中的局部加权线性回归
  • 对数赔率在逻辑回归中的作用
  • 同时进行定位和测绘
  • 分类变量和连续变量之间的相关性
  • 如何阅读机器学习论文
  • 如何从数据集中选择重要变量

深圳SEO优化公司晋中网站改版多少钱哈密seo排名公司襄阳市网站建设多少钱长春网页设计哪家专业榆林网页设计公司宝安seo排名徐州营销网站建设公司许昌网站开发哪家好昆明市建网站价格白山品牌网站设计哪家好益阳企业网站设计公司海东网页制作推荐洛阳市seo排名哪家专业无锡市seo排名推荐平凉市网站设计报价汕头网站优化哪家好唐山网站改版价格爱联网络推广哪家专业资阳网站改版多少钱伊春网站制作公司鹤岗品牌网站设计公司哈密市网页制作推荐绍兴市seo优化报价汕头企业网站改版报价铜仁网站定制公司安庆网站推广哪家专业光明网站改版哪家好乐山营销网站建设公司济南营销网站建设推荐延安网站定制歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化