常用分类算法解析

分类是一种通过建模预测样本所属类型的方法,其目的是通过对样本特征的衡量将它归入正确的类。分类模型也有两种,一种是可以用一条线或一个平面将数据划分为两类,可以通过建立回归平面的方式进行分类;第二种就是无明显线性可分关系,这时候认为长得相似的样本值也相同。常用算法如下:

一、感知机

(一)原理

感知机是一种二分类模型,属于很早提出来的分类模型了,通过建立回归平面进行数据划分。其原理是,在样本空间构建一个分离超平面将数据分类。其目的是极小化误分类点到分离超平面的距离

(二)优缺点

优点:

  • 简单易懂,编程容易实现
  • 是支持向量机和神经网络的基础

缺点:

  • 目前在工业上使用较少
  • 只能处理线性可分数据
  • 无法解决回归问题

二、支持向量机SVM

(一)原理

支持向量机是一个分类学习算法,其目的是要将输入的实例分为两类。分类算法的目的是计算出一个分离超平面将实例分为两类,当分类的实例距离这个超平面越远,越不可能误分类,所以支持向量机的目的就是得到,能让实例距离很远的分离超平面。对未知的新实例有很好的分类预测能力。并且可以使用核函数将非线性数据映射到高维空间进行求解解决非线性问题。

(二)优缺点

优点

  • 可以解决高维问题,即大型特征空间;
  • 能够处理非线性特征的相互作用;
  • 无需依赖整个数据;
  • 可以提高泛化能力;
  • 需要对数据提前归一化,很多人使用的时候忽略了这一点,毕竟是基于距离的模型,所以LR也需要归一化

缺点

  • 当观测样本很多时,效率并不是很高;
  • 一个可行的解决办法是模仿随机森林,对数据分解,训练多个模型,然后求平均,时间复杂度降低p倍,分多少份,降多少倍
  • 对非线性问题没有通用解决方案,有时候很难找到一个合适的核函数;
  • 对缺失数据敏感;

三、逻辑回归

(一)原理

实际中最常用的就是二分类的Logistic回归,用于分类。Logistic回归本质上是线性回归,先把特征进行线性求和,然后根据求和的得分进行预测。

其损失函数的目的是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重

(二)主要用途

•寻找危险因素:寻找某一疾病的危险因素等;

•预测:根据模型,预测在不同的自变量情况下,发生某病或某种情况的概率有多大;

•判别:实际上跟预测有些类似,也是根据模型,判断某人属于某病或属于某种情况的概率有多大,也就是看一下这个人有多大的可能性是属于某病。

(三)优缺点

优点:

  • 预测结果是界于0和1之间的概率;
  • 可以适用于连续性和类别性自变量;
  • 容易使用和解释;

缺点:

  • 当特征空间很大时,逻辑回归的性能不是很好;
  • 容易欠拟合,一般准确度不太高;
  • 不能很好地处理大量多类特征或变量;只能处理两分类问题(在此基础上衍生出来的Softmax可以用于多分类),且必须线性可分;
  • 预测结果呈“S”型,因此从log(odds)log(odds)向概率转化的过程是非线性的,在两端随着log(odds)log(odds)值的变化,概率变化很小,边际值太小,slopeslope太小,而中间概率的变化很大,很敏感。 导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值;
  • 对于非线性特征,需要进行转换;

四、朴素贝叶斯:

(一)基本原理

朴素贝叶斯是以已知条件求未知的一种方法。其通过寻找影响结果的特征构建已知特征与结果的关系,并利用极大似然估计法用历史数据估计计算所需数据求解得出结论的过程。

(二)优缺点

优点

  • 朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率;
  • 对小规模的数据表现很好,能个处理多分类任务,适合增量式训练;
  • 对缺失数据不太敏感,算法也比较简单,常用于文本分类。

缺点

  • 需要计算先验概率;
  • 分类决策存在错误率;
  • 对输入数据的表达形式很敏感。

五、knn算法(可用于分类和回归)

(一)基本原理

knn模型认为长得像的数据各方面信息也相近。knn是一种常用的监督学习方法,给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。

判定方法

在分类任务中的可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果;

在回归任务中可使用“平均法”,即将这k个样本的标记平均值作为预测结果。

还可以根据距离远近,对样本进行加权,实现加权平均或加权投票。

(二)注意点

1、距离度量方法不同,找到的“近邻”也可能有显著区别,进而导致分类结果不同。通常是用欧式距离,即平方和开根号。

2、k在其中是一个相当重要的参数,k取值不同时,分类结果会有显著不同。

(三)优缺点

优点

  • 适合对稀有事件进行分类(例如当流失率很低时,比如低于0.5%,构造流失预测模型)
  • 特别适合于多分类问题(multi-modal,对象具有多个类别标签),例如根据基因特征来判断其功能分类,kNN比SVM的表现要好
  • 理论成熟,思想简单,既可以用来做分类也可以用来做回归;
  • 可用于非线性分类;
  • 训练时间复杂度为O(n);
  • 对数据没有假设,准确度高,对outlier不敏感;

缺点

  • 计算量大;
  • 样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少);
  • 需要大量的内存。

六、决策树

(一)原理

可以解决线性不可分问题,适用于离散型数据。其实质也是认为长得相似的样本的类别会相同,决策树实质就是将样本数据进行层层细分,依据数据的特征划分为不同的块,认为每块数据的值相同。进行预测时只要确定预测的数据特征属于哪一块就可以确定最终的结果。

决策树是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。

进行划分时的关注点:

如何确定分类的特征属性:信息增益、信息增益比、基尼指数

(二)优缺点

优点

  • 计算简单,易于理解,可解释性强;
  • 比较适合处理有缺失属性的样本;
  • 能够处理不相关的特征;
  • 在相对短的时间内能够对大型数据源做出可行且效果良好的结果。

缺点

  • 可能会建立过于复杂的规则,即过拟合。
  • 决策树有时候是不稳定的,因为数据微小的变动,可能生成完全不同的决策树。
  • 实际决策树学习算法是基于试探性算法,例如在每个节点实现局部最优值的贪心算法。 这样的算法是无法保证返回一个全局最优的决策树。可以通过随机选择特征和样本训练多个决策树来缓解这个问题。
  • 有些问题学习起来非常难,因为决策树很难表达。如:异或问题、奇偶校验或多路复用器问题
  • 如果有些因素占据支配地位,决策树是有偏的。因此建议在拟合决策树之前先平衡数据的影响因子。
  • 不支持在线学习,于是在新样本到来后,决策树需要全部重建

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注