机器学习报告.docx
- 文档编号:24283444
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:11
- 大小:128.89KB
机器学习报告.docx
《机器学习报告.docx》由会员分享,可在线阅读,更多相关《机器学习报告.docx(11页珍藏版)》请在冰豆网上搜索。
机器学习报告
《机器学习》课程总结报告
姓 名:
郭 敬
学 号:
2010203007
学 院:
自动化
机器学习经典算法之——支持向量机
一、机器学习总结
机器学习(自动获取新的事实和新的推理算法)是计算机具有智能的根本途径,是继专家系统之后人工智能应用的又一重要研究领域,也是人工智能和神经计算核心研究课题之一。
自从计算机问世以来,人们就想知道机器能不能实现智能化,也就是说机器要能够自己学习。
我们希望机器具有这样一种机制,它们能够根据经验来自动提高自己的性能。
学习是人类智能的主要标志和获取知识的基本手段。
学习是一个有特定目的的知识获取过程,其内部表现为新知识结构的不断修改,而外部表现为性能的改善。
学习背后的思想是感知不仅应该对进行中的行动有用,而且应该能够改进智能体未来的行动能力。
学习发生在智能体对外界的交互以及自身的决策过程进行观察的时候。
学习的范围包括小到wumpus世界智能体,达到创建完整的科学理论,如阿尔伯特·爱因斯坦(AlbertEinstein)所做的。
智能有逻辑推理、运算、学习、言语表达等多种表现形式,但是无论对于人工智能来说,还是对于人类智能来讲,学习都是智能的一个重要方面,是实现智能进化的一个重要条件。
不同专业背景的学者出于不同的立场,对于机器学习的看法是不同的。
兰利认为“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。
米切尔在其著作《机器学习》中谈到“机器学习”关注的问题是“计算机程序如何随着经验积累自动提高自身的性能”,也就是主要指的是归纳学习,另外“分析学习和增强学习也是学习的一个不可或缺组成部分”。
两位学者的观点类似,都把机器学习看成是计算机或人工智能的一个分支学科,都强调的是归纳学习算法。
对学习算法的突破可极大推进整个神经网络领域以至于人工智能的发展。
大部分机器学习算法的研究都涉及到对数据的预测性学习,目的是从已知数据中估计相关性以能够较好地预测将来。
近些年来,基于神经网络、柔性统计和统计力学的学习算法都取得了一定的进展,各自提出了一些新的概念和方法,表面上看这些概念和方法有一定的联系,但实际上它们之间还存在很多差异,人们迫切需要关于预测学习算法较完整的理论体系。
目前,计算机的人工智能程度,即学习能力与人类相比还有很大的差距。
我们不知道怎样使计算机具备和人类一样强大的学习能力。
然而,一些针对特定学习任务的算法已经产生,并产生了良好的效果。
关于学习的理论也开始逐步形成。
人们开发出很多计算机程序来实现不同类型的学习,并将其应用于实际中。
一些商业化的应用也已经出现。
例如,在语音识别领域,迄今为止,基于机器学习的算法明显比其他的方法更好。
在数据挖掘领域,机器学习算法被用来从包含设备维护记录、借贷申请、金融交易、医疗记录等此类信息的大型数据库中发现有价值的信息。
随着对计算机认识的日益成熟,机器学习正在计算机科学和技术中扮演越来越重要的角色。
典型的机器学习应用及其常用技术如表1所示。
表1机器学习的典型应用
应用方面
举例
常用技术
网络安全
入侵检测
神经网络,决策树,支持向量机,贝叶斯分类,k近邻,序列分析,聚类
生物信息学
DNA发现
神经网络支持向量机,隐马尔可夫模型,贝叶斯分类器k近邻,决策树,序列分析,聚类
搜索引擎
PageRank算法
但是,机器学习现在也面临着许多问题,主要为以下几点:
●提高泛化能力(更“准”),提高学习速度(更“快”),提高可理解性(更“明白”)
●高维数据的处理,类别不平衡、代价敏感数据的处理,未标记数据的利用
●有结构数据的学习,领域知识的利用
机器学习在很多应用领域被证明很有实用价值,在未来的决策支持系统中必将有着更广泛的应用。
二、统计学习理论和支持向量机
统计学习理论被认为是目前针对小样本估计和预测学习的最佳理论。
它从理论上交系统地研究了经验风险最小化原则成立的条件、有限样本下经验风险与期望风险的关系及如何利用这些理论找到新的学习原则和方法等问题。
其主要内容包括以下几个方面:
1)经验风险最小化准则下统计学习一致性的条件;
2)在这些条件下关于统计学习方法推广性的界的结论;
3)在这些界的基础上建立的小样本归纳推理准则;
4)实现新的准则的实际方法(算法)。
统计学习方法的范围包括从最简单的平均值计算到构造诸如贝叶斯网络以及神经元网络这样的复杂模型的方法。
它们有许多应用,遍及计算科学领域、工程领域、神经生物学领域、心理学领域以及物理学领域等。
统计学习理论是建立在一套较坚实的理论基础之上的,为解决有限样本学习问题提供了一个统一的框架。
它能将很多现有方法纳入其中,有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极小点问题等);同时,在这一理论基础上发展了一种新的通用学习方法——支持向量机(SupportVectorMachine或SVM),它已初步表现出很多优于已有方法的性能。
一些学者认为,SLT和SVM正在成为继神经网络研究之后新的研究热点,并将有力地推动机器学习理论和技术的发展。
SVM是在统计学习理论基础上构造的一种通用学习机器。
SVM是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
支持向量机方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(泛化能力)。
SVM的主要思想可以概括为两点:
(1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;
(2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。
支持向量机的目标就是要根据结构风险最小化原理,构造一个目标函数将两类模式尽可能地区分开,通常分为两类情况来讨论:
线性可分和线性不可分。
a)线性可分:
SVM是从线性可分情况下的最优分类面发展而来的,基本思想可用图1的两维情况说明。
图中,实心点和空心点代表两类样本,H为分类线,H1、H2分别为过各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫做分类间隔(margin)。
所谓最优分类线就是要求分类线不但能将两类正确分开(训练错误率为0),而且使分类间隔最大分类线方程为
(1)
图1最优分类面示意图
最优超平面是使得每一类数据与超平面距离最近的向量与超平面之间的距离最大的这样的平面。
最优超平面可以通过解下面的二次优化问题来获得:
(2)
满足约束条件
(3)
在特征数目特别大的情况,可以将此二次规划问题转化为其对偶问题:
(4)
(5)
(6)
满足约束条件:
(7)
这里,
为Lagrange乘子,
是最优超平面的法向量,
是最优超平面的偏移量,在(7)式中,其解必须满足
(8)
从式(5)可知,那些
的样本对分类没有任何作用,只有那些
的样本才对分类起作用,这些样本称为支持向量,故最终的分类函数为:
(9)
b)线性不可分:
对于线性不可分的情况,可以把样本映射到一个高维特征空间H,并在此空间中运用原空间的函数来实现内积运算,这样将非线性问题转换成另一空间的线性问题来获得一个样本的归属。
根据泛函的有关理论,只要一种核函数满足Mercer条件,它就对应某一空间中的内积,因此只要在最优分类面上采用适当的内积函数就可以实现这种线性不可分的分类问题。
最优分类面中采用适当的内积函数
就可以实现某一非线性变换后的线性分类,而计算复杂度却没有增加,此时目标函数(4)变为
(10)
而相应的分类函数也变为
(11)
这就是支持向量机。
SVM中不同的内积核函数将形成不同的算法,目前研究最多的核函数主要有三类。
(1)多项式形式的内积函数
(12)
所得到的是q阶多项式分类器。
(2)采用核函数型内积
(13)
所得分类器与传统RBF方法的重要区别是,这里每个基函数中心对应一个支持向量,它们及输出权值都是由算法自动确定的。
(3)采用S型函数作为内积
(14)
这时SVM实现的就是包含一个隐层的多层感知器,隐层节点数是由算法自动确定的,而且算法不存在困扰神经网络方法的局部极小点问题。
由于算法的潜在应用价值,吸引了国际上众多的知名学者,近几年出现了许多发展和改进的算法。
另外,在他的博士论文中详细研究了算法中各种核的机理和应用。
SVM方法在理论上具有突出的优势,贝尔实验室率先在美国邮政手写数字库识别研究方面应用方法取得了较大的成功。
在随后的几年内,有关的应用研究得到了很多领域的学者的重视,在人脸检测、验证和识别、说话人语音识别、文字手写体识别、图像处理及其它应用研究等方面取得了大量的研究成果,如人脸检测、验证和识别,说话人语音识别,文字手写体识别和图像处理等。
近年来,在工程实践、化学化工等方面也取得了很多有益的应用研究成果,其应用领域日趋广泛。
三、SVM工具箱介绍
常用的SVM工具箱及其功能总结如下:
●工具箱:
LS_SVMlab
Classification_LS_SVMlab.m-多类分类
Regression_LS_SVMlab.m-函数拟合
●工具箱:
OSU_SVM3.00
Classification_OSU_SVM.m-多类分类
●工具箱:
stprtool\svm
Classification_stprtool.m-多类分类
●工具箱:
SVM_SteveGunn
Classification_SVM_SteveGunn.m-二类分类
Regression_SVM_SteveGunn.m-函数拟合
这里选择SteveGunn的SVM通用工具箱介绍进行二类分类的方法。
源程序如下:
说明:
X和Y为数据,m*n:
m为样本数,n为特征向量数。
比如取20组训练数据X,10组有故障,10组无故障的,每个训练数据有13个特征参数,则m=20,n=13。
Y为20*1的矩阵,其中,10组为1,10组为-1。
1)在matlab中输入必要的参数:
X,Y,ker,C,p1,p2
N=50;
n=2*N;
randn('state',6);
x1=randn(2,N);
y1=ones(1,N);
x2=5+randn(2,N);
y2=-ones(1,N);
figure;
plot(x1(1,:
),x1(2,:
),'bx',x2(1,:
),x2(2,:
),'k.');
axis([-38-38]);
title('C-SVC');
holdon;
X1=[x1,x2];
Y1=[y1,y2];
X=X1';
Y=Y1';
C=Inf;
ker='linear';
globalp1p2
p1=3;
p2=1;
[nsvalphabias]=svc(X,Y,ker,C);
回车之后,会显示:
SupportVectorClassification
_____________________________
Constructing...
Optimising...
Executiontime:
1.8seconds
Status:
OPTIMAL_SOLUTION
|w0|^2:
0.418414
Margin:
3.091912
Sumalpha:
0.418414
SupportVectors:
3(3.0%)
alpha=
0.0000
0.0000
0.0000
…
初始点的分布图如图2所示。
图2初始点的分布图
2)输入预测函数,可以得到与预想的分类结果进行比较
输入:
predictedY=svcoutput(X,Y,X,ker,alpha,bias)
回车后得到:
predictedY=
1
1
1
1
1
…
3)画图
输入:
svcplot(X,Y,ker,alpha,bias)
回车,生成的图形如图3所示。
图3支持向量机分类结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 学习 报告