分类问题
什么是支持向量机
分类梨和苹果除了用KNN画个圈还有什么好办法?
-
画条线!
-
通过两者所在的空间做出区分当新样本落在苹果一侧就是苹果,反之就是梨。而这条线就是SVM支持向量机。
-
除了界限,样本与线的距离同样有意义代表着样本分类的可信程度,以苹果一侧为例与线距离最远的样本是苹果的可能性最高离的越近是苹果的可能性就越低。
-
目标是在两种样本之间找到能让所有样本的分类可信程度最高的那条线。不必计算所有的距离,只要找到线附近的样本让它们与线的距离越远越好,这个距离被称为分类间隔****,决定了线的样本被称为支持向量**。
-
如果样本的分布有***交叉***,就关注这些无法被线正确分类的样本与线之间的距离,找到能***最小化这个距离的线***。
-
如果样本的分布并不理想,无法用直线区分怎么办?
:通过一定的变换,将它们映射到一个能用直线区分的空间,再寻找分类线。
-
-
在深度学习出现之前,随机森林和SVM是最好用的分类方法,SVM对样本依赖小,不会过拟合,小样本也能取得不错的效果。
什么是随机森林
随机森林里有很多决策树,随机森林是决策树的升级版,随机指的是树的生长过程,随机森林中的树各不相同。在构建决策树时,从训练数据中有放回的随机选取一部分样本,同样,我们也不会使用数据的全部特征,而是随机选取部分特征进行训练,每棵树使用的样本和特征各不相同,训练结果自然不同。
-
为什么要随机样本和特征
:训练最初我们并不知道哪些是异常样本,也不知道哪些特征对分类结果影响更大,随机过程降低了两者对分类结果的影响。随机森林的输出结果由投票决定,如果大部分决策树认为测试数据是好苹果,那么就认为它是一个好结果。树与树之间的独立,它们可以同时训练,随机的过程让它不容易过拟合,能够处理特征较多的高维数据也不需要做特征选择。合理训练后准确性很高,不知道使用什么分类方法时,先试试随机森林。
在机器学习中,随机森林属于集成学习,也就是将多个模型组合起来解决问题,这些模型会独立学习、预测和投票出结果,准确度往往比单个的模型高很多,除了决策树,还可以使用神经网络等其他模型。集成学习内部不必是同样的模型,神经网络和决策树可以共存于同一个系统中。
决策树
在冒险过程中遭遇敌人是攻击还是逃跑,为达到目标根据一定的条件进行选择的过程就是决策树。决策树模型由节点和边构成。节点会根据样本的特征作出判断,最初的节点被成为根节点,其余的被称为子节点,不再有分支的节点则被称为叶子节点,代表样本的分类结果,边则指示着方向,特征这么多谁来做根节点,接下来的节点又该是什么?
为了构造决策树,人们找到了一个衡量标准:熵:代表热力学中系统的混乱程度和决策树分支下样本种类的丰富性。样本种类越多越混乱,熵就越大,如果分支下的样本完全属于同一类,熵就等于0。构造树的基本思路就是随着层数的增加让熵快速降低,熵降低的速度越快,代表决策树的分类效率越高。决策树最大的优点是天然的可解释性,例如:苹果之所以是好苹果,是因为它又大又脆又甜。缺点也很明显:数据都是有特例的,如果一颗树能将样本完美分类,那它一定是过拟合的。
解决的方法很简单,去掉一些分支:剪枝。
预剪枝:在训练开始前规定条件,比如树达到某一深度就停止训练,后剪枝则是先找到树再根据一定条件如限制叶子结点的个数去掉一部分的分支。