机器学习简明原理.docx
- 文档编号:8681111
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:211.88KB
机器学习简明原理.docx
《机器学习简明原理.docx》由会员分享,可在线阅读,更多相关《机器学习简明原理.docx(19页珍藏版)》请在冰豆网上搜索。
机器学习简明原理
机器学习简明原理
讲明:
本文整理自IBM大数据学习文档,原文作者:
韩笑琳
1.关于机器学习的简介
机器学习是从大量数据中学习出特定规律的算法。
其中提到的规律有专门多种,比如分类、聚类、回归、关联分析等。
分类确实是给定大量带标签的数据,计算出未知标签样本的标签取值。
如年龄40岁以上、工科、研究生以上学历,这类人薪资水平是高收入;年龄20-30岁、文科、大专学历,这类人的薪资水平是低收入;现有一位23岁大专文科人士,求该人的薪资水平是哪类?
依照分类建模,就能够明白那个人的薪资水平专门可能是低收入。
聚类是将大量不带标签的数据依照距离聚拢成不同的簇,每一簇数据有共同的特征。
如电信行业能够依照用户的月长途电话分钟数、上网时长、短信使用数、地理位置、月消费数,将所有用户聚拢成有典型特征的簇,聚拢出的某簇特征可能是月长途电话分钟数长、上网时刻长、地理位置变化不大、月消费数目低,分析可得这类人极有可能是在校大学生,那么电信公司就能够针对这类特定人群制定有针对性的营销策略。
回归是依照特征值、目标变量拟合出特征值与目标变量之间的函数关系,可用来可能特征值对应的目标变量的可能取值。
举个简单的例子,某市今年某100平米的房子价格是80万,某150平米房子价格是120万,那么某200平米的房子价格的取值就可能是200*0.8=160万左右。
关联分析是计算出大量数据之间的频繁项集合。
如超市订单中有大量订单同时包含啤酒与尿布,这其中的频繁项确实是啤酒和尿布,那么超市就能够针对那个规律对啤酒和尿布进行组合促销活动。
分类算法要紧包括K近邻、决策树、朴素贝叶斯、逻辑回归、支持向量机、AdaBoost等;回归要紧包括线性回归、岭回归、lasso.树回归等;聚类要紧包括K-Means以及它的各种变形算法;关联分析要紧包括Apriori.FP-growth等算法。
支持向量机即supportvectormachine(简称SVM),是机器学习领域经典的分类算法。
2.关于SVM的简介
支持向量是距离分类超平面近的那些点,SVM的思想确实是使得支持向量到分类超平面的间隔最大化。
动身点专门容易理解,距离分类超平面近的那些点到该超平面的间隔最大化代表了该超平面对两类数据的区分度强,不容易出现错分的情况。
如图1所示,支持向量到超平面1的间隔大于支持向量到超平面2的间隔,因此超平面1优于超平面2。
图1两个超平面示例
SVM能够专门好得解决二分类问题,关于多分类情况,就需要对模型进行改动。
如one-versus-rest法,这种方法每次选择一个类不作为正样本,剩下其他类不作为负样本,假设一共有3个类不,如此相当于训练出了3个不同的SVM。
然后将测试数据分不带入3个SVM模型中,得到的3个结果中的最大值则为最终的分类结果。
支持向量到分类超平面的间隔最大化的思路专门完美,按这
种思路得到的模型理论上是准确度最高的一种模型。
然而使用过
SVM的朋友都明白,调用SVM算法的测试准确度并不一定都专门高。
这其中有专门多缘故,比如数据预处理的效果、训练集的大
小、特征值的选择、参数设置以及核函数的选择等因素。
任何模型差不多上优点与缺点并存的。
SVM的优点是:
1.能够解决线性不可分的情况。
如图2所示,两类数据点全
然无法用超平面分隔开;
2.计算复杂度仅取决于少量支持向量,关于数据量大的数据集计算复杂度低。
SVM的缺点是:
1.经典的SVM算法仅支持二分类,关于多分类问题需要改动模型;
2.不支持类不型数据,需在预处理时期将类不型数据转换成离散型数据。
类不型数据即”男”、”女"这类由字符串表示某类信息的数据,需将这类数据转换成离散型数据如1、2O
'•XXxX
・XX
・・XXX
■一XX
图2线性不可分问题
3.SVM差不多原理
SVM原理分为软间隔最大化、拉格朗日对偶、最优化问题求解、核函数、序列最小优化SMO等部分。
尽管这些名词看起来专门晦涩,然而深入探究后就会发觉其中的思想并没有那么复杂。
3.1.软间隔最大化
SVM的核心思路是最大化支持向量到分隔超平面的间隔。
后面所有的推导差不多上以最大化此间隔为核心思想展开。
一般的机器学习问题差不多上先得到模型的目标函数和约束条件,然后在约束条件下对目标函数求得最优解。
因此,我们下面首先需要推导出SVM模型的目标函数和约束条件。
既然要最大化间隔,那么回忆下点x到超平面(w,b)的距离公式:
|w-x4-2?
|
d二II沖II
其中超平面的公式为:
w・x+b=0
由此可推出点X到超平面(w,b)的几何间隔为:
[w-Xi+b\
其中xi代表第i条数据,yi代表第i条数据对应的目标变量的取值,取值有+1和-1两种。
因此当第i条数据被正确分类时,y取值和w*x+b取值的正负一致,几何间隔为正;当被错误分类时,y取值和w*x+b取值的正负相反.,几何间隔为负。
图3样本数关于w*x+b的取值符号
定义几何间隔中最小的为:
y=minyf
由此,能够得到间隔最大化问题的目标函数:
maxy
并遵循如下约束条件:
做如下变换:
r
y=w
则目标函数转换为:
maxM
相应的约束条件变为:
s・t・x(w+&)>y
做如下变换:
rtv,rb
W=Pb=7
可得目标函数和约束条件变为:
1
maxM
由于W,b成倍数变化并可不能阻碍超平面的公式,因此:
wr=w,bf=b
现在得到最终的间隔最大化的目标函数和约束条件如下:
s.t.yf(w-xf+b)>1
然而,到那个地点并没有真正得结束。
考虑到现实生活中的真实数据,存在一些特异点即outliers,这些数据点并不满足上面推导出的约束条件,如图4所示,图中点A确实是outlier特异点。
图4Outlier特异点
为了解决这种问题,对每个样本点引进一个松弛变量,使得约束条件变为:
s.t.(w-Xj+&)+>1
Si>0
如此给outlier的约束条件加上一个变量,使其能够满足大于等于1的条件。
则相应的目标变量变为:
min^HwII2+£・
其中c为惩处参数,它的目的是使得目标变量最小即几何间隔最大,且使得松弛变量最小化。
加入松弛变量的目标函数确实是软间隔最大化。
3.2.拉格朗日对偶
关于凸二次优化问题,通过引入拉格朗日乘子,将目标函数和约束条件整合到拉格朗日函数中,如此能方便求解最值问题。
那么,对每个不等式约束引入拉格朗日乘子,得到拉格朗日函数如下:
&(X口)=|||w||2+C勺一》qw+b)-1+冼)一工"厂q
>Ofut>0
分析可知:
ma.xaL(w,b,E,d,ii)=y||w||2十
则原最优化问题转换成:
如m%L(wbs,ccu)
由于原最优化问题直接求解专门困难,利用拉格朗日对偶性,可通过求解原最优化问题的对偶问题得到原问题的最优解。
原最优化问题的对偶问题为:
77iarflni2^v>6>£L(w,b,c,ccp)
3.3.最优化问题求解
到此为止,差不多将目标函数和约束条件转换成了极大微小化拉格朗日函数的问题了。
首先求解关于拉格朗日函数的微小化问题。
对三个变量分不求偏导得:
VwL(wbE(Xu)=w-2=0
L(Wjb&6A)=一》口加=0
V毎L(w,b£ccu)=£—业一山=0
将以上三式带入拉格朗日函数中得:
那么极大微小化拉格朗日函数转换成:
加4如加%•恥L(w,b,厲町二机©:
a一扭》曾沟y为(血•勺)斗E的
为求解方便,将极大转换成微小得:
maxamin,^L(w,b,s,a,\l)=妞E%勾:
X为(竝•巧)一Y曾
0兰曾兰C
3.4.核函数
关于线性不可分问题,如图2所示,这类问题是无法用超平
面划分正负样本数据的。
倘若能将超平面换成超曲面,则能够将正负样本正确分类,如图5所示。
图5超曲面分离正负样本
我们明白曲面的公式是:
k'JCf+^2^2^+k?
+k_^x^+ZcgXjXj+fcg=0
映射到新坐标如下:
Zj=Xj2jZz=Zg=丫'2工1»乙4=v2^2^5=丫'2%丄工2‘
可将超曲面在新坐标下表示成超平面:
k]Z]+*2Z:
+疋3?
3+*4+*5务十k|5=0,
也确实是将在二维空间(xl,x2)下线性不可分的问题转换成
了在五维空间(zl,z2,z3,z4,z5)下线性可分的问题。
得映射后新坐标下的内积:
(
i2+p22Q22+2p1q1+2p2q2+2p1p2q1q2
有一核函数如下:
k(p>q)=((pq)+l)2=(Pi k(P>q)=为洛2+甘疔+2卩凤+2p2q^-2p1p2q1q2+t 可知 k(p,q)=((p(p)-(p(q))+1 何为核函数? 核函数在低维空间中完成了映射到高维空间后的内积运算。 这点特不有用,利用核函数,无需先将变量一一映射到髙维空间再计算内积,而是简单得在低维空间中利用核函数完成这一操作。 什么缘故讲不用一一映射到高维空间专门有用呢? 缘故就在于首先我们无法针对每种情况提供精确的映射函数,再者关于需要映射到无穷维的情况显然无法一一映射完成。 那么什么缘故是映射到高维后的内积运算呢? 这是因为在上节中我们得到了如下目标函数: L(w,b,e,a,p)二mma工玛丐”升(尤厂习)一£ai 正是因为该目标函数中包含自变量的内积运算,而映射到高维空间后的内积运算又恰好能够通过核函数在低维空间中直接求得,故而有了核函数的由来。 较常用的核函数是高斯核,高斯核能够将低维空间映射到无穷维。 运用核函数后,最优化问题的目标函数和约束条件变为: mtna 3.5.序列最小优化(Sequentialminimaloptimization) 到目前为止,优化问题差不多转化成了一个包含N个alpha自变量的目标变量和两个约束条件。 由于目标变量中自变量alpha有N个,为了便与求解,每次选出一对自变量alpha,然后求目标函数关于其中一个alpha的偏导,如此就能够得到这一对alpha的新值。 给这一对alpha赋上新值,然后不断重复选出下一对alpha并执行上述操作,直到达到最大迭代数或没有任何自变量alpha再发生变化为止,这确实是SMO的差不多思想。 讲直白些,SMO确实是在约束条件下对目标函数的优化求解算法。 为何不能每次只选一个自变量进行优化? 那是因为只选一个自变量alpha的话,会违反第一个约束条件,即所有alpha和y值乘积的和等于0。 下面是详细的SMO过程。 假设选出了两个自变量分不是alphal和alpha2,除了这两个自变量之外的其他自变量保持固定,则目标变量和约束条件转化为: =2^na^斗㊁匚尹子+yiy2^izaia2~(旳■*■a2) NN 十%吐》y: 氐血]十y2a2》yfgKi2 i=2e=3 N s.t.ffiYi十a2y2=-》*©=5 f=2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 学习 简明 原理