基于半监督学习方法的研究本科学位论文.doc
河北大学2009届本科生毕业论文(设计)基于半监督学习方法的研究摘 要 近几年来随着机器学习在数据分析和数据挖掘中的广泛应用,半监督学习的理论研究成果已经部分应用于实际问题的解决。半监督学习(Semi-supervised Learning)是模式识别和机器学习中的重要研究领域,一直为国际机器学习界所广泛关注。本文主要研究了半监督学习方法,具体考虑了不同度量对半监督学习的影响。考虑关于标记的和未标记数据的一般问题的学习,其通常被称为半监督学习或转导推理。半监督学习的原则性方法是定义一个有关标记的和未标记的点集的固有结构所共同显现的足够平稳的分类函数。实验结果表明,使用指数度量的GCM算法的性能最优,而使用欧几里得度量的GCM算法的性能最差;另外,不同度量中的参数取值对算法的性能具有一定的影响。关键词:半监督 机器学习 GCM CM ABSTRCATWith Machine learning methods being widely applied for real world data analysis and data mining, semi-supervised learning has been introduce for solving more and more real world problems.Semi-supervised learning, which combines information from both labeled and unlabeled data for learning tasks, has drawn wide attention. We consider the general problem of learning from labeled and unlabeled data,which is often called semi-supervised learning or transductive inference.A principled approach to semi-supervised learning is to design a classifying function which is suf_ciently smooth with respect to the intrinsic structure collectively revealed by known labeled and unlabeled points. Experimental results show that performance of GCM algorithm for using the exponential measure is superior to other measures and performance of GCM algorithm for using the Euclidean measure is inferior to other measures. Moreover, arguments for different measures impact on the performance of algorithm.Key words:Semi-supervised Machine learing GCM CM 目 录一 引言11.1研究背景和意义11.1.1研究背景11.1.2研究意义11.2国内外研究现状11.3研究内容21.4论文组织与安排2二 半监督学习算法32.1朴素贝叶斯分类器32.1.1贝叶斯法则32.2.2 朴素贝叶斯分类器学习32.2 k-近邻算法4三 常用的度量方法63.1加权s阶Minkowski度量63.2非线性度量63.3 K近邻度量63.4指数度量63.5双曲正切度量7四 基于核策略的半监督学习算法84.1 CM算法84.2 GCM算法8五 总体设计与详细设计105.1总体设计105.2 详细设计10六 实验研究与分析136.1实验数据136.1.1 CM算法实验数据136.1.2 GCM算法实验数据146.2实验方法146.2.1 CM实验方法146.2.2 GCM实验方法146.3 实验结果与分析15七 结论17谢 辞18参考文献1918一 引言1.1研究背景和意义1.1.1研究背景当前社会已进入高速发展的信息化时代,每天面对的数据大量而繁琐,数据分类的工作越来越重要。在传统的监督学习中,学习器通过对大量有标记的训练例进行学习,从而建立模型用于预测未见示例的标记。目前,利用未标记示例的主流学习技术主要有半监督学习和主动学习,但是它们的基本思想却有显著不同。在半监督学习中,学习器自行利用未标记示例,学习过程无人工干预。主动学习假设学习器对环境有一定的控制能力,可以主动向学习器之外的神谕(可以是人,也可以是能够为示例提供真是标记的其它过程 )进行查询来获得训练例的标记。对比半监督学习和主动学习可以看出,后者在利用未标记示例的过程中需要与外界交互,而前者则完全依靠学习器自身,正因为此,许多学者对半监督学习做了大量研究。1.1.2研究意义随着数据收集和存储技术的飞速发展,人类面对的信息量是大量并且繁杂的,怎样从中选择自己感兴趣的信息是一个很大的问题。半监督学习问题的关键是如何获得有标记的示例,例如在进行web网页推荐时,需要用户标记出哪些网页是感兴趣的,但是很少有用户愿意花大量时间来提供标记。正因为此,半监督学习可以成功解决用户面对的信息量大的问题,人们很容易获得自己需要的信息。1.2国内外研究现状机器学习是人工智能的重要研究分支,它是衡量系统是否具有智能的重要标志。机器学习方法主要分为监督学习与无监督学习。监督学习可以描述为:给定一个具有已知类别的数据集(x1,y1),(xn,yn),其中xi=(xi1,xin)为第i个样本的属性向量,元素xij为第i个样本的第j个属性值,该属性既可以为离散值也可以为连续值;同样yi也可为离散或连续的值。属性向量x与y之间存在某种复杂函数关系y = f(x),通过监督学习算法对已知样本进行学习,可以得到用于近似表示该未知函数的预测器,监督学习主要用于回归与分类问题。无监督学习是从样本的特征向量出发研究通过某种算法将特征相似的样本聚集在一起,从而达到区分具有不同特征样本的目的,无监督学习主要用于聚类。监督学习的最大特点是具有先验知识(类标号);而无监督聚类学习并不具有这种先验知识。然而,在现实生活中,由于获取有标号数据是非常困难的,再加上获取它们花费的费用较高及所需时间较多,同时,无标号数据却是容易获得,而这部分数据却很少使用,即所谓的半监督分类学习1。半监督分类学习的主要目标是如何利用少量标号数据与大量无标号数据提高系统的泛化能力。最近,研究人员针对半监督学习进行了深入研究,并提出了一些半监督学习方法,例如Chapelle与Zien2提出的LDS算法,Zhou等3提出的CM算法,Zhu等提出的GRFM算法;另外,Zhou与Zhan、Wang与Zhou对半监督学习进行了研究,并提出了一些半监督学习算法。在本文中,对CM算法进行了推广,研究了使用不同核的半监督学习算法的性能。1.3研究内容通过实现CM算法,理解核矩阵(权矩阵)是算法中重要的一步。将CM算法中的第一步求权矩阵中的元素公式一般化,即Wij= f(d(xi,xj),通过几种不同的度量方法,选择出性能最佳的GCM算法。1.4论文组织与安排第二部分介绍了半监督学习算法:朴素贝叶斯分类器和k-近邻算法;第三部分介绍了权矩阵的几种度量方法;第四部分介绍了CM算法和GCM算法;第五部分介绍了CM方法中算法的总体设计和详细设计;第六部分分别对CM和GCM的实验结果进行了分析;第七部分总结了本文的内容和半监督学习的发展方向。二 半监督学习算法2.1朴素贝叶斯分类器贝叶斯学习方法中实用性很高的一种为朴素贝叶斯学习器,常被成为朴素贝叶斯分类器。2.1.1贝叶斯法则在机器学习中,通常我们感兴趣的是在给定训练数据D时,确定假设空间H中的最佳假设。所谓最佳假设。一种办法是把它定义为在给数据D以及H中的不同假设的先验概率的有关知识的最可能假设。贝叶斯理论提供了一种直接计算这种可能性的方法。更精确的讲,贝叶斯法则提供了一种计算假设概率的方法,它基于假设的先验概率,给定假设下观察到不同数据的概率以及观察到的数据本身。贝叶斯法则是贝叶斯学习方法的基础,因为它提供了从先验概率P(h)以及P(D)和P(D|h)计算后验概率P(h|D)的方法。贝叶斯公式:P(h|D) = (2-1)从直观上可以看出,P(h|D)随着P(h)和P(D|h)的增长而增长;同时也可以看出P(h|D)随P(D)的增加而减少。这是很合理的,因为如果D独立于h时被观察到的可能性越大,那么D对h的支持度越小。2.2.2 朴素贝叶斯分类器学习朴素贝叶斯类器应用的学习任务中,每个实例x可由属性值的合取描述,而且目标函数f(x)从某有限集合v中取值。学习器被提供一系列关于目标函数的训练样例以及新实例(描述为属性值的元组)<a1,a2an>,然后要求预测新实例的目标值。贝叶斯方法的新实例分类目标是在给定描述实例的属性值a1,a2an下,得到最可能的目标值Vmap。 (2-2)可使贝叶斯公式将此表达式重写为: (2-3)估计每个P(vj)很容易,只要计算每个目标值vj出现在训练数据中的频率就可以。然而,除非有一个非常大的训练数据的集合,否则用这种方法估计不同的P(a1,a2an |vj)项不太可行。问题在于这些项的数量等于可能实例的数量乘以可能目标值的数量。因此为获得合理的估计,实例空间中达到每个实例必须出现多次。朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立。换言之,该假定说明在给定实例的目标值情况下,观察到联合的a1,a2.an的概率等于每个单独属性的概率乘积:P(a1,a2an |vj)=iP(ai|vi) (2-4)可得到朴素贝叶斯分类器所使用的方法: Vnb=argmaxP(vi)P(ai|vi) (2-5)其中,Vnb表示朴素贝叶斯分类器输出的目标值。注意,在朴素贝叶斯分类器中,须从训练数据中估计不同P(ai|vj)项的数量只是不同的属性值数量乘以不同目标值数量这比要估计P(a1,a2an |vj)项所需的量小得多。概括地讲,朴素贝叶斯学习方法需要估计不同的P(vj)和P(ai|vj)项,基于它们在训练数据上达到频率。这些估计对应了待学习的假设。然后该假设使用上式的规则来分类新实例。只要所需的条件独立性能够被满足,朴素贝叶斯分类Vnb等于MAP分类。2.2 k-近邻算法KNN法即K最近邻法,最初由Cover和Hart于1968年提出的,是一个理论上比较成熟的方法。该方法的思路非常简单直观:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。k-近邻算法是实例学习方法中最基本的方法。这个算法假定所有的实例对应于n维空间中的点。一个实例的最近邻是根据标准欧式距离定义的。把任意的实例x表示为下面的特征向量: (2-6)其中,ar(x)表示实例x的第r个属性值。那么两个实例xi和xj间的距离定义为d(xi,xj),其中: (2-7 )如图2-1,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形,如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。图2-1 k-NN算法示意图KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比。 KNN算法在分类时主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。因此可以采用权值的方法(和该样本距离小的邻居权值大)来改进。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。 三 常用的度量方法在半监督学习方法中,如何形成权矩阵(或核矩阵)是算法中的重要一步。实际上,权矩阵中的元素是与两点的相似性紧密联系在一起的,然而,如何衡量两个点的相似性,可以使用不同的方法,在此,我们将求权矩阵中的元素公式一般化,即Wij = f(d(xi,xj),其中f是函数关系,d(xi,xj)是用来描述两点间的相似性的度量,最常用的度量就是欧式距离。若f(x) = e-x,则GCM算法转化为CM算法。下面给出常用的几种度量方法:3.1加权s阶Minkowski度量, (3-1)当s2时,该度量为加权欧式距离;若所有k还满足相等条件,则该距离为常用的欧式距离;当s1时,则该度量为加权曼哈坦距离;同样,若所有k还满足相等条件,则该距离为曼哈坦距离。若使用加权s阶Minkowski度量,则可以选择f(x) = x。3.2非线性度量, (3-2)其中H,T是非线性度量参数,d(xi,xj)可以自己选择一种度量。此时,函数f是一个阈值函数。3.3 K近邻度量如果数据点xi在数据点xj的K最近邻中,则d(xi,xj)1,否则为d(xi,xj)0。其中K是一个参数,用来控制数据点的稠密程度。3.4指数度量在指数度量方法中,可以将每一维所起的作用认为相同,此时 (3-3) 若强调每一维的不同作用,则d(xi,xj)可以使用加权s阶Minkowski度量,即按照下面的公式计算: (3-4)令k2=k/22 ,则 (3-5)3.5双曲正切度量双曲正切度量公式为:Wij =(tanh(1(d(xi,xj)-2)+1)/2 (3-6)对于这种度量方法,可以进一步化简,得到如下的Sigmoid函数,即 (3-7) 函数f为Sigmoid函数。当d(xi,xj)>>2时,Wij0;当 d(xi,xj)<<时,Wij1。此时,双曲正切度量转换为非线性度量。四 基于核策略的半监督学习算法4.1 CM算法我们考虑关于标记和未标记数据的一般问题的学习。假设点集X=x1,.,xl+1,.,xn和一个标记的集合L=1,c,前l个点已经标记了为y1,y2.yl 但是剩下的点是未标记的。目的是预测未标记的点集的分类。这个算法的性能衡量标准只是这些未标记点集的错率。给定一个点集X = x1,.xl+1.,xn属于Rm,给定标记集L=1,.,c,前l个点Xi(i<=l)被标记为类yi属于l,但是剩下的点xu(l+1<=u<=n)是未标记的.目的是预测未标记点的标记。定义f表示非负的n*c矩阵的集合。矩阵F=FT1,.,FTn属于f对应一个分类在数据集上通过标记每一个点Xi的标记Yi当j<=c时,Fij的最大值。我们可以认为F是一个向量函数F:XàRc,指定了每一个点Xi的向量函数Fi。定义一个n*c的矩阵Y属于F,如果点Xi是标记的并且yi=j则Yij=1,否则Yij=0。根据最初的标签规则的决定。算法如下:1通过公式:Wij=exp(-Xi-Xj2/22) (4-1)如果ij并且Wii=0.2构建一个矩阵:S= D-1/2WD-1/2 (4-2)其中D是对角线矩阵,它的对角线元素等于矩阵W的第i行之和。3迭代:F(t+1)=SF(t)+(1-)Y (4-3)直到收敛,参数的取值为0到1之间的数。4用F*表示F(t)序列的极限。标记每一个点的标记yi=arg maxj<=cFij.这个算法从实验心理学可以直接的理解为动态扩散网络。我们首先定义一个对角线元素为0的成对关系W在数据集X上。我们可以认为一个图G=(V,E)定义在x上,其中顶点集V正是x和边E的加权值正是W。在第二阶段,G的加权矩阵W是对称的,通过以下的迭代收敛是必要的。先前的两部是一样的再集群上。在第三步的每一次迭代中每一个点从它的邻域,而且保存它的基本信息(第二期)。参数指定了相对数量的信息从它的邻域和它的基础标记信息。值得一提的是自我强化是可以避免的因为亲和力矩阵的对角线元素被设置为0在第一步中。而且,信息是对称传播的,因为S是对称矩阵。最后,每一个未标记的点的标记被归为再迭代过程中收到最多信息的那个类。4.2 GCM算法已知数据集X=(x1,y1),(xl+1,yl+1),xn,其中xiRm,且yi(1,L),需要注意的一点是集合X中点xl+1,.,xn没有标号,学习的目标是预测无标号数据的标号,通常,l远小于n(即l<<n)。令F表示元素为非负的n*c矩阵集合,F=FT1,.,FTn对应于数据集X的一个分类结果,通过对矩阵F中每一行取最大值可以得到每个数据点的最后标号,即yi=arg maxj<=cFij。定义n*c矩阵YF,其中该矩阵元素是按照下面方式取值: (4-4)按照上面的定义,Zhou等3提出了CM算法,在此,针对CM算法进行了推广,将其命名为GCM ( Generalized Consistency Method) 算法, 具体算法如下:Step 1 计算任意两点间的相似性,形成相似矩阵W=(Wij)n*n,其中Wij =f(d(xi,xj),而f是一个函数,d(xi,xj)是用来描述两点间的相似性的度量。Step2 权矩阵的归一化。构造矩阵S= D-1/2WD-1/2,其中矩阵D =diag(Dii)是一个对角矩阵,对角线元素Dii,即矩阵W对应行上元素之和,“-1/2”表示矩阵D中元素的平方根的倒数。Step3 按照下面的迭代公式进行迭代直至收敛, F(t+1)=SF(t)+(1-)Y 4-5)其中(0,1)是一个参数。Step 4 令F*表示序列F(t)的极限,按照下面方法确定每个数据点的类标号,。 (4-6)五 总体设计与详细设计5.1总体设计CM算法用java语言实现,根据算法,需要以下几个类:主类PointMain,矩阵类Matrix,保存点的坐标的类Save,绘制图形的类Point。首先运行主类PointMain,启动窗体,选择点的类别,是以标记的还是为标记的,选择画矩形还是三角形,必须有一定数量的以标记点,然后点击鼠标,在鼠标位置上画出相应类别的图形,点击产生矩阵并计算出三角形和矩形的个数,计算出差错率。界面如图5-1所示: 图 5-1 CM算法实现界面5.2 详细设计 下面介绍一下各个类的详细设计。首先介绍一下主类PointMain ,该类是整个程序的枢纽,连接了各个类之间的联系。该类继承了窗体类Frame,public class PointMain extends Frame,该类的lauchFrame函数设置了窗体的所有属性,包括窗体大小,背景,颜色,各个按钮等,窗体的关闭事件等,最后该窗体必须是可见的,即Visible属性必须为true,this.setVisible(true);主类还持有其它类的引用,以便方便的与各类之间传递参数。主类还含有鼠标事件的相应,该事件为被包装在了内部类Monitor中,Monitor继承了MouseAdapter,该类获得了鼠标所在处的点的所有信息,包括位置,标记否,所画的种类等信息。除了相应画点事件外,主类PointMain还封装了几个按钮的响应事件,调用不同的函数。class Monitor extends MouseAdapter / 响应鼠标的画点事件public void mousePressed(MouseEvent e) pm = (PointMain) e.getSource();cp.x = e.getX();cp.y = e.getY();cp.flag = flag;cp.lable = lable;pm.addPoint(new Point(e.getX(), e.getY(), flag, lable);/ for(int i=0;i<points.size();i+) / String sql = "insert into coodinate values('points(i).,y)"/ sm.insert(sql);/ / QuarryM(s1);/ save.output(cp); 矩阵类Matrix包含了矩阵所有相关的算法。首先,得到核矩阵。在CM方法中,核矩阵的元素Wij是由Wij=exp(-Xi-Xj2/22)得来的,首先设置核矩阵的所有元素为0,然后利用该公式计算相应元素的值。矩阵W是一个n*n的矩阵,n与输入的点的个数是相等的。在CM算法的第二步中,矩阵S是由S= D-1/2WD-1/2得来的。整个矩阵类中都是矩阵的相关算法,最后是矩阵的输出。该函数如下:public void disp(double M) / 显示函数int k = 0;for (int i = 0; i < M.length; i+) for (int j = 0; j < Mi.length; j+) System.out.print(" " + " " + Mij);k+;if (k % Mi.length = 0)System.out.println(" ");Save类的作用是保存点的坐标,以便多次试验。除了可以画点之外,也可以读取某次实验保存的点,多次试验。Save类包含了写和读取双重功能,通过变量flag的值来选择是写还是读取。Point类是负责绘制三角形和矩形的类。首先判定label的值,判断是否标记,然后判断画三角形还是矩形,调用fillOval和fillRect来绘制三角形和矩形。public class Coordinate int x, y;public void draw(Graphics g) Color c = g.getColor();g.setColor(Color.BLUE);g.fillRect(100, 100, 5, 400); /画三角形g.fillRect(100, 500, 400, 5); /画矩形g.setColor(c);public Coordinate(int x, int y) this.x = x;this.y = y;六 实验研究与分析6.1实验数据6.1.1 CM算法实验数据为了实现CM算法,我们定义了两个标记,分别是三角形和矩形。在实验研究中,我们进行了多组实验,其中分别选取了0.5,0.15,0.95,0.05共四个数值,每组选择200个点进行实验,其中标记(红色)的点为50个,三角形和矩形各占一半,未标记(蓝色)的点为150个,最终试验判别未标记点的类别。最后得出的矩阵为n*2,如图6-1:图 6-1 程序生成结果左侧数据类别是三角形,右侧是矩形,属于哪个类别由两者大小决定。经过判断大小确定各元素的类别,统计预测的总数,然后和实际的进行比较,计算出差错率。我们使用k-NN和一对剩余的向量机作为基准,比较我们方法中的两个变量:(1)(F* =(I-P)-1Y);(2)F*=(I-W)-1Y.我们也与Zhu et al先生的谐波高斯场方法做了比较,其结果与我们的结果是相近的。如我们所知,如果只有极少数有标记点,模型选择没有可靠的方法。从此 我们让所有的算法利用各自的最优参数,除了用在我们方法中的参数及其变种只是简单混合在0.99。在实验研究中,我们做了二组实验。第一组中,在K-NN中的k被设置为1 。向量机中RBF核的宽度设置为5 , 并且在谐波高斯方法中设定为1.25 。在我们的方法和它的变种中,相似矩阵由与高斯谐波方法等宽度的RBF核构建的,但对角元素的设置为0 。在每场超过100个试验中,测试错误平均总结在图6-2左侧面板。样本被选择这样他们至少包含每一个类的一个标记点。我们一致性的方法和它的一个变种是明显优于正统监督学习算法的K NN和SVM,也优于谐波高斯方法。第二组实验中,k-NN中的k被设定为1.SVM的RBF核的宽度被设定为1.5并且高斯谐波方法被设定为0.15。在这个方法,相似矩阵由与高斯谐波方法等宽度的RBF核构建的,但对角元素的设置为0 。其结果如图6-2右:图6-2 CM方法与其它方法的比较值得注意的是当不同类别的点的比例接近时,高斯谐波方法比较好,其误差率低于我们的假设一致性方法。6.1.2 GCM算法实验数据为了研究使用不同核矩阵对半监督学习算法的影响,我们选取了UCI数据集以及半监督学习方法中常用的数据集,见表6-1所示。另外,我们也选择了Moons数据集以及两个服从正态分布且具有很好分离性能的数据集Normal。表6-1 不同数据集的特征数据集类别数目维数数据点的个数Glass69214Ionosphere234351Sonar260208G50C250550G10N2105506.2实验方法6.2.1 CM实验方法通过进行多组实验和变换的值,来计算准确率,最总准确率为多组实验的平均值。6.2.2 GCM实验方法在实验研究中,主要进行了6组实验。首先,对指数函数中尺度因子(sigma)进行了实验,分别选取0.15、0.25、0.35 0.45、0.55 0.65、0.75、0.85与0.95共9个数值;在半监督学习方法中,具有类标号实例的数据分别选取1、5、10、20、30、40与50。对每组数值进行了10次实验,针对不同数据集,取10次实验中具有相同尺度因子时的平均值。然后,针对K近邻度量方法所涉及的参数进行了实验研究,分别选取K为2、5、10、30与50。 最后,针对不同度量方法对GCM算法进行了性能比较。由于非线性度量是双曲正切度量的特殊情形,因此,实验中研究了除非线性度量外的四种度量方法。6.3 实验结果与分析CM与GCM算法相比,GCM算法的准确度更高。实验结果分别见图6-3、图6-4与图6-5所示。图6-3 不同数据集的尺度因子Sigma与正确率间的关系由图6-3 可以看到,对于不同的具有标号的数据数目对算法的性能具有较小的影响。针对不同的数据集,尺度因子(sigma)的取值在0.15,0.35时,算法的性能最优。特别是对于容易分开的数据集,尺度因子(sigma)具有较大的范围。图6-4 不同数据集的近邻数目与正确率间的关系在K近邻度量中,由图6-4可以知道,对于大部分数据集算法的性能对近邻数目的敏感性较小,当使用5近邻时,算法的性能基本上达到较好的值。另外,这些结果的获得依赖于有标号数据的数目,这种带标号数据越多,算法的性能越好;同样,对于容易分开的数据集,对有标号数据的数目依赖性较弱,当算法的性能达到最优后,与近邻数目基本上无关。图6-5 GCM算法中使用不同度量的数据集的正确率针对所有的数据集,实验研究了加权s阶Minkowski度量中s=1、s=2与s=且所有k满足相等时的条件,GCM算法的性能几乎没有变化,从实验研究中发现,在大部分数据集上具有类标号数据的个数对算法的性能具有一定的影响,当达到一定值时,性能变化不大。在图6-5中,针对使用不同个数的有标号数据,将算法的性能进行了平均,可以看到,在所研究的几种度量中,使用欧几里得度量的GCM算法的性能是最差的,使用指数度量方法性能达到了最优,而使用另外两种度量的GCM算法的性能介于它们之间。从实验结果可以得出,指数度量方法是最优的,不同度量中的参数取值对算法的性能具有一定的影响。七 结论从上世纪80年代末,半监督学习在国外就已经有大量学者开始投入研究,但在我国的起步比较晚。现如今,半监督学习方法成为机器学习中的一个重要研究课题。在本文中,我们研究了CM算法并扩展和核矩阵的选择,基于核策略的半监督学习方法,深入分析了五种不同的度量及它们之间的关系,实验研究了使用不同度量方法中参数对算法性能的影响,实验比较了使用这些度量的GCM算法的性能。在以后的研究中,从理论上进一步分析CM算法与GCM算法,以及最优的参数取值。谢 辞本论文是在指导老师李凯老师的精心指导下完成的。论文从选题、撰写、修改到定稿,老师都给予了悉心的指导且倾注了大量的心血。在这里,首先我要感谢我的导师李凯老师。李老师平日里工作繁多,但在我做毕业设计的每个阶段,从开始准备,查阅资料,设计草案的确定和修改,中期检查,后期详细设计,到系统测试等整个过程中都给予了我悉心的指导。并且我从李凯老师身上学到了很多东西,李老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在此对李凯老师表示最诚挚的感谢!同样感谢为我在本次毕业论文完成过程中提供过帮助和宝贵建议的其他领导、老师和同学。最后,感谢我的母校河北大学四年以来为我提供的良好学习生活环境,及对我知识的掌握和为人成长方面所作的培育。参考文献1 美.米歇尔著, 曾华军等译, 机器学习, 机械工业出版社2 张海藩. 软件工程导论. 北京:清华大学出版社,20033 周志华, 半监督学习中的协同训练风范, 南京大学计算机软件新技术国家重点实验室,南京2100934 (美)埃克尔 著,陈昊鹏 译 ,java编程思想, 机械工业出版社5 耿祥义,张跃平 编著, java2实用教程,清华大学出版社6 欧立奇,朱梅,段韬 编著 , Java程序员面试宝典, 电子工业出版社7 Zhou Z H.,Zhan D C, Yang Q. Semi-supervised learning with very few labeled training examplesC/Proceedings of the 22nd AAAI Conference on Artificial Intelligence. Vancouver, Canad2007:675-6808 Wang W, Zhou Z H. On multi-view active learning and the combination with semi-supervised learningC/Proceedings of the 25th International Conference on Machine Learning. Helsinki, Omni press, 2008:1152-11599 Zhu X J. Semi-supervised learning literature surveyR. University of Wisconsin, Madison,200810 Zhou D Y, Bousquet O,Thomas N L,et al. Learning with local and global consistencyR.Max Planck Institute for Biological Cybernetics, Tübingen, Germany, 200311 Chapelle O, Zien A. Semi-supervised classification by low density separationC/Proceedings of the10th international workshop on artificial intelligence and statistics.Barbados, PASCAL press, 2005