CN110457545A - 一种确定推荐系统中排序模型的参数的方法及装置 - Google Patents
一种确定推荐系统中排序模型的参数的方法及装置 Download PDFInfo
- Publication number
- CN110457545A CN110457545A CN201910759864.4A CN201910759864A CN110457545A CN 110457545 A CN110457545 A CN 110457545A CN 201910759864 A CN201910759864 A CN 201910759864A CN 110457545 A CN110457545 A CN 110457545A
- Authority
- CN
- China
- Prior art keywords
- individual
- iteration
- parameter
- order models
- population
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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
-
- 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/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Genetics & Genomics (AREA)
- General Business, Economics & Management (AREA)
- Biomedical Technology (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种确定推荐系统中排序模型的参数的方法及装置,涉及数据挖掘技术领域,主要目的在提高推荐系统的整体优化效果。本发明主要的技术方案为:获取用于训练排序模型的数据集;确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;根据预置编码规则将所述超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;初始时,根据所述基因格式随机生成预置数量的个体,得到种群;对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;对于所述满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
Description
技术领域
本发明涉及数据挖掘技术领域,尤其涉及一种确定推荐系统中排序模型的参数的方法及装置。
背景技术
在大数据时代,推荐系统可以为不同的客户提供个性化的推荐结果,从而更好的服务客户。推荐系统应用广泛,目前的推荐系统一般包括两部分:召回模块与排序模块。其中,召回模块主要是将商品进行过滤得到候选集,从而减少排序模块的计算量;排序模块则是对召回模块得到的候选集进行排序,将排序靠前的商品推荐给客户。
目前在工业界,排序模块主要用树模型来实现,例如随机森林、gbdt,、xgboost。然而,大部分树模型在使用时都有超参数需要设定。例如在使用随机森林模型时,我们需要指定“单棵树的最大深度”和“树的棵树”。在使用gbdt时,我们需要设定“学习率”等等一系列参数。对于超参数一般是通过专家经验对这些参数设置一组合适的值,之后再通过一定的优化算法不断调整参数的值,以求得到一组合适的超参数。但是,在对推荐系统中所使用排序模型的优化过程中,除了对超参数设置的优化外还需要考虑推荐系统应用于不同环境中存在的与排序模型不直接相关的一些其他参数,例如“训练集/测试集的切分率”,“K折交叉验证”K的取值等等参数,因此,利用专家经验结合现有优化算法对推荐系统中排序模型的相关参数的优化难以达到优化推荐系统的目的。
发明内容
鉴于上述问题,本发明提出了一种确定推荐系统中排序模型的参数的方法及装置,主要目的在于共同优化排序模型的超参数和其他参数,以提高对推荐系统的优化结果。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供一种确定推荐系统中排序模型的参数的方法,具体包括:
获取用于训练排序模型的数据集;
确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
根据预置编码规则将所述超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
初始时,根据所述基因格式随机生成预置数量的个体,得到种群;
对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
对于所述满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
另一方面,本发明提供一种确定推荐系统中排序模型的参数的装置,具体包括:
获取单元,用于获取用于训练排序模型的数据集;
确定单元,用于确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
编码单元,用于根据预置编码规则将所述确定单元确定的超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
生成单元,用于初始时,根据所述编码单元确定的基因格式随机生成预置数量的个体,得到种群;
优化单元,用于对所述生成单元得到的种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
解码单元,用于对于所述优化单元得到的满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
另一方面,本发明提供一种存储介质,所述存储介质用于存储的计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述的确定推荐系统中排序模型的参数的方法。
另一方面,本发明提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的确定推荐系统中排序模型的参数的方法。
借由上述技术方案,本发明提供的一种确定推荐系统中排序模型的参数的方法及装置,通过将排序模型的超参数以及非直接相关的其他参数共同作为优化对象,并将这些参数以组合编码的形式构建排序模型待优化参数的基因格式,基于该基因格式对随机生成待优化参数的个体,得到初始的个体种群,并通过优化迭代的方式得到符合预设条件的个体,最终将该个体解码后,得到排序模型的最终优化参数。如此,所得到的优化参数不仅是对超参数的优化,还对其他参数进行了优化,实现了在优化超参数的同时对其他参数同步优化,也提高到了其他参数与超参数的匹配程度,让应用该排序模型的推荐系统能够准确地推荐用户所需的信息。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种确定推荐系统中排序模型的参数的方法的流程图;
图2示出了本发明实施例提出的另一种确定推荐系统中排序模型的参数的方法的流程图;
图3示出了本发明实施例中随机生成种群以及种群中个体基因编码的示意图;
图4示出了本发明实施例中个体适应度的示意图;
图5示出了本发明实施例中基于适应度进行无放回采样迭代个体的示意图;
图6示出了本发明实施例中基于基因距离进行种群聚类的示意图;
图7示出了本发明实施例中从不同类中执行个体交叉操作得到新个体的示意图;
图8示出了本发明实施例中从同一类中执行个体交叉操作得到新个体的示意图;
图9示出了本发明实施例中对个体进行变异操作的示意图;
图10示出了本发明实施例提出的一种确定推荐系统中排序模型的参数的装置的组成框图;
图11示出了本发明实施例提出的另一种确定推荐系统中排序模型的参数的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种确定推荐系统中排序模型的参数的方法,该方法应用于对推荐系统中的排序模型优化,确定排序模型的最优参数。本方法具体步骤如图1所示,包括:
步骤101、获取用于训练排序模型的数据集。
该数据集中的数据即为模型的训练样本数据,一般由人工指定该数据集的样本数据来源,该数据集中的样本数据不限定是单一领域中的样本数据或者是多个领域的样本数据。
推荐排序阶段主要作用是“计算用户和召回的商品的匹配程度”,因此训练排序模型的数据集中有两个核心字段“用户ID”和“商品ID”。通常情况下,需要用“用户ID”去拼接用户类的特征,比如“age”、“存款余额”、“最近一个月内购买商品次数”。用“商品ID”去拼接商品类特征,比如“商品价格”、“商品折扣”。再通过用户ID和商品ID的对应关系构建训练排序模型的样本,样本的集合即为所述数据集。对于样本的标签而言,用户u1只购买了商品p1,那么对于样本(u1,p1)来说标签为1,即有正样本(u1,p1,1)。对于其他商品(p2,p3,p4)则全为0,即有负样本(u1,p2,0)、(u1,p3,0)、(u1,p4,0)。需要说明的是,前面列出的样本中只示意了用户id、商品id和标签,实际上还有其他用户相关特征和商品相关特征,这里省略了。
因此,在本发明的一个实施例中,步骤101获取用于训练排序模型的数据集具体包括:以用户ID为主键拼接用户类特征得到用户表,以商品ID为主键拼接商品类特征得到商品表,再基于用户表、商品表和用户行为表构建用于训练排序模型的多个样本得到所述数据集。
其中,用户表中的每一行是对应一个用户ID,每一列(除用户ID列以外)对应一个用户特征(如年龄、存款余额、最近一个月内购买商品次数等)。商品表的每一行对应一个商品ID,每一列(除商品ID列以外)对应一个商品特征(如商品价格、商品折扣等)。用户行为表中记录了用户浏览、购买或收藏商品的行为信息。例如用户u1只购买了商品p1,那么从用户表中取u1对应的一行,从商品表中取p1对应的一行,打上正样本标签1,即得到一条正样本。
步骤102、确定排序模型的待优化参数。
其中,待优化参数包括与该排序模型直接相关的超参数和与该排序模型非直接相关的其他参数。
超参数是指在排序模型训练与使用前预先设置的参数,而其他参数则是指与该排序模型存在间接关系的一些参数,如,“K折交叉验证”中的参数K,数据集中的数据的空值填充参数M等,其他参数的确定需要根据推荐系统时间应用的领域而确定,不同的应用场景需要设置不同的其他参数,因此,该本步骤中的待优化参数是根据推荐系统所应用的具体场景以及所采用的排序模型而确定。
步骤103、根据预置编码规则将超参数与其他参数进行组合编码,以确定排序模型的待优化参数的基因格式。
该步骤是建立超参数与其他参数的关联关系,避免了优化的超参数与其他参数存在相互影响而导致优化效果不佳的情况。
在本实施例中,将超参数与其他参数进行组合编码,构成排序模型的待优化参数的基因格式,以该基因格式进行待优化参数的优化,得到超参数与其他参数的优化组合。
其中,本步骤对于预置编码规则不做具体限定,该预置编码规则中至少包括确定编码种类和超参数与其他参数的组合方式。对于组合编码,本实施例中不限定是将超参数与其他参数各自的值先进行编码,再根据组合方式进行组合,或者是,先将参数值进行组合,之后将组合得到的值按照预置的编码种类进行编码。
步骤104、初始时,根据基因格式随机生成预置数量的个体,得到种群。
步骤105、对种群进行迭代优化以基于数据集训练排序模型,直到种群中出现满足预设条件的个体。
其中,对种群进行迭代优化可以是基于遗传算法的优化,每个个体对应一组超参数与其他参数的组合。
该步骤中的满足预设条件的个体是指排序模型在应用某个个体所对应的一组超参数与其他参数后,通过使用数据集训练后,能够对待处理的排序数据进行准确的排序输出,符合应用需求。具体的,可以将优化后的个体应用于排序模型的效果的评价指标作为预设条件,如模型识别的准确率等。
进一步的,本实施例中定义预设条件为个体应用于排序模型的适应度,该适应度为排序模型应用个体对应的参数后经数据集训练达到效果的评价指标。也就是说,每得到一个个体,都会将该个体所对应的超参数与其他参数应用于该排序模型,并使用数据集训练该排序模型,进而对该排序模型的训练结果进行评估,即计算该个体应用于排序模型的适应度;之后,判断个体所对应的适应度是否满足预设条件,比如,判断适应度大于预设的阈值,若大于,则确定该个体为满足预设条件的个体,否则,继续判断其他个体的适应度。
当一个种群中不存在满足预设条件的个体时,就会触发该种群进行迭代优化,具体的迭代过程,可以是持续迭代优化所述种群直至得到适应度大于阈值的个体,也可以是,根据预置迭代次数进行迭代优化,选择迭代个体中适应度最大的作为满足预设条件的个体。
而当一个种群中存在满足预设条件的个体时,就无需进行迭代,将该个体确定为最优个体,而当种群中满足预设条件的个体有多个时,则需要选择一个作为最优个体,比如,选择适应度最大的个体作为最优个体。
需要说明的是,步骤104中,初始时得到的种群中,有可能存在满足预设条件的个体,但是概率较低,而本实施例中,触发迭代的条件可以是判断当前的种群中是否存在满足预设条件的个体,若存在,则无需迭代,反之则对当前种群中的个体进行迭代优化。
步骤106、对于满足预设条件的个体进行解码,得到排序模型的最终优化参数。
其中,对个体进行解码是根据基于步骤103中的编码规则执行的,从而解析出对应的超参数与其他参数。
通过图1所示实施例可知,本发明提供的一种确定推荐系统中排序模型的参数的方法,通过将排序模型的超参数以及非直接相关的其他参数共同作为优化对象,并将这些参数以组合编码的形式构建排序模型待优化参数的基因格式,基于该基因格式对随机生成待优化参数的个体,得到初始的个体种群,并通过优化迭代的方式得到符合预设条件的个体,最终将该个体解码后,得到排序模型的最终优化参数。如此,所得到的优化参数不仅是对超参数的优化,还对其他参数进行了优化,实现了在优化超参数的同时对其他参数同步优化,也提高到了其他参数与超参数的匹配程度,让应用该排序模型的推荐系统能够准确地推荐用户所需的信息。
上述图1所示实施例中主要说明的是基于构建基因格式,将超参数与其他参数进行组合编码,实现同步协同优化的效果。以下,举例说明基因格式的构建以及应用过程,在该示例中,仅选用的一个超参数:“随机森林”模型中的“树的颗树”,一个其他参数:“K折交叉验证”中的参数K,而在实际应用中,超参数与其他参数的数量分别可以是多个。
此外,预置编码规则中,设定编码采用的是二进制码,超参数与其他参数的组合方式为将所有参数进行二进制编码后,再拼接二进制码得到基因格式,其中,在本实施例中拼接的顺序设定为先超参数再其他参数(当然在其他实施例中拼接的顺序也可以是其他任意顺序,只要后续的处理过程中固定是该顺序即可)。例如,在本实施例中设定F1表示树的颗树,F2表示K值,当F1为7,F2为4时,根据上述实施例中的执行步骤,先进行二进制编码得到F1的编码为0111,F2的编码为0100,再组合拼接得到的组合编码就是01110100,这里F1的二进制编码的位数取决于F1最大的可能取值,同样,F2的二进制编码的位数取决于F1最大的可能取值。所得到的具有基因格式的组合编码01110100就是步骤104中随机生成的一个个体。再通过随机的方式生成其他的个体,得到初始的种群。
基于上述举例中所定义的基因格式,以下将通过图2所示的实施例详细说明本实施例中对种群中个体的迭代优化过程,即对步骤105的具体现实过程,目前,现有的迭代优化过程多采用遗传算法实现,然而,目前的遗传算法中所采用的随机交叉操作不利于种群的最终收敛,对种群中个体的优化效果不佳,因此,本发明实施例还针对现有的遗传算法进行了改进,使得个体的迭代优化效果更佳。具体步骤如图2所示,包括:
步骤201、利用无放回采样方式从种群中随机选择指定数量的迭代个体。
本步骤是在触发迭代优化之后执行的,也就是判断当前的种群中是否存在满足预设条件的个体,若不存在,则触发迭代优化,开始执行本步骤。
其中,无放回采样方式是为了保证同一个个体在种群中最多只会出现一次,这样有利于在种群优化的后期仍然可以保持一定的多样性,避免陷入局部最优解。也就是说,本步骤中随机选择出的个体将被所生成的新个体(迭代个体)所取代。
需要说明的是,在本步骤中的随机选择的迭代个体是具有限制条件的随机选择。具体的,计算种群中的个体计算适应度,即将每个个体的基因编码解析成对应的参数,并以该参数设置排序模型进行训练,再通过一些预设的评价指标测评训练后的排序模型,得到该排序模型应用该个体所对应的适应度,其中,评价指标如二分类中的AUC值、ROC曲线等。一般地,适应度为0-1之间的数值,数值越靠近1说明个体所对应的参数越优秀。之后,根据所得到的适应度的值,利用无放回采样方式从种群中随机选择指定数量的迭代个体,适应度的值越大,其被随机选中的概率越高,以此提高将适应度高的个体进行迭代优化的概率,增加得到满足预设条件的个体的概率。具体可基于“轮盘赌选择”的随机方式以无放回采样的方式进行选择,每个个体i进入下一代的概率p=fitnessi/fitnessall,其中fitnessi代表个体i的适应度,fitnessall则代表种群中所有个体适应度之和。
步骤202、基于基因格式确定迭代个体的基因编码,根据基因编码对迭代个体进行聚类,得到至少两个迭代个体类。
基于上述二进制编码的举例,该步骤中的基因编码就是F1、F2的组合编码01110100,根据该基因编码对迭代个体进行聚类的具体步骤如下:
首先,根据迭代个体的基因编码计算迭代个体之间的基因距离。
在传统的遗传算法中,在聚类时是基于个体的欧式距离执行的,而本实施例中,聚类则是基于自定义的基因距离,该基因距离用于衡量不同迭代个体之间的差异,而非空间上的远近。
具体基因距离的计算方式为:先计算两个迭代个体的基因编码中对应基因位的值的差值,再将差值绝对值的和值确定为两个迭代个体的基因距离。
例如,对于任意两个个体A,B,他们的二进制基因编码分别为A=a1a2a3...an,B=b1b2b3...bn,其中n为基因的最大基因位数。则AB的“基因距离”:假设A=01110100、B=10100110,那么AB的“基因距离”为4。
其次,利用预置聚类算法与基因距离对迭代个体进行聚类。
聚类所采用的具体算法不做具体限定,比如,使用kmeans算法,将多个迭代个体分到不同的类中,得到至少两个迭代个体类。
进一步的,再计算每个类的中心点,其中,中心点的计算方式与kmeans中心点的计算方式相同,即类中所有个体在各个向量维度上的平均值,此处不再举例说明。
之后,确定类与类之间的距离,即各个类的中心点之间的中心距离。
步骤203、利用无放回采样方式从迭代个体中随机选择目标迭代个体,确定与目标迭代个体执行交叉操作的交叉个体。
该步骤中,是在迭代个体中再随机选在执行交叉操作的目标迭代个体,选择的方式也是无放回采样方式。
当选中一个目标迭代个体A时,还需要进一步确定与A进行交叉操作的另一个交叉个体,在本实施例中,将为A匹配两个交叉个体,一个是根据类与类之间的中心距离,从与该目标迭代个体所在的类距离最远的一个类中随机选择一个个体B作为交叉个体;另一个则是从目标迭代个体A所在类之中随机选择一个个体C作为交叉个体。
上述确定交叉个体的方式中,通过不同类之间的选择可避免发生相似个体交叉而产生相同子代的问题,有更大概率生成新个体,从而得到更优的个体,而从同类中选择则是考虑到相似个体交叉能够产生不同子代的可能性,因此,本实施例中通过对交叉个体的选择确保了生成新个体的最大可能性,从而提高迭代优化的效果。
步骤204、将目标迭代个体与交叉个体进行交叉操作,得到迭代个体。
具体的,交叉操作包括:
首先,基于目标迭代个体与交叉个体的基因编码确定用于交叉操作的基因位。其中,基因位为基因编码中的各个位数。比如,基因代码中的奇数位或偶数位等。
之后,将基因位中的编码值进行交换,生成具有新基因编码的迭代个体。
以奇数位为例,假设A=01110100、B=10100110,那么交换后得到的新的迭代个体的基因编码为A’=11110110、B’=00100100。
再经过A与C的迭代后,三个迭代前的个体将能够迭代出4个新的个体,如此,群体中的个体就不会因为迭代而降低个体数量,确保种群的总体数量以及个体多样性。
步骤205、根据预设的概率值对迭代个体执行变异操作。
具体的,根据预设的概率值确定所述迭代个体是否执行变异操作,其中,预设的概率值为人工设定的值。当概率值达到预设值时,随机改变迭代个体的基因编码中基因位的编码值。该随机改变不限定改变的基因位数量,对于采用二进制的编码,编码值的修改为编码值取反,而对于其他方式的编码,编码值的修改可以为随机改变取值。
步骤206、判断含有迭代个体的种群中是否存在满足预设条件的个体。
步骤207、若存在,则停止对种群的迭代优化,反之,则对种群继续进行迭代优化。
上述步骤206、207为判断是否触发继续迭代优化的操作。即,在每一次种群迭代之后,都可以通过步骤105中所使用的适应度来确定当前种群中的个体是否具有满足预设条件的个体。若不存在,则重复执行上述步骤201-206的迭代过程。
以下将通过具体图示对图2中的各步骤进行举例说明:
假设图3中示出的是随机生成的一个种群,该种群中的12个个体以图3中左侧的黑点表示,每个个体所具有的基因格式是由超参数“树的颗树”与其他参数“K折交叉验证”中的参数K组成的。图中列举了个体A和个体B所对应的基因编码。
在随机生成种群后,将对该种群中的个体计算适应度,即将每个个体的基因编码解析成对应的参数,并以该参数设置排序模型进行训练,再通过一些预设的评价指标测评训练后的排序模型,得到该排序模型应用该个体所对应的适应度,其中,评价指标如二分类中的AUC值、ROC曲线等。一般地,适应度为0-1之间的数值,数值越靠近1说明个体所对应的参数越优秀,如图4所示,为经过计算标记出的每个个体所对应的适应度。
之后,根据所得到的适应度的值,利用无放回采样方式从种群中随机选择指定数量的迭代个体,适应度的值越大,其被随机选中的概率越高,以此提高将适应度高的个体进行迭代优化的概率,增加得到满足预设条件的个体的概率。具体可基于“轮盘赌选择”的随机方式以无放回采样的方式进行选择,图5示出了采样后随机得到的迭代个体。每个个体被选为迭代个体的概率可以是该个体的适应度与种群中所有个体适应度总和的比值。
对所选中的迭代个体按照步骤202的方式进行聚类,即确定迭代个体之间的基因距离,以此进行聚类,确定每个类的中心点以及类与类的中心距离,之后,以步骤203的方式确定目标迭代个体以及对应的交叉个体,如图6所示,将图5中的迭代个体聚合成两个类(类M、类N)。以M中随机选择一个个体A作为目标迭代个体,再从N和M中分别选择一个个体B与个体C作为交叉个体。具体如图7、图8所示,图7中示出了从不同类中选择的个体A与个体B,进行奇数基因位的交叉而得到新的个体A’、B’。图8中则示出了从同一类中选择的个体A与个体C,进行奇数基因位的交叉而得到新的个体A”、C’。
进一步的,在执行完交叉操作后,根据预设的概率确定所得到的新个体中是否需要进行变异操作,当确定需要变异操作时,假设对个体A进行变异操作,如图9所示,将通过随机改变基因编码中基因位的编码值执行基因编码的变异,即通过变异将第三基因位中的“1”取反变为“0”对应的超参数“树的颗树”的值由7变为5。
经过上述的操作的执行,完成对种群中个体的迭代优化,之后再执行步骤206、207,以判断是否继续执行迭代优化操作。
进一步的,作为对上述确定推荐系统中排序模型的参数的方法的实现,本发明实施例提供了一种确定推荐系统中排序模型的参数的装置,该装置主要用于共同优化排序模型的超参数和其他参数,以提高对推荐系统的优化结果。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图10所示,具体包括:
获取单元31,用于获取用于训练排序模型的数据集;
确定单元32,用于确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
编码单元33,用于根据预置编码规则将所述确定单元32确定的超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
生成单元34,用于初始时,根据所述编码单元33确定的基因格式随机生成预置数量的个体,得到种群;
优化单元35,用于对所述生成单元34得到的种群进行迭代优化以基于所述获取单元31得到的数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
解码单元36,用于对于所述优化单元35得到的满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
进一步的,所述确定单元33确定的其他参数包括如下中的至少一项:“K折交叉验证”中的参数K;所述数据集中的数据的空值填充参数M。
进一步的,如图11所示,所述优化单元35包括:
计算模块351,用于计算所述种群中每个个体应用于排序模型的适应度,所述适应度为所述排序模型应用个体对应的参数后经数据集训练达到效果的评价指标;
第一判断模块352,用于根据所述计算模块351得到的适应度确定是否存在满足预设条件的个体;
第一迭代模块353,用于若第一判断模块352确定不存在满足预设条件的个体,则迭代优化所述种群,直到种群中出现满足预设条件的个体。
进一步的,如图11所示,所述第一判断模块352具体用于:
判断是否存在适应度大于阈值的个体;
若存在,则将适应度最大的个体作为满足预设条件的个体;
若不存在,则持续迭代优化所述种群直至得到适应度大于阈值的个体,或者,根据预置迭代次数进行迭代优化,选择迭代个体中适应度最大的作为满足预设条件的个体。
进一步的,如图11所示,所述优化单元35还包括:
第一选择模块354,用于利用无放回采样方式从所述种群中随机选择指定数量的迭代个体;
聚类模块355,用于基于所述基因格式确定迭代个体的基因编码,根据所述基因编码对所述第一选择模块354选择的迭代个体进行聚类,得到至少两个迭代个体类;
第二选择模块356,用于利用无放回采样方式从所述第一选择模块354选择的迭代个体中随机选择目标迭代个体;
确定模块357,用于确定与所述第二选择模块356选中的目标迭代个体执行交叉操作的交叉个体;
第二迭代模块358,用于将所述第二选择模块356选中的目标迭代个体与所述确定模块357确定的交叉个体进行交叉操作,得到迭代个体;
第二判断模块359,用于判断含有所述第二迭代模块358得到的迭代个体的种群中是否存在满足预设条件的个体;若存在,则停止对种群的迭代优化,反之,则对种群继续进行迭代优化。
进一步的,如图11所示,所述聚类模块355包括:
计算子模块3551,用于根据所述迭代个体的基因编码计算迭代个体之间的基因距离,所述基因距离用于衡量不同迭代个体之间的差异;
聚类子模块3552,用于利用预置聚类算法与所述计算子模块3551得到的基因距离对所述迭代个体进行聚类。
进一步的,如图11所示,所述聚类模块355还包括:
确定子模块3553,用于确定超参数与其他参数各自对应的二进制编码;
生成子模块3554,用于将所述确定子模块3553确定的超参数的二进制编码与其他参数二进制编码进行拼接,得到迭代个体的基因编码。
进一步的,所述计算子模块3551具体用于:
计算两个迭代个体的基因编码中对应基因位的值的差值;
将所述差值绝对值的和值确定为两个迭代个体的基因距离。
进一步的,所述确定模块357具体用于:
根据类与类之间的中心距离,从与所述目标迭代个体所在的类距离最远的一个类中随机选择一个个体作为交叉个体;
从所述目标迭代个体所在类之中随机选择一个个体作为交叉个体。
进一步的,所述第二迭代模块358具体用于:
基于所述目标迭代个体与交叉个体的基因编码确定用于交叉操作的基因位;
将所述基因位中的编码值进行交换,生成具有新基因编码的迭代个体。
进一步的,如图11所示,所述优化单元35还包括:
变异模块350,用于在第二迭代模块358将所述目标迭代个体与所述交叉个体进行交叉操作之后,根据预设的概率值确定所述迭代个体是否执行变异操作;若是,则随机改变所述迭代个体的基因编码中基因位的编码值。
进一步的,获取单元31,用于以用户ID为主键拼接用户类特征得到用户表,以商品ID为主键拼接商品类特征得到商品表,再基于用户表、商品表和用户行为表构建用于训练排序模型的多个样本得到所述数据集。
进一步的,本发明实施例还提供了一种存储介质,该存储介质用于存储的计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述的确定推荐系统中排序模型的参数的方法。
另外,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的确定推荐系统中排序模型的参数的方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
本发明还具体公开了如下技术方案:
A1、一种确定推荐系统中排序模型的参数的方法,所述方法包括:
获取用于训练排序模型的数据集;
确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
根据预置编码规则将所述超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
初始时,根据所述基因格式随机生成预置数量的个体,得到种群;
对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
对于所述满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
A2、根据A1所述的方法,所述其他参数包括如下中的至少一项:
“K折交叉验证”中的参数K;
所述数据集中的数据的空值填充参数M。
A3、根据A1所述的方法,对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体,包括:
计算所述种群中每个个体应用于排序模型的适应度,所述适应度为所述排序模型应用个体对应的参数后经数据集训练达到效果的评价指标;
根据所述适应度确定是否存在满足预设条件的个体;
若不存在,则迭代优化所述种群,直到种群中出现满足预设条件的个体。
A4、根据A3所述的方法,根据所述适应度确定是否存在满足预设条件的个体,包括:
判断是否存在适应度大于阈值的个体;
若存在,则将适应度最大的个体作为满足预设条件的个体;
若不存在,则持续迭代优化所述种群直至得到适应度大于阈值的个体,或者,根据预置迭代次数进行迭代优化,选择迭代个体中适应度最大的作为满足预设条件的个体。
A5、根据A1所述的方法,所述对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体包括:
利用无放回采样方式从所述种群中随机选择指定数量的迭代个体;
基于所述基因格式确定迭代个体的基因编码,根据所述基因编码对所述迭代个体进行聚类,得到至少两个迭代个体类;
利用无放回采样方式从所述迭代个体中随机选择目标迭代个体,确定与所述目标迭代个体执行交叉操作的交叉个体;
将所述目标迭代个体与所述交叉个体进行交叉操作,得到迭代个体;
判断含有所述迭代个体的种群中是否存在满足预设条件的个体;
若存在,则停止对种群的迭代优化,反之,则对种群继续进行迭代优化。
A6、根据A5所述的方法,基于所述基因格式确定迭代个体的基因编码,根据所述基因编码对所述迭代个体进行聚类,包括:
根据所述迭代个体的基因编码计算迭代个体之间的基因距离,所述基因距离用于衡量不同迭代个体之间的差异;
利用预置聚类算法与所述基因距离对所述迭代个体进行聚类。
A7、根据A6所述的方法,所述基于所述基因格式确定迭代个体的基因编码,包括:
确定超参数与其他参数各自对应的二进制编码;
将所述超参数的二进制编码与其他参数二进制编码进行拼接,得到迭代个体的基因编码。
A8、根据A7所述的方法,根据所述迭代个体的基因编码计算迭代个体之间的基因距离,包括:
计算两个迭代个体的基因编码中对应基因位的值的差值;
将所述差值绝对值的和值确定为两个迭代个体的基因距离。
A9、根据A5所述的方法,所述确定与所述目标迭代个体执行交叉操作的交叉个体,包括:
根据类与类之间的中心距离,从与所述目标迭代个体所在的类距离最远的一个类中随机选择一个个体作为交叉个体;
从所述目标迭代个体所在类之中随机选择一个个体作为交叉个体。
A10、根据A5所述的方法,将所述目标迭代个体与所述交叉个体进行交叉操作,包括:
基于所述目标迭代个体与交叉个体的基因编码确定用于交叉操作的基因位;
将所述基因位中的编码值进行交换,生成具有新基因编码的迭代个体。
A11、根据A5所述的方法,在将所述目标迭代个体与所述交叉个体进行交叉操作之后,所述方法还包括:
根据预设的概率值确定所述迭代个体是否执行变异操作;
若是,则随机改变所述迭代个体的基因编码中基因位的编码值。
A12、根据A1所述的方法,在根据预置编码规则将所述超参数与其他参数进行组合编码时,所述预置编码规则至少包括确定编码种类和超参数与其他参数的组合方式。
A13、根据A1所述的方法,所述获取用于训练排序模型的数据集包括:
以用户ID为主键拼接用户类特征得到用户表,以商品ID为主键拼接商品类特征得到商品表,再基于用户表、商品表和用户行为表构建用于训练排序模型的多个样本得到所述数据集。
B14、一种确定推荐系统中排序模型的参数的装置,所述装置包括:
获取单元,用于获取用于训练排序模型的数据集;
确定单元,用于确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
编码单元,用于根据预置编码规则将所述确定单元确定的超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
生成单元,用于初始时,根据所述编码单元确定的基因格式随机生成预置数量的个体,得到种群;
优化单元,用于对所述生成单元得到的种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
解码单元,用于对于所述优化单元得到的满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
B15、根据B14所述的装置,所述确定单元确定的其他参数包括如下中的至少一项:
“K折交叉验证”中的参数K;
所述数据集中的数据的空值填充参数M。
B16、根据B14所述的装置,所述优化单元包括:
计算模块,用于计算所述种群中每个个体应用于排序模型的适应度,所述适应度为所述排序模型应用个体对应的参数后经数据集训练达到效果的评价指标;
第一判断模块,用于根据所述计算模块得到的适应度确定是否存在满足预设条件的个体;
第一迭代模块,用于若第一判断模块确定不存在满足预设条件的个体,则迭代优化所述种群,直到种群中出现满足预设条件的个体。
B17、根据B16所述的装置,所述第一判断模块具体用于:
判断是否存在适应度大于阈值的个体;
若存在,则将适应度最大的个体作为满足预设条件的个体;
若不存在,则持续迭代优化所述种群直至得到适应度大于阈值的个体,或者,根据预置迭代次数进行迭代优化,选择迭代个体中适应度最大的作为满足预设条件的个体。
B18、根据B14所述的装置,所述优化单元还包括:
第一选择模块,用于利用无放回采样方式从所述种群中随机选择指定数量的迭代个体;
聚类模块,用于基于所述基因格式确定迭代个体的基因编码,根据所述基因编码对所述第一选择模块选择的迭代个体进行聚类,得到至少两个迭代个体类;
第二选择模块,用于利用无放回采样方式从所述第一选择模块选择的迭代个体中随机选择目标迭代个体;
确定模块,用于确定与所述第二选择模块选中的目标迭代个体执行交叉操作的交叉个体;
第二迭代模块,用于将所述选择模块选中的目标迭代个体与所述确定模块确定的交叉个体进行交叉操作,得到迭代个体;
第二判断模块,用于判断含有所述第二迭代模块得到的迭代个体的种群中是否存在满足预设条件的个体;若存在,则停止对种群的迭代优化,反之,则对种群继续进行迭代优化。
B19、根据B18所述的装置,所述聚类模块包括:
计算子模块,用于根据所述迭代个体的基因编码计算迭代个体之间的基因距离,所述基因距离用于衡量不同迭代个体之间的差异;
聚类子模块,用于利用预置聚类算法与所述计算子模块得到的基因距离对所述迭代个体进行聚类。
B20、根据B19所述的装置,所述聚类模块还包括:
确定子模块,用于确定超参数与其他参数各自对应的二进制编码;
生成子模块,用于将所述超参数的二进制编码与其他参数二进制编码进行拼接,得到迭代个体的基因编码。
B21、根据B20所述的装置,所述计算子模块具体用于:
计算两个迭代个体的基因编码中对应基因位的值的差值;
将所述差值绝对值的和值确定为两个迭代个体的基因距离。
B22、根据B18所述的装置,所述确定模块具体用于:
根据类与类之间的中心距离,从与所述目标迭代个体所在的类距离最远的一个类中随机选择一个个体作为交叉个体;
从所述目标迭代个体所在类之中随机选择一个个体作为交叉个体。
B23、根据B18所述的装置,所述第二迭代模块具体用于:
基于所述目标迭代个体与交叉个体的基因编码确定用于交叉操作的基因位;
将所述基因位中的编码值进行交换,生成具有新基因编码的迭代个体。
B24、根据B18所述的装置,所述优化单元还包括:
变异模块,用于在第二迭代模块将所述目标迭代个体与所述交叉个体进行交叉操作之后,根据预设的概率值确定所述迭代个体是否执行变异操作;若是,则随机改变所述迭代个体的基因编码中基因位的编码值。
B25、根据B14所述的装置,
获取单元,用于以用户ID为主键拼接用户类特征得到用户表,以商品ID为主键拼接商品类特征得到商品表,再基于用户表、商品表和用户行为表构建用于训练排序模型的多个样本得到所述数据集。
Claims (10)
1.一种确定推荐系统中排序模型的参数的方法,其特征在于,所述方法包括:
获取用于训练排序模型的数据集;
确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
根据预置编码规则将所述超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
初始时,根据所述基因格式随机生成预置数量的个体,得到种群;
对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
对于所述满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
2.根据权利要求1所述的方法,其特征在于,所述其他参数包括如下中的至少一项:
“K折交叉验证”中的参数K;
所述数据集中的数据的空值填充参数M。
3.根据权利要求1所述的方法,其特征在于,对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体,包括:
计算所述种群中每个个体应用于排序模型的适应度,所述适应度为所述排序模型应用个体对应的参数后经数据集训练达到效果的评价指标;
根据所述适应度确定是否存在满足预设条件的个体;
若不存在,则迭代优化所述种群,直到种群中出现满足预设条件的个体。
4.根据权利要求3所述的方法,其特征在于,根据所述适应度确定是否存在满足预设条件的个体,包括:
判断是否存在适应度大于阈值的个体;
若存在,则将适应度最大的个体作为满足预设条件的个体;
若不存在,则持续迭代优化所述种群直至得到适应度大于阈值的个体,或者,根据预置迭代次数进行迭代优化,选择迭代个体中适应度最大的作为满足预设条件的个体。
5.根据权利要求1所述的方法,其特征在于,所述对所述种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体包括:
利用无放回采样方式从所述种群中随机选择指定数量的迭代个体;
基于所述基因格式确定迭代个体的基因编码,根据所述基因编码对所述迭代个体进行聚类,得到至少两个迭代个体类;
利用无放回采样方式从所述迭代个体中随机选择目标迭代个体,确定与所述目标迭代个体执行交叉操作的交叉个体;
将所述目标迭代个体与所述交叉个体进行交叉操作,得到迭代个体;
判断含有所述迭代个体的种群中是否存在满足预设条件的个体;
若存在,则停止对种群的迭代优化,反之,则对种群继续进行迭代优化。
6.根据权利要求5所述的方法,其特征在于,基于所述基因格式确定迭代个体的基因编码,根据所述基因编码对所述迭代个体进行聚类,包括:
根据所述迭代个体的基因编码计算迭代个体之间的基因距离,所述基因距离用于衡量不同迭代个体之间的差异;
利用预置聚类算法与所述基因距离对所述迭代个体进行聚类。
7.根据权利要求6所述的方法,其特征在于,所述基于所述基因格式确定迭代个体的基因编码,包括:
确定超参数与其他参数各自对应的二进制编码;
将所述超参数的二进制编码与其他参数二进制编码进行拼接,得到迭代个体的基因编码。
8.一种确定推荐系统中排序模型的参数的装置,其特征在于,所述装置包括:
获取单元,用于获取用于训练排序模型的数据集;
确定单元,用于确定所述排序模型的待优化参数,所述待优化参数包括与所述排序模型直接相关的超参数和与所述排序模型非直接相关的其他参数;
编码单元,用于根据预置编码规则将所述确定单元确定的超参数与其他参数进行组合编码,以确定所述排序模型的待优化参数的基因格式;
生成单元,用于初始时,根据所述编码单元确定的基因格式随机生成预置数量的个体,得到种群;
优化单元,用于对所述生成单元得到的种群进行迭代优化以基于所述数据集训练所述排序模型,直到种群中出现满足预设条件的个体;
解码单元,用于对于所述优化单元得到的满足预设条件的个体进行解码,得到所述排序模型的最终优化参数。
9.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行权利要求1-7中任意一项所述的确定推荐系统中排序模型的参数的方法。
10.一种处理器,其特征在于,所述处理器用于运行计算机程序,其中,所述计算机程序运行时执行权利要求1-7中任意一项所述的确定推荐系统中排序模型的参数的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910759864.4A CN110457545B (zh) | 2019-08-16 | 2019-08-16 | 一种确定推荐系统中排序模型的参数的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910759864.4A CN110457545B (zh) | 2019-08-16 | 2019-08-16 | 一种确定推荐系统中排序模型的参数的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457545A true CN110457545A (zh) | 2019-11-15 |
CN110457545B CN110457545B (zh) | 2022-12-27 |
Family
ID=68487329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910759864.4A Active CN110457545B (zh) | 2019-08-16 | 2019-08-16 | 一种确定推荐系统中排序模型的参数的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457545B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143685A (zh) * | 2019-12-30 | 2020-05-12 | 第四范式(北京)技术有限公司 | 一种推荐系统的构建方法及装置 |
CN111368189A (zh) * | 2020-02-27 | 2020-07-03 | 江苏满运软件科技有限公司 | 货源排序推荐方法、装置、电子设备、存储介质 |
CN111538767A (zh) * | 2020-05-28 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111612528A (zh) * | 2020-04-30 | 2020-09-01 | 中国移动通信集团江苏有限公司 | 用户分类模型的确定方法、装置、设备及存储介质 |
CN111967505A (zh) * | 2020-07-31 | 2020-11-20 | 武汉市教云慧智信息技术有限公司 | 一种面向智慧营销的随机森林模型的参数调优方法 |
CN112163068A (zh) * | 2020-09-25 | 2021-01-01 | 山东电力研究院 | 一种基于自主进化学习器的信息预测方法及系统 |
CN113705628A (zh) * | 2021-08-06 | 2021-11-26 | 北京百度网讯科技有限公司 | 预训练模型的确定方法、装置、电子设备以及存储介质 |
CN115982862A (zh) * | 2023-02-22 | 2023-04-18 | 成都赛力斯科技有限公司 | 一种整车动态参数优化方法、模型训练方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050143845A1 (en) * | 2003-12-24 | 2005-06-30 | Hirotaka Kaji | Multiobjective optimization apparatus, multiobjective optimization method and multiobjective optimization program |
CN104572993A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的分类算法参数优化方法 |
CN105488568A (zh) * | 2015-11-30 | 2016-04-13 | 清华大学 | 一种基于目标重要性分解的模因演化多目标优化调度方法 |
CN106897703A (zh) * | 2017-02-27 | 2017-06-27 | 辽宁工程技术大学 | 基于aga‑pkf‑svm的遥感影像分类方法 |
CN107273197A (zh) * | 2017-06-14 | 2017-10-20 | 北京工业大学 | 基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法 |
CN108764586A (zh) * | 2018-06-21 | 2018-11-06 | 吉首大学 | 模糊Petri网参数优化方法、系统及电子设备 |
-
2019
- 2019-08-16 CN CN201910759864.4A patent/CN110457545B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050143845A1 (en) * | 2003-12-24 | 2005-06-30 | Hirotaka Kaji | Multiobjective optimization apparatus, multiobjective optimization method and multiobjective optimization program |
CN104572993A (zh) * | 2015-01-06 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于遗传算法的分类算法参数优化方法 |
CN105488568A (zh) * | 2015-11-30 | 2016-04-13 | 清华大学 | 一种基于目标重要性分解的模因演化多目标优化调度方法 |
CN106897703A (zh) * | 2017-02-27 | 2017-06-27 | 辽宁工程技术大学 | 基于aga‑pkf‑svm的遥感影像分类方法 |
CN107273197A (zh) * | 2017-06-14 | 2017-10-20 | 北京工业大学 | 基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法 |
CN108764586A (zh) * | 2018-06-21 | 2018-11-06 | 吉首大学 | 模糊Petri网参数优化方法、系统及电子设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143685A (zh) * | 2019-12-30 | 2020-05-12 | 第四范式(北京)技术有限公司 | 一种推荐系统的构建方法及装置 |
CN111143685B (zh) * | 2019-12-30 | 2024-01-26 | 第四范式(北京)技术有限公司 | 一种商品推荐方法及装置 |
CN111368189A (zh) * | 2020-02-27 | 2020-07-03 | 江苏满运软件科技有限公司 | 货源排序推荐方法、装置、电子设备、存储介质 |
CN111612528A (zh) * | 2020-04-30 | 2020-09-01 | 中国移动通信集团江苏有限公司 | 用户分类模型的确定方法、装置、设备及存储介质 |
CN111538767A (zh) * | 2020-05-28 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111538767B (zh) * | 2020-05-28 | 2023-07-14 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111967505A (zh) * | 2020-07-31 | 2020-11-20 | 武汉市教云慧智信息技术有限公司 | 一种面向智慧营销的随机森林模型的参数调优方法 |
CN112163068A (zh) * | 2020-09-25 | 2021-01-01 | 山东电力研究院 | 一种基于自主进化学习器的信息预测方法及系统 |
CN113705628A (zh) * | 2021-08-06 | 2021-11-26 | 北京百度网讯科技有限公司 | 预训练模型的确定方法、装置、电子设备以及存储介质 |
CN113705628B (zh) * | 2021-08-06 | 2024-02-06 | 北京百度网讯科技有限公司 | 预训练模型的确定方法、装置、电子设备以及存储介质 |
CN115982862A (zh) * | 2023-02-22 | 2023-04-18 | 成都赛力斯科技有限公司 | 一种整车动态参数优化方法、模型训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110457545B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457545A (zh) | 一种确定推荐系统中排序模型的参数的方法及装置 | |
Legillon et al. | Cobra: A cooperative coevolutionary algorithm for bi-level optimization | |
CN107169052B (zh) | 推荐方法及装置 | |
TWI360754B (en) | Web page analysis using multiple graphs | |
Levin et al. | Predictive modeling using segmentation | |
CN109978538A (zh) | 确定欺诈用户、训练模型、识别欺诈风险的方法及装置 | |
CN105468628B (zh) | 一种排序方法及装置 | |
CN105590231A (zh) | 用户数据处理方法和装置 | |
CN109753608A (zh) | 确定用户标签的方法、自编码网络的训练方法及装置 | |
CN108491474A (zh) | 一种数据分类方法、装置、设备及计算机可读存储介质 | |
CN112559900B (zh) | 产品推荐方法、装置、计算机设备和存储介质 | |
CN104765751A (zh) | 应用推荐方法及装置 | |
CN107402961B (zh) | 一种推荐方法及装置,电子设备 | |
CN109697454B (zh) | 一种基于隐私保护的跨设备个体识别方法及装置 | |
CN107622326A (zh) | 用户分类、可用资源预测方法、装置及设备 | |
CN109325020A (zh) | 小样本使用方法、装置、计算机设备和存储介质 | |
CN109636181A (zh) | 一种用户信用分计算方法及系统 | |
CN112418987B (zh) | 交通运输单位信用评级方法、系统、电子设备及存储介质 | |
CN109903140A (zh) | 一种信用服务推荐方法、装置及设备 | |
Jiang et al. | Extraction of investment strategies based on moving averages: A genetic algorithm approach | |
Ulkhaq et al. | Predicting customer churn: A comparison of eight machine learning techniques: A case study in an Indonesian telecommunication company | |
CN109886299A (zh) | 一种用户画像方法、装置、可读存储介质及终端设备 | |
Rebala et al. | Clustering | |
Ashlock et al. | Evolving diverse cellular automata based level maps | |
Du Cheng et al. | Bias mitigation in recommender systems to improve diversity |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |