如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
决策树算法Input决策树是用样本的属性作为结点,用属性的取值作为分支的树结构。决策树的根结点是所有样本中信息量最大的属性。树的中间结点是该结点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样本的类别值。决策树是一种知识表示形式,它是对所有样本数据的高度概括。决策树能准确地识别所有样本的类别,也能有效地识别新样本的类别。ID3方法基本思想对于气候分类问题,属性为:天气(A1)取值为:晴,多云,雨气温(A2)取值为:冷,适中,热湿度(A3)取值为:高,正常风(A4)取值为:有风,无风每个样例属于不同的类别,此例仅有两个类别,分别为P,N。P类和N类的样例分别称为正例和反例。将一些已知的正例和反例放在一起便得到训练集。表6.4.1给出一个训练集。由ID3算法得出一棵正确分类训练集中每个样例的决策树,见下图。天气决策树叶子为类别名,即P或者N。其它结点由样例的属性组成,每个属性的不同取值对应一分枝。若要对一样例分类,从树根开始进行测试,按属性的取值分枝向下进入下层结点,对该结点进行测试,过程一直进行到叶结点,样例被判为属于该叶结点所标记的类别。现用图来判一个具体例子,某天早晨气候描述为:天气:多云气温:冷湿度:正常风:无风它属于哪类气候呢?从图中可判别该样例的类别为P类。ID3就是要从表的训练集构造图这样的决策树。实际上,能正确分类训练集的决策树不止一棵。Quinlan的ID3算法能得出结点最少的决策树。二、ID3算法实例计算|S|表示例子集S的总数,|ui|表示类别ui的例子数。对9个正例和5个反例有:P(u1)=9/14P(u2)=5/14H(S)=(9/14)log(14/9)+(5/14)log(14/5)=0.94bit信息增益的计算公式:其中A是属性,Value(A)是属性A取值的集合,v是A的某一属性值,Sv是S中A的值为v的样例集合,|Sv|为Sv中所含样例数。属性Ai的信息增益17计算结果ID3算法将选择信息增益最大的属性天气作为树根,在14个例子中对天气的3个取值进行分枝,3个分枝对应3个子集,分别是:S1={1,2,8,9,11};S2={3,7,12,13};S3={4,5,6,10,14}其中S2中的例子全属于P类,因此对应分枝标记为P,其余两个子集既含有正例又含有反例,将递归调用建树算法。天气分别对S1和S3子集递归调用ID3算法,在每个子集中对各属性求信息增益.(1)对S1,湿度属性信息增益最大,以它为该分枝的根结点,再向下分枝。湿度取高的例子全为N类,该分枝标记N。取值正常的例子全为P类,该分枝标记P。(2)对S3,风属性信息增益最大,则以它为该分枝根结点。再向下分枝,风取有风时全为N类,该分枝标记N。取无风时全为P类,该分枝标记P。这样就得到如图所示的决策树对ID3的讨论⒉缺点(1)信息增益的计算依赖于属性取值的数目较多的属性,这样不太合理。一种简单的办法是对属性进行分解,如上节例中,属性取值数目不一样,可以把它们统统化为二值属性,如天气取值晴,多云,雨,可以分解为三个属性;天气—晴,天气—多云,天气—雨。取值都为“是”或“否”,对气温也可做类似的工作。这样就不存在偏向问题了。(2)用信息增益作为属性选择量存在一个假设,即训练例子集中的正,反例的比例应与实际问题领域里正、反例比例相同。一般情况不能保证相同,这样计算训练集的信息增益就有偏差。(3)ID3在建树时,每个节点仅含一个属性,是一种单变元的算法,属性间的相关性强调不够。虽然它将多个属性用一棵树连在一起,但联系还是松散的。(4)ID3对噪声较为敏感。关于什么是噪声,Quinlan的定义是训练例子中的错误就是噪声。它包含两方面,一是属性值取错,二是类别给错。(5)当训练集增加时,ID3的决策树会随之变化。在建树过程中,各属性的信息增益会随例子的增加而改变,从而使决策树也变化。这对渐近学习(即训练例子不断增加)是不方便的。总的来说,ID3由于其理论的清晰,方法简单,学习能力较强,适于处理大规模的学习问题,在世界上广为流传,得到极大的关注,是数据挖掘和机器学习领域中的一个极好范例,也不失为一种知识获取的有用工具。NO.