-plogp,log是对数函数,p就是概率,也就是可能性大小。
说人话就是,我们想要挑选这样的特征:在选用这个特征去判断每个压力阀所属的【上下左右中】具体位置类别之前,各类别比较混乱,就是啥位置的都有;在选用某个特征(也就是特征对应的数字)去判断位置之后,属于位置上面的都划到一块,位置下面的都划到一块,这样比之前有序了一点,起码上面的和下面的不会掺和在一块,那信息熵就减小了一些;我们需要看看选哪个特征能够让这个变化最大,也就是选哪个数字能够让这些压力阀的位置更有区分性。这个区分性的程度就通过信息熵的差,也就是信息增益来刻画:
假如除了尾舱之外的所有位置一共有d个压力阀,他们在舰船不同的位置都是按照上下左右中这样的位置来摆放的,而且上下左右中位置的压力阀个数分别是a,b,c,d,e,那么这时的混乱程度——信息熵就可以表示为:
(-a/d)log(a/d) + (-b/d)log(b/d) +(-c/d)log(c/d)+(-d/d)log(d/d) +(-e/d)log(e/d) = a
每一类的熵加在一起,就是现在所有这些压力阀的混乱程度;每一类的占比,就是-plogp公式里面的p,比如a/d这个比例就是a这一类的概率,以此类推... ...
然后呢?比如我们按照第一个数字分,分完之后d个压力阀划分成了3坨,每一坨里面有的位置分对了,有的分错了,也就是说每一坨里面还是回有一定的混乱程度,但是已经没有像原来那么混乱了,比方说第一坨,里面20个压力阀,有15个都是“上”这个位置的,其他5个分错了;其他的坨也一样;假设这3坨的信息熵也就是混乱程度分别是aa,bb,cc;三坨的压力阀的数量分别是n1,n2,n3;那么按照第一个数字分完之后的总体混乱程度(信息熵)就是:
n1/d * aa + n2/d * bb + n3/d * cc = b,
那么划分之后更有序了,信息熵应该小,所以b < a, 用a-b得到的差就是信息增益;
然后再去试试用第二个数字走一遍;
用第三个数字走一遍;
... ...
发现第三个数字的时候,能够让划分之后的压力阀更有序,也就是区分的更好,大概可以把上下左右中分个差不离... ...
然后星牛抢过话茬:然后接着分,再看一遍其他数字,看看哪个适合用来进一步确定那些分的不对的压力阀的位置... ...直到最后所有的压力阀位置都分对了,那么说明我们找到了利用这些数字判断压力阀位置的顺序;也就是我们知道,先看哪个数字,再看哪个数字,,,,最后看哪个数字能够把位置判断的最正确。
“哈哈哈”,bit拍了一下星牛的肩膀:“学得很快嘛!”
就这样,通过bit的方法,找到了尾舱30个压力阀所处的方位,舰体成功修复!
众人目瞪口呆:bit怎么一下子有这么强的分析与抽象能力了!
只是一旁的naco忽然想起来一件事:几天前,在大家统一休息时,naco失眠出来舰长曾独自一人进入了按规定本需安全小组全体成员在场才能进入的安全会议室并待了很长时间… ...
02—掉书袋
【1】 上述情节是对决策树分类算法的一个通俗演义。
【2】 决策树就像一堆if-else集合,不断地进行选择从而走向不同的分支,最终走到叶子结点(也就是最终的位置)。
【3】 有时候决策树在部分数据上训练之后,容易过拟合(也就是过于贴合训练数据,导致模型迁移到其他数据上时表现不佳),这时候可以对决策树进行剪枝——也就是裁掉部分节点或者换句话说减少一些if-else规则。
【4】 奥卡姆剃刀原则是机器学习中经常遵守的基本原则,简单说就是达到相同的效果(如正确率)需要的参数越少越好或模型的规模越小越好。
【5】剪枝分为预剪枝和后剪枝,预剪枝指的是对特征进行筛选,也就是通过挨个尝试每个特征进行划分之后的正确率更大,就采用哪个特征;后剪枝指的是事先先训练好一个决策树,然后自底向上对非叶子结点进行判断:如果删掉该节点,整棵树的分类正确率是否提高,如果提高了,那么裁减掉这个节点及其叶子结点,从而达到缩减模型复杂度的效果,提高泛化性。
03—参考文献
1. 关键字:《统计学习方法》、李航
2. 关键字:《机器学习》、西瓜书、周志华
3. 关键字:coursera、决策树
比奇屋 www.biqi5.com