面向啤酒质量检测的模糊KNN分类改进方法及系统与流程

文档序号:17624795发布日期:2019-05-10 23:32阅读:194来源:国知局
面向啤酒质量检测的模糊KNN分类改进方法及系统与流程

本公开涉及一种面向啤酒质量检测的模糊knn分类改进方法及系统。



背景技术:

随着人们生活质量的提高,对酒类的需求量正在逐年增加。啤酒的生产过程中,质量检测是不可或缺的一环,然而由于啤酒的生产量大、生产的品种多,在质量检测时会耗费大量的时间,这会相当程度的影响生产速度,提高生产成本。然而,随着大数据的出现和发展,如何在有效的时间内完成大量的数据处理已成为当前人们关注的问题。分类算法是数据挖掘中最实用的技术之一,在实践中得到了广泛的应用。常用的分类方法有决策树法、人工神经网络法、支持向量机法、贝叶斯法、knn法等。如果可以将这些分类方法应用于酒类的生产中,将可以大大节约生产成本。

在数据挖掘中,knn分类算法是一种比较成熟的理论方法。它也是一种常用的数据分析和预测技术。在处理少量数据时,传统的knn分类算法能够快速有效地对数据进行分类。然而,由于海量数据的复杂性和多样性,传统的kn算法很难应用于海量数据的计算。



技术实现要素:

本公开为了解决上述问题,提出了一种面向啤酒质量检测的模糊knn分类改进方法及系统,本公开通过模糊c-均值来减少数据分类的工作量,同时弱化了无关属性对分类结果的干扰。使用模糊knn来优化隶属度的计算,使啤酒的质量检测效率更高。

为了实现上述目的,本公开采用如下技术方案:

一种面向啤酒质量检测的模糊knn分类改进方法,包括以下步骤:

(1)初始化啤酒质量检测的样本集,设置样本集的隶属度,满足所有样本之和的隶属度为1,生成隶属度矩阵;

(2)通过聚类算法进行样本集的分类,获取每个组的中心点,形成中心点集,基于中心点集对隶属度矩阵进行最小化处理,判断隶属矩阵是否收敛,如果不收敛,则重新生成隶属度矩阵,直到满足收敛;

(3)利用隶属度的特征聚类形成子集,然后用聚类的子集来替换样本集中的子集,计算每个测试样本和每个训练样本之间的隶属度,按递增顺序将隶属度排序,选择具有最高隶属度的k个点;

(4)根据提取的点,确定k个点出现的频率,根据计算出的频率值,返回k点的最高频率类别作为当前点的预测分类,得到啤酒质量检测的样本的分类结果。

作为进一步的限定,所述步骤(1)中,在样本集的每个数据都有一个标签,使每一个数据和分类类别一一对应,当新的样本数据进行分类时,将新的样本数据与训练样本集的对应的特征值进行特征比较,利用模糊knn分类算法提取样本集中最相似数据的分类标签。

作为进一步的限定,所述步骤(1)中,利用模糊knn分类算法在样本中选择一个样本中心,并根据每个样本与样本中心的距离来区分样本,从而将训练样本的程度划分成不同的类别。

作为进一步的限定,所述步骤(1)中,根据knn算法,搜索的第k个最近邻是最接近分类样本xi的第k个训练集样本,模糊knn通过待分类样本的第k个最近邻的隶属度和距离权重来确定每个类别的隶属度,其输出是样本属于每个类别的可能性。

作为进一步的限定,所述步骤(1)中的隶属度根据从样本到类中心的距离来计算得到。

作为进一步的限定,所述步骤(2)中,利用模糊c均值进行聚类。

作为更进一步的限定,每个样本数据由0到1之间的隶属度来表示,样本集的隶属度之和需要等于1,确定属于每个组的每个样品的程度。

作为更进一步的限定,所述步骤(2)中,在最小化处理时,如果计算的值函数小于指定的阈值,或者最后一个值函数的相对值小于所述阈值,则停止处理过程。

一种面向啤酒质量检测的模糊knn分类改进系统,运行在处理器或存储器上,被配置为执行以下指令:

(1)初始化啤酒质量检测的样本集,设置样本集的隶属度,满足所有样本之和的隶属度为1,生成隶属度矩阵;

(2)通过聚类算法进行样本集的分类,获取每个组的中心点,形成中心点集,基于中心点集对隶属度矩阵进行最小化处理,判断隶属矩阵是否收敛,如果不收敛,则重新生成隶属度矩阵,直到满足收敛;

(3)利用隶属度的特征聚类形成子集,然后用聚类的子集来替换样本集中的子集,计算每个测试样本和每个训练样本之间的隶属度,按递增顺序将隶属度排序,选择具有最高隶属度的k个点;

(4)根据提取的点,确定k个点出现的频率,根据计算出的频率值,返回k点的最高频率类别作为当前点的预测分类,得到啤酒质量检测的样本的分类结果。

与现有技术相比,本公开的有益效果为:

本公开可以较好的应用于啤酒生产的检测环节,这种方法的应用将很大程度上提高生产效率,并可以节约生产成本,为企业创造价值。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1是本公开的方法流程图;

图2是实施例中两个算法运行每个数据集时耗时的比较图;

图3是实施例中三种算法运行每个数据集时精度的比较图;

具体实施方式:

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在本公开中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本公开各部件或元件结构关系而确定的关系词,并非特指本公开中任一部件或元件,不能理解为对本公开的限制。

本公开中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本公开中的具体含义,不能理解为对本公开的限制。

输入:啤酒的检测采集样本集s={s1,s2,…,sn},s1,s2,…,sn是样本集s中的属性集。

输出:s的类标签

步骤1:初始化啤酒的检测样本集s={s1,s2,…,sn},si∈r(1≤i≤n),设置样本集si的隶属度,满足所有样本之和的隶属度为1,生成隶属度矩阵。

步骤2:根据聚类分组中心的计算公式(5),获取每个组的中心点,表示为中心点集c={c1,c2,…,ck}。

步骤3:根据最小化公式(4),计算相应的函数来判断它是否收敛。如果不满足收敛条件,则重构新矩阵并返回上一步。

步骤4:利用隶属度的特征聚类形成子集,然后用聚类的子集来替换样本集中的子集。

步骤5:使用公式(2)和(3)计算每个测试样本和每个训练样本之间的隶属度,即样本属于每个类别的可能性。

步骤6:按递增顺序将隶属度排序。

步骤7:选择具有最高隶属度的k个点。

步骤8:根据提取的点,确定k个点出现的频率。

步骤9:根据计算出的频率值,返回k点的最高频率类别作为当前点的预测分类。

本公开提出了一种基于模糊c-均值的模糊knn分类算法,并将之应用于啤酒质量检测中。通过模糊c-均值来减少数据分类的工作量,同时弱化了无关属性对分类结果的干扰。使用模糊knn来优化隶属度的计算,使算法运算效率更高。

模糊knn是一种基于传统分类算法的改进算法,这种方法的思想是:有一组样本数据,称为训练样本集。在样本集的每个数据都有一个标签,使每一个数据和分类类别一一对应。当新的样本数据进行分类时,将新的样本数据与训练样本集的对应的特征值进行特征比较。然后利用分类算法提取样本集中最相似数据的分类标签。

在分类中,大多数情况下只选择样本数据集相似度最高的第k个数据,然后从分类次数最高的数据中选择k个最相似的数据作为新的数据集分类。根据knn算法,要搜索的第k个最近邻是最接近分类样本xi的第k个训练集样本。距离的计算公式如下:

而模糊knn通过待分类样本的第k个最近邻的隶属度和距离权重来确定每个类别的隶属度,其输出是样本属于每个类别的可能性。i类用于定义测试样本x的隶属度为:

如上式所示,μij是训练样本xj属于第i类的隶属度。i代表类别,xj代表待分类的样本x的第j个近邻。m表示权重系数,用于测量样本与其k个近邻之间的距离的重要性。

μij是根据从样本到类中心的距离来计算的,上面公式中μi(xj)的计算方法是:

cj表示待分类的样本x的第j个近邻xj的类别。ni表示xj属于类i中的近邻数。模糊knn最终得到x属于每个类别的可能性,一般以隶属度大的类别作为待分类样本的类别。对于模糊knn来说,将隶属度的概念引入到已知的类样本中是一个重要的思想。对于已知类别的样本,虽然它们的类别是确定的,但是它们属于各自类别的程度是不同的。模糊knn过程就是在这些样本中选择一个样本中心,并根据每个样本与样本中心的距离来区分样本,从而将训练样本的程度划分成不同的类别。

模糊c均值是一种基于传统聚类算法的改进算法。它的目标函数定义为基于数据样本集的隶属度的c-均值聚类算法。与传统的聚类不同,它严格地对样本进行分类,而是利用模糊理论的概念用隶属度来表示聚类度。模糊c均值是指模糊划分的概念。每个样本数据由0到1之间的隶属度来表示。样本集的隶属度之和需要等于1。这可以确定属于每个组的每个样品的程度。模糊c均值的目的是在极小化方程中找到聚类的质心。

对隶属矩阵进行随机初始化,以适应模糊划分:

其中uij是0到1之间的数,p∈[1,∞)是一个加权指数。

然后需要计算聚类分组中心:

之后使用下面的公式对其进行最小化:

如果计算的值函数小于指定的阈值,或者最后一个值函数的相对值小于阈值,则算法应该被停止。

最后,使用下面的公式来计算新的隶属度矩阵,并返回再次计算聚类分组中心。

一种面向啤酒质量检测的模糊knn分类改进系统,其特征是:运行在处理器或存储器上,被配置为执行以下指令:

(1)初始化啤酒质量检测的样本集,设置样本集的隶属度,满足所有样本之和的隶属度为1,生成隶属度矩阵;

(2)通过聚类算法进行样本集的分类,获取每个组的中心点,形成中心点集,基于中心点集对隶属度矩阵进行最小化处理,判断隶属矩阵是否收敛,如果不收敛,则重新生成隶属度矩阵,直到满足收敛;

(3)利用隶属度的特征聚类形成子集,然后用聚类的子集来替换样本集中的子集,计算每个测试样本和每个训练样本之间的隶属度,按递增顺序将隶属度排序,选择具有最高隶属度的k个点;

根据提取的点,确定k个点出现的频率,根据计算出的频率值,返回k点的最高频率类别作为当前点的预测分类,得到啤酒质量检测的样本的分类结果。

实施例中使用的数据来自某酒厂提供的数据集。样本数指检测该种啤酒的件数,属性数指该种啤酒需要检测的指标数。

表1数据集信息

利用上表的数据集进行实验。将分类精度和时间消耗作为评价指标。实验比较了基于模糊c-均值的模糊knn算法、基于k-均值的knn算法和经典knn算法。为了便于结果的记录,我们称基于模糊c-均值的模糊knn算法为方法1,基于k-均值的knn算法为方法2。实验结果如下表中所示。

表2两种算法耗时的比较

表3算法准确度的比较

通过对表1中五组数据的测试,比较结果如图2和图3所示。

从表1、图2和图3中可以看出,方法1消耗的时间比方法2要少。特别是当样本数较大时,方法1的时间消耗明显低于方法2,方法1的精度略高于方法2。

从以上实验结果来看,改进后的算法在执行效率和分类精度方面普遍优于其他两种分类算法,但对于小样本集,如004号啤酒数据集,方法1的时间消耗非常接近方法2。这一结果的主要原因是该算法在模糊分组聚类的实现中花费了一部分时间。在样本少的情况下,虽然分类样本的数据量可以减少,但这次减少的整体效果并不明显。另一方面,改进算法的精度高于方法2。在大量数据的处理中,基于模糊c-均值的模糊knn算法不仅提高了分类精度,而且表现出优于基于k-均值的knn分类算法的性能。

从表2和图2中可以看出,尽管所提出的算法不如经典knn算法精确,但它在速度上比传统knn算法具有绝对优势。通过以上实验可以看出,基于模糊c-均值的改进模糊kn算法具有较好的分类精度,可以大大提高分类速度。通过实验我们发现,该方法适用于啤酒生产这种数据量较大的情况,并且数据量越大,其性能越好。

综上所述,改进后的基于模糊c-均值的模糊knn分类算法,可以较好的应用于啤酒生产的检测环节,这种方法的应用将很大程度上提高生产效率,并可以节约生产成本,为企业创造价值。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1