数据挖掘分类算法的学习总结( 三 )


5.2 朴素贝叶斯算法
朴素贝叶斯算法是应用最为广泛的一种基本贝叶斯算法,其有如下优点:第一,朴素贝叶斯算法逻辑思想简单,性能稳定,不会因为数据自身特征不同而对分类结果产生较大影响;第二,朴素贝叶斯算法的训练数据集的数据之间独立性越强,其分类的结果将越准确 。当然,这也是朴素贝叶斯算法的最大缺陷,它是基于条件独立性假设的前提,这显然是一个理想状态,一般情况下数据之间都存在或多或少的关联,会降低分类的准确性,难以达到理论上的最佳分类效果 。
5.3 神经网络算法
神经网络是网络拓扑知识为基础模拟人脑的结构及功能形成的一种有效运算模型,主要包括三部分:输入层、隐藏层和输出层 。神经网络是由大量节点相互连接构成,每个节点代表一种特定输出函数,每两个节点间的连接都代表通过该连接信号的加权值,即权重 。每层节点对输入信息的加权求和并进行非线性变换后输出,其输出值作为下一层的输入值,以此类推直到最后分类节点[9] 。
基于神经网络的数据挖掘分类算法有以下优点:第一,神经网络具有很强的学习能力,可以达到非常好的分类效果;第二,由于权重值可以进行调整,神经网络对噪声数据具有鲁棒性;第三,神经网络可以处理规则复杂的数据关系,因为其本质上属于非线性模型 。同时神经网络分类算法的缺点也比较突出,主要是神经网络的建立比较困难,涉及激活函数、损失函数、权重值微调等方面,对最终的分类准确性影响较大 。此外,基于神经网络分类算法的训练时间长,学习分类规则的速度比较慢 。
5.4 SVM算法
支持向量机(SVM)算法是一种针对二分类问题的分类算法,即对线性和非线性数据进行分类的方法 。SVM的基本原理是通过非线性映射,将原训练数据映射到较高的维上 。在新的维上,搜索最佳分离超平面,即无论是线性数据还是非线性数据都会被超平面分成两部分,生成一个分类器以进一步处理新样本数据[2,p.265] 。
SVM算法已经成为数据分类中最标准、最有帮助的技术之一,其具有以下优点:第一,SVM算法可以处理发信息数据集,比如处理文本分类、图像检测、人脸识别等问题;第二,SVM算法对于数据特征之间的相关性不敏感,可以提高泛化性能 。当样本数据集比较大时,SVM算法需要较长的训练时间,效率较低,这是SVM算法最大的不足 。关于SVM未来的研究目标主要是提高训练和检验的迅速,可以为超大型数据集服务 。
5.5 KNN算法
KNN算法的基本优点主要有:第一,KNN算法不需要复杂的训练过程,其分类原理易于理解且易于实现,因为直接可以使用欧式距离公式进行距离计算;第二,KNN算法通过对待分类样本的周围样本点就行推测,可以充分利用训练数据集中的样本的某个或多个特征属性,极大降低分类过程中产生的误差;第三,KNN算法支持多分类,且分类准确率高 。但KNN算法也存在不足之处,简要介绍如下:第一,KNN算法属于一种懒惰学习算法,在进行训练时,需要存储全部的训练样本;第二,KNN算法使用欧式距离作为距离度量,需要进行大量计算,同时可能存在无用的样本点会被重复计算,速度较慢;第三,KNN算法在对各个类别的边缘部分进行分类,可能会因为训练数据集中的各个类别数量分布不均匀导致分类结果产生误判 。总之,目前对于KNN算法的研究热点是在保证分类效率的前提条件下,进一步提高分类的准确率 。
六、分类算法实际应用
数据挖掘分类算法已经在各行各业取得广泛而深入的应用,本文不再逐一介绍,仅以笔者所阅读的两篇文献为例,分别从医学图像和需求分类视角简要介绍分类算法在其中的实际应用 。