首页 > 代码库 > Svm相关
Svm相关
Svm相关:
1) SVM方法是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题.
2) 逻辑回归和SVM的区别在于逻辑回归采用的是logistical loss,svm采用的是hinge loss。这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。两者的根本目的都是一样的。此外,根据需要,两个方法都可以增加不同的正则化项,如l1,l2等等。所以在很多实验中,两种算法的结果是很接近的。
但是逻辑回归相对来说模型更简单,好理解,实现起来,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些。但是SVM的理论基础更加牢固,有一套结构化风险最小化的理论基础,虽然一般使用的人不太会去关注。还有很重要的一点,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算量。
3) 核函数
SVM关键是选取核函数的类型,主要有线性内核,多项式内核,径向基内核(RBF),sigmoid核。最常用的是Linear核与RBF核。
1. Linear核:主要用于线性可分的情形。参数少,速度快,对于一般数据,分类效果已经很理想了。
2. RBF核:主要用于线性不可分的情形。参数多,分类结果非常依赖于参数。有很多人是通过训练数据的交叉验证来寻找合适的参数,不过这个过程比较耗时。我个人的体会是:使用libsvm,默认参数,RBF核比Linear核效果稍差。通过进行大量参数的尝试,一般能找到比linear核更好的效果
4) 极大似然估计
设X1,X2..Xn是取自总体X的一个样本。样本的联合密度和联合概率函数为f(X1,X2…Xn,z).当给定样本X1,X2..Xn时,定义似然函数L(z)= f(X1,X2…Xn,z),其可看为z的函数。极大似然估计法就是用使L(z)最大时的z去估计z.此时常用的方法是:
对等式两边同时取对数,并每一个要估计的值求偏导,并使导数为零,解多远一次方程组即可。
5)k-means
随机选取k个中心点,计算聚类,更新中心点。迭代上述操作,直到前后两次中心点结果一样。求中心点方法:求和加权平均
判断其他点所属簇的方法:依次求得该点距k个中心点的距离,取距离最小的中心点所在簇为其所属簇。
Svm相关