机器学习-分类和预测(logistic回归、支持向量机)

分类问题是通俗易懂的问题,分类技术是应用广泛的方法和手段。我们把分类和预测统称为推测。分类就是应用已知的一些属性数据去推测一个未知的离散型的属性数据,而这个被推测的属性数据的可取值是预先定义的。要很好地实现这种推测,就需要事先在已知的一些属性和未知的离散型属性之间建立一个有效的模型,即分类模型。可用于分类的算法有决策树、朴素贝叶斯分类、神经网络、logistic回归、支持向量机等。用于预测的模型的算法有,神经网络、支持向量机、广义非线性模型等。
支持向量机:
支持向量机(Support Vector Machine,简称SVM)是由Cortes&Vapnik首先提出来的,是多年来引人注目的分类技术,它可很好地解决小样本、非线性及高维数据识别分类问题。支持向量机最大边缘区分类器,可以同时最小化经验误差与最大化几何边缘区。支持向量机算法作为机器学习的一种算法,在实践应用中与其他算法比较时,总能表现出更好的性能和效果,是因为SVM在分类原理和方法上是一个根本性的解决方案,它给出的是全局最优解,而诸如神经网络和决策树分类等算法则通常给出的是一个局部最优解。
1.最大边缘超平面
SVM的思想其实很简单,就是要找出这样一条切线(试图寻找一条线,能将两类数据完全划分开来),我们称之为一个超平面,即在高维的空间中将数据分类切割的平面,‘切入’数据集中能清楚地将数据分为两类,并且该超平面具有最大的分类边缘(或称为分类宽度),该超平面称为最大边缘超平面。从图中我们可能找到好多超平面,都能将两类数据完全分开。考察其中的两个,一个是超平面C1,一个是超平面C2。其中C(1L)是C1向左平移到三角形数据最右边一个点的位置,C(1R)是C1向右平移到圆图形数据集最左边一个点的位置,C(1R)-C(1L)称为C1的分类宽度。同理,我们也会得到C2的分类宽度的C(2R)-C(2L)。显然,(C(1R)-C(1L))>(C(2R)-C(2L))。假设C(1R)-C(1L)是本图中能找到的所有超平面的分类宽度最大的一个,那C1就是我们要找的SVM分类器,也成为该数据集的分类决策边界。
在这里插入图片描述
2.我们在前面看到的具有最大的分类宽度的超平面C1,能够将恶性肿瘤数据和良性肿瘤数完全分开,我们将C1称为是一个线性完全可分类的分类器。线性完全可分,即是可以用一个最大分类宽度超平面将两类具有多个维度的点完全分开,分类超平面方程是f(x)=w(转置)x+b=0。w和b是多元线性方程的系数矩阵和常数,也正是我们要求的参数。我们将判别函数进行归一化,使两类所有样本数据都满足|f(x)|>=1,此时离分类面最近的样本的|f(x)|=1,而要求分类面对所有样本都能正确分类,就是要求它满足:
在这里插入图片描述
公式中使等号成立的那些样本即为支持向量(Support Vector)。两类样本的分类空隙(Margin)的宽度为:
在这里插入图片描述
因此,最优分类面问题可以表示成如下的约束问题,即在条件(3.28)的约束下,求函数:
在这里插入图片描述
的最小值。为此,可以定义如下的拉格朗日(Lagrange)函数:
在这里插入图片描述
其中,ai>=0为拉格朗日(lagrange)系数,我们的问题是对w和b求拉格朗日函数的最小值。把公式(3.31)分别对w、b、α(i)求偏微分并令它们等于0。得:在这里插入图片描述
以上三式加上原约束条件,可以把原问题转化为如下凸二次规划的对偶问题:在这里插入图片描述
这是一个不等式约束下二次函数机制问题,存在唯一最优解,若α*(i)为最优解,则:在这里插入图片描述
α*(i)不为零的样本即为支持向量,因此,最优分类面的权系数向量是支持向量的线性组合。b**可由约束条件α*(i)[y(i)(w(转置)x(i)+b-1)]=0求解,由此求得的最优分类函数是:
在这里插入图片描述
sgn()为符号函数。
线性完全可分SVM是一种理想的分类器,它完全正确地将数据分为分为两类。但在实践中,更多的情况是,我们找不到一个超平面能完全正确地分开两类数据,只能找到相对分类错误率较小的超平面。还有一种情况,即使能找到一个线性完全可分的超平面,但它的分类宽度可能很小,这种分类器在对将来未知的数据进行分类时,决策边界任何轻微的干扰都会对分类效果产生很大的影响,我们称为过渡拟合。因此,我们可能更倾向于选择一个虽然划分有一定误差,但具有更大分类宽度、抗干扰能力更强的超平面分类器,我们将这类分类器称为线性不完全可分SVM。
任何有监督学习算法都可能产生过度拟合的情况。产生过度拟合的原因,是我们人为地将模型的训练精度设置的过高,导致模型失去普适性。过度拟合会造成模型对当前数据训练、拟合得过强,精度过高,但是模型对于其他新来数据的区分能力下降了很多。我们在后面的其他分类和预测模型的讨论中,都会涉及过度拟合的问题。实际中我们需要根据实际情况,在模型对训练数据的学习度和对测试数据的验证力两方面找到一个最佳的平衡点,使得模型既能较好地拟合现有数据又能较好地拟合测试数据,以及能够应用于新来的数据。
3.线性不完全可分支持向量机
在下图中,由两个超平面C1和C2,它们具有不同的分类误差和分类宽度。在很多情况下,数据集就像图中显示的那样,数据分布呈现两类数据在中间地带有不少交叉的情况。我们就是要寻找一个分类宽度和分类误差均衡的分类器,它既具有较好的分类准确率,同时又具有较强的抗噪能力,避免过度拟合现象。这时我们把这个分类宽度和分类误差均衡的超平面称为线性不完全可分支持向量机,因为它的分类正确率小于100%,从图中我们可以看到,C2比C1具有较小的分类误差和分类宽度,我们会根据分类的不同目的,根据分类目标所要求的不同分类准确率和成本来决定是选C2还是C1。
在这里插入图片描述
线性不完全可分支持向量机的算法实现如下:
当用一个超平面不能把两类点完全分开时(有少数点被错分),可以引入松弛变量ξ(i)(ξ(i)>=0,i=1,…,n),使超平面w(转置)x+b=0满足:
在这里插入图片描述
当0<ξ(i)<1时样本点x(i),仍然被正确分类,而当ξ(i)>=1时样本点x(i)被错分。为此,引入以下目标函数:
在这里插入图片描述
其中C是一个正常数,称为惩罚因子,此时SVM可以通过二次规划(对偶规划)来实现:
在这里插入图片描述
4.非线性支持向量机
我们前面介绍SVM的两种情况,线性完全可分和线性不完全可分支持向量机,它们都是基于线性空间进行分类的。但实践中,很多情况是需要在非线性空间下进行数据分类。目前尚没有一个能够直接处理非线性数据分类的SVM算法,我们需要将原来的坐标空间进行变换,应用映射函数将其变换为新的坐标空间,以便可以使用线性支持向量机方法进行分类。要将非线性空间映射为线性空间,从技术上就需要利用核函数的支持。
核函数算法实现如下:若在原始空间中的简单超平面不能得到满意的分类效果,利用核函数将输入样本空间映射到高维特征空间,令:在这里插入图片描述
用核函数k(x(i),x(j))代替最优分类平面中的点积x(i)(转置)x(j),就相当于把原特征空间变换到了某一新的特征空间,此时优化函数变为:在这里插入图片描述
而相应的判别函数式则为:
在这里插入图片描述
应用核函数将数据的非线性维度变换为线性维度后,再使用前面的线性支持向量机方法对数据进行分类。
其实,SVM的核心思想就是利用核函数将输入样本空间映射到高维特征空间,在这个空间中求一个最优分类面f(x)=w(转置)x+b=0,根据f(x)构造新的符号g(x),根据g(x)的取值将数据点分类。

Logistic回归:
logistic回归算法,即Logistic Regression,是统计学习中经典的分类算法,属于对数线性的模型,传统上它在流行病学研究中应用较多。例如,探索代谢综合征的危险因素,根据危险因素预测代谢综合特征发生的概率。作为基于概率的一种回归算法,Logistic回归是机器学习中一种全局最优解的分类方法,而且该模型一旦验证成立并准确,不仅能为我们带来一种可靠的分类方案,而且还能带来极具可解释性的一个显式模型。
Logistic回归算法思想:我们观察一个数据集(LOGISIC)的样本数据,如下图所示。四个变量(三个连续型变量和一个离散型变量),应变量Y为二元离散变量。我们建立试图Y=f(X1,X2,X3,X4)的Logistic回归模型,以期望根据X1,X2,X3,X4的取值来确定Y的分类取值。计划应用数据集中70%的数据建立Logistic回归模型,然后将数据集中剩余30%的数据用Logistic回归模型进行测试,如果测试的结果令人满意,则可以应用该模型对数据集(LOGISIC数据)同质的新数据进行预测分类。
下面,具体讨论一下Logistic回归分类模型的建立方法。
设X1,X2,…,Xn为一组自变量,Y为应变量。当Y是阳性反应时,记为Y=1;当Y是阴性反应时,记为Y=0.用P表示发生阳性反应的概率,用Q表示发生阴性反应的概率,显然P+Q=1。Logistic回归目的是从特征学习出一个0/1分类模型,而这个模型是将特性的线性组合作为自变量。由于自变量的取值范围是负无穷都正无穷,因此,使用Logistic函数(或称为sigmoid函数)将自变量映射到(0,1)上,映射后的值被认为是属于y=1的概率。
Logistic回归算法流程:
设X1,X2,…,Xn为一组自变量,Y为应变量。Logistic回归算法主要步骤如下:
1)筛选自变量,可以通过特征选择算法选择与应变量Y相关性强的自变量。
2)对选择后的变量检验其相关性,剔除相关性强的冗余变量。
3)对于剩余的自变量和Y,通过实验数据对未知参数β(j)(j=0、1、2、…、k)进行极大似然估计,形成Logistic回归模型。
4)用似然比、计分检验和Wald检验等方法对β(j)(j=0、1、2、…、k)进行检验,剔出没有显著性的变量。
5)对模型结果进行拟合优度和预测准确度检验,选择最优模型。
Logistic回归除了可以用作二元分类算法外,还有诸如流行病学等其他典型用法,如探索参数β(j)的意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值