data mining - 实用机器学习工具与技术 读书笔记 ( 三 )

Decision Tree , 决策树:
1) 理论依据是什么?
2) 解决哪些常用的问题?
3) 如何实现一棵决策树?

还是以书中常用的例子,天气数据

data mining - 实用机器学习工具与技术 读书笔记 ( 三 )_第1张图片

第一步是列出所有的可能的树节点与结果的关系,节点是 attribute 的各种可能值,叶节点存储的是每个值对应的结果。

那么还是要参考 《 Discrete Matchmatics and its applications 》 离散数学及其应用这本书。

书中有这么一个例子:

Suppose there are seven coins, all with the same weight, and a counterfeit coin that weighs less than the others. How many weighings are necessary using a balance scale to determine which of the eight coins is the counterfeit one ?

大意是: 有 7 个相同重量的硬币,和 1 个轻一些的假币。如何从中用天平称量出假币, 最少要几次?

答案是 2 次:如图示:

data mining - 实用机器学习工具与技术 读书笔记 ( 三 )_第2张图片

为了方便理解这棵树,有几个概念需要理一下:

1 - Vertices : 泛指所有的顶点与树叶节点
2 - Internal Vertices: 泛指有子节点的顶点
3 - m-Ary: 所有子节点不超过 m 个的树
4 - full m-Ary : 所有顶点都包括 m 个节点的树

关于 Full M-Ary : M [2) 有三则公式可以推导。
假设 m 代表 M-Ary 中的 M, 表示几个子节点,n 代表总共含有的 vertices, i 代表 internal vertices, L 代表页级节点
1) n=mi+1
2) i=(n1)m
3) L=ni=n(n1)m=mn(n1)m=n(m1)+1m

其他公式兼可以由此推断出来。

书中有个例子也是非常深入浅出

Suppose that someone starts a chain letter. Each person who receives the letter is asked to send in on to four other people. Some people do this, but others do not send any letters. How many people have seen the letter, including the first person, if no one receives more than one letter and if the chain letter ends after there have been 100 people who read it but did not send it out, how many people sent out the letter.

当 1 个人拿到一封信之后, 可以选择传给另外的其他 4 个人, 也可以不传。 拿到信的那个人,继续选择传给另外 4 个人,或者选择不传。 假设 1 个人只能拿到一次信,并且有 100 个人读过了这封信并且没有再次传出来, 那么有多少人是看到过这封信的(包括第一个传信的人) ?又有多少是传出来的 ?

n : 代表所有拿到这封信的人;
m: 代表 4
i: 代表将信传出来的人
l :代表没有将信传出来的人 ,显然这里是 100 = n(m1+1)m = > n = 133
那么 n = m*i + 1 = 133 => i = 33

关于平衡树, Balanced M-Ary Tree

1) root 代表的是 0 , 那么 第一级可以表示为 L1, 第二级 L2, 以此类推, Ln
2) Height of the tree: 最深一级的 Leaf 就是这棵树的 Height.
3) 如果所有的 Leaf 高度都一样,那么就是平衡树。
4)从平衡树的角度来考虑, 一棵树最多含有 mh 个页级点。这是个以 m 进制考虑的等比数列问题。
root 为 m0 = 1 , L1 = m1 = m, L2 = m2 , Lh = mh

所以刚开始的挑硬币的问题,应该可以归纳为 log38 的问题。

你可能感兴趣的:(数据)