上 【AI底层逻辑】——篇章5:机器学习算法之回归分类( 四 )


该算法告诉我们,最佳分割线是到两边的点的间隙距离最大的那条直线,如左图 。但是在划分数据集时不是所有问题都可以用一条直线来完成分割,如右图 。
其中的秘密武器是,使用到了一种被称为“核技巧”的数学转换方法 。它能将数据从采样空间重新映射到更容易被分离的超空间,实质是一种数据“升维”处理 。涉及数学过程较为复杂:非线性规划求解、拉格朗日乘子法、对偶问题优化、序列最小优化算法(SMO)、核函数方法等,不展开!简单来说,SVM算法将在低维空间里解决不了的分类问题,放到高维空间解决,数学上证明这种“升维”动作是可行的,不会带来额外的计算开销(这点保证了算法运作的高效) 。
它的逻辑是这样的,二维空间无法解决的线性不可分问题映射到三维空间,原本二维空间上的分类边界变成三维空间上分类函数在二维空间上的投影 。同理三维空间上的线性不可分问题,可把函数映射到四维空间,找到四维空间的超平面来完成分割任务,以此类推 。
一个更为简单的例子,一维上的3个点(-1、0、1)无法只用一个断点来分成三类,它的过程可以使这样:
SVM是一种优雅的算法,既有数学上的美感,游客很好解释工程问题,还蕴含哲学思想——当你掌握更多维度的数据,以更高的视角去观察事物,一切将变得so easy!
④分类算法3——决策树算法
树形也是人类思维的基本规律,这种结构易于记忆、说话、演讲、写作等,人所作的每个选择都可分解成一连串的小型决策,一个又一个小型决策组成巨大的决策树,德国数学家莱布尼兹曾说:“生命可以分解为一连串连续的二元决策,某种意义上生命就是决策树算法!多么美妙的解释!
树形结构擅长分类和检索 。数据库中的数据表索引一般是树形结构,操作系统的内存和进程管理也会用到树,可以较小的开销大幅提高搜索速率 。
决策树算法是一种树形结构的决策算法,决策树可看作一个编程语法中if-then规则的集合,整个决策过程直观易理解,解释逻辑良好,可视化良好!
核心逻辑——把一件很复杂的事情拆分成一个个高效的子决策项 。如海龟汤游戏用问“是否的问题”猜测事物的真相 。
算法目的——生成一棵泛化能力尽可能强的决策树,让它可以很好地处理没见过的数据——找出一种最能消除不确定性的划分枝叶的方法 。
实现——每次决策后比较划分枝叶前后的信息熵,计算出信息增益量,信息增益量越大,说明消除的不确定性越高,本次这种划分也最好 。当然实际构建决策树,特征选择还有很多方法(如基尼指数等),但无论哪一种目的都是挑选最佳的特征,通过特征的选择使得原
剪枝问题——决策树算法中样本数据很容易过度划分,剪枝就是为一棵决策树剪去多余的枝叶,避免出现过拟合 。一般有两种方法:①预剪枝,在决策树生成过程中,估计每个节点在划分后的效果提升程度,决定是否接受当前的划分;②后剪枝,先生成一棵完整的决策树,然后自底向上逐个考察各个非叶子节点(最底下是叶子),评估它们能否替换为叶子节点,这种方式属于后剪枝 。
【上【AI底层逻辑】——篇章5:机器学习算法之回归分类】缺陷与解决——决策树模型是单个预测器,最大的问题是不稳定,有时训练样本集合的变化很小,但是生成的决策树会有很大差异 。为此,人们将数以百计的决策树模型组合起来,每次分类时随机选择树模型,形象称之为随机森林算法 。随机森林中每棵树模型的层数较少,分类精度不会要求太高,但是组合起来也会表现出很好的预测结果 。