一、LR模型
原理介绍
在介绍逻辑回归(Logistic Regression)前我们先来讲一下逻辑回归与线性回归的联系与区别。
我们知道,线性回归是用一个线性模型去预测输入变量与输出变量之间的关系,它的输出变量的取值是连续的,其公式如下:
而对于逻辑回归来说,它的输出变量值是离散的,其实质是一个分类问题,其公式如下:
其中,
被称为sigmoid函数,其函数图像如下:
我们可以看到,sigmoid函数的取值范围为[0,1]。相应地,h(x)的值有着特殊含义,它表示对于输入x分类结果为类别1和类别0的概率分别为:
当P>0.5时,我们判定其为类别1;当P=<0.5时,我们判定其类别为0。
由此可看出,逻辑回归实质是利用sigmoid函数,用线性回归模型的预测结果去逼近真实标记。
模型参数估计
模型参数估计的原理是:用“极大似然法”(maximum likelihood method)来估计模型参数。
样本的概率
取似然函数为
对数似然(loglikelihood)函数为:
我们希望每个样本属于其真实标记的概率越大越好,即求使l(θ)取最大值时的θ,求得的θ就是要求的最佳参数。
同时我们知道最大化l(θ)等价于最小化-l(θ),此时就可用梯度下降法来求解最小值,具体步骤如下:
多分类学习
对于多分类的情况,基本思路是“拆解法”,即将多分类任务拆为若干个二分类任务求解。最经典的拆分策略有三种:“一对一”(OvO)、“一对其余”(OvR)、“多对多”(MvM)。
二、SVM模型
原理介绍
支持向量机(Support Vector Machines)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机(注:f(x)=sign(w⋅x+b));支持向量机还包括核技巧,这使它成为实质上的非线性分类器。
三、代码实现
参考链接:
https://blog.csdn.net/chibangyuxun/article/details/53148005
https://blog.csdn.net/piaoxuezhong/article/details/53958401
https://blog.csdn.net/hx14301009/article/details/79762666
https://blog.csdn.net/feng_zhiyu/article/details/81784362
李航,《统计学习方法》
周志华,《机器学习》