【机器学习-决策树模块-信息论相关必备知识】
决策树--信息论必备知识
一、先来理解什么是信息增益:
信息增益:熵 - 条件熵
熵:表示随机变量的不确定性。
条件熵:在一个条件下,随机变量的不确定性。
信息增益的意义:在一个条件下,信息不确定性减少的程度!
通俗地讲,X(明天下雨)是一个随机变量,X的熵可以算出来, Y(明天阴天)也是随机变量,在阴天情况下下雨的信息熵我们如果也知道的话(此处需要知道其联合概率分布或是通过数据估计)即是条件熵。两者相减就是信息增益!原来明天下雨例如信息熵是2,条件熵是0.01(因为如果是阴天就下雨的概率很大,信息就少了),这样相减后为1.99,在获得阴天这个信息后,下雨信息不确定性减少了1.99!是很多的!所以信息增益大!也就是说,阴天这个信息对下雨来说是很重要的!所以在特征选择的时候常常用信息增益,如果IG(信息增益大)的话那么这个特征对于分类来说很关键~~决策树就是这样来找特征的!
作者:Kay Zhou
链接:https://www.zhihu.com/question/22104055/answer/67014456
来源:知乎
-------------------------------------------------------------------------------------------------------------------------
熵在信息论中代表随机变量不确定度的度量。一个离散型随机变量 的熵
定义为:
这个定义的特点是,有明确定义的科学名词且与内容无关,而且不随信息的具体表达式的变化而变化。是独立于形式,反映了信息表达式中统计方面的性质。是统计学上的抽象概念。所以这个定义如题主提到的可能有点抽象和晦涩,不易理解。那么下面让我们从直觉出发,以生活中的一些例子来阐述信息熵是什么,以及有什么用处。
例如:问题1:A获胜了吗?问题2:B获胜了吗?问题3:C获胜了吗?最后我们可以通过最多3个二元问题,来确定X取值,即哪一匹马赢了比赛。
如果X=A,那么需要问1次(问题1:是不是A?),概率为1/2 ;
如果X=B,那么需要问2次(问题1:是不是A?问题2:是不是B?),概率为1/4 ;
如果X=C,那么需要问3次(问题1,问题2,问题3),概率为1/8 ;
如果X=D,那么同样需要问3次(问题1,问题2,问题3),概率为1/8 ;
那么很容易计算,在这种问法下,为确定取值的二元问题数量为:
那么我们回到信息熵的定义,会发现通过之前的信息熵公式,神奇地得到了:
--------------------------------------------------------------------------------------------------------------------------------
关于熵就介绍到这里,如果还想要深入学习的话就看看知乎上的讲解吧,做决策树(ID3)的话只我们通过上面的这个例子了解认识到公式、香农熵: 就够了。 此处的负号仅仅是用来保证熵(即信息量)是正数或者为零。而
函数基的选择是任意的 ( 信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为nats )。得到熵之后我们就可以按照获取最大信息增益的方法划分数据集了。
链接:https://www.zhihu.com/question/22178202/answer/223017546
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
三、信息增益率:
熵最初是一个物理学概念,后来在数学中用来描述“一个系统的混乱程度”,因此一个系统的信息熵越高就越无序,信息熵越低就越有序, 信息熵越高,使其有序所要消耗的信息量就越大。我们的目的就是将系统变得有序并找出确定的信息。
若某一列数据没有重复,ID3算法倾向于把每个数据自成一类,此时
对于这个为什么概率是1,可以这样理解,这里的概率P(x)=P(S|A),而当feature A的值没有重复的时候,每个值A,都对应于唯一的一条数据,那么S的值也就必然是一定的了。这样E(A)为最小,IGain(S,A)最大,程序会倾向于选择这种划分,这样划分效果极差。
为了解决这个问题,引入了信息增益率(Gain-ratio)的概念,计算方式如下:
,
这里Info为划分行为带来的信息,信息增益率如下计算:
这样就减轻了划分行为本身的影响。
(后续还需要什么知识,遇到了再补起来。)
【机器学习-决策树模块-信息论相关必备知识】相关推荐
- 【Machine Learning】机器学习之一些数学相关的知识储备
文章目录 前言 一.微积分基础 1.1 夹逼准则 1.2 导数/方向导数 1.3 梯度 1.4 凸函数 二.概率与统计基础 2.1 概率 2.2 期望值 2.3 方差 2.4 协方差 2.5 相关系数 ...
- 机器学习之必备知识篇
下面我就详细介绍一下机器学习所需的一些基础知识: 线性代数 数据通常以矩阵的形式进行存储.既然是以矩阵的形式,那么自然少不了矩阵的运算.在处理数据时,运用矩阵的运算可以有效地避免编写多层嵌套循环,从而 ...
- Interview:人工智能岗位面试—人工智能岗位求职之机器学习算法工程师必备知识框架结构图
Interview:人工智能岗位面试-人工智能岗位求职之机器学习算法工程师必备知识框架结构图 目录 机器学习算法工程师思维导图 机器学习算法工程师思维导图 后期继续更新-- 1.思维导图01
- 机器学习之L1、L2的区别与相关数学基础知识
机器学习数学基础概念.知识汇总(线代) 数学概念 映射与函数 线性与非线性 空间 线性空间(向量空间) 向量 基 矩阵 范数 L-p范数 L-0范数 L-1范数 L-2范数 L-∞范数 机器学习中的正 ...
- supesite模块学习必备知识收藏
模块学习必备知识收藏 <!--{block name=".."}-->数据 <!--{loop $_SBLOCK['...'] $value}-->调用信息 ...
- 机器学习应该准备哪些数学预备知识?
转 https://www.zhihu.com/question/36324957 https://www.zhihu.com/question/36324957/answer/139408269 机 ...
- EduCoder 机器学习 决策树
决策树说通俗点就是一棵能够替我们做决策的树,或者说是我们人类在要做决策时脑回路的一种表现形式. 本实训项目的主要内容是基于 python 语言搭建出决策树模型对数据分类,并使用 sklearn 的决策 ...
- 数据挖掘与机器学习:机器学习 --- 决策树
目录 第一关:什么是决策树 任务描述: 相关知识: 一.引例 二.决策树的相关资源 编程要求: 测试说明: 第二关:信息熵与信息增益 任务描述: 相关知识: 一.信息熵 二.条件熵 三.信息增益 编程 ...
- 机器学习 --- 决策树(educode实训作业)
引言:本文主要对educoder机器学习 --- 决策树的实训作业进行讲解,创造不易!请您点点关注,点点收藏叭!!! 目录 第1关:什么是决策树 任务描述 相关知识 引例 决策树的相关概念 编程要求 ...
最新文章
- 利用PermutationImportance挑选变量
- hdu3695(AC自动机)
- homepage php,HomePage.php
- 向量 矩阵 张量_张量,矩阵和向量有什么区别?
- 用一年的时间,依靠SEO创造一个成功的网站
- php如何解释xml,PHP – 如何解析这个xml?
- [css] 举例说明css的基本语句构成是什么呢?
- AttributeError: module 'tensorflow' has no attribute 'FIFOQueue'
- React之函数式组件使用props
- git比较两个分支的文件的差异
- CAP BASE 最终一致性
- selenium 控制ie_牛鹭学院:selenium入门基础及中级进阶
- Android对点击事件的处理
- WM6.5中隐藏和显示任务栏、命令栏及输入面板
- Hyperledger fabric v2.3 交易流程 翻译
- 又一个PS2汉化入门
- 计算机专业的学生怎样练习编程才能把编程学精通?
- JavaStudyNotes
- python生成图像公章_科学网—python pillow库 python界的ps 实现数据批量盖章 并打包成exe - 李鸿斌的博文...
- JavaScript中的时间与日期、正则表达式和Function类型
热门文章
- WinUsb实现USB免驱通讯介绍
- linux 下如何获取 cpu 温度
- 曼哈顿距离和切比雪夫距离的转换
- 同步异步半同步分离式通信
- edge中如何设置ssl.3是什么
- 英语易混淆词语:四六级,考研均适用(持续更新中~)
- vue 提示框modal_v-dialogs v1.9.0 - 基于 Vue2 的简洁易用的弹出窗口,包含 modal, alert, mask, toast 等功能模式...
- 启动ubuntu什么时候按shift_解决 Ubuntu 在启动时冻结的问题
- Phylip进化树的使用,偏重于文件格式的获取
- EEPROM的学习和使用方法