data mining - 实用机器学习工具与技术 读书笔记 ( 四 )
2015-05-20 19:34
288 查看
在 《 data mining - 实用机器学习工具与技术 》中,读到 Decision Tree 这一章,有点卡顿。原因是自己并不知道 Tree 以及 Decision Tree 的区别在哪里,看了几天书,翻了翻 wikipedia.org, 还是不理解。但是要做下笔记,说明曾经到过这个地方了。
在 data mining - 实用机器学习工具与技术 读书笔记(三)中,谈到在构建天气与室内室外运动相关的决策树例子中(可能是高尔夫,据说是个经典例子,但我是跳看的,只看到一个列表的数据),有一个表达式,关于 info[(2,3)] 的计算公式。这个公式起初怎么也不明白,结果就是一个小数呢。有了贝叶斯的经验,我决定还是再从 《 Discrete 》离散数学机器应用这本书找找答案。 从 Tree 这一章看,也就有了后来的 《 Discrete 》读书笔记(三)。 但是一直到 Depth-first 也没有 Decision Tree 的讲解。无奈翻翻 《概率与统计》《托马斯微积分》同样,无解,因为我根本对两本书都不通嘛。
于是上知乎,搜索 Decision Tree, 有了。原来是 information theory , entropy, ID3, C4.5 的应用。
从 wikipedia 入手吧,只能做个翻译,给自己先了解点基础,做做笔记
Entropy : http://en.wikipedia.org/wiki/Entropy_(information_theory)
ID3 algorithm http://en.wikipedia.org/wiki/ID3_algorithm
C4.5 algorithm http://en.wikipedia.org/wiki/C4.5_algorithm
还有一本书, 《 Elements of Information Theory 》,也是一堆公式堆砌。还是 wikipedia 白话文好懂。
什么是 Entropy ? Entropy 是对一组事件出现概率不确定性的度量。这里是信息论中的说法。简单来说:
1) 如果一组事件中,只能出现一种结果,那么它的 Entropy 就是 0 。它没有不确定性,带来的信息( information) 最少;
2) 如果一组事件中,会有相同概率出现不同的两种结果,那么它的 Entropy 就是 1. 它有不确定性,带来的信息比第一种情况多。
3) 假如一组事件中,会有 a, b, c, d 四种同概率的结果,那么它的 Entropy 就是 2. 它带来的信息更多,不确定性更大
所以 Entropy 是用来衡量不确定性有多大的一种属性,它的刻度可以有 shannon, nat, or hartley. 三种刻度各自对应了对数底数。信息论中以 shannon 为单位刻度,所以底数就是 2 , 单位为 bit.
1 个 bit 可以带来 2 个结果,0, 1,那么这个 Entropy 就是 1. 2 个 bit 带来 4 个结果,00,01,10,11. 所以 Entropy 是 2. 以此类推,得到一个公式:
H(S)=−∑p(xi)∗log2p(xi)
H(S) = - \sum p(xi)* \log_2 p(xi)
由此证明,如果 Entropy 越大,说明信息越多,那么不确定就越强,在做 Decision Tree 的时候,就是要让 Entropy 慢慢变小。
在 data mining - 实用机器学习工具与技术 读书笔记(三)中,谈到在构建天气与室内室外运动相关的决策树例子中(可能是高尔夫,据说是个经典例子,但我是跳看的,只看到一个列表的数据),有一个表达式,关于 info[(2,3)] 的计算公式。这个公式起初怎么也不明白,结果就是一个小数呢。有了贝叶斯的经验,我决定还是再从 《 Discrete 》离散数学机器应用这本书找找答案。 从 Tree 这一章看,也就有了后来的 《 Discrete 》读书笔记(三)。 但是一直到 Depth-first 也没有 Decision Tree 的讲解。无奈翻翻 《概率与统计》《托马斯微积分》同样,无解,因为我根本对两本书都不通嘛。
于是上知乎,搜索 Decision Tree, 有了。原来是 information theory , entropy, ID3, C4.5 的应用。
从 wikipedia 入手吧,只能做个翻译,给自己先了解点基础,做做笔记
Entropy : http://en.wikipedia.org/wiki/Entropy_(information_theory)
ID3 algorithm http://en.wikipedia.org/wiki/ID3_algorithm
C4.5 algorithm http://en.wikipedia.org/wiki/C4.5_algorithm
还有一本书, 《 Elements of Information Theory 》,也是一堆公式堆砌。还是 wikipedia 白话文好懂。
什么是 Entropy ? Entropy 是对一组事件出现概率不确定性的度量。这里是信息论中的说法。简单来说:
1) 如果一组事件中,只能出现一种结果,那么它的 Entropy 就是 0 。它没有不确定性,带来的信息( information) 最少;
2) 如果一组事件中,会有相同概率出现不同的两种结果,那么它的 Entropy 就是 1. 它有不确定性,带来的信息比第一种情况多。
3) 假如一组事件中,会有 a, b, c, d 四种同概率的结果,那么它的 Entropy 就是 2. 它带来的信息更多,不确定性更大
所以 Entropy 是用来衡量不确定性有多大的一种属性,它的刻度可以有 shannon, nat, or hartley. 三种刻度各自对应了对数底数。信息论中以 shannon 为单位刻度,所以底数就是 2 , 单位为 bit.
1 个 bit 可以带来 2 个结果,0, 1,那么这个 Entropy 就是 1. 2 个 bit 带来 4 个结果,00,01,10,11. 所以 Entropy 是 2. 以此类推,得到一个公式:
H(S)=−∑p(xi)∗log2p(xi)
H(S) = - \sum p(xi)* \log_2 p(xi)
由此证明,如果 Entropy 越大,说明信息越多,那么不确定就越强,在做 Decision Tree 的时候,就是要让 Entropy 慢慢变小。
相关文章推荐
- data mining - 实用机器学习工具与技术 读书笔记 ( 五)
- data mining - 实用机器学习工具与技术 - 读书笔记( 二 )
- data mining - 实用机器学习工具与技术 读书笔记 ( 三 )
- data mining - 实用机器学习工具与技术 - 读书笔记( 一 )
- data mining - 实用机器学习与技术 读书笔记(六)
- data mining - 实用机器学习与技术 读书笔记(七)
- 数据挖掘:实用机器学习技术P295页:
- 50个实用的JavaScript工具- - JavaEye技术网站
- 技术文章 | 机器学习分析工具将如何驱动物联网
- 《KVM虚拟化技术实战和原理解析》读书笔记之第六章KVM管理工具
- 深入调试的技术和工具读书笔记一
- 分享iOS开发常用(三方类库,工具,高仿APP,实用网站,技术干货)
- 《机器学习 实用案例解析》读书笔记0
- 机器学习实用案例解析--读书笔记
- 你们的技术团队实用的都是什么工具?(java语言)
- 深入调试的技术和工具读书笔记二
- [读书笔记] 《机器学习-实用案例解析》 Wiki
- 读书笔记 -- 《debug hacks中文版—深入调试的技术和工具》
- 读书笔记:C++ primer 5th edition--chapter19.特殊工具与技术
- 《大型网站技术架构》读书笔记一:大型网站架构演化