分类方法总结

对机器学习中常用的分类算法进行总结

目录

1.逻辑回归

(1)LR思想

(2)损失函数

2.naive byeis

(1)NB原理

(2)NB优缺点

3.SVM

(1)划分超平面

(2)支持向量

(3)拉格朗日求解

(4)非线性支持向量机和核函数

(5)与LR的区别(面试常考)

4.KNN

(1)KNN原理

(2)三要素

(3)KNN优缺点


1.逻辑回归

(1)LR思想

逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。

对线性回归的结果(y=wx+b)做一个在sigmoid函数上的转换,压缩到[0,1](不仅能得出分类结果,还能得出分到此类的概率)

(2)损失函数

我们希望损失函数的值越小越好,对于二分类,当真值为1,模型的预测输出为1时,损失最好为0,它的函数为:

 

2.naive byeis

(1)NB原理

朴素贝叶斯方法是一种生成模型,对于给定的输入x,通过学习到的模型计算后验概率分布P(c | x),将后验概率最大的类作为x的类输出,已知贝叶斯定理如下

当B为样本x,A为类别c,则可以借助这个公式来推理后验概率P(c | x)

(2)NB优缺点

1)对小规模的数据表现很好

2)适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练

3)朴素贝叶斯模型的特征条件独立假设在实际应用中往往是不成立的。(二假设:样本独立同分布、属性条件独立)

4)如果样本数据分布不能很好的代表样本空间分布,那先验概率容易测不准

3.SVM

(1)划分超平面

(2)支持向量

(3)拉格朗日求解

  分别对w和b求偏导,并令其导数为0,故而求得

(4)非线性支持向量机和核函数

对于非线性可分的问题,将训练样本从原始空间映射到一个更高维的空间,使得样本在这个空间中线性可分

   常用核函数如下表:

(5)与LR的区别(面试常考)

相同点:都是监督学习算法、分类算法、判别算法;在学术界和工业界都应用广泛

不同点:

1)loss function不同;

SVM损失函数自带正则||w||2,这是SVM结构风险最小化的原因。而LR需另外添加正则项。

(LR的损失函数是 cross entropy loss, adaboost的是 expotional loss ,svm是hinge loss,常见的回归模型是均方误差 loss)

2)LR考虑全局,而SVM只考虑局部的边界线附近的点;

3)在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法

4)线性 SVM 依赖数据表达的距离测度,所以需要先对数据做 normalization, LR 则不受影响

4.KNN

(1)KNN原理

存在一个样本数据集合,并且样本集中每个数据都存在分类标签。输入没有标签的数据后,将新数据中的每个特征与样本集中数据对应的特征进行比较,依据投票法提取出样本集中特征最相似数据(最近邻)的分类标签。

(2)三要素

分别是k值的选取,距离度量的方式和分类决策规则。

其中,K值选择不同会导致不一样分类结果。在实际应用中,K值一般取一个比较小的数值,例如采用交叉验证法(简单来说,就是一部分样本做训练集,一部分做测试集)来选择最优的K值。

(3)KNN优缺点

1)KNN没有显示的训练过程,它是“懒惰学习”的代表,它在训练阶段只是把数据保存下来,训练时间开销为0,等收到测试样本后进行处理

2)计算量大,因为对每一个待分类的样本都要计算它到全体已知样本的距离,才目前常用的解决方法是事先对已知样本点进行剪辑,去除对分类作用不大的样本;

猜你喜欢

转载自blog.csdn.net/zhiman_zhong/article/details/88355854