如果你以为高大上的AI模型都是一堆看不懂的微积分公式,那你可能要失望了。
在深度学习神经网络大杀四方之前,江湖上有一位“老前辈”,它的逻辑简单到令人发指——就是不停地做“是非题”。
这就是决策树。
它不需要你懂高数,不需要你调参调到头秃,它就像一个极度较真的办事员,对着数据问一串问题:“直径大于0.45吗?”“是。”“高度小于0.2吗?”“否。”——好了,分类完成。
看似人畜无害,实则暗藏“洁癖”。
最近,一篇来自MLU-Explain的深度文章,把这位“老前辈”的里里外外扒了个干净。读完你会发现,决策树之所以强悍,又之所以“脆弱”,都源于它对“秩序”近乎病态的执着。
熵必须为零
决策树的核心驱动力是什么?不是魔法,是“熵”。
这个词听着玄乎,其实就是“混乱度”。
当一个节点里混杂着各种标签,乱成一锅粥时,熵就很高;当大家整齐划一,全是同一类时,熵就是0。
决策树有严重的“强迫症”,它无法忍受熵大于0。
它的唯一使命,就是把这一团乱麻的数据,切成一个个纯净的小方块。
怎么切?这就用到了核心算法ID3。
这货是个典型的“短视主义者”。它采用贪婪策略,每一步都只看眼前:怎么切能让混乱度下降最快? 也就是所谓的“信息增益”最大。
举个直观的例子:对于“直径”这个特征,算法会疯狂尝试各种切分点,最后锁定在0.45这个位置。为什么?因为在这儿切一刀,信息增益达到了峰值0.574。
那一刻,世界仿佛清静了。
为了纯净,不惜一切
但这种贪婪,是有代价的。
为了追求所谓的“纯净”,ID3算法会不知疲倦地分裂节点,直到每一个叶子节点都纯得像蒸馏水。
这听起来很美,
但如果你放任它这么干,它会把训练数据里的每一个噪点都当成真理来对待——过拟合。
更要命的是,决策树极度敏感,甚至有点“神经质”。
只要你在训练数据里稍微动一点点手脚,比如加上一点点随机扰动,哪怕只是5%的微小变化,整棵树的结构都可能发生翻天覆地的改变。
上一秒它还在看“直径”,下一秒它可能就改主意去看“高度”了。
这种不稳定性,简直是工程落地者的噩梦。
专家也不过是棵树
有意思的是,虽然决策树有各种毛病,但在评论区,各路大神却对它爱不释手。
有一位网友的话特别扎心。他说,哪怕专家们觉得自己决策过程很复杂,其实往往也就是个简单的决策树。
甚至有人提到,单比特神经网络本质上就是决策树。 理论上,你可以把大部分神经网络“编译”成一堆if-else语句。
以及,决策树拼命学到的那些分裂规则,到底是知识,还是仅仅记住了训练集里的偏见?
如果数据本身带有偏见,那棵被精心修剪出来的“完美之树”,可能只是一棵“偏见之树”。
以毒攻毒
单棵树这么脆弱,动不动就“翻脸不认人”,怎么办?
引入更多的随机性。
这就是大名鼎鼎的随机森林。
既然一棵树容易过拟合,容易受干扰,那就干脆造一片森林。让每棵树都看一部分数据,甚至只看一部分特征,最后大家投票表决。
这简直是“以毒攻毒”的典范。
用随机性去对抗敏感性,用群体的混乱去消解个体的极端。
决策树,这个看似最“笨”的模型,靠着简单的if-else逻辑,硬是在AI界站稳了脚跟。
**so,**简单规则可以解决复杂问题,但过度追求完美,往往会让你变得脆弱不堪。
参考链接:
https://mlu-explain.github.io/decision-tree/