本发明涉及数据处理,尤其涉及基于深度学习和simhash的数据分类方法及系统。
背景技术:
1、随着大数据时代的到来,数据量呈爆炸性增长,数据分类技术在各个领域得到了广泛应用。传统的数据分类方法通常依赖于手工设计的特征,难以处理复杂多变的实际问题,如何在海量数据中快速、精确地分类成为亟待解决的问题。
2、现有的数据分类方法主要存在以下缺点:在处理高维度数据时,传统的分类方法可能会遇到性能下降的问题,这是因为高维度数据具有更多的特征和更复杂的结构,需要更复杂的模型和算法来处理,因此对高维度数据的处理能力有限;特征提取是数据分类中的关键步骤之一,传统的特征提取方法可能无法充分挖掘数据的内在特征,导致分类的准确性下降,因此特征提取的准确性不足;不同的数据类型(如文本、图像、音频等)需要针对性地使用不同的分类方法。传统的分类方法可能无法适应各种类型的数据,导致分类效果不佳,因此对不同类型数据的适应性有限;传统的分类方法可能需要大量的计算资源和时间来处理大规模数据,这可能导致分类过程变得缓慢和不可扩展,因此对大规模数据的处理效率低下;传统的分类方法可能无法处理未知类型的数据,导致分类的准确性下降,因此对未知类型数据的分类能力有限。
3、传统的数据分类方法通常基于特征提取和分类器设计,然而这些方法在处理复杂和多变的数据时,往往难以获得理想的分类效果。近年来,深度学习技术的发展为数据分类提供了新的解决方案,但是如何将深度学习与传统的数据特征提取方法相结合,以提高数据分类的准确率和效率,仍然是一个技术难题。
技术实现思路
1、针对传统数据分类方法对大规模数据分类效率低下的问题,提出了基于深度学习和simhash的数据分类方法及系统,基于传统的simhash进行创新,进一步提高了哈希值精度,通过结合深度学习强大的特征学习和simhash算法的快速哈希特性,实现了对大规模数据的快速、精确分类。
2、为了实现上述目的,本发明通过如下的技术方案来实现:
3、第一方面,本发明提供基于深度学习和simhash的数据分类方法,所述方法包括以下步骤:
4、s1:准备数据集,将所述数据集划分为训练集、验证集和测试集;
5、s2:对所述数据集中的所有原始数据进行数据预处理,所述数据预处理包括归一化、去除噪声,以及填充或截断;
6、s3:使用深度学习模型对预处理后的数据进行特征提取,得到特征向量;
7、s4:将所述特征向量输入到基于simhash创新的算法中,得到哈希编码;
8、s5:将所述哈希编码作为深度学习模型的输入,使用优化算法训练所述深度学习模型;
9、s6:重复执行步骤s4-步骤s5,直至达到预设的迭代次数或准确率要求,则停止训练;
10、s7:使用测试集对训练好的深度学习模型进行测试,评估分类的准确率和性能。
11、作为本发明的一种优选方案,所述数据预处理包括归一化、去除噪声,以及填充或截断,具体为:
12、归一化:采用min-max归一化方法,对所述数据集中的原始数据进行归一化处理,将原始数据映射到[0,1]的范围内,以使得所有数据具有相同的比例尺;min-max归一化公式如下:
13、
14、式中,x为原始数据,x1为归一化后的数据,min和max分别为原始数据中的最小值和最大值;
15、去除噪声:使用滤波器或统计方法去除原始数据中的噪声,所述滤波器包括均值滤波器或中位数滤波器中的一种,所述均值滤波器的公式为:
16、
17、所述中位数滤波器的公式为:
18、
19、式中,x(p)为第p个去除噪声前的原始数据,x2为去除噪声后的数据,ω为滤波器的窗口大小;
20、填充或截断:对原始数据进行填充或截断操作,以统一数据标准,所述填充包括均值填充或零填充,所述均值填充公式为:
21、
22、所述零填充公式为:
23、x3=0;
24、所述截断公式为:
25、x3=max(min(x,u),l);
26、式中,x(g)为第g个填充前的原始数据,g为填充数目;x3为填充或截断后的数据;u为截断的上限,l为截断的下限。
27、作为本发明的一种优选方案,所述深度学习模型包括cnn模型或lstm模型中的一种;对于cnn模型,使用卷积层对图像数据进行特征提取;对于lstm模型,使用lstm层对序列数据进行特征提取;将最终得到的特征向量表示为x′∈rd,其中r表示实数集,d为特征向量的维度。
28、作为本发明的一种优选方案,所述基于simhash创新的算法具体包括:
29、使用阈值法对特征向量进行二进制分解,将所述特征向量分解为n个二进制位,每个二进制位表示特征向量中一个元素的取值情况,阈值法分解的公式如下:
30、
31、式中,x′i表示特征向量x′的第i个元素;
32、根据每个二进制位的取值情况,计算出一个权重,表示该特征在数据中的重要程度,计算公式为:
33、wi=|x′i|;
34、式中,wi表示第i个二进制位的权重;
35、将每个二进制位的权重进行累加,生成一个哈希值h,计算公式为:
36、
37、式中,bi为第i个二进制位的取值;
38、对哈希值进行加权平均,生成最终的哈希值h,计算公式表示为:
39、
40、式中,hj为第j个哈希值,m为哈希值h的数量;
41、根据最终的哈希值h’,使用桶排序算法对特征向量x′对应的原始数据x进行分类,得到哈希编码,公式如下:
42、ck={x|h′(x)∈(k-1,k)};
43、式中,ck表示第k个类别,h’(x)为原始数据x的最终的哈希值。
44、作为本发明的一种优选方案,所述使用优化算法训练所述深度学习模型,具体包括:
45、将哈希编码作为输入,通过训练好的深度学习模型进行预测,输出分类结果;
46、根据分类结果和真实标签之间的差异,使用类似sgd的优化算法不断更新所述深度学习模型的权重和偏置;所述类似sgd的优化算法包括动量法、adagrad、rmsprop、adadelta以及adam。
47、作为本发明的一种优选方案,所述步骤s7具体包括:
48、将测试数据输入到训练好的深度学习模型中,输出分类结果;
49、根据所述分类结果和真实标签之间的差异,计算分类准确率;
50、达到预设次数且分类准确率满足预设要求时,结束测试流程。
51、第二方面,本发明提供基于深度学习和simhash的数据分类系统,所述系统包括:
52、数据集划分模块,用于将准备好的数据集划分为训练集、验证集和测试集;
53、数据预处理模块,用于对所述数据集中的所有原始数据进行数据预处理,所述数据预处理包括归一化、去除噪声,以及填充或截断;
54、特征提取模块,用于使用深度学习模型对预处理后的数据进行特征提取,得到特征向量;
55、模型训练模块,用于将所述特征向量输入到基于simhash创新的算法中,得到哈希编码,将所述哈希编码作为深度学习模型的输入,使用优化算法训练所述深度学习模型;重复以上步骤,直至达到预设的迭代次数或准确率要求,则停止训练;
56、模型测试模块,用于使用测试集对训练好的深度学习模型进行测试,评估分类的准确率和性能;
57、所述基于simhash创新的算法具体包括:
58、使用阈值法对特征向量进行二进制分解,将所述特征向量分解为n个二进制位,每个二进制位表示特征向量中一个元素的取值情况,阈值法分解的公式如下:
59、
60、式中,x′i表示特征向量x′的第i个元素;
61、根据每个二进制位的取值情况,计算出一个权重,表示该特征在数据中的重要程度,计算公式为:
62、wi=|x′i|;
63、式中,wi表示第i个二进制位的权重;
64、将每个二进制位的权重进行累加,生成一个哈希值h,计算公式为:
65、
66、式中,bi为第i个二进制位的取值;
67、对哈希值进行加权平均,生成最终的哈希值h’,计算公式表示为:
68、
69、式中,hj为第j个哈希值,m为哈希值h的数量;
70、根据最终的哈希值h’,使用桶排序算法对特征向量x′对应的原始数据x进行分类,得到哈希编码,公式如下:
71、ck={x|h′(x)∈(k-1,k)};
72、式中,ck表示第k个类别,h’(x)为数据x的最终的哈希值。
73、第三方面,本发明提供一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当一个或多个所述程序被一个或多个所述处理器执行时实现如上所述的基于深度学习和simhash的数据分类方法。
74、第四方面,本发明提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上所述的基于深度学习和simhash的数据分类方法。
75、与现有技术相比,本发明的有益效果是:本发明通过深度神经网络进行特征提取,能够深入挖掘数据样本的复杂特征,并将学习到的特征输入基于simhash创新的算法输出映射为哈希值,不仅考虑了特征向量的二进制分解,还结合了频率、位置等其他特征,从而能够更全面的捕捉数据样本的内在特征,提高哈希值的精度和数据分类的性能;本发明通过迁移虚席,可以将预训练的模型应用于其他任务,从而提高数据分类的效率;通过使用预训练的模型和结合深度神经网络和其他特征,可以减少模型的训练时间和计算资源的使用,从而降低数据分类的成本;本发明在海量数据的精确分类方面做到了全面、深入、准确、效率高以及成本低,通过对深度神经网络和其他特征的结合使用,以及对simhash算法的创新,可以为技术人员提供一种新的思路和方法,从而推动相关领域的技术进步。