论文总字数:29619字
摘 要
机器学习是一门交叉学科,它涉及计算机科学、统计学、人工智能等多门学科。机器学习致力于研究计算机对人类学习行为的模拟,通过不断地读取数据来获得新的知识和更好的性能,完善自身处理问题的能力。
在机器学习中,分类问题是将未知样本归类为若干类别中的一类的问题。我们可以找到不少高效的两类分类器,但是当我们需要处理多类分类问题的时候,许多原来的两类学习方法就变得不再有效。
纠错输出码(Error Correcting Output Codes, ECOC)作为一个把多类问题拆解成多个两类问题加以解决的通用框架,是解决多类分类问题的一种常用算法。然而,由于分类器的处理能力有限,在面对复杂问题时表现不尽如人意。我们需要寻找新的策略对复杂问题进行分类。
本文实现的基于子问题的ECOC编码算法在ECOC的框架下使用子类信息来处理多类分类问题。对于复杂的问题,该算法通过将原始的类别集合划分成子类,把原始的线性不可分的问题划分成线性可分的子问题,以获得更好的分类性能。可以看到该算法对比以往多类分类问题的学习算法在性能上有比较明显的进步。该算法的实现为多类分类问题提供了一个很好的解决途径。
本文首先对纠错输出码的发展做一个大致的介绍。之后,介绍该算法在实现与应用过程中使用到的其他机器学习技术,接着对算法实现细节做详细的阐释。进一步,本文对该算法进行了性能测试,并对测试结果进行了分析。最后,本文对整个毕业设计做了一份总结,并对算法的进一步改良提出了几点思考。
关键词:机器学习,分类问题,纠错输出码(ECOC),基于子问题的纠错输出码(Subclass ECOC)
Abstract
Machine learning is an inter-discipline subject, including computer science, statistics, artificial intelligence and many other subjects. Machine learning concentrates on the study of computer’s simulation of human learning behavior. By keeping loading data, computers obtain new knowledge and better performance on specific problems.
In machine learning, classification problem aims to determine which class the given data point belongs to. We can find quite a few powerful binary classifiers. When dealing with multi-class learning problems, however, most of them don’t work well.
As a general framework to solve multi-class learning problem by combining several binary problems, Error Correcting Output Codes has been widely used. Because the classifiers have limited suitability, they don’t give sufficient performance when dealing with complex problems.
The Subclass Problem-Dependent ECOC we implemented aims to get better performance by splitting the original class into subclasses using subclass information under the ECOC framework. We can see that this algorithm has significant progress comparing with other multi-class learning algorithms. It provides a good solution to complex multi-class learning problem.
In this paper,I will firstly give a general introduction to the evolution of classification algorithms. Then, I introduce several key points of ECOC. Next, I shows details of the implementation. At last, I will analyses the experimental results and conclude the whole paper, giving out several thoughts over the problem.
Keywords: Machine Learning, Classification Problem, Error Correcting Output Codes, Subclass ECOC.
目 录
摘 要 1
Abstract 2
目 录 3
第一章 绪 论 5
1.1 引言 5
1.2 研究背景及现状 5
1.3 论文组织结构 7
第二章 纠错输出码 8
2.1 基本原理 8
2.2 三元纠错输出码(Ternary ECOC) 9
2.3 ECOC的解码策略(Decoding) 10
2.4 ECOC的应用 10
第三章 算法设计 12
3.1 算法简介 12
3.2 Discriminant ECOC 12
3.3 Subclass ECOC 15
第四章 算法实现 22
4.1 开发环境配置 22
4.2 算法主要函数 22
4.2.1 主函数 22
4.2.2 对输入数据的读入 22
4.2.3 编码算法、解码算法以及基分类器的选择 23
4.2.4 训练函数(ECOCTrain) 24
4.2.5 SECOC函数 25
4.2.6 SPLIT函数 28
4.2.7 测试函数(ECOCTest) 30
第五章 实验结果 32
5.1 测试目的与方案 32
5.2 测试环境 32
5.3 SECOC、DECOC以及One-Versus-All在标准数据集上的测试 33
5.3.1 与One-Versus-All的比较 33
5.3.2 与DECOC的比较 33
第六章 总结和展望 35
6.1 毕业设计总结 35
6.2毕设感想 35
6.3 进一步工作 36
致 谢 37
参考文献 38
第一章 绪 论
1.1 引言
机器学习是计算机科学的一个研究领域。它融合了模式识别、机器学习理论和人工智能等相关领域的内容。在计算机科学的很多领域,给问题直接设计算法和程序是很难完成的。在这些问题上,机器学习能发挥很大的作用,例如信息过滤、OCR识别、搜索引擎和计算机视觉。
分类问题是人类感受、认识、分析世界的一个重要窗口,也是机器学习中一个很重要的研究领域。分类问题的任务是对一个给定样例的类别做出预测。我们的做法是让机器使用已知的样例进行训练。训练完毕后,根据学习的内容对给定样例做出分类决策。
剩余内容已隐藏,请支付后下载全文,论文总字数:29619字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;