CN117010991B - 基于gpu并行改进遗传算法的高利润商品组合挖掘方法 - Google Patents
基于gpu并行改进遗传算法的高利润商品组合挖掘方法 Download PDFInfo
- Publication number
- CN117010991B CN117010991B CN202310948429.2A CN202310948429A CN117010991B CN 117010991 B CN117010991 B CN 117010991B CN 202310948429 A CN202310948429 A CN 202310948429A CN 117010991 B CN117010991 B CN 117010991B
- Authority
- CN
- China
- Prior art keywords
- transaction data
- item
- gpu
- transaction
- individuals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 123
- 238000005065 mining Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000002068 genetic effect Effects 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 title claims abstract description 14
- 230000000694 effects Effects 0.000 claims description 27
- 230000001133 acceleration Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000035772 mutation Effects 0.000 claims description 16
- 238000013138 pruning Methods 0.000 claims description 13
- 238000011156 evaluation Methods 0.000 claims description 11
- 210000000349 chromosome Anatomy 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 3
- 238000009412 basement excavation Methods 0.000 abstract description 10
- 238000002474 experimental method Methods 0.000 abstract description 10
- 230000008901 benefit Effects 0.000 abstract description 8
- 238000007418 data mining Methods 0.000 abstract description 6
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 16
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 11
- 229910052500 inorganic mineral Inorganic materials 0.000 description 11
- 239000011707 mineral Substances 0.000 description 11
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 11
- 230000006872 improvement Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 235000020095 red wine Nutrition 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013209 evaluation strategy Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000013606 potato chips Nutrition 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
- G06Q30/0625—Directed, with specific intent or strategy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于GPU并行改进遗传算法的高利润商品组合挖掘方法,属于数据挖掘与处理技术领域。所述方法通过将遗传算法的多个步骤选择、交叉、变异在GPU中运行。改进的初始化策略和改进的排序PEV策略同样在GPU中执行,这两个策略可以提高迭代性能。同时丰富种群的精英策略也使得较高效用的项集得到保留,以大幅提升收敛性能。而且本申请所采用的带有种群多样性改进的精英策略可以在线性时间内将优秀个体传递给下一次迭代的种群中。最后通过多组实验,从挖掘质量、运行速度、并行加速比等多个方面验证了所提出方法的优势。本申请方法针对现实数据集可以在短时间内得到有用的高效用组合以辅助销售决策。
Description
技术领域
本发明涉及一种基于GPU并行改进遗传算法的高利润商品组合挖掘方法,属于数据挖掘与处理技术领域。
背景技术
随着计算机软硬件技术的不断发展,各行各业已经积累了海量数据,并且数据总量依然在迅速增加。比如,在互联网行业中,电商平台获取到了大量用户的购买信息。在工业行业中,公司获取到了大量供应链相关包含了多种商品的数据组合,数据组合又称做交易组合,例如一个顾客在某大型超市中的一次购物的所有商品可以称为一次交易,一个交易中包含多个商品,一个交易集中可能包含多个交易。服务者希望对这些信息加以分析利用,以便增加销售模式、降低供应链成本和提高调度周转效率等。这些数据上的价值探索离不开数据模式挖掘(Pattern Mining)技术。
模式挖掘用于在数据挖掘中发现有用的模式,通常应用于探索数据的数值之间的关系,以助于做出预测或决策。在过去,频繁项集挖掘(Frequent Itemset Mining,FIM)已经得到深入的研究,FIM是指挖掘数据集中频繁出现的项集,例如在超市中,矿泉水的销售次数较多,因此频繁度也高。FIM有广泛的应用,例如隐私保护、大数据和文本聚类。然而FIM中并没有考虑商品的利润,例如红酒的销售量较小,但是红酒的单体利润较高,频繁项集挖掘会忽略红酒这样的商品,因此可能在实际售卖中降低利润。因此学者提出高效用挖掘(High Utility Itemset Mining,HUIM)问题以同时考虑商品被购买的频率和商品价值,HUIM能更好的帮助服务者找到高利润的商品组合,高效用挖掘到的商品组合可以称作高效用项集。为满足决策者特殊的需求,一些基于HUIM的研究方法逐渐被更多的学者关注,例如高平均效用挖掘,高质量挖掘,top-k高效用挖掘、多层次高效用挖掘等。
为了挖掘出全部的高效用项集,精确方法如Two-Phase(Liu Y,Liao W-K,Choudhary A.A Two-Phase Algorithm for Fast Discovery of High Utility Itemsets[C].Advances in knowledge discovery and data mining,2005:689-695.)被应用在HUIM中,通过枚举所有项集从而能够将全部的高效用项集挖掘出来。然而在交易规模增大时,精确方法则会因枚举所有项集而导致计算量大幅增加,后续发展的精确方法通过对算法进行一定的剪枝和数据结构优化来降低计算量,但是当交易数据量增加时,精确算法的性能会指数级下降。因此,研究人员又提出了基于遗传算法(Genetic Algorithms,GA)的高效用挖掘方法HUIF-IGA(Song W,Huang C.Mining High Utility Itemsets Using Bio-Inspired Algorithms:A Diverse Optimal Value Framework[J].IEEE Access,2018,6:19568-19582.),该方法可以在高效用项集挖掘中解决这一性能瓶颈。
遗传算法具有良好的全局搜索能力,在路径优化、室内布局设计、光谱选择等多个领域有广泛的应用。但遗传算法对种群初始化,迭代过程的不同策略有一定依赖性,需要结合多种启发式策略进行改进以适应不同场景。虽然遗传算法较经典精确算法有速度提升,但现有算法的迭代策略和适应度计算仍耗时严重,当数据集规模增加时,这些算法性能变差。此外,遗传算法中种群的每个个体在每次迭代中需要遍历一次交易集,所有个体每次迭代都遍历一次交易集的情况导致耗时严重,后续提出的发明方法并未解决这一问题。
近年来,一些学者提出CPU并行精确算法如PHUI-Miner(Yanchen,AnA.Approximate Parallel High Utility Itemset Mining[J].Big Data Research,2016,6:26-42.)以求解决算法耗时问题,然而精确算法的串行策略限制了并行速度,CPU并行加速效果也有限,加速后效果可能仍不及性能最好的演化算法和一阶段精确算法。
图形处理器(Graphic Processing Unit,GPU)在并行计算中广泛应用,大幅提升了算法运行速度。GPU相对CPU更适合处理大规模并行任务,同时遗传算法的多个个体适合在GPU中细粒度并行执行。现有在高效用问题中的GPU并行遗传算法研究较少,并且遗传算法的GPU并行潜力没有充分得到利用,这是当前遗传算法的一个热门研究方向。
精确算法由于结构复杂较难并行化,而遗传算法中每个个体可以细粒度并行,因此GPU可以和遗传算法进行结合,但现有演化方法的某些策略可能降低运行效率,因此为了加速算法同时保持高挖掘性能,本申请提出了基于GPU加速的遗传算法(Parallel highutility itemset mining with genetic algorithm based on GPU platform,PHUI-GA)来解决HUIM问题。以在大型数据集上得到更快的运行速度,同时挖掘质量超过现有只针对小规模数据集的遗传算法。
发明内容
为了提升大规模交易数据量下高效用挖掘问题的运行时间和挖掘质量(即挖掘出高利润商品组合模式)以方便决策者进行决策,本发明提供了一种基于GPU并行改进遗传算法的高利润商品组合挖掘方法,通过分析现有精确算法、遗传算法、并行算法的问题,对应进行改进以在短时间内挖掘出有用的高效用组合以辅助销售决策。
一种基于GPU并行改进遗传算法的大规模高利润商品组合挖掘方法,所述方法包括:
步骤一:在CPU中对交易数据集进行读取和预处理,生成基于TWU(X)、Sup、u(X)排序的搜索空间,其中,TWU(X)表示商品组合X在交易数据集的总效用,Sup表示商品出现的频率,u(X)表示商品组合X中各商品的效用总和;
定义交易数据集为交易数据的集合,记为D={T1,T2,T3,...,Td},1≤d≤N,Td表示第d条交易数据;设I={i1,i2,i3,...ip}代表不同的商品;每条交易数据中包含多个项,记作ip,表示对应的商品,其中ip∈I;多个项的组合记作项集X,表示多个物品的组合,每条交易数据包含若干个项集;项集中每个项有对应的价值,价值由数字表示,即项的效用,表示物品ip在交易Td中的价值u(ip,Td)=p(ip,Td)×q(ip),p(ip,Td)表示交易数据Td中ip的数量,q(ip)表示项的价值;
交易数据中任一项集X的效用为项集中所有项的效用总和:
交易数据的效用是交易数据中每一项的效用总和,定义如下:
TU(Td)=u(Td,Td)
步骤二:进入GPU迭代环节,基于Sup并行初始化遗传算法的种群,每个种群包含若干个体,每个个体表示一个项集,种群的每个个体在初始化阶段同时并行,并生成项集;
步骤三:在GPU中进行选择、交叉、变异,利用GPU多核特性将三个算子按染色体长度对应分配到线程块上,所述三个算子指选择算子、交叉算子和变异算子;所述染色体长度指项集的长度;
步骤四:在交叉后执行SPEVC个体修复策略,通过位图映射快速将不存在的项集修剪成存在于数据集的项集,在依次遍历时使用CPU作为同步,GPU做内部并行,评估所有个体的适应度;
步骤五:使用精英策略将每个个体位置的最优个体传递给下一次迭代中,利用GPU中的归约操作和共享内存实现并行加速,降低每轮迭代的适应度评估耗时;
步骤六:重复步骤三至步骤五,直到达到设定的最大迭代次数或挖掘到全部的高效用项集;所述高效用项集指在交易数据集的总效用TWU(X)超过预定阈值minUtility的商品组合X。
可选的,所述步骤一对交易数据进行读取时分两次进行读取,第一次读取时,计算各项的1-HTWUI指标,该指标用于判断交易数据对应的项集是否为一个低价值的交易效用项集,根据所述1-HTWUI指标对交易数据的集合D进行修剪;第二次读取数据集,存储根据所述1-HTWUI修剪后的项集和交易数据;
在两次读取之后将集合D中的交易数据按交易的长度排序,并保存为新的数据集;同时生成基于TWU、Sup、u(X)排序的搜索空间,随后将新的数据集、搜索空间从CPU内存传输到GPU;
所述交易的长度指交易的字符串长度。
可选的,所述各项的1-HTWUI指标指包含所述商品的所有交易数据中所述商品的价值的和。
可选的,所述步骤二进行初始化时选用轮盘赌策略进行初始化。
可选的,初始化时基于TWU排序的前20%的项进行轮盘赌初始化。
可选的,所述步骤三中遗传算法的选择算子、交叉算子、变异算子均采用个体级的GPU并行结构;所述并行结构用于在搜索空间内高效搜索具有高效用的项集;
对于选择算子,通过轮盘赌得到种群中的两个候选个体,随后对应染色体长度分配GPU线程,通过二分搜索找到被选择的个体;
对于交叉算子,根据项的数量唤起线程块,同时进行交叉位点的随机选择和个体交叉;
对于变异算子,则直接唤起种群中个体数量的线程,进行单点变异;
通过上述细粒度并行策略,获得遗传算法核心计算模块的充分并行化,从而加速算法整体运行计算时间。
可选的,所述步骤四中每个个体的适应度为包含所述个体对应的项集中的商品的所有交易数据的总价值。
可选的,所述步骤五包括:
在精英策略中子代按照适应度值大小进行排序,在排序后通过去重去掉适应度重复的个体。随后将不重复个体按照适应度值从大到小赋值给下一轮新的个体,循环将这些个体赋值给新的个体直至新种群产生;
由于个体经历去重后才加入,整个种群的丰富度得到提升,保证了算法全局搜索的能力;
下一轮迭代的种群在启动过程中再次生成新种群。
可选的,根据所述的方法,其特征在于,所述根据所述1-HTWUI指标对交易数据的集合D进行修剪时采用改进排序的SPEVC策略。
本申请还提供上述大规模高利润商品组合挖掘方法在商品管理中的应用。
本发明有益效果是:
本发明研究大数据规模下运行效率更高的GPU并行改进遗传算法,主要改进以下三点:一、研究大规模高效用项集;二、研究高效用挖掘下GPU与遗传算法的结合;三、运行速度超过所有现有高效用算法,在大型稀疏数据中挖掘质量优于现有所有遗传算法。针对现有遗传算法在更大规模数据集下挖掘时间较长、设计的挖掘策略可能失效、现有最优秀的精确算法在大型数据集的低阈值时运行时间指数级增加或无法完成运行的问题。本申请设计了适合于大型数据集的GPU遗传算法PHUI-GA。通过精简遗传算法的迭代步骤,同时每个迭代步骤都可以在并行中实现,降低了CPU/GPU同步和数据传输时间损耗。在PHUI-GA算法中应用了排序映射的数据结构以更快执行算法,算法的搜索策略从不同搜索空间和改进数据结构带来的局部搜索出发,有效提升了PHUI-GA在大型数据集下的挖掘能力,应用在大规模的交易数据挖掘中,能够从大规模交易数据中更快更全面的找出高利润商品组合,以辅助销售管理人员做出销售决策。另外,本申请采用并行适应度评估策略对GPU并行性能做进一步优化。带有种群多样性改进的精英策略可以在线性时间内将优秀个体传递给下一次迭代的种群中。最后通过多组实验,从挖掘质量、运行速度、并行加速比等多个方面验证了所提出方法的优势。例如两个相似业务的大型零售公司,B公司采用现有方法进行挖掘,希望得到有用的高效用挖掘组合,然而由于商品数量和交易数量较大,很难在短时间内得到高效用组合。A公司采用本发明提出的方法,可以在极短时间内通过本发明得到的结果进行正确决策,从而在销售中占得先机。因此决策者希望借助提升发明挖掘的速度。若相关发明挖掘速度相似,则挖掘到更多的高效用商品组合的发明可以给决策者提供更多更灵活的决策思路,因此挖掘质量也是重要的。
同时本发明提出的方法框架可以抽象成一个通用模式,用在HUIM相关的其他领域以在大量交易数据集中更快速的挖掘到决策者感兴趣的商品组合,例如Top-k HUIM问题、高质量挖掘问题等,方法框架具有一定的泛化性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提出的基于GPU并行改进遗传算法的高利润商品组合挖掘方法的运行框架示意图。
图2A为预处理中第二次读取数据修剪数据集的方法示意图。
图2B为预处理中映射策略减少内存占用的示例图。
图3为SPEVC策略的运行案例示意图。
图4为适应度评估的并行方式示意图。
图5为种群丰富度改进的精英策略示意图。
图6为不同策略对挖掘质量的影响结果仿真图。
图7为并行前后对运行时间的影响结果仿真图。
图8为不同HUIM算法运算速度对比结果仿真图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本实施例提供一种基于GPU遗传算法的高利润商品组合挖掘方法,参见图1,该方法用于在大量交易数据中快速全面的挖掘出高利润商品组合,为商品销售决策提供参考,该方法包括:
步骤一:在CPU中对交易数据集进行读取和预处理,生成基于TWU(X)、Sup、u(X)排序的搜索空间,其中,TwU(X)表示商品组合X在交易数据集的总效用,Sup表示商品出现的频率,u(X)表示商品组合X中各商品的效用总和;
定义交易数据集为交易数据的集合,记为D={T1,T2,T3,...,Td},1≤d≤N,Td表示第d条交易数据;设I={i1,i2,i3,...ip}代表不同的商品;每条交易数据中包含多个项,记作ip,表示对应的商品,其中ip∈I;多个项的组合记作项集X,表示多个物品的组合,每条交易数据包含若干个项集;项集中每个项有对应的价值,价值由数字表示,即项的效用,表示物品ip在交易Td中的价值u(ip,Td)=p(ip,Td)×q(ip),p(ip,Td)表示交易Td中ip的数量,q(ip)表示项的价值;
交易数据中任一项集X的效用为项集中所有项的效用总和:
交易数据的效用是交易数据中每一项的效用总和,定义如下:
TU(Td)=u(Td,Td)
商品组合在数据集的总效用TWU定义为:
假设零售公司某次销售的商品的高效用项集如表1所示,在表中,以字母标识商品{a,b,c,d,e}被抽象成数字{1,2,3,4,5},例如交易3(第3条交易数据)的{2 5∶5∶1 4},其表示{项:总效用:各项对应的效用},详细表示交易3中包含项集{b,e},该项集的总效用为5,也就是总价值为5。b和e在交易3中的效用分别为1和4。
表1真实HUIM数据集
表1代表一个真实交易集合,首先将商品名称如矿泉水、薯片等抽象成不同的数字1、2、3、4和5。T1交易中的{1 2 4:11:4 1 6}代表该交易中包含字母a、b和d分别对应的商品,他们分别对应的效用是4、1和6,即u(ip,Td),该交易总效用为11,。
假设阈值minUtility=15,这时通过计算得到有4个项集是高效用项集,其中u({a,c,e})=15、u({a,b,d})=17、u({a})=20、u({a,c})=28。因此高效用项集X的结果为{a,c,e}、{a}和{a,c}为最终解。
对交易数据分两次进行读取,第一次读取时,计算各交易数据的1-HTWUI指标,该指标判断交易数据对应的项集是否为一个低价值的交易效用项集,根据所述1-HTWUI指标对交易数据的集合D进行修剪;第二次读取数据集,存储根据所述1-HTWUI修剪后的项集和交易数据;1-HTWUI指标可做如下理解:如果TWU(X)≥minUtility,那么项集"X"是一个高价值的交易效用项集(High transaction-weighted utilization itemset,HTWUI)。否则是一个低价值的交易效用项集(Low transaction-weighted utilization itemset,LTWUI)。一个有k项item的HTWUI/HTWUI被称为k-HTWUI/k-HTWUI。如果项集是低价值的交易效用项集k-HTWUI,那么该项集的超集必然也是低价值的交易效用项集,因此可以剪枝。
商品的1-HTWUI指标指包含所述商品的所有交易数据中所述商品的价值的和,比如矿泉水这一商品的1-HTWUI指标即所有包含矿泉水的交易数据中矿泉水的价值的和,假设所有的交易数据中有3条交易数据包含有矿泉水,那么这三条交易数据中矿泉水的价值的和即矿泉水的1-HTWUI指标。
假设一条交易数据包含k个商品,则分别计算每个商品的1-HTWUI指标,其和即该交易数据的k-HTWUI指标。
在两次读取之后将集合D中的交易数据按交易的长度排序,并保存为新的数据集;同时生成基于TWU、Sup、u(X)排序的搜索空间,随后将新的数据集、搜索空间从CPU内存传输到GPU;
所述交易的长度指交易的字符串长度,例如交易“1 4:2:5 3”表示字符串长度为9,包括空格。按字符串长度排序是为了负载均衡方法的实现,负载均衡为近似平衡策略,同时考虑了分配负载的时间和GPU中线程、块的运行时间。
步骤二:进入GPU迭代环节,基于Sup并行初始化种群;
初始化策略采用轮盘赌策略,每个个体同时并行,并执行轮盘赌策略,轮盘赌策略是一种加权的随机数策略。轮盘赌策略可以使本发明更高效的局部搜索。
种群包含若干个体,每个个体代表一个项集,即多个商品的组合;如将本申请方法应用于某零售公司的大规模高利润商品组合的挖掘场景中,则此处的个体即指该零售公司所售卖的所有商品的任意组合。
步骤三:通过并行改进后的选择、交叉及变异算子演化初始化后的种群,并行探索搜索空间,采用个体级细粒度搜索以增加局部探索能力,提升算法运行效率;
对于选择算子,通过轮盘赌得到种群中的两个候选个体,随后对应染色体长度分配GPU线程,通过二分搜索找到被选择的个体;对于交叉算子,根据项的数量唤起线程块,同时进行交叉位点的随机选择和个体交叉;对于变异算子,则直接唤起种群中个体数量的线程,进行单点变异。通过上述细粒度并行策略,将遗传算法原本串行执行、个体反复计算优化为并行执行、单次计算所有个体,获得核心计算模块的充分并行化,从而加速算法整体运行计算时间;由于GPU计算核心数量大,可以实现更多种群个体的同时搜索,增强算法局部探索能力,同时大幅压缩算法运行时间。
步骤四:在GPU中并行评估所有个体的适应度,并使用SPEVC策略提高并行性能;
高概率编码向量(Promise encoding vector,PEV)用来修剪不存在的项集并将其转化为存在于数据集中的项集。降低运行时间。该方法在初始化时为每个项分配大小为N的位图,位图记为Bit,位图记录项是否存在于某个交易中,0表示不存在,1表示存在,之后按照项名称的顺序将位图进行位与,以判断当前项集是否存在于交易中。然而按照项名称的顺序修剪可能使算法在迭代中遗漏一些高概率项,因此PHUI-GA将修剪顺序按照1-HTWUI的大小排序(Sorted Promise Encoding Vector,SPEV),这样保留了高效用的项。
并行适应度评估有多个字段表示数据结构,其中start_position和eachline_length表示每个交易在数据集中的起始位置和长度,database_item和database_utility表示交易中项和其对应的效用值。这样就使用四个一维数组表示了数据集。首先遍历每个交易,如果交易中位置和个体项位置相同,则将效用累加到临时变量中,由于交易包含的项集可能为个体中项集的子集,因此还需要通过个体项数量总和字段再次判断交易中是否包含全部个体项。最后采用原子加的操作将每个交易的临时适应度值累加到个体适应度值中。CUDA为GPU提供了atomicAdd这一原子加法接口,由于项集较为稀疏,因此这一互斥操作在不过多增加耗时的同时,也在稀疏的大规模数据集中减少了并行复杂度。
在某零售公司的大规模高利润商品组合的挖掘场景中,每个个体的适应度为包含该项集中商品的所有交易数据的总价值,比如包含矿泉水和红酒的项集,其对应的个体的适应度即同时包含矿泉水和红酒的所有交易数据的总价值。
适应度评估是遗传算法中计算每一次迭代算法性能的重要步骤,本发明的遗传算法借鉴于现有演化方法。从演化方法中剔除在并行中效率低的步骤,引入在GPU中高效运行的新步骤。
步骤五:使用精英策略将每个个体位置的最优个体传递给下一次迭代中,利用GPU中的归约操作和共享内存实现并行加速,降低每轮迭代的适应度评估耗时;
在交叉和变异后都会得到n个子代,共2n个子代,根据精英策略将个体按适应度大小排序,去掉适应度重复的个体后重新排序,随后将不重复个体按照适应度从大到小赋值给下一轮新的个体;如果去重后个体数少于n,则循环将这些个体复制给新的种群直至种群数量为n,随后将种群中两个个体随机替换为HUIs中的个体以提升种群丰富度。由于去重和种群多样性不易并行实现,因此精英策略在每次迭代的最后在CPU中执行;
下一轮迭代的种群在多启动过程中再次复制成新种群。
精英策略是一个加速演化方法收敛的策略,加快收敛速度在实际运行中也可以降低运行时间,以达到本发明更快决策的目的
步骤六:重复步骤三至步骤五,直到达到设定的最大迭代次数或挖掘到全部的高效用项集;所述高效用项集指在交易数据集的总效用TWU(X)超过预定阈值minUtility的商品组合X。
定义:如果TWU(X)≥minUtility,那么项集是一个高价值的交易效用项集(Hightransaction-weighted utilization itemset,HTWUI)。否则是一个低价值的交易效用项集(Low transaction-weighted utilization itemset,HTWUI)。
实际应用,可根据实际应用场景自定义minUtility值。
实施例二:
本实施例提供一种基于GPU并行改进遗传算法的高利润商品组合挖掘方法,参见图1,所有的预处理方法在CPU中串行执行,所有迭代过程在GPU中并行执行。
步骤一:给定数据集txt和给定阈值开始执行程序。
步骤二:首先读取txt文件,对数据集的每行数据进行处理,计算1-HTWUI,也就是每个项的TWU大于给定阈值。第二次读取数据集,存储由1-HTWUI修剪的项集和交易,修剪方式参考图2A的排序映射策略,将排序映射策略之后的项集称为SM-itemset,设{1,3,4,6,8,18,20}为原始数据集,每个项对应的1-HTWUI为{6,10,2,4,5,3,1,2},设最小阈值为3,排序策略选择按TWU排序。
首先,通过1-HTWUI修剪项集得到{1,3,6,8,18}。随后对修剪后的项集按照TWU{6,10,4,5,3}进行排序,得到{3,1,8,6,18}。若k-HTWUI中k为1,则1-HTWUI等同于TWU。最后,排序后的项集映射到连续的数,即{1,2,3,4,5}。
在两次读取之后将数据集按交易的长度排序,并保存为新的数据集,排序是为了GPU负载均衡策略。大型稀疏数据集中事务长度各不相同,在GPU中并行处理事务时,每个事务在线程上的运行时间可能相差较大,所有线程无法在相同时间内完成任务,从而导致性能损耗。因此在本申请方法PHUI-GA中提出了一种近似负载平衡策略来平衡线程之间的工作负载,从而减少分配的线程数。在本申请提出的负载均衡策略中,仅对所有交易进行排序。例如交易{2 5:5:1 4}中,在计算包含空格符号时长度为9,{1 2 4:11:4 1 6}的长度为14。这样交易按字符串长度顺序排序为T4、T3、T5、T2、T1、T6、T7。
假设每个块中线程数量为3,每个线程处理一个交易,则第一个块中三个线程处理长度分别为5、9、9,在不进行负载均衡前则为14、10、9。表2展示了负载均衡前后线程负载分配及其优势,通过分配第一个块中线程负载的方差从4.6降至3.4,第二个块中线程负载方差从13.5降低为3.5,每个线程块中的负载得到平衡。负载均衡步骤采用了邻接矩阵降低运算复杂度,该步骤具体可以描述为在两次数据读取后,将开始和长度存储为邻接矩阵,随后根据邻接矩阵再次遍历得到排序数据集,因此这一分配步骤仅对数据集进行一次扫描,因此与迭代过程中的多次遍历比较,虽然块中负载仍有不同,且块与块之间的负载差距大,但更均衡的分配会导致更长的分配耗时,因此近似负载均衡的加速效果依然是明显的,这将在实验部分进行说明。
表2负载均衡前后线程负载分配
对交易排序后的数据集生成新的搜索空间,随后数据集、搜索空间从CPU内存传输到GPU,由于做过映射处理,因此如图2B所示,占用内存空间有倍数的降低。例如个体{10100}表示项3和8存在于个体中,而项1、6和18不存在。然而当项更加稀疏时,例在图2B所示的案例中,由于项的数值范围为1-20,因此每个个体需要20位的存储空间来表示个体的位置,这会导致内存消耗的急剧增加。使用排序映射后的SM-itemset对种群进行编码可以有效解决这个问题,在上述案例中只需要5位存储空间,这样存储空间压缩了75%。
步骤三:执行改进的初始化策略,由于搜索的项集较为稀疏,为了在迭代过程中更快挖掘到项集,因此种群只采用按TWU排序前20%的项做初始化。
步骤四:为了提高遗传算法的搜索能力,提出了并行SPEVC策略。图3为SEPVC策略的运行案例。高概率编码向量(Promise encoding vector,PEV)用来修剪不存在的项集并将其转化为存在于数据集中的项集,将修剪顺序按照1-HTWUI的大小排序(Sorted PromiseEncoding Vector,SPEV),这样保留了高效用的项。
由于SPEV需要依次遍历个体每一个项的位图,因此整体过程不能完全并行实现,而是将其中的位与操作和个体拷贝并行执行。在依次遍历时使用CPU作为同步,GPU做内部并行,这是一种类似特征粒度的并行方式,虽然不能完全并行,但当数据集中项的个数增加时,位与和频繁的拷贝计算量增大,加速效果是可观的,同时不存在的项集组合也在判断PEV的操作中得以修复。
由于搜索空间的项已经排序,并行搜索轮盘赌总和α%的项即可高效的局部搜索。在随后通过二分搜索需要改变的位置并将其翻转,和PHUI-GA中的变异策略类似。
步骤五:在HUIM遗传算法中,对每个个体进行适应度评估时必须对大量交易扫描,因此适应度评估步骤最为耗时。在PHUI-GA中,所有个体的适应度评估都可以在二维块和一维线程中完全并行。图4展示了适应度评估的并行结构。设二维块为bidx和bidy,一维线程为tidx,每个块中的线程数为bdimx。那么bidy代表不同的个体,bidx×bdimx+tidx代表一个要计算的个体的交易位置。
步骤六:在PHUI-GA中的种群丰富度改进的精英策略如图5所示。为了防止当前群体的最优个体在下一次迭代中丢失,因此使用了精英策略。由于每次迭代可能挖掘到一定的高效用商品项集,因此使用改进精英策略可提升种群丰富度。在交叉和变异后都会得到n个子代,共2n个子代,在精英策略中子代按照适应度值大小进行排序,在排序后通过去重去掉适应度重复的个体。随后将不重复个体按照适应度值从大到小赋值给下一轮新的个体。如果去重后个体少于n,则循环将这些个体赋值给新的个体直至种群数量为n。随后将种群中两个个体随机替换为HUIs中的个体以提升种群丰富度,这一方法如图5所示。由于去重和种群多样性不易并行实现,因此精英策略在每次迭代的最后在CPU中执行。
为了验证本申请的有效性,将本发明提出的PHUI-GA与现有技术中四个性能最优的演化HUIM算法进行比较,包括HUIM-IGA、HUIF-PSO、HUIM-SPSO和HUIM-AF,以及一个CPU并行算法PHUI-Miner。
所有实验都是在16核4.40GHz的R7-5800 CPU,32GB内存和GPU为6GB显存的RTX3060环境下运行的。最后一个实验中数据规模大,因此采用内存更大的服务器进行实验,其中CPU处理器为8核3.6GHz的Intel i7-6850K,内存为128GB,GPU为12GB显存的GTX1080Ti。实验中使用六个数据集来评估算法的性能,包括Chess、Mushroom、Accidents、Connect、Chicago_Crimes_2001_to_2017_utility(Chicago)和C20d10k。
如表3所示。Chess和Connect中交易的项有高密集度,平均密度超过30%。Accidents和Chicago中交易数量大,因此按先前算法取10%的Accident,命名为Accidents_10%,同样取5%的Chicago,命名为Chicago_5%。Chicago是六个数据集中最为稀疏的,平均长度只有2,密度为5.13%。C20d10k是由IBM生成器生成的具有高效用的合成数据集。比较的算法、数据集和数据合成器均来自开源数据挖掘库(philip-fourni-viger.com)。对于算法中的参数,PHUI-GA的交叉率和突变率均设置为0.5,初始化策略中的参数k和m设置为10。对比方法参数与各算法对应的文献中一致。
HUIF-PSO参考见Song,Wei&Huang,Chaomin.(2018).Mining High UtilityItemsets Using Bio-Inspired Algorithms:A Diverse Optimal Value Framework.IEEEAccess.6.19568-19582.10.1109/ACCESS.2018.2819162.
PHUI-Miner参考见Yanchen,An A.Approximate Parallel High UtilityItemset Mining[J].Big Data Research,2016,6:26-42.
HUIM-IGA参考见Zhang Q,Fang W,Sun J,et al.Improved Genetic Algorithmfor High-Utility Itemset Mining[J].IEEE Access,2019,7:176799-176813.
HUIM-SPSO参考见Song,Wei&Li,Junya.(2020).Discovering High UtilityItemsets Using Set-Based Particle Swarm Optimization.10.1007/978-3-030-65390-3_4.
HUIM-AF参考见Song,Wei&Li,Junya&Huang,Chaomin.(2021).Artificial FishSwarm Algorithm for Mining High Utility Itemsets.10.1007/978-3-030-78811-7_38.
表3实验数据集的特征
分析如下:
1)与提出策略前对比
如图6所示,每个数据集中采用的阈值在子图上方标出,例如Chess 59W表示在Chess数据集中采用590000的最小阈值。初始化策略影响前期迭代质量,在迭代后期影响较小,需要SPEVC策略配合以挖掘更多的HUIs,因此SPEVC和初始化策略同时评估。在实验中将去掉SPEVC和初始化策略的算法标记为PHUI-GA-PEV-IIS,将去掉改进的精英策略的算法标记为PHUI-GA-Elite,两个方法将与原始算法PHUI-GA进行对比。
从图中可以看出,由于改进了初始化策略,在实验迭代前期可以得到更好的挖掘质量。例如在Chicago_5%和C20d10k数据集中,由于改进了初始化策略,算法在第一次迭代中就可以挖掘到HUIs,这使得算法在后续的交叉变异和精英策略中可以更充分的利用这些高效用解,同时由于SPEVC策略,每一次迭代中不存在的项集组合被修剪成存在于数据集中的项集组合,这同样提升了每次迭代的挖掘质量。因此PHUI-GA比PHUI-GA-PEV-IIS迭代性能更好。SPEVC在Mushroom中效果明显而在Chess中性能提升较弱,这是由于在Mushroom的20000次评估中,有平均4000次左右执行了SPEVC的修复处理,而在Chess中只有500次。改进的精英策略对挖掘性能的提升效果明显,由于PHUI-GA-Elite没有精英策略,每次迭代中的高效用项没有被充分的利用,因此每次迭代的挖掘性能较弱。上述改进策略为每次迭代提供了更多挖掘的HUIs,在改进精英策略中也充分利用了这些已挖掘到的HUIs,提升了种群丰富度因此PHUI-GA的每轮迭代性能进一步提升。
图6中,纵坐标HUIs表示挖掘到的高效用项集的数量,横坐标Iterations表示算法迭代次数,图6六个小图分别对应六个数据集Chess、Mushroom、Accidents、Connect、Chicago_Crimes_2001_to_2017_utility(Chicago)和C20d10k。
2)算法不同模块并行前后性能分析
如图7所示,在子图中,蓝色条表示并行前运行时间,红色表示并行后运行时间,实验将对比每轮迭代运行时间、适应度计算和SPEVC策略,并分别记作Iteration、Fitness和SPEVC。
从图中可以得出适应度计算在并行后的加速效果显著,在6个数据集中对比并行前加速比分别为76倍、70倍、90倍、250倍、3倍和60倍。加速效果和数据集规模相关,例如Connect数据集的交易量较大,交易平均长度较长,加速效果有250倍,而Chess数据集规模较小,加速效果为76倍。虽然Chicago_5%数据集数据量超过10W,但交易平均交易长度较小,因此其本身在CPU中计算较快导致GPU并行加速效果不如其他数据集。由于SPEVC多次同步耗费一定时间,因此在6个数据集上的加速比分别只为2倍、2倍、1.75倍、2.8倍、4.5倍和2.5倍。由于SPEVC计算耗时来自位图的位与操作和位图复制,位图大小又与交易量相关,而6个数据集中Chicago_5%的交易量最大,因此加速效果有5倍左右,而Chess、Mushroom数据集中交易规模只有几千,因此加速效果只有2倍。综合CPU和GPU每轮迭代的总时间,并行后加速比分别为9倍、5倍、28倍、98倍、5倍和8.7倍,每轮迭代除了上述适应度计算和SPEVC,还有GPU中的选择、交叉、变异、数据传递(CPU到GPU和GPU到CPU)和CPU中的精英策略,例如Chess中,这些策略共消耗时间为3.8–0.3–1.1=2.4mmmm,占比为63%。GPU中的选择、交叉、变异具有线性时间复杂度几乎不消耗时间,数据传递损失一定性能,精英策略中的排序去重和改进种群多样性都不易并行,因此耗时最为严重,但同时改进的精英策略却大幅提升了挖掘质量。因此,在综合提升挖掘质量的策略后,加速效果对比并行前依然是可观的
图7中六个小图分别对应六个数据集Chess、Mushroom、Accidents、Connect、Chicago_Crimes_2001_to_2017_utility(Chicago)和C20d10k,纵坐标time(s)表示运行时间。
3)与演化算法做挖掘质量对比
对比5个演化算法在不同数据集中的挖掘质量,每个数据集将采用5个不同的阈值,例如Accident_10%中,采用的5个阈值分别为2500000、2400000、2300000、2200000和2100000。如图8所示。由于HUIM-AF只采用了基础的演化策略,这会导致算法过早收敛因此挖掘效果较差。HUIM-SPSO在粒子群中考虑了高移动速度的粒子,该策略在前四个数据集中效果较差但在Chicago_5%和C20d10k中比HUIM-AF挖掘质量好。HUIF-PSO的挖掘质量比HUIM-AF和HUIM-SPSO较好,但在大多数情况下比PHUI-GA和HUIM-IGA较差,仅在Chicago_5%数据集上比PHUI-GA的挖掘质量高约5%,该现象是由于HUIF-PSO缺少更多有效的种群多样性和精英策略。在低阈值下,PHUI-GA和HUIM-IGA的挖掘质量相当,在较高阈值时,HUIM-IGA在Chess、Mushroom和Chicago_5%数据集中挖掘质量较好,而在Accident_10%、Connect和C20d10k上PHUI-GA的挖掘质量较好,由于HUIM-IGA的CPU串行策略提升了迭代性能,因此在一些数据集上可以挖掘出更多的HUIs,PHUI-GA为了保持并行速度减少了此类策略,但挖掘质量依然可以维持高水准。由此可以看出PHUI-GA由于改进了初始化策略、SPEVC的修剪和精英策略,在GPU并行的前提下有效保持了高挖掘质量。
为了进一步说明演化算法挖掘质量,表4展示了演化算法挖掘占全部HUIs的百分比,全部HUIs采用精确算法挖掘得出。PHUI-GA在Chess和Mushroom中可以在200次迭代内至少挖掘到50%的HUIs,在其余4个数据集中至少可以挖掘到80%的HUIs,在某些阈值下可以挖掘到90%以上的HUIs,这显示了算法在挖掘质量上的高效性。
表4不同遗传算法的挖掘质量对比
4)与高效用方法对比运行时间
实验中将比较5个演化算法在6个数据集中相同迭代次数下的运行时间。如图8所示,HUIM-AF由于没有有效的剪枝策略导致运行时间最慢,这也是基础演化算法缺少剪枝策略导致的共有问题。由于PEV策略可以通过位图高效的得出项集所属的交易,因此HUIM-IGA和HUIF-PSO的运行速度比没有这一策略的HUIM-AF更快。HUIM-GA的运行速度在所有数据集中比HUIF-PSO慢,这是由于算法引入更多的提升挖掘质量策略导致的耗时增加。HUIM-SPSO的运行速度不稳定,在Chess、Mushroom和C20d10k上比HUIM-IGA和HUIF-PSO慢,但在交易数更多的Accident_10%和Connect上运行速度更快,在Chicago_5%上比HUIM-IGA快。PHUI-GA得益于GPU的加速,因此运行速度最快,平均比运行时间第二快的算法快11.9倍、5倍、8.6倍、25倍、10倍和9.5倍。因此最终PHUI-GA取得了最优的运行时间,这也说明GPU和遗传算法解决HUIM问题的优势。然而由于挖掘质量不等,挖掘项数多的算法在保存和计算HUIs时显然会有更高的耗时,因此仍需比较相同挖掘质量时算法的耗时,这一部分将在下一小节中给出。
图8中,六张小图分别对应六个大型数据集Chess、Mushroom、Accident、Connect、Chicago和C20d10k,纵坐标Runtime(s)表示运行时间,横坐标Minimum Threshold表示最小的阈值,柱形统计从左到右依次是PHUI-GA,HUIM-IGA,HUIF-PSO,HUIM-SPSO,HUIM-AF。
5)在相同挖掘质量下对比算法运行时间
由于演化算法是近似算法,因此将PHUI-GA与HUIM-IGA和HUIF-PSO在挖掘90%HUIs时比较运行时间,同时对比CPU并行精确算法PHUI-Miner,PHUI-Miner可以挖掘出全部的项集。运行时间的实验结果记录在表5中。加速比与交易或项数量成正相关。PHUI-GA在Chess中对比HUIM-GA和HUIF-PSO的加速比分别为5.59到41.2倍和12到102倍。在交易数和项数规模比Chess更大的Connect数据集中,加速比分别为64到76倍和95到188倍。同时,阈值也会影响加速度比,在Accident_10%中,最小效用从250W降低到210W时,PHUI-GA对HUIM-IGA的加速度比分别为33、41、48、73、119倍,PHUI-GA对比HUIF-PSO的加速度比分别为34、56、142、243、381倍。原因是,当最小阈值降低时,候选项集的数量会增加,使得CPU上的操作数量增加,同时对比算法在低阈值时可能陷入局部最优,需要迭代更多次数才能挖掘到90%HUIs。得益于CPU并行加速,PHUI-Miner在Accident_10%、Connect、Chicago_5%和C20d10k的表现总优于两个演化算法HUIM-IGA和HUIF-PSO,在Chess和Mushroom上比HUIF-PSO更快。演化算法由于每一次迭代大量重复的数据集计算导致高性能损耗,因此在一定阈值和挖掘质量下,演化算法可能比并行精确算法慢。PHUI-Miner虽然比现有演化算法快,但性能仍然比PHUI-GA慢最高47倍。PHUI-GA在所有数据集和所有阈值下取得最好成绩,这也说明了GA和GPU结合对比CPU并行的优势。
表5不同算法在挖掘90%HUIs时速度对比
/>
因此,无论在运行时间和挖掘质量中,本申请方法相对于现有方法都表现出很大的优势。
在实验中涉及对比算法参考如下:
总而言之,本申请方法在大型稀疏数据集中,本申请提出的PHUI-GA的挖掘质量显著优于所有现有遗传算法。当挖掘至少50%高效用项集时,PHUI-GA的运行速度优于对比的演化算法、精确算法和CPU并行精确算法。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于GPU并行改进遗传算法的高利润商品组合挖掘方法,其特征在于,所述方法包括:
步骤一:在CPU中对交易数据集进行读取和预处理,生成基于TWU(X)、Sup、u(X)排序的搜索空间,其中,TWU(X)表示商品组合X在交易数据集的总效用,Sup表示商品出现的频率,u(X)表示商品组合X中各商品的效用总和;
定义交易数据集为交易数据的集合,记为D={T1,T2,T3,…,Td},1≤d≤N,Td表示第d条交易数据;设I={i1,i2,i3,…ip}代表不同的商品;每条交易数据中包含多个项,记作ip,表示对应的商品,其中ip∈I;多个项的组合记作项集X,表示多个物品的组合,每条交易数据包含若干个项集;项集中每个项有对应的价值,价值由数字表示,即项的效用,表示物品ip在交易Td中的价值u(ip,Td)=p(ip,Td)×q(ip),p(ip,Td)表示交易数据Td中ip的数量,q(ip)表示项的价值;
交易数据中任一项集X的效用为项集中所有项的效用总和:
交易数据的效用是交易数据中每一项的效用总和,定义如下:
TU(Td)=u(Td,Td)
步骤二:进入GPU迭代环节,基于Sup并行初始化遗传算法的种群,每个种群包含若干个体,每个个体表示一个项集,种群的每个个体在初始化阶段同时并行,并生成项集;
步骤三:在GPU中进行选择、交叉、变异,利用GPU多核特性将三个算子按染色体长度对应分配到线程块上,所述三个算子指选择算子、交叉算子和变异算子;所述染色体长度指项集的长度;
步骤四:在交叉后执行SPEVC个体修复策略,通过位图映射快速将不存在的项集修剪成存在于数据集的项集,在依次遍历时使用CPU作为同步,GPU做内部并行,评估所有个体的适应度;
步骤五:使用精英策略将每个个体位置的最优个体传递给下一次迭代中,利用GPU中的归约操作和共享内存实现并行加速,降低每轮迭代的适应度评估耗时;
步骤六:重复步骤三至步骤五,直到达到设定的最大迭代次数或挖掘到全部的高效用项集;所述高效用项集指在交易数据集的总效用TWU(X)超过预定阈值minUtility的商品组合X;
所述步骤一对交易数据进行读取时分两次进行读取,第一次读取时,计算各项的1-HTWUI指标,该指标用于判断交易数据对应的项集是否为一个低价值的交易效用项集,根据所述1-HTWUI指标对交易数据的集合D进行修剪;第二次读取数据集,存储根据所述1-HTWUI修剪后的项集和交易数据;
在两次读取之后将集合D中的交易数据按交易的长度排序,并保存为新的数据集;随后将新的数据集、搜索空间从CPU内存传输到GPU;
所述交易的长度指交易的字符串长度;
所述步骤三中遗传算法的选择算子、交叉算子、变异算子均采用个体级的GPU并行结构;所述并行结构用于在搜索空间内高效搜索具有高效用的项集;
对于选择算子,通过轮盘赌得到种群中的两个候选个体,随后对应染色体长度分配GPU线程,通过二分搜索找到被选择的个体;
对于交叉算子,根据项的数量唤起线程块,同时进行交叉位点的随机选择和个体交叉;
对于变异算子,则直接唤起种群中个体数量的线程,进行单点变异;
获得遗传算法核心计算模块的充分并行化,从而加速算法整体运行计算时间;
所述步骤四中每个个体的适应度为包含所述个体对应的项集中的商品的所有交易数据的总价值;
所述步骤五包括:
在精英策略中子代按照适应度值大小进行排序,在排序后通过去重去掉适应度重复的个体;随后将不重复个体按照适应度值从大到小赋值给下一轮新的个体,循环将这些个体赋值给新的个体直至新种群产生;
下一轮迭代的种群在多启动过程中再次生成新种群;
所述根据所述1-HTWUI指标对交易数据的集合D进行修剪时采用改进排序的SPEVC策略。
2.根据权利要求1所述的方法,其特征在于,所述各项的1-HTWUI指标指包含所述商品的所有交易数据中所述商品的价值的和。
3.根据权利要求1所述的方法,其特征在于,所述步骤二进行初始化时选用轮盘赌策略进行初始化。
4.根据权利要求3所述的方法,其特征在于,初始化时基于TWU排序的前20%的项进行轮盘赌初始化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310948429.2A CN117010991B (zh) | 2023-07-31 | 2023-07-31 | 基于gpu并行改进遗传算法的高利润商品组合挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310948429.2A CN117010991B (zh) | 2023-07-31 | 2023-07-31 | 基于gpu并行改进遗传算法的高利润商品组合挖掘方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117010991A CN117010991A (zh) | 2023-11-07 |
CN117010991B true CN117010991B (zh) | 2024-05-03 |
Family
ID=88572158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310948429.2A Active CN117010991B (zh) | 2023-07-31 | 2023-07-31 | 基于gpu并行改进遗传算法的高利润商品组合挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117010991B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279332A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于gpu-cuda平台以及遗传算法的数据流并行处理方法 |
CN109977165A (zh) * | 2019-04-16 | 2019-07-05 | 江南大学 | 一种三目标模式挖掘模型 |
CN110069498A (zh) * | 2019-04-16 | 2019-07-30 | 江南大学 | 基于多目标演化算法的高质量模式挖掘方法 |
CN110955702A (zh) * | 2019-11-28 | 2020-04-03 | 江南大学 | 一种基于改进遗传算法的模式数据挖掘方法 |
CN115203631A (zh) * | 2022-07-14 | 2022-10-18 | 安徽大学 | 一种基于改进遗传算法的多模态数据分析方法、系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059298A1 (zh) * | 2016-09-27 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 模式挖掘方法、高效用项集挖掘方法及相关设备 |
WO2020210974A1 (zh) * | 2019-04-16 | 2020-10-22 | 江南大学 | 基于改进多目标演化算法的高质量模式挖掘模型及方法 |
-
2023
- 2023-07-31 CN CN202310948429.2A patent/CN117010991B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279332A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于gpu-cuda平台以及遗传算法的数据流并行处理方法 |
CN109977165A (zh) * | 2019-04-16 | 2019-07-05 | 江南大学 | 一种三目标模式挖掘模型 |
CN110069498A (zh) * | 2019-04-16 | 2019-07-30 | 江南大学 | 基于多目标演化算法的高质量模式挖掘方法 |
CN110955702A (zh) * | 2019-11-28 | 2020-04-03 | 江南大学 | 一种基于改进遗传算法的模式数据挖掘方法 |
CN115203631A (zh) * | 2022-07-14 | 2022-10-18 | 安徽大学 | 一种基于改进遗传算法的多模态数据分析方法、系统 |
Non-Patent Citations (1)
Title |
---|
HUIM-IPSO:一个改进的粒子群优化高效用项集挖掘算法;王常武;尹松林;刘文远;魏小梅;郑红军;杨继萍;;小型微型计算机系统;20200515(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117010991A (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559016B (zh) | 一种基于图形处理器并行计算的频繁子图挖掘方法 | |
Gu et al. | Efficient BVH construction via approximate agglomerative clustering | |
US8725734B2 (en) | Sorting multiple records of data using ranges of key values | |
Dehne et al. | Parallelizing the data cube | |
Lin et al. | MEMU: more efficient algorithm to mine high average-utility patterns with multiple minimum average-utility thresholds | |
Lin et al. | Mining high-utility itemsets with multiple minimum utility thresholds | |
Chang et al. | A novel incremental data mining algorithm based on fp-growth for big data | |
Andrzejewski et al. | Parallel approach to incremental co-location pattern mining | |
Fang et al. | High-utility itemsets mining based on binary particle swarm optimization with multiple adjustment strategies | |
Wang et al. | A two-stage discrete water wave optimization algorithm for the flowshop lot-streaming scheduling problem with intermingling and variable lot sizes | |
Han et al. | An overview of high utility itemsets mining methods based on intelligent optimization algorithms | |
Zhou | Using heuristics and genetic algorithms for large-scale database query optimization | |
CN117010991B (zh) | 基于gpu并行改进遗传算法的高利润商品组合挖掘方法 | |
Kim et al. | Lock-gain based graph partitioning | |
CN110955702B (zh) | 一种基于改进遗传算法的模式数据挖掘方法 | |
He et al. | Efficient high-utility occupancy itemset mining algorithm on massive data | |
Sørensen | A down‐up chain with persistent labels on multifurcating trees | |
Ansari et al. | TFI-Apriori: Using new encoding to optimize the apriori algorithm | |
Cheng et al. | A survey of incremental high-utility pattern mining based on storage structure | |
Dolgui et al. | On local optima distribution in buffer allocation problem for production line with unreliable machines | |
Ibrahim et al. | An evolutionary approach for rule set selection in a class based associative classifier | |
Jian-hua et al. | A hybrid genetic algorithm for reduct of attributes in decision system based on rough set theory | |
Ma et al. | A new parallel framework algorithm for solving large-scale DEA models | |
Sekanina et al. | Visualisation and analysis of genetic records produced by Cartesian genetic programming | |
Mohammed et al. | Maximal itemsets mining algorithm based on Bees' Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Country or region after: China Address after: No. 1800 road 214122 Jiangsu Lihu Binhu District City of Wuxi Province Applicant after: Jiangnan University Address before: No. 1-2202-8, Financial 8th Street, Wuxi Economic Development Zone, Jiangsu Province, 214000 Applicant before: Jiangnan University Country or region before: China |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |