CN103201754B - 数据处理设备和数据处理方法 - Google Patents

数据处理设备和数据处理方法 Download PDF

Info

Publication number
CN103201754B
CN103201754B CN201180054421.7A CN201180054421A CN103201754B CN 103201754 B CN103201754 B CN 103201754B CN 201180054421 A CN201180054421 A CN 201180054421A CN 103201754 B CN103201754 B CN 103201754B
Authority
CN
China
Prior art keywords
data
state
node
mobile
model
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.)
Expired - Fee Related
Application number
CN201180054421.7A
Other languages
English (en)
Other versions
CN103201754A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN103201754A publication Critical patent/CN103201754A/zh
Application granted granted Critical
Publication of CN103201754B publication Critical patent/CN103201754B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3484Personalized, e.g. from learned user behaviour or user-defined profiles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3617Destination input or retrieval using user history, behaviour, conditions or preferences, e.g. predicted or inferred from previous use or current movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0129Traffic data processing for creating historical data or processing based on historical data

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Navigation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种即使当实时获取的当前位置数据存在有缺失数据时也能够进行预测的数据处理设备、数据处理方法以及程序。学习主处理单元(23)将作为用于学习的数据的移动历史数据表示为表示用户的活动的概率模型,并且导出该概率模型的参数。预测主处理单元(33)使用通过学习获取的概率模型根据实时获取的移动历史数据来估计用户的当前位置。如果实时获取的移动历史数据中缺失了一部分数据,那么预测主处理单元(33)通过插值处理来生成缺失的数据部分,并且估计与经插值的预测数据对应的状态节点序列。在对状态节点序列进行估计时,针对插值数据,使用与实际数据相比数据的贡献更小的观测概率。本发明可应用于根据移动历史数据来预测目的地的数据处理设备。

Description

数据处理设备和数据处理方法
技术领域
本发明涉及数据处理设备、数据处理方法以及程序,并且具体地涉及即使当实时获取的当前位置的数据中存在间断时也能使预测进行的数据处理设备、数据处理方法以及程序。
背景技术
近年来,已经积极地进行以下研究:使用从作为可以被用户佩戴的传感器即可佩戴式传感器获取的时间序列数据对用户的状态进行建模和学习,并且使用通过学习获取的模型来识别用户的当前状态(见PTL 1和PTL 2以及NPL 1)。
如日本专利申请第2009-180780号(在下文中,称为在先申请1)所述,本申请人之前提出了用于随机预测用户在将来的预定时间点的活动状态的多个概率的方法。利用根据在先申请1的方法,根据时间序列数据来学习用户的活动状态作为概率状态转移模型,并且使用学习到的概率状态转移模型来识别当前的活动状态,并且因此,可以概率性地预测用户“在预定的时间之后”的活动状态。在在先申请1的情况下,将对用户“在预定的时间之后”的活动状态进行预测的示例作为例子示出,其中使用概率状态转移模型来识别用户的当前位置,在该概率状态转移模型中,学习了用户的移动历史时间序列数据(移动历史数据)以预测用户在预定的时间之后的目的地(地点)。
此外,如日本专利申请第2009-208064号(在下文中,称为在先申请2)所述,本申请人在在先申请1上有所发展并且提出了用于即使在不存在用作为“在预定的时间之后”的从当前时间点经过的时间的说明的情况下预测多个目的地的到达概率、路线以及时间的方法。利用根据在先申请2的方法,将“移动状态”或者“停留状态”的属性添加至组成概率状态转移模型的状态节点。可以通过在组成概率状态转移模型的状态节点中搜索处于“停留状态”的状态节点作为用于目的地的状态节点来自动检测候选目的地。
如日本专利申请第2010-141946号(在下文中,称为在先申请3)所述,当添加新的移动路线的移动历史数据时,本申请人使得根据在先申请2的学习模型(概率状态转移模型)能够被发展,由此使得有效地学习。
引文列表
专利文献
PTL 1:日本未审查专利申请公开第2006-134080号
PTL 2:日本未审查专利申请公开第2008-204040号
非专利文献
NPL 1:"Life Patterns:structure from wearable sensors",BrianPatrick Clarkson,Doctor Thesis,MIT,2002
发明内容
技术问题
然而,利用根据在先申请3的方法,基于要被实时获取的当前移动历史数据,在估计当前值(当前状态)之后对目的地进行预测,但是在无法获取当前位置的数据的情况下,无法估计当前状态,并且也无法进行对目的地的预测。
根据这种情况作出了本发明,使得即使当实时获取的当前位置的数据中存在间断时也能够进行预测。
问题解决
一种根据本发明的一个方面的数据处理设备,包括:
学习装置,被配置成在要被获取作为用于学习的数据的用户的移动历史数据被表示为表示所述用户的活动的概率模型的情况下获取概率模型的参数;
目的地和路线点估计装置,被配置成估计在使用通过所述学习装置获取的所述参数的所述概率模型的状态节点中的与移动目的地和路线点等效的目的地节点和路线点节点;
预测数据生成装置,被配置成:获取在从现在起的预定时间段内的与所述用于学习的数据不同的所述用户的移动历史数据作为用于预测的数据;以及在所获取的所述用于预测的数据中包括有数据缺失部分的情况下,通过插值处理来生成所述用于预测的数据中的所述数据缺失部分,并且计算通过所述插值处理所生成的插值数据相对于实际数据的虚拟误差,所述虚拟误差是所述插值数据与紧接在所述数据缺失部分之前和之后的、由传感器获取的实际数据之间的距离中的较小距离;
当前点估计装置,被配置成:将其所述数据缺失部分已被插值的所述用于预测的数据输入给使用通过学习获取的所述参数的所述概率模型;以及在与其数据缺失部分已被插值的所述用于预测的数据对应的状态节点序列的估计中,使用所述插值数据的所述虚拟误差计算所述状态节点的观测概率,来估计与所述用户的当前位置等效的当前点节点;
搜索装置,被配置成使用与所估计的所述目的地节点和所述路线点节点以及所述当前点节点有关的信息、以及通过学习获取的所述概率模型来搜索从用户的当前位置到目的地的路线;以及
计算装置,被配置成计算所搜索的目的地的到达概率和所需的时间。
一种根据本发明的一个方面的数据处理方法,包括以下步骤:
利用数据处理设备的被配置成对用户的移动历史数据进行处理的学习装置,在要被获取作为用于学习的数据的用户的移动历史数据被表示为表示所述用户的活动的概率模型的情况下获取概率模型的参数;
利用所述数据处理设备的目的地和路线点估计装置,估计在使用通过所述学习装置获取的所述参数的所述概率模型的状态节点中的与移动目的地和路线点等效的目的地节点和路线点节点;
利用所述数据处理设备的预测数据生成装置,获取在从现在起的预定时间段内的与所述用于学习的数据不同的所述用户的移动历史数据作为用于预测的数据;以及在所获取的所述用于预测的数据中包括有数据缺失部分的情况下,通过插值处理来生成所述用于预测的数据中的所述数据缺失部分,并且计算通过所述插值处理所生成的插值数据相对于实际数据的虚拟误差,所述虚拟误差是所述插值数据与紧接在所述数据缺失部分之前和之后的、由传感器获取的实际数据之间的距离中的较小距离;
利用所述数据处理设备的当前点估计装置,将其所述数据缺失部分已被插值的所述用于预测的数据输入给使用通过学习获取的所述参数的所述概率模型;以及在与其数据缺失部分已被插值的所述用于预测的数据对应的状态节点序列的估计中,使用所述插值数据的所述虚拟误差计算所述状态节点的观测概率,来估计与所述用户的当前位置等效的当前点节点;
利用所述数据处理设备的搜索装置,使用与所估计的所述目的地节点和所述路线点节点以及所述当前点节点有关的信息、以及通过学习获取的所述概率模型来搜索从用户的当前位置到目的地的路线;以及
利用所述数据处理设备的计算装置,计算所搜索的目的地的到达概率和所需的时间。
一种根据本发明的一个方面的程序,使计算机用作为:
学习装置,被配置成在要被获取作为用于学习的数据的用户的移动历史数据被表示为表示所述用户的活动的概率模型的情况下获取概率模型的参数;
目的地和路线点估计装置,被配置成估计在使用通过所述学习装置获取的所述参数的所述概率模型的状态节点中的与移动目的地和路线点等效的目的地节点和路线点节点;
预测数据生成装置,被配置成:获取在从现在起的预定时间段内的与所述用于学习的数据不同的所述用户的移动历史数据作为用于预测的数据;以及在所获取的所述用于预测的数据中包括有数据缺失部分的情况下,通过插值处理来生成所述用于预测的数据中的所述数据缺失部分,并且计算通过所述插值处理所生成的插值数据相对于实际数据的虚拟误差,所述虚拟误差是所述插值数据与紧接在所述数据缺失部分之前和之后的、由传感器获取的实际数据之间的距离中的较小距离;
当前点估计装置,被配置成:将其所述数据缺失部分已被插值的所述用于预测的数据输入给使用通过学习获取的所述参数的所述概率模型;以及在与其数据缺失部分已被插值的所述用于预测的数据对应的状态节点序列的估计中,使用所述插值数据的所述虚拟误差计算所述状态节点的观测概率,来估计与所述用户的当前位置等效的当前点节点;
搜索装置,被配置成使用与所估计的所述目的地节点和所述路线点节点以及所述当前点节点有关的信息、以及通过学习获取的所述概率模型来搜索从所述用户的当前位置到目的地的路线;以及
计算装置,被配置成计算所搜索的目的地的到达概率和所需的时间。
在本发明的一个方面的情况下,在要被获取作为用于学习的数据的用户的移动历史数据被表示为表示用户的活动的概率模型的情况下,获取概率模型的参数,并且估计在使用通过学习装置获取的参数的概率模型的状态节点中的与移动目的地和路线点等效的目的地节点和路线点节点。获取在从现在起的预定时间段内的与用于学习的数据不同的用户的移动历史数据作为用于预测的数据,并且在所获取的用于预测的数据中包括有数据缺失部分的情况下,通过插值处理来生成所述用于预测的数据中的数据缺失部分,以及计算生成的插值数据相对于实际数据的虚拟误差,所述虚拟误差是所述插值数据与紧接在所述数据缺失部分之前和之后的、由传感器获取的实际数据之间的距离中的较小距离。将其数据缺失部分已被插值的用于预测的数据输入给使用通过学习获取的参数的概率模型,以及在与其数据缺失部分已被插值的用于预测的数据对应的状态节点序列的估计中,使用所述插值数据的虚拟误差计算状态节点的观测概率,来估计与用户的当前位置等效的当前点节点。使用与所估计的目的地节点和路线点节点以及当前点节点有关的信息、以及通过学习获取的概率模型来搜索从用户的当前位置到目的地的路线,以及计算所搜索的目的地的到达概率和所需的时间。
根据本发明的一个方面,即使当要被实时获取的当前位置的数据中存在间断时,也能作出预测。
附图说明
[图1]图1是示出本发明应用于其的预测系统的实施方式的配置示例的框图。
[图2]图2是示出预测系统的硬件配置示例的框图。
[图3]图3是示出移动历史数据的示例的图。
[图4]图4是示出HMM的示例的图。
[图5]图5是示出从左到右型HMM的示例的图。
[图6]图6是示出稀疏约束应用于其的HMM的示例的图。
[图7]图7是示出学习预处理器的详细配置示例的框图。
[图8]图8是用于描述学习预处理器的处理的图。
[图9]图9是用于描述学习预处理器的处理的图。
[图10]图10是示出移动属性识别添加单元的详细配置示例的框图。
[图11]图11是示出移动属性识别单元的学习装置的配置示例的框图。
[图12]图12是示出在对每一个类型(category)的行为状态进行分类的情况下的类别示例的图。
[图13]图13是用于描述行为状态标记单元的处理示例的图。
[图14]图14是用于描述行为状态标记单元的处理示例的图。
[图15]图15是示出图11中的行为状态标记单元的配置示例的框图。
[图16]图16是示出移动属性识别单元的详细配置示例的框图。
[图17]图17是示出移动属性识别单元的学习装置的另一配置示例的框图。
[图18]图18是示出移动属性识别单元的另一配置示例的框图。
[图19]图19是用于描述学习预处理器的处理的流程图。
[图20]图20是示出图1中的学习主处理器的详细配置示例的框图。
[图21]图21是示出已知/未知确定单元的详细配置示例的框图。
[图22]图22是用于描述由未知状态节点添加单元对未知状态添加模型的构建处理的流程图。
[图23]图23是用于描述用于未知状态添加模型的初始概率表的图。
[图24]图24是用于描述用于未知状态添加模型的转移概率表的图。
[图25]图25是用于描述用于未知状态添加模型的中心值表的图。
[图26]图26是用于描述用于未知状态添加模型的分布值表的图。
[图27]图27是线性插值处理的虚拟误差的图像图。
[图28]图28是用于描述观测似然计算处理的流程图。
[图29]图29是用于描述已知/未知确定处理的流程图。
[图30]图30是示出新模型生成单元的详细配置示例的框图。
[图31]图31是用于描述借助于普通HMM的学习模型与借助于新模型学习单元的学习模型之间的区别的图。
[图32]图32是用于描述借助于普通HMM的学习模型与借助于新模型学习单元的学习模型之间的区别的图。
[图33]图33是使用图形模型来表示新模型学习单元的学习模型的图。
[图34]图34是用于描述新模型学习单元的新模型学习处理的流程图。
[图35]图35是用于描述参数重计算单元的参数重计算处理的流程图。
[图36]图36是通过新模型生成单元进行的总体新模型生成处理的流程图。
[图37]图37是用于描述借助于新模型连接单元的拓扑更新模型生成处理的流程图。
[图38]图38是用于描述用于拓扑更新模型的初始概率表的图。
[图39]图39是用于描述用于拓扑更新模型的转移概率表的图。
[图40]图40是用于描述用于拓扑更新模型的转移概率表的图。
[图41]图41是用于描述用于拓扑更新模型的转移概率表的图。
[图42]图42是用于描述用于拓扑更新模型的中心值表的图。
[图43]图43是用于描述用于拓扑更新模型的分布值表的图。
[图44]图44是通过参数更新单元进行的总体参数更新处理的流程图。
[图45]图45是用于描述用于现有模型的初始概率表的图。
[图46]图46是用于描述用于现有模型的转移概率表的图。
[图47]图47是用于描述用于现有模型的转移概率表的图。
[图48]图48是用于描述用于现有模型的转移概率表的图。
[图49]图49是用于描述用于现有模型的中心值表的图。
[图50]图50是用于描述用于现有模型的分布值表的图。
[图51]图51是学习主处理器的总体学习主处理的处理的流程。
[图52]图52是用于描述目的地和路线点检测器的处理的图。
[图53]图53是用于描述学习模块的总体处理的流程图。
[图54]图54是示出预测预处理器的详细配置示例的框图。
[图55]图55是保持插值处理的虚拟误差的图像图。
[图56]图56是指示在插值处理之后的移动历史数据和虚拟误差序列数据的图。
[图57]图57是根据移动方式的虚拟误差的图像图。
[图58]图58是用于描述借助于预测数据生成单元的预测数据生成处理的流程图。
[图59]图59是示出预测主处理器的详细配置示例的框图。
[图60]图60是用于描述树型搜索处理的流程图。
[图61]图61是用于进一步描述树型搜索处理的图。
[图62]图62是用于进一步描述树型搜索处理的图。
[图63]图63是示出树型搜索处理中的搜索结果列表的图。
[图64]图64是用于描述代表路线选择处理的流程图。
[图65]图65是用于描述预测模块的总体处理的流程图。
[图66]图66是示出本发明应用于其的计算机的实施方式的配置示例的框图。
具体实施方式
[预测系统的配置示例]
图1示出了本发明应用于其的预测系统的实施方式的配置示例。
图1中的预测系统1配置有学习模块11、用户模型参数存储单元(model-parameter-by-user storage unit)12以及预测模块13。
给学习模块11提供时间序列数据,该时间序列数据指示在传感器设备(未示出)如GPS(全球定位系统)传感器等处在一段预定的时间段获取的用户在预定的时间点的位置(纬度和经度)。具体地,给学习模块11提供指示了用户的移动路线的时间序列数据(在下文中,称为移动历史数据),其由以一定的时间间隔(例如15秒的间隔)依次获取的位置(维度和经度)和在那时的时间点的三个维度的数据组成。注意的是,根据需要,组成时间序列数据的一组纬度、经度和时间点将被称为三维数据。
学习模块11进行学习处理,其中,通过使用用户的移动历史数据,用户活动模型(表示用户的行为和活动模式的状态模型)被学习以作为概率状态转移模型。
例如,可以将包括隐藏状态的概率模型如遍历HMM(隐式马尔可夫模型)等用作为用于学习的概率状态转移模型。对于预测系统1,将稀疏约束应用至其的遍历HMM用作为概率状态转移模型。注意的是,后面将参照图4至图6来描述稀疏约束应用至其的遍历HMM、用于计算遍历HMM的参数的方法等。
用户模型参数存储单元12存储了表示通过学习模块11的学习获取的用户的活动模型的参数。
预测模块13从用户模型参数存储单元12获取通过学习模块11的学习获取的用户活动模型的参数。使用根据通过学习获取的参数的用户活动模型,预测模块13使用用户的活动模型来估计用户的当前位置,并且还根据当前位置预测移动目的地。此外,预测模块13还计算到预测的目的地的到达概率、路线以及到达时间(所需时间)。注意的是,目的地的个数不局限于一个,可以预测多个目的地。
将描述学习模块11和预测模块13的细节。
学习模块11配置有历史数据累积单元21、学习预处理器22、学习主处理器23、学习后处理器24以及目的地和路线点检测器25。
历史数据累积单元21将要从传感器设备提供的用户的移动历史数据累积(存储)作为用于学习的数据。历史数据累积单元21根据需要给学习预处理器22提供移动历史数据。
学习预处理器22解决由传感器设备造成的问题。具体地,学习预处理器22通过对移动历史数据进行组织以及还对暂时数据缺失进行插值处理等来对移动历史数据进行插值。而且,学习预处理器22将其中用户停留(停止)在同一地点的“停留状态”或者其中用户正在移动的“移动状态”中的一个移动属性添加至组成移动历史数据的每一个三维数据中。将添加了移动属性后的移动历史数据提供给学习主处理器23以及目的地和路线点检测器25。
学习主处理器23对用户的移动历史进行建模作为用户活动模型。具体地,学习主处理器23获取在将用户的移动历史建模成用户活动模型的时刻的参数。将通过学习获取的用户活动模型的参数提供给学习后处理器24和用户模型参数存储单元12。
而且,在将用户的移动历史学习作为用户活动模型之后,在提供用作为用于学习的新数据的移动历史数据的情况下,学习主处理器23获取并且更新来自用户模型参数存储单元12的当前的用户活动模型的参数。
具体地,首先,学习主处理器23确定用作为用于学习的新数据的移动历史数据是已知路线的移动历史数据还是未知路线的移动历史数据。在确定用于学习的新数据是已知路线的移动历史数据的情况下,学习主处理器23更新现有的用户活动模型(在下文中,简称为现有模型)的参数。另一方面,在确定用于学习的新数据是未知路线的移动历史数据的情况下,学习主处理器23获取用作为与未知路线的移动历史数据对应的新模型的用户活动模型的参数。然后学习主处理器23综合现有模型的参数和新模型的参数,由此生成通过连接现有模型和新模型获取的更新模型。
现在,在下文中,将通过已知路线的移动历史数据更新的用户活动模型称为参数更新模型。另一方面,将其参数通过未知路线的移动历史数据更新的用户活动模型称为拓扑更新模型,这是因为拓扑也根据未知路线的扩展而更新。而且,在下文中,已知路线的移动历史数据也被简称为已知的移动历史数据,而未知路线的移动历史数据也被简称为未知的移动历史数据。
将参数更新模型的参数或者拓扑更新模型的参数提供给学习后处理器24和用户模型参数存储单元12,并且在随后的阶段,将使用更新后的用户活动模型进行处理。
学习后处理器24使用通过学习主处理器23的学习获取的用户活动模型,将组成移动历史数据的每一个三维数据转换为用户活动模型的状态节点。具体地,学习后处理器24生成与移动历史数据对应的用户活动模型的状态节点的时间序列数据(节点序列数据)。学习后处理器24将转换后的节点序列数据提供给目的地和路线点检测器25。
目的地和路线点检测器25将学习预处理器22提供的添加了移动属性之后的移动历史数据与学习后处理器24提供的节点序列数据进行相关。具体地,目的地和路线点检测器25将用户活动模型的状态节点分配给组成移动历史数据的每一个三维数据。
目的地和路线点检测器25将目的地的属性或者路线点的属性添加至与节点序列数据的状态节点的其移动属性是“停留状态”的三维数据对应的状态节点中。因此,将用户的移动历史中的预定的地点(对应的状态节点)分配给目的地或者路线点。将关于通过目的地和路线点检测器25添加至状态节点的目的地或者路线点的属性的信息提供给并且存储在用户模型参数存储单元12中。
预测模块13配置有缓冲单元31、预测预处理器32、预测主处理器33以及预测后处理器34。
缓冲单元31缓冲(存储)用于预测处理的实时获取的移动历史数据。注意的是,对用于预测处理的移动历史数据来说,其时间段短于在学习处理时的移动历史数据的时间段的数据例如100步左右的移动历史数据是足够的。缓冲单元31不断地存储一段等于预定时间段的时间的最新的移动历史数据,并且当获取新数据时删除已存储的数据中的最旧数据。
以与学习预处理器22相同的方式,预测预处理器32解决由传感器设备造成的问题。具体地,预测预处理器32通过对移动历史数据进行组织以及还对暂时数据缺失进行插值处理等来对移动历史数据进行插值。
将表示通过学习模块11的学习获取的用户活动模型的参数从用户模型参数存储单元12提供给预测主处理器33。
预测主处理器33使用由预测预处理器32提供的移动历史数据和通过学习模块11的学习获取的用户活动模型,来估计与用户的当前位置对应的状态节点(当前点节点)。对状态节点的估计来说,可以使用维特比最大似然估计或者软判决维特比估计。
此外,预测主处理器33在由可以由当前点节点转移的多个估计的状态节点组成的树型结构中计算直至目的地的状态节点(目的地节点)的节点序列及其发生概率。注意的是,路线点的节点可以包括在到目的地的状态节点的节点序列(路线)中,并且因此,预测主处理器33还与目的地同时地预测路线点。
预测后处理器34获取到同一目的地的多个路线的选择概率(发生概率)的和作为到目的地的到达概率。而且,预测后处理器34选择一个或更多个的路线用作为代表到目的地的路线(在下文中,称为代表路线),并且计算代表路线所需的时间。然后预测后处理器34输出到目的地的预测的代表路线、到达概率以及所需时间作为预测结果。注意的是,可以将频率而不是路线的发生概率、以及到达频率而不是到目的地的到达概率输出作为预测结果。
[预测系统的硬件配置示例]
按照上述配置的预测系统1可以使用例如图2中示出的硬件配置。具体地,图2是示出预测系统1的硬件配置示例的框图。
在图2中,预测系统1配置有三个移动终端51-1至51-3和服务器52。尽管移动终端51-1至移动终端51-3是具有相同功能的同一类型的移动终端51,但是对于移动终端51-1至移动终端51-3来说,拥有这些移动终端的用户有所不同。因此,在图2中,仅示出了三个移动终端51-1至51-3,但是实际上,存在其个数对应于用户个数的移动终端51。
移动终端51可以通过经由网络的通信如无线通信、互联网等与服务器52进行数据交换。服务器52接收移动终端51发送的数据,并且对接收到的数据进行预定的处理。然后服务器52通过无线通信等将数据处理的处理结果发送给移动终端51。
因此,移动终端51和服务器52具有至少借助于无线电或者线缆的通信单元。
此外,可以使用其中移动终端51包括图1中的预测模块13并且服务器52包括图1中的学习模块11和用户模型参数存储单元12的布置。
在使用该布置的情况下,例如,对于学习处理,通过移动终端51的传感器设备获取的移动历史数据被传送到服务器52。基于接收到的用于学习的移动历史数据,服务器52学习用户活动模型并且将其存储。对于预测处理,移动终端51则获取通过学习获取的用户活动模型的参数,根据实时获取的移动历史数据来估计用户的当前节点,并且还计算目的地节点以及到该目的节点的到达概率、代表路线以及所需时间。然后移动终端51将预测结果显示在显示单元如未示出的液晶显示器等上。
可以按照需要根据用作为数据处理设备的每一个的处理能力和通信环境来确定移动终端51和服务器52之间的角色分工。
在学习处理的情况下,每一次处理所需的时间很长,但是该处理不是必须被频繁处理。因此,一般而言,服务器52的处理能力高于便携式移动终端51的处理能力,并且因此,服务器52可以基于每天一次左右所累积的移动历史数据进行学习处理(参数的更新)。
另一方面,对于预测处理,希望快速进行处理并且响应于每小时实时更新的移动历史数据显示处理结果,并且因此,希望在移动终端51处进行预测处理。如果通信环境宽裕,则希望服务器52也进行预测处理并且单独从服务器52接收预测结果,这会减少对其便携性和尺寸减少有要求的移动终端51的负担。
而且,在移动终端51可以作为数据处理设备单独高速地进行学习处理和预测处理的情况下,显然移动终端51可以包括图1中的预测系统1的所有配置。
[待被输入的移动历史数据的示例]
图3示出了在预测系统1处获取的移动历史数据的示例。在图3中,水平轴表示经度,并且垂直轴表示纬度。
图3示出的移动历史数据指示的是实验者在持续了一个半月左右的时间中累积的移动历史数据。如图3所示,移动历史数据是其中用户主要移动到附近和四个外出目的地如工作地点等的数据。注意的是,该移动历史数据还包括其位置由于未能捕获卫星而遗漏的数据。
[遍历HMM]
接着,将对被预测系统1用作为学习模型的遍历HMM作出描述。
图4示出了HMM的示例。
HMM是包括状态节点以及状态节点之间的转移的状态转移模型。
图4示出了具有三个状态的HMM的示例。
在图4中,圆形标记表示状态节点,并且箭头表示状态节点的转移,(这与下列图中的相同)。注意的是,在下文中,状态节点也将被简称为节点或者状态。
而且,在图4中,si(在图4中i=1,2,3)表示状态,并且aij表示从状态si至状态sj的状态转移概率。此外,bj(x)表示其中在至状态sj的状态转移时观测到观测值x的输出概率密度函数,并且πi表示状态si为初始状态的初始概率。
注意的是,对于输出概率密度函数bj(x),使用例如正态概率分布等。
这里,用状态转移概率aij、输出概率密度函数bj(x)以及初始概率πi来定义HMM(连续HMM)。这些状态转移概率aij、输出概率密度函数bj(x)以及初始概率πi将被称为HMM的参数λ={aij,bj(x),πi,i=1,2,…,M,j=1,2,…,M}。M表示HMM的状态的个数。
至于用于估计HMM的参数λ的方法,已经广泛使用了鲍姆·韦尔奇最大似然估计方法(Baum-Welch's maximum likelihood estimatingmethod)。鲍姆·韦尔奇最大似然估计方法是用于基于EM算法(EM(期望最大化)算法)来估计参数的方法。
根据鲍姆·韦尔奇最大似然估计方法,基于待被观测的时间序列数据x=x1,x2,…,xT,进行对HMM的参数λ的估计以便于使待被根据发生概率而获取的似然最大化,该发生概率是将观测到(将发生)其时间序列数据的概率。这里,xt表示在t时间点时待被观测的信号(采样值),并且T表示时间序列数据的长度(样本的个数)。
在例如"Pattern Recognition and Machine Learning(Volume 2),byC.M.Bishop,P.333(Original English Edition:"Pattern Recognition andMachine Learning(Information Science and Statistics)",Christopher M.BishopSpringer,New York,2006)(在下文中,称为文献A)中描述了鲍姆·韦尔奇最大似然估计方法。
鲍姆·韦尔奇最大似然估计方法是基于似然最大化的参数估计方法,但是不保证最优性,并且取决于HMM的配置和参数λ的初始值可以收敛到一个局部最优解(局部最小值)。
HMM已经被广泛用于音频识别,但是在用于音频识别的HMM的情况下,一般而言,要对状态的个数、如何进行状态转移等进行预先确定。
图5示出了用于音频识别的HMM的示例。
将图5中的HMM称为从左到右型。
在图5中,状态的个数为三个,状态转移被限制为仅允许自转移(从状态si至状态si的状态转移)和从左边到右边相邻状态的状态转移的配置。
与具有与图5中的HMM相同的状态转移限制的HMM相比,将图4中示出的没有状态转移限制的HMM即其中可以进行从任意状态si到任意状态sj的状态转移的HMM称为遍历(Ergodic)HMM。
遍历HMM是具有最高灵活性配置的HMM,但是如果状态个数增加,则对参数λ的估计变得难以进行。
例如,在遍历HMM的状态的个数为1000的情况下,状态转移的个数变为一百万(=1000×1000)。
因此,在这种情况下,在参数λ中,对于状态转移概率aij,必须估计一百万个状态转移概率aij
因此,例如,可以给待设定为状态的状态转移施加具有稀疏(Spare)配置的约束(稀疏约束)。
这里提到的稀疏配置是下述配置,在该配置中从某一状态出发变化的状态是非常受限的,而不是如其中可以从任意状态到任意状态进行状态转移的遍历HMM那样的浓密(density)的状态转移。现在,可以说即使在稀疏配置的情况下,存在至少一个到另一状态的状态转移,而且也存在自转移。
图6示出了已经施加了稀疏约束的HMM。
这里,在图6中,连接两个状态的双向箭头表示从两个状态中的一个状态到另一个状态的状态转移,以及从所述另一个状态到所述一个状态的状态转移。而且,在图6中,每一个状态可以进行自转移,并且省略了表示其自转移的箭头的图。
在图6中,以网格的方式在二维空间上布置了16个状态。具体地,在图6中,在水平方向上布置了四个状态,并且在垂直方向上也布置了四个状态。
如果说在水平方向上的相邻状态之间的距离和在垂直方向上的相邻状态之间的距离都为1,则图6中的A示出施加了稀疏约束的HMM,其中可以进行到距离等于或者小于1的状态的状态转移,并且不能进行到其他状态的状态转移。
而且,图6中的B示出施加了稀疏约束的HMM,其中可以进行到距离等于或者小于√2的状态的状态转移,并且不能进行到其他状态的状态转移。
在图1中的示例的情况下,对预测系统1提供移动历史数据x=x1,x2,…,xT,并且学习模块11使用移动历史数据x=x1,x2,…,xT对表示用户活动模型的HMM的参数λ进行估计。
具体地,认为表示用户的移动轨迹的在每一个时间点的位置(纬度和经度)的数据是从地图上的与HMM的状态si中的任一个状态对应的一点起以具有预定分布值的展形(spread)而正态分布的概率变量的观测数据。学习模块11使地图上的与状态si(中心值μi)、其分布值σi 2以及状态转移概率aij对应的一点最优化。
注意的是,可以将状态si的初始概率πi设定为相同的值。例如,将M个状态si中的每一个状态的初始概率πi设定为1/M。
预测主处理器33将维特比算法应用到通过学习获取的用户活动模型(HMM)以实现状态转移处理(状态序列)(路径)(在下文中,也称为最大似然路径),来使移动历史数据x=x1,x2,…,xT将被观测到的似然最大化。因此,识别出对应于用户当前位置的状态si
这里提到的维特比算法是如下算法,该算法在将每一个状态si作为起点的状态转移路径中确定路径(最大似然路径),以通过累积在时间点t时状态转移从状态si转移至状态sj的状态转移概率aij而使值(发生概率)最大化,并且对于其状态转移,在处理后的时间序列数据x的长度T期间,确定在移动历史数据x=x1,x2,…,xT中在时间点t时将观测到采样值xt的概率(根据输出概率密度函数bj(x)获取的输出概率)。在以上提及的文献A的第347页描述了维特比算法的细节。
[学习预处理器22的配置示例]
图7是示出学习模块11的学习预处理器22的详细配置示例的框图。
学习预处理器22配置有数据连接/划分单元71、异常数据移除单元72、重采样处理单元73、移动属性识别添加单元74以及停留状态处理单元75。
数据连接/划分单元71进行移动历史数据的连接和划分处理。移动历史数据以预定的增量如天的增量等从传感器设备提供给数据连接/划分单元71作为日志文件。因此,由于数据跨接(straddle)在针对一定的目的地的移动的中间,因此通过划分可以获取最初应当继续的移动历史数据。数据连接/划分单元71连接这样划分的移动历史数据。具体地,在一个日志文件中的最后一个三维数据(纬度、经度、时间点)与在该日志文件后创建的日志文件中的第一个三维数据之间的时间差在预定的时间内的情况下,数据连接/划分单元71连接这些文件内的移动历史数据。
此外,例如,在隧道或者地下室中GPS传感器无法捕获卫星,并且因此,移动历史数据的获取间隔可能较长。在移动历史数据具有长时间段的间断的情况下,难以估计用户在哪。因此,对于获取的移动历史数据,在该数据之前和之后的获取时间间隔等于或者大于预定的时间间隔(在下文中,称为缺失阈值时间)的情况下,数据连接/划分单元71划分其间隔之前和之后的移动历史数据。这里提到的缺失阈值时间例如为五分钟、十分钟、一小时等。
异常数据移除单元72进行移除移动历史数据中明显异常数据的处理。例如,在一定时间点时在某位置处的数据跳跃至距离该位置之前或之后位置100m或者更多的情况下,在该位置的数据为异常。因此,在一定时间点时在某位置处的数据与该位置之前和之后位置二者偏离了等于或者大于预定的距离的量的情况下,异常数据移除单元72从移动历史数据中移除其三维数据。
重采样处理单元73以适于随后阶段的处理单元(如学习主处理器23等)的一定的时间间隔对移动历史数据进行重采样。注意的是,在获取的时间间隔与期望的时间间隔一致的情况下,该处理可以省略。
此外,在获取的时间间隔等于或者大于缺失阈值时间的情况下,移动历史数据被数据连接/划分单元71划分,但是保留比缺失阈值时间短的数据的间断。因此,重采样数据处理单元73通过线性插值以重采样之后的时间间隔来生成(嵌入)比缺失阈值时间短的缺失数据。
例如,如果说紧接在数据缺失之前的时间点T1的三维数据为xreal T1,并且当数据获取被恢复时在第一时间点T2的三维数据为xreal T2,则可以按照下列表达式(1)计算出在从时间点T1到时间点T2缺失的数据中的在时间点t时的三维数据xvirtual t
[公式.1]
x t v i r t u a l = ( T 2 - t ) x T 1 r e a l + ( t - T 1 ) x T 2 r e a l T 2 - T 1 ... ( 1 )
此外,重采样处理单元73还生成由插值标记(插值信息)的时间序列数据组成的插值标记序列数据,该插值标记表示组成移动历史数据的每一个三维数据是否是通过线性插值生成的插值数据。
移动属性识别添加单元74对指示移动历史中的每一个三维数据是处于其中用户停留(停止)在同一地点的“停留状态”还是处于其中用户正在移动的“移动状态”的移动属性进行识别,并且添加该移动属性。因此,存在生成的具有移动属性的移动历史数据,其中,移动属性被添加到移动历史数据的每一个三维数据。
停留状态处理单元75基于具有从移动属性识别添加单元74提供的移动属性的移动历史数据来处理其移动属性为“停留状态”的三维数据。更具体地,在“停留状态”的移动属性持续了等于或者大于预定时间(在下文中,称为停留阈值时间)的情况下,停留状态处理单元75划分在该停留状态之前和之后的移动历史数据。此外,在“停留状态”的移动属性持续了小于停留阈值时间的情况下,停留状态处理单元75保持在处于“停留状态”持续了其停留阈值时间的预定的时间段的多个三维数据的位置的数据(修正到同一位置的数据)。因此,可以防止多个“停留状态”节点被指定给在同一目的地或者路线点的移动历史数据。换言之,可以防止同一目的地或者路线点被多个节点表示。
这样配置的学习预处理器22将被划分成预定长度的移动历史数据和与该移动历史数据对应的插值标记序列数据提供给在随后阶段的学习主处理器23以及目的地和路线点检测器25。
[学习预处理器22的处理]
图8概念性地示出了学习预处理器22的移动属性识别添加单元74和停留状态处理单元75的处理。注意的是,在图8中,假设插值数据不包括在移动历史数据内,则插值标记序列数据被省略。
移动属性识别添加单元74识别关于由重采样处理单元73提供的移动历史数据81的移动属性“停留状态”或者“移动状态”,在图8中的上层示出,并且将移动属性添加至移动历史数据。其结果是,生成了图8中的中间层所示的具有移动属性的移动历史数据82。
对于图8中的中间层中的具有移动属性的移动历史数据82,“m1”和“m2”表示是“移动状态”的移动属性,并且“u”表示是“停留状态”的移动属性。注意的是,“m1”和“m2”是相同的“移动状态”,但是移动方式(小汽车、公共汽车、火车、步行等)有所不同。
通过停留状态处理单元75对图8中的中间层中的具有移动属性的移动历史数据82执行划分和保持移动历史数据的处理,以生成图8中的下层中的具有移动属性的移动历史数据83(83A和83B)。
对于具有移动属性的移动历史数据83,对在具有移动属性的移动历史数据82中的第二时间发生的“移动状态”的一部分(三维数据)进行划分处理,该部分被划分成具有移动属性的移动历史数据83A和移动历史数据83B。
对于划分处理,首先,在“移动状态”发生在具有移动属性及其多个三维数据的移动历史数据82的第二时间时,具有移动属性的移动历史数据82被划分,其被作为具有移动属性的移动历史数据83A和移动历史数据83B。接着,在划分后的具有移动属性的移动历史数据83A和移动历史数据83B中,处于“移动状态”等于或长于在时间上较早的具有移动属性的移动历史数据83A的最终停留阈值时间的多个三维数据被组织为处于“停留状态”的一个三维数据。因此,删除了不需要的移动历史数据,并且因此,可以减少学习时间。
注意的是,在图8中的示例的情况下,发生在具有移动属性的移动历史数据82的第三时间时的处于“多个移动状态”的三维数据是其“移动状态”持续了等于或者长于停留阈值时间的数据,并且进行类似的划分处理。然而,在划分后不存在顺次的三维数据,并且因此,处于等于或者长于停留阈值时间的多个“移动状态”的三维数据被组织为处于一个“停留状态”的三维数据。
另一方面,在具有移动属性的移动历史数据83A中,对于在第一时间时“移动状态”的移动历史数据,已经执行了保持处理。在保持处理之后,处于三个“移动状态”的三维数据((tk-1,xk-1,yk-1),(tk,xk,yk),(tk+1,xk+1,yk+1))变成了((tk-1,xk-1,yk-1),(tk,xk-1,yk-1),(tk+1,xk-1,yk-1))。也就是说,位置数据被修正为具有“移动状态”的第一位置的数据。注意的是,利用保持处理,可以作出下述布置:其中位置数据不被变为处于“移动状态”的第一位置的数据,而是变为位置的平均值、在“移动状态”的时间段的中间时间点的位置处的数据等。
图9是用于描述通过学习预处理器22的重采样处理单元73进行的线性插值处理和生成插值标记序列数据的图。
在图9中的上层示出的移动历史数据84中,用黑色表示的部分是其中未获取三维数据的数据缺失部分。
重采样处理单元73用通过线性插值生成的插值数据嵌入移动历史数据84的数据缺失部分。而且,重采样处理单元73给组成移动历史数据的每一个三维数据添加指示该数据是否是插值数据的插值标记(插值信息)。在图9中的示例的情况下,生成了插值标记序列数据,其中“1”被添加给了是插值数据的三维数据,并且“0”被添加给了不是插值数据的三维数据。
通过移动属性识别添加单元74将移动属性添加至插值处理之后的移动历史数据85。此时,如图9中的下层所示出的,移动属性识别添加单元74无法精确地识别用于插值数据的移动属性,通过将插值数据的移动属性取为“缺失”而不识别移动属性。
[移动属性识别添加单元74的配置示例]
图10是示出了移动属性识别添加单元74的详细配置示例的框图。
移动属性识别添加单元74配置有移动速度计算单元91、移动属性识别单元92以及移动属性添加单元93。
移动速度计算单元91根据提供的移动历史数据来计算移动速度。
具体地,如果将以一定的时间间隔在第k步时(在第k个数据处)获取的三维数据表示为时间点tk、经度yk以及纬度xk,则可以通过下列表达式(2)来计算在第k步时在x方向上的移动速度vxk和在y方向上的移动速度vyk
[公式.2]
vx k = x k - x k - 1 t k - t k - 1 vy k = y k - y k - 1 t k - t k - 1 ... ( 2 )
在表达式(2)中,不改变地直接使用纬度和经度数据,但是可以根据需要适当地进行如将纬度和经度转换为距离、将速度转换为每小时速度或者每分钟速度等的处理。
而且,移动速度计算单元91还根据表达式(2)中获取的移动速度vxk和移动速度vyk来获取在第k步时的移动速度vk和在前进方向上的变化θk,用表达式(3)表示。
[公式.3]
v k = vx k 2 + vy k 2 θ k = sin - 1 ( vx k · vy k - 1 - vx k - 1 · vy k v k · v k - 1 ) ... ( 3 )
关于下列各点,可以通过使用在表达式(3)中表示的移动速度vk和在前进方向上的变化θk而不是表达式(2)中的移动速度vxk和vyk,来较好地提取特征。
1.可能存在这种可能性:在由于偏差施加在纬度和经度轴上而因此即使移动方式相同(火车、步行等)但角度不同的情况下,移动速度vxk和vyk的数据分布不能被识别,但是在移动速度vk的情况下几乎不存在有这样的可能性。
2.当仅以移动速度的绝对值(|v|)进行学习时,|v|受到来自设备的噪音的影响,并且因此,无法区分步行和停留。可以通过还考虑在前进方向上的变化来降低噪音的影响。
3.尽管在移动的情况下在前进方向上的变化很小,但是在停留的情况下前进方向是不确定的,并且因此,可以通过使用在前进方向上的变化来容易地进行移动和停留。
根据上述的原因,在本实施方式的情况下,移动速度计算单元91获取通过表达式(3)表示的移动速度vk和在前进方向上的变化θk作为移动速度的数据,并且将这些提供给移动属性识别单元92。
在计算移动速度vk和在前进方向上的变化θk之前,移动速度计算单元91可以根据移动平均值进行滤波处理(预处理)以移除噪声分量。
注意的是,在传感器设备中,存在能够输出移动速度的传感器设备。在使用这样的传感器设备的情况下,可以通过省略移动速度计算单元91而不改变地使用传感器设备输出的移动速度。在下文中,在前进方向上的变化θk将被简写为前进方向θk
移动属性识别单元92基于被提供的移动速度来识别移动属性以提供识别结果给移动属性添加单元93。更具体地,移动属性识别单元92学习用户的行为状态(移动状态)作为概率状态转移模型(HMM),并且使用通过学习获取的概率状态转移模型来识别移动属性。至于移动属性,至少需要存在“停留状态”和“移动状态”。在本实施方式的情况下,如将参照图12等所描述的那样,移动属性识别单元92输出通过使用多个移动方式如步行、自行车、小汽车等进一步对“移动状态”进行分类而获取的移动属性。
移动属性添加单元93将通过移动属性识别单元92识别的移动属性添加至组成来自重采样处理单元73的移动历史数据的每一个三维数据,以生成具有移动属性的移动历史数据,并且将具有移动属性的移动历史数据输出至停留状态处理单元75。
接着,参照图11至图18,将对关于如何获取表示用户的行为状态的要用于移动属性识别单元92的概率状态转移模型的参数作出描述。
[移动属性识别单元92的学习装置的第一配置示例]
图11示出了被配置为学习待用于移动属性识别单元92的使用类别HMM的概率状态转移模型的参数的学习装置100A的配置示例。
在类别HMM的情况下,已知待被学习的导师(tutor)数据属于哪一种类别(分类),并且针对每一个类别来学习HMM的参数。
学习装置100A配置有移动速度数据存储单元101、行为状态标记单元102以及行为状态学习单元103。
移动速度数据存储单元101存储用作为用于学习的数据的移动速度的时间序列数据。
行为状态标记单元102将用户的行为状态作为标记(类别)添加至待被依次从移动速度数据存储单元101以时间序列方式提供的移动速度的数据。行为状态标记单元102给行为状态学习单元103提供标记的移动速度数据(作为与行为状态相关的移动速度的数据)。例如,将通过将表示行为状态的标记M添加至第k步时的移动速度vk和前进方向θk而获取的数据,提供给行为状态学习单元103。
行为状态学习单元103针对每一个类别将由行为状态标记单元102提供的标记过的移动速度数据分类,并且以类别为增量来学习用户活动模型(HMM)的参数。将获取的针对每一个类别的参数作为学习的结果提供给移动属性识别单元92。
[行为状态的分类示例]
图12示出了在针对每一个类别对行为状态分类的情况下的分类示例。
如图12所示,首先,可以将用户的行为状态分类为停留状态和移动状态。在本实施方式的情况下,如以上所述,至少必须存在停留状态和移动状态以作为用户的行为状态存在,移动属性识别单元92,并且因此,将用户的行为状态分类为这两种状态是最基本的。
此外,可以将移动状态分类为火车、汽车(包括公共汽车等)、自行车以及步行。还可以将火车分类为特快车、快车、慢车等,并且可以将小汽车分类为高速公路、普通公路等。而且,可以将步行分类为跑步、正常行走、散步等。
在本实施方式的情况下,可以将用户的行为状态分类为“停留”、“火车(快车)”、“火车(慢车)”、“小汽车(高速公路)”、“小汽车(普通公路)”、“自行车”以及“步行”。注意的是,“火车(特快车)”被省略了,这是由于没有获取用于学习的数据。
注意的是,显然如何分类类别不局限于图12中示出的示例。而且,借助于移动方式的移动速度的变化并不取决于用户而显著不同,并且因此,用作为用于学习的数据的移动速度的时间序列数据不需要必须属于待被识别的用户。
[行为状态标记单元102的处理示例]
接着,将参照图13和图14来描述行为状态标记单元102的处理示例。
图13示出了被提供给行为状态标记单元102的移动速度的时间序列数据的示例。
在图13中,将由行为状态标记单元102提供的移动速度(v,θ)的数据表示为(t,v)和(t,θ)的形式。在图13中,正方形(■)曲线表示移动速度v,圆形(●)曲线表示前进方向θ。而且,水平轴表示时间t,右侧的垂直轴表示前进方向θ,并且左侧的垂直轴表示移动速度v。
在图13中的时间轴下方添加了指示“火车(慢车)”、“步行”、“停留”的特征以用于描述。图13中的时间序列数据中的第一部分是在用户正在通过火车(慢车)移动的情况下的移动速度的数据,并且下一部分是其中用户正在通过“步行”移动的情况,并且该时间序列数据中的再下一部分是在用户处于“停留”的情况下移动速度的数据。
在用户正在通过“火车(慢车)”移动的情况下,火车重复地在站台处停止,当离开站台时加速,并且再次减速以停在站台,并且因此,表示了其中具有移动速度v的曲线重复地竖直波动的特征。注意的是,即使在火车停止的情况下移动速度也不为0的原因是因为正在进行根据移动平均的滤波处理。
而且,其中用户正在通过“步行”移动的情况和其中用户正处于“停留”状态的情况是最难以区分的状态,但是根据通过移动平均的滤波处理,可以看到移动速度v的明显的区别。而且,在“停留”的情况下,可以看到其中前进方向θ立即极大地改变的特征,并且发现容易与“步行”进行区别。这样,根据通过移动平均的滤波处理,并且根据用移动速度v和前进方向θ表示的用户的移动,发现“步行”和“停留”之间的区别变得容易。
注意的是,介于“火车(慢车)”和“步行”之间的部分是其中行为切换点对于滤波处理模糊的部分。
图14示出了其中对在图13中示出的时间序列数据进行标记的示例。
例如,行为状态标记单元102在显示器上显示在图13中示出的移动速度的数据。然后用户使用鼠标等对显示在显示器上的移动速度的数据的用矩形区域标记的一部分进行包围操作。而且,用户通过键盘等输入待被添加至指定数据的标记。行为状态标记单元102通过将输入标记添加至包括在被用户指定的矩形区域内的移动速度的数据进行标记。
在图14中,示出了其中用矩形区域指定了等效于“步行”的一部分的移动速度的数据的示例。注意的是,此时,对于滤波处理,可以防止其中行为切换点为模糊的一部分被包括在待被指定的区域内。根据行为差异明显出现在时间序列数据中的长度来确定时间序列数据的长度。例如,可以将长度设定为约20步(15秒×20步=300秒。)。
[行为状态学习单元103的的配置示例]
图15是示出在图11中的行为状态学习单元103的配置示例的框图。
行为状态学习单元103配置有分类单元121和HMM学习单元1221至HMM学习单元1227
分类单元121参考从行为状态标记单元102提供的标记过的移动速度数据的标记,以提供给对应于标记的HMM学习单元1221至HMM学习单元1227中的一个。具体地,对于行为状态学习单元103,为每一个标记(类别)准备HMM学习单元122,将从行为状态标记单元102提供的标记过的移动速度数据针对每一个标记分类并且提供。
HMM学习单元1221至HMM学习单元1227中的每一个使用提供的标记过的移动速度数据来对学习模型(HMM)进行学习。然后HMM学习单元1221至HMM学习单元1227中的每一个将通过学习获取的HMM的参数λ提供给图10中的移动属性识别单元92。
在标记为“停留”的情况下,HMM学习单元1221对学习模型(HMM)进行学习。在标记为“步行”的情况下,HMM学习单元1222对学习模型(HMM)进行学习。在标记为“自行车”的情况下,HMM学习单元1223对学习模型(HMM)进行学习。在标记为“火车(慢车)”的情况下,HMM学习单元1224对学习模型(HMM)进行学习。在标记为“小汽车(普通公路)”的情况下,HMM学习单元1225对学习模型(HMM)进行学习。在标记为“火车(快车)”的情况下,HMM学习单元1226对学习模型(HMM)进行学习。在标记为“小汽车(高速公路)”的情况下,HMM学习单元1227对学习模型(HMM)进行学习。
[移动属性识别单元92的第一配置示例]
图16是示出了在使用在学习装置100A学习到的参数的情况下的作为移动属性识别单元92的移动属性识别单元92A的配置示例的框图。
移动属性识别单元92A配置有似然计算单元1411至似然计算单元1417和似然比较单元142。
似然计算单元1411使用通过HMM学习装置1221的学习获取的参数来计算与从移动速度计算单元91(图10)提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1411计算在行为状态为“停留”的情况下的似然。
似然计算单元1412使用通过HMM学习装置1222的学习获取的参数来计算与从移动速度计算单元91提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1412计算在行为状态为“步行”的情况下的似然。
似然计算单元1413使用通过HMM学习装置1223的学习获取的参数来计算与从移动速度计算单元91提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1413计算在行为状态为“自行车”的情况下的似然。
似然计算单元1414使用通过HMM学习装置1224的学习获取的参数来计算与从移动速度计算单元91提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1414计算在行为状态为“火车(慢车)”的情况下的似然。
似然计算单元1415使用通过HMM学习装置1225的学习获取的参数来计算与从移动速度计算单元91提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1415计算在行为状态为“小汽车(普通公路)”的情况下的似然。
似然计算单元1416使用通过HMM学习装置1226的学习获取的参数来计算与从移动速度计算单元91提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1416计算在行为状态为“火车(快车)”的情况下的似然。
似然计算单元1417使用通过HMM学习装置1227的学习获取的参数来计算与从移动速度计算单元91提供的移动速度的时间序列数据对应的似然。具体地,似然计算单元1417计算在行为状态为“小汽车(高速公路)”的情况下的似然。
似然比较单元142比较从似然计算单元1411至似然计算单元1417中的每一个提供的似然,选择具有最大似然的行为状态,并且将其输出作为移动属性。
[移动属性识别单元92的学习装置的第二配置示例]
图17示出了被配置成使用了多流HMM的对用户活动模型的待被用于移动属性识别单元92的参数进行学习的学习装置100B的配置示例。
学习装置100B配置有移动速度数据存储单元101、行为状态标记单元161以及行为状态学习单元162。
行为状态标记单元161将用户的行为状态添加至待从移动速度数据存储单元101依次以时间序列方式提供的移动速度的数据作为标记(行为节点)。行为状态标记单元161将移动速度的时间序列数据(v,θ)以及与其相关的行为模式M的时间序列数据提供给行为状态学习单元162。
行为状态学习单元162使用多流HMM来学习用户的行为状态。
多流HMM是其中具有与普通HMM相同的转移概率的状态节点输出遵循多个不同概率规则的数据的HMM。在多流HMM的情况下,在参数λ中,输出概率密度函数bj(x)单独地为每一个时间序列数据准备。对于多流HMM,可以在相关不同类型的时间序列数据(流)的同时进行学习。
具有是连续量的移动速度v和前进方向θ的时间序列数据以及是分布量的行为模式M的时间序列数据被提供给行为状态学习单元162。行为状态学习单元162学习待被从每一个状态节点输出的移动速度的分布参数,并且学习行为模式的概率。根据通过学习获取的多流HMM,例如根据移动速度的时间序列数据来获取当前状态节点。可以根据获取的状态节点来识别行为模式。
在使用类别HMM的第一配置示例的情况下,必须为每一个类别准备七个HMM,但是在多流HMM的情况下,一个HMM足够了。然而,待准备的状态节点的个数必须与在第一配置示例中用于七个类别的状态节点的总数一致。
[移动属性识别单元92的第二配置示例]
图18是示出了在使用在学习装置100B学习到的参数的情况下作为移动属性识别单元92的移动属性识别单元92B的配置示例的框图。
移动属性识别单元92B配置有状态节点识别单元181和行为模式识别单元182。
状态节点识别单元181使用在学习装置100B处学习到的多流HMM的参数、根据从移动速度计算单元91提供的移动速度的时间序列数据来识别多流HMM的状态节点。状态节点识别单元181将识别出的当前状态节点的节点号提供给行为模式识别单元182。
行为模式识别单元182输出作为在状态节点识别单元181处识别出的状态节点并且具有最大似然的行为模式作为移动属性。
[学习预处理器22的处理]
图19是学习预处理器22的学习预处理的流程图。
对于学习预处理,首先,在步骤S1中,数据连接/划分单元71进行移动历史数据的连接和划分处理。
在步骤S2中,异常数据移除单元72进行从移动历史数据中移除明显异常数据的处理。
在步骤S3中,重采样处理单元73使用线性插值进行处理,以针对获取时间少于停留阈值时间的时间间隔的生成缺失数据。
在步骤S4中,重采样处理单元73基于组成移动历史数据的每一个三维数据是否是通过线性插值生成的插值数据来生成插值标记序列数据。
在步骤S5中,移动属性识别添加单元74,针对移动历史的每一个三维数据识别“停留状态”或者“移动状态”的移动属性并且将其添加。注意的是,将“缺失”的移动属性添加至通过线性插值生成的三维数据。
在步骤S6中,停留状态处理单元75处理其移动属性为“停留状态”的三维数据。然后停留状态处理单元75将处理过程后的移动历史数据连同插值标记序列数据一起输出至学习主处理器23,并且处理结束。
如以上所述,对于学习预处理器22,在根据需要对移动历史数据进行划分后,在数据缺失部分中生成插值数据,并且识别出移动属性。对处于“停留状态”的三维数据进行处理过程(保持处理),并且将处理过程后的的移动历史数据连同插值标记序列数据一起提供给学习主处理器23。
注意的是,在以上提及的学习预处理器22的学习预处理中,将“缺失”的移动属性添加至插值数据,但是插值处理事先已经进行,并且因此,还可以识别并且添加关于插值数据的移动属性。
[学习主处理器23的详细配置示例]
图20是示出学习模块11的学习主处理器23的详细配置示例的框图。
学习主处理器23配置有第一已知/未知确定单元201、新模型生成单元202、新模型连接单元203、参数更新单元204以及更新模型组织单元205。
将来自学习预处理器22(图1)的移动历史数据和插值标记序列数据提供给第一已知/未知确定单元201。而且,在学习主处理器23学习至少一次或更多次的情况下,从用户模型参数存储单元12(图1)获取通过之前的学习获取的用户活动模型的参数作为现有模型的参数。将现有模型的参数提供给第一已知/未知确定单元201、新模型连接单元203以及参数更新单元204。
第一已知/未知确定单元201确定从学习预处理器22提供的移动历史数据是否是已知路线的移动历史数据。注意的是,对于第二时间时及此后的学习,可能存在其中提供的移动历史数据的一部分是未知路线的移动历史数据并且剩余部分是已知路线点移动历史数据的情况。关于被确定为已知的移动历史数据,第一已知/未知确定单元201估计,移动历史数据的每一个三维数据等效于现有模型的哪一个状态节点。然后第一已知/未知确定单元201将已知的移动历史数据和与其对应的节点序列数据提供给参数更新单元204。
另一方面,在确定了提供的移动历史数据是未知路线的移动历史数据的情况下,第一已知/未知确定单元201将未知路线的移动历史数据提供给新模型生成单元202。而且,在未知路线的移动历史数据被连接至已知路线的移动历史数据的情况下,第一已知/未知确定单元201将与在已知路线的移动历史数据之前和之后的移动历史数据对应的现有模型的状态节点用作为未知路线的移动历史数据的连接目的地提供给新模型生成单元202。注意的是,在未知的移动历史数据之后不存在现有模型的状态节点的情况下,例如,在从已知路线经由未知路线到达未知目的地并且返回的情况下,仅仅将之前的现有模型的状态节点提供给新模型生成单元202。
在第一学习的情况下,将从学习预处理器22提供的所有移动历史数据提供给新模型生成单元202作为未知移动历史数据。而且,在第一学习的情况下,不存在现有模型的前面和后面的状态节点,并且因此,不提供给新模型生成单元202。
新模型生成单元202使用从第一已知/未知确定单元201提供的未知移动历史数据来学习用户活动模型。也就是说,新模型生成单元202在使用随机状态转移模型对未知移动历史数据进行建模时获取参数,并且提供给新模型连接单元203。这里学习到的用户活动模型变成与通过之前的学习获取的现有模型不同的新模型。注意的是,第一学习和第二学习以及其后的学习仅在待被学习的未知移动历史数据的数据量上有所不同,并且可以通过相同的学习来获取用户活动模型的参数。
新模型生成单元202将通过学习获取的新模型的参数提供给新模型连接单元203。而且,在第一已知/未知确定单元201提供了现有模型的前面和后面的状态节点的情况下,新模型生成单元202还将现有模型的前面和后面的状态节点提供给新模型连接单元203。
在第二学习及其后的学习的情况下,新模型连接单元203基于未知移动历史数据来更新通过之前的学习获取的现有模型。具体地,新模型连接单元203基于未知移动历史数据之前和之后的状态节点将来自新模型生成单元202的新模型连接至现有模型,以生成更新之后的用户活动模型。通过新模型连接单元203更新的用户活动模型是其中根据未知移动历史数据将状态节点添加至其上的拓扑更新模型。
注意的是,对于新模型连接单元203,在已知路线的移动历史数据一点也不被包括在被提供给学习主处理器23的移动历史数据的情况下,待被连接至来自新模型生成单元202的新模型的现有模型变成根据用户模型参数存储单元12(图1)获取的现有模型。另一方面,在已知路线的移动历史数据部分地包括在提供给学习主处理器23的移动历史数据的情况下,待被连接至新模型的现有模型变成在参数更新单元204处更新的现有模型。
参数更新单元204基于已知移动历史数据及其对应的节点序列数据来更新通过之前的学习获取的现有模型。将更新的现有模型的参数输出至新模型连接单元203和更新模型组织单元205。在通过参数更新单元204更新的情况下,如以上所述,不存在状态节点的添加。
在通过新模型连接单元203更新的拓扑更新模型或者通过参数更新单元204更新的参数更新模型中,更新模型组织单元205删除单独通过自转移而没有从另一状态节点转移的状态节点,以组织更新过的模型。将组织后的更新模型的参数作为通过学习(更新学习)获取的用户活动模型的参数提供给学习后处理器24和用户模型参数存储单元12。
[第一已知/未知确定单元201的详细配置示例]
接着,将进一步描述第一已知/未知确定单元201的细节。
图21是示出了第一已知/未知确定单元201的详细配置示例的框图。
在通过学习主处理器23执行了至少一次学习处理的情况下,将现有模型的参数从用户模型参数存储单元12(图1)提供给现有模型构建单元221。现有模型构建单元221基于获取的现有模型的参数构建现有模型,并且将现有模型提供给未知状态节点添加单元222。
注意的是,在其中根本没有执行学习处理的状态下,事先将现有模型的初始参数设定到现有模型构建单元221。对于现有模型的初始参数,节点数为1,其一个状态节点的转移概率仅为自转移,中心值为除了其中可以取三维数据(时间点、经度、纬度)的范围之外的值,分布值为最小分布值,并且节点频率为1。执行至少一次学习处理,并且从用户模型参数存储单元12(图1)提供现有模型的参数,并且由此重写并删除现有模型的初始参数。
未知状态节点添加单元222将接受未知移动历史数据的一个状态节点(在下文中,称为未知状态节点)添加至在现有模型构建单元221构建的现有模型。因此,构建其中将一个状态节点添加至现有模型的学习模型(在下文中,称为未知状态添加模型),并且提供给状态节点估计单元223。
状态节点估计单元223使用其中采用从未知状态节点添加单元222提供的未知状态添加模型的维特比算法来估计与提供的移动历史数据的每一个三维数据对应的未知状态添加模型的状态节点。将接受未知移动历史数据的一个节点添加至未知状态添加模型,并且因此,即使输入的移动数据为未知移动历史数据时,也能在不崩溃的情况下进行维特比估计。在接受移动历史数据的一个节点还未被添加的情况下,对于未知移动历史数据不会发现对应的状态节点,并且维特比估计会崩溃。
样本似然计算单元(likelihood-by-smple calculating unit)224计算用作为待被用于已知/未知确定的索引的观测似然期望值。用L(t)获取在时间点t时的观测似然期望值。在移动历史数据为已知路线的数据的情况下,观测似然期望值L(t)增大,并且在移动历史数据为未知路线的数据的情况下,观测似然期望值L(t)减小。
第二已知/未知确定单元226通过对观测似然期望值L(t)的时间序列数据(观测似然序列数据)进行维特比确定来进行已知或者未知确定,其使用存储在已知/未知模型存储单元225中的已知状态和未知状态的两个状态模型。
已知/未知后处理器227将状态节点估计单元223估计为未知并且第二已知/未知确定单元226确定为已知的状态节点修正为未知。也就是说,对于未知确定,优先考虑来自状态节点估计单元223的估计结果。
而且,已知/未知后处理器227根据修正后的确定结果,将学习预处理器22(图1)提供的移动历史数据输出至新模型生成单元202或者参数更新单元204。具体地,已知/未知后处理器227将其中确定结果为已知的移动历史数据连同与其对应的节点序列数据一起提供给参数更新单元204(图19)。另一方面,已知/未知后处理器227将其确定结果为未知的移动历史数据提供给新模型生成单元202。在将未知移动历史数据连接到已知移动历史数据的情况下,已知/未知后处理器227还将与前面和后面的已知移动历史数据对应的现有模型的状态节点作为未知移动历史数据的连接目的地提供给新模型生成单元202。
[未知状态添加模型的构建处理]
将参照图22中的流程图来描述未知状态节点添加单元222的未知状态添加模型的构建处理。
首先,在步骤S21中,未知状态节点添加单元222生成初始概率表,该初始概率表用于其中存储了未知状态添加模型的每一个状态节点的初始概率的未知状态添加模型。
如图23所示,初始概率表是(M+1)行1列的表格,其中将接受未知移动历史数据的一个状态节点添加至现有模型的M个状态节点,并且将每一个状态节点的初始概率设定为例如等概率的1/(M+1)。
在步骤S22中,未知状态节点添加单元222生成转移概率表,该转移概率表用于其中存储了未知状态添加模型的每一个状态节点的转移概率的未知状态添加模型。
如图24所示,转移概率表配置有(M+1)行(M+1)列的表格。对于转移概率表,用(1-eps)乘以第1行第1列到第M行第M列的现有模型的状态之间的状态转移概率aij。而且,将eps设定为除了最下面的第(M+1)行之外的转移概率表的第(M+1)列的每一个元素,并且将eps设定为除了最后的第(M+1)列之外的第(M+1)行的每一个元素。这里提及的eps为例如约1.0E-8的充分小于1的预定值,并且低于现有模型的状态节点之间的转移概率中的任一个转移概率。对于该未知状态添加模型,表示将eps设定为从现有模型中的每一个状态节点到未知状态节点的转移概率,并且还将eps设定为从未知状态节点到现有模型中的每一个状态节点的转移概率。而且,第(M+1)行第(M+1)列的元素表示未知状态节点的自转移概率,并且为(1-M×eps)。在图24中的未知状态添加模型的情况下,行的和为1。
在步骤S23中,未知状态节点添加单元222生成中心值表,该中心值表用于其中存储了未知状态添加模型的每一个状态节点的观测概率的中心值μsi(d)的未知状态添加模型。
图25示出了用于在步骤S23中待生成的未知状态添加模型的中心值表。用于未知状态添加模型的中心值表的列数对应于移动历史数据的维数D,并且行数对应于状态节点数。因此,在本实施方式的情况下,用于未知状态添加模型的中心值表被配置为(M+1)行3列。用于未知状态添加模型的中心值表具有以下形式:其中将未知状态节点的中心值μsM+1(1)=E1、μsM+1(2)=E2以及μsM+1(3)=E3的一行作为第(M+1)行添加至现有模型的具有M行D列的中心值表。
这里,可以将任意值设定为E1、E2以及E3中的每一个。例如,E1可以是作为时间点可取的值(0小时到24小时)的中心值的“12”,E2和E3可以是作为纬度和经度可取的值(-180到180)的中心值的0。而且,例如,可以将E1、E2以及E3中的每一个设定为现有模型的M个中心值μs1(d)到μsM(d)的平均值。
在步骤S24中,未知状态节点添加单元222生成分布值表,该分布值表用于其中存储了未知状态添加模型中的每一个状态节点的观测概率的分布值σsi(d)'2的未知状态添加模型。
图26示出了用于在步骤S24中待生成的未知状态添加模型的分布值表。用于未知状态添加模型的分布值表的列数对应于移动历史数据的维数D,并且行数对应于状态节点数。因此,在本实施方式的情况下,用于未知状态添加模型的分布值表被配置为(M+1)行3列。用于未知状态添加模型的分布值表具有以下形式:其中将未知状态节点的分布值σsM+1(1)2=V1、σsM+1(2)2=V2以及σsM+1(3)2=V3的一行作为第(M+1)行添加至现有模型的具有M行D列的分布值表。
这里,可以将任意值设定为V1、V2以及V3中的每一个,但是优选地为更大的值。例如,将V1设定为大于“12”的平方的值以便于覆盖0小时到24小时可取的范围。将V2和V3设定为大于1802的值以便于覆盖纬度和经度从-180到180可取的范围。
根据以上提及的处理,设定了未知状态添加模型的参数并且构建了未知状态添加模型。
[状态节点估计单元223的处理]
接着,将描述状态节点估计单元223的处理。
状态节点估计单元223使用其中采用了从未知状态节点添加单元222提供的未知状态添加模型的维特比算法来估计与提供的移动历史数据的每一个三维数据对应的未知状态添加模型的状态节点。换言之,状态节点估计单元223使用维特比算法来获取在每一个时间点时的状态节点的概率。
维特比算法是如下算法,其中使用时间序列数据在每一个时间点的观测概率和模型的转移概率来计算在每一个时间点时状态节点的概率,并且还对状态转移的序列(状态节点序列)进行计算以便具有最高似然。
通过下列的表达式(4)和表达式(5)依次获取状态节点si在时间点t时的概率δ(si,t)。
[公式.4]
δ ( s j , o ) = 1 ( M + 1 ) ... ( 4 )
δ(sj,t)=max[aij·δ(si,t-1)·P(ot-1|si)]···(5)
表达式(4)假设所有的状态已经以等概率在时间点t=0时出现。(M+1)是在添加了未知状态节点之后所有状态的个数。表达式(5)中的aij为从状态节点si到状态节点sj的转移概率。而且,P(ot-1|si)为其中在时间点t-1时从状态节点si观测到三维数据o的概率。更具体地,这是其中将为状态节点si确定的参数μi和参数σi分别取作为中心和分布的正态分布的概率密度。在表达式(5)中,省略了对于状态节点sj的归一化。
对于维特比算法,在表达式(5)中,在从状态节点si到状态节点sj中,选择由此在表达式(5)的函数中变成最大值的状态节点si。将其状态节点si(simax)存储到在每一个时间点t时的每一个状态节点sj
在针对时间序列中的最后一个时间点t选择了满足表达式(5)的状态节点si之后,通过以反向时间序列跟踪下列表达式(6)来计算具有最大似然的状态节点序列。
[公式.5]
ψ(sj,t)=argmax[aij·δ(si,t-1)·P(ot-1|si)]···(6)
对于以上提及的常见的维特比算法,对于状态节点估计单元223,将下列表达式(7)用于在时间序列数据的每一个时间点时的观测概率。换言之,将下列表达式(7)用作为表达式(5)和表达式(6)中的P(ot-1|si)。
[公式.6]
P ( o t , e t | s i ) = 1 2 π ( σ i 2 + e t 2 ) exp ( - ( o t - μ i ) 2 2 ( σ i 2 + e t 2 ) ) ... ( 7 )
这里,et为当在时间点t时观测到的三维数据ot为插值数据时的误差(虚拟误差),并且在表达式(7)中,如果预测系统1输出其误差范围,则直接使用该值。可以通过例如下列表达式(8)来计算虚拟误差et
[公式.7]
e t = min ( | x t v i r t u a l - x T 1 r e a l | , | x t v i r t u a l - x T 2 r e a l | ) ... ( 8 )
表达式(8)表示将虚拟误差et设定为:插值数据xt和紧接在数据缺失之前的时间点T1时的三维数据xreal T1之间的距离,或者插值数据xt和紧接在数据缺失之后的时间点T2时的三维数据xreal T2之间的距离,这二者中较小的一个。
图27为通过表达式(8)计算的虚拟误差et的图像图。
在图27中,虚线箭头表示了实际的移动路线,并且椭圆虚线表示了用参数μi和参数σi表示的状态节点si
而且,在图27中,示出了从时间点t21到时间点t33的三维数据(移动历史数据)x21到x33。在这些数据中,用白色星标(☆)表示的三维数据x21到x24和x30到x33是通过传感器设备获取的真实实际数据。
另一方面,用黑色星标(★)表示的三维数据xvirtual 25到xvirtual 29为数据缺失部分,并且为通过线性插值生成的插值数据。对于该插值数据xvirtual 25到xvirtual 29,用粗线圈表示通过表达式(8)计算出的虚拟误差e25到e29
在表达式(8)中,越远离实际数据,则将虚拟误差et设得越大。
在待获取的时间序列数据(三维数据)缺失的情况下,无法生成在缺失时间点t时的状态节点si的概率δ(si,t),并且因此,无法执行维特比算法。然而,用线性插值数据来填充缺失的三维数据,由此可以解决无法生成状态节点si的概率δ(si,t)的问题本身。
然而,可以设想其中即使当数据本身存在于线性插值中时,其生成的数据也可能偏离正确路线并且无法用概率模型(学习模型)表达的情况。具体地,在线性插值中生成的数据不接近于概率模型中的任一个状态节点si,并且因此,可以设想其中对于任一个状态节点观测概率P(ot-1|si)变成更小(指数上小于)值的情况。其结果是,无法选出最大似然状态转移,并且维特比算法崩溃,并且无法输出状态节点序列本身。
可以从图27中的示例理解这一点,可以看出从插值数据xvirtual 25到插值数据xvirtual 29不仅偏离实际移动路线而且偏离表示行为模型的状态节点的椭圆。
因此,状态节点估计单元223计算对于插值三维数据xt的虚拟误差et,并且使用虚拟误差et来利用表达式(7)中的观测概率P(ot,et|si)。其结果是,即使当根据线性插值的插值数据ot极大地偏离了实际对应的状态节点si的中心μi时,在该时刻的虚拟误差et也较大,并且因此,表达式(7)中的指数函数的值的绝对值减小。其结果是,即使当根据线性插值的插值数据ot极大地偏离了实际的状态节点si的中心μi时,值也不是按指数减小,并且因此,可以针对数据缺失部分估计最大似然状态转移。
在图27中的示例的情况下,用指示虚拟误差et进入与实际移动路线对应的状态节点的椭圆的圆圈来表示使用虚拟误差et的优点。
注意的是,在以上提及的示例的情况下,基于数据缺失之前和之后的实际数据、通过表达式(8)获取了虚拟误差et,但是虚拟误差et的计算方法不局限于此。
[样本似然计算单元224的观测似然的计算]
接着,将描述样本似然计算单元224进行的观测似然的计算。
样本似然计算单元224计算用作为待用于已知/未知确定的索引的观测似然期望值L(t)。可以通过下列表示维特比估计状态节点的似然的表达式(9)来计算观测似然期望值L(t)。
[公式.8]
L ( t ) = Σ i = 1 M + 1 { δ ( s i , t ) · ( o t , e t | s i ) } ... ( 9 )
而且,可以通过由表达式(9)变化而来的表达式(10)来计算观测似然期望值L(t),以便于节约计算资源如计算速度、工作存储器等。可以将表达式(10)称为维特比估计状态节点的似然期待值。
[公式.9]
L(t)=P(ot,et|si)···(10)
通过以上提及的表达式(7)来计算包括在表达式(9)和表达式(10)内的观测概率P(ot,et|si)。然而,表达式(7)中的观测概率P(ot,et|si)变得稍大于正常值,归因于除正态分布σi 2以外,虚拟误差et 2被添加至分母。换言之,在三维数据被包括在状态节点的分布范围内的情况下,数据缺失部分的观测概率P(ot,et|si)趋向于减小。
其结果是,发生了其中即使当存在最初适合于数据缺失部分的三维数据的状态节点时,观测似然期望值L(t)也减小并且被确定为未知的情况。
因此,样本似然计算单元224进行修正,防止已知的数据缺失部分的观测似然期望值L(t)被确定为未知。换言之,样本似然计算单元224使用修正后的观测似然以使得观测似然对于数据缺失部分大于实际数据。
例如,样本似然计算单元224计算通过下列表达式(11)而不是表达式(10)表示的观测似然期望值L(t)。表达式(11)中的观测似然期望值L(t)具有以下形式:其中忽略了归因于虚拟误差et 2的存在而对观测概率P(ot,et|si)影响很小的的分母中的虚拟误差et 2
[公式.10]
L 1 ( t ) = P , ( o t , e t | s i ) = 1 2 πσ i 2 exp ( - ( o t - μ i ) 2 2 ( σ i 2 + e t 2 ) ) ... ( 11 )
或者,样本似然计算单元224使用通过将以上提及的表达式(9)或表达式(10)乘以对于虚拟误差et单调递增的修正项(a+b·et)而获取的表达式。具体地,样本似然计算单元224使用通过表达式(12)表示的观测似然期望值L2(t)或者通过表达式(13)表示的观测似然期望值L3(t)。
[公式.11]
L 2 ( t ) = ( a + b · e t ) Σ i = 1 M + 1 { δ ( s i , t ) · P ( o t , e t | s i ) } ... ( 12 )
L3(t)=(a+b·et)P(ot,et|si)···(13)
即使由于虚拟误差et观测概率P(ot,et|si)变坏时,通过采用表达式(11)到表达式(13)之一的而不是表达式(9)或者表达式(10)的观测似然期望值,期望值更不容易被确定为未知。在下文中,在观测似然期望值L1(t)到观测似然期望值L3(t)不被特别区分的情况下,将这些称为观测似然期望值L(t)'。
如果可以通过未知状态添加模型充分地解释观测数据,则待通过表达式(11)到表达式(13)之一计算的观测似然期望值L(t)'增大。另一方面,在无法通过未知状态添加模型充分地解释观测数据的情况下,以及在通过未知状态节点来解释观测数据的情况下,观测似然期望值L(t)'减小。因此,可以利用观测似然期望值L(t)'的量值进行已知或者未知确定。注意的是,在下文中,将观测似然期望值L(t)'简称为观测似然L(t)'。
[样本似然计算单元224的观测似然计算处理]
图28是样本似然计算单元224的观测似然计算处理的流程图。
首先,在步骤S31中,样本似然计算单元224计算每一个状态节点的数据缺失部分的观测概率P(ot,et|si)。
在步骤S32中,样本似然计算单元224根据每一个状态节点的观测概率P(ot,et|si)和概率δ(si,t)获取关于状态节点si的观测似然L(t)。现在,例如假定可以获取通过表达式(9)表示的观测似然L(t)作为关于状态节点si的观测似然L(t)。
在步骤S33中,样本似然计算单元224通过用修正项(a+b et)乘以用表达式(9)表示的观测似然L(t)来获取观测似然L(t)'=L2(t)。将获取的观测似然L(t)'提供给在随后阶段的第二已知/未知确定单元226,并且处理结束。
[第二已知/未知确定单元226的已知/未知确定处理]
接着,参照图29中的流程图,将对于第二已知/未知确定单元226的已知/未知确定处理作出描述,其中使用通过样本似然计算单元224计算出的观测似然L(t)'进行已知或者未知确定。
首先,在步骤S41中,第二已知/未知确定单元226获取来自样本似然计算单元224的与节点序列数据对应的观测似然L(t)'的时间序列数据。然后第二已知/未知确定单元226将观测似然L(t)'的每一个时间序列数据转换为对数似然log L(t)'。具体地,第二已知/未知确定单元226计算在每一个时间点t时的观测似然L(t)'的对数。
在步骤S42中,第二已知/未知确定单元226进行处理,用于获取从对数似然log L(t)'饱和的饱和对数似然。具体地,第二已知/未知确定单元226从对数似然log L(t)'中减去预定的偏移(阈值),将该结果除以预定值,并且将结果输入至双曲正切函数,由此使对数似然log L(t)'饱和。根据步骤S41和步骤S42中的处理,将观测似然L(t)'转换为取-1到1的范围的参数。
在步骤S43中,第二已知/未知确定单元226使用由已知状态和未知状态的两个状态组成的HMM进行维特比确定,由此对饱和对数似然进行已知/未知确定。
通过下列表达式(14)来表示由已知状态和未知状态的两个状态组成的HMM。
[公式.12]
π = 1 2 1 1 , A = 1 - ϵ ϵ ϵ 1 - ϵ , μ = 1 - 1 , σ 2 = 1 1 ... ( 14 )
具体地,已知状态和未知状态的初始概率π均为相同的概率(0.5)。而且,在考虑用户的移动历史的情况下,不可能设想已知状态和未知状态频繁地切换,并且可以设想在以已知路线移动的情况下,同样在以未知路线移动的情况下,切换后的状态在一定程度上继续。因此,设定转移概率A以便于将已知状态和未知状态中的每一个状态的自转移概率增大比1小得多的预定的值作为ε。根据观测概率,已知状态以1为中心进行分布,并且未知状态以-1为中心进行分布,并且将1设定为分布值。
[新模型生成单元202的详细配置示例]
接着,将描述新模型生成单元202的细节。
图30是示出了新模型生成单元202的详细配置示例的框图。
新模型生成单元202配置有新模型初始化单元241、新模型限制单元242、新模型学习单元243、节点序列确定单元244、参数重计算单元245以及新模型组织单元246。
将未知移动历史数据从第一已知/未知确定单元201提供给新模型生成单元202。而且,在未知移动历史数据被连接到已知移动历史数据的情况下,还提供在未知移动历史数据之前和之后的现有模型的状态节点。可以根据需要,通过新模型生成单元202的每一个单元获取从第一已知/未知确定单元201提供的未知移动历史数据及其前面和后面的现有模型的状态节点。
新模型初始化单元241将状态节点的个数与提供的未知移动历史数据的样本数相同的HMM声明(保护存储器以生成)为新模型。
新模型限制单元242对新模型初始化单元241声明的新模型设定从左到右型限制。这是因为一次的移动行为具有强的单向限制,并且以及即使在移动的方向上没有单向性,时间也稳定地具有单向性。
新模型学习单元243使用未知移动历史数据学习新模型。具体地,新模型学习单元243使用从第一已知/未知确定单元201提供的未知移动历史数据来获取施加了表示新模型的从左到右型限制的HMM的参数。
节点序列确定单元244使用通过新模型学习单元243的学习获取的新模型,以生成其中将未知移动历史数据的每一个三维数据转换为新模型的状态节点si的节点序列数据,并且将其提供给参数重计算单元245。具体地,基于新模型学习单元243提供的参数、从未知移动历史数据的第一步到最后一步,节点序列确定单元244根据新模型重复进行识别与输入的用户的时间点、纬度以及经度对应的用户当前状态节点si的处理。
参数重计算单元245基于节点序列确定单元244提供的节点序列数据来计算与移动历史数据的HMM的参数对应的节点序列数据的参数。具体地,参数重计算单元245计算与未知移动历史数据的HMM的初始概率πi、状态转移概率аij以及观测概率(中心值μi和分布值σi 2)对应的节点序列数据的初始概率<πi>、状态转移概率<аij>以及观测概率(中心值<μi>和分布值<σi 2>)。在下文中,用“<>”包围的初始概率πi、状态转移概率аij以及观测概率(中心值μi和分布值σi 2)表示重计算的节点序列数据的参数。
而且,参数重计算单元245事先计算每一个状态转移的转移频率<trans_cntij>、以及每一个状态节点si的状态频率<cnt_alli>和状态初始频率<cnt_starti>。
这里,转移频率<trans_cntij>表示从状态节点si到状态节点sj的转移的频率(计数值),并且i=1到N,j=1到N(N为时间序列数据的最终节点号(=节点数))。状态频率<cnt_alli>为在所有节点序列数据中的状态节点si的总数,并且状态初始频率<cnt_starti>为其中顶部为状态节点si的节点序列数据的个数。
通常来说,可以按照如下表示观测概率的初始概率πi_update、状态转移概率аij_update以及中心值μi_update和分布值σi_update 2
[公式.13]
&mu; i _ u p d a t e = &mu; i _ c u r r e n t &CenterDot; n i _ c u r r e n t + &mu; i _ n e w &CenterDot; n i _ n e w n i _ c u r r e n t + n i _ n e w
&sigma; i _ u p d a t e 2 + &mu; i _ u p d a t e 2 = ( &sigma; i _ c u r r e n t 2 + &mu; i _ c u r r e n t 2 ) &CenterDot; n i _ c u r r e n t + ( &sigma; i _ n e w 2 + &mu; i _ n e w 2 ) &CenterDot; n i _ n e w n i _ c u r r e n t + n i _ n e w
&pi; i _ u p d a t e = &pi; i _ c u r r e n t &CenterDot; n i _ c u r e n t + &pi; i _ n e w &CenterDot; n i _ n e w n i _ c u r r e n t + n i _ n e w
a i j _ u p d a t e = a i j _ c u r r e n t &CenterDot; n i _ c u r r e n t + a i j _ n e w &CenterDot; n i _ n e w n i _ c u r r e n t + n i _ n e w
πi_update、аij_update以及μi_update和σi_update 2为现有节点序列数据的状态节点si的观测概率的初始概率、状态转移概率以及中心值和分布值。而且,πi_new、аij_new以及μi_new和σi_new 2为附加的节点序列数据的状态节点si的观测概率的初始概率、状态转移概率以及中心值和分布值。ni_current和ni_new为节点序列数据的状态节点si的现有部分的节点数和附加部分的节点数。
因此,参数重计算单元245计算并且存储每一个状态转移的转移频率<trans_cntij>、每一个状态节点si的状态频率<cnt_alli>以及状态初始频率<cnt_starti>,由此利于接下来的更新计算。
注意的是,可以通过随机计数频率代替计算和存储频率来处理非整数分量。此外,可以存储参数如频率×平均值或者频率×分布值代替频率。
参数重计算单元245计算节点序列数据个数<seq_cnt>,其为节点序列确定单元244提供的节点序列数据的和,连同一起计算状态初始频率<cnt_starti>。
新模型组织单元246删除用作为新模型初始化单元241表明的新模型的HMM的状态节点si中不用的状态节点,由此组织新模型。具体地,新模型组织单元246删除具有通过参数重计算单元245计算出的状态频率<cnt_alli>为0的状态节点si。将通过新模型组织单元246组织的新模型(的参数)输出到新模型连接单元203。而且,在第一已知/未知确定单元201提供了在未知移动历史数据之前和之后的现有模型的状态节点的情况下,还将这些一起输出到新模型连接单元203。
[新模型学习单元243的学习处理]
接着,将参照图31至图34来描述新模型学习单元243的学习处理。
首先,将参照图31至图32对于通过常见的HMM的学习模型和通过新模型学习单元243进行的学习模型之间的区别作出描述。
在如同HMM一样、以分布式的状态对用户的移动历史进行建模的情况下,通常对通过以一定的时间间隔对移动路线进行采样而获取的数据进行建模。在获取移动历史的数据时,在由于采样间隔因省电等要求而无法被缩短因此获取不充分的样本的情况下,可能发生其中样本数和节点数几乎相等或者样本数小于节点数的情况。在该情况下,在假定其中待观测的数据在预定的位置附近呈正态分布的状态节点的情况下,可以通过一个节点对一个样本进行建模。在这种情况下,节点的分布值集中在很小的值(或者0)上,并且从而,不对样本的邻居进行建模。因此,不对采样的样本之间的路线进行建模。
图31示出了当使用常见的HMM进行移动历史的建模时的概念图。图31中的直线(线段)表示用户的实际移动路线,x标记(×)表示作为移动历史数据获取的样本,并且围绕样本的圆圈(O)表示节点。
如图31所示,不对其中没有获取样本的附近的位置(区域)进行建模,并且因此,在以高速如火车移动的情况下,不对样本之间的路线进行建模。另一方面,在以低速如步行移动的情况下,可以通过一个节点对多个样本进行建模。在这样的情况下,通过节点来表达移动历史是不合适的。
而且,在两次经过同一移动路线的情况下,当节点的分布值集中在很小的值(或者0)上时,不通过在第一次经过时表达的节点对第二次经过的位置进行建模,并且可以赋予不同的节点。
为了避免这样的问题,可以设想对节点的分布值设定下限,需要对来自样本的预定的区域的路线进行建模。
然而,当分布值增大时,将不同路线认为是同一路线的可能性提高。例如,将平行前进的不同的路线认为是同一路线。此外,当分布值增大时,变得难以以高精度对降低移动速度时的移动历史数据进行再现。反之,当分布值太小时,无法将在快速移动时的移动历史数据识别为相同路线。实际移动历史数据的样本表现出归因于移动速度的差异的各种远距感觉,并且因此,难以确定适应于所有的节点的分布值的下限。
因此,通过假定一个状态节点必要地反映连续两个样本的模型,新模型学习单元243对样本之间的路线进行建模,如图32所示。对于整个新模型,新模型学习单元243通过每一个节点依次连接两个连续的样本来进行建模。因此,可以将整个路线的区域一律用新模型表达以用链连接。
而且,即使样本之间的间隔较长,也进行建模以包括两个样本之间,并且因此,可以设定节点的分布值以便于较小。反之,即使当样本之间的间隔较短时也可以进行建模,并且因此,可以实现无标度建模。
注意的是,正如下面将描述的那样,新模型学习单元243可以进行建模以便于一个状态节点反映连续的三个或更多个样本,并且因此,可以适当地确定是否进行建模以便于一个状态节点反映若干样本。
图33用图形模型来表示新模型学习单元243的学习模型。
图33中的A的学习模型是用于目前观测当前数据的某一状态节点的模型,并且一前(一后)两个样本。在图33中的A的情况下,从一个状态节点出发的箭头存在于下部和右下,但是可以使用其中存在箭头直接向下和左下的模型。
注意的是,在本实施方式的情况下,如图32所示,使用其中一个状态节点表达两个连续样本的模型,但是也可以使用其中一个状态节点表达三个或者更多个连续样本的模型。图33中的B的模型是作为其中一个状态节点表达三个连续样本的模型的图形模型。
[新模型学习单元243的新模型学习处理]
接着,将参照图34中的流程图来描述新模型学习单元243的新模型学习处理。
首先,在步骤S51中,新模型学习单元243计算用于未知移动历史数据的每一个状态的似然。具体地,新模型学习单元243假定在转移至表示用户活动模型的HMM的状态si时输出移动历史数据的两个样本,即在时间点t时的位置数据xt和在时间点t+1时的位置数据xt+1,使用下列表达式(15)对观测似然P(xt,xt+1|si)进行计算。
[公式.14]
P(xt,xt+1|si)=N(xt(1)|μsi(1),σsi(1)2)·N(xt+1(1)|μsi(1),σsi(1)2)
×N(xt(2)|μsi(2),σsi(2)2)·N(xt+1(2)|μsi(2),σsi(2)2)
×N(xt(3)|μsi(3),σsi(3)2)·N(xt+1(3)|μsi(3),σsi(3)2)
···(15)
注意的是,时间点t不表示时间序列数据的测量时间点而是时间序列数据的次序(步骤数),并且值从1取到T(时间序列数据的样本数)。而且,假定表达式(15)中的xt(1)、xt(2)以及xt(3)分别表示移动历史数据xt的时间点、纬度以及经度。此外,假定表达式(15)中的N()表示单一正态分布,并且μsi(1)和σsi(1)2表示时间点的单一正态分布的中心值和分布值。而且,假定μsi(2)和σsi(2)2表示纬度的单一正态分布的中心值和分布值,并且μsi(3)和σsi(3)2表示经度的单一正态分布的中心值和分布值。
观测似然P(xt,xt+1|si)是初始时间序列数据和偏离了一个数据的时间序列数据之间的联合分布,并且因此,它变成了每一个观测序列分布的乘积。
注意的是,可以通过下列表达式(16)来表示其中一个状态节点表达W个或者更多个连续样本的模型的观测似然P(xt,…,xt+W|si)。显然这可以概括为大于时间序列数据的维数D的值。
[公式.15]
P ( x t , ... , x t + w | s i ) = &Pi; w = 1 W N ( x t + w - 1 ( 1 ) | &mu; s i ( 1 ) , &sigma; s i ( 1 ) 2 ) &times; &Pi; w = 1 W N ( x t + w - 1 ( 2 ) | &mu; s i ( 2 ) , &sigma; s i ( 2 ) 2 ) &times; &Pi; w = 1 W N ( x t + w - 1 ( 3 ) | &mu; s i ( 3 ) , &sigma; s i ( 3 ) 2 ) ... ( 16 )
在步骤S51中,对于所有的状态si和三维数据xt的组合,通过新模型学习单元243计算表达式(15)的观测似然P(xt,xt+1|si)。
接着,在步骤S52中,新模型学习单元243计算在每一个时间点t时所有的状态si的向前似然αt(si)。具体地,新模型学习单元243使用下列表达式(17)和表达式(18)来依次计算在从时间点1到最终时间点T的时间点t时状态si的向前似然αt(si)。
[公式.16]
α1(si)=πsi···(17)
&alpha; t ( s i ) = &Sigma; j = 1 M &alpha; t - 1 ( s j ) a i j P ( x t , x t + 1 | s i ) .... ( 18 )
注意的是,表达式(17)中的πsi表示状态si的初始概率。而且,表达式(18)中的аji表示从状态sj到状态si的状态转移概率。注意的是,初始概率πsi和状态转移概率аji的初始值是例如外部提供的。
在步骤S53中,新模型学习单元243计算在每一个时间点t时所有的状态si的向后似然βt(si)。具体地,新模型学习单元243使用下列表达式(19)和表达式(20)按照逆序来计算从最终时间点T到时间点1的时间点t时状态si的向后似然βt(si)。
[公式.17]
&beta; T ( s i ) = 1 M ... ( 19 )
&beta; t ( s i ) = &Sigma; j = 1 M a i j P ( x t , x t + 1 | s i ) &beta; t + 1 ( s j ) ... ( 20 )
在表达式(19)中,假定在时间点T时的状态将变成状态si中的每一个状态的概率具有相同的值。
这样,根据在步骤S51至步骤S53中的处理,计算出了用于移动历史数据的隐式马尔可夫模型的各种类型的似然。
在步骤S54中,新模型学习单元243更新初始概率和状态转移概率。具体地,新模型学习单元243分别将状态si中的每一个状态的初始概率πsi更新为通过下列表达式(21)获取的初始概率πsi',将状态si中的每一个状态的状态转移概率аij更新为通过下列表达式(21)获取的状态转移概率аij'。
[公式.18]
&pi; s i , = &alpha; 1 ( s i ) &beta; 1 ( s i ) &Sigma; i = 1 M &alpha; t ( s i ) ... ( 21 )
a i j , = &Sigma; t = 1 T - 1 &alpha; t ( s i ) a i j P ( x t , x t + 1 | s i ) &beta; t + 1 ( s j ) &Sigma; t = 1 T - 1 &alpha; t ( s i ) &beta; t ( s i ) ... ( 22 )
表达式(21)和表达式(22)是普遍采用的其中应用观测似然P(xt,xt+1|si)的鲍姆·韦尔奇最大似然估计法的表达式。
在步骤S55中,新模型学习单元243更新观测概率。具体地,新模型学习单元243分别将状态si中的每一个状态的观测概率(概率分布)的中心值μsi(d)更新为通过下列表达式(23)获取的中心值μsi(d)',将状态si中的每一个状态的观测概率(概率分布)的分布值σsi(d)2更新为通过下列表达式(24)获取的分布值σsi(d)'2
[公式.19]
&mu; s i ( d ) , = 1 &Sigma; t = 1 T - 1 &alpha; t ( s i ) &beta; t ( s i ) &CenterDot; &Sigma; t = 1 T - 1 &alpha; t ( s i ) &beta; t ( s i ) ( x t ( d ) + x t + 1 ( d ) 2 ) d = 1 , 2 , 3 ... ( 23 )
&sigma; s i ( d ) , 2 = 1 &Sigma; t = 1 T - 1 &alpha; t ( s i ) &beta; t ( s i ) &CenterDot; &Sigma; t = 1 T - 1 &alpha; t ( s i ) &beta; t ( s i ) ( x t ( d ) 2 + x t + 1 ( d ) 2 2 ) - &mu; s i ( d ) , 2 d = 1 , 2 , 3 ... ( 24 )
表达式(23)和表达式(24)中的d对应于数据的维数D,并且为1、2或者3中的一个。
在其中一个状态节点表达W个或者更多个连续样本并且维数为D的模型的情况下,可以通过下列表达式(25)和表达式(26)获取观测概率中的中心值μsi(d)'和分布值σsi(d)'2
[公式.20]
&mu; s i ( d ) , = 1 &Sigma; t = 1 T - W + 1 &alpha; t ( s i ) &beta; t ( s i ) &CenterDot; &Sigma; t = 1 T - W + 1 &alpha; t ( s i ) &beta; t ( s i ) ( &Sigma; w = 1 W x t + w - 1 ( d ) W ) d = 1 , 2 , 3... D ... ( 25 )
&sigma; s i ( d ) , 2 = 1 &Sigma; t = 1 T - W + 1 &alpha; t ( s i ) &beta; t ( s i ) &CenterDot; &Sigma; t = 1 T - 1 &alpha; t ( s i ) &beta; t ( s i ) ( &Sigma; w = 1 W x t + w - 1 ( d ) 2 W ) - &mu; s i ( d ) , 2 d = 1 , 2 , 3... D ... ( 26 )
通过求解使似然最小化的表达式可以容易地计算出表达式(23)和表达式(25)中的中心值μsi(d)'以及表达式(24)和表达式(26)中的分布值σsi(d)'2
在步骤S56中,新模型学习单元243确定参数的更新是否结束。例如,在每一个似然的增加量变得等于或者小于预定的值并且满足参数更新的收敛条件的情况下,新模型学习单元243确定参数的更新已结束。或者,作出这样的布置,其中在步骤S51至步骤S55中的处理被重复执行了一定次数的情况下,新模型学习单元243确定参数的更新已结束。
在步骤S56中确定参数更新未结束的情况下,处理返回到步骤S51。
在步骤S51中,利用新模型学习单元243,基于更新的参数来计算每一个状态的似然。具体地,基于表示了每一个状态si的初始概率πsi'、中心值μsi(d)'和分布值σsi(d)'2以及状态之间的状态转移概率аij'的数据来计算每一个状态的似然,并且通过步骤S54和步骤S55中的处理来更新。
此后,类似地执行步骤S52至步骤S55中的处理。因此,进行HMM的参数更新以便于状态si的序列的各种类型的似然,即观测似然P(xt,xt+1|si)、向前似然αt(si)和向后似然βt(si)逐渐增大,并且最终变为最大值。在步骤S56中,在步骤S56中再次确定参数更新是否结束。
在步骤S56中确定参数更新已结束的情况下,处理前进至步骤S57。
在步骤S57中,新模型学习单元243将最终的参数输出到节点序列确定单元244。具体地,新模型学习单元243将最终获取的数据输出到节点序列确定单元244并且处理结束,该数据表示了每一个状态si的初始概率πsi'、中心值μsi(d)'和分布值σsi(d)'2以及状态之间的状态转移概率аij'。
[参数重计算单元245的参数重计算处理]
接着,将参照图35中的流程图来描述参数重计算单元245的参数重计算处理。
首先,在步骤S71中,在节点序列确定单元244提供所有的节点序列数据作为目标的情况下,参数重计算单元245对每一个状态转移的转移频率<trans_cntij>(i=1到N,j=1到N,N为时间序列数据的最终节点号(节点数))进行计数。
在步骤S72中,在节点序列确定单元244提供所有的节点序列数据作为目标的情况下,参数重计算单元245对每一个状态节点si的状态频率<cnt_alli>、状态初始频率<cnt_starti>以及节点序列数据个数<seq_cnt>进行计数。
在步骤S73中,参数重计算单元245计算(更新)节点序列数据的初始概率<πi>'和状态转移概率<аij>'。可以通过下列表达式(27)和表达式(28)来计算节点序列数据的初始概率<πi>'和状态转移概率<аij>'。
[公式.21]
< &pi; i > , = < c n t _ start i > < s e q _ c n t > ... ( 27 )
< a i j > , = < t r a n s _ cnt i j > < c n t _ all i > ... ( 28 )
在步骤S74中,参数重计算单元245计算(更新)节点序列数据的观测概率,即每一个状态节点si的中心值<μi>'和分布值<σi 2>'。可以通过下列表达式(29)和表达式(30)来计算每一个状态节点si的中心值<μi>'和分布值<σi 2>'。
[公式.22]
< &mu; s i > , = 1 < c n t _ all i > &Sigma; k = 1 < c n t _ all i > ( x t _ k + x t _ k + 1 2 ) ... ( 29 )
< &sigma; s i 2 > , = 1 < c n t _ all i > &Sigma; k = 1 < c n t _ all i > ( ( x t _ k ) 2 + ( x t _ k + 1 ) 2 2 ) - < &mu; s i > , 2 ... ( 30 )
在表达式(29)和表达式(30)中,xt_k表示在移动历史数据的三维数据xt中的对应于状态节点si的三维数据。因此,xt_k的个数等于状态节点si的状态频率<cnt_alli>。
注意的是,对于其中一个状态节点表达W个或更多个连续样本的模型,可以通过下列表达式(31)和表达式(32)来计算每一个状态节点si的中心值<μi>'和分布值<σi 2>'。
[公式.23]
< &mu; s i > , = 1 < c n t _ all i > &Sigma; k = 1 < c n t _ all i > ( &Sigma; w = 1 W x t _ k + w - 1 W ) ... ( 31 )
< &sigma; s i 2 > , = 1 < c n t _ all i > &Sigma; k = 1 < c n t _ all i > ( &Sigma; w = 1 W ( x t _ k + w - 1 ) W ) - < &mu; s i > , 2 ... ( 32 )
到此,参数重计算单元245的参数重计算处理结束。
注意的是,图33中使用的图形模型反映在图30的新模型学习单元243(表达式(15)、表达式(16)以及表达式(23)至表达式(26))和参数重计算单元245(表达式(29)至表达式(32))和参数重计算单元245(表达式(29)至表达式(32))中。因此,例如,如果存在简化处理的要求,可以作出其中图33的图形模型单独反映在图30的参数重计算单元245中的实施方式。在这种情况下,可以将通过普通鲍姆·韦尔奇算法的学习应用到图30中的新模型学习单元243。而且,为了进一步简化处理,可以将普通鲍姆·韦尔奇算法变化为其中将序号从其头部开始依次指定给所获取的移动历史数据的处理,并且将其取作状态节点数。在这种情况下,在参考从图7中的移动属性识别添加单元74提供的移动属性、并且当前移动历史的三维数据的移动属性不是停留状态的情况下,通过对指定给最后一个三维数据的序号加一所获取的序号被指定为状态节点数。另一方面,在当前移动历史的三维数据的移动属性是停留状态的情况下,与被指定给最后一个三维数据的序号相同的序号被指定为状态节点数。
[新模型生成单元202的新模型生成处理]
图36是通过新模型生成单元202进行的总体新模型生成处理的流程图。
首先,在步骤S91中,新模型初始化单元241获取从第一已知/未知确定单元201提供的未知移动历史数据,并且生成与其对应的新模型。具体地,新模型初始化单元241生成具有与获取的未知移动历史数据的样本数相同的状态节点数的HMM。
在步骤S92中,新模型限制单元242对新模型初始化单元241生成的HMM设定从左到右型限制。
在步骤S93中,新模型学习单元243使用未知移动历史数据学习新模型。具体地,在步骤S93中,使用如图32所示的作为其中一个状态节点必要地反映两个连续样本的模型的新模型,进行参照图34所所描述的新模型学习处理。
在步骤S94中,节点序列确定单元244使用通过步骤S93中的新模型学习处理所获取的新模型,以生成对应于未知移动历史数据的节点序列数据,并且将其提供给参数重计算单元245。
在步骤S95中,参数重计算单元245基于从节点序列确定单元244提供的节点序列数据来计算与移动历史数据的HMM参数对应的节点序列数据的参数。更具体地,参数重计算单元245计算节点序列数据的初始概率<πi>'和状态转移概率<аij>',以及每一个状态节点si的中心值<μi>'和分布值<σi 2>'。而且,参数重计算单元245还计算每一个状态节点si的状态频率<cnt_alli>和状态初始频率<cnt_starti>。
在步骤S96中,新模型组织单元246从用作为生成的新模型的HMM的状态节点si中删除不用的状态节点,由此组织新模型。在第一已知/未知确定单元201提供了在未知移动历史数据之前和之后的现有模型的状态节点的情况下,新模型组织单元246还将这些连同组织后的新模型的参数一起输出到新模型连接单元203,并且处理结束。
[新模型连接单元203的拓扑更新模型生成处理]
接着,将对新模型连接单元203的拓扑更新模型生成处理进行描述,其中连接通过之前学习所获取的现有模型和根据未知移动历史数据生成的新模型以生成拓扑更新模型。
首先,作为描述的前提,将定义下列变量。
现有模型:xhmm
当前模型:yhmm
拓扑更新模型:zhmm
现有模型xhmm、新模型yhmm以及拓扑更新模型zhmm中的每一个具有下列变量。注意的是,下列的hmm是学习模型(HMM)的通用记法,并且在现有模型时将被写作xhmm,在新模型时将被写作yhmm,以及在拓扑更新模型时将被写作zhmm。
状态节点数:hmm.node
现有模型xhmm的状态节点数:xhmm.node=M
新模型yhmm的状态节点数:yhmm.node=N
拓扑更新模型zhmm的状态节点数:zhmm.node=M+N
待被学习的时间序列数据的维数D:hmm.D
每一个状态节点的初始概率πi:hmm.pi(i)
整个hmm的初始概率hmm.pi变成具有hmm.node行1列的表格(初始概率表)。
每一个状态节点的转移概率аij:hmm.а(i,j)
整个hmm的转移概率hmm.а变成具有hmm.node行hmm.node列的表格(转移概率表)。
每一个状态节点的概率分布的中心值μi:hmm.mu(i)
整个hmm的概率分布的中心值hmm.mu变成具有hmm.node行hmm.D列的表格(中心值表)。
每一个状态节点的概率分布的分布值σi 2:hmm.sigma2(i)
整个hmm的概率分布的分布值hmm.sigma2变成具有hmm.node行hmm.D列的表格(分布值表)。
学习的时间序列数据的个数seq_cnt:hmm.seq_cnt
每一个状态节点的状态频率cnt_alli:hmm.cnt_all(i)
整个hmm的状态频率hmm.cnt_all变成具有hmm.node行1列的表格(状态频率表)。
将参照图37中的流程图来描述新模型连接单元203的拓扑更新模型生成处理。
首先,在步骤S101中,新模型连接单元203计算拓扑更新模型的初始概率zhmm.pi。
在步骤S101中,首先,由于现有模型由M个状态节点组成并且新模型由N个状态节点组成,因此新模型连接单元203生成用作为初始概率zhmm.pi的具有(M+N)行1列的初始概率表,如图38中的A所示。
在拓扑更新模型的初始概率表的从第一行到第M行中的第m行(m=1,2,…,M),如图38中的A所示,新模型连接单元203设定通过用现有模型的时间序列数据个数xhmm.seq_cnt乘以现有模型的初始概率xhmm.pi(m)所获取的值。而且,在拓扑更新模型的初始概率表的从第(M+1)行到第(M+N)行中的第(M+n)行(n=1,2,…,N),新模型连接单元203设定通过用新模型的时间序列数据个数yhmm.seq_cnt乘以新模型的初始概率yhmm.pi(n)所获取的值。
如图38中的B所示,通过用拓扑更新模型的初始概率表中的每一行除以初始概率表的所有元素的和SUM_pi进行归一化,并且拓扑更新模型的初始概率表zhmm.pi的生成结束。
接着,在步骤S102中,新模型连接单元203计算拓扑更新模型的时间序列数据个数zhmm.seq_cnt。具体地,新模型连接单元203计算现有模型的时间序列数据个数xhmm.seq_cnt和新模型的时间序列数据个数yhmm.seq_cnt的和,并且将其取作拓扑更新模型的时间序列数据个数zhmm.seq_cnt。
在步骤S103中,新模型连接单元203计算拓扑更新模型的转移概率zhmm.a和状态频率zhmm.cnt_all。
在步骤S103中,首先,由于现有模型由M个状态节点组成并且新模型由N个状态节点组成,因此新模型连接单元203生成具有(M+N)行(M+N)列的转移概率表,如图39所示。现在,假定将转移概率表的第1行第1列到第M行第M列称为左上区域,将第(M+1)行第(M+1)列到第(M+N)行第(M+N)列称为右下区域,将从第1行第(M+1)列到第M行第(M+N)列称为右上区域,并且将第(M+1)行第1列到第(M+N)行第M列称为左下区域。
新模型连接单元203在生成的转移概率表的左上区域的每一个元素中设定通过用现有模型的状态节点sm的状态频率xhmm.cnt_all(m)乘以现有模型的状态节点sm的转移概率xhmm.a(m,j)(j=1,…,M)所获取的值。
而且,新模型连接单元203在生成的转移概率表的右下区域的每一个元素中设定通过用新模型的状态节点sm的状态频率yhmm.cnt_all(m)乘以新模型的状态节点sm的转移概率yhmm.a(m,j)(j=1,…,M)所获取的值。
注意的是,在图39中,共同地示出了与xhmm.a(m,j)×xhmm.cnt_all(m)、yhmm.a(m,j)×yhmm.cnt_all(m)相同的行。
此外,新模型连接单元203基本上用“0”代替生成的转移概率表的右上区域的每一个元素。然而,在新模型生成单元202提供在未知移动历史数据前的现有模型的状态节点并且将新模型连接至现有模型的节点序列数据之后的情况下,用“1”来代替仅与其连接目的地的状态节点对应的元素。具体地,在连接目的地的状态节点为si的情况下,将“1”设定为第i行第(M+1)列的元素。
类似地,新模型连接单元203基本上用“0”代替生成的转移概率表的左下区域的每一个元素。然而,在新模型生成单元202提供在未知移动历史数据后的现有模型的状态节点并且将现有模型的节点序列数据连接至新模型后的情况下,用“1”来代替仅与其连接目的地的状态节点对应的元素。具体地,在连接目的地的状态节点为sj的情况下,将“1”设定为第(M+N)行第j列的元素。
接着,如图40所示,新模型连接单元203计算关于生成的转移概率表的左上区域和右下区域的在行方向上的和,由此计算拓扑更新模型的状态频率zhmm.cnt_all。图40中的状态频率表由具有(M+N)行1列的表格组成。
最后,如图41所示,新模型连接单元203通过用图39中的转移概率表的左上区域和右下区域的每一行除以拓扑更新模型的状态频率表的每一行zhmm.cnt_all(i)进行归一化。到此,拓扑更新模型的转移概率表的生成结束。
然后处理前进至步骤S104,其中新模型连接单元203计算拓扑更新模型的概率分布的中心值zhmm.mu和分布值zhmm.sigma2。
在步骤S104中,现有模型由M个状态节点组成,并且新模型由N个状态节点组成,并且因此,与拓扑更新模型的中心值zhmm.mu对应的中心值表配置有(M+N)行D列。
如图42所示,用现有模型的中心值xhmm.mu(i,1)、xhmm.mu(i,2)以及xhmm.mu(i,3)来代替具有(M+N)行D列的中心值表的第1行到第M行中的每一行(i=1,…,M)。而且,用新模型的中心值yhmm.mu(i,1)、yhmm.mu(i,2)以及yhmm.mu(i,3)来代替具有(M+N)行D列的中心值表的从第(M+1)行到第(M+N)行中的每一行(i=1,…,N)。这里,xhmm.mu(i,1)和yhmm.mu(i,1)为移动历史数据的时间点的中心值,xhmm.mu(i,2)和yhmm.mu(i,2)为移动历史数据的纬度的中心值,并且xhmm.mu(i,3)和yhmm.mu(i,3)为移动历史数据的经度的中心值。
类似地,与拓扑更新模型的概率分布的分布值zhmm.sigma2对应的分布值表也配置有(M+N)行D列。
如图43所示,用现有模型的分布值xhmm.sigma2(i,1)、xhmm.sigma2(i,2)以及xhmm.sigma2(i,3)来代替具有(M+N)行D列的分布值表的从第1行到第M行的每一行(i=1,…,N)。而且,用新模型的分布值yhmm.sigma2(i,1)、yhmm.sigma2(i,2)以及yhmm.sigma2(i,3)来代替具有(M+N)行D列的分布值表的从第(M+1)行到第(M+N)行中的每一行(i=1,…,N)。这里,xhmm.sigma2(i,1)和yhmm.sigma2(i,1)为移动历史数据的时间点的分布值,xhmm.sigma2(i,2)和yhmm.sigma2(i,2)为移动历史数据的纬度的分布值,并且xhmm.sigma2(i,3)和yhmm.sigma2(i,3)为移动历史数据的经度的分布值。
然后处理前进至步骤S105,其中新模型连接单元203将拓扑更新模型的参数输出到更新模型组织单元205。具体地,将拓扑更新模型的初始概率zhmm.pi、时间序列数据个数zhmm.seq_cnt、转移概率zhmm.a、状态频率zhmm.cnt_all以及概率分布的中心值zhmm.mu和分布值zhmm.sigma2输出到更新模型组织单元205。到此,拓扑更新模型生成处理结束。
[参数更新单元204的参数更新处理]
接着,将描述参数更新单元204的参数更新处理。
图44是通过参数更新单元204进行的总体参数更新处理的流程图。
首先,在步骤S121中,参数更新单元204获取从第一已知/未知确定单元201提供的已知移动历史数据和节点序列数据以及与其对应的插值标记序列数据。在下文中,为了简化描述,在假定获取了一个已知移动历史数据和节点序列数据以及与其对应的插值标记序列数据的情况下作出描述。
在步骤S122中,参数更新单元204更新现有模型的初始概率xhmm.pi。
在步骤S122中,首先,将1添加到用作为初始概率xhmm.pi、与具有M行1列的初始概率表的获取的状态节点序列的顶部节点对应的初始概率xhmm.pi(i)。在图45中的A的情况下,作为示例将1添加到其中状态节点序列的顶部节点为状态节点s18的xhmm.pi(18)。
为了满足概率的条件,如图45中的B所示,通过用初始概率表的每一行除以所有元素的和SUM_pi进行归一化,并且现有模型的初始概率xhmm.pi的更新结束。
接着,在步骤S123中,参数更新单元204更新现有模型的时间序列数据个数xhmm.seq_cnt。仅对时间序列数据个数加1,并且因此,将通过给当前的xhmm.seq_cnt加1所获取的值取作更新后的现有模型的时间序列数据个数xhmm.seq_cnt。
在步骤S124中,参数更新单元204更新现有模型的转移概率xhmm.a和状态频率xhmm.cnt_all。
在步骤S124中,首先,给与发生在获取的状态节点序列中的状态转移对应的转移概率表中的每一个元素加1。例如,在图46中的示例的情况下,至少发生从状态节点s18到状态节点s2的转移和从状态节点sM到状态节点s2的转移,并且给xhmm.a(18,2)×xhmm.cnt_all(18)以及xhmm.a(M,2)×xhmm.cnt_all(M)中的每一个加1。
而且,对于获取的状态节点序列的最后的状态节点,给对应于自转移的转移概率表中的元素加1。例如,在图46中,作为其中状态节点序列的最后的状态节点为s2的示例,给xhmm.a(2,2)×xhmm.cnt_all(2)加1。
接着,如图47所示,参数更新单元204计算给其加1后的转移概率表在行方向上的和,由此计算(更新)现有模型的状态频率xhmm.cnt_all。
最后,如图48所示,参数更新单元204通过用加1后的转移概率表的每一行除以更新后的现有模型的状态频率xhmm.cnt_all(i)来进行归一化。根据以上提及的计算,更新了现有模型的转移概率表。
然后处理前进至步骤S125,其中参数更新单元204基于插值标记序列数据,对状态节点中的每一个来确定对应于状态节点的三维数据是否为插值数据。
在步骤S125中确定对应于状态节点的三维数据不是插值数据(实际数据)的情况下,对其状态节点执行下一个步骤S126的处理。另一方面,在步骤S125中确定对应于状态节点的三维数据是插值数据的情况下,跳过步骤S126的处理。
在步骤S126中,参数更新单元204更新现有模型的概率分布的中心值xhmm.mu和分布值xhmm.sigma2。
通常来说,在现有模型中出现M个状态节点si并且其平均值为μsi的情况下,当添加了被识别为第(M+1)个状态节点si的新样本xM+1时,在更新前的平均值μsi (M)和更新后的平均值μsi (M+1)之间存在关系。
[公式.24]
&mu; s i ( M ) = 1 M &Sigma; i = 1 M x i ... ( 33 )
&mu; s i ( M + 1 ) = 1 M + 1 &Sigma; i = 1 M + 1 x i = 1 M + 1 ( M &times; &mu; s i ( M ) + x M + 1 ) ... ( 34 )
在表达式(33)和表达式(34)中,右上角带圆括号的字母表示状态节点si的出现次数。
因此,如图49所示,参数更新单元204将具有M行D列的中心值表中的每一行的元素乘以在上述步骤S124中更新状态频率xhmm.cnt_all(i)之前的最后一个状态频率xhmmOLD.cnt_all(i)(i=1,…,M)。因此,在进行步骤S124的处理之前,必须将最后一个状态频率xhmmOLD.cnt_all(i)存储在预定的位置处。
接着,参数更新单元204将用作为新样本xM+1的已知移动历史数据(三维数据而不是插值数据中的每一个)添加到与对应于新样本xM+1的状态节点对应的中心值表的行中。
此外,参数更新单元204用具有M行D列的中心值表中的每一行中的元素除以在以上提及的步骤S124中更新的状态频率xhmm.cnt_all(i)。到此,现有模型的概率分布的中心值xhmm.mu的更新结束。
另一方面,在现有模型中出现M个状态节点si、其平均值为μsi并且其分布值为σsi 2的情况下,当添加了被识别为第(M+1)个状态节点si的新样本xM+1时,在更新前的平均值σsi 2(M)和更新后的平均值σsi 2(M+1)之间存在关系。
[公式.25]
&sigma; s i 2 ( M ) = 1 M &Sigma; i = 1 M x i 2 - ( &Sigma; s i ( M ) ) 2 ... ( 35 )
&sigma; s i 2 ( M + 1 ) = 1 M + 1 &Sigma; i = 1 M + 1 x i 2 - ( &mu; s i ( M + 1 ) ) 2 = M &times; { &sigma; s i 2 ( M ) + ( &mu; s i ( M ) ) 2 } + X M + 1 2 M + 1 - ( &mu; s i ( M + 1 ) ) 2 ... ( 36 )
在表达式(35)和表达式(36)中,右上角带圆括号的字母表示状态节点si的出现次数。
因此,参数更新单元204给具有M行D列的分布值表的每一行中的元素加上在更新现有模型的概率分布的中心值xhmm.mu前的最后一个中心值xhmmOLD.mu的平方(i=1,…,M)。因此,在进行以上提及的更新之前,还必须将最后一个中心值xhmmOLD.mu存储在预定的位置处。
接着,参数更新单元204用最后一个状态频率xhmmOLD.cnt_all(i)乘以加上了最后一个中心值xhmmOLD.mu的平方之后的具有M行D列的分布值表的每一行中的元素。
图50示出了乘以状态频率xhmmOLD.cnt_all(i)之后的分布值表。
此外,参数更新单元204给与对应于新样本xM+1的状态节点相对应的中心值表中的行加上用作为新样本xM+1的已知移动历史数据(三维数据而不是插值数据中的每一个)的平方。
最后,参数更新单元204用具有M行D列的中心值表的每一行中的元素除以在以上提及的步骤S124中更新的状态频率xhmm.cnt_all(i),并且还从中减去更新后的中心值xhmm.mu(i)的平方。到此,现有模型的概率分布的分布值xhmm.sigma2的更新结束。
然后处理前进至步骤S127,其中参数更新单元204将更新后的现有模型的参数输出到新模型连接单元203和更新模型组织单元205。具体地,输出初始概率xhmm.pi、时间序列数据个数xhmm.seq_cnt、转移概率xhmm.a、状态频率xhmm.cnt_all以及更新的现有模型的概率分布的中心值xhmm.mu和分布值xhmm.sigma2。到此,参数更新处理结束。
如以上所述,对于参数更新处理,关于已知移动历史数据的数据缺失部分(插值数据),仅存在如下事实:经过了其路线(现有模型的时间序列数据个数xhmm.seq_cnt),并且更新了状态节点的转移参数(转移概率xhmm.a、状态频率xhmm.cnt_all)。换言之,关于已知移动历史数据的数据缺失部分(插值数据),不更新状态节点的概率分布参数(中心值xhmm.mu和分布值xhmm.sigma2)。这是因为插值数据具有偏离实际路线的高概率。因此,可以防止对于移动历史数据的状态节点的概率分布参数的可靠性的劣化,使得至少一次获取实际数据,但是在某些条件下此时不获取实际数据。
[学习主处理器23的总体处理]
接着,将参照图51中的流程图来描述学习主处理器23的总体学习主处理。
首先,在步骤S141中,学习主处理器23获取从学习预处理器22(图1)提供的移动历史数据、以及从用户模型参数存储单元12(图1)提供的现有模型的参数。通过第一已知/未知确定单元201获取移动历史数据,并且通过第一已知/未知确定单元201、新模型连接单元203以及参数更新单元204来获取现有模型的参数。
在步骤S142中,第一已知/未知确定单元201进行已知/未知确定处理来确定所提供的移动历史数据是否是已知路线的移动历史数据。
参照图21至图29所述,对于已知/未知确定处理,通过使用其中将未知状态节点添加到现有模型的状态节点中的未知状态添加模型进行维特比估计以及通过使用已知和未知的双状态模型进行维特比确定来进行已知或者未知确定。
对于已知/未知确定处理,在确定提供的移动历史数据为已知的情况下,将提供的移动历史数据和插值标记序列数据、以及作为与其对应的状态节点的时间序列数据的节点序列数据提供给参数更新单元204。另一方面,对于已知/未知确定处理,在确定提供的移动历史数据为未知的情况下,将提供的移动历史数据提供给新模型生成单元202。而且,在未知移动历史数据被连接至已知状态节点(路线)的情况下,还将连接目的地的状态节点提供给新模型生成单元202。
在步骤S142中确定提供的移动历史数据为已知的情况下,处理前进至步骤S143,其中参数更新单元204基于已知移动历史数据、节点序列数据及与其对应的插值标记序列数据进行参数更新处理以更新现有模型的参数。具体地,进行参照图44至图50所描述的处理。
另一方面,在步骤S142中确定提供的移动历史数据为未知的情况下,处理前进至步骤S144,其中新模型生成单元202进行新模型生成处理以生成对应于未知移动历史数据的新模型。换言之,新模型生成单元202获取表达了未知移动历史数据的新模型的参数。新模型生成处理具体为参照图30至图36所描述的处理。
在步骤S145中,新模型连接单元203连接现有模型和新模型,并且进行拓扑更新处理以生成通过将未知移动历史数据结合到所学习的现有模型而完成的拓扑更新模型。具体地,新模型连接单元203进行参照图37至图43所描述的处理。
在步骤S143或者步骤S145的处理之后,在步骤S146中更新模型组织单元205删除不具有从另一状态节点的转移以及仅为自转移的状态节点,由此组织参数更新模型或者拓扑更新模型。更新模型组织单元205将组织后的更新模型的参数提供给学习后处理器24和用户模型参数存储单元12,并且处理结束。
[目的地和路线点检测器25的处理]
接着,将参照图52来描述学习模块11(图1)的目的地和路线点检测器25的处理。
如以上所述,学习主处理器23将用于划分移动历史数据的处理后、用于线性插值的处理后、移动属性识别处理后等的移动历史数据取作用于学习的数据来学习用户活动模型的参数。然后学习后处理器24使用通过学习获取的参数来生成对应于移动历史数据的状态序列数据。
图52中的A示出了在通过学习预处理器22进行移动历史数据的划分和保持之后、具有图8的底层示出的移动属性的移动历史数据83A和移动历史数据83B。
图52中的B是示出了具有图8的底层示出的移动属性的移动历史数据83A和移动历史数据83B以及连同对应的状态序列数据的图。
s1,s2,…,sk,…,st的状态序列节点对应于具有移动属性的移动历史数据83A。st+1,st+2,…,sT的状态序列节点对应于具有移动属性的移动历史数据83B。
目的地和路线点检测器25检测与处于具有移动属性的一批移动历史数据的最后“停留状态(u)”的三维数据对应的状态节点,并且给其添加目的地属性。在图52中的B的示例的情况下,将目的地属性添加至具有移动属性的移动历史数据83A的状态节点st,以及具有移动属性的移动历史数据83B的状态节点sT。状态节点st和状态节点sT二者都为其中停留状态持续了停留阈值时间或者更长的状态节点。这样,通过目的地和路线点检测器25将对应于其中停留状态持续了停留阈值时间或者更长的移动历史数据的状态节点估计为目的地。
注意的是,对于参照图8所描述的划分处理,将等于或者长于划分的移动历史数据的最后停留阈值时间的多个“移动状态”减少为一个“停留状态”。然而,对于划分处理,还可以删除所有的等于或者长于划分的移动历史数据的最后停留阈值时间的多个“移动状态”。当使用图52中的A的示例对其描述时,可以省略具有移动属性的移动历史数据83A和移动历史数据83B中的每一个的最后“停留状态(u)”的三维数据。在这种情况下,目的地和路线点检测器25将目的地属性添加至与具有移动属性的一批移动历史数据的最后三维数据对应的状态节点。当使用图52中的B的示例对其描述时,必须将具有移动属性的移动历史数据83A的状态节点st前面一个的状态节点st-1、以及具有移动属性的移动历史数据83B的状态节点sT前面一个的状态节点sT-1取作目的地。
目的地和路线点检测器25还检测与具有移动属性的一批移动历史数据的中间的处于“停留状态(u)”的三维数据对应的状态节点,并且对其添加路线点属性。具体地,将与其中处于停留状态的持续时间短于停留阈值时间的移动历史数据对应的状态节点估计为路线点。当使用图52中的B的示例对其描述时,将具有移动属性的移动历史数据83A的状态节点sk确定为路线点。
注意的是,当移动方式改变时,目的地和路线点检测器25还将路线点属性添加至变化前的最后状态节点sh,如图52中的C所示。
[学习模块11的处理]
将参照图53中的流程图来描述学习模块11的总体处理。
首先,在步骤S241中,历史数据累积单元21将从传感器设备提供的移动历史数据累积为用于学习的数据。
在步骤S242中,学习预处理器22执行参照图19所描述的学习预处理。具体地,学习预处理器22进行连接并划分在历史数据累积单元21中所累积的移动历史数据的处理,进行数据缺失部分的线性插值处理,进行移动属性如“停留状态”或者“移动状态”的添加等。
在步骤S243中,学习主处理器23执行参照图51所描述的学习主处理。具体地,学习主处理器23确定提供的用户移动历史数据为已知的还是未知的,并且根据确定结果来更新用作为用户活动模型的HMM的参数。就被提供的未知移动历史数据而言,存在获取的其中拓扑被与移动范围的扩展一致完成的HMM的参数。将通过学习主处理获取的用户活动模型的参数提供给学习后处理器24和用户模型参数存储单元12,并且存储在用户模型参数存储单元12中。
在步骤S244中,学习过处理器24使用通过学习获取的参数来表达的用户活动模型,生成对应于移动历史数据的节点序列数据。
在步骤S245中,目的地和路线点检测器25将目的地属性添加至与具有移动属性的移动历史数据对应的状态序列节点的预定的状态节点。更具体地,目的地和路线点检测器25将目的地属性添加至与其停留状态持续了停留阈值时间或者更长时间的移动历史数据相对应的状态节点。
在步骤S246中,目的地和路线点检测器25将路线点属性添加至与具有移动属性的移动历史数据对应的状态序列节点的预定的状态节点。更具体地,目的地和路线点检测器25将路线点属性添加至与其停留状态的持续时间短于停留阈值时间的移动历史数据相对应的状态节点。
在步骤S247中,目的地和路线点检测器25将关于添加至状态节点中的目的地或者路线点属性的信息存储在用户模型参数存储单元12中,并且处理结束。
[预测预处理器32的配置示例]
接着,将描述预测模块13进行的处理。
图54是示出了预测预处理器32的详细配置示例的框图。
预测预处理器32配置有预测数据预处理器301和预测数据生成单元302。预测数据预处理器301由数据划分单元311和异常数据移除单元312组成,并且预测数据生成单元302由插值处理单元313、移动属性识别添加单元314以及虚拟误差生成单元315组成。
与通过学习预处理器22的数据连接/划分单元71进行的划分处理一样,在数据缺失等于或者长于缺失阈值时间的情况下,数据划分单元311划分其前面和后面的所获取的移动历史数据。注意的是,缺失阈值时间不一定必须与在数据连接/划分单元71处设定的缺失阈值时间相同。
与学习预处理器22的异常数据移除单元72一样,异常数据移除单元312进行移除所获取的移动历史数据中明显异常的数据的处理。
与学习预处理器22的重采样处理单元73一样,插值处理单元313进行以适合随后阶段的处理单元(预测主处理器33等)的一定的时间间隔对移动历史数据的重采样。
而且,在数据缺失部分包括在获取的移动历史数据的情况下,插值处理单元313进行插值该部分的插值处理。这里,存在两种数据缺失部分:(1)在目前可以正常获取数据并且缺失过去的预定时间段的数据的情况;以及(2)在目前无法获取数据并且未获取数据已经持续了包括当前时间的预定时间段的情况。
(1)在目前可以正常获取数据的情况下,与学习预处理器22的重采样处理单元73一样,插值处理单元313根据表达式(1)中的线性插值对过去的预定时间段的数据缺失部分进行插值处理。
另一方面,(2)在目前无法获取数据的情况下,假定(获取的最后一个)三维数据紧接在缺失之前持续,插值处理单元313进行插值包括当前时间的数据缺失部分的处理。具体地,在紧接在数据缺失之前的时间点T1时的三维数据为xreal T1的情况下,插值处理单元313通过下列表达式(37)生成从下一时间点T1+1到当前时间点t的每一个三维数据。
xvirtual t=xvirtual T1+1=xreal T1··········(37)
注意的是,作为用于包括当前时间的数据缺失部分的插值处理,显然除了以上提及的保持插值以外,还可以存在通过其他处理如其中使用对通过传感器设备获取的数据的跟踪的外插、滤波(卡尔曼滤波)等获取的插值数据。
与学习预处理器22的重采样处理单元73一样,插值处理单元313还生成插值标记序列数据,该插值标记序列数据是插值标记的时间序列数据,指明组成移动历史数据的每一个三维数据是否是通过插值处理生成的插值数据。
移动属性识别添加单元314进行与学习预处理器22的移动属性识别添加单元74相同的处理。具体地,移动属性识别添加单元314识别关于获取的移动历史数据的每一个三维数据的“停留状态”或者“移动状态”的移动属性,并且将其添加。对于“移动状态”的移动属性,还可以进一步识别移动方式(小汽车、公共汽车、火车、步行等)。
虚拟误差生成单元315针对插值处理单元313的插值处理所生成的插值数据计算虚拟误差et
更具体地,对于(1)不包括当前数据的过去的预定时间段的数据缺失部分,虚拟误差生成单元315通过以上提及的表达式(8)计算虚拟误差et
另一方面,对于(2)包括了当前数据的数据缺失部分,不存在表达式(8)中的在数据恢复后紧接的时间点T2时的三维数据xreal T2,因此不能通过表达式(8)获取虚拟误差et
因此,虚拟误差生成单元315使用根据从数据缺失起的经历时间的预定函数来计算虚拟误差et。至于根据经历时间的预订函数,例如,可以使用以每个单元时间增加特定的幅值的函数,或者使用以每个单元时间增加固定的幅值直到从获取插值数据起的预定的时间、并且此后变成固定值的函数。
可以通过例如下列表达式(38)获取虚拟误差et,该虚拟误差et以固定幅值增加,直到从获取插值数据起的预定时间段,并且此后变成固定值。
[公式.26]
e t = { &gamma; ( t - T 1 ) T 1 < t < T 1 + T B &gamma; &CenterDot; T B T 1 + T B &le; t ... ( 38 )
表达式(38)中的TB是表示从获取插值数据起经历的时间的预定常数(固定值),并且γ是等价于每个单元时间的增量的系数。
注意的是,虚拟误差et还可以具有与从数据缺失起的经历时间无关的固定幅值。
虚拟误差生成单元315将插值处理后的移动历史数据、与其对应的插值标记序列数据(插值标记的时间序列数据)以及虚拟误差序列数据(虚拟误差的时间序列数据)输出到在随后阶段的预测主处理器33。
图55是当通过保持插值处理生成三维数据时虚拟误差et的图像图。
图55是其中传感器设备能够实际获取直到时间点tk时的数据并且数据在时间点tk+1时及此后缺失的情况的示例。
在这种情况下,在时间点tk+1时及此后的三维数据xk+1,xk+2,xk+3,xk+4,…被生成为与时间点tk时的三维数据xk相同的值,并且虚拟误差ek+1,ek+2,ek+3,ek+4,…随经历时间以固定幅值增加。因此,在数据缺失时及此后的用户的移动历史可以包括在虚拟误差的范围内。
图56概念性地示出了在插值处理后的移动历史数据及其对应的虚拟误差。
在图56中,在排列在两侧的两列中,左侧的列表示预测数据生成单元302进行插值处理后的移动历史数据,并且右侧的列表示计算出的用于其移动历史数据的虚拟误差序列数据。
在图56示出的两个虚线框中,上侧虚线框包围的从时间点t6到时间点t8的移动历史数据表示通过线性插值生成的插值数据。具体地,从时间点t6到时间点t8的三维数据是通过表达式(1)使用在数据缺失之前和之后的时间点t5和时间点t9的三维数据计算出的数据。通过表达式(8)计算与从时间点t6到时间点t8的三维数据对应的虚拟误差。
另一方面,在两个虚线框中,下侧的虚线框包围的从时间点tk+1到时间点tT的移动历史数据表示通过保持插值生成的插值数据。因此,从时间点tk+1到时间点tT的三维数据的经度和纬度(图56中的x、y)具有与紧接在数据缺失前的时间点tk时的三维数据的经度和纬度相同的值。通过例如表达式(38)等计算与从时间点tk+1到时间点tT的三维数据对应的虚拟误差。
注意的是,在通过插值处理生成的三维数据中,时间点与实际数据(在重采样之后)相同,并且因此,其虚拟误差为0。
顺便提及,在图56中的示例的情况下,将除插值数据之外的三维数据的虚拟误差设定为0。这是因为假定通过传感器设备获取的三维数据没有误差。
然而,还可以假定传感器设备自身具有误差。例如,GPS传感器的精度(位置精度)经常根据移动方式(小汽车、公共汽车、火车、步行等)而有所不同。具体地,在用户以“步行”或者以“自行车”的方式移动的情况下,用户带上的传感器设备被放在室外,并且因此,可以预期接收信号的信号质量为良好,并且误差很小。另一方面,在用户以“火车”或者以“小汽车”的方式移动的情况下,传感器设备在火车或者小汽车(室内)中,并且因此,捕获卫星的状态较差,并且信号质量较差,误差也增大。
因此,在通过移动属性识别添加单元314识别出每一种移动方式(小汽车、公共汽车、火车、步行等)的“移动状态”的情况下,还可以将根据移动方式的虚拟误差et设定给除插值数据之外的三维数据。例如,可以作出这样的布置,其中在移动属性为“移动状态”并且移动方式为“步行”或者“自行车”的情况下,将虚拟误差et设定为“10m”,并且在移动方式为“火车”或者“汽车”的情况下,将虚拟误差et设定为“50m”。
图57是在根据移动方式来设定虚拟误差et的情况下的图像图。
在图57中,白色星标(☆)表示通过传感器设备获取的三维数据,并且围绕其的圆圈表示根据移动方式通过虚拟误差生成单元315设定的虚拟误差。将大于其中将移动方式识别为“步行”的三维数据的虚拟误差的虚拟误差设定给其中将移动方式识别为“火车”的三维数据。
[预测数据生成处理]
图58是在根据移动方式设定虚拟误差的情况下、通过预测数据生成单元302进行的预测数据生成处理的流程图。
首先,在步骤S261中,插值处理单元313获取从预测数据预处理器301提供的用作为用于预测的数据的移动历史数据。仍存在包括在这里获取的移动历史数据中的数据缺失部分。
在步骤S262中,在获取的用于预测的数据中存在数据缺失部分的情况下,插值处理单元313对用于预测的数据的数据缺失部分进行插值处理。更具体地,插值处理单元313通过线性插值使用以上提及的表达式(1)对不包括当前时间的过去的预定时间段(预定的部分)的移动历史数据的数据缺失部分进行插值处理。另一方面,对于包括了当前时间的数据缺失部分,插值处理单元313使用(获取的最后的)紧接在数据缺失前的三维数据进行保持插值处理。而且,插值处理单元313还在插值处理的同时生成插值标记序列数据。
在步骤S263中,对于移动历史数据的每一个三维数据,移动属性识别添加单元314识别“停留状态”或者“移动状态”的移动属性,并且将其添加。而且,对于“移动状态”的移动属性,还识别移动方式(小汽车、公共汽车、火车、步行等),并且添加针对每一种移动方式的移动属性。
根据步骤S262和步骤S263中的处理,生成对应于提供的移动历史数据的表示移动历史数据是否是插值数据的插值标记序列数据、以及表示移动属性的移动属性序列数据,并且连同插值处理后的移动历史数据一起提供给虚拟误差生成单元315。
在步骤S264中,虚拟误差生成单元315保护用于与插值处理后的移动历史数据对应的虚拟误差序列数据的存储器,并且生成虚拟误差序列数据。对于这里生成的虚拟误差序列数据,将用作为初始值的“0”设定给所有的虚拟误差。
注意的是,被保护为用于虚拟误差序列数据的存储器的数量,在将虚拟误差单独设定给插值数据的情况下等于插值数据的个数,并且在也设定移动方式的虚拟误差的情况下等于移动历史数据的三维数据的个数。
在步骤S265中,虚拟误差生成单元315将根据移动方式如“步行”或者“火车”等的虚拟误差设定给虚拟误差序列数据。具体地,虚拟误差生成单元315包括其中存储了针对每一种移动方式设定虚拟误差的移动方式虚拟误差表,并且参考移动方式虚拟误差表来根据移动属性序列数据表示的每一种移动方式,设定与虚拟误差序列数据对应的部分中的虚拟误差。
在步骤S266中,虚拟误差生成单元315将根据插值处理的虚拟误差设定给虚拟误差序列数据。具体地,虚拟误差生成单元315参考插值标记序列数据,计算在对应于插值数据的虚拟误差的部分处、在线性插值后的插值数据时的表达式(8)中的虚拟误差,并且计算在保持插值后的插值数据时的表达式(38)等中的虚拟误差,并且将这些添加。
在步骤S267中,虚拟误差生成单元315将插值处理后的移动历史数据、以及与其对应的插值标记序列数据和虚拟误差序列数据输出到随后阶段的预测主处理器33,并且处理结束。
对于以上提及的处理,尽管描述了其中在步骤S266中简单添加根据移动方式的虚拟误差和根据插值处理的虚拟误差的示例,但是可以通过计算而不是简单添加来组合根据移动方式的虚拟误差和根据插值处理的虚拟误差。例如,可以将根据移动方式的虚拟误差的平方和根据插值处理的虚拟误差的平方的和的平方根所获取的值取作最终的虚拟误差。
注意的是,对于学习模块11的学习主处理器23的第一已知/未知确定单元201,在还考虑虚拟误差时获取观测概率P(ot,et|si)的情况下,不仅可以包括根据插值处理的虚拟误差,而且还可以包括以上所述的根据移动方式的虚拟误差。
[预测主处理器33的处理]
接着,将描述通过预测主处理器33进行的处理。
图59是示出了预测主处理器33的详细配置示例的框图。
预测主处理器33配置有当前点节点估计单元331、第三已知/未知确定单元332、目的地和路线点预测单元333以及未知状态处理单元334。
将从预测预处理器32提供的移动历史数据和虚拟误差序列数据、通过学习模块11的学习获取的用户活动模型(的参数)提供给当前点节点估计单元331、第三已知/未知确定单元332以及目的地和路线点预测单元333中的每一个。
当前点节点估计单元331使用从预测预处理器32提供的移动历史数据和虚拟误差、以及通过学习模块11的学习获取的用户活动模型来估计对应于用户的当前位置的状态节点(当前点节点)。
将维特比算法用于节点序列数据的计算,但是与第一已知/未知确定单元201的状态节点估计单元223一样,对于移动历史数据的插值数据部分,使用在以上提及的表达式(7)中考虑到虚拟误差的观测概率P(ot,et|si)。也就是说,对于插值数据部分,使用与实际数据相比数据的贡献更小的观测概率。因此,与第一已知/未知确定单元201的状态节点估计单元223一样,即使当插值数据实际上极大地远离对应的状态节点si的中心μi时,也可以估计关于数据缺失部分的最大似然状态转移。
注意的是,即使当数据缺失部分包括在获取的移动历史数据时,本发明也能用于使状态节点估计不崩溃地进行,也就是说,用于使当前点节点的估计进行。就此而言,在即使对数据缺失部分的状态节点进行估计的情况下,也必须计算观测概率。换言之,即使对不生成插值数据和虚拟误差的方法,也必须计算观测概率。
因此,例如,对于移动历史数据的插值数据部分,可以使用通过下列表达式(39)表示的观测概率(ot|si)代替在表达式(7)中考虑了虚拟误差的观测概率P(ot,et|si)。
[公式.27]
P ( o t | s i ) = 1 M ... ( 39 )
表达式(39)是假定对于所有状态节点、状态节点si的观测概率与状态节点的参数(μii)和插值数据的值无关并且相等的最简单的观测概率生成方法。在这种情况下,不是必须生成插值数据和虚拟误差,关于已经进行插值的信息,即,插值标记序列数据必须从预测预处理器32单独提供。
与学习主处理器23的第一已知/未知确定单元201一样,第三已知/未知确定单元332确定对应于用户当前位置的状态节点是已知的还是未知的。注意的是,第三已知/未知确定单元332与学习主处理器23的第一已知/未知确定单元201的区别在于不提供已知/未知后处理器227,但是除了这一点外具有相同的配置。
在对应于当前位置的状态节点为已知的情况下,第三已知/未知确定单元332将其结果提供给目的地和路线点预测单元333。另一方面,在对应于当前位置的状态节点为未知的情况下,第三已知/未知确定单元332将其结果提供给未知状态处理单元334。
目的地和路线点预测单元333计算可以由当前点节点改变到被确定为已知的节点序列及其发生概率。具体地,目的地和路线点预测单元333计算从当前点节点到目的地的状态节点(目的地节点)的节点序列,及其发生概率。注意的是,路线点的节点可以包括在到目的地的状态节点的节点序列(路线)中,并且因此,预测主处理器33还与目的地同步地预测路线点。
目的地和路线点预测单元333将用作为预测结果的到目的地的路线(节点序列)输出到预测后处理器34(图1)。
另一方面,在当前点节点为未知的情况下进行处理的未知状态处理单元334执行未知状态对应处理,比如输出如“这是个未知状态”等的错误信息。
如以上所述,预测主处理器33被配置为在估计当前点节点之后使用第三已知/未知确定单元332进行当前点节点的已知/未知确定,并且仅在已知情况时进行目的地预测。
即使用户正在经过完全第一次的路线并且当前状态节点是未知的,使用通过学习模块11的学习所获取的随机状态转移模型进行估计的当前点节点估计单元331也可以输出估计结果。然而,对于处于未知状态的状态节点,难以精确地预测其未来。
[当前点节点及此后的树型搜索处理]
接着,将对搜索从当前点节点起可到达的目的地节点及其路线的处理(当前点节点及此后的树型搜索处理)作出描述,目的地和路线点预测单元333在确定当前点节点是已知的情况下进行该处理。
在由可以从当前点节点变化到的节点组成的树型结构中,存在有可到达的目的地节点。因此,可以通过从组成树的状态节点中搜索目的地节点来预测目的地。而且,对于当前点节点及此后的树型搜索处理,在检测到其中路线点属性被添加的状态节点(在下文中,称为路线点节点)的情况下,还存储到路线点的路线。
通过学习获取的HMM的状态si表示地图上的预定点(位置),并且当状态si和状态sj被连接时,可以设想这表示从状态si到状态sj移动的路线。
在这种情况下,可以将对应于状态si的点分类为终点、经过点、分支点以及回路中的一个。终点是具有比自转移的概率小得多的概率(不同于自转移的概率等于或者小于预定值)并且下次没有移动点的点。经过点是具有不同于自转移的一个有意义的转移的点,换言之,下一次具有一个可移动点的点。分支点是具有不同于自转移的两个或更多个有意义的转移的点,换言之,具有两个或更多个可移动点的点。回路是与至今经过的路线中的任何一个一致的点。
在搜索到目的地的路线的情况下,当存在不同路线时,期望呈现关于每一条路线的信息如所需时间等。因此,为了搜索正好足够可用的路线,设定下列条件。
(1)将分支一次的路线认为是另一条路线,即使连在一起。
(2)当搜索的路线到达分支点时创建未搜索过的列表,并且进行未搜索列表的分支目的地的搜索。
(3)当终点或者回路出现在路线内时,其路线的搜索结束。注意的是,在从当前点再次返回到最后一个点的情况下,其包括在回路内。
图60是通过预测主处理器33的目的地和路线点预测单元333进行的当前点节点及此后的树型搜索处理的流程图。
对于图60中的处理,首先,在步骤S281中,目的地和路线点预测单元333获取通过预测主处理器33的当前点节点估计单元331估计的当前点节点,并且将其设定为作为待被观测的感兴趣的节点。
在步骤S282中,目的地和路线点预测单元333确定感兴趣的节点是否具有转移目的地。在步骤S282中确定感兴趣的节点没有转移目的地的情况下,处理前进至后面描述的步骤S291。
另一方面,在步骤S282中确定感兴趣的节点具有转移目的地的情况下,处理前进至步骤S283,其中目的地和路线点预测单元333确定转移目的地是否是目的地节点。
在步骤S283中确定转移目的地是目的地节点的情况下,处理前进至步骤S284,其中目的地和路线点预测单元333在内部存储器的搜索结果列表中存储迄今为止的路线(状态节点序列)。在步骤S284之后,处理前进至步骤S291。
另一方面,在步骤S283中确定转移目的地不是目的地节点的情况下,处理前进至步骤S285,其中目的地和路线点预测单元333确定转移目的地是否是路线点节点。
在步骤S285中确定转移目的地是路线点节点的情况下,处理前进至步骤S286,其中目的地和路线点预测单元333在内部存储器的搜索结果列表中存储迄今为止的路线(状态节点序列)。
为了将代表路线、可到达的概率以及直至目的地的所需时间输出为预测结果,必须仅将当转移目的地是目的地时的路线存储在搜索结果列表中。然而,当转移目的地是路线点时,还可以通过存储路线以在需要时立即获取路线、概率以及直至路线点的时间。
在步骤S285中确定转移目的地不是路线点节点的情况下,或者在步骤S286之后,处理前进至步骤S287,其中目的地和路线点预测单元333确定转移目的地是否是分支点。
在步骤S287中确定转移目的地是分支点的情况下,处理前进至步骤S288,其中目的地和路线点预测单元333在内部存储器的未搜索列表中存储(添加)分支目的地的两个状态节点。在步骤S288后,处理前进至步骤S291。注意的是,在分支目的地是搜索的路线中的任何一个状态节点的情况下,其变成回路,并且因此,目的地和路线点预测单元333不将其分支目的地的状态节点存储在未搜索列表中。
在步骤S287中确定转移目的地不是分支点的情况下,处理前进至步骤S289,其中目的地和路线点预测单元333确定转移目的地是否是终点。在步骤S289中确定转移目的地是终点的情况下,处理前进至步骤S291。
另一方面,在步骤S289中确定转移目的地不是终点的情况下,处理前进至步骤S290,其中目的地和路线点预测单元333将转移目的地的状态节点设定为感兴趣的节点,并且处理返回至步骤S282。具体地,在转移目的地不是目的地节点、路线点节点、分支点以及终点中的任一个的情况下,将待搜索的状态取作转移目的地的下一个状态节点。
在步骤S284、步骤S288或者步骤S289中的处理之后,在处理前进至步骤S291的情况下,目的地和路线点预测单元333确定是否存在在未搜索列表中登记的状态节点,也就是说,是否存在未搜索的分支目的地。
在步骤S291中确定存在未搜索的分支目的地的情况下,处理前进至步骤S292,其中目的地和路线点预测单元333将未搜索列表中顶部的分支目的地的状态节点设定为感兴趣的节点,并且读取到感兴趣的节点的路线。然后处理返回至步骤S282。
另一方面,在步骤S291中确定不存在未搜索的分支目的地的情况下,树型搜索处理结束。
如以上所述,对于树型搜索处理,在由可以从用户的当前点节点变化到的状态节点组成的树型结构的情况下,以当前点节点作为起点,进行搜索所有的状态节点的处理,直到状态节点到达不具有转移目的地的目的地节点或者终点节点(终点)。将从用户的当前位置到目的地的路线存储在搜索结果列表中,作为从当前点节点开始的状态节点序列。注意的是,对于树型搜索处理,可以进行搜索直到搜索次数满足用作为结束条件的预定次数。
[树型搜索结果的示例]
将参照图61来进一步描述目的地和路线点预测单元333的树型搜索处理。
在图61中的示例的情况下,在状态si是当前位置的情况下,将搜索至少下列三个路线。第一路线是从状态s1经由状态s5、状态s6等到状态s10的路线(在下文中,也称为路线A)。第二路线是从状态s1经由状态s5、状态s11、状态s14、状态s23、状态s29等到状态s26的路线(在下文中,也称为路线B)。第三路线是从状态s1经由状态s5、状态s11、状态s19、状态s23、状态s29等到状态s26的路线(在下文中,也称为路线C)。
目的地和路线点预测单元333计算每一个搜索到的路线将被选择的概率(路线的选择概率)。通过依次对组成路线的状态之间的转移概率做乘法来获取路线的选择概率。然而,仅考虑变化到下一状态的情况,而且不用必须考虑停留在其地点的情况,并且因此,根据通过学习获取的每一个状态的状态转移概率aij使用除自转移概率之外的归一化的转移概率[aij]来获取路线的选择概率。
可以用下列表达式(40)来表示除自转移概率之外的归一化的转移概率[aij]。
[公式.28]
&lsqb; a i j &rsqb; = ( 1 - &delta; i j ) a i j &Sigma; j = 1 N ( 1 - &delta; i j ) a i j ... ( 40 )
这里,δ表示克罗奈克(Kronecker)函数,它是仅在下标i和j相同时变成1并且除此之外变成0的函数。
因此,例如,在图61中的状态s5的状态转移概率aij是自转移概率a5,5=0.5、转移概率a5,6=0.2以及转移概率a5,11=0.3的情况下,在从状态s5分支到状态s6或状态s11的情况下,转移概率[a5,6]和转移概率[a5,11]分别变成0.4和0.6。
当搜索到的路线的状态si的节点数i为(y1,y2,…,yn)时,可以使用归一化的转移概率[aij]按照下面的表达式(41)来表示该路线的选择概率。
[公式.29]
P ( y 1 , y 2 , ... , y n ) = &lsqb; a y 1 y 2 &rsqb; &lsqb; a y 2 y 3 &rsqb; ... &lsqb; a y n - 1 y n &rsqb; = &Pi; i = 1 n - 1 &lsqb; a y i - 1 y i &rsqb; ... ( 41 )
注意的是,实际上,在通过点处归一化的转移概率[aij]为1,并且因此,路线的选择概率足够来依次对在分支时归一化的转移概率[aij]做乘法。因此,目的地和路线点预测单元333可以在执行图60中的树型搜索处理的同时使用表达式(41)同步地计算选择路线的选择概率。
在图61中的示例的情况下,路线A的选择概率为0.4。而且,路线B的选择概率为0.24=0.6×0.4。路线C的选择概率为0.36=0.6×0.6。路线的计算出的选择概率的和为1=0.4+0.24+0.36,并且因此发现可以实现正好足够的搜索。
在图61中的示例的情况下,从当前位置的状态s1开始依次前进到感兴趣的节点,并且当状态s4是感兴趣的节点时,转移目的地的状态s5是分支点,由此执行图60中的步骤S288,并且如图62中的A所示,将分支目的地的状态s11和状态s6存储在未搜索列表中。这里,对于状态s11和状态s6,状态s11的选择概率较高,并且因此,将状态s11存储在未搜索列表的较高位中。
然后执行图60中的步骤S291和步骤S292,将存储在未搜索列表的较高位的状态s11设定为感兴趣的节点,并且搜索状态s11及此后的路线。当将状态s11设定为感兴趣的节点时,如图62中的B所示,从未搜索列表中删除状态s11
在将状态s11作为感兴趣的节点前进搜索时,检测到状态s14和状态s19的分支目的地,由此,执行图60中的步骤S288,将状态s14和状态s19存储在未搜索列表中。此时,将状态s14和状态s19存储在当前的未搜索列表的较高位中,并且在状态s14和状态s19中,状态s19的选择概率较高,将状态s19存储在比状态s14更高的位上。因此,未搜索列表变成图62中的C所示的那样。
接着,类似地,执行图60中的步骤S291和步骤S292,将存储在未搜索列表的较高位的状态s19设定为感兴趣的节点,并且搜索状态s19及此后的路线。当将状态s19设定为感兴趣的节点时,如图62中的D所示,从未搜索列表中删除状态s19
如以上所述,对于目的地和路线点预测单元333的树型搜索处理,将检测到的分支目的地记录在未搜索列表的较高位上,由此对在分支目的地路线中具有较高的选择概率的分支目的地路线,通过深度优先算法对第一搜索执行处理。
注意的是,可以设想针对所有的分支目的地路线来说较难,归因于搜索的深度变深,换言之,在当前点节点作为最高位的情况下,较低位的层次变深。在这样的情况下,可以通过在其中间添加这样的条件来结束搜索:(1)搜索不到具有较低的转移概率的分支目的地,(2)搜索不到具有较低发生概率的路线,(3)对搜索的深度施加限制,(4)例如,对于待搜索的分支数施加限制。
图63示出了树型搜索处理中的搜索结果列表的示例。
用深度优先算法通过进行树型搜索处理在搜索结果列表中依次登记具有较高选择概率的路线。
在图63中的示例的情况下,在搜索结果列表的第一个中登记到目的地g1的路线R1(r1,r2,r3,r4),将选择该路线R1的概率为P1,并且使用路线R1到目的地g1所花费的时间为T1。在搜索结果列表的第二个中登记到目的地g2的路线R2(r1,r2,r3,r5),将选择该路线R2的概率为P2,并且使用路线R2到目的地g2所花费的时间为T2。在搜索结果列表的第三个中登记到目的地g3的路线R3(r1,r2,r6),将选择该路线R3的概率为P3,并且使用路线R3到目的地g3所花费的时间为T3
在搜索结果列表的第四个中登记到路线点w2的路线R4(r1,r2,r7),将选择该路线R4的概率为P4,并且使用路线R4到路线点w2所花费的时间为T4。在搜索结果列表的第五个中登记到路线点w1的路线R5(r1,r8),将选择该路线R5的概率为P5,并且使用路线R5到路线点w1所花费的时间为T5
在搜索结果列表的第六个中登记到目的地g3的路线R6(r1,r8,w1,r8,r9),将选择该路线R6的概率为P6,并且使用路线R6到目的地g3所花费的时间为T6。在搜索结果列表的第七个中登记到目的地g2的路线R7(r1,r10,r11),将选择该路线R7的概率为P7,并且使用路线R7到目的地g2所花费的时间为T7
通过以上提及的表达式(41)计算每一个路线将被从目的地或者路线点中选择的概率。此外,在存在到目的地的多条路线的情况下,到目的地的多条路线的选择概率的和变成目的地的到达概率。
因此,在图63中的示例的情况下,为了到达目的地g2,存在使用路线R2的情况和使用路线R7的情况,并且因此,目的地g2的到达概率变成(P2+P7)。类似地,为了到达目的地g3,存在使用路线R3的情况和使用路线R6的情况,并且因此,目的地g3的到达概率变成(P3+P6)。注意的是,目的地g1的到达概率与选择路线R1的概率P1相同。
[预测后处理器34的处理]
接着,将描述通过预测后处理器34进行的处理。
将对于如何获取当以选择的到目的地或者路线点的路线移动时所花费的时间作出描述。
例如,可假定在当前的时间点t1时的当前位置为状态sy1,并且在时间点(t1,t2,…,tg)时确定的路线为(sy1,sy2,…,syg)。换言之,可以说确定的路线的状态si的节点序号i为(y1,y2,…,yg)。在下文中,为了简化描述,可以用其节点序号i表示等效于位置的状态si
通过当前点节点估计单元331确定在当前时间点t1时的当前位置y1,并且因此,在当前时间点t1时的当前位置将为y1的概率Py1(t1)为Py1(t1)=1。而且,在当前时间点t1时用户将在不同于y1的其他状态的概率为0。
另一方面,可以用下列表达式来表示在预定的时间点tn时用户将处于节点序号yn的概率Pyn(tn)。
[公式.30]
P y n ( t n ) = P y n ( t n - 1 ) a y n y n + P y n - 1 ( t n - 1 ) a y n - 1 y n ... ( 42 )
表达式(42)右侧的第一项表示在用户最初已经处于其位置yn并且进行了自转移的情况下的概率,右侧的第二项表示用户已经从上一位置yn-1变化到位置yn的概率。在表达式(42)中,不像路线的选择概率的计算,无变化地使用通过学习所获取的状态转移概率aij
当到达目的地yg时在时间点tg的预测值<tg>可以用用户在紧接在其前的时间点tg-1时处于目的地yg的前一位置的位置yg-1并且在时间点tg移动到目的地yg的概率表示,如下面的表达式所示。
[公式.31]
< t g > = &Sigma; t t g ( P x g - 1 ( t g - 1 - 1 ) a x g - 1 x g &Sigma; t P x g - 1 ( t g - 1 ) a x g - 1 x g ) ... ( 43 )
具体地,预测值<tg>用从当前时间点起到“在紧接在其前的时间点tg-1时停留在状态syg前一个状态的状态syg-1之后,在时间点tg时移动到状态syg时”的时间的期望值表示。
在这种情况下,通过以上提及的表达式(43)的预测值<tg>获取当使用选择的路线移动到预定的目的地或者路线点时的花费时间。
将对于其中在使用图63中的示例已经搜索到了到目的地的路线(选择其为代表路线)的情况下的代表路线选择处理作出描述。
在获取与图63中的搜索结果列表一样的情况下,根据具有较高选择概率的路线已经依次登记在搜索结果列表(的较高位)中,由此将其中搜索概率较高并且目的地不同的搜索结果列表中的第一个到第三个输出为预测结果。具体地,将目的地g1及其路线R1、目的地g2及其路线R2以及目的地g3及其路线R3选择为目的地及其代表路线。
接着,搜索结果列表的第四个和第五个是到目的地的路线,由此跳过它们,并且研究是否将搜索结果列表中的用于到达目的地g3的第六个路线R6取作代表路线。将该路线R6取作使用不包括在相同目的地g3的路线R3内的路线点w1的路线,已经选作为代表路线。因此,还将用于到达目的地g3的路线R6选作代表路线。
接着,研究是否确定用于到达目的地g2的路线R7,路线R7是搜索结果列表的第七个,待作为代表路线。与已经选出代表路线的相同的目的地g2一样,该路线R7是不经过预定路线点的路线。因此,不将用于到达目的地g2的路线R7选作代表路线。
这样,对于代表路线选择处理,在不提出通常经过相同路线的类似路线的情况下,即使有相同的目的地,也可以将经过不同路线点的路线作为预测结果,这被设想为对用户有利。
注意的是,在搜索结果列表中的第六个中,对于用于到达目的地g3的路线R6,用根据在[背景技术]中指出的在先申请2的方法搜索在路线点w1结束。然而,根据预测系统1,可以使用路线点w1来搜索用于到达目的地g3的路线,而不在路线点w1处结束。
根据预测系统1,可以通过对目的地和路线点进行分类来添加对应的属性到通过学习所获取的状态节点,以防止路上的路线点被预测为目的地。而且,在搜索到了到相同目的地的多条路线的情况下,不呈现通常经过相同的路线的类似路线,可以呈现经过不同路线点的路线,这被设想为对用户是有利的。
图64是通过预测后处理器34进行的代表路线选择处理的流程图。
首先,在步骤S301中,预测后处理器34从目的地和路线点预测单元333创建的搜索结果列表中排除到路线点的路线,并且生成作为单独包括目的地的搜索结果列表的目的地列表。
在步骤S302中,预测后处理器34将目的地列表变为其中按照目的地重新排列目的地列表的目的地-目的地列表。此时,预测后处理器34生成目的地-目的地列表以便于不改变具有相同目的地的顺序。
在步骤S303中,预测后处理器34计算针对每一个目的地的到达概率。在仅存在一条到目的地的路线的情况下,其路线的选择概率变成到达概率,并且在存在多条到目的地的路线的情况下,多个选择概率(发生概率)的和变成其目的地的到达概率。
在步骤S304中,预测后处理器34确定是否考虑用于代表路线的选择的路线点。在步骤S304中确定不考虑路线点的情况下,处理前进至步骤S305,其中预测后处理器34选择顶级(top-level)路线作为每一个目的地的代表路线,并且处理结束。其结果是,在存在多条到目的地的路线的情况下,将具有较高选择概率的到目的地的路线取作每一个目的地的代表路线,并且其所需时间被呈现为到目的地的所需时间。注意的是,在存在许多目的地的情况下,呈现预定个数的目的地的单独顶级路线。
另一方面,在步骤S304中确定考虑路线点的情况下,处理前进至步骤S306,其中预测后处理器34将目的地-目的地列表分类为不带路线点的目的地-目的地列表和带路线点的目的地-目的地列表。
在步骤S307中,预测后处理器34从不带路线点的目的地-目的地列表中按照目的地选择顶级路线作为代表路线。因此,针对每一个目的地确定不带路线点的目的地-目的地列表作为代表路线。
接着,在步骤S308中,预测后处理器34进一步按照路线点对带路线点的目的地-目的地列表进行分类。
在步骤S309中,预测后处理器34按照目的地从带路线点的目的地-目的地列表选择路线点的顶级路线作为代表路线。因此,针对每一个目的地确定带路线点的路线作为代表路线。其结果是,在存在不带路线点的路线和带路线点的路线作为到目的地的路线的情况下,将其二者取作针对每一个目的地的代表路线,并且呈现二者所需时间为到目的地的所需时间。
由此代表路线选择处理结束。这样,在存在多条到目的地的路线的情况下,代替呈现多个顶级发生概率,通过按照路线点对这些分类来呈现可以接近于用户实际感受到的预测。
[预测模块13的总体处理]
将参照图65中的流程图来描述预测模块13的总体处理。
首先,在步骤S321中,为了进行预测处理,缓冲单元31缓冲实时获取的移动历史数据(用于预测的数据)。
在步骤S322中,预测预处理器32执行预测预处理。具体地,预测预处理器32执行划分移动历史数据的处理、移除移动历史数据的明显异常数据的处理、以及对移动历史数据的数据缺失部分进行线性插值或者保持插值的插值处理。这里,还一同创建表示移动历史数据是否是通过插值处理获取的三维数据(插值数据)的插值标记序列数据、以及虚拟误差序列数据。然后预测预处理器32将插值处理后的移动历史数据、以及与其对应的插值标记序列数据和虚拟误差序列数据输出到预测主处理器33。
在步骤S323中,预测主处理器33从用户模型参数存储单元12获取通过学习模块11的学习所获取的用户活动模型的参数。可以在图65中的处理开始之前执行获取参数的该处理。
在步骤S324中,预测主处理器33的当前点节点估计单元331使用具有通过学习模块11的学习所获取的参数的用户活动模型来估计对应于用户的当前位置(当前点节点)的状态节点。更具体地,当前点节点估计单元331使用具有通过学习模块11的学习所获取的参数的用户活动模型来计算对应于移动历史数据的节点序列数据。计算出的节点序列数据的最后一个状态节点对应于当前点节点。
将维特比算法用于节点序列数据的计算,但是与第一已知/未知确定单元201的状态节点估计单元223一样,对于移动历史数据的插值数据部分,使用表达式(7)中的考虑了虚拟误差的观测概率P(ot,et|si)。因此,与第一已知/未知确定单元201的状态节点估计单元223一样,即使当插值数据较大地偏离了实际对应的状态节点si的中心μi时,也可以估计关于数据缺失部分的最大似然状态转移。而且,如以上所述,可以使用通过其中所有状态节点的观测概率相等的表达式(39)表示的观测概率(ot|si)。
在步骤S325中,第三已知/未知确定单元332执行已知/未知确定处理,以确定估计的当前点节点是已知状态还是未知状态。
更具体地,第三已知/未知确定单元332基本上具有与学习主处理器23的第一已知/未知确定单元201相同的配置,并且由此首先构建其中将一个未知状态节点添加到具有通过学习所获取的参数的用户活动模型的未知状态添加模型。接着,通过对未知状态添加模型执行维特比算法获取具有最大似然的状态序列节点,其中已经考虑了插值数据的虚拟误差。接着,通过将虚拟误差与单调递增的修正项(a+b·et)相乘来计算观测似然期望值L(t)',并且使用该观测似然期望值L(t)'进行已知/未知确定。
作为步骤S325中的已知/未知确定处理的结果,在确定当前点节点为未知的情况下,处理前进至步骤S326,其中第三已知/未知确定单元332将其确定结果提供给未知状态处理单元334。未知状态处理单元334执行未知状态对应处理,比如输出如“这是个未知状态”等的错误信息,并且处理结束。
另一方面,作为步骤S325中的已知/未知确定处理的结果,在确定当前点节点为已知的情况下,处理前进至步骤S327,其中第三已知/未知确定单元332将其确定结果提供给目的地和路线点预测单元333。在步骤S327中,目的地和路线点预测单元333执行参照图60所描述的当前点节点及此后的树型搜索处理。与树型搜索处理同步,还可以通过表达式(41)获取到目的地或者到路线点的路线(节点序列)的发生概率。
在步骤S328中,预测后处理器34执行参照图64所描述的代表路线选择处理。
在步骤S329中,预测后处理器34使用以上提及的表达式(43)计算每一个选择的代表路线的所需时间。
在步骤S330中,预测后处理器34输出代表路线、到达概率以及到预测的目的地的所需时间作为预测结果,并且处理结束。
如以上所述,对于预测模块13的处理,使用关于估计的目的地节点以及路线点节点和当前点节点的信息、以及用通过学习所获取的参数表达的用户活动模型,来搜索从用户的当前位置到目的地的路线。通过学习所获取的状态节点附加有目的地和路线点属性,并且因此,可以防止路线点被预测为目的地。
而且,通过学习所获取的状态节点附加有目的地和路线点属性,并且因此,即使对于到相同目的地的路线,也可以将不带路线点的路线和带路线点的路线输出作为代表路线。
此外,即使当包括实时获取的当前位置的移动历史数据中存在数据缺失部分时,预测模块13也可以使用保持插值处理来生成插值数据,并且设定虚拟误差。在状态节点序列的估计中,预测模块13可以通过使用针对插值数据设定的虚拟误差并且将与实际数据相比数据的贡献更小的观测概率用作为状态节点的观测概率,来获取与插值处理(没有归因于插值数据的崩溃)后的移动历史数据对应的状态节点序列。因此,可以估计等效于用户的当前位置的当前点节点,并且以及,可以获取从当前位置到目的地的路线。具体地,即使当实时获取的当前点数据中存在间断时,也可以预测当前位置和目的地。
[计算机的配置示例]
不仅可以通过硬件而且也可以通过软件来执行以上提及的一系列处理。在使用软件执行所述一系列处理的情况下,将组成其软件的程序安装到计算机。这里,计算机包括嵌入有专用硬件的计算机,或者例如通用个人计算机等,由此可以通过安装各种程序来执行各种功能。
图66是示出了使用程序执行以上提及的一系列处理的计算机的硬件的配置示例的框图。
对于计算机,通过总线414将CPU(中央处理单元)411、ROM(只读存储器)412以及RAM(随机存取存储器)相互连接。
此外,将输入/输出接口415连接至总线414。连接到输入/输出接口415的有输入单元416、输出单元417、存储单元418、通信单元419、驱动420以及GPS传感器421。
输入单元416包括键盘、鼠标、麦克风等。输出单元417包括显示器、扬声器等。存储单元418包括硬盘、非易失性存储器等。通信单元419包括网络接口等。驱动420驱动可移除存储介质422如磁盘、光盘、磁光盘、半导体存储器等。用作为以上提及的传感器设备的GPS传感器421输出由该时刻的时间点和当前位置(纬度和经度)的位置数据组成的三维数据。
对于这样配置的计算机,例如,通过CPU 411经由输入/输出接口415和总线414给RAM 413加载存储在存储单元418中的程序并且执行该程序,来进行以上提及的一系列的处理。
例如,可以通过记录在用作为包媒体(packaged medium)的可移动存储介质422等中来提供计算机(CPU 411)执行的程序。而且,可以经由线缆或者无线传输介质如局域网、互联网或者数字卫星广播来提供程序。
对于计算机,可以通过将可移动存储介质422安装到驱动420经由输入/输出接口415来将程序安装到存储单元418上。而且,可以经由线缆或者无线传输介质通过在通信单元419接收来将程序安装在存储单元418上。此外,可以事先将程序安装在ROM 412或者存储单元418上。
注意的是,对于本说明书,当然可以以遵循本说明书所描述次序的时间序列方式来执行流程图中描述的步骤,但在不需要以时间序列方式进行的情况下,所述步骤甚至可以以并行方式或者在所需定时处如进行调用时被执行等。
本说明书中提到的系统表示由多个设备组成的整个设备。
注意的是,本发明的实施方式不限于以上提及的实施方式,并且可以在不背离本发明的精神的情况下做出各种修改。
附图标记列表
1 预测系统
11 学习模块
13 预测模块
22 学习预处理器
23 学习主处理器
24 学习后处理器
25 目的地和路线点检测器
32 预测预处理器
33 预测主处理器
34 预测后处理器
73 重采样处理单元
201 第一已知/未知确定单元
223 状态节点估计单元
224 采样似然计算单元
302 预测数据生成单元
313 插值处理单元
314 移动属性识别添加单元
315 虚拟误差生成单元
331 当前点节点估计单元
332 第三已知/未知确定单元
333 目的地和路线点预测单元

Claims (6)

1.一种数据处理设备,包括:
学习装置,被配置成在要被获取作为用于学习的数据的用户的移动历史数据被表示为表示所述用户的活动的概率模型的情况下获取概率模型的参数;
目的地和路线点估计装置,被配置成估计在使用通过所述学习装置获取的所述参数的所述概率模型的状态节点中的与移动目的地和路线点等效的目的地节点和路线点节点;
预测数据生成装置,被配置成:获取在从现在起的预定时间段内的与所述用于学习的数据不同的所述用户的移动历史数据作为用于预测的数据;以及在所获取的所述用于预测的数据中包括有数据缺失部分的情况下,通过插值处理来生成所述用于预测的数据中的所述数据缺失部分,并且计算通过所述插值处理所生成的插值数据相对于实际数据的虚拟误差,所述虚拟误差是所述插值数据与紧接在所述数据缺失部分之前和之后的、由传感器获取的实际数据之间的距离中的较小距离;
当前点估计装置,被配置成:将其所述数据缺失部分已被插值的所述用于预测的数据输入给使用通过学习获取的所述参数的所述概率模型;以及在与其数据缺失部分已被插值的所述用于预测的数据对应的状态节点序列的估计中,使用所述插值数据的所述虚拟误差计算所述状态节点的观测概率,来估计与所述用户的当前位置等效的当前点节点;
搜索装置,被配置成使用与所估计的所述目的地节点和所述路线点节点以及所述当前点节点有关的信息、以及通过学习获取的所述概率模型来搜索从用户的当前位置到目的地的路线;以及
计算装置,被配置成计算所搜索的目的地的到达概率和所需的时间。
2.根据权利要求1所述的数据处理设备,还包括:
第三已知/未知确定装置,被配置成确定通过所述当前点估计装置获取的所述当前点节点是已知状态的节点还是未知状态的节点;
其中,在所述当前点节点被确定为已知状态的节点的情况下,所述搜索装置搜索从用户的当前位置到目的地的路线。
3.根据权利要求1所述的数据处理设备,其中,所述预测数据生成装置对不包括当前点的过去的数据缺失部分进行线性插值,并且通过保持插值对包括当前点的数据缺失部分进行插值处理。
4.根据权利要求3所述的数据处理设备,其中,所述预测数据生成装置针对通过所述线性插值受到插值处理的移动历史数据计算插值数据与在紧接在数据缺失之前的移动历史数据的距离或插值数据与在数据恢复之后紧接的移动历史数据的距离中较小的距离作为所述虚拟误差,并且针对通过所述保持插值受到插值处理的移动数据使用根据数据缺失后的经过时间的预定的函数来计算所述虚拟误差。
5.根据权利要求1所述的数据处理设备,其中,所述学习装置包括:
学习数据生成装置,被配置成:在一次获取所述概率模型的参数后作为用于学习的新数据的移动历史数据被提供并且在所述用于学习的新数据中存在有数据缺失部分的情况下,通过插值处理来生成所述用于学习的新数据的所述数据缺失部分并且生成包括所述插值数据的所述用于学习的新数据;
第一已知/未知确定装置,被配置成确定包括所述插值数据的所述用于学习的新数据是已知路线的移动历史数据还是未知路线的移动历史数据;以及
参数更新装置,被配置成不对现有模型的参数的状态节点的概率分布参数进行更新,其中所述现有模型是针对通过所述第一已知/未知确定装置被确定为所述已知路线的移动历史数据的插值数据已获取的概率模型。
6.一种数据处理方法,包括以下步骤:
利用数据处理设备的被配置成对用户的移动历史数据进行处理的学习装置,在要被获取作为用于学习的数据的用户的移动历史数据被表示为表示所述用户的活动的概率模型的情况下获取概率模型的参数;
利用所述数据处理设备的目的地和路线点估计装置,估计在使用通过所述学习装置获取的所述参数的所述概率模型的状态节点中的与移动目的地和路线点等效的目的地节点和路线点节点;
利用所述数据处理设备的预测数据生成装置,获取在从现在起的预定时间段内的与所述用于学习的数据不同的所述用户的移动历史数据作为用于预测的数据;以及在所获取的所述用于预测的数据中包括有数据缺失部分的情况下,通过插值处理来生成所述用于预测的数据中的所述数据缺失部分,并且计算通过所述插值处理所生成的插值数据相对于实际数据的虚拟误差,所述虚拟误差是所述插值数据与紧接在所述数据缺失部分之前和之后的、由传感器获取的实际数据之间的距离中的较小距离;
利用所述数据处理设备的当前点估计装置,将其所述数据缺失部分已被插值的所述用于预测的数据输入给使用通过学习获取的所述参数的所述概率模型;以及在与其数据缺失部分已被插值的所述用于预测的数据对应的状态节点序列的估计中,使用所述插值数据的所述虚拟误差计算所述状态节点的观测概率,来估计与所述用户的当前位置等效的当前点节点;
利用所述数据处理设备的搜索装置,使用与所估计的所述目的地节点和所述路线点节点以及所述当前点节点有关的信息、以及通过学习获取的所述概率模型来搜索从用户的当前位置到目的地的路线;以及
利用所述数据处理设备的计算装置,计算所搜索的目的地的到达概率和所需的时间。
CN201180054421.7A 2010-11-18 2011-11-07 数据处理设备和数据处理方法 Expired - Fee Related CN103201754B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010257485A JP2012108748A (ja) 2010-11-18 2010-11-18 データ処理装置、データ処理方法、およびプログラム
JP2010-257485 2010-11-18
PCT/JP2011/075541 WO2012066951A1 (ja) 2010-11-18 2011-11-07 データ処理装置、データ処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
CN103201754A CN103201754A (zh) 2013-07-10
CN103201754B true CN103201754B (zh) 2016-08-17

Family

ID=46083886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180054421.7A Expired - Fee Related CN103201754B (zh) 2010-11-18 2011-11-07 数据处理设备和数据处理方法

Country Status (5)

Country Link
US (1) US9589082B2 (zh)
EP (1) EP2642431A4 (zh)
JP (1) JP2012108748A (zh)
CN (1) CN103201754B (zh)
WO (1) WO2012066951A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038054A (zh) * 2017-12-01 2018-05-15 大唐微电子技术有限公司 一种自动化测试方法及装置、计算机可读存储介质

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892350B2 (en) * 2011-12-16 2014-11-18 Toyoda Jidosha Kabushiki Kaisha Journey learning system
WO2013192533A2 (en) 2012-06-22 2013-12-27 Google, Inc. Contextual traffic or transit alerts
WO2013192588A2 (en) 2012-06-22 2013-12-27 Google Inc. Presenting information for a current location or time
US9097548B2 (en) * 2013-01-07 2015-08-04 Televav, Inc. Content delivery system with natural language mechanism and method of operation thereof
CN103308054A (zh) * 2013-05-20 2013-09-18 江苏新科软件有限公司 一种导航路径旅行时间测算方法
JP5683663B1 (ja) * 2013-09-27 2015-03-11 パナソニックIpマネジメント株式会社 滞留時間測定装置、滞留時間測定システムおよび滞留時間測定方法
CN104581622B (zh) 2013-10-28 2018-09-07 华为技术有限公司 移动用户位置预测方法及设备
GB2537330B (en) 2014-02-21 2020-12-23 Mitsubishi Heavy Ind Mach Systems Ltd On-board device and route interpolating method therefor
CN104050832B (zh) * 2014-05-23 2017-06-20 北京中交兴路信息科技有限公司 位置信息的补全方法和装置
JP5866523B2 (ja) * 2014-07-16 2016-02-17 パナソニックIpマネジメント株式会社 施設利用状況計測装置、施設利用状況計測システムおよび施設利用状況計測方法
CN105307112B (zh) * 2014-08-01 2019-03-26 中国电信股份有限公司 分析获取用户移动轨迹的方法和系统
US9503516B2 (en) 2014-08-06 2016-11-22 Google Technology Holdings LLC Context-based contact notification
WO2016135371A1 (en) * 2015-02-24 2016-09-01 Kone Corporation Method and apparatus for predicting floor information for a destination call
JP2016166800A (ja) * 2015-03-10 2016-09-15 株式会社東芝 位置状態推定装置及び方法
JP6529096B2 (ja) * 2015-03-23 2019-06-12 日本電気株式会社 シミュレートシステム、シミュレート方法およびシミュレート用プログラム
JP6545516B2 (ja) * 2015-04-24 2019-07-17 株式会社オプティム 行動分析サーバ、行動分析方法及び行動分析サーバ用プログラム
JP2016212066A (ja) * 2015-05-13 2016-12-15 富士通株式会社 移動体端末、センサ値補間方法、センサ値補間プログラム、行動認識装置および行動認識システム
JP2017027145A (ja) * 2015-07-16 2017-02-02 ソニー株式会社 表示制御装置、表示制御方法、及び、プログラム
US10567306B2 (en) * 2015-10-13 2020-02-18 Nec Corporation Communication management list generation device, communication management list generation method, and storage medium in which communication management list generation program is stored
CN105183659B (zh) * 2015-10-16 2018-07-24 上海通创信息技术有限公司 基于多级模式预测的软件系统行为异常检测方法
CN105512727B (zh) * 2015-11-27 2018-02-13 浙江理工大学 一种基于Markov的个人路径预测方法
CN106885572B (zh) * 2015-12-15 2019-06-21 中国电信股份有限公司 利用时间序列预测的辅助定位方法和系统
CN107153882B (zh) * 2016-03-03 2021-10-15 北京嘀嘀无限科技发展有限公司 乘客打车时刻分布区间的预测方法和系统
CN105679037B (zh) * 2016-03-29 2019-03-08 招商局重庆交通科研设计院有限公司 一种基于用户出行习惯的动态路径规划方法
TR201618011A2 (tr) * 2016-12-07 2018-06-21 Akif Ekin Tam otomati̇k pi̇zza, pi̇de, lahmacun ve benzeri̇ hazirlama ve dağitim si̇stemi̇
CN107133686A (zh) * 2017-03-30 2017-09-05 大连理工大学 基于时空数据模型的城市级pm2.5浓度预测方法
WO2018227325A1 (en) * 2017-06-12 2018-12-20 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for determining an estimated time of arrival
WO2019026703A1 (ja) * 2017-07-31 2019-02-07 株式会社エイシング 学習済モデル統合方法、装置、プログラム、icチップ、及びシステム
KR102395474B1 (ko) 2017-08-24 2022-05-09 삼성전자주식회사 반도체 소자의 특성 예측 방법 및 반도체 소자의 특성 예측 장치
FR3078176B1 (fr) * 2018-02-19 2020-02-28 IFP Energies Nouvelles Systeme et procede de prediction d'un phenomene physique et/ou chimique au moyen d'un segment de memoire partage
US10743140B2 (en) * 2018-05-16 2020-08-11 International Business Machines Corporation Smart location alert system
CN109275087B (zh) * 2018-09-05 2021-07-23 口碑(上海)信息技术有限公司 一种优惠信息的发放方法以及装置
CN109300315B (zh) * 2018-10-12 2020-09-04 山东交通学院 基于车辆检测概率的地磁数据异常判别方法及系统
CN109272085B (zh) * 2018-10-15 2022-03-11 绵阳金升科技有限公司 基于云端数据的rfid智能工具管理系统
JP7058761B2 (ja) * 2018-12-26 2022-04-22 三菱電機株式会社 移動体制御装置、移動体制御学習装置、及び移動体制御方法
JP7093057B2 (ja) * 2019-03-11 2022-06-29 トヨタ自動車株式会社 情報処理装置、情報処理方法及びプログラム
CN110162576A (zh) * 2019-04-22 2019-08-23 广东电网有限责任公司信息中心 基于系统指标数据的数据预测方法、系统及电子设备
CN110097193B (zh) * 2019-04-28 2021-03-19 第四范式(北京)技术有限公司 训练模型的方法及系统和预测序列数据的方法及系统
CN110196995B (zh) * 2019-04-30 2022-12-06 西安电子科技大学 一种基于带偏置随机游走的复杂网络特征提取方法
CN109982420B (zh) * 2019-05-07 2021-12-14 肇庆学院 一种基于监测行为规则的无线传感器网络休眠调度方法
JP7353851B2 (ja) * 2019-08-02 2023-10-02 キヤノン株式会社 システム、方法、及びプログラム
CN112866482B (zh) * 2019-11-27 2022-04-15 青岛海信移动通信技术股份有限公司 一种对象行为习惯预测的方法和终端
CN111163072B (zh) * 2019-12-24 2022-06-10 五八有限公司 机器学习模型中特征值的确定方法、装置及电子设备
CN112168162B (zh) * 2020-10-06 2021-08-27 青岛优瑞特电子科技有限公司 一种智能可穿戴设备
WO2023007921A1 (ja) * 2021-07-30 2023-02-02 株式会社Nttドコモ 時系列データ処理装置
CN114944062B (zh) * 2022-05-30 2023-05-26 长安大学 一种隧道平行交通系统构建方法
CN114757589B (zh) * 2022-06-14 2022-10-11 深圳市拓安信计控仪表有限公司 数据处理方法、服务器及存储介质
JP2024001732A (ja) * 2022-06-22 2024-01-10 富士通株式会社 移動手段推定方法及び移動手段推定プログラム
CN116092056B (zh) * 2023-03-06 2023-07-07 安徽蔚来智驾科技有限公司 目标识别方法、车辆控制方法、设备、介质及车辆
CN117743404A (zh) * 2023-12-27 2024-03-22 青岛澳邦量器有限责任公司 一种基于人工智能的储罐伺服取样智能监管系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1171592A (zh) * 1996-05-01 1998-01-28 微软公司 采用连续密度隐藏式马尔克夫模型的语音识别方法和系统
CN1578530A (zh) * 2003-06-30 2005-02-09 微软公司 用于确定便携式计算设备的定位动态特性的系统和方法
JP2008204040A (ja) * 2007-02-19 2008-09-04 Kddi Corp 携帯端末、プログラム及び携帯端末への表示画面制御方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274332B1 (en) * 1996-09-09 2007-09-25 Tracbeam Llc Multiple evaluators for evaluation of a purality of conditions
WO1998010307A1 (en) * 1996-09-09 1998-03-12 Dennis Jay Dupray Location of a mobile station
US6611726B1 (en) * 1999-09-17 2003-08-26 Carl E. Crosswhite Method for determining optimal time series forecasting parameters
US7202816B2 (en) * 2003-07-22 2007-04-10 Microsoft Corporation Utilization of the approximate location of a device determined from ambient signals
US7233861B2 (en) * 2003-12-08 2007-06-19 General Motors Corporation Prediction of vehicle operator destinations
JP2006134080A (ja) 2004-11-05 2006-05-25 Ntt Docomo Inc 携帯端末、及び、個人適応型コンテキスト獲得方法
JP4735141B2 (ja) 2005-09-05 2011-07-27 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム
US8014936B2 (en) * 2006-03-03 2011-09-06 Inrix, Inc. Filtering road traffic condition data obtained from mobile data sources
US7912628B2 (en) * 2006-03-03 2011-03-22 Inrix, Inc. Determining road traffic conditions using data from multiple data sources
US7706965B2 (en) * 2006-08-18 2010-04-27 Inrix, Inc. Rectifying erroneous road traffic sensor data
US7610151B2 (en) * 2006-06-27 2009-10-27 Microsoft Corporation Collaborative route planning for generating personalized and context-sensitive routing recommendations
US7706964B2 (en) * 2006-06-30 2010-04-27 Microsoft Corporation Inferring road speeds for context-sensitive routing
US7680749B1 (en) * 2006-11-02 2010-03-16 Google Inc. Generating attribute models for use in adaptive navigation systems
US7512487B1 (en) * 2006-11-02 2009-03-31 Google Inc. Adaptive and personalized navigation system
US7991718B2 (en) * 2007-06-28 2011-08-02 Microsoft Corporation Method and apparatus for generating an inference about a destination of a trip using a combination of open-world modeling and closed world modeling
JP5396715B2 (ja) 2008-01-29 2014-01-22 コニカミノルタ株式会社 クリーニング装置及び画像形成装置
JP2009208064A (ja) 2008-02-04 2009-09-17 Nidec Sankyo Corp 洗浄槽および洗浄装置
US20090210276A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Ad hoc and opportunistic transportation services
US9846049B2 (en) * 2008-07-09 2017-12-19 Microsoft Technology Licensing, Llc Route prediction
JP5257038B2 (ja) 2008-12-09 2013-08-07 トヨタ自動車株式会社 回転電機
JP5515331B2 (ja) * 2009-03-09 2014-06-11 ソニー株式会社 情報提供サーバ、情報提供システム、情報提供方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1171592A (zh) * 1996-05-01 1998-01-28 微软公司 采用连续密度隐藏式马尔克夫模型的语音识别方法和系统
CN1578530A (zh) * 2003-06-30 2005-02-09 微软公司 用于确定便携式计算设备的定位动态特性的系统和方法
JP2008204040A (ja) * 2007-02-19 2008-09-04 Kddi Corp 携帯端末、プログラム及び携帯端末への表示画面制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Extracting places and activities from GPS Traces using Hierarchical conditional random fields;Lin liao et al;《International Journal of Robotics Research》;20070131;第26卷(第1期);第119-134页 *
Learning to predict driver route and destination intent;Reid simmons et al;《2006IEEE Intelligent Transportation systems conference》;20060917;第127-132页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038054A (zh) * 2017-12-01 2018-05-15 大唐微电子技术有限公司 一种自动化测试方法及装置、计算机可读存储介质

Also Published As

Publication number Publication date
US20130197890A1 (en) 2013-08-01
WO2012066951A1 (ja) 2012-05-24
US9589082B2 (en) 2017-03-07
JP2012108748A (ja) 2012-06-07
CN103201754A (zh) 2013-07-10
EP2642431A4 (en) 2016-01-06
EP2642431A1 (en) 2013-09-25

Similar Documents

Publication Publication Date Title
CN103201754B (zh) 数据处理设备和数据处理方法
Ashqar et al. Modeling bike availability in a bike-sharing system using machine learning
Yang et al. Travel cost inference from sparse, spatio temporally correlated time series using markov models
Akhavian et al. Knowledge-based simulation modeling of construction fleet operations using multimodal-process data mining
Yu et al. Urban network-wide traffic speed estimation with massive ride-sourcing GPS traces
CN102270191A (zh) 数据处理设备、数据处理方法和程序
Ren et al. Mtrajrec: Map-constrained trajectory recovery via seq2seq multi-task learning
Yagoub et al. Prediction of land cover change using Markov and cellular automata models: case of Al-Ain, UAE, 1992-2030
CN107103753A (zh) 交通时间预测系统、交通时间预测方法以及交通模型建立方法
CN102298729A (zh) 数据处理装置、数据处理方法和程序
EP3035314A1 (en) A traffic data fusion system and the related method for providing a traffic state for a network of roads
WO2016111857A1 (en) Predicting and utilizing variability of travel times in mapping services
CN102298608A (zh) 信息处理装置、信息处理方法和程序
CN102183252A (zh) 数据处理装置、数据处理方法和程序
CN102024094A (zh) 数据处理设备、数据处理方法、以及程序
Ozdemir et al. A hybrid HMM model for travel path inference with sparse GPS samples
Zhao et al. A deep inverse reinforcement learning approach to route choice modeling with context-dependent rewards
CN108022006B (zh) 一种数据驱动的可达性概率和区域生成方法
CN110598917A (zh) 一种基于路径轨迹的目的地预测方法、系统及存储介质
Cui et al. A road-aware neural network for multi-step vehicle trajectory prediction
Liu et al. Bustime: Which is the right prediction model for my bus arrival time?
van der Aalst TomTom for business process management (TomTom4BPM)
WO2004061737A1 (en) System and method for managing transportation
Laptev et al. Sightseeing application based on location marking and convolutional neural network building recognition
CN111581306A (zh) 一种行车轨迹模拟方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160817