传统的机器学习有很多的算法,我上一篇文章整理的KNN是一类,本文将要讲的决策树也是一种很重要的算法,当然要提前说明的是,这些算法本身也有很多小的知识点和分类,我这里只准备将其最经典的算法(或者说入门算法,以及自己对它的理解)随着自己的技术水评的提升后期会一一补充回来的。
决策树的相关理论知识,我认为比我整理的全面的大有人在,所以在这里就分享出来 : 决策树(分类树、回归树) 而我只分享自己的感想,因此各位读者在阅读本文的文章和代码的过程中一定要去认真看看提及到的相关文章,站在巨人的肩膀上才能看的更远,当然本文不会提及决策树相关的所有概念,欢迎补充指点。
在记录我的学习路径之前我还是提一下喽,非常欢迎志同道合的同学加入我们的交流群,可以讨论相关的所有内容,我也会把包括我文章资源在内的所有资源尽数分享给大家,一起学习一起进步,欢迎进群~~~
一 、决策树相关概念及理解
注: 相关概念中所包含的概念只是我认为非常必要且重要的,但是并不完整。
个人理解:
可以将决策树理解为一个构建(倒置大树)的一个过程,而我们构建的算法就是完成这一个“树”的工具,可能你会疑问那机器学习在这里扮演的位置是什么呢?
没错,机器学习就是用于完成在从若干的训练集中提取相关信息(香农熵与信息增益),也就是说,我们构建好的这棵树其中包含了针对相关事件或者数据的潜在信息或者内在信息,而预先判断(本质是分类)正是用这些信息进行的。
当然,你也可以说,人工也可以提取这些信息,无非就是在不同情况下做什么决定的问题,当然可以,但是如果一件事物的影响因素(特征维度)远远大于人的处理极限的时候,就需要决策树算法(或者别的算法)帮助了。
而决策树算法的本质是对于不同特征的级次进行排序的问题(计算对应的信息增益)
举个栗子:
女孩去相亲,相亲条件是将有房有车排在第一位(第一级)还是将有上进心排在第一级,这就是决策树的问题。
- 香侬熵(information entropy)
- 信息增益(information gain)
香侬熵(information entropy):
其中P 是对应事件的概率(这个概念看起来简单,但是实际运算与使用过程中只有用心体会才能进一步理解)而ln也可以替换为对应的log2
信息增益(information gain):