SVM(二分类模型) 主要思想:找到空间中一个更够将所有数据样本划分开的超平面,并且使得数据集中的所有数据到这个超平面的距离最短。 决策树(分类回归) 构建过程: 1、构建根节点,将所有训练数据都放在根节点 2、选择一个最优特征,按照这一特征将训练数据集分割成子集,是的各个子集有一个在当前条件下最好的分类 3、如果子集非空,或子集容量未小于最少数量,递归1,2步骤,直到所有训练数据子集都被正确分类或没有合适的特征为止
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据 缺点:可能会产生过度匹配的问题。
二叉树 1 每个节点最多两颗子树 2 二叉树的字数有左右之分,其子树的次序不能颠倒
Random Forest 随机森林 一、训练样本有效地随机采样 二、训练特征随机选择 优点: 1 模型随机性强,不易overfit ,抗噪性强,对异常点outline不敏感 2 处理高维数据相对更快 3 树状结构,模型可解释度高,可以体现每个特征的重要性 缺点: 模型过于General,不具备处理过于困难的样本的能力
K-Nearest Neighbor, KNN (分类)“近朱者赤近墨者黑” 实现原理:为了判别未知样本的类别,以所有已知类别的样本作为参照,计算未知样本与所有已知样本的距离,从中选取与未知样本距离最近的k个已知样本,根据少数服从多数的原则,将未知样本与K个最邻近样本中所属类别占比较多的归为一类。
KNN的优点:
- 简单,易于理解,易于实现,无需估计参数,无需训练
- 适合对稀有事件进行分类
- 适合于多分类问题,KNN表现要比SVM好
缺点: - 当样本不平衡时,如一个类的样本容量很大,而其它类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
- 计算量较大,因为对每个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点
算法实现: 1、算距离:给定待分类样本,计算它与已分类样本中的每个样本的距离 2、找邻居:圈定与待分类样本距离最近的K个已分类样本,作为待分类样本的邻近 3、做分类:根据这K个近邻中的大部分样本所属的类别来决定待分类样本该属于哪个分类
K-means(聚类) 通过计算样本之间的距离(相似程度)将较近的样本聚为同一类别。
使用K-means时主要关注的两个问题:
- 如何表示样本与样本之间的距离(核心问题),最常见的就是欧式距离。
- 分为几类,需要根据应用场景选取
k-means算法主要流程: 1、手动设定簇的个数k 2、将每个簇心(cluster centers)随机定在一个点上 3、将每个数据点关联到最近簇中心所属的簇上 4、对于每个簇找到其所有关联点的中心点(取每一个点坐标的平均值) 5、将上述点变为新的簇心 6、不停重复,直达每个簇所拥有的点不变
从EM角度理解k-means? k-means是两个步骤交替进行,可以分别看成E步和M步 M步中将每类的中心更新为分给该类各点的均值,可以认为是在[各类分布均为单位方差的高斯分布]的假设下,最大化似然值; E步中将每个点分给中心距它最近的类,可以看成是EM算法中E步的近似
为什么k-means一定会收敛? M步中的最大化似然值,更新参数依赖的是MSE,MSE至少存在局部最优解,必然收敛。
k-means初始点除了随机选取之外的方法? 先层次聚类,再在不同层次上选取初始点进行k-means聚类
HMM 评估:前后向算法 学习:Baum-Welch算法 (EM) 解码:维特比算法
|