CN112883262B - 一种基于深度强化学习的日程安排推荐方法 - Google Patents

一种基于深度强化学习的日程安排推荐方法 Download PDF

Info

Publication number
CN112883262B
CN112883262B CN202110171365.0A CN202110171365A CN112883262B CN 112883262 B CN112883262 B CN 112883262B CN 202110171365 A CN202110171365 A CN 202110171365A CN 112883262 B CN112883262 B CN 112883262B
Authority
CN
China
Prior art keywords
user
poi
pois
candidate
state
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
Application number
CN202110171365.0A
Other languages
English (en)
Other versions
CN112883262A (zh
Inventor
李天瑞
刘佳
黄维
翟东海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southwest Jiaotong University
Original Assignee
Southwest Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN202110171365.0A priority Critical patent/CN112883262B/zh
Publication of CN112883262A publication Critical patent/CN112883262A/zh
Application granted granted Critical
Publication of CN112883262B publication Critical patent/CN112883262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于深度强化学习的日程安排推荐方法,包括步骤:多因素的融合,动作/POI的选择,奖励的计算和日程安排的推荐。本发明的有益效果在于,所提出的强化学习深度活动因素权衡模型可以融合影响用户选择POI的多种因素,实现为用户推荐合理的日程安排,使得用户可以节省大量时间并享受到高质量的服务。

Description

一种基于深度强化学习的日程安排推荐方法
技术领域
本发明涉及人工智能和强化学习技术领域,特别是一种基于深度强化学习的日程安排推荐方法。
背景技术
城市的快速发展使得能够满足人们日常需求的POI(Point of Interest,兴趣点)具有数量多,分布广且无规律等特征。必不可少地,在日常生活中人们每天都会考虑自己的日常安排来满足自己的需求。比如,用户在一天内的需求包括先去理发店里理发,再去餐馆里吃饭,最后去超市购物。然而,人们在制定这个日程安排时通常都会思考这些问题。比如,我应该去哪个地方理发?我应该先去理发店理发,还是先去超市购物呢?不同的日程安排产生的结果也是不同的,如需要行走的距离长,交通拥堵,或享受到的POI服务质量低等。推荐合理的日程安排,人们会节省大量的时间和距离且得到更好的服务。因此,对于人们在城市生活中的日程安排,开发独特的技术来为人们提供便利是非常重要的。
强化学习描述和解决智能体在与环境的交互过程中通过学习策略以达成回报最大化的问题,其具有状态、动作、状态转移、奖励和策略等要素。由于强化学习是一个无监督方法,因此基于强化学习框架训练深度活动因素权衡网络,并设计了一个强化学习深度活动因素权衡模型来为用户推荐合理的日程安排。
(1)日程安排推荐
参考文献1“An interactive multi-task learning framework for next POIrecommendation with uncertain check-ins”(L.Zhang,Z.Sun,J.Zhang,Y.Lei,C.Li,Z.Wu,H.Kloeden and F.Klanner,Proceedings of the 29th International JointConference on Artificial Intelligence,pp.3551-3557,2020)和参考文献2“Travelrecommendation via fusing multi-auxiliary information into matrixfactorization”(L.Chen,Z.Wu,J.Cao,G.Zhu and Y.Ge,ACM Transactions onIntelligent System and Technology 2020,pp.1-24,2020)分别为用户推荐下一个POI和旅游行程。日程安排推荐与下一个POI推荐和旅游行程推荐的区别包括如下几点:第一,下一个POI推荐每次只推荐一个POI,而日程安排推荐通常一次推荐多个POI。第二,日程安排推荐会满足用户的需求,而下一个POI推荐和旅游行程推荐可能不会满足用户的需求。第三,日程推荐的时间区间是1天,下一个POI推荐是1或2天,而旅游日程安排则涉及到更多的天数。第四,日程安排会对推荐的多个POI进行排序,而旅游日程安排很少对多个POI排序。下一个POI推荐不需要对POI排序,因为其每次只推荐一个POI。因此,下一个POI推荐和旅游行程推荐的方法不适用于推荐日程安排,并且现有日程推荐的相关研究还很少。
(2)强化学习的应用
参考文献3“A deep reinforcement learning-enabled dynamic redeploymentsystem for mobile ambulances”(S.Ji,Y.Zheng,Z.Wang and T.Li,Proceedings of theACM on Interactive,Mobile,Wearable and Ubiquitous Technologies,pp.1-20,2019)和参考文献4“Drn:A deep reinforcement learning framework for newsrecommendation”(G.Zheng,F.Zhang,Z.Zheng,Y.Xiang,N.Yuan,X.Xie and Z.Li,Proceedings of the 2018World Wide Web Conference,vol.7,pp.167-176,2018)分别利用深度强化学习解决了动态救护车部署问题和新闻推荐问题。从这些方法我们可以得出,深度强化学习利用深度学习的表征能力来解决强化学习问题,其在许多序列决策操作问题中取得了显著的成功。因此,深度强化学习也被用来解决现实生活中的问题。
发明内容
本发明的目的是提供一种基于深度强化学习的日程安排推荐方法。
实现本发明的技术方案如下:
一种基于深度强化学习的日程安排推荐方法,包括训练日程安排模型的步骤:
步骤1:根据用户当前位置的坐标和用户需求列表NL,从POI数据集中读取距离用户当前位置最近的kn个候选POI的id;其中,k表示用户需求列表NL中的用户需求类别数,n表示为用户提供同一需求类别的POI个数;
步骤2:根据用户当前位置和kn个候选POI的id,从POI特征数据集中读取kn个候选POI的特征,并对每个候选POI的每个特征进行归一化;所述POI的特征为向量
Figure BDA0002933832730000031
Figure BDA0002933832730000032
其中,#distance表示用户当前位置与候选POI之间的距离,或在kn个候选POI中任意两个POI之间的距离;#walking-distance表示用户从当前位置到任一个候选POI需要步行的距离,或在kn个候选POI中用户从一个POI到另一个POI需要步行的距离;#cost表示用户从当前位置到任一个候选POI需要支出的费用,或在kn个候选POI中用户从一个POI到另一个POI需要支出的费用;#expedite表示用户当前位置与候选POI之间交通状态为畅通的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为畅通的路段在整个路段的占比;#slow-moving表示用户当前位置与候选POI之间交通状态为缓行的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为缓行的路段在整个路段的占比;#congestion表示用户当前位置与候选POI之间交通状态为拥堵的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为拥堵的路段在整个路段的占比;#unknown表示用户当前位置与候选POI之间交通状态为未知的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为未知的路段在整个路段的占比;#duration用户从当前位置到任一个候选POI需花费的时间,或在kn个候选POI中用户从一个POI到另一个POI需花费的时间;#rating表示用户对kn个候选POI的服务评分;
步骤3:设置最大训练次数为E;
步骤4:将用户在时间步t的状态st输入到活动因素权衡网络DAFB中,得到所有候选POI的概率分布;
其中,st=<NLt,dst,Xt>,NLt是用户在时间步t的需求列表,dst是用户在时间步t的日程安排,Xt包含了用户在时间步t可选的
Figure BDA0002933832730000041
当初始时间步即t=0时,ds0是空集;
在候选POI的概率分布中,每个POI被选中的概率为:
Figure BDA0002933832730000042
其中,
Figure BDA0002933832730000045
表示用户在状态st下进行选择POI的动作at *的概率;
Figure BDA0002933832730000046
表示在状态st下进行选择POI的动作at *的活动因素权衡网络DAFB,θ表示活动因素权衡网络DAFB的所有参数;st表示用户在时间步t的状态,at *表示用户在时间步t进行选择POI的动作,A(st)包括在状态st下用户所有可能进行选择的动作a′t
所述
Figure BDA0002933832730000051
包括:
输入层a,包括第一输入、第二输入和第三输入;其中,第一输入包括特征#distance、#walking-distance和#cost;第二输入包括特征#expedite、#slow-moving、#congestion、#unknown和#duration;第三输入包括特征#rating;
线性层b,包括分别对应输入层a的第一输入、第二输入和第三输入的三个隐藏单元;
融合层,包括连接层c、线性层d和线性层e;三个隐藏单元通过融合层得到每个POI的初始概率;
通过连接层f将kn个POI的初始概率进行连接后,使用Softmax函数得到所有候选POI的概率分布;
步骤5:按候选POI的概率分布随机抽样出动作at
步骤6:根据动作at,将状态st转换到下一个时间步t+1的状态st+1
Figure BDA0002933832730000052
其中,T是状态转移函数,poit是在时间步t选择的POI,qt表示与poit提供的服务对应的需求,
Figure BDA0002933832730000053
包含了所有为需求qt提供服务的POI;
Figure BDA0002933832730000054
Figure BDA0002933832730000055
分别表示从集合中删除和添加元素,
Figure BDA0002933832730000056
表示将集合
Figure BDA0002933832730000057
中的元素从集合Xt中移除;
步骤7:根据当前状态st和动作at,计算标量奖励r(st,at),并将时间步t的标量奖励r(st,at)存储到奖励集合R中;其中,
r(st,at)=δ*(1-#cost)+(1-δ)*#rating,δ是平衡因子;
步骤8:重复执行步骤4、5、6和7,直到需求列表NLt为空;
步骤9:根据日程安排dst和奖励集合R计算损失函数L(θ),
Figure BDA0002933832730000061
其中,
Figure BDA0002933832730000062
表示在状态st下选择了日程安排dst的活动因素权衡网络DAFB;
步骤10:利用梯度下降的方法更新参数:
θt+1=θt+α▽θL(θ)
其中,θt+1和θt分别表示在时间步t+1和时间步t的参数;α表示学习率;▽θ表示对参数θ进行求导;
步骤11:跳转到步骤3,直到训练次数等于E;
还包括,推荐日程安排的步骤,具体为:
2.1以步骤1、步骤2相同的方法处理用户实时数据;
2.2以步骤4相同的方法,将用户在时间步t的状态st输入到活动因素权衡网络DAFB中,得到所有候选POI的概率分布;
2.3按候选POI的概率分布抽样出概率最高的动作at
2.4以步骤6相同的方法,根据动作at将状态st转换到下一个时间步t+1的状态st+1
2.5重复执行2.2、2.3和2.4,直到需求列表NLt为空,得到为用户推荐的日程安排dst
本发明的有益效果在于,提出的强化学习深度活动因素权衡模型可以有效地融合影响用户选择POI的多种因素,实现为用户推荐合理的日程安排,使得用户可以节省大量时间并享受到质量高的服务。
附图说明
图1是本发明的框架结构示意图。
图2是蒙特卡罗抽样过程示意图。
图3是候选POI的特征存储空间压缩示意图。
图4(a)和图4(b)分别为在两个真实数据集上与多个日程安排推荐基准方法进行性能对比的结果。
图5(a)和图5(b)分别为在两个真实数据集上候选POI个数对所提出方法的性能影响结果。
图6(a)和图6(b)分别为在两个真实数据集上用户的需求个数对所提出方法的性能影响结果。
具体实施方式
以下结合附图对本发明进一步说明。
一、多个活动因素融合:
本发明的整体框架结构如图1所示,即强化学习活动因素权衡模型。它使用一个基于策略梯度的强化学习框架来学习活动因素权衡网络的参数。它的优点在于其可以训练没有POI标签的活动因素权衡网络的参数,而监督学习算法则不能。强化学习活动因素权衡模型由强化学习框架和活动因素权衡网络组成。
通过定义五个关键的要素,即状态、动作、迁移、奖励和策略构建基于日程安排的强化学习模型。五个关键要素的详细定义如下:
状态(State)。在时间步t的状态为一个三元组st=<NLt,dst,Xt>,NLt是用户在时间步t的需求列表,dst是用户在时间步t的日程安排,Xt包含了用户在时间步t可选的
Figure BDA0002933832730000071
动作(Action)。在每个时间步t,我们指定用A(st)表示智能体能选择的动作的集合,每个动作对应一个来自Xt的POI。
转移(Transition)。从状态st转换到状态st+1的详细转换过程如下所示:
Figure BDA0002933832730000081
其中,T是状态转移函数,poit是在时间步t选择的POI,qt表示和poit提供的服务对应的需求,
Figure BDA0002933832730000082
包含了所有为需求qt提供服务的POI。
Figure BDA0002933832730000083
Figure BDA0002933832730000084
分别表示从集合中删除和添加元素,
Figure BDA0002933832730000085
表示将集合
Figure BDA0002933832730000086
中的元素从集合Xt中移除。
奖励(Reward)。根据当前的状态st和选择的动作at,计算标量奖励来估计所获得的日程安排的质量。标量奖励的公式为:
r(st,at)=δ*(1-#cost)+(1-δ)*#rating
其中δ是一个平衡因子。
策略(Policy)。策略π(st,at)将状态st作为输入并输出选择的动作at。其中,π(st,at)是一个概率函数,描述在给定当前状态st下选择at的概率。
活动因素权衡网络如图1所示。输入层(第a层)有三个输入,第一个输入包括三个特征#distance,#walking-distance,#cost,第二个输入包括五个特征#expedite,#slow-moving,#congestion,#unknown,#duration,第三个输入包括一个特征#rating;相应地,隐藏层(第b层)也包括三个模块;接着,使用一个融合层把这三个模块合并到一起(第e层);融合层由连接层(第c层)和线性层组成(第d层);在第e层,我们得到每个POI的一个初始概率;通过第f层将kn个POI的概率进行连接,并使用Softmax函数得到所有POI(动作)的概率分布(第g层)。针对日程安排问题得到一个最优的策略,使得在该策略下获得的奖励最大。
二、多轮蒙特卡罗抽样:
使用蒙特卡罗抽样对同一个用户进行循环多次采样,每一次采样都会生成同样数量的状态-动作对(s,a)和状态-动作值Q(s,a)。蒙特卡罗抽样的过程如图2所示。在每一轮的采样中,首先根据用户的位置给定初始状态s0;然后通过策略网络抽样一个动作a0;接着,状态s0会转移到下一个状态s1,并以同样的方式采样另一个动作a1;这个过程持续直到状态st中的NLt为空,即此时这里没有需求了。通过一轮的采样,我们将获取到状态-动作对和状态-动作值。状态-动作值Q(s,a)是预期长期折现奖励,如图2所示。γ是未来奖励的折扣率。
三、特征存储空间压缩:
每个候选POI的特征向量包括九个特征元素。通常,使用一个大小为kn*(kn+1)的矩阵来存储这些特征。其中,k表示需求个数,n表示对应一个需求的n个POI。当游戏开始时(t=0),以当前用户的位置作为起点,则具有kn个候选POI。当在时间步t=1时,用户的位置为上一步选择的POI的位置,则具有(k-1)*n个候选POI。因此,用户的初始位置和所有POI的特征关联以及所有POI之间的特征都需要进行存储,其特征存储空间大小为kn*(kn+1)。然而,对应同一个需求的n个POI不会同时被选中,因此这些POI的特征关联不需要被存储。而且,两个POI相互到达的特征是相同的,不需要重复存储。因此,我们对特征存储矩阵进行压缩,如图3所示。通过特征存储空间压缩,特征存储空间的大小从kn*(kn+1)压缩为
Figure BDA0002933832730000091
另外,我们使用未压缩的矩阵存储特征元素#rating。
实施例:
一种基于深度强化学习的日程安排推荐方法,包括:
训练阶段:
步骤1:输入用户当前的位置坐标(经度和纬度)和用户需求类别数为k的需求列表NL,从POI(Point of Interest,兴趣点)数据集中读取距离用户当前位置最近的kn个候选POI的id(Identity document,唯一标识),其中n表示为用户提供同一需求类别的POI个数;
步骤2:根据用户当前的位置和kn个候选POI的id,从POI特征数据集中读取这kn个POI的特征,其中POI的特征用一个向量表示,即:
Figure BDA0002933832730000101
其中,#distance表示用户当前位置与候选POI之间的距离,或在kn个候选POI中任意两个POI之间的距离;#walking-distance表示用户从当前位置到任一个候选POI需要步行的距离,或在kn个候选POI中用户从一个POI到另一个POI需要步行的距离;#cost表示用户从当前位置到任一个候选POI所需要支出的费用,或在kn个候选POI中用户从一个POI到另一个POI所需要支出的费用;#expedite表示用户当前位置与候选POI之间交通状态为畅通的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为畅通的路段在整个路段的占比;#slow-moving表示用户当前位置与候选POI之间交通状态为缓行的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为缓行的路段在整个路段的占比;#congestion表示用户当前位置与候选POI之间交通状态为拥堵的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为拥堵的路段在整个路段的占比;#unknown表示用户当前位置与候选POI之间交通状态为未知的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为未知的路段在整个路段的占比;#duration用户从当前位置到任一个候选POI所需花费的时间,或在kn个候选POI中用户从一个POI到另一个POI所需花费的时间;#rating表示用户对kn个候选POI的服务评分。然后,对所有POI的每一个特征各自进行归一化。
步骤3:设置最大训练次数为E。
步骤4:将时间步t的状态st输入到活动因素权衡网络(Deep activity factorbalancing network,DAFB)中,输出候选POI的概率分布。其中,用户在时间步t的状态st=<NLt,dst,Xt>,NLt是用户在时间步t的需求列表,dst是用户在时间步t的日程安排(在初始时间步t=0,ds0是一个空集),Xt包含了用户在时间步t可选的
Figure BDA0002933832730000111
活动因素权衡网络的结构如下所示:输入层(第a层,Input layer)有三个输入,第一个输入包括三个特征#distance,#walking-distance,#cost,第二个输入包括五个特征#expedite,#slow-moving,#congestion,#unknown,#duration,第三个输入包括一个特征#rating;相应地,线性层(第b层,Linear layer)包括对应三个输入的三个隐藏单元;接着,使用一个融合层把这三个隐藏单元的输出合并到一起(第e层);融合层由连接层(第c层,Concat layer)和线性层组成(第d层,Linear layer);在第e层(Linear layer),我们得到每个POI的初始概率;通过第f层(Concat layer)将kn个POI的概率进行连接,并使用Softmax函数得到所有POI的概率分布(第g层)。
Figure BDA0002933832730000112
表示在状态st下进行选择POI动作at *的活动因素权衡网络,θ表示活动因素权衡网络的所有参数。
在候选POI的概率分布中,每个POI被选中的概率为:
Figure BDA0002933832730000113
其中st表示在时间步t的状态,at是一个表示用户在时间步t选择了一个POI的动作,
Figure BDA0002933832730000114
表示用户在状态st下选择了一个POI的动作at *这一事实的概率。A(st)包括在状态st下所有可能进行的动作a′t
步骤5:按候选POI的概率分布随机抽样出动作at
步骤6:根据选择的动作at,状态st转换到下一个时间步t+1的状态st+1。从状态st转换到状态st+1的详细转换过程如下所示:
Figure BDA0002933832730000121
其中,T是状态转移函数,poit是在时间步t选择的POI,qt表示与poit提供的服务对应的需求,
Figure BDA0002933832730000122
包含了所有为需求qt提供服务的POI。
Figure BDA0002933832730000123
和和
Figure BDA0002933832730000124
分别表示从集合中删除和添加元素,
Figure BDA0002933832730000125
表示将集合
Figure BDA0002933832730000126
中的元素从集合Xt中移除。
步骤7:根据当前的状态st和选择的动作at,通过以下公式来计算标量奖励:
r(st,at)=δ*(1-#cost)+(1-δ)*#rating
其中δ是一个平衡因子。然后,将时间步t的标量奖励r(st,at)存储到奖励集合R中。
步骤8:重复执行步骤4、5、6和7,直到需求列表NLt为空。
步骤9:根据日程安排dst和奖励集合R计算损失函数L(θ):
Figure BDA0002933832730000127
步骤10:为了获得更高的标量奖励,利用梯度下降的方法更新参数:
θt+1=θt+α▽θL(θ)
其中,θt+1和θt分别表示在时间步t+1和时间步t的参数。α表示学习率。▽θ表示对参数θ进行求导。
步骤11:跳转到步骤3,直到训练次数等于E。
应用阶段:
步骤1:输入用户当前的位置坐标(经度和纬度)和用户需求类别数为k的需求列表NL,从POI(Point of Interest,兴趣点)数据集中读取距离用户当前位置最近的kn个候选POI的id(Identity document,唯一标识),其中n表示为用户提供同一需求类别的POI个数;
步骤2:根据用户当前的位置和kn个候选POI的id,从POI特征数据集中读取这kn个POI的特征,其中POI的特征用一个向量表示,即:
Figure BDA0002933832730000131
其中,#distance表示用户当前位置与候选POI之间的距离,或在kn个候选POI中任意两个POI之间的距离;#walking-distance表示用户从当前位置到任一个候选POI需要步行的距离,或在kn个候选POI中用户从一个POI到另一个POI需要步行的距离;#cost表示用户从当前位置到任一个候选POI所需要支出的费用,或在kn个候选POI中用户从一个POI到另一个POI所需要支出的费用;#expedite表示用户当前位置与候选POI之间交通状态为畅通的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为畅通的路段在整个路段的占比;#slow-moving表示用户当前位置与候选POI之间交通状态为缓行的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为缓行的路段在整个路段的占比;#congestion表示用户当前位置与候选POI之间交通状态为拥堵的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为拥堵的路段在整个路段的占比;#unknown表示用户当前位置与候选POI之间交通状态为未知的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为未知的路段在整个路段的占比;#duration用户从当前位置到任一个候选POI所需花费的时间,或在kn个候选POI中用户从一个POI到另一个POI所需花费的时间;#rating表示用户对kn个候选POI的服务评分。然后,对所有POI的每一个特征各自进行归一化。
步骤3:将时间步t的状态st输入到活动因素权衡网络(Deep activity factorbalancing network,DAFB)中,输出候选POI的概率分布。其中,用户在时间步t的状态st=<NLt,dst,Xt>,NLt是用户在时间步t的需求列表,dst是用户在时间步t的日程安排(在初始时间步t=0,ds0是一个空集),Xt包含了用户在时间步t可选的
Figure BDA0002933832730000141
步骤4:按候选POI的概率分布抽样出概率最高的动作at
步骤5:根据选择的动作at,状态st转换到下一个时间步t+1的状态st+1。从状态st转换到状态st+1的详细转换过程如下所示:
Figure BDA0002933832730000142
其中,T是状态转移函数,poit是在时间步t选择的POI,qt表示与poit提供的服务对应的需求,
Figure BDA0002933832730000143
包含了所有为需求qt提供服务的POI。
Figure BDA0002933832730000144
Figure BDA0002933832730000149
分别表示从集合中删除和添加元素,
Figure BDA0002933832730000146
表示将集合
Figure BDA0002933832730000147
中的元素从集合Xt中移除。此外,使用π(at|st;θ)来表示可以学习的策略网络。在时间步t,策略网络π(at|st;θ)基于状态st选择了动作at=poit,然后将需求qt从需求列表NLt中移除,接着将选择的poit加入到日程安排dst中,最后将POI集合
Figure BDA0002933832730000148
从POI集合Xt中移除。
步骤6:重复执行步骤3、4和5,直到需求列表NLt为空。最终,输出为用户推荐的日程安排dst
仿真实验
为了验证本发明方法的有效性,使用两个真实世界的数据集(#U200Chengdu和#U182Beijing)进行了实验,并与现有七个基准方法做了比较,即随机选择方法(Randomselect,RS),基于距离的贪心算法(Greedy-#distance,G-#distance),基于交通情况的贪心算法(Greedy-#expedite,G-#expedite),基于评分的贪心算法(Greedy-#rating,G-#rating),基于最短距离的K近邻方法(K-Nearest Neighbor with shortest distance,KNN-SD),最多服务方法(Most services,MS)和空间感知位置偏好自编码(Spatial-awarelocation preference auto-encoder,SLP-A)。评估指标包括平均路径距离(Averagerouting distance,ARD),平均花费时间(Average execution time,AET)和平均服务评分(Average rating score,ARS)。
实验一
为了验证所提出的强化学习深度活动因素权衡模型(RL-DAFB)的有效性,我们与七个基准方法进行对比和分析。在实验过程中,每个特征都进行了归一化预处理。表1展示了不同方法在两个真实世界数据集上的实验结果。
表1不同基准方法的定量对比结果
Figure BDA0002933832730000151
从表1可以很明显的看出,RS方法的随机性较大且不具有稳定性。因此,很难推荐合理的日程安排。G-#distance方法具有较低的ARD和AET,表明其为用户推荐的POI都距离用户当前位置较近。然而,这些推荐的POI的服务评分都较低。G-#expedite方法和G-#distance方法相比,G-#expedite方法推荐的POI距离用户当前位置相对更远。高的ARS表示G-#rating方法推荐的POI都具有较好的服务,但是相对于用户当前位置,这些POI都具有较远的距离。KNN-SD方法在三个评估机制都表现不好。其原因是将POI的k个最近邻居的最短距离和作为日程安排推荐的特征是不合理的。MS方法能够推荐距离较近的POI,然而这些POI具有较低的ARS。此外,MS方法在ARD和AET两个评估指标上表现不稳定。和其他方法相比,SLP-A方法在ARS上表现相对较好,在ARD和AET上表现相对较弱。RL-DAFB方法推荐的POI具有最好的服务,其次这些POI的距离和所需时间都相对较小。因此,RL-DAFB方法能够推荐更合理的日程安排。
实验二
为了更清楚地定量对比不同的方法,我们将ARD和ARS两个评估标准合并成一个值。我们将ARD和1-ARS看作为一个直角坐标系中的坐标点,并设计了两种方法来合并ARD和ARS。第一种融合方法是基于面积的方法。具体地,以坐标点(ARD,1-ARS),坐标原点(0,0)和坐标点(ARD,0)构成的三角形的面积作为融合后的值s。当ARD或1-ARS小时,s小,这表示日程推荐方法具有好的性能。第二种融合方法是基于距离的方法。具体地,以坐标点(ARD,1-ARS)和坐标原点(0,0)之间的欧式距离作为融合后的值d。当ARD或1-ARS小时,d小,这表示日程推荐方法具有好的性能。
对比的结果如图4所示,RL-DAFB方法在s和d上都是最好的。对于G-#distance方法,虽然在s上具有好的性能,但是其在d上表现不好。因此,该方法只侧重于特征#distance,而忽略了其它影响因素。相应地,G-#rating方法只关注特征#rating,导致其在s上表现不好。因此,所提出的RL-DAFB在日程安排推荐上具有最优的性能。
实验三
日程安排的推荐过程中,我们为用户的每个需求分配了n=10个备选的POI。考虑到备选的POI的个数能影响推荐的结果,我们分别设置n为4,6,8,10和12进行了实验。实验结果如图5所示。当n=4时,POI和用户的距离较近,因此RAD和AET相对较小。然而,由于可选择的POI较少,因此很难推荐服务评分高的POI,这导致ARS小。当n=6时,RL-DAFB可以推荐服务评分更高的POI,因此相对于n=4时,ARS更高。随着n的增大,更多具有短距离和高服务评分的POI可以被选择,这使得推荐的日程安排在RAD,AET和ARS都表现好。然而,随着n的增大,模型训练的时间也越长。因此,选择合适的备选POI个数(如n=10)可以使得日程安排推荐的性能更好。
实验四
本文提出的RL-DAFB方法能够推荐需求个数不同的日程安排。显然,需求个数越多,备选的POI越多,日程安排推荐的复杂性也越高。为了研究需求个数对日程安排推荐结果的影响,我们分析了不同需求个数下的日程安排推荐结果。我们将数据按需求个数(k分别为2,3,4,5,6和7)划分为六个部分,然后在每个部分中选择相同数量的数据进行实验。实验的结果如图6所示。我们可以得出所提出的RL-DAFB方法在ARD,AET和ARS上都具有较好的性能,这表明了模型的强健性,其不会受到需求个数的变化而性能变得很差。此外,随着k的增大,ARD和AET稍微增大。这表明了日程安排推荐的复杂性随着k的增大而增大,因为RL-DAFB方法会探索距离更远的一些POI以获得更优的日程安排。然而,RL-DARB在ARS依然保持着好的结果。因此,所提出的RL-DAFB方法在需求个数不同的情况下同样具有好的性能。

Claims (1)

1.一种基于深度强化学习的日程安排推荐方法,其特征在于,包括训练日程安排模型的步骤:
步骤1:根据用户当前位置的坐标和用户需求列表NL,从POI数据集中读取距离用户当前位置最近的kn个候选POI的id;其中,k表示用户需求列表NL中的用户需求类别数,n表示为用户提供同一需求类别的POI个数;
步骤2:根据用户当前位置和kn个候选POI的id,从POI特征数据集中读取kn个候选POI的特征,并对每个候选POI的每个特征进行归一化;所述POI的特征为向量
Figure FDA0002933832720000011
Figure FDA0002933832720000012
其中,#distance表示用户当前位置与候选POI之间的距离,或在kn个候选POI中任意两个POI之间的距离;#walking-distance表示用户从当前位置到任一个候选POI需要步行的距离,或在kn个候选POI中用户从一个POI到另一个POI需要步行的距离;#cost表示用户从当前位置到任一个候选POI需要支出的费用,或在kn个候选POI中用户从一个POI到另一个POI需要支出的费用;#expedite表示用户当前位置与候选POI之间交通状态为畅通的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为畅通的路段在整个路段的占比;#slow-moving表示用户当前位置与候选POI之间交通状态为缓行的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为缓行的路段在整个路段的占比;#congestion表示用户当前位置与候选POI之间交通状态为拥堵的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为拥堵的路段在整个路段的占比;#unknown表示用户当前位置与候选POI之间交通状态为未知的路段在整个路段的占比,或在kn个候选POI中任意两个POI之间交通状态为未知的路段在整个路段的占比;#duration用户从当前位置到任一个候选POI需花费的时间,或在kn个候选POI中用户从一个POI到另一个POI需花费的时间;#rating表示用户对kn个候选POI的服务评分;
步骤3:设置最大训练次数为E;
步骤4:将用户在时间步t的状态st输入到活动因素权衡网络DAFB中,得到所有候选POI的概率分布;
其中,st=<NLt,dst,Xt>,NLt是用户在时间步t的需求列表,dst是用户在时间步t的日程安排,Xt包含了用户在时间步t可选的
Figure FDA0002933832720000021
当初始时间步即t=0时,ds0是空集;
在候选POI的概率分布中,每个POI被选中的概率为:
Figure FDA0002933832720000022
其中,
Figure FDA0002933832720000023
表示用户在状态st下进行选择POI的动作at *的概率;
Figure FDA0002933832720000024
表示在状态st下进行选择POI的动作at *的活动因素权衡网络DAFB,θ表示活动因素权衡网络DAFB的所有参数;st表示用户在时间步t的状态,at *表示用户在时间步t进行选择POI的动作,A(st)包括在状态st下用户所有可能进行选择的动作a′t
所述
Figure FDA0002933832720000025
包括:
输入层a,包括第一输入、第二输入和第三输入;其中,第一输入包括特征#distance、#walking-distance和#cost;第二输入包括特征#expedite、#slow-moving、#congestion、#unknown和#duration;第三输入包括特征#rating;线性层b,包括分别对应输入层a的第一输入、第二输入和第三输入的三个隐藏单元;
融合层,包括连接层c、线性层d和线性层e;三个隐藏单元通过融合层得到每个POI的初始概率;
通过连接层f将kn个POI的初始概率进行连接后,使用Softmax函数得到所有候选POI的概率分布;
步骤5:按候选POI的概率分布随机抽样出动作at
步骤6:根据动作at,将状态st转换到下一个时间步t+1的状态st+1
Figure FDA0002933832720000031
其中,T是状态转移函数,poit是在时间步t选择的POI,qt表示与poit提供的服务对应的需求,
Figure FDA0002933832720000036
包含了所有为需求qt提供服务的POI;
Figure FDA0002933832720000032
Figure FDA0002933832720000033
分别表示从集合中删除和添加元素,
Figure FDA0002933832720000037
表示将集合
Figure FDA0002933832720000038
中的元素从集合Xt中移除;
步骤7:根据当前状态st和动作at,计算标量奖励r(st,at),并将时间步t的标量奖励r(st,at)存储到奖励集合R中;其中,
r(st,at)=δ*(1-#cost)+(1-δ)*#rating,δ是平衡因子;
步骤8:重复执行步骤4、5、6和7,直到需求列表NLt为空;
步骤9:根据日程安排dst和奖励集合R计算损失函数L(θ),
Figure FDA0002933832720000034
其中,
Figure FDA0002933832720000035
表示在状态st下选择了日程安排dst的活动因素权衡网络DAFB;
步骤10:利用梯度下降的方法更新参数:
Figure FDA0002933832720000041
其中,θt+1和θt分别表示在时间步t+1和时间步t的参数;α表示学习率;
Figure FDA0002933832720000042
表示对参数θ进行求导;
步骤11:跳转到步骤3,直到训练次数等于E;
还包括,推荐日程安排的步骤,具体为:
2.1以步骤1、步骤2相同的方法处理用户实时数据;
2.2以步骤4相同的方法,将用户在时间步t的状态st输入到活动因素权衡网络DAFB中,得到所有候选POI的概率分布;
2.3按候选POI的概率分布抽样出概率最高的动作at
2.4以步骤6相同的方法,根据动作at将状态st转换到下一个时间步t+1的状态st+1
2.5重复执行2.2、2.3和2.4,直到需求列表NLt为空,得到为用户推荐的日程安排dst
CN202110171365.0A 2021-02-04 2021-02-04 一种基于深度强化学习的日程安排推荐方法 Active CN112883262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110171365.0A CN112883262B (zh) 2021-02-04 2021-02-04 一种基于深度强化学习的日程安排推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110171365.0A CN112883262B (zh) 2021-02-04 2021-02-04 一种基于深度强化学习的日程安排推荐方法

Publications (2)

Publication Number Publication Date
CN112883262A CN112883262A (zh) 2021-06-01
CN112883262B true CN112883262B (zh) 2022-04-26

Family

ID=76056097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110171365.0A Active CN112883262B (zh) 2021-02-04 2021-02-04 一种基于深度强化学习的日程安排推荐方法

Country Status (1)

Country Link
CN (1) CN112883262B (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9435657B2 (en) * 2015-01-14 2016-09-06 Telenav, Inc. Navigation system with an itinerary planning mechanism and method of operation thereof
US20170061482A1 (en) * 2015-08-24 2017-03-02 TCL Research America Inc. Focal-point based recommendation method and system
WO2018236674A1 (en) * 2017-06-23 2018-12-27 Bonsai Al, Inc. HIERARCHICAL DECOMPOSITION DEEPENING REINFORCEMENT LEARNING FOR A MODEL OF ARTIFICIAL INTELLIGENCE
US10695911B2 (en) * 2018-01-12 2020-06-30 Futurewei Technologies, Inc. Robot navigation and object tracking
WO2020093242A1 (en) * 2018-11-06 2020-05-14 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for location recommendation
CN110119475B (zh) * 2019-01-29 2020-01-07 成都信息工程大学 一种poi推荐方法及推荐系统
CN110070239B (zh) * 2019-03-29 2021-05-11 北京航空航天大学 一种基于a星搜索和深度学习的个性化路线推荐方法
CN111104595B (zh) * 2019-12-16 2023-04-07 华中科技大学 一种基于文本信息的深度强化学习交互式推荐方法及系统
CN111816309B (zh) * 2020-07-13 2022-02-01 国家康复辅具研究中心 基于深度强化学习的康复训练处方自适应推荐方法及系统

Also Published As

Publication number Publication date
CN112883262A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
Alam et al. Genetic algorithm: Reviews, implementations, and applications
Johnston City and society: An outline for urban geography
Kumar et al. Federated control with hierarchical multi-agent deep reinforcement learning
CN101814068A (zh) 时序控制的基于评分预测的项目推荐方法和系统
Ke et al. Optimizing online matching for ride-sourcing services with multi-agent deep reinforcement learning
Morabit et al. Machine-learning–based arc selection for constrained shortest path problems in column generation
CN108830478B (zh) 一种面向众包任务处理的团队推荐方法
CN110472798A (zh) 时间序列数据的预测方法、装置及计算机可读存储介质
CN115599990A (zh) 一种知识感知结合深度强化学习的跨域推荐方法及系统
CN115391641A (zh) 一种基于最小可觉差乘客偏好排序的诱导路径推荐方法
Rapoport et al. Distributed decisions in networks: Laboratory study of routing splittable flow
Estrada et al. A method of stepwise benchmarking for inefficient DMUs based on the proximity-based target selection
Teodorović et al. Schedule synchronization in public transit using the fuzzy ant system
Xu et al. Privately owned autonomous vehicle optimization model development and integration with activity-based modeling and dynamic traffic assignment framework
Liu et al. Which channel to ask my question?: Personalized customer service request stream routing using deep reinforcement learning
CN116662815B (zh) 时间预测模型的训练方法以及相关设备
CN112883262B (zh) 一种基于深度强化学习的日程安排推荐方法
CN111797331B (zh) 基于群智感知的多目标多约束路线推荐方法
JP7453644B2 (ja) 情報処理装置およびプログラム
Ronald et al. Mobility patterns in shared, autonomous, and connected urban transport
CN113780146B (zh) 基于轻量化神经架构搜索的高光谱图像分类方法及系统
Syed et al. Neural network-based metaheuristic parameterization with application to the vehicle matching problem in ride-hailing services
Davis et al. Workshop summary and research themes
Zheng Educational group recommendations with virtual leaders
CN109345274A (zh) 基于bp神经网络评分预测误差的近邻用户选择方法

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