1、线性分类器(Linear Regression)
1.1贝叶斯分类器
朴素贝叶斯(Naive Bayes)分类器,以垃圾邮件分类为例子,需要特征之间满足条件独立的假设;
局限性:
(1)要求自变量和因变量之间满足线性关系;
(2)因变量是定量变量,不可以是分类变量;如果因变量是分类变量,必须用logistic回归。
1.2 Logistic Regression分类器
Logistic Regression Cost Function: minθ 1/m ∑i=1m [ y(i)*cost1(θTx(i))+(1-y(i))*cost0(θTx(i)) ] +λ /(2m) *∑nj=1 θ2j ( cost1(θTx(i))=-log hθ(x(i)), cost0(θTx(i))=-log(1-hθ(x(i))) )
hθ(x(i))=1/(1+e-θTx(i))=g(z)
从logistic回归的成本函数表达式可以看出,第二项作为regularization items(惩罚项),其中的θ对成本函数的作用与第一项中θ的作用是相反的,添加了惩罚项后,由参数λ调节控制,前后两项相互制约,使得θ既不能过大也不能过小,最终平衡到一个合适的值,使得训练集和测试集效果接近。但是从logistic的假设函数hθ来看,如果数据不是线性可分,则效果还是不好的。
局限性:
(1)自变量对疾病的影响是独立的,但实际情况及推导结果不同;
(2)训练集的样例数目要有200例以上才可不考虑参数估计的偏性;
(3)logistic分类器说到底是线性分类器,如果数据不是线性可分的,还是不能用logistic回归
2、 SVM classifier
SVM分类器既可以作为线性分类器,也可以作为非线性分类器,这主要取决于它的核函数。
如果不使用kernel(saying:‘linear kernel‘),则它是一个线性分类器;如果使用其他的核函数(e.g. Gaussian kernel),则是一个非线性分类器,具有非线性判决边界。
SVM作为线性分类器主要用在特征数目n很大,样本数据m很小的情况。因为如果你的训练样本很少,再采用复杂的分类函数,就会很容易出现过拟合。SVM作为非线性分类器主要用在特征数目很少,样本数目非常多的情况。因为如果你有非常多的训练样本,就可以采用非线性判决边界,去获得更加准确的分类效果。
Logistic Regression Cost Function: minθ 1/m ∑i=1m [ y(i)*cost1(θTx(i))+(1-y(i))*cost0(θTx(i)) ] +λ /(2m) *∑nj=1 θ2j ( cost1(θTx(i))=-log hθ(x(i)), cost0(θTx(i))=-log(1-hθ(x(i))) )
SVM Cost Function: minθ C* ∑i=1m [ y(i)*cost1(θTf(i))+(1-y(i))*cost0(θTf(i)) ] + 1/2 *∑nj=1 θ2j ( cost1(θTf(i))=-log hθ(x(i)), cost0(θTf(i))=-log(1-hθ(x(i))) )
对比logistic回归和SVM的成本函数,发现它们在形式上是一样的,不同之处其实仅仅在于假设函数hθ。logistic回归的判断依据是θTx(i)>>0, y=1;θTx(i)<<0, y=0;即其分类依据是要让成本函数整个的要尽可能小;而SVM分类器判别依据是:θTx(i)>=1, y=1;θTx(i)<=-1, y=0;即只要判为1的点和判为0的点都距离boundary有1的单位间隔就好了,所以SVM分类器又叫做“最大间隔分类器”。
在上面的成本函数中,第二项体现了SVM被称为“large margin classifier”(最大间隔分类器)的原理(根据计算内积的原理推导,约束条件是假设函数成立(即y=1时,θTx(i)>=1;y=0时,θTx(i)<=-1),此时第一项为0,只剩第二项。实际上还是取决于假设函数hθ(x(i)));第一项中的假设函数hθ(x(i)),以及核函数X--->f的映射,决定了SVM non-linear classifier的性质;第一项中的常数C,相当于logistic回归 regularization项中的参数λ,起到调节参数个数(即特征个数),防止过拟合的作用。
局限性:
(1)由于SVM的核函数本质上的作用还是为了生成新的特征,因此,对于特征数目远远大于样本数目的数据来说,先进行特征筛选是非常有必要的,否则,会很容易出现过拟合;
(2)核函数的选择需要依靠经验;
原文地址:http://www.cnblogs.com/zichun-zeng/p/3833952.html