机器学习16-熵与随机森林
来源:互联网 发布:英菲克电视盒成人软件 编辑:程序博客网 时间:2024/06/05 09:37
熵与随机森林
一,熵
熵是描述系统混乱的量,熵越大说明系统越混乱,携带的信息就越少,熵越小说明系统越有序,携带的信息越多。
举2个例子,抛掷一枚硬币,正反面出现的概率都为50%,根据熵的计算公式,此时的熵最大,整个投掷系统最混乱,投掷时候我不知道会出现正面还是反面,透露的信息很少。但,当一个硬币被做了手脚,抛掷此硬币出现正面的概率为99.9%,反面的概率为0.1%,整个投掷系统是很有序的,投掷时候我知道基本会出现正面,而且知道硬币极大可能被动了手脚,或者对手作弊等等,透露的信息很多。还可以这样理解,同样大的硬盘,熵越大磁道坏的就越多,他可以承载的信息越少,熵越小意味着坏掉的磁道越少,可以承载的信息量越大。
熵在概率论中的计算公式
二,熵为什么可做随机森林中决策树的度量方案
如上图,分割图中红绿点的最好方案时什么?
一种分割方法:
H(横切)= -(0.5*ln0.5+0.5*ln0.5)=0.693
另一种切割方法
H(竖切)= -(0.1*ln0.1+0.9*ln0.9)=0.325
H(竖切)< H(横切),竖切产生的信息量大,则竖切能很好的分割红绿点。可以这样理解:横切之后,选出上半部的一个点是红是绿的概率一样,透露的信息很少。选择竖切,选出左半部分的一个点,极大概率是绿点,透露的信息量很大,所以选竖切。
决策树采用的是自顶而下的递归方法,其基本思想是以信息熵为度量构造一颗熵值下降最快的树,到叶子节点处的熵值为零或接近零,此时每个叶子节点的实例都属于同一类。
三,信息增益
假如一个人是否出去打网球由天气,温度,风,是否下雨4个特征决定,那么哪个特征来做父节点呢?这时候用信息增益来做度量方案,哪个特征的信息增益最大就选哪个。
举例:
一个人是否出去打网球由天气,温度,风,是否下雨4个特征决定
以outlook特征的信息增益为例
1,计算14个样本的信息熵:9个yes,5个no
H(D)=-( 9/14* ln9/14 + 5/14 * ln5/14 )= 0.6517565612
2,计算H( D | outlook ) : sunny的出现的频率是5/15,rainy出现的频率是5/15,overcast出现的频率是4/15
H( D | outlook ) = 5/15*H(sunny )+ 5/15*H(rainy)+ 4/15 * H(overcast)
3,计算H(sunny ),H(rainy),H(overcast) :在sunny特征中yes 2次,no 3次。在rainy特征中yes 3次,no 2次 。在overcast中,yes 4次,no 0次。
H(sunny )= -( 2/5 * ln2/5 + 3/5 * ln3/5)= 0.673011667
H(rainy)= -( 2/5 * ln2/5 + 3/5 * ln3/5)= 0.673011667
H(overcast)= -( 1 * ln1)= 0
4,计算H( D | outlook ) = 5/15*H(sunny )+ 5/15*H(rainy)+ 4/15 * H(overcast)
H( D | outlook ) = 0.4486744447
5,g(D | outlook )= H(D)- H( D | outlook ) = 0.2030821165
同理可算出g(D | temperature),g(D | humidity),g(D | windy),进行比较
g(D | outlook )最大,则选择outlook 作为父节点。
- 机器学习16-熵与随机森林
- 【机器学习】决策树与随机森林
- 机器学习系列-Bagging与随机森林
- 机器学习之决策树与随机森林
- 随机森林-机器学习
- 机器学习 -- 随机森林
- 机器学习-随机森林
- 机器学习-随机森林
- 【机器学习】随机森林RF
- 【机器学习】随机森林RF
- 机器学习算法-随机森林
- 机器学习之随机森林
- 机器学习算法-随机森林
- 机器学习之集成学习 bagging与随机森林
- 机器学习实战笔记3(决策树与随机森林)
- 机器学习实战笔记3(决策树与随机森林)
- 【机器学习详解】决策树与随机森林算法
- 【机器学习详解】决策树与随机森林算法
- 程序员需具备的编程规范
- linux 设置环境变量path
- STM32在使用SPI时,你真的使用了CRC功能吗?
- android 串口编程
- 左右布局:左边定宽、右边自适应
- 机器学习16-熵与随机森林
- 比特币协议*****
- Android-网络编程:快乐词典
- Python 中几个重要的概念
- Oracle对空值的排序处理
- Word2vec基础介绍(一):主要概念和基本流程
- QThread中执行UDP发送
- 如何用PYTHON代码写出音乐
- 积分电路原理之新解——放大器与电容的变身