南京大学学报(自然科学版), 2020, 56(1): 74-84 doi: 10.13232/j.cnki.jnju.2020.01.009

基于贝叶斯⁃遗传算法的多值无环CP⁃nets学习

信统昌, 刘兆伟,

烟台大学计算机与控制工程学院,烟台,264005

Learning of multi⁃valued acyclic CP⁃nets based on Bayesian⁃genetic method

Xin Tongchang, Liu Zhaowei,

School of Computer and Control Engineering,Yantai University,Yantai,264005,China

通讯作者: E⁃mail: lzw@ytu.edu.cn

收稿日期: 2019-08-20   网络出版日期: 2020-01-10

基金资助: 山东省重点研发计划.  2015GSF115009
国家自然科学基金.  61403328.  61572419

Received: 2019-08-20   Online: 2020-01-10

摘要

条件偏好网(Conditional Preference networks,CP⁃nets)是描述属性间条件偏好的图模型,多值无环CP⁃nets学习是重要的研究方向之一.区别于传统的CP⁃nets学习方法,提出基于贝叶斯方法和遗传算法的多值无环CP⁃nets学习.在偏好处理上以多值属性的完整偏序关系作为条件偏好,进行相关性关系判定.随后,基于贝叶斯方法,以单一父属性推出多父属性下的相关性关系,进行CP⁃nets结构学习.采用遗传算法在CP⁃nets结构搜索空间中进行搜索,求解最优结构.通过Delink算法进行去环,完成无环CP⁃nets学习.在寿司数据集上验证算法的有效性,实验结果表明,基于贝叶斯⁃遗传算法的CP⁃nets学习算法能够在有限时间内学习得到局部最优无环CP⁃nets.

关键词: 多值属性 ; 贝叶斯方法 ; 遗传算法 ; 无 环 ; CP⁃nets

Abstract

Conditional preference network (CP⁃net) is a graph model describing conditional preferences among attributes. Multi⁃valued acyclic CP⁃nets learning is an important research direction. Different from the traditional CP⁃nets learning method,a multi⁃valued acyclic CP⁃nets learning method based on Bayesian method and genetic algorithm is proposed. In preference processing,the complete partial order relationship of multi⁃valued attributes is used as conditional preferences to determine the correlation relationship. This method uses single parent attribute to deduce the relativity under multi⁃parent attributes and to learn CP⁃nets structure. Genetic algorithm is used to search in the search space of CP⁃nets structure to find the optimal structure. Delink algorithm is used to de⁃loop and complete acyclic CP⁃nets learning. The validity of the algorithm is validated on sushi data set. The experimental results show that the algorithm based on Bayesian⁃genetic algorithm is effective. CP⁃nets learning algorithm can obtain local optimal acyclic CP⁃nets in limited time.

Keywords: multi⁃valued attributes ; Bayesian method ; genetic algorithm ; acyclic ; CP⁃nets

PDF (800KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

信统昌, 刘兆伟. 基于贝叶斯⁃遗传算法的多值无环CP⁃nets学习. 南京大学学报(自然科学版)[J], 2020, 56(1): 74-84 doi:10.13232/j.cnki.jnju.2020.01.009

Xin Tongchang, Liu Zhaowei. Learning of multi⁃valued acyclic CP⁃nets based on Bayesian⁃genetic method. Journal of nanjing University[J], 2020, 56(1): 74-84 doi:10.13232/j.cnki.jnju.2020.01.009

由于用户偏好信息的不断增多,根据数据信息构建偏好模型,了解和预测用户偏好已成为数据挖掘中不可或缺的一部分,并广泛应用于商业中:如在信息检索系统[1,2]中可用来提高用户信息搜索的相关性;在社会选择[3]中可用来推测选择的决定因素;在推荐系统[4]中可用来精确定位用户的个性化偏好;在搜索引擎[5,6]中可用来定制个性化搜索服务.

偏好可形式化为定性偏好[7,8,9]与定量偏好[10,11].为了说明定量偏好,给出一些不同种类的咖啡,通过用户偏好推测哪种咖啡是用户最喜欢的,要求用户对咖啡进行评分,可简单的选出评分最高的咖啡种类.定性偏好通过偏好规则限定用户的选择,例如,有三种咖啡:速溶、拿铁和美式,用户只需在两种类型的咖啡中作出选择:相较于速溶咖啡,用户可能更喜欢拿铁;相较于拿铁咖啡,用户更喜欢美式.

在偏好处理模型中,条件偏好网(Conditional Preference networks,CP⁃nets)因其简单直观吸引了学者们的广泛关注.其中,CP⁃nets的学习问题成为近年的研究热点.目前多为二值属性[7,8]CP⁃nets学习,其在数据预处理阶段对属性取值进行二值化处理,以减少模型学习的复杂度,但属性的简单二值划分无法适用所有情况,多数情况下无法准确表达用户偏好.

本文提出基于贝叶斯⁃遗传算法的条件偏好挖掘算法,是基于偏好规则挖掘多值属性中定性条件偏好的方法,就如下问题进行了讨论:

(1)对二值属性的偏好进行扩展,完成多值属性的偏好关系构建.以多值属性中两两取值间的偏好为基础,以偏好的数据量为权重,构建多值属性偏好关系.

(2)不同于穷举父亲集的CP⁃nets学习方式,本文以贝叶斯方法为基础构建单一父属性条件偏好概率数据库,推断多父属性的条件偏好并完成相关性关系判定,可大幅度降低时间复杂度.

(3)采用遗传算法进行CP⁃nets结构学习.遗传算法作为随机全局多点搜索算法,以CP⁃nets结构为个体,以fit(I)为适应度函数,在CP⁃nets结构搜索空间中搜索最优CP⁃nets结构.通过Delink算法,以不断缩小搜索空间的方式完成去环操作,与贝叶斯方法中所学CPT(Conditional Preference Table)共同构成无环CP⁃nets.

1 相关工作

1.1 CP⁃nets条件偏好

刘兆伟等[9]提出以偏好对作为条件偏好进行机器人手臂最优路径条件偏好挖掘,以提高机器人安全性和人机交互能力.辛冠琳和刘惊雷[12]提出从偏好数据库中挖掘Agent两两属性值间偏好信息的方法挖掘条件偏好.但以上均为二值偏好,无法完成多值偏好关系挖掘.De Amo et al[13]提出CPref⁃Miner挖掘技术来应对多值偏好挖掘,以当前条件下最大取值的偏好作为当前条件偏好,此方法可简化多属性CP⁃nets结构的求解过程,但其偏好关系完整性不足.定性偏好中偏好成对存在,本文以属性取值的两两关系构建完整偏序关系,进行多值属性条件偏好挖掘.

1.2 CP⁃nets结构学习

刘惊雷和廖士中[11]从CP⁃nets顶点集与边集的构造、条件偏好表和构造方法三个方面阐明了CP⁃nets学习的复杂度,为CP⁃nets学习提出了方向.刘惊雷[14]提出带有软约束的满足问题求解办法,在CP⁃nets中进行半环约束的定量运算,将NP⁃hard问题转变为多项式问题.本文通过贝叶斯⁃遗传算法进行CP⁃nets结构学习降低时间复杂度.

贝叶斯方法在结构学习中有重要作用.Gao et al[15]提出一种结合参数约束和先验分布从小数据集中学习网络结构的贝叶斯方法,证明其在具有约束信息的网络模型学习中有重要作用.Foley and Marjoram[16]以贝叶斯方法学习动物行为决策模型,通过对大黄蜂实验的模拟证明贝叶斯算法能够有效地描述启发式决策.Kordestani et al[17]提出基于扩展卡尔曼滤波(Extended Kalman Filter,EKF)和贝叶斯方法的多功能扰流器(Multifunctional Flow Spoiler,MFS)系统监测模型,用以提高系统安全性.本文应用贝叶斯方法进行CP⁃nets结构学习.

遗传算法是模拟生物进化过程的学习模型,能自适应地控制搜索过程,已广泛用于网络模型求解.Larranaga et al[18]提出基于遗传算法的系统变量最佳排序搜索算法,从实例数据库中归纳贝叶斯网络结构,证明了遗传算法在模型学习中具有重要作用.Contaldi et al[19]提出利用参数化遗传算法(Genetic Algorithms,GAs)学习BNS结构的混合学习策略,实验证明,在大型网络模型求解中,遗传方法胜过其他先进的模型学习方法.Li et al[20]提出基于遗传方法的岩爆预测模型学习算法,实验证明,模型相对误差较低,具有有效性.在真实模型求解中,遗传算法同样具有重要作用.面对复杂庞大的CP⁃nets结构搜索空间,可以通过遗传算法搜索近似最优CP⁃nets结构.

1.3 CP⁃nets结构去环

随着属性数目的增多,属性间的相关性关系逐渐复杂,所学CP⁃nets结构必然有环.辛冠琳和刘惊雷[7]提出通过Dijkstra算法原理对同一子节点的所有父节点相关性关系进行评分,保留最小的评分关系作为唯一确定的相关性关系.此方法能保留较高相关性的结构关系,但搜索空间较大,只适于属性较少的CP⁃nets.刘兆伟[10]通过深度优先搜索算法完成去环结构的去环操作.本文通过Delink算法实现CP⁃nets结构的去环操作,通过不断缩小边集搜索空间的方式降低运算时间.

2 相关概念

2.1 CP⁃nets相关概念及定义

CP⁃nets是偏好网络结构和条件偏好表(CPT)构成的偏好模型,可表达用户偏好的决定因素.

定义1 偏好关系 偏好成对存在,共有三种关系(),用o(x,x')记录.在属性集合Dom(X)中,若存在关系xx',表示相对于x'用户更偏好于x;若存在关系xx',表示相对于x用户更偏好于x';若存在关系xx',表示用户在xx'之间没有偏好.称xx'之间的关系为偏好对.同一属性取值下的所有偏好对的全序关系称为偏好关系,用pr(u,c)表示,其中,u为父属性取值,c为子属性取值.

定义2 相关性关系 属性集V中存在候选父属性集UV,子属性CV,且C=1.若不同父属性u,u¯下存在不同的偏好关系u:pru,c,u¯:pru¯,c,则其构成一组偏好满足关系.所有条件偏好对中偏好满足关系的占比为相关性关系Pare(U,C),如式(1)所示.若相关性关系Pare(U,C)>α,则UC的父属性.

Pare(U,C)=sumu:pru,cu¯:pru,c'numpairu,u¯

定义3 CP⁃nets CP⁃nets由偏好网络结构G和条件偏好表(CPT,Conditional Preference

Table)构成.偏好网络结构G=V,DE.V=X1,X2,,Xn是事物所有属性的集合,其中Dom(Xi)=xi1,,xik,,xim代表Xi的属性值阈;DE=Ui,CiPareUi,Ci是相关性关系集合,存储相关性取值为PareUi,Ci的有向边UiCi.CPT是条件偏好关系表,存储不同父属性下的子属性偏好关系u:pru,c.

例1图1为出行方式的CP⁃nets.出行方式(T)受天气(W)、参加场合(O)影响,出行方式有步行(Tw)、打车(Tt)、开车(Tc)三种;天气有多风(Ww)、下雨(Wr)、晴朗(Wf)三种取值;参加场合有公司(Oc)、聚会(Om)两种取值.出行方式多受天气影响,下雨时出行方式多为开车打车步行,即Wr:TcTtTw;天气晴朗时出行方式多为步行打车开车,即Wf:TwTtTc.偏好的选择不只受一种因素影响,出行方式也同时受天气和参加场合影响.

图1

图1   一种出行方式的CP⁃net

Fig.1   A CP⁃net of travel mode


其偏好网络结构G=V,DEV=T,W,O

DE=WOPareWO,T=0.81,CPT=WfWrWw,OcOm,
WfOm:TcTtTw,WfOc:TcTwTt,WrOm:TcTtTw,WrOc:TcTtTw,WwOc:TtTcTw,WwOm:TcTwTl.

2.2 贝叶斯方法

贝叶斯方法给出了先验概率和后验概率的概念,对给定样本在属性BiB的条件下,属性A取值为Aj的概率PAjBi是先验概率.对于已确定的属性A取值Aj,其取值以Bi为条件的概率PBiAj为后验概率.后验概率是基于先验概率的概率推算,根据贝叶斯方法可实现先验概率与后验概率的相互转换.具体公式为:

PBiAj=PBiPAjBii=1nPBiPABi

在条件偏好挖掘中,对于多属性下的条件偏好PBiAjCk,可得:

PBiAjCk=PAjCkBi×PBii=1nPBiPAjCkBi

CP⁃nets中为了求出多父属性下的条件偏好概率,需多次扫描偏好数据库.本文通过构建单一父属性条件偏好概率数据库cell,存储单一父属性条件下的条件偏好PCkBiPAjBi,参与多父属性求解,减少运算时间.

2.3 遗传算法

模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程计算模型称为遗传算法.随机产生种群大小为M的初代种群,借助自然遗传学的遗传算子进行组合、交叉和变异操作,产生代表新解集的种群,并以自然选择的方式逐代演化产生更优的近似解,每代根据问题域的个体适应度进行选择,在进化代数足够大时,遗传算法收敛于局部最优解.

本文通过遗传算法进行CP⁃nets结构学习,以结构评分函数fit(I)作为个体适应度参与遗传过程,并在遗传过程中加入交叉和变异操作,产生新CP⁃nets结构,逐渐演化更优解,直到最大进化代数完成CP⁃nets结构学习,可在有限时间内求得最优解.

3 多值无环CP⁃nets学习

3.1 多值属性下的偏好关系

多值无环CP⁃nets的学习中,以pr(u,c)作为条件偏好.偏好数据库中,偏好成对存在,即o(c1,c2)o(c3,c4)等.以选择排序的方式对偏好进行排序,得出偏好关系pr(u,c)=c1,,cn.

例如,存在属性集合V=X1=A,X2=B,

X3=C,X4=D,X5=EA条件下属性D的偏好对如表1所示,则其相应的条件偏好关系如表2所示.

表1   A条件下属性D的偏好对

Table 1  Preference pairs of attribute D under A

Value of X1Value of X2Preference Pair
a1d1d2a1d1a1d2
a1d1d3a1d1a1d3
a1d1d4a1d1a1d4
a1d2d3a1d2a1d3
a1d2d4a1d2a1d4
a1d3d4a1d3a1d4
a2d1d2a2d1a2d2
a2d1d3a2d1a2d3
a2d1d4a2d1a2d4
a2d2d3a2d2a2d3
a2d2d4a2d2a2d4
a2d3d4a2d3a2d4

新窗口打开| 下载CSV


表2   A条件下属性D的偏好关系

Table 2  Preference relations of attribute D under A

Value of X1Preference Relationship
a1a1d4a1d3a1d1a1d2
a2a1d4a1d3a1d2a1d1

新窗口打开| 下载CSV


偏好对与偏好关系并非始终保持一致.若存在不一致情况,以偏好对在偏好数据库中的数据量为权重,删除权重较低的偏好对,力求保留具有较多评价的数据.例如,存在偏好关系a1d1a1d2a1d2a1d3a1d3a1d1,其不满足一致性,统计偏好对o(a1d1,a1d2),o(a1d2,a1d3)和

o(a1d3,a1d1)在偏好数据库中的占比weight

o(a1d1,a1d2)=0.27,weighto(a1d2,a1d3)= 0.19,weighto(a1d3,a1d1)=0.09,删除权重较低的偏好对,所得偏好关系为a1d1a1d2a1d3.

3.2 基于贝叶斯方法的父属性求解

基于贝叶斯方法的父属性求解分为单一父属性求解和多父属性求解两部分,多父属性求解可通过单一父属性的相关性关系推理得到.

单一父属性的相关性关系计算中,根据式(1),以相反父属性取值下存在不同条件偏好为满足条件,计算属性间的相关性关系.对于单一父属性Pi,其属性取值为pik,则条件偏好关系为pik:prpik,c.同理,父属性取值为pik¯条件下,存在条件偏好关系pik¯:prpik¯,c,不同父属性取值下条件偏好关系不同,即pik:prpik,cpik¯:prpik¯,c,则此属性值对pik,pik¯为一组满足条件,可根据所有属性值对中满足条件的比例得出相关性关系Pare(U,C).

本文基于贝叶斯方法,根据单一父属性概率及关系推出多父属性的相关性关系,这要求在进行多父属性计算前需要计算单一父属性相关关系,并构建单一父属性条件偏好概率数据库.如算法1所示.

算法1 单一父属性条件概率学习算法CPLS (P,V)

Input:评分数据库P,属性集合V

Output:单一父属性条件偏好概率数据库cell

For each single parent attribute PiV

For each subattribute CV & C=1,CPi

For each parent attribute value pik,pik¯Pi,subattribute value cC

cellPpikprpik,c, store conditional preference probability in cell

cellPprpik,c,store preference probability in

cell                          End for

Pare(P,C)=sumpik:prpik,cpik¯:prpik¯,c'numpairpik,pik¯

End for

End for

Return Pare(U,C),cell;

根据贝叶斯方法计算单一父属性相关性关系:

Pprpik,cpik=Ppikprpik,c×Pprpik,cPpik

可推出:

Ppikprpik,c=Pprpik,cpik×PpikPprpik,c

如果需要计算多父属性下的条件偏好概率Pare(PiPj,C),则需要对pikpjl条件下的偏好对Pprpikpjl,cpikpjl,Pprpikpjl¯,c

pikpjl¯进行计算确定满足条件.多父属性条件下的偏好概率可通过单一父属性的条件偏好概率求得,如式(2)所示:

Pprpikpjl,cpikpjl=Ppikpjlprpikpjl,c×Pprpikpjl,cPpikpjl=Ppikprpik,c×Ppjlprpjl,c×Pprpikpjl,cPpikpjl

(2)

多父属性下的满足条件为:

pikpjl:prpikpjl,cpikpjl¯:prpikpjl¯,c

以多父属性下具有满足条件的偏好个数比例作为相关性关系取值Parepikpjl,C.PiPj条件下概率最大的偏好关系存入CPT中,作为CP⁃nets的条件偏好表.算法2为基于贝叶斯方法的多父属性学习算法.

算法2 基于贝叶斯方法的多父属性学习MFAL (U,C,α,cell)

Input:父属性集U,子属性C,阈值α,单一父属性条件偏好概率数据库cell

Output:相关性关系Pare(U,C),条件偏好表CPTU,C

For each Pi,PjU,U is a set of multi⁃attribute fathers

For each pikPi,pjlPj

Pprpikpjl,cpikpjl
Ppikprpik,c×Ppjlprpjl,c×Pprpikpjl,ci=1nPpr(c)Ppikpjlpr(c)

If prpikpjl,cis max probability under the condition

that father attribute is pikpjl

pikpjl:prpikpjl,cdeposit in CPT(U,C)

End if

End for

For each prpikpjl,c,prpikpjl¯,c'CPT(U,C)

If prpikpjl,cprpikpjl¯,c'

num++;

End if                       End for

Pare(U,C)numnumber of pikpjl,pikpjl¯       End for

Return Pare(U,C),CPT(U,C);

例2 存在属性集V=A,B,C,D,现根据单一属性关系A,B属性及C,B属性的相关性关系推出ACB属性的相关性关系,CPLS算法计算得出单一父属性条件偏好概率数据库cell,部分数据如下:

Pa1b1b2b3=0.3Pa1b1b3b2=0.6
Pa1b2b1b3=0.1Pa1b2b3b1=0.4
Pa1b3b1b2=0.3Pa1b3b2b1=0.2
Pa2b1b2b3=0.4Pa2b1b3b2=0.2
Pa2b2b1b3=0.5Pa2b2b3b1=0.3
Pa2b3b1b2=0.5Pa2b3b2b1=0.3
Pa3b1b2b3=0.3Pa3b1b3b2=0.2
Pa3b2b1b3=0.4Pa3b2b3b1=0.3
Pa3b3b1b2=0.2Pa3b3b2b1=0.5
Pc1b1b2b3=0.4Pc1b1b3b2=0.2
Pc1b2b1b3=0.5Pc1b2b3b1=0.7
Pc1b3b1b1=0.8Pc1b3b2b2=0.3
Pc2b1b2b3=0.6Pc2b1b3b2=0.8
Pc2b2b1b3=0.5Pc2b2b3b1=0.3
Pc2b3b1b1=0.2Pc2b3b2b2=0.7
Pb1b2b3=0.2Pb1b3b2=0.1
Pb2b1b3=0.2Pb2b3b1=0.2
Pb3b1b2=0.1Pb3b2b1=0.2

根据贝叶斯公式,可得:

Pb1b2b3a1,c1=Pa1,c1b1b2b3×Pb1b2b3i=1nPpr(Bi)Pa1,c1pr(Bi)=0.3×0.4×0.20.138=0.174

同理可得:

Pb1b3b2a1,c1=0.087
Pb2b1b3a1,c1=0.072
Pb2b3b1a1,c1=0.41
Pb3b1b2a1,c1=0.174
Pb3b2b1a1,c1=0.087

存在关系:

b2b3b1a1,c1Pb2b3b1a1,c1=0.41

同理可得所有关系:

b2b3b1a1,c1b1b3b2a1,c2
b2b1b3a2,c1b2b1b3a2,c2
b2b3b1a3,c1b2b1b3a3,c2

根据式(1)得Pare(AC,B)=0.83.大于阈值α=0.6,满足父子关系条件,确定其相关性关系为ACB.且其条件偏好表CPT(AC,B)为:

a1,c1:b2b3b1a1,c2:b1b3b2
a2,c1:b2b1b3a2,c2:b2b1b3
a3,c1:b2b3b1a3,c2:b2b1b3

3.3 基于遗传算法的CP⁃nets学习

CP⁃nets结构以矩阵形式存储,矩阵行代表父属性,列代表子属性.若存在属性集合V=X1,X2,,Xi,,

Xn,使CP⁃nets结构矩阵K中存在元素K(i,j)=1,则代表第i个属性Xi是第j个属性Xj的父亲;若为0则表示不存在父子关系.以当前子属性的相关性关系取值为权重,存储到结构权值矩阵中,代表当前子属性与父属性的相关性关系重要程度.对于结构权值W,其第i个元素代表CP⁃nets中第i个元素的父子关系程度Pare(U,Ci).例如,属性集合V=A,B,C,所学CP⁃nets及其结构矩阵K和结构权值矩阵W图2所示.

图2

图2   CP⁃nets及其结构矩阵

Fig.2   CP⁃nets and structural matrix


对于CP⁃nets结构I,所有子属性的相关性关系均值为结构I的适应度,适应度如式(3)所示.例如,图2所示的CP⁃nets的适应度fit(I)=0.85.计算公式如式(3)所示:

fit(I)=i=1|V|Pare(Ui,Ci)number of children

通过结构I中各属性相关性关系Pare(Ui,Ci)推断其适应度取值fit(I),并通过基于遗传算法的CP⁃nets学习算法学习具有最高适应度的结构I.

对于存在n个属性的种群,在第t代进行交叉操作,其种群大小为M,随机组合M/2对个体作为双亲,对双亲的1~n2中随机位置进行基因互换,进行基因交叉操作,交叉后得到两个子个体,通过适应度函数重新评估子个体的适应度并参与双亲的适应度比较.为保证种群大小始终为M并完成进化,保留四个个体中适应度最高的两个个体参与下一代遗传计算.具体过程如算法3所示.

算法3 基于遗传算法的CP⁃nets学习算法GCPL (P,V,M,T,α)

Input:评分数据库P,属性集V,种群大小M,进化代数T,阈值α

Ouput:CP⁃nets种群G(T)

cellCPLS(P,V);

initialize G (0),Random Generation of CP⁃nets Structure G (0)

t0;

while (tT) do

For each I1 to M,M is individual number of

population

For each i1V

Pare(Ui,Cj),CPT(U,C)MFAL

(Ui,Cj,α,cell);

fitness=fitness+Pare(Ui,Cj);

End for

fit(I)=fitness/number of children;

End for

Individuals in G (t) are crossed as parents to get two offspring,and two individuals with the highest fitness are selected from four individuals to form the next generation G (t+1)

The individuals in G (t+1) were randomly mutated and the mutated individuals were reassessessed to form a new G (t+1)

t=t+1;

End while

Return G (T);

算法GCPL中的交叉运算如图3,若随机选取双亲个体K1K2,适应度分别为0.85和0.74,随机选择位置4,5进行基因交叉操作得到子个体K3K4.重新进行适应度评估,分别为0.68和0.915,保留两个适应度最高的个体K1K4作为下一代种群个体继续进行遗传操作.

图3

图3   交叉算法

Fig.3   Crossover algorithm


为尽可能模拟真实遗传,增加种群基因多样性,加入变异操作,对第t代中随机个体的随机基因以较小概率进行0,1互换,并重新评估突变个体适应度.若突变后适应度增高,则保留突变基因,反之则放弃突变基因.突变可以加速种群的进化速度,但因属性不能做自己属性的父亲节点,所以矩阵对角线元素被排除在变异操作之外.

3.4 CP⁃nets去环算法

CP⁃nets结构不允许环的存在,但根据遗传算法所学的个体却极可能存在环路,所以如何去环成为重中之重.若在个体的适应度评估过程中去环,实验准确性会更高,但时间复杂度也会大幅增加.而且,即便每一代中所有个体均为无环结构,但交叉、变异后的新生代个体依然会产生新的环路.为了解决环路问题,对最后一代种群G(T)中的所有结构进行去环操作,并重新评估适应度,选取适应度最高的结构I作为最终CP⁃nets结构,即所学结构为I.

图4所示,结构不存在入度为0的节点即为环路.对于G(T)中的CP⁃nets结构I,通过Delink (I,I')算法去环.若I存在入度为0的节点Xi,在副本I'中删除当前节点,并删除其相连边Xi,Xi,更新入度值,寻找新的入度为0的节点进行删除.若最终所有节点都被删除,表明此结构I中没有环的存在;若存在未被删除的节点,代表存在环路.删除环路中权值最小的有向边,即删除取值最小的相关性关系,重新进行Delink ()算法直至所有环路被删除,可得无环CP⁃nets.无环结构学习算法如算法4所示.

图4

图4   有环结构及其入度值

Fig.4   Ring structure and input value


算法4 无环CP⁃nets结构学习算法GCPL

Input:遗传算法所学结构种群G (T)

Ouput:CP⁃nets结构I

Delink (I,I')

{

while (existence in⁃degree of vertex is 0) do

For each XiI'

If Xi in⁃degree=0

Delete Xi from I';

Delete edge XiXi.next from I';

update in⁃degree information;

End if

End for

End while

If I'!=NULL

Delete MinPare(U,C)edge from I;

Delink (I);

If I'=NULL

return I;

End if

}

G(T)=EWCPL(P,V,M,T,α);

For each IG (T)

Delink (I)

End for

find Max IG (T);

Return I;

最终所学的无环CP⁃nets如图5所示,包含条件偏好结构和条件偏好表CPT两部分.

图5

图5   无环CP⁃nets

Fig.5   Acyclic CP⁃nets


4 结果验证

4.1 模拟数据实验

随机生成CP⁃nets结构,通过随机结构得出导出图[14],用Warshall[14]算法对导出图中条件偏好关系进行扩充,得出存储全部条件偏好的传递闭包矩阵,即CPT,共同构成模拟CP⁃nets.模拟CP⁃nets包含条件偏好结构G及条件偏好表GT两部分,通过传递闭包矩阵构成偏好数据库P进行CP⁃nets学习,所学CP⁃nets由条件偏好结构G'及其条件偏好表GT'构成.

下文从两方面验证实验结果的正确性:结构正确性和偏好正确性(偏好正确性也称相似性).

通过式(4)对结构正确性进行评价.e⁃arc表示GG'中相同有向边的数目,d⁃arc表示不同有向边的数目.Correct表示GG'的结构正确性关系,随d⁃arc的增大,正确性逐渐降低.

Correct=e-arce-arc+d-arc

通过式(5)对偏好正确性进行评价.Similar表示GTGT'中偏好相同的概率.

Similar=prG(u,c)=prG'(u,c)prG(u,c),prG'(u,c)

在不同属性集V=6,8,10下构建六组模拟数据,以种群大小M=50、进化代数T=100、阈值α=0.6作为参数,进行CP⁃nets学习.以相同属性个数下不同模拟数据的正确性评价均值为结果,构建结构正确性分析,如表3所示.实验证明,所学结构随属性个数增多,正确性逐渐降低,但整体处于较高水平,且在属性个数V增大到一定程度时仍能保持较高的结构正确性.

表3   不同属性个数下的结构正确性

Table 3  Structural correctness under different number of attributes

VCorrect
60.9453
80.8915
100.8590

新窗口打开| 下载CSV


以属性集V=6、种群大小M=50、进化代数T=100、阈值α=0.6为参数,进行CP⁃nets学习.验证不同数据量100,400,800,1500,2000下的偏好正确性.实验结果如图6所示.实验证明,数据量较低时,相似度也处于较低水平,且随着数据量的增大逐渐增高,在数据量为1500时达到较高水平且趋于最大值.在数据量较大时,本文算法能保证偏好学习正确性.

图6

图6   不同数据大小下的相似度

Fig.6   Similarity under different data sizes


对不同属性个数下CP⁃nets学习时间进行统计,结果如图7所示.实验证明,在数据量较小时,运行时间微乎其微,随数据量增大,运行时间呈线性增长,对于不同属性个数V,运行时间随属性个数增加呈指数增长.

图7

图7   不同属性个数下CP⁃nets学习时间

Fig.7   Learning time of CP⁃nets under different numbers of attributes


4.2 真实数据实验

真实实验的数据是来自Kamishima收集的寿司数据集,此数据集包含一万名用户对10种寿司的评分.每种寿司有七种属性:类型、是否添加海鲜、其他食材、油性大小、使用次数、价格、卖出量,属性取值各不相同.共有五种评分,-1分和0分为不喜欢,1分为未评分或无偏好,2分和3分为喜欢.去除未评分或无偏好的数据,根据喜好程度对数据进行偏好数据库划分.实验选择同一个地区、同一个区域、受同一种文化影响的人群(共得数据2300条)建立偏好数据库进行实验,以确保实验结果具有实际意义.

对不同偏好数据库中不同数据量的数据进行实验.从多组偏好数据库P1,P2,P3,P4,P5中选取数据量为100,400,800,1500,2000的数据计算相似度,结果如图8所示.证明在数据量较小时,数据波动较大,且部分数据库所学CP⁃nets结构正确性处于较低水平,随数据量增加,偏好正确性逐渐趋于稳定,且处于较高水平.

图8

图8   不同偏好数据库与数据大小下的相似度

Fig.8   Similarity under different preference data⁃bases and data sizes


以添加噪声数据的方式模拟数据误差.在数据量为100,400,800,1500,2000的数据集中分别添加噪声水平0,0.01,0.05,0.1的噪声数据,并通过五组偏好数据库所学Similar的均值作为不同噪声水平下的相似度,结果如图9所示.实验证明,数据量较低时未能完全计算所有条件偏好,Similar整体处于较低水平;数据量较大时Similar处于较高水平且保持稳定.在各噪声水平下Similar不存在明显差异,抗噪能力较强,适用于存在部分误差的真实数据.

图9

图9   不同噪声水平下的相似度

Fig.9   Similarity at different noise levels


4.3 实验对比

在众多CP⁃nets学习算法中,性能存在较大差异.选取应用较为广泛的学习算法与本文算法进行比较,显示本文算法具备的优越性.早期Dimopouols et al[21]的方法无法完成数据噪声处理,且不能进行全父属性集的相关性关系判定,不能学习无环CP⁃nets结构.之后,卡方检验[22]对数据中存在的噪声进行了处理,但仍存在父属性选取单一、忽略其他可行性和无法进行无环CP⁃nets学习的问题.G方检验[8]进行了相应的噪声处理并充分考虑多父属性的可行性,但采用穷举法的方式进行候选父亲集的搜索,大大增加了算法的时间复杂度,而且无法学习无环CP⁃nets的问题依旧存在.

本文针对以上问题,在程序运行之初加入数据预处理进行噪声数据处理,并采用遗传算法进行多候选父亲集的搜索,降低时间复杂度,得到精简CP⁃nets拓扑结构,通过结构权值的方式保持CP⁃nets的结构正确性,最终通过Delink算法进行无环CP⁃nets学习.表4为贝叶斯⁃遗传CP⁃nets学习算法与其他算法的比较,前三种算法均为二值属性下的CP⁃nets求解算法,本文算法可进行多值属性CP⁃nets求解.其中贝叶斯⁃遗传的学习父属性个数为属性取值个数nV-1次方.

表4   贝叶斯⁃遗传CP⁃nets学习算法与其他算法的比较

Table 4  Comparison of Bayesian⁃genetic CP⁃nets learning algorithm with other algorithms

实验方法噪声处理父属性结构环路
Dimopouols不可处理1有环
卡方检验可处理1有环
G方检验可处理2|V|-1有环
贝叶斯⁃遗传方法可处理n|V|-1无环

新窗口打开| 下载CSV


5 总 结

本文提出基于贝叶斯⁃遗传方法的CP⁃nets学习算法.通过贝叶斯方法,以单一父属性求解多父属性的相关性关系,并进行条件偏好表的学习.根据适应度函数fit(I),通过遗传算法在CP⁃nets结构搜索空间中搜索局部最优解,在有限代T中得出局部最优CP⁃nets结构.以Delink算法进行去环,CP⁃nets结构与贝叶斯方法所学CPT共同构成CP⁃nets,完成CP⁃nets学习.实验表明,本文算法具有稳定多值无环CP⁃nets学习能力.

本文算法有延展性,为未来工作奠定基础:

(1)采用其他结构学习方法(如K2算法、爬山算法)进行CP⁃nets结构学习,并与本文方法进行对比.

(2)通过剪枝算法,缩减CP⁃nets结构搜索空间,进一步降低挖掘算法的时间复杂度.

(3)对于大规模数据,采用并行的方式进行CP⁃nets学习.

参考文献

Banawan KUlukus S.

Multi⁃message private information retrieval:capacity results and near⁃optimal schemes

IEEE Transactions on Information Theory,201864(10):6842-6862.

[本文引用: 1]

Li L YXu Q LGan Tet al.

A probabilistic model of social working memory for information retrieval in social interactions

IEEE Transactions on Cybernetics,201848(5):1540-1552.

[本文引用: 1]

Chung HKogelmann B.

Diversity and rights:a social choice⁃theoretic analysis of the possibility of public reason

Synthese,2018doi:0.1007/s11229⁃018⁃1737⁃4.

[本文引用: 1]

Han DLi J QLI W Tet al.

An app usage recommender system:improving prediction accuracy for both warm and cold start users

Multimedia Systems,2019doi:10.1007/s00530⁃018⁃0601⁃1.

[本文引用: 1]

Lu HSu STian Z Het al.

A novel search engine for internet of everything based on dynamic prediction

China Communications,201916(3):42-52.

[本文引用: 1]

Lui RAu C H.

I. S. educational game:adoption in teaching search engine optimization (SEO)

Journal of Computer Information Systems,2018doi:10.1080/08874417.2018.1461034.

[本文引用: 1]

辛冠琳刘惊雷.

基于精确P值计算学习无环CP⁃nets

南京大学学报(自然科学),201753(3):450-461.

[本文引用: 3]

Xin G L,Liu J L

Learning acyclic CP⁃nets based on exact P⁃value computation

Journal of Nanjing University (Natural Science)201753(3):450-461.

[本文引用: 3]

辛冠琳刘惊雷.

基于G方检验的CP⁃nets学习

南京大学学报(自然科学),201551(4):781-795.

[本文引用: 3]

Xin G L,Liu J L

Learning CP⁃nets based on G2 test

Journal of Nanjing University (Natural Science)201551(4):781-795.

[本文引用: 3]

刘兆伟仲兆琳王磊.

机器人的CP⁃nets优化类人轨迹规划

控制理论与应用,201835(12):1772-1778.

[本文引用: 2]

Liu Z WZhong Z LWang Let al.

Optimal human⁃like trajectory planning of CP⁃nets for robot

Control Theory and Application201835(12):1772-1778.

[本文引用: 2]

刘兆伟.

基于偏好数据库的无环CP⁃nets结构学习方法研究

博士学位论文. 泰安:山东大学,2018.

[本文引用: 2]

Liu Z W.

R Research on structure learning methods of acyclic CP⁃nets based on preference database

Ph.D Dissertation. Taian:Shandong University2018.

[本文引用: 2]

刘惊雷廖士中.

CP⁃nets学习的复杂度

计算机科学,201845(6):211-215.

[本文引用: 2]

Liu J L,Liao S Z

Complexity of CP⁃nets learning

Computer Science201845(6):211-215.

[本文引用: 2]

辛冠琳刘惊雷.

从偏好数据库中挖掘Ceteris Paribus偏好

计算机应用,201636(8):2092-20982108.

[本文引用: 1]

Xin G L,Liu J L

Mining ceteris paribus preference from preference database

Journal of Computer Application201636(8):2092-20982108.

[本文引用: 1]

De Amo SBueno M L PAlves Get al.

CPrefMiner:An algorithm for mining user contextual preferences based on Bayesian networks

IEEE International Conference on Tools with Artificial Intelligence. Athens,GreeceIEEE Computer Society2012114-121.

[本文引用: 1]

刘惊雷.

CP⁃nets及其表达能力研究

自动化学报,201137(3):290-302.

[本文引用: 3]

Liu J L

CP⁃nets and its expressive ability research

Acta automatica sinica201137(3):290-302.

[本文引用: 3]

Gao X GYang YGuo Z Get al.

Bayesian approach to learn Bayesian networks using data and constraints

Proceedings of the 23rd International Conference on Pattern Recognition. Cancun,MexicoIEEE20173667-3672.

[本文引用: 1]

Foley B RMarjoram P.

Sure enough:efficient Bayesian learning and choice

Animal Cognition,201720(5):867-880.

[本文引用: 1]

Kordestani MSamadi M FSaif Met al.

A new fault prognosis of MFS system using integrated extended Kalman filter and Bayesian method

IEEE Transactions on Industrial Informatics,2015doi:10.1109/TII.2018.2815036.

[本文引用: 1]

Larranaga PKuijper C M HMurga R Het al.

Learning bayesian network structures by searching for the best ordering with genetic algorithms

IEEE Transactions on SystemsMan,and Cybernetics⁃Part A:Systems and Humans,199626(4):487-493.

[本文引用: 1]

Contaldi CVafaee FNelson P C.

Bayesian network hybrid learning using an elite⁃guided genetic algorithm

Artificial Intelligence Review,201952(1):245-272.

[本文引用: 1]

Li T ZLi Y XYang X L.

Rock burst prediction based on genetic algorithms and extreme learning machine

Journal of Central South University,201724(9):2105-2113.

[本文引用: 1]

Dimopoulos YMichael LAthienitou F.

Ceteris Paribus preference elicitation with predictive guarantees

Proceedings of the 21st International Joint Conference on Artifical Intelligence. Pasadena,CA,USAMorgan Kaufmann Publishers Inc20091890-1895.

[本文引用: 1]

Liu J TYao Z JXiong Yet al.

Learning conditional preference network from noisy samples using hypothesis testing

Knowledge⁃Based Systems,2013407-16.

[本文引用: 1]

/