这里接第11篇的介绍。
5 支持向量机(Support Vector Machine, SVM)
支持向量机是可对类别进行分类的有监督的学习算法。其在样本的特征空间中找出间隔最大的超平面对样本进行分类。SVM根据其学习算法不同可划分为线性可分SVM、线性近似可分SVM与非线性SVM。实现上述三种SVM主要依靠核函数—线性核函数、高斯核函数、多项式核函数与Sigmoid核函数,后三种核函数为非线性,一般建议使用高斯核函数。
image.png
如上图,对于二分类,SVM需要确定一条最优直线使两类样本分开,在图1-4中A可以看到有多条直线可将两组分开,但最优的是图1-4中B的w*x+b=0直线。对于最优直线的确定,需要使最优直线到最近点的距离最大,最近点被称为支持向量(如图1-4中B的红点/圈),这里的距离是求出点到直线的距离最大,这是在二维空间,当在三维及其以上的空间时,直线变为超平面,距离则需要求点到超平面的几何距离(Westreich et al 2010)。
image.png
如图1-5中A,在二维平面内无法将两类样本分开,但可以将其投影到三维空间中(如图1-5中B),则看到可以将其分开。这种投影是通过核函数实现的,其先将样本特征值在低维度上计算,再将实质的分类效果表现在高维度上。为了更简便的计算和优化,原始最优间隔采用拉格朗日对偶法与惩罚系数C转变,并最终使用序列最小优化算法进行计算(Keerthi et al 2000, Keerthi and Gilbert 2002)。
SVM的优点:(1)适用各种形式的数据,如文本、图像等;(2)泛化能力较好,即其过拟合的风险小;(3)相对较好地处理高维度数据;(4)核函数的应用使其能很好的适应各种情况。其缺点:(1)对大规模数据难以处理;(2)只依靠少数支持向量决定最终结果,如有异常值,则结果容易出现较大偏差;(3)对缺失值敏感(Westreich et al 2010)。
6 K最近邻算法(K Nearest Neighbor, KNN)
K最近邻算法是通过计算样本特征之间的距离,根据距离k进行分类,属于无参数分类和回归方法(Altman 1992)。距离k的度量可以使用闵可夫斯基距离、欧氏距离与曼哈顿距离等距离公式进行计算,一般其取20以内的正整数,较大的k取值会降低噪音对分析的影响,且一般对于二分类问题,取k为奇数将有利于判别。
闵可夫斯基距离公式为:
image.png
上述公式中,当p=2时,变为欧氏距离,当p=1时,变为曼哈顿距离(Hechenbichler and Schliep 2004)。
KNN属于“懒惰学习”,即只是将训练集数据储存起来,再来新样本时进行距离计算,根据投票结果判别新样本属于哪一类。例如图1-6,蓝色方框与红色三角为已知的训练集,当有绿色圆圈新样本进行判别时,假设k为1,则有两个红色三角与一个为蓝色方框参与判别,这样投票结果为2:1,故绿色圆圈属于红色三角形一类;假如k为2,则有两个红色三角与三个为蓝色方框参与判别,这样投票结果为2:3,故绿色圆圈属于蓝色方框。所以k值需要选择,一般是根据经验进行设置,并且每个样本(如红三角)对判别决策所占的比重也可以进行设定即为权重KNN(Hechenbichler and Schliep 2004)。
image.png
KNN的实现主要有蛮力实现法(即上述投票法)、KD树实现和球树实现等算法。
KNN的优点:(1)对多分类问题处理结果较好;(2)无需估计参数,简单易于理解;(3)对于非线性数据处理结果较好,即没有对数据分布的假设。其缺点:(1)计算量较大,运算速度慢,预测慢;(2)对数据的无关特征敏感;(3)不会从训练集中学习,只是简单利于其本身,导致泛化能力不强
7 逻辑回归(Logistic Regression, LR)
逻辑回归是一种有监督的学习方法,其函数基本的公式:
image.png
上述公式为Sigmoid函数,图为1-7,其输出值在[0, 1]之间,需要选择一个阈值,通常是0.5,当p(x) > 0.5时,x为A类,如果p(x) < 0.5时,x为B类。阈值可以调整,其代表对于这个事情的把握度,如上述的阈值为0.5,如计算的p(x1)=0.3,则有50%的把握认为x1属于B类(Press 2013)。
LR的运算基本过程:(1)假设p(x)=1,构造sigmoid函数,即利用最大似然取对数作为误差函数,用梯度下降求最小的误差函数值,求出a与b;(2)根据训练数据集多组数据,重复循环(1)n次,计算数据集梯度,更新sigmoid参数,确定最终的sigmoid函数;(3)输入预测集数据;(4)运用最终sigmoid函数求解分类(Dreiseitl and Ohno-Machado 2002)。
LR的优点:(1)容易接收新数据,对模型更新;(2)能够容易解决变量间的共线性问题;(3)运算速度快,适合二分类问题。其缺点:(1)适用的数据和具体场景较少;(2)不适用于样本具有很大的特征值(即变量过多);(3)容易欠拟合,分类准确性较低;(4)使用前提是应变量和自变量有线性关系,只是广义线性模型,不能处理非线性问题。
8 随机森林[(Random Forest, RF)
随机森林是将多个决策树集合在一起的一种算法,基本单元为决策树,并且可以用于回归和分类(Breiman 2001, Liaw and Wiener 2002)。其名字由“随机”与“森林”组成,“随机”有两个含义,一指在训练集中随机且有放回的抽取n个样本进行建模,二指每个节点在特征值M中随机抽取k(k<M)个进行建模,且每个节点处的k应相同,这两个随机使该算法不容易过拟合(Ho 1998)。“森林”即为多个决策树组成,其要求基本同上述的决策树,但这里的决策树没有剪枝的过程,让其尽量生长(Cutler et al 2012)。其将多个决策树组合在一起是采用集成学习方法,该算法的中心思想是让每个决策树产生一个结果,再对这些结果进行统计,哪种结果数量最多,即为最终结果。
RF实现的过程(1)随机有放回的从样本N中选出n个子样本;(2)每个节点在特征值M中随机选出k个特征值;(3)重复第一与第二步s次,创建s个决策树;(4)对s个决策树结果分析,哪一类决策树最多,则最终判别为哪一类。
RF算法主要有两个参数,第一个为抽取每个样本的特征值k,第二个为决策树的数量。特征值k一般建议为全部特征值的开方(Geurts et al 2006)。在确定较优的k后,一般取决策树数为500进行尝试,查看随着决策树的数量增多,袋外错误率是否会稳定在一个定值,取能达到这个定值的最小决策树数的数量。
随机森林算法优点:(1)能够有效处理大数据;(2)能处理高维度变量的样本,不需要降维;(3)能较好处理缺失值问题。其缺点:(1)不能直观进行解释(2)过度拟合某些具有噪声分类。
上述的八种算法,一般多用于二分类问题,如“有或无”与“好或坏”等,但在实际应用中也有较多的多分类问题,如彩虹可以划分7种颜色,当判别一个新的颜色属于这7种颜色的哪一种时,这就需要解决一个七分类问题。多分类是二分类的一个拓展,解决办法有两种,第一种是一对多,即先从K类中选出一种,剩余K-1类归为一种,这样需要建立K个判别模型,当有新数据进行判别时,新样本需在K个判别模型中,同时进行判别,看被判别为哪一类的可能性最大,就判别为哪类;
个判别模型,当有新样本来时,分别在建立的判别模型中进行分类,这样哪一类被判别的次数最多,就归为哪类。第一种算法运行速度快,但各类样本数不平衡时,判别结果会倾向于样本数多的类别,第二种算法能解决这个问题,但其运行速度相对较慢。
网友评论