决策树算法:隐藏在“当代玄学”外衣下的真相
智能这个词,在当今似乎被赋予了一种非凡的意义:它能轻易参透人类的想法、理解过去甚至预测未来。
一切的机器学习算法最终都被指向于对某种情况的准确预测,而数据挖掘就是其中少不了的玩法之一,从已知数据中找到规律和意义,才能更一步接近“机器预测未来”这件有着当代玄学意味的事。
今天就来简单介绍一下众多算法中较为经典、应用也相对多的决策树算法。
什么是决策树
决策树算法,人如其名,结构就像一棵树,有分叉的枝丫和树叶。枝丫的分叉处是关于目标某一个特征的判断,枝丫本体则是关于该特征的判断结果,而叶子则是判断过后产生的决策结果。
上图就是一个最为简单的分类树决策,当我们看天气预报时,根据降雨、雾霾、气温、活动范围是室内活动还是室外活动等等特征将自己的行为分类为出门和不出门。简单来说,决策树可以被看做由一大堆if-then的判断,每一条枝丫都是一条规则。
而我们看到这颗决策树时,最想问的问题一定是,为什么要将降雨当做决策树的第一个枝丫,为什么不是雾霾情况或气温?
而关于特征划分的选择,就是决策树学习算法的关键,也往往是不同决策树学习算法的差异所在。
以最典型的ID3算法为例,ID3算法中采取“信息增益”为特征划分的标准。抛开一切条件熵、信息熵等复杂的概念不谈,信息增益可以被简单理解为:同一个条件下,信息不确定性减少的程度。
也就是说,当我们用ID3算法为图中决策树划分特征时,我们会拥有一个表格,其中有大量在各种天气情况下是否出行的样本。首先我们要通过公式从数据中得出,当降雨、雾霾等等所有特征皆为未知时我们对于出门这一信息的不确定性数值a。想要判断信息增益,就要依次判断当降雨、雾霾等等某一特征作为已知条件时,我们对出门这一信息的不确定性数值b。
两者相减,就得出了某一特征的信息增益程度。信息增益程度最高的,自然就成为特征划分的顶端,从而可以减少接下来的运算量。
可这种算法最容易出现的问题就是,当我们某一特征的数据严重少于其他特征时,得出的结果很容易出现误差。比如在我们收集的数据中很少有关于人们在雾霾时是否出门情况,却有大量人们在降雨时是否出门的情况,最终就会导致信息增益的计算错误。
应用场景:市场营销和CRM的旧新闻
当然,后来出现的C4.5、Cart等等算法正在不断完善决策树的准确度和应用场景。
决策树最典型的应用场景就是CRM,比如游戏行业内的流失预测模型。通过回溯用户历史行为,选择登录间隔、游戏内停留时长甚至某一关卡是否过关等等,从而去判断究竟是哪一环节让用户对游戏失去兴趣,从而实施对策。
如图所示,如果通过用户历史数据得到这样的决策树,我们就会知道,想要防止用户的流失,我们需要:1、通过奖励鼓励用户登录;2、通过奖励鼓励用户进行对战等等游戏内行为;3、降低BossA难度。
除了CRM,市场营销也常常应用到决策树。其中的要点就是市场细分和用户行为预测。
比如我们可以通过用户性别、地域、职业、收入情况以及历史购买数据将用户分类。得出收入1w左右的上海女性白领是我们的主要用户,几项特征的信息增益程度分别是“性别(女性)”>“地域(上海)”>“职业(白领)”>“收入(1w左右)”。
这时我们需要投放广告时,我们会优先确定广告内容一定要是女性感兴趣的,其次要确定投放地区选择在上海,下一步则要确定投放在上海写字楼周边。这样就能圈定我们所需要用户的性别、地域和职业了。
可问题是,我们无法区分出现在写字楼的女性是白领还是清洁工,更没办法区分他们的收入。但是这不重要,毕竟职业和收入两项特征的信息增益程度是最低的。
这就是决策树最重要的作用,通过分类和排序让我们可以进行取舍,从而尽量去实现精准营销。
优点与缺点兼备,决策树没那么神奇
决策树算法的优点有很多,比如计算过程相对简单,容易理解。就像上图提到的,如果我选择不出门,我可以清晰的提出“虽然没有降雨也没有雾霾,但是今天的气温低于18℃,所以我决定不出门”。而如果把数据给到和决策树十分相似的神经网络算法,我得到则是一大堆比树状图复杂太多的权重相关数据。
决策树的缺点也很明显,最典型的,由于决策树基于特征进行判断,只要人为对特征进行一些改变,决策树就会做出错误的判断。比如我们常会收到一些垃圾短信,内容大概是“澳.门.du.chang……”。
这就是利用决策树进行垃圾短信屏蔽时,把是否出现“澳门赌场”作为判断特征之一,可通过一些小小的人为改变,决策树就开始失灵了。
可见决策树作为算法,“智能”的程度着实有限,很多时候也仅被看做数据挖掘的工具、或作为其他算法的基础搭设。
从上述的案例中也能看出,决策树的应用几乎无处不在,其应用历史也长的可怕。只是最近几年又被“智能”的风吹了起来。
某家电商企业曾经大肆鼓吹自己的智慧营销,声称自己能在电商节开始前就把货品提前配送到有购买意向用户附近的货仓里。外行人一听,还以为该企业的运营员工参透了推背图,实际上,只要掌握了用户收货地址、历史购买记录等等信息,通过决策树就能实现。
比如我掌握了大量购买尿不湿用户的数据,发现某条街道中购买尿不湿的用户最多。那我当然要把明天打三折的奶粉提前送到这条街道的货仓中了。
除了电商营销,还有很多自称Fintech的风控模型、能判断员工是否流失的智能人资管理系统等等。其实哪里有什么智能呢?只不过是这行混的久了,数据累积的多了;硬件发展了,计算能力变强了;融到资了,雇得起人做数据挖掘了。
之所以会出现“当代玄学”这一笑谈,还不是因为在这些企业的“人工智能”里,有多少人工,就有多少“智能”。
更多精彩内容,关注钛媒体微信号(ID:taimeiti),或者下载钛媒体App