JP2011118776A - データ処理装置、データ処理方法、およびプログラム - Google Patents

データ処理装置、データ処理方法、およびプログラム Download PDF

Info

Publication number
JP2011118776A
JP2011118776A JP2009276999A JP2009276999A JP2011118776A JP 2011118776 A JP2011118776 A JP 2011118776A JP 2009276999 A JP2009276999 A JP 2009276999A JP 2009276999 A JP2009276999 A JP 2009276999A JP 2011118776 A JP2011118776 A JP 2011118776A
Authority
JP
Japan
Prior art keywords
state
series data
node
time series
unit
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.)
Withdrawn
Application number
JP2009276999A
Other languages
English (en)
Inventor
Naoki Ide
直紀 井手
Masato Ito
真人 伊藤
Kotaro Sabe
浩太郎 佐部
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
Priority to JP2009276999A priority Critical patent/JP2011118776A/ja
Priority to US12/954,194 priority patent/US20110137833A1/en
Priority to CN2010105737285A priority patent/CN102183252A/zh
Publication of JP2011118776A publication Critical patent/JP2011118776A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Navigation (AREA)

Abstract

【課題】現時刻以降の将来に、特定の場所、あるいは、特定の行動を行う場所にいたる確率、経路、経過時間を予測するための学習パラメータを、より簡単に学習することができるようにする。
【解決手段】状態系列生成部72は、位置データの時系列データを、モデル学習部71から供給されたパラメータに基づくユーザ活動モデルにより、状態ノードsiの時系列データに変換して、状態系列データを生成する。パラメータ演算部62は、状態系列データおよび行動モードの時系列データを用いて、状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する時系列データのパラメータを計算することにより、ユーザの移動経路と行動モードの確率的状態遷移モデルのパラメータを演算する。本発明は、例えば、ユーザの目的地および移動経路を予測するための学習モデルのパラメータを学習する学習器に適用できる。
【選択図】図12

Description

本発明は、データ処理装置、データ処理方法、およびプログラムに関し、特に、現時刻以降の将来に、特定の場所、あるいは、特定の行動を行う場所にいたる確率、経路、経過時間を予測するための学習パラメータをより簡単に学習するデータ処理装置、データ処理方法、およびプログラムに関する。
近年、ユーザが身に着けられるセンサであるウェアラブルセンサから得られる時系列データを用いてユーザの状態をモデル化して学習し、学習により得られたモデルを用いてユーザの現在の状態を認識する研究が盛んである(例えば、特許文献1,2、非特許文献1)。
また、本出願人は、未来の所望の時刻におけるユーザの活動状態の複数の可能性を確率的に予測する方法を、特願2009−180780(以下、先願1という)として先に提案している。先願1の方法では、時系列データからユーザの活動状態を確率的状態遷移モデルとして学習し、学習した確率的状態遷移モデルを用いて現在の活動状態を認識し、「所定時間後」のユーザの活動状態を確率的に予測することができる。そして、「所定時間後」のユーザの活動状態の予測の一例として、ユーザの現在の位置を認識し、所定時間後のユーザの行き先(場所)を予測する例が示されている。
さらに、本出願人は、先願1をさらに発展させ、「所定時間後」という現在時刻からの経過時間の指定がない場合であっても、複数の目的地への到達確率、経路、時間を予測する方法を、特願2009−208064(以下、先願2という)として提案した。先願2の方法では、確率モデルを構成するノードの中から、目的地のノードに対応するものを見つけることで、目的地の候補を自動的に検出することができる。
特開2006−134080号公報 特開2008−204040号公報
"Life Patterns: structure from wearable sensors",Brian Patrick Clarkson, Doctor Thesis, MIT, 2002
先願1および先願2の方法では、ユーザの活動状態を表す確率的状態遷移モデルの例として隠れマルコフモデルを採用している。そして、先願2の方法では、ユーザの活動状態を表す隠れマルコフモデルの学習器において、第1の隠れマルコフモデルによる出力結果を後段の第2の隠れマルコフモデルの入力とするような2段階処理が採用されている。2段階処理は、学習時間が2倍かかることになり、処理の負荷が大きかった。
本発明は、このような状況に鑑みてなされたものであり、現時刻以降の将来に、特定の場所、あるいは、特定の行動を行う場所にいたる確率、経路、経過時間を予測するための学習パラメータを、より簡単に学習することができるようにするものである。
本発明の一側面のデータ処理装置は、
第1の事象と第2の事象の時系列データのうちの前記第1の事象の時系列データから、前記第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成する状態系列生成手段と、
前記第1の事象の時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算する演算手段と
を備える。
本発明の一側面のデータ処理方法は、
状態系列生成手段と演算手段とを備え、第1の事象と第2の事象の確率的状態遷移モデルのパラメータを出力するデータ処理装置の
前記状態系列生成手段が、前記第1の事象と第2の事象の時系列データのうちの前記第1の事象の時系列データから、前記第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成し、
前記演算手段が、前記第1の事象の時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算する。
本発明の一側面のプログラムは、
コンピュータに、
第1の事象と第2の事象の時系列データのうちの前記第1の事象の時系列データから、前記第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成する状態系列生成手段と、
前記第1の事象の時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算する演算手段
として機能させるためのものである。
本発明の一側面においては、第1の事象と第2の事象の時系列データのうちの第1の事象の時系列データから、第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データが生成され、第1の事象の時系列データおよび状態ノードの時系列データを用いて、状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、第1の事象と第2の事象の確率的状態遷移モデルのパラメータが演算される。
データ処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本発明の一側面によれば、現時刻以降の将来に、特定の場所、あるいは、特定の行動を行う場所にいたる確率、経路、経過時間を予測するための学習パラメータを、より簡単に学習することができる。
先願2における予測システムの構成例を示すブロック図である。 予測システムのハードウエア構成例を示すブロック図である。 予測システムに入力される時系列データの例を示す図である。 HMMの例を示す図である。 音声認識で利用されるHMMの例を示す図である。 スパース制約を与えたHMMの例を示す図である。 行動予測部による経路の探索処理の簡単な例を示す図である。 図1の行動学習部が採用することができる構成の一例を示す図である。 予測システム1が識別する行動モードについて説明する図である。 到達時間予測処理のフローチャートである。 到達時間予測処理のフローチャートである。 本発明を適用した予測システムにおける行動学習部の構成例を示すブロック図である。 学習処理のフローチャートである。 状態系列修正部によるループ修正処理を説明する図である。 状態系列修正部によるループ修正処理のフローチャートである。 状態系列修正部による共有ノード修正処理を説明する図である。 状態系列修正部による共有ノード修正処理のフローチャートである。 その他の共有ノード修正処理を説明する図である。 図12の行動学習部を採用した場合の効果について説明する図である。 図12の行動学習部を採用した場合の効果について説明する図である。 図12の行動学習部を採用した場合の効果について説明する図である。 状態系列修正部を採用した場合の効果について説明する図である。 状態系列修正部を採用した場合の効果について説明する図である。 状態系列修正部を採用した場合の効果について説明する図である。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
以下、本発明を実施するための形態(以下、実施の形態という)について説明する。なお、説明は、[背景技術]に記載した先願と対比するため、先願2で提案した方法を簡単に説明した後、本発明を適用した実施の形態について説明する。即ち、説明は、以下の順序で行う。
1.先願2の実施例
2.本発明の実施の形態(先願2よりも、より簡単に学習パラメータを求める形態)
<1.先願2の実施例>
[先願2の予測処理システムの構成例]
図1は、先願2における予測システムの構成例を示すブロック図である。
予測システム1は、GPSセンサ10、速度演算部11、時系列データ記憶部12、行動学習部13、行動認識部14、行動予測部15、目的地予測部16、操作部17、および表示部18により構成される。
予測システム1は、GPSセンサ10により取得される現在地を示す時系列データから、ユーザの活動状態(行動・活動パターンを表した状態)を確率的状態遷移モデルとして学習する学習処理を行う。また、予測システム1は、学習処理により得られたパラメータで表される確率的状態遷移モデル(ユーザ活動モデル)を用いて、ユーザの目的地を予測し、予測した目的地までの到達確率、経路、および到達時間を予測する予測処理も行う。なお、目的地は、1つだけでなく、複数の目的地が予測されることもある。
目的地とされる自宅や勤務先、駅、買い物先、レストランなどでは、ユーザはその場所に所定時間滞在するのが一般的であり、ユーザの移動速度はほぼゼロに近い状態となる。一方、ユーザが目的地に移動している場合には、ユーザの移動速度は、移動手段に応じた特定のパターンで遷移する状態となる。従って、ユーザの移動速度の情報からユーザの行動状態、即ち、ユーザが目的地に滞在している状態(滞在状態)であるのか、または、移動している状態(移動状態)であるのかを認識し、滞在状態の場所を目的地として予測することができる。
図1において、点線の矢印は、学習処理におけるデータの流れを示しており、実線の矢印は、予測処理におけるデータの流れを示している。
GPSセンサ10は、自身の位置を示す緯度経度のデータを、一定時間間隔(たとえば、15秒間隔)で順次取得する。なお、GPSセンサ10が位置のデータを一定間隔に取得することができない場合もある。例えば、トンネルや地下にいる場合などには、人工衛星を捕捉することができず、取得間隔が長くなることもある。このような場合には、補間処理を行うことなどにより、データを補うことができる。
GPSセンサ10は、学習処理においては、取得した緯度および経度と、それを取得したときの取得時刻からなる位置データを速度演算部11に供給する。また、GPSセンサ10は、予測処理においては、取得される位置データを速度演算部11に供給する。
速度演算部11は、GPSセンサ10から供給される位置データから移動速度を演算する。
具体的には、一定の時間間隔でkステップ目(k個目)に得られるときの位置データを、時刻t、経度y、緯度xと表すと、kステップ目のx方向の移動速度vxおよびy方向の移動速度vyは、次式(1)により計算することができる。
Figure 2011118776
式(1)では、GPSセンサ10から得られる緯度経度のデータをそのまま利用しているが、緯度経度を距離に変換したり、速度を時速や分速で表すように変換するなどの処理は、必要に応じて適宜行うことができる。
また、速度演算部11は、式(1)で得られる移動速度vxおよびvyからさらに、式(2)で表されるkステップ目の移動速度vと進行方向の変化θを求め、これを利用することができる。
Figure 2011118776
式(2)で表される移動速度vと進行方向の変化θを利用する方が、式(2)の移動速度vxおよびvyよりも以下の点で、特徴をうまく取り出すことができる。
1.移動速度vxおよびvyのデータの分布は、緯度経度軸に対して偏りが生じるため、同じ移動手段(電車や徒歩など)であっても角度が異なった場合に識別できない可能性があるが、移動速度vであればそのような可能性が少ない。
2.移動速度の絶対的な大きさ(|v|)だけで学習すると、機器のノイズによって生じる|v|のため、徒歩と滞在を区別できない。進行方向の変化も考慮することで、ノイズの影響を軽減することができる。
3.移動している場合は進行方向の変化が少ないが、滞在している場合は進行方向が定まらないので、進行方向の変化を使うと移動と滞在の識別がしやすい。
以上の理由から、速度演算部11は、移動速度のデータとして、式(2)で表される移動速度vと進行方向の変化θを求め、位置データとともに、時系列データ記憶部12または行動認識部14に供給する。
また、速度演算部11は、移動速度vと進行方向の変化θの演算を行う前に、ノイズ成分を除去するため、移動平均によるフィルタリング処理(前処理)を行う。
なお、以下では、進行方向の変化θを、進行方向θと略記する。
GPSセンサ10のなかには、移動速度を出力できるものも存在する。そのようなGPSセンサ10が採用されている場合、速度演算部11を省略し、GPSセンサ10が出力する移動速度をそのまま利用することができる。
時系列データ記憶部12は、速度演算部11から時系列に供給される位置データおよび移動速度、すなわち、位置データおよび移動速度の時系列データを記憶する。ユーザの行動・活動パターンを学習するので、例えば、数日分程度など、ある程度の期間について蓄積された時系列データが必要である。
行動学習部13は、時系列データ記憶部12に記憶されている時系列データに基づいて、GPSセンサ10が組み込まれた機器を携行するユーザの活動状態を、確率的状態遷移モデルとして学習する。時系列データはユーザの位置および移動速度を示すデータであるので、確率的状態遷移モデルとして学習されるユーザの活動状態は、ユーザの移動軌跡と行動状態となる。学習に使用される確率的状態遷移モデルとしては、例えば、エルゴディックHMM(Hidden Markov Model)などの、隠れ状態を含む確率的状態遷移モデルを採用することができる。予測システム1では、確率的状態遷移モデルとして、エルゴディックHMMにスパース制約を与えたものを採用する。なお、スパース制約を与えたエルゴディックHMM、エルゴディックHMMのパラメータの算出方法等については、図4乃至図6を参照して後述する。
行動学習部13は、学習結果を示すデータを表示部18に供給し、表示させる。また、行動学習部13は、学習処理により得られた確率的状態遷移モデルのパラメータを行動認識部14、行動予測部15、および目的地予測部16に供給する。
行動認識部14は、学習により得られたパラメータの確率的状態遷移モデルを用いて、速度演算部11からリアルタイムに供給される位置および移動速度の時系列データから、ユーザの現在の活動状態、すなわち、ユーザの現在地を認識する。行動認識部14は、ユーザの現在の状態ノードのノード番号を行動予測部15に供給する。
行動予測部15は、学習により得られたパラメータの確率的状態遷移モデルを用いて、行動認識部14から供給される状態ノードのノード番号が示すユーザの現在地から、ユーザが取りうる経路を過不足なく探索(予測)する。また、行動予測部15は、探索された経路ごとの生起確率を計算することにより、探索された経路が選択される確率である選択確率を予測する。
目的地予測部16には、行動予測部15から、ユーザが取りうる経路と、その選択確率が供給される。また、目的地予測部16には、必要に応じて、操作部17から、ユーザが入力した情報が供給される。
目的地予測部16は、学習により得られたパラメータの確率的状態遷移モデルを用いて、ユーザの目的地を予測する。
具体的には、目的地予測部16は、最初に、目的地候補を列挙する。目的地予測部16は、認識されるユーザの行動状態が滞在状態となる場所を目的地候補とする。
そして、目的地予測部16は、列挙した目的地候補のうち、行動予測部15により探索されたユーザが取りうる経路上にある目的地候補を目的地に決定し、目的地までの到達時間を経路ごとに予測する。
次に、目的地予測部16は、決定した目的地ごとの到達確率を算出する。目的地予測部16は、目的地について複数の経路が存在する場合、その複数の経路の選択確率の和を、目的地の到達確率として算出する。目的地への経路が1つのみである場合には、その経路の選択確率が、そのまま目的地の到達確率となる。
目的地予測部16は、予測される目的地までの経路の到達時間を計算し、表示部18に表示させる。
なお、目的地を含む経路が多数あり、全ての経路を表示すると見づらくなる場合や経路の提示数が所定数に設定されている場合には、目的地を含む全ての経路のなかから、表示部18に表示させる経路(以下、適宜、表示経路ともいう。)を決定する必要がある。そのような場合、行動予測部15では、各経路について選択確率が算出されているので、目的地予測部16は、選択確率の高い順に、所定数の経路を表示経路として決定することができる。
また、目的地までの経路が多数存在する場合、選択される可能性の高い順で表示経路を決定する以外に、到達時間の短い順や、目的地までの距離の短い順に、表示経路を決定することも可能である。到達時間の短い順に表示経路を決定する場合には、例えば、目的地予測部16は、最初に、目的地までの経路の全てについて到達時間を計算し、計算された到達時間に基づいて、表示経路を決定する。目的地までの距離の短い順に表示経路を決定する場合には、例えば、目的地予測部16は、最初に、目的地までの経路の全てについて、状態ノードに対応する緯度経度の情報に基づいて目的地までの距離を計算し、計算された距離に基づいて、表示経路を決定する。
さらに、目的地についても同様に、到達確率の高い所定個数の目的地や、到達確率が所定値以上の目的地のみを表示するように、表示対象の目的地を絞り込むことができる。なお、目的地と経路の表示個数は異なっていても構わない。
操作部17は、ユーザが入力した所定の情報(例えば、表示経路の選択指示など)を受け付け、目的地予測部16に供給する。表示部18は、行動学習部13または目的地予測部16から供給される情報を表示する。
[予測システムのハードウエア構成例]
以上のように構成される予測システム1は、例えば、図2に示されるハードウエア構成を採用することができる。即ち、図2は、予測システム1のハードウエア構成例を示すブロック図である。
図2において、予測システム1は、3台のモバイル端末21−1乃至21−3とサーバ22とにより構成されている。モバイル端末21−1乃至21−3は、同一機能を有する同型のモバイル端末21であるが、モバイル端末21−1乃至21−3では、それを所有するユーザが異なる。従って、図2では、3台のモバイル端末21−1乃至21−3のみが示されているが、実際には、ユーザ数に応じた数のモバイル端末21が存在する。
モバイル端末21は、無線通信及びインターネット等のネットワークを介した通信により、サーバ22とデータの授受を行うことができる。サーバ22は、モバイル端末21から送信されてくるデータを受信し、受信したデータに対し所定の処理を行う。そして、サーバ22は、データ処理の処理結果を無線通信等によりモバイル端末21に送信する。
従って、モバイル端末21とサーバ22は、無線または有線による通信を行う通信部を少なくとも有する。
さらに、モバイル端末21が、図1のGPSセンサ10、速度演算部11、操作部17、および表示部18を備え、サーバ22が、図1の時系列データ記憶部12、行動学習部13、行動認識部14、行動予測部15、および目的地予測部16を備える構成を採用することができる。
この構成が採用される場合、学習処理において、モバイル端末21が、GPSセンサ10および速度演算部11により取得された時系列データを送信する。サーバ22は、受信した学習用の時系列データに基づき、ユーザの活動状態を確率的状態遷移モデルにより学習する。そして、予測処理において、モバイル端末21が、GPSセンサ10および速度演算部11によりリアルタイムに取得される位置データを送信する。サーバ22は、学習により得られたパラメータを用いて、ユーザの現在の活動状態、すなわち、ユーザの現在地を認識し、さらに、目的地とそこまでの経路および時間を処理結果としてモバイル端末21に送信する。モバイル端末21は、サーバ22から送信されてきた処理結果を表示部18に表示する。
また例えば、モバイル端末21が、図1のGPSセンサ10、速度演算部11、行動認識部14、行動予測部15、目的地予測部16、操作部17、および表示部18を備え、サーバ22が、図1の時系列データ記憶部12および行動学習部13を備える構成を採用することができる。
この構成が採用される場合、学習処理において、モバイル端末21が、GPSセンサ10および速度演算部11により取得された時系列データを送信する。サーバ22は、受信した学習用の時系列データに基づき、ユーザの活動状態を確率的状態遷移モデルにより学習し、学習により得られたパラメータをモバイル端末21に送信する。そして、予測処理において、モバイル端末21が、GPSセンサ10および速度演算部11によりリアルタイムに取得される位置データを、サーバ22から受信したパラメータを用いて、ユーザの現在地を認識し、さらに、目的地とそこまでの経路および時間を演算する。そして、モバイル端末21は、演算結果としての目的地とそこまでの経路および時間を表示部18に表示する。
以上のようなモバイル端末21とサーバ22との間の役割分担は、それぞれのデータ処理装置としての処理能力や通信環境に応じて決定することができる。
学習処理は、処理に要する1回あたりの時間は非常に長いが、それほど頻繁に処理する必要はない。従って、一般的には、携行可能なモバイル端末21よりもサーバ22の方が処理能力が高いので、サーバ22に、一日に一回程度蓄積された時系列データに基づいて学習処理(パラメータの更新)を行わせるようにすることができる。
一方、予測処理は、時々刻々とリアルタイムに更新される位置データに対応させて迅速に処理し、表示することが望ましいので、モバイル端末21で処理を行う方が望ましい。通信環境がリッチであれば、上述したようにサーバ22に予測処理も行わせ、予測結果のみをサーバ22から受信する方が、携行可能な小型化が要求されるモバイル端末21の負荷が軽減され、望ましい。
また、モバイル端末21単独で、データ処理装置として学習処理および予測処理を高速に行うことが可能である場合には、図1の予測システム1の構成すべてをモバイル端末21が備えるようにすることも勿論可能である。
[入力される時系列データの例]
図3は、予測システム1で取得された位置データの時系列データの例を示している。図3において、横軸は経度を表し、縦軸は緯度を表している。
図3に示される時系列データは、実験者の1ヶ月半程度の期間に蓄積された時系列データを示している。図3に示されるように、時系列データは、主に、自宅周辺と、勤務先などの4か所の外出先を移動したデータとなっている。なお、この時系列データには、人工衛星を捕捉できず、位置データが飛んでいるデータも含まれている。
なお、図3に示される時系列データは、後述する検証実験に使用したデータとは別のデータ例である。
[エルゴディックHMMについて]
次に、予測システム1が、学習モデルとして採用するエルゴディックHMMについて説明する。
図4は、HMMの例を示している。
HMMは、状態と状態間遷移とを有する状態遷移モデルである。
図4は、3状態のHMMの例を示している。
図4において(以降の図においても同様)、丸印は、状態を表し、矢印は、状態遷移を表す。なお、状態は、上述のユーザの活動状態に対応し、状態ノード、単にノードともいう。
また、図4において、si(図4では、i=1,2,3)は、状態を表し、aijは、状態siから状態sjへの状態遷移確率を表す。さらに、bj(x)は、状態sjへの状態遷移時に、観測値xが観測される出力確率密度関数を表し、πiは、状態siが初期状態である初期確率を表す。
なお、出力確率密度関数bj(x)としては、例えば、混合正規確率分布等が用いられる。
ここで、HMM(連続HMM)は、状態遷移確率aij、出力確率密度関数bj(x)、及び初期確率πiによって定義される。これらの状態遷移確率aij、出力確率密度関数bj(x)、及び初期確率πiを、HMMのパラメータλ={aij,bj(x), πi,i=1,2,・・・,M,j=1,2,・・・,M}という。Mは、HMMの状態数を表す。
HMMのパラメータλを推定する方法としては、Baum-Welchの最尤推定法が広く利用されている。Baum-Welchの最尤推定法は、EMアルゴリズム(EM(Expectation-Maximization) algorithm)に基づくパラメータの推定方法である。
Baum-Welchの最尤推定法によれば、観測される時系列データx=x1,x2,・・・,xTに基づき、その時系列データが観測(生起)される確率である生起確率から求まる尤度を最大化するように、HMMのパラメータλの推定が行われる。ここで、xtは、時刻tに観測される信号(サンプル値)を表し、Tは、時系列データの長さ(サンプル数)を表す。
Baum-Welchの最尤推定法については、例えば、“パターン認識と機械学習(下)”,C.M.ビショップ著,P. 333(英語原書:“Pattern Recognition and Machine Learning (Information Science and Statistics) ”,Christopher M. BishopSpringer, New York, 2006.)(以下、文献Aと称する)に記載されている。
なお、Baum-Welchの最尤推定法は、尤度最大化に基づくパラメータ推定方法ではあるが、最適性を保証するものではなく、HMMの構造やパラメータλの初期値によっては、局所解(ローカルミニマム)に収束することがある。
HMMは、音声認識で広く利用されているが、音声認識で利用されるHMMでは、一般に、状態の数や状態遷移の仕方等はあらかじめ決定される。
図5は、音声認識で利用されるHMMの例を示している。
図5のHMMは、left-to-right型と呼ばれる。
図5では、状態数は3になっており、状態遷移は、自己遷移(状態siから状態siへの状態遷移)と、左から右隣の状態への状態遷移とのみを許す構造に制約されている。
図5のHMMのように、状態遷移に制約があるHMMに対して、図4に示した、状態遷移に制約がないHMM、すなわち、任意の状態siから任意の状態sjへの状態遷移が可能なHMMは、エルゴディック(Ergodic)HMMと呼ばれる。
エルゴディックHMMは、構造としては最も自由度の高いHMMであるが、状態数が多くなると、パラメータλの推定が困難となる。
例えば、エルゴディックHMMの状態数が、1000である場合、状態遷移の数は、100万(=1000×1000)となる。
したがって、この場合、パラメータλのうちの、例えば、状態遷移確率aijについては、100万個の状態遷移確率aijを推定することが必要となる。
そこで、状態に対して設定する状態遷移には、例えば、スパース(Sparse)な構造であるという制約(スパース制約)をかけることができる。
ここで、スパースな構造とは、任意の状態から任意の状態への状態遷移が可能なエルゴディックHMMのような密な状態遷移ではなく、ある状態から状態遷移することができる状態が非常に限定されている構造である。なお、ここでは、スパースな構造であっても、他の状態への状態遷移は、少なくとも1つ存在し、また、自己遷移は存在することとする。
図6は、スパース制約を与えたHMMを示している。
ここで、図6では、2つの状態を結ぶ双方向の矢印は、その2つの状態の一方から他方への状態遷移と、他方から一方への状態遷移とを表す。また、図6において、各状態は、自己遷移が可能であり、その自己遷移を表す矢印の図示は、省略されている。
図6では、16個の状態が、2次元空間上に格子状に配置されている。すなわち、図6では、横方向に、4個の状態が配置され、縦方向にも、4個の状態が配置されている。
いま、横方向に隣接する状態どうしの距離、及び、縦方向に隣接する状態どうしの距離を、いずれも1とすると、図6Aは、距離が1以下の状態への状態遷移は可能とし、他の状態への状態遷移はできないというスパース制約を与えたHMMを示している。
また、図6Bは、距離が√2以下の状態への状態遷移は可能とし、他の状態への状態遷移はできないというスパース制約を与えたHMMを示している。
図1の例では、GPSセンサ10が取得した位置データが、時系列データx=x1,x2,・・・,xTとして、時系列データ記憶部12に供給される。行動学習部13は、時系列データ記憶部12に記憶されている時系列データx=x1,x2,・・・,xTを用い、ユーザ活動モデルを表すHMMのパラメータλを推定する。
即ち、ユーザの移動軌跡を表す各時刻の位置(緯度経度)のデータが、HMMの状態sjのいずれかに対応する地図上の一点から、所定の分散値の広がりを持って正規分布した確率変数の観測データであると考える。行動学習部13は、各状態sjに対応する地図上の一点とその分散値、および状態遷移確率aijを最適化する。
なお、状態siの初期確率πiは、一様な値に設定することができる。例えば、M個の状態siそれぞれの初期確率πiが、1/Mに設定される。また、GPSセンサ10が取得した位置データに対して補間処理などの所定の処理を施した後の位置データを、時系列データx=x1,x2,・・・,xTとして、時系列データ記憶部12に供給してもよい。
行動認識部14は、学習により得られたユーザ活動モデル(HMM)に対して、ビタビ法を適用し、GPSセンサ10からの位置データx=x1,x2,・・・,xTが観測される尤度を最も大にする状態遷移の過程(状態の系列)(パス)(以下、最尤パスともいう)を求める。これにより、ユーザの現在の活動状態、即ち、ユーザの現在地に対応する状態siが認識される。
ここで、ビタビ法とは、各状態siを始点とする状態遷移のパスの中で、時刻tに、状態siから状態sjに状態遷移する状態遷移確率aijと、その状態遷移において、位置データx=x1,x2,・・・,xTのうちの時刻tのサンプル値xtが観測される確率(出力確率密度関数bj(x)から求められる出力確率)とを、処理後時系列データxの長さTに亘って累積した値(生起確率)を最大にするパス(最尤パス)を決定するアルゴリズムである。ビタビ法の詳細については上述の文献AのP.347に記載されている。
[行動予測部15による経路の探索処理]
次に、行動予測部15による経路の探索処理について説明する。
学習により得られたHMMの各状態siは、地図上の所定の点(位置)を表し、状態siと状態sjが結ばれているとき、状態siから状態sjを移動する経路を表していると考えることができる。
この場合、状態siに対応する各点は、端点、通過点、分岐点、ループのいずれかに分類することができる。端点とは、自己遷移以外の確率が極めて小さく(自己遷移以外の確率が所定の値以下であり)、次に移動可能な点がない点である。通過点とは、自己遷移以外に有意な遷移が一つある、換言すれば、次に移動可能な点が一つある点である。分岐点とは、自己遷移以外に有意な遷移が二つ以上ある、換言すれば、次に移動可能な点が二つ以上ある点である。ループとは、これまで通過した経路上のどれかと一致する点である。
目的地への経路を探索する場合、異なる経路がある場合には、それぞれの経路について必要時間等の情報を提示することが望まれる。そこで、可能な経路を過不足なく探索するために、次の条件を設定する。
(1)一度分岐した経路は再度合流した場合でも、別の経路とみなす。
(2)経路内に端点か、これまで通過した経路内に含まれる点が現れた場合、その経路の探索を終了する。
行動予測部15は、行動認識部14により認識されたユーザの現在の活動状態、即ち、ユーザの現在の点を出発点として、次の移動先としての状態遷移が可能な点を端点、通過点、分岐点、ループのいずれかに分類することを(2)の終了条件まで繰り返す。
行動予測部15は、現在の点が端点であると分類された場合、現在の点をここまでの経路に接続してから、この経路の探索を終了する。
一方、現在の点が通過点であると分類された場合、行動予測部15は、現在の点をここまでの経路に接続してから、次の点へ移動する。
また、現在の点が分岐点であると分類された場合、行動予測部15は、現在の点をこれまでの経路に接続して、さらに分岐の数だけ、これまでの経路を複製し、分岐点と接続する。そして、行動予測部15は、分岐点の1つを次の点として移動する。
現在の点がループであると分類された場合、行動予測部15は、現在の点をこれまでの経路に接続せずに、この経路の探索を終了する。なお、現在の点から、1つ前の点に経路を逆戻りする場合はループに含まれるため考慮しない。
[探索処理の例]
図7は、行動予測部15による経路の探索処理の簡単な例を示している。
図7の例において、状態sが現在地である場合、最終的に3通りの経路が探索されることになる。1つめの経路は、状態sから状態s,状態s等を経由して状態s10までの経路(以下、経路Aともいう。)である。2つめの経路は、状態sから状態s,状態s11,状態s14,状態s23等を経由して状態s29までの経路(以下、経路Bともいう。)である。3つめの経路は、状態sから状態s,状態s11,状態s19,状態s23等を経由して状態s29までの経路(以下、経路Cともいう。)である。
行動予測部15は、探索された各経路が選択される確率(経路の選択確率)を計算する。経路の選択確率は、経路を構成する状態間の遷移確率を順次乗算することで求められる。ただし、次の状態に遷移する場合のみを考慮し、その場所に滞留する場合は考慮する必要がないので、学習により求められた各状態の状態遷移確率aijから、自己遷移確率を除いて規格化された遷移確率[aij]を用いて、経路の選択確率が求められる。
自己遷移確率を除いて規格化された遷移確率[aij]は、次式(3)で表すことができる。
Figure 2011118776
ここで、δは、クロネッカー関数を表し、添え字のiとjが一致するときのみ1となり、それ以外は0となる関数である。
したがって、例えば、図7の状態sの状態遷移確率aijが、自己遷移確率a5,5=0.5,遷移確率a5,6=0.2,遷移確率a5,11=0.3である場合、状態sから状態sまたは状態s11に分岐する場合の遷移確率[a5,6]および遷移確率[a5,11]は、それぞれ、0.4,0.6となる。
探索された経路の状態siのノード番号iが、(y,y,・・・,y)であるとき、この経路の選択確率は、規格化された遷移確率[aij]を用いて、次式(4)で表すことができる。
Figure 2011118776
実際には、通過点での規格化された遷移確率[aij]は1であるので、分岐する際の規格化された遷移確率[aij]を順次乗算すれば足りる。
図7の例では、経路Aの選択確率は、0.4である。また、経路Bの選択確率は、0.24=0.6×0.4である。経路Cの選択確率は、0.36=0.6×0.6である。そして、計算された経路の選択確率の総和は1=0.4+0.24+0.36であり、過不足ない探索を実現することができることがわかる。
以上のように、現在地に基づいて探索された各経路とその選択確率が、行動予測部15から目的地予測部16に供給される。
目的地予測部16は、行動予測部15によって探索された経路から、ユーザが指定した目的地を含む経路を抽出し、抽出された各経路について目的地までの時間を予測する。
例えば、図7の例では、探索された3つの経路A乃至Cのうち、目的地である状態s28を含む経路は経路Bと経路Cである。目的地予測部16は、経路Bまたは経路Cを通って、目的地である状態s28に到達するまでの時間を予測する。
現在時刻tの現在地が状態sy1であり、時刻(t,t,・・・,t)における決定された経路が(sy1,sy2,・・・,syg)であるとする。換言すれば、決定された経路の状態siのノード番号iが(y,y,・・・,y)であるとする。以下、簡単のため、位置に相当する状態siを、単に、そのノード番号iで表わす場合もある。
現在時刻tでの現在地yは、行動認識部14の認識により確定しているので、現在時刻tの現在地がyである確率Py1(t)は、1である。また、現在時刻tにy以外の他の状態にいる確率は0である。
一方、所定の時刻tにノード番号yにいる確率Pyn(t)は、
Figure 2011118776
で表すことができる。式(5)の右辺第一項は、もともとその位置yにいて、自己遷移した場合の確率を表し、右辺第二項は、1つ前の位置yn−1から位置yに遷移してきた場合の確率を表している。式(5)では、経路の選択確率の計算とは異なり、学習により得られた状態遷移確率aijがそのまま利用される。
目的地yへ到達するときの時刻tの予測値<t>は、「その直前の時刻tg−1に目的地yの1つ前の位置yg−1にいて、時刻tに目的地yに移動する確率」を用いて、
Figure 2011118776
と表すことができる。
即ち、予測値<t>は、現在時刻から、「その直前の時刻tg−1に状態sygの1つ前の状態syg−1にいて、時刻tに状態sygに移動するとき」までの時間の期待値で表される。
[行動学習部13の詳細構成例]
図8は、図1の行動学習部13が採用することができる構成の一例を示している。
行動学習部13は、時系列データ記憶部12(図1)に記憶されている位置および移動速度の時系列データを用いて、ユーザの移動軌跡と行動状態を同時に学習する。
行動学習部13は、学習データ変換部31と統合学習部32により構成されている。
学習データ変換部31は、状態系列生成部41と行動モード生成部42により構成される。状態系列生成部41は、位置データの時系列データを、状態ノードsiの時系列データ(状態系列データ)に変換して、統合学習部32に供給する。行動モード生成部42は、移動速度のデータを、行動モードの時系列データ(行動モード系列データ)に変換して、統合学習部32に供給する。
時系列データ記憶部12から供給される位置データの時系列データは、状態系列生成部41に供給される。状態系列生成部41は、図1の行動認識部14と同様の構成を採用することができる。即ち、状態系列生成部41は、学習により得られたパラメータに基づくユーザ活動モデルから、入力されたユーザの現在地に対応する、ユーザの現在の活動状態を認識する。そして、状態系列生成部41は、認識結果としてのユーザの現在の状態ノードsiを、順次、統合学習部32に供給する。
時系列データ記憶部12から供給される移動速度の時系列データは、行動モード生成部42に供給される。行動モード生成部42は、ユーザの行動状態を確率的状態遷移モデルとして学習して得られたパラメータを用いて、供給される移動速度に対応するユーザの行動状態を認識し、認識結果を、順次、行動モードとして統合学習部32に供給する。行動モード生成部42が認識するユーザの行動状態としては、少なくとも滞在状態と移動状態が存在する必要がある。また、移動状態の行動モードを、さらに徒歩、自転車、車などの移動手段によって分類することができる。
[行動モードの分類]
図9は、行動モード生成部42が認識するユーザの行動状態(行動モード)について説明する図である。
図9に示されるように、まず、ユーザの行動状態は、滞在状態と移動状態に分類することができる。予測システム1では、行動モード生成部42が認識するユーザの行動状態としては、上述したように、少なくとも滞在状態と移動状態が存在する必要があるので、この2つに分類することは必須である。
さらに、移動状態は、移動手段によって、電車、車(バスなども含む)、自転車、徒歩に分類することができる。電車は、さらに、特急、快速、ローカルなどに分類することができ、車は、さらに、高速、一般道などに分類することができる。また、徒歩は、走る、普通、散歩などに分類することができる。
予測システム1では、ユーザの行動状態を、図9において斜線で示される“滞在”、“電車(快速)”、“電車(ローカル)”、“車(高速)”、“車(一般道)”、“自転車”、および“徒歩”に分類することとする。なお、“電車(特急)”は、学習データが得られなかったため省略した。
行動モードの分類の仕方が図9に示した例に限定されるものではないことは言うまでもない。また、移動手段による移動速度の変化はユーザによって大きく異なるものではないので、学習データとしての移動速度の時系列データは、認識対象のユーザのものである必要はない。
図8に戻り、統合学習部32は、複数の事象(モーダル)の時系列データを確率的状態遷移モデルにより統合学習する。統合学習部32には、第1の事象の時系列データとして、状態系列データが供給され、第2の事象の時系列データとして、行動モード系列データが供給される。従って、統合学習部32は、状態系列データと行動モード系列データとを用いて、ユーザの活動状態を表す確率的状態遷移モデルとしてのマルチストリームHMMのパラメータλを学習する。
マルチストリームHMMは、通常のHMMと同様な遷移確率を有する状態ノードから、複数の異なる確率法則に従うデータが出力されるようなHMMである。マルチストリームHMMでは、パラメータλのうち、出力確率密度関数bj(x)が時系列データごとに別々に用意される。
この例では、時系列データが、状態系列データと行動モード系列データの2つであるので、出力確率密度関数bj(x)が場所インデックスの時系列データに対応する出力確率密度関数b1j(x)と、行動モードの時系列データに対応する出力確率密度関数b2j(x)とが用意される。出力確率密度関数b1j(x)は、マルチストリームHMMの状態ノードがjであった場合に、地図上のインデックスがxとなる確率である。出力確率密度関数b2j(x)は、マルチストリームHMMの状態ノードがjであった場合に、行動モードがxとなる確率である。したがって、マルチストリームHMMでは、地図上のインデックスと行動モードが関連付けられた形でユーザの活動状態が学習(統合学習)される。
より具体的には、統合学習部32は、各状態ノードの確率(どの状態ノードが出力されるかの確率)と、各状態ノードの出力する行動モードの確率(どの行動のモードが出力されるかの確率)を学習する。学習により得られた統合モデル(マルチストリームHMM)によれば、”滞在状態”の行動モードが確率的に出力されやすい状態ノードが求められる。そして、認識された状態ノードから、目的地候補の場所を認識することができる。さらに、目的地候補の場所が示す緯度経度分布から、目的地の位置を認識することができる。
以上のように、観測される行動モードが“滞在状態”になる確率が高い状態ノードの示す位置がユーザの滞在場所であると推定される。そして、上述したように、“滞在状態”となる場所は多くの場合、目的地であるから、この滞在場所を目的地として推定することができる。
統合学習部32は、学習により得られた、ユーザの活動状態を表すマルチストリームHMMのパラメータλを、行動認識部14、行動予測部15、および目的地予測部16に供給する。
なお、上述した例では、状態系列生成部41と行動モード生成部42において、HMMによりモデル化することで、時系列データ記憶部12から供給される位置および移動速度の時系列データを、状態系列データと行動モード系列データに変換するようにした。
しかし、これ以外の方法によって、位置および移動速度のデータを、状態系列データと行動モード系列データに変換するようにしてもよい。例えば、行動モードについては、GPSセンサ10とは別に、加速度センサやジャイロセンサ等のモーションセンサを用いて、加速度等の検出結果から、ユーザの移動の有無を検出し、行動モードを判定した判定結果を取得するようにしてもよい。この場合、行動モード生成部42は省略することができる。
[目的地到達時間予測処理]
次に、図10および図11のフローチャートを参照して、図1の予測システム1による目的地到達時間予測処理について説明する。
初めに、ステップS51において、行動認識部14は、位置および移動速度の時系列データを取得する。即ち、ステップS51において、GPSセンサ10が、位置データの時系列データを速度演算部11に供給し、速度演算部11が、位置のデータから移動速度を演算して、位置と移動速度のデータを順次行動認識部14に供給する。行動認識部14には、所定のサンプル数の位置と移動速度の時系列データが一時的に記憶される。
ステップS52において、行動認識部14は、学習により得られたパラメータに基づくユーザ活動モデルから、ユーザの現在の活動状態を認識する。即ち、行動認識部14は、ユーザの現在地を認識する。そして、行動認識部14は、ユーザの現在の状態ノードのノード番号を行動予測部15に供給する。
ステップS53において、行動予測部15は、現在探索している状態ノード(以下、適宜、現在の状態ノードともいう。)に対応する点が、端点、通過点、分岐点、またはループのいずれであるかを判定する。ステップS52の処理直後は、ユーザの現在地に対応する状態ノードが現在の状態ノードとなる。
ステップS53で、現在の状態ノードに対応する点が端点であると判定された場合、処理はステップS54に進み、行動予測部15は、現在の状態ノードをここまでの経路に接続し、この経路の探索を終了し、ステップS61に進む。なお、現在の状態ノードが現在地に対応する状態ノードである場合、ここまでの経路は存在しないため、接続する処理は行われない。ステップS55,S57、S60でも同様である。
ステップS53で、現在の状態ノードに対応する点が通過点であると判定された場合、処理はステップS55に進み、行動予測部15は、現在の状態ノードをここまでの経路に接続する。そして、ステップS56において、行動予測部15は、次の状態ノードを現在の状態ノードとし、移動する。ステップS56の処理後、処理はステップS53に戻る。
ステップS53で、現在の状態ノードに対応する点が分岐点であると判定された場合、処理はステップS57に進み、行動予測部15は、現在の状態ノードをここまでの経路と接続する。そして、ステップS58において、行動予測部15は、ここまでの経路を分岐の数だけ複製し、分岐先の状態ノードと接続する。さらにステップS59において、行動予測部15は、複製した経路の1つを選択し、その選択した経路の先の状態ノードを現在の状態ノードとし移動する。ステップS59の処理後、処理はステップS53に戻る。
一方、ステップS53で、現在の状態ノードに対応する点がループであると判定された場合、処理はステップS60に進み、行動予測部15は、現在の状態ノードをここまでの経路と接続せずに、この経路の探索を終了し、ステップS61に進む。
ステップS61において、行動予測部15は、未探索の経路があるかを判定する。ステップS61で、未探索の経路があると判定された場合、処理はステップS62に進み、行動予測部15は、現在地の状態ノードに戻り、未探索の経路の次の状態ノードを現在の状態ノードとし移動する。ステップS62の処理後、処理はステップS53に戻る。これにより、未探索の経路について、端点またはループにより探索が終了するまで経路の探索が実行される。
ステップS61で、未探索の経路がないと判定された場合、処理はステップS63に進み、行動予測部15は、探索された各経路の選択確率(生起確率)を計算する。行動予測部15は、各経路と、その選択確率を目的地予測部16に供給する。
図10のステップS51乃至ステップS63の処理により、ユーザの現在地が認識され、そこからユーザが取りうる経路が過不足なく探索され、各経路の選択確率が計算された後、処理は、図11のステップS64に進む。
ステップS64において、目的地予測部16は、ユーザの目的地を予測する。具体的には、目的地予測部16は、最初に、目的地候補を列挙する。目的地予測部16は、ユーザの行動状態が滞在状態となる場所を目的地候補とする。そして、目的地予測部16は、列挙した目的地候補のうち、行動予測部15により探索された経路上にある目的地候補を目的地に決定する。
ステップS65において、目的地予測部16は、目的地ごとの到達確率を計算する。即ち、目的地予測部16は、複数の経路が存在する目的地については、その複数の経路の選択確率の和を、目的地の到達確率として計算する。1つの経路しかない目的地については、経路の選択確率が、そのまま、目的地の到達確率とされる。
ステップS66で、目的地予測部16は、予測された目的地の数が所定個数より多いかを判定する。ステップS66で、予測された目的地の数が所定個数より多いと判定された場合、処理はステップS67に進み、目的地予測部16は、表示部18に表示する所定個数の目的地を決定する。例えば、目的地予測部16は、目的地の到達確率の高い順に、所定個数の経路を決定することができる。
一方、ステップS66で、予測された目的地の数が所定個数以下であると判定された場合、ステップS67はスキップされる。即ち、この場合、予測された目的地のすべてが表示部18に表示される。
ステップS68において、目的地予測部16は、行動予測部15によって探索された経路から、予測された目的地を含む経路を抽出する。複数の目的地が予測されている場合には、予測された目的地それぞれについて、経路が抽出される。
ステップS69において、目的地予測部16は、抽出された経路の数が提示数として予め設定された所定個数より多いかを判定する。
ステップS69で、抽出された経路の数が所定個数より多いと判定された場合、処理はステップS70に進み、目的地予測部16は、表示部18に表示する所定個数の経路を決定する。例えば、目的地予測部16は、選択される可能性の高い順に、所定個数の経路を決定することができる。
一方、ステップS69で、抽出された経路の数が所定個数以下であると判定された場合、ステップS70の処理がスキップされる。即ち、この場合、目的地に到達するための全ての経路が表示部18に表示される。
ステップS71において、目的地予測部16は、表示部18に表示すると決定された各経路の到達時間を計算し、目的地の到達確率および目的地までの経路と到達時間を表示する画像の信号を表示部18に供給する。
ステップS72において、表示部18は、目的地予測部16から供給される画像の信号に基づいて、目的地の到達確率および目的地までの経路と到達時間を表示して、処理を終了する。
以上のように、図1の予測システム1によれば、位置および移動速度の時系列データから、目的地を予測し、かつ、目的地の到達確率および目的地までの経路と到達時間を算出してユーザに提示することができる。
しかしながら、図1の予測システム1では、学習器の構成として、HMMによる出力結果を後段のHMMの入力とする2段階処理が採用されている。即ち、図8に示したように、状態系列生成部41におけるHMMの出力結果を統合学習部32におけるHMMの入力とする2段階処理が採用されている。このような2段階処理は、学習時間が2倍かかることになり、処理の負荷が大きかった。
<2.本発明の実施の形態>
そこで、上述した先願2の方法よりも、現時刻以降の将来に、特定の場所、あるいは、特定の行動を行う場所にいたる確率、経路、経過時間を予測する予測システムの学習パラメータを、より簡単に学習することができる実施の形態について説明する。即ち、本発明の実施の形態について説明する。
[本発明を適用した予測システムにおける行動学習部の構成例]
図12は、本発明を適用した予測システムにおける行動学習部の構成例を示すブロック図である。
本発明を適用した予測システムは、図1の予測システム1と同様の構成が採用される。ただし、図1の予測システム1における行動学習部13が、図12の行動学習部51に取って代わることにより、行動認識部14、行動予測部15、および目的地予測部16に供給するためのパラメータの学習(算出)が、より簡単となっている。
行動学習部51は、学習データ変換部61とパラメータ演算部62とから構成されている。学習データ変換部61は、図1の行動学習部13における学習データ変換部31(図8)に対応し、パラメータ演算部62は、図1の行動学習部13における統合学習部32(図8)に対応する。
学習データ変換部61は、モデル学習部71、状態系列生成部72、状態系列修正部73、および行動モード生成部74により構成されている。モデル学習部71、状態系列生成部72、および状態系列修正部73の3つが、図8の状態系列生成部41に対応し、行動モード生成部74が、図8の行動モード生成部42に対応する。
一方、パラメータ演算部62は、遷移頻度カウント部81、遷移パラメータ計算部82、状態頻度カウント部83、時系列データ分類部84、および観測パラメータ計算部85により構成されている。
以下、学習データ変換部61およびパラメータ演算部62を構成する各部について説明する。
モデル学習部71は、時系列データ記憶部12から供給される位置データの時系列データに基づいて、ユーザの活動状態を確率的状態遷移モデルとして学習する。時系列データはユーザの位置を示すデータであるので、確率的状態遷移モデルとして学習されるユーザの活動状態は、ユーザの移動軌跡となる。学習に使用される確率的状態遷移モデルとしては、上述の例と同様に、エルゴディックHMMにスパース制約を与えたものを採用する。
モデル学習部71は、学習により得られた学習モデル(HMM)のパラメータを状態系列生成部72と状態系列修正部73に供給する。
状態系列生成部72は、時系列データ記憶部12から供給される位置データの時系列データを、ユーザの現在地(経路)に対応する状態ノードsiの時系列データに変換して、状態系列データを生成し、状態系列修正部73に供給する。具体的には、状態系列生成部72は、モデル学習部71から供給されたパラメータに基づくユーザ活動モデルから、入力されたユーザの現在地に対応するユーザの現在の活動状態を認識する。そして、状態系列生成部72は、認識結果としてのユーザの現在の状態ノードsiを、順次、状態系列修正部73に供給する。
状態系列修正部73は、状態系列生成部72から供給される状態系列データを必要に応じて修正し、修正後の状態系列データを、遷移頻度カウント部81、状態頻度カウント部83、および時系列データ分類部84に供給する。状態系列修正部73で状態系列データの修正がされない場合には、状態系列生成部72から供給される状態系列データが、そのまま、遷移頻度カウント部81、状態頻度カウント部83、および時系列データ分類部84に供給される。従って、以下では、最初に、状態系列生成部72において状態系列データの修正がないものとして説明し、その後で、状態系列生成部72で行われる修正処理について説明する。
行動モード生成部74は、時系列データ記憶部12から供給される移動速度の時系列データから、行動モード系列データ、即ち、行動モードの時系列データを生成して、時系列データ分類部84に供給する。
行動モード生成部74は、上述した図8の行動モード生成部42と同様の方法により、行動モードの時系列データを生成するものでもよいし、それ以外の方法により、行動モードの時系列データを生成するものでもよい。また、上述した先願2の方法と同様に、外部から行動モードの時系列データが供給される場合には、行動モード生成部74を省略し、外部からの行動モードの時系列データをそのまま使用することができる。
遷移頻度カウント部81は、状態系列修正部73から供給される全ての状態系列データを対象として、各状態遷移の頻度をカウントする。即ち、遷移頻度カウント部81は、状態ノードsiから状態ノードsjに移動する経路の頻度(カウント値)をnijと表すと、状態系列修正部73から供給される全ての状態系列データを対象として、各状態遷移の頻度nij(i=1乃至N,j=1乃至N,Nは、時系列データの最後のノード番号(=ノード数))を求める。
遷移パラメータ計算部82は、HMMの状態遷移確率aijに対応する遷移パラメータを計算する。具体的には、遷移パラメータ計算部82は、遷移頻度カウント部81から供給される各状態遷移の頻度nijを基に、式(7)により、遷移確率Aijを計算する。
Figure 2011118776
式(7)により、状態遷移が生じていない遷移確率Aijはゼロとなる。通常のHMMを用いた学習モデルでは、繰り返し回数を十分に大きくしなければ、過去発生しなかった遷移の確率を小さくすることができない。しかし、式(7)によれば、状態遷移が生じていない遷移確率Aijをゼロとすることができるという特徴がある。この特徴は、将来の経路の可能性を探索していくアルゴリズムにおいて、不要な経路の探索を削減するために重要なメリットとなる。
遷移パラメータ計算部82は、計算された遷移確率Aijを、HMMの状態遷移確率aijに対応する遷移パラメータとして出力する。
状態頻度カウント部83は、状態系列修正部73から供給される全ての状態系列データを対象として、状態頻度をカウントする。即ち、状態頻度カウント部83は、状態系列修正部73から供給される全ての状態系列データを対象として、各状態ノードsiの総数cntiをカウントする。カウント結果である各状態ノードsiの総数cntiは、観測パラメータ計算部85に供給される。
時系列データ分類部84には、状態系列修正部73から、状態系列データが供給される。また、時系列データ分類部84には、時系列データ記憶部12から位置データの時系列データが、行動モード生成部74から行動モードの時系列データが供給される。
時系列データ分類部84は、時系列データ記憶部12から順次供給される位置データxを、状態ノードごとに分類し、グループ化する。状態siにおける位置データの集合データXは、次式(8)で表すことができる。
Figure 2011118776
状態ノードsiの総数がcntiであるので、集合データXの要素の個数はcntiとなる。なお、集合データXの各要素である位置のデータxは、詳しくは、緯度、経度、および時刻からなる3次元のデータであるが1次元のように省略して表している。
また、時系列データ分類部84は、行動モード生成部74から順次供給される行動モードmを、状態ノードごとに分類し、グループ化する。状態ノードsiにおける行動モードの集合データMは、次式(9)で表すことができる。
Figure 2011118776
式(9)における集合データMの要素の個数もcntiである。
時系列データ分類部84は、以上のように、位置データと行動モードの時系列データを状態ノードごとに分類した分類結果を観測パラメータ計算部85に供給する。換言すれば、時系列データ分類部84は、各状態ノードの集合データXと集合データMを観測パラメータ計算部85に供給する。
観測パラメータ計算部85は、状態系列修正部73から供給される状態系列データに含まれる全ての状態ノードについて、位置データと行動モードの時系列データそれぞれの観測パラメータを計算する。
位置データの時系列データの観測パラメータとして、観測パラメータ計算部85は、状態頻度カウント部83からの状態ノードsiの総数cntiと時系列データ分類部84からの集合データXを用いて、状態ノードsiの平均値μと標準偏差σを計算する。
Figure 2011118776
この状態ノードsiの平均値μと標準偏差σは、状態ノードsiにおける位置データxの観測確率であり、上述した統合学習部32(図8)が出力するマルチストリームHMMの出力確率密度関数b1(x)に対応する。
なお、要素数が少ない場合を考慮して、標準偏差σについては、所定の値よりも大きいようにする制約を設けてもよい。あるいは、モデル学習部71で学習された標準偏差を流用するようにしてもよい。
さらに、観測パラメータ計算部85は、行動モードの時系列データの観測パラメータとして、状態ノードsiにおける行動モードの集合データMに対し、次式(12)で表される各行動モードmの出現頻度P(s|m)を算出する。
Figure 2011118776
式(12)において、N(M=m)は、集合データMのなかでの行動モードmの個数を表す。
この行動モードmの出現頻度P(s|m)は、状態ノードsiにおける行動モードmの観測確率であり、上述した統合学習部32(図8)が出力するマルチストリームHMMの出力確率密度関数b2(x)に対応する。
観測パラメータ計算部85は、位置データと行動モードの観測確率である、各状態の平均値μと標準偏差σ、および出現頻度P(s|m)を、観測パラメータとして出力する。
以上のように、パラメータ演算部62は、状態系列修正部73から供給される状態系列データと、行動モード生成部74から供給される行動モード系列データとから、第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算することができる。
[パラメータ学習処理]
図13のフローチャートを参照して、図12の行動学習部51が行う学習処理について説明する。なお、この学習処理より前に、モデル学習部71による学習処理が行われ、学習結果としてのパラメータが、状態系列生成部72と状態系列修正部73に供給されているものとする。
初めに、ステップS101において、状態系列生成部72は、時系列データ記憶部12から供給される位置データの時系列データから、状態系列データを生成する。即ち、状態系列生成部72は、位置データの時系列データを状態ノードsiの時系列データに変換して、状態系列修正部73に供給する。
ステップS102において、状態系列修正部73は、状態系列生成部72から供給される状態系列データに対して、状態系列データ修正処理を実行し、修正後の状態系列データを、遷移頻度カウント部81、状態頻度カウント部83、および時系列データ分類部84に供給する。状態系列データ修正処理の詳細については、図14乃至図18を参照して後述する。状態系列データの修正の必要がない場合には、状態系列生成部72から供給される状態系列データが、そのまま、遷移頻度カウント部81、状態頻度カウント部83、および時系列データ分類部84に供給される。
ステップS103において、行動モード生成部74は、時系列データ記憶部12から供給される移動速度の時系列データから、行動モード系列データを生成して、時系列データ分類部84に供給する。
ステップS103の処理は、上述したステップS101およびS102の処理より先に実行してもよいし、ステップS101およびS102の処理と並行して実行してもよい。
ステップS104において、遷移頻度カウント部81は、状態系列修正部73から供給される全ての状態系列データを対象として、各状態遷移の頻度をカウントする。即ち、遷移頻度カウント部81は、各状態遷移の頻度nij(i=1乃至N,j=1乃至N,Nは、時系列データの最後のノード番号(ノード数))を求める。
ステップS105において、遷移パラメータ計算部82は、HMMの状態遷移確率aijに対応する遷移パラメータを計算する。具体的には、遷移パラメータ計算部82は、遷移頻度カウント部81から供給される各状態遷移の頻度nijを基に、上述した式(7)により、遷移確率Aijを計算する。遷移パラメータ計算部82は、計算された遷移確率Aijを、HMMの状態遷移確率aijに対応する遷移パラメータとして出力する。
ステップS106において、状態頻度カウント部83は、状態系列修正部73から供給される全ての状態系列データを対象として、状態頻度をカウントする。即ち、状態頻度カウント部83は、状態系列修正部73から供給される全ての状態系列データを対象として、各状態ノードsiの総数cntiをカウントする。カウント結果である各状態ノードsiの総数cntiは、観測パラメータ計算部85に供給される。
ステップS107において、時系列データ分類部84は、位置データと行動モードの時系列データを状態ノードごとに分類する。即ち、時系列データ分類部84は、時系列データ記憶部12から順次供給される位置データxを、状態ノードごとに分類し、グループ化する。また、時系列データ分類部84は、行動モード生成部74から供給される行動モードの時系列データを、状態ノードごとに分類し、グループ化する。
ステップS108において、観測パラメータ計算部85は、状態系列修正部73から供給される状態系列データに含まれる全ての状態ノードについて、位置データと行動モードの時系列データそれぞれの観測パラメータを計算する。
具体的には、観測パラメータ計算部85は、状態頻度カウント部83からの状態ノードsiの総数cntiと時系列データ分類部84からの集合データXを用いて、状態ノードsiの平均値μと標準偏差σを計算する。
また、観測パラメータ計算部85は、状態ノードsiにおける行動モードの集合データMに対し、式(12)で表される各行動モードmの出現頻度P(s|m)を算出する。
ステップS108において、観測パラメータ計算部85は、計算により得られた、位置データと行動モードの時系列データそれぞれの観測パラメータが、行動認識部14、行動予測部15、および目的地予測部16に供給されると、図13の学習処理が終了する。
図13の学習処理によれば、図8の行動学習部13の統合学習部32が、出力するパラメータをHMMの学習により求めていたのに対して、図12の行動学習部51のパラメータ演算部62は、統計的処理によって求めることができる。従って、行動認識部14、行動予測部15、および目的地予測部16が予測処理に用いるパラメータを、より簡単に求めることができる。即ち、現時刻以降の将来に、特定の場所、あるいは、特定の行動を行う場所にいたる確率、経路、経過時間を予測するための学習パラメータを、より簡単に求めることができる。
[状態系列修正部73による状態系列データの修正処理の説明]
次に、状態系列修正部73が行う、状態系列データの修正処理について説明する。
状態系列修正部73は、状態系列生成部72から供給される状態系列データを、所定の規則に従って修正し、修正後の状態系列データを、遷移頻度カウント部81、状態頻度カウント部83、および時系列データ分類部84に供給する。
本実施の形態では、状態系列修正部73は、状態系列生成部72から供給される状態系列データを、left-to-right型の状態系列データとなるように修正する。
本実施の形態において、状態系列生成部72から供給される状態系列データは、ユーザの移動軌跡を表す、GPSセンサ10が取得したユーザの位置に対応するデータである。ユーザの移動は、ある目的地から他の目的地へのleft-to-right型の状態遷移モデルに近似できると考えられる。また、ユーザがある場所に長時間滞在しているときには、同一の場所が複数の状態ノードで表される場合があるが、1つの状態ノードに集約できると考えられる。
そこで、状態系列修正部73は、状態系列生成部72から供給される状態系列データを、left-to-right型の状態系列データとなるように簡素化する修正を行う。
なお、left-to-right型の状態系列データに対応しやすいように、時系列データ記憶部12に記憶される位置データの時系列データを、1本のデータ系列ではなく、一日ごと、行き若しくは帰りごと、または、目的地(滞在場所)ごと、など、細かく分割されたデータ系列で予め取得することが望ましい。あるいは、時系列データ記憶部12に記憶された1本の位置データの時系列データを、一日ごと、行き若しくは帰りごと、または、目的地(滞在場所)ごとなどに、細かく分割してから利用することが望ましい。
図14は、状態系列修正部73による修正処理を示している。
状態系列修正部73は、状態系列データを、left-to-rightの制約を満たすように修正するために、最初に、状態系列データで、ループ、即ち、同一の状態ノードに戻る部分があるかどうかを探索する。そして、状態系列修正部73は、ループが検出された場合、そのループをマージ(その状態ノードを削除して親ノードに吸収)するか、または、スプリット(新たな状態ノードを生成して分割)する。
より詳しくは、状態系列修正部73は、ループ内のノード数が1つである場合には、マージすることによって、状態系列データを修正し、ループ内のノード数が2以上である場合には、スプリットすることによって、状態系列データを修正する。
[状態系列修正部73のループ修正処理]
図15は、状態系列修正部73によるループ修正処理のフローチャートを示している。状態系列修正部73は、所定のステップ数の状態系列データを記憶する内部メモリを有し、状態系列生成部72から、ある程度のステップ数の状態系列データが内部メモリに蓄積されたとき、この処理が開始される。
初めに、ステップS121において、状態系列修正部73は、状態系列生成部72から供給された状態系列データに対し、注目ノードを決定する。即ち、状態系列修正部73は、状態系列生成部72から供給された状態系列データのなかの先頭の状態ノードを選択し、それを注目ノードとする。
ステップS122において、状態系列修正部73は、注目ノードのノード番号が1つ前のノードと同じかを判定する。状態遷移が自己遷移である場合には、注目ノードのノード番号が同じとなる。従って、換言すれば、状態系列修正部73は、自己遷移であるか否かを判定する。なお、先頭の状態ノードが注目ノードである場合には、注目ノードのノード番号が1つ前のノードと同じであると判定する。
ステップS122で、注目ノードのノード番号が1つ前のノードと同じであると判定された場合、処理は後述するステップS127に進む。
一方、ステップS122で、注目ノードのノード番号が1つ前のノードと同じではないと判定された場合、処理はステップS123に進み、状態系列修正部73は、注目ノードが過去の状態系列に存在するかを判定する。状態系列データにループが存在し、ループして過去の状態系列に戻ってきたとき、ステップS123において、注目ノードが過去の状態系列に存在すると判定される。
ステップS123で、注目ノードが過去の状態系列に存在しないと判定された場合、処理は後述するステップS127に進む。
一方、ステップS123で、注目ノードが過去の状態系列に存在すると判定された場合、処理はステップS124に進み、状態系列修正部73は、ループ内のノード数が1つであるかを判定する。
ステップS124で、ループ内のノード数が1つであると判定された場合、ステップS125において、状態系列修正部73は、ループのノードを親ノード(戻り先のノード)にマージする。
ステップS124で、ループ内のノード数が2以上であると判定された場合、ステップS126において、状態系列修正部73は、新しいノードを生成し、分割する。
ステップS125またはS126の処理後、ステップS127において、状態系列データに、注目ノードの次のノードがあるかを判定する。
ステップS127で、注目ノードの次のノードがあると判定された場合、ステップS128において、状態系列修正部73は、次のノードを注目ノードに決定し、処理をステップS122に戻す。
一方、ステップS127で、注目ノードの次のノードがないと判定された場合、即ち、状態系列生成部72から供給された状態系列データの全ての状態ノードについてループを探索した場合、処理は終了する。
状態系列修正部73は、以上の処理を行うことにより、状態系列生成部72から供給される状態系列データを修正して、修正後の状態系列データを、遷移頻度カウント部81、状態頻度カウント部83、および時系列データ分類部84に供給する。
なお、本実施の形態では、状態系列修正部73が、検出されたループを、マージまたはスプリットのいずれで修正するかを、ループ内のノード数が1つであるか否かによって判断した。しかし、マージまたはスプリットのいずれで修正した場合に尤度が高くなるか、または、学習モデルの複雑さなど、その他の判断基準で、マージまたはスプリットのいずれで修正するかを判断するようにしてもよい。
また、他の情報が使える場合にはそれを用いて、マージまたはスプリットのいずれで修正するかを判断することも可能である。たとえば、ループ内のノードが1つであっても、例えば、目的地候補のノードなど、重要なノードであるかもしれない。このような場合は、マージでなくて、スプリットの処理をすべきである。また、ループ内のノード数が2以上あっても、いずれも重要でないノードかもしれない。また、あるいは、全ノード数に制約があってこれ以上増やせない場合なども考えられる。このような場合には、状況に応じて変更をすればよい。
[状態系列修正部73によるその他の修正処理の説明]
次に、状態系列修正部73による状態系列データのその他の修正処理の例を説明する。
図16は、1つのノードが複数の系列で共有されている共有ノードを修正する処理の例を示している。
図16の上段の状態遷移図において、斜線を付して示される真ん中のノードは、共有ノードとなっている。即ち、共有ノードの前後のノードは、それぞれ別々のノードとなっている。状態系列修正部73は、図16の下段の状態遷移図のように、共有ノードをスプリット(新たな状態ノードを生成して分割)し、2つの系列に、元の状態系列データを修正する。
ノードの尤度が低い場合には、本来別々のノードになるべきところが、初期条件、モデルのノード数の不足などで、学習時にローカルミニマムに陥って、このような共有ノードとなることがある。位置データを表すノードで、ノードの尤度が低い場合とは、ノードが示す位置(中心位置)と、実際のデータの位置との距離が大きい場合を意味する。
状態系列修正部73には、共有ノードをスプリットする処理を、状態系列データの修正処理として行わせることで、初期条件、モデルのノード数の不足などで発生した共有ノードを解消することができる。換言すれば、モデル学習部71による拘束条件(スパース制約によるエルゴディックHMM)では実現できない処理を、状態系列修正部73で事後的(付加的に)実現することができる。
[状態系列修正部73の共有ノード修正処理]
図17は、状態系列修正部73による共有ノード修正処理のフローチャートを示している。状態系列生成部72から、全ての状態系列データが内部メモリに蓄積されたとき、この処理が開始される。
初めに、ステップS141において、状態系列修正部73は、内部メモリに記憶されている状態系列データのなかで、尤度が所定値以下のノードである低尤度ノードを検索して、ステップS142に進む。本実施の形態では、学習により得られたノードの中心位置と、実際のデータの位置との距離が大きいノードが、低尤度ノードとなる。
ステップS142において、状態系列修正部73は、低尤度ノードが検出されたかを判定する。
ステップS142で、低尤度ノードが検出されたと判定された場合、処理はステップS143に進み、状態系列修正部73は、検出された低尤度ノードを注目ノードに決定する。
ステップS144において、状態系列修正部73は、注目ノードが共有ノードであるかを判定する。ステップS144で、注目ノードが共有ノードではないと判定された場合、処理はステップS141に戻る。
一方、ステップS144で、注目ノードが共有ノードであると判定された場合、処理はステップS145に進み、状態系列修正部73は、前後のノードが複数あるかを判定する。
ステップS145で、前後のノードのいずれかが複数ないと判定された場合、処理はステップS141に戻る。一方、ステップS145で、前後のノードのいずれもが複数あると判定された場合、処理はステップS146に進み、状態系列修正部73は、新しいノードを生成することにより、元の状態系列データを、2つの系列に修正する。ステップS146の処理後も、処理はステップS141に戻る。
そして、上述したステップS141乃至S146の処理を繰り返し実行することで、全ての低尤度ノードが順次検出され、共有ノードがスプリットされる。
全ての低尤度ノードが検出された場合、ステップS142で、低尤度ノードが検出されなかったと判定され、処理がステップS147に進む。そして、ステップS147において、状態系列修正部73は、元の状態系列データに対し修正がなされた修正後の状態系列データを出力して、処理を終了する。低尤度ノードが1つも検出されない場合には、元の状態系列データがそのまま出力される。
状態系列修正部73は、以上のような共有ノード修正処理を行って、状態系列生成部72から供給される状態系列データを修正することができる。
なお、図16および図17に示した処理では、前と後ろの両方について複数の系列がある場合のみ、ノードをスプリットするようにした。しかし、図18右側に示すように、前または後ろのいずれか一方のみ、複数の系列がある場合であっても、ノードをスプリットするようにしてもよい。
また、図18左側に示すように、前と後ろの両方で複数の系列が存在しない場合であっても、スプリットした方がノードの尤度が高くなる場合には、スプリットするようにしてもよい。いずれの場合においても、スプリットすることにより、尤度が修正前より高くなることが条件である。また、図18左側に示すように、前と後ろの両方で複数の系列が存在しない場合のスプリットでは、修正前後でステップ数が変わらないように、修正対象のノードにおいて、自己遷移が発生していることも条件となる。
以上のような状態系列修正部73による状態系列データの修正処理によれば、状態系列データに拘束を新しく加えるのみならず、学習でローカルミニマムに陥って十分、尤度を高くすることができなかった場合などの修正が可能である。
図16および図17に示した処理では、学習データに対する尤度のチェックを行っているが、学習データと同時に得られた他のデータによる尤度のチェックを行うようにしてもよい。他のデータ系列のうち、学習モデルの中の状態遷移に影響を及ぼすものがあれば、通常、マルチモーダルモデルとして学習することになる。しかし、そのデータ系列の寄与が大きくなかったりあるいは、不定であるならば、寄与の大きなデータのみで学習するようにして、学習されたモデルから得られる状態系列データを状態系列修正部73における修正時にのみ、その影響を反映させることで、寄与の少ない時系列データが学習モデルに必要以上の影響を与えるのを回避することができる。
[行動学習部51の効果の検証]
図19乃至図21を参照して、先願2の方法と比較した、行動学習部51の効果について説明する。
図19は、先願2の方法を用いてあるユーザの行動パターンを学習したときの学習結果を示している。従って、学習モデルは、スパース制約を与えたエルゴディックHMMである。
図19に示される小さい楕円は、学習により得られた各状態ノードを示している。状態ノードの個数は400個とした。楕円は、状態ノードの観測パラメータμを中心としσに応じた大きさとなるように描画されている。
また、学習結果としては、各状態ノードが、目的地ノード(滞在ノード)か、または、移動ノードであるかが分類されているが、図面の制約上、図19ではその区別を表現できないため、目的地ノードがある場所を、大きな円で追記している。
図20は、図19の学習モデルにおける状態ノード間の遷移関係をより見やすくするため、書き直した図である。図20では、円で示した各ノードを格子状に並べて、その遷移が0ではないものだけを矢印で接続して表現している。従って、矢印の接続がないノード間は、その遷移確率が0であることを意味している。各ノードの濃さは、目的地ノードかそうでないかを区別しており、目的地ノードは薄いグレイの円で示され、それ以外は、黒の円で示している。なお、図20において、目的地ノードの一部について「目的地」と付している。
図20の学習結果では、ノード間の遷移が多数存在する。換言すれば、単に、スパース制約を与えたエルゴディックHMMを学習モデルとした場合には、ノード間の遷移が多数となる。先願2の方法では、この多数の遷移によって考えられる多数の経路を探索するので、経路探索に時間がかかり処理が重くなることが予想される。しかし、この処理を簡略化するため、分岐点で、確率の低い経路を切り捨てる処理をすると、切り捨てられた経路のもつ確率分が目的地到達確率に反映されなくなるので、到達確率が低くなってしまうので、そのような処理はできない。
図21は、行動学習部51による学習結果を示している。図示の仕方は、図20と同様である。
図21を参照すると、ノード間の遷移確率が0でない遷移が大幅に削減されていることがわかる。即ち、ノード間の遷移の数が大幅に削減されていることがわかる。従って、目的地の自動探索、経路探索、確率計算、時間予測などの処理を、より高速化することができる。
また、行動学習部51による学習結果では、図21のように、もともと分岐の数が削減されているので、確率の低い経路を切り捨てる処理をする必要がなく、目的地への到達確率が低くなるということもない。なお、実質的には、行動学習部51においても、確率の低い経路を切り捨てる処理が行われていることになるが、先願2の方法のような、目的地への到達確率が低くなるという現象は顕著には発生しない。
また、図21の学習結果では、薄いグレイの円で示される目的地ノードも大幅に削減されている。従って、行動学習部51では、先願2の方法よりも、目的地ノードの数も大きく抑制することができる。
次に、図22乃至図24を参照して、状態系列修正部73が、ループ修正処理を行うことにより、状態系列データを修正した場合の効果について説明する。
図22は、図19の例とは異なるユーザの行動パターンを、モデル学習部71が学習したときの学習結果を示している。図22で示される学習モデルは、学習した時系列データに、同一経路を通った位置データを使っているにもかかわらず、日によって、位置データが欠落するなどした結果、複数の分岐経路が生じているようなモデルとなっている。この結果、予測処理に非常に長い時間がかかるものとなっている。
図22において、ノードの上部に描かれた太線の実線は、予測処理の結果である予測経路を示している。
図23は、図22の学習モデルおよび予測経路を、図20のように格子状に配列させ、予測経路が存在する一部の状態ノードについて拡大して示した図である。
図23において、グレイの太線の実線が、予測経路、即ち、図9に示した予測経路と対応する。
図23に示すように、モデル学習部71の学習結果には、図14に示したような“T”の字のループの経路が存在する。図23では、学習結果に含まれる“T”の字のようなループの経路の4か所を、太線の丸で囲んで示している。このようなループが1つあると、このループ以降の探索経路は2倍になる。
そこで、状態系列修正部73が、図14および図15を参照して説明したように、元の状態系列データを、left-to-right型の状態系列データとなるように修正する。
図24は、ループ修正処理の処理前後を示している。図23において太線の丸で囲んで示した4か所について、同様に示している。
図24を参照して明らかなように、元の状態系列データで存在していたループが、修正後の状態系列データでは、消滅している。このように、状態系列修正部73のループ修正処理によって、ループを排除することができる。
図14および図15のループ修正処理では、スパース制約の拘束条件を与えたエルゴディックHMMに対して、left-to-right型の拘束条件をさらに与えるように学習モデルを修正したということができる。即ち、学習時の初期条件によるスパース制約の拘束条件では実現できない制約条件を、状態系列修正部73で実現することができる。
一方、図16および図17の共有ノード修正処理では、尤度の低下しているノードを選んで、尤度をより高くする修正を行うことができる。これは、学習時にローカルミニマムに陥ったとしても、それを回避する方策となることを意味している。さらに、学習に用いなかった別の条件をこの修正処理で取り込むこともできる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図25は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、ドライブ210、およびGPSセンサ211が接続されている。
入力部206は、キーボード、マウス、マイクロホンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体212を駆動する。GPSセンサ211は、図1のGPSセンサ10に対応する。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体212に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブル記録媒体212をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 予測システム, 61 学習データ変換部, 62 パラメータ演算部, 71 モデル学習部, 72 状態系列生成部, 73 状態系列修正部, 81 遷移頻度カウント部, 82 遷移パラメータ計算部, 83 状態カウント部, 84 時系列データ分類部, 85 観測パラメータ計算部, 201 CPU, 202 ROM, 203 RAM, 208 記憶部

Claims (10)

  1. 第1の事象と第2の事象の時系列データのうちの前記第1の事象の時系列データから、前記第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成する状態系列生成手段と、
    前記第1の事象の時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算する演算手段と
    を備えるデータ処理装置。
  2. 前記第1の事象の時系列データは、ユーザの位置データの時系列データであり、
    前記第2の事象の時系列データは、前記ユーザの行動モードの時系列データであり、
    前記状態系列生成手段は、前記ユーザの位置データの時系列データから、前記ユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成し、
    前記演算手段は、前記位置データの時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記確率的状態遷移モデルのパラメータを演算する
    請求項1に記載のデータ処理装置。
  3. 前記状態系列生成手段は、前記確率的状態遷移モデルとして隠れマルコフモデルを採用し、学習により求めた前記隠れマルコフモデルのパラメータを用いて、前記ユーザの位置データの時系列データから、前記状態ノードの時系列データを生成する
    請求項2に記載のデータ処理装置。
  4. 前記演算手段は、
    前記状態ノードの時系列データに対し、各状態の頻度と各状態遷移の頻度をカウントするカウント手段と、
    前記時系列データを対応する状態ノードで分離して、各状態ノードに分類された前記時系列データの統計量を計算する統計量計算手段とを有し、
    前記各状態の頻度と各状態遷移の頻度と、各状態ノードに分類された前記時系列データの統計量から、前記隠れマルコフモデルの遷移確率と観測確率を計算する
    請求項3に記載のデータ処理装置。
  5. 前記状態系列生成手段が生成した前記状態ノードの時系列データを修正する状態系列修正手段をさらに備える
    請求項4に記載のデータ処理装置。
  6. 前記状態系列修正手段は、状態遷移に新たな制約を満たすように、前記状態ノードの時系列データを修正する
    請求項5に記載のデータ処理装置。
  7. 前記状態系列修正手段は、状態ノードの尤度が高くなるように、前記状態ノードの時系列データを修正する
    請求項5に記載のデータ処理装置。
  8. 前記状態系列修正手段は、さらに別の情報によって区別することで、前記状態ノードの時系列データを修正する
    請求項5に記載のデータ処理装置。
  9. 状態系列生成手段と演算手段とを備え、第1の事象と第2の事象の確率的状態遷移モデルのパラメータを出力するデータ処理装置の
    前記状態系列生成手段が、前記第1の事象と第2の事象の時系列データのうちの前記第1の事象の時系列データから、前記第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成し、
    前記演算手段が、前記第1の事象の時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算する
    データ処理方法。
  10. コンピュータに、
    第1の事象と第2の事象の時系列データのうちの前記第1の事象の時系列データから、前記第1の事象の状態遷移モデルを確率的状態遷移モデルとして表したときの状態ノードの時系列データを生成する状態系列生成手段と、
    前記第1の事象の時系列データおよび前記状態ノードの時系列データを用いて、前記状態ノードの出現頻度、状態ノード間の遷移の出現頻度、および状態ノードに対応する前記時系列データのパラメータを計算することにより、前記第1の事象と第2の事象の確率的状態遷移モデルのパラメータを演算する演算手段
    として機能させるためのプログラム。
JP2009276999A 2009-12-04 2009-12-04 データ処理装置、データ処理方法、およびプログラム Withdrawn JP2011118776A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009276999A JP2011118776A (ja) 2009-12-04 2009-12-04 データ処理装置、データ処理方法、およびプログラム
US12/954,194 US20110137833A1 (en) 2009-12-04 2010-11-24 Data processing apparatus, data processing method and program
CN2010105737285A CN102183252A (zh) 2009-12-04 2010-11-26 数据处理装置、数据处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009276999A JP2011118776A (ja) 2009-12-04 2009-12-04 データ処理装置、データ処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2011118776A true JP2011118776A (ja) 2011-06-16

Family

ID=44082980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009276999A Withdrawn JP2011118776A (ja) 2009-12-04 2009-12-04 データ処理装置、データ処理方法、およびプログラム

Country Status (3)

Country Link
US (1) US20110137833A1 (ja)
JP (1) JP2011118776A (ja)
CN (1) CN102183252A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100287A1 (ko) * 2011-12-29 2013-07-04 Song Ha Yoon 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
KR101365993B1 (ko) * 2011-12-29 2014-02-21 홍익대학교 산학협력단 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
KR101369261B1 (ko) 2012-02-10 2014-03-06 서울대학교산학협력단 스마트 단말을 이용한 사용자의 이동 경로 실시간 예측 방법 및 그 시스템
KR101425891B1 (ko) * 2012-10-26 2014-08-01 홍익대학교 산학협력단 사용자 예측위치를 이용한 홍보 서비스 제공방법 및 이를 위한 시스템
KR101446099B1 (ko) * 2013-03-04 2014-10-07 서울대학교산학협력단 스마트 단말을 이용한 안정적인 사용자의 이동 경로 실시간 예측 방법 및 그 시스템
JP2015049726A (ja) * 2013-09-02 2015-03-16 本田技研工業株式会社 観測値の予測装置及び観測値の予測方法
JPWO2013168495A1 (ja) * 2012-05-10 2016-01-07 日本電気株式会社 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
KR101603921B1 (ko) * 2014-05-15 2016-03-17 에스케이텔레콤 주식회사 이동체의 이동성 예측 방법 및 이를 위한 장치
JP2016218579A (ja) * 2015-05-15 2016-12-22 日本電信電話株式会社 推定方法、装置、及びプログラム
JP2019101687A (ja) * 2017-11-30 2019-06-24 日本電信電話株式会社 系列データ解析装置、系列データ解析方法及びプログラム
JP2022068552A (ja) * 2020-10-22 2022-05-10 株式会社サイバーエージェント 画像生成プログラム、画像生成装置及び画像生成方法
WO2023209938A1 (ja) * 2022-04-28 2023-11-02 楽天グループ株式会社 情報処理装置、情報処理方法、プログラム、および学習モデル

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10065628B2 (en) * 2011-05-09 2018-09-04 Ford Global Technologies, Llc Location enhanced distance until charge (DUC) estimation for a plug-in hybrid electric vehicle (PHEV)
JP2013205171A (ja) * 2012-03-28 2013-10-07 Sony Corp 情報処理装置、情報処理方法、およびプログラム
CN103365731B (zh) * 2013-06-28 2016-07-06 中国科学院计算技术研究所 一种降低处理器软错误率的方法和系统
US10445444B2 (en) * 2014-08-01 2019-10-15 Nec Corporation Flow rate prediction device, mixing ratio estimation device, method, and computer-readable recording medium
US9984154B2 (en) * 2015-05-01 2018-05-29 Morpho Detection, Llc Systems and methods for analyzing time series data based on event transitions
US10110634B2 (en) * 2016-02-04 2018-10-23 Amadeus S.A.S. Monitoring user authenticity in distributed system
JP6796015B2 (ja) * 2017-03-30 2020-12-02 キヤノン株式会社 シーケンス生成装置およびその制御方法
US20190004926A1 (en) * 2017-06-29 2019-01-03 Nicira, Inc. Methods and systems that probabilistically generate testing loads
CN108319704B (zh) * 2018-02-05 2020-11-06 北京中关村科金技术有限公司 一种分析数据的方法、装置、设备及存储介质
US11481647B1 (en) * 2019-03-19 2022-10-25 Humana Inc. Determining high impact features for a prediction of a machine learning model
US11201893B2 (en) 2019-10-08 2021-12-14 The Boeing Company Systems and methods for performing cybersecurity risk assessments
AU2021269370A1 (en) 2020-12-18 2022-07-07 The Boeing Company Systems and methods for context aware cybersecurity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134080A (ja) * 2004-11-05 2006-05-25 Ntt Docomo Inc 携帯端末、及び、個人適応型コンテキスト獲得方法
JP5028751B2 (ja) * 2005-06-09 2012-09-19 ソニー株式会社 行動認識装置
JP5018120B2 (ja) * 2007-02-19 2012-09-05 Kddi株式会社 携帯端末、プログラム及び携帯端末への表示画面制御方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100287A1 (ko) * 2011-12-29 2013-07-04 Song Ha Yoon 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
KR101365993B1 (ko) * 2011-12-29 2014-02-21 홍익대학교 산학협력단 데이터처리방법, 데이터처리장치, 데이터수집방법, 및 정보제공방법
US9846736B2 (en) 2011-12-29 2017-12-19 Sangsu-Dong, Hongik University Data processing method, data processing device, data collecting method and information providing method
KR101369261B1 (ko) 2012-02-10 2014-03-06 서울대학교산학협력단 스마트 단말을 이용한 사용자의 이동 경로 실시간 예측 방법 및 그 시스템
JPWO2013168495A1 (ja) * 2012-05-10 2016-01-07 日本電気株式会社 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
KR101425891B1 (ko) * 2012-10-26 2014-08-01 홍익대학교 산학협력단 사용자 예측위치를 이용한 홍보 서비스 제공방법 및 이를 위한 시스템
KR101446099B1 (ko) * 2013-03-04 2014-10-07 서울대학교산학협력단 스마트 단말을 이용한 안정적인 사용자의 이동 경로 실시간 예측 방법 및 그 시스템
JP2015049726A (ja) * 2013-09-02 2015-03-16 本田技研工業株式会社 観測値の予測装置及び観測値の予測方法
KR101603921B1 (ko) * 2014-05-15 2016-03-17 에스케이텔레콤 주식회사 이동체의 이동성 예측 방법 및 이를 위한 장치
JP2016218579A (ja) * 2015-05-15 2016-12-22 日本電信電話株式会社 推定方法、装置、及びプログラム
JP2019101687A (ja) * 2017-11-30 2019-06-24 日本電信電話株式会社 系列データ解析装置、系列データ解析方法及びプログラム
JP2022068552A (ja) * 2020-10-22 2022-05-10 株式会社サイバーエージェント 画像生成プログラム、画像生成装置及び画像生成方法
JP7094342B2 (ja) 2020-10-22 2022-07-01 株式会社サイバーエージェント 画像生成プログラム、画像生成装置及び画像生成方法
WO2023209938A1 (ja) * 2022-04-28 2023-11-02 楽天グループ株式会社 情報処理装置、情報処理方法、プログラム、および学習モデル
JP7401716B1 (ja) * 2022-04-28 2023-12-19 楽天グループ株式会社 情報処理装置、情報処理方法、プログラム、および学習モデル

Also Published As

Publication number Publication date
US20110137833A1 (en) 2011-06-09
CN102183252A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
JP2011118776A (ja) データ処理装置、データ処理方法、およびプログラム
JP5495014B2 (ja) データ処理装置、データ処理方法、およびプログラム
US8572008B2 (en) Learning apparatus and method, prediction apparatus and method, and program
JP2011252844A (ja) データ処理装置、データ処理方法、およびプログラム
JP2012008659A (ja) データ処理装置、データ処理方法、およびプログラム
WO2012066951A1 (ja) データ処理装置、データ処理方法、およびプログラム
Dabiri et al. Inferring transportation modes from GPS trajectories using a convolutional neural network
US20110137831A1 (en) Learning apparatus, learning method and program
US20110313956A1 (en) Information processing apparatus, information processing method and program
Liu et al. End-to-end trajectory transportation mode classification using Bi-LSTM recurrent neural network
US9285235B2 (en) Information processing device, information processing method, and program
CN108108831B (zh) 一种目的地预测方法及装置
US8725510B2 (en) HMM learning device and method, program, and recording medium
JP5070574B2 (ja) 局所交通量予測プログラム生成装置、局所交通量予測装置、局所交通量予測プログラム生成方法、局所交通量予測方法及びプログラム
JP2011059924A5 (ja)
Anagnostopoulos et al. Efficient location prediction in mobile cellular networks
Ozdemir et al. A hybrid HMM model for travel path inference with sparse GPS samples
Guo et al. Transportation mode recognition with deep forest based on GPS data
JP5664398B2 (ja) 情報処理装置、情報処理方法、およびプログラム
Singh et al. A Directed Graph and GRUs Based Trajectory Forecasting of Intelligent and Automated Transportation System for Consumer Electronics
CN116541721B (zh) 一种面向信令数据的定位与路网匹配方法及系统
JP5845604B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US9547983B2 (en) Analysis method and analyzing device
Khan et al. Roadcrowd: an approach to road traffic forecasting at junctions using crowd-sourcing and Bayesian model
JP7147293B2 (ja) 移動手段推定装置、方法、及びプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130205