(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-07
(45)【発行日】2024-08-16
(54)【発明の名称】学習方法、予測方法、学習装置、予測装置、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240808BHJP
G06N 5/04 20230101ALI20240808BHJP
【FI】
G06N20/00
G06N5/04
(21)【出願番号】P 2021067324
(22)【出願日】2021-04-12
【審査請求日】2023-10-04
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】大川 真耶
(72)【発明者】
【氏名】戸田 浩之
(72)【発明者】
【氏名】鹿島 久嗣
【審査官】佐藤 直樹
(56)【参考文献】
【文献】国際公開第2021/002008(WO,A1)
【文献】特開2020-071750(JP,A)
【文献】特開2019-101687(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 5/04
(57)【特許請求の範囲】
【請求項1】
複数ドメインにおけるイベントの履歴を表すイベント履歴情報を取得する取得手順と、
前記取得手順で取得されたイベント履歴情報を用いて、前記複数ドメイン間で共通する潜在状態の時間変化を表すブラックボックス関数の積分とトリガー関数との第1の合成関数と、前記ブラックボックス関数と、バックグラウンドレートとで表されるインテンシティ関数のパラメータを学習する学習手順と、
をコンピュータが実行する学習方法。
【請求項2】
前記トリガー関数と前記バックグラウンドレートは、前記ドメインごとに異なる、請求項1に記載の学習方法。
【請求項3】
前記ブラックボックス関数の積分はニューラルネットワーク関数である、請求項1又は2に記載の学習方法。
【請求項4】
前記学習手順は、
前記トリガー関数と前記ブラックボックス関数との第2の合成関数と、前記ブラックボックス関数との積の積分を変数変換により解析的に解くことで、前記第2の合成関数と前記ブラックボックス関数との積の積分と、前記バックグラウンドレートとで構成される尤度を最小化し、前記インテンシティ関数のパラメータを学習する、請求項1乃至3の何れか一項に記載の学習方法。
【請求項5】
複数ドメインにおけるイベントの履歴を表すイベント履歴情報を取得する取得手順と、
前記取得手順で取得されたイベント履歴情報を用いて、前記複数ドメイン間で共通する潜在状態の時間変化を表すブラックボックス関数の積分とトリガー関数との第1の合成関数と、前記ブラックボックス関数と、バックグラウンドレートとで表されるインテンシティ関数のパラメータを学習する学習手順と、
前記学習手順で学習されたパラメータを設定したインテンシティ関数により、前記複数のドメインにおける将来のイベントの発生を予測する予測手順と、
をコンピュータが実行する予測方法。
【請求項6】
複数ドメインにおけるイベントの履歴を表すイベント履歴情報を取得する取得部と、
前記取得部で取得されたイベント履歴情報を用いて、前記複数ドメイン間で共通する潜在状態の時間変化を表すブラックボックス関数の積分とトリガー関数との第1の合成関数と、前記ブラックボックス関数と、バックグラウンドレートとで表されるインテンシティ関数のパラメータを学習する学習部と、
を有する学習装置。
【請求項7】
複数ドメインにおけるイベントの履歴を表すイベント履歴情報を取得する取得部と、
前記取得部で取得されたイベント履歴情報を用いて、前記複数ドメイン間で共通する潜在状態の時間変化を表すブラックボックス関数の積分とトリガー関数との第1の合成関数と、前記ブラックボックス関数と、バックグラウンドレートとで表されるインテンシティ関数のパラメータを学習する学習部と、
前記学習部で学習されたパラメータを設定したインテンシティ関数により、前記複数のドメインにおける将来のイベントの発生を予測する予測部と、
を有する予測装置。
【請求項8】
コンピュータに、請求項1乃至4の何れか一項に記載の学習方法、又は、請求項5に記載の予測方法、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習方法、予測方法、学習装置、予測装置、及びプログラムに関する。
【背景技術】
【0002】
イベント系列のモデル化には、点過程と呼ばれる確率モデルが広く用いられている。点過程は微小区間におけるイベントの発生数を記述するためのモデルで、「インテンシティ関数」を用いて任意の時刻におけるイベントの発生確率を記述する。
【0003】
イベント系列の中でも、特に犯罪、金融取引、デモやストライキの発生履歴等といったイベント系列は「伝播性」を持つことが知られている。伝播性とは或るイベントが別のイベントを引き起こし、そのイベントがまた別のイベントを引き起こすという事象が連鎖的に続く、といった性質のことである。例えば、或る地域でデモが起きるとそれに呼応して別のデモが起き、そのデモが更に別の地域に広がっていく、といった現象は伝播性を持つイベント系列で表される。このような伝播性を持つイベント系列のモデル化にはHawkes過程が広く用いられている。Hawkes過程は点過程の一種であり、伝播のメカニズムをカーネル関数と呼ばれる関数でモデル化することで、伝播性を持つイベント系列を記述することができる。
【0004】
ここで、通常、Hawkes過程は単一ドメインへの適用に焦点を当てたもので、複数のドメインにおけるイベント系列のモデル化にはそのまま適用することができない。これに対して、複数のドメインにおけるイベント系列のモデル化を可能とした「マルチタスクHawkes過程」というモデルが提案されている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0005】
【文献】Luo, Dixin, et al. Multi-task multi-dimensional hawkes processes for modeling event sequences. (2015).
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記の非特許文献1で提案されているモデルは、或るドメインにおいてイベントが発生した際、それに応じて別のドメインでのイベント発生確率が高まる、という強い仮定を置いている。そのため、複数のドメイン間の共通潜在因子を介した間接的な関係を記述することができない。一方で、実際には、ドメインごとのイベントの発生確率は共通潜在因子を介して間接的に関係していると考えられる。例えば、犯罪と金融取引という異なるドメインにおける2つのイベントは、景気の変化という共通潜在因子を介して関係していると考えられる。
【0007】
本発明の一実施形態は、上記の点に鑑みてなされたもので、共通潜在因子を介した間接的な関係も考慮して、複数のドメインにおけるイベント系列を予測することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、一実施形態に係る学習方法は、複数ドメインにおけるイベントの履歴を表すイベント履歴情報を取得する取得手順と、前記取得手順で取得されたイベント履歴情報を用いて、前記複数ドメイン間で共通する潜在状態の時間変化を表すブラックボックス関数の積分とトリガー関数との第1の合成関数と、前記ブラックボックス関数と、バックグラウンドレートとで表されるインテンシティ関数のパラメータを学習する学習手順と、をコンピュータが実行する。
【発明の効果】
【0009】
共通潜在因子を介した間接的な関係も考慮して、複数のドメインにおけるイベント系列を予測することができる。
【図面の簡単な説明】
【0010】
【
図2】本実施形態に係るイベント予測装置の全体構成の一例を示す図である。
【
図3】本実施形態に係るパラメータ学習処理の一例を示すフローチャートである。
【
図4】本実施形態に係る予測処理の一例を示すフローチャートである。
【
図5】本実施形態に係るイベント予測装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について説明する。本実施形態では、共通潜在因子を介した複数ドメイン間の間接的な関係も考慮した点過程モデルを構築し、この点過程モデルにより複数ドメイン間におけるイベントの発生を予測するイベント予測装置10について説明する。
【0012】
ここで、点過程モデルは一般に「インテンシティ関数」(又は「強度関数」)と呼ばれる関数で記述され、このインテンシティ関数はイベントの発生確率を表す。本実施形態では、潜在状態の変化を表す関数を導入し、それを用いてHawkes過程のインテンシティ関数を記述することで、複数ドメイン間の共通潜在因子を介した間接的な関係を考慮できるようにする。これにより、複数ドメインにおけるイベント系列の正確なモデル化が可能となり、未来のイベントの発生を高い精度で予測できるようになる。
【0013】
<理論的構成>
まず、本実施形態の理論的構成について説明する。本実施形態では、時刻t1から時刻tNまでのイベントの履歴を表すイベント履歴情報が与えられるものとする。イベント履歴情報は時刻の系列で表されるデータであり、例えば、犯罪の発生履歴、金融取引の履歴、デモやストライキの発生履歴等を表すデータである。以下、イベント予測装置10で解析対象となるイベント履歴情報を
【0014】
【数1】
と表す。ここで、t
iは時刻(イベント発生時刻)、m
iは時刻t
iに発生したイベントのドメイン、Nはデータ数(イベント数)である。また、ドメインの数をMとする。
【0015】
イベント履歴情報の具体例を
図1に示す。
図1に示す例は、ドメイン「犯罪」のイベント系列と、ドメイン「金融取引」のイベント系列と、ドメイン「ストライキ」のイベント系列とで構成されるイベント履歴情報である。すなわち、
図1に示すイベント履歴情報{(t
i,m
i)}は、各i=1,・・・,Nに対して、時刻t
iにドメインm
i∈{犯罪,金融取引,ストライキ}のイベントが発生したことを表している。
【0016】
このとき、本実施形態では、与えられたイベント履歴情報を用いて、点過程モデルのパラメータを学習する。
【0017】
一般的な点過程モデルの手続きに従い、まずインテンシティ関数の設計を行う。インテンシティ関数は単位時間当たりにイベントが発生(又は生成)する確率を表す関数である。
【0018】
本実施形態では、ドメインmのインテンシティ関数λm(・)を以下の式(1)で表す。
【0019】
【数2】
ここで、μ
mは「バックグラウンドレート」と呼ばれ、過去のイベントに依らないイベントの発生確率を表す。本実施形態では、簡単のため、時間変化しない定数μ
mを用いるが、以下の説明はμ
mが時間に依存して変化する場合にも容易に一般化することが可能である。また、g
m(・)は既存のHawkes過程モデルで用いられるトリガー関数であり、例えば、指数減衰関数、ワイブル分布、ガンマ分布等が広く用いられている。本実施形態では、ドメインmごとに異なるバックグラウンドレートとトリガー関数を仮定する。f(t)は潜在状態の時間変化を表す任意のブラックボックス関数であり、例えば、景気の変化等を表す。上記の式(1)に示す定式化は、犯罪や金融取引等の複数ドメインにまたがるイベントの発生が共通の潜在状態f(t)によって時間変化するという仮定に基づいている。
【0020】
【数3】
は現在時刻tと過去のイベントの発生時刻t
jに依存する関数であり、以下の式(2)でモデル化される。
【0021】
【数4】
ここで、F(t)は潜在状態の時間変化を表す関数f(t)の積分である。本実施形態では、F(t)をニューラルネットワークによりモデル化する。この定式化により、尤度関数をニューラルネットワーク関数F(t)とその微分f(t)のみを用いて書き下すことが可能になる。
【0022】
時刻Tまでのイベント系列
【0023】
【数5】
が与えられたとき、本実施形態における点過程モデルの尤度Lは以下の式(3)のように書き下すことができる。
【0024】
【数6】
Hawkes過程の学習においては、上記の式(3)のΛ
iに含まれる積分が問題になる。ニューラルネットワーク関数を含む関数の積分は一般に困難であるが、上記の式(1)及び(2)の定式化によりΛ
iの積分を解析的に解くことができる。すなわち、x=F(t)-F(t
j)と変数変換を行うことで、f(t)dt=dxの置き換えが可能になる。これをΛ
iに代入することで、以下の式(4)が得られる。
【0025】
【数7】
ここで、G
m(・)はトリガー関数g
m(・)の積分であり、指数減衰関数、ワイブル分布、ガンマ分布等の多くのトリガー関数g
m(・)について解析解が得られる。
【0026】
そして、学習時には、上記の式(3)に示す尤度Lを最小化するようなニューラルネットワーク関数f(・)のパラメータを推定する。なお、パラメータの最適化には既知の任意の最適化手法を用いればよい。上記の式(3)に示す尤度Lは全てのパラメータに関して微分可能であるため、例えば、勾配法等を用いて最適化することができる。なお、尤度Lの微分は、例えば、誤差逆伝播法等により計算することができる。
【0027】
<全体構成>
次に、本実施形態に係るイベント予測装置10の全体構成について、
図2を参照しながら説明する。
図2は、本実施形態に係るイベント予測装置10の全体構成の一例を示す図である。
【0028】
図2に示すように、本実施形態に係るイベント予測装置10は、取得部101と、パラメータ学習部102と、指定受付部103と、予測部104と、出力部105と、パラメータ記憶部106とを有する。
【0029】
取得部101は、イベント予測装置10と通信ネットワークを介して接続されるイベント履歴情報格納装置20からイベント履歴情報を取得する。
【0030】
ここで、イベント履歴情報格納装置20は、例えば、イベント履歴情報を格納するWebサーバやデータベースサーバ等である。なお、イベント履歴情報格納装置20に格納されるイベント履歴情報の操作(登録、削除、修正等)は、例えば、イベント履歴情報格納装置20と通信ネットワークを介して接続される端末(この端末は、イベント予測装置10であってもよいし、イベント履歴情報格納装置20自身であってもよい)等を用いて行うことが可能である。
【0031】
パラメータ学習部102は、取得部101によって取得されたイベント履歴情報を用いて、上記の式(1)に示すインテンシティ関数λm(t)のパラメータ(つまり、このインテンシティ関数λm(t)に組み込まれているニューラルネットワーク関数f(t)のパラメータ)を学習する。このとき、パラメータ学習部102は、既知の任意の最適化手法(例えば、勾配法等)により、上記の式(3)に示す尤度Lを最小化させることで、当該パラメータを学習する。パラメータ学習部102によって学習されたパラメータ(学習済みパラメータ)は、パラメータ記憶部106に格納される。
【0032】
指定受付部103は、学習済みパラメータが設定されたインテンシティ関数λm(t)を用いてドメインmにおけるイベントの発生を予測する際に、予測対象となる時刻の指定を受け付ける。なお、例えば、イベントの種類等によっては時刻以外の情報の指定が受け付けられてもよい(例えば、犯罪の発生を予測する場合は、予測対象とする地域を示す情報の指定が受け付けられてもよい。)。
【0033】
予測部104は、学習済みのパラメータが設定されたインテンシティ関数λm(t)を用いて、指定受付部103が受け付けた時刻におけるイベントの発生を予測する。このとき、予測部104は、例えば、予測対象となる時刻までのイベントの発生確率を当該インテンシティ関数λm(t)により計算して、点過程シミュレーションを行うことでイベントの発生を予測する。なお、点過程シミュレーションを行う手法は様々なものが存在するが、例えば、thinningと呼ばれる手法を用いることができる。thinningについては、例えば、参考文献「OGATA, Yosihiko. On Lewis' simulation method for point processes. IEEE Transactions on Information Theory, 1981, 27.1: 23-31.」等を参照されたい。
【0034】
出力部105は、予測部104による予測結果を出力する。なお、出力部105は任意の出力先に当該出力結果を出力すればよい。例えば、出力部105は、予測結果をディスプレイ等に表示してもよいし、補助記憶装置等の記憶領域に格納してもよいし、プリンタ等から印刷してもよいし、スピーカ等から音として出力してもよいし、通信ネットワークを介して外部の装置に送信してもよい。
【0035】
なお、
図2に示すイベント予測装置10の構成は一例であって、他の構成であってもよい。例えば、イベント履歴情報格納装置20からイベント履歴情報を取得するのではなく、イベント予測装置10が、これらのイベント履歴情報を保持していてもよい。また、例えば、イベント予測装置10は、後述するパラメータ学習処理を実行する装置(学習装置)と、後述する予測処理を実行する装置(予測装置)とで構成されていてもよい。
【0036】
<パラメータ学習処理>
次に、上記の式(1)に示すインテンシティ関数λ
m(t)のパラメータ(つまり、ニューラルネットワーク関数f(t)のパラメータ)を学習する処理の流れについて、
図3を参照しながら説明する。
図3は、本実施形態に係るパラメータ学習処理の一例を示すフローチャートである。
【0037】
まず、取得部101は、イベント履歴情報格納装置20からイベント履歴情報を取得する(ステップS101)。なお、このとき、イベント予測装置10のユーザは、例えば、イベント履歴情報として取得される範囲(例えば時間的な範囲、場所的な範囲等)を指定してもよい。
【0038】
次に、パラメータ学習部102は、上記のステップS101で取得されたイベント履歴情報を用いて、上記の式(1)に示すインテンシティ関数λm(t)のパラメータを学習する(ステップS102)。このとき、パラメータ学習部102は、既知の任意の最適化手法により、上記の式(3)に示す尤度Lを最小化させることで、上記の式(1)に示すインテンシティ関数λm(t)のパラメータを学習する。
【0039】
そして、パラメータ学習部102は、上記のステップS102で学習されたパラメータ(学習済みパラメータ)をパラメータ記憶部106に格納する(ステップS103)。これにより、共通潜在因子を介した複数ドメイン間の間接的な関係を考慮することが可能となり、学習済みパラメータを設定したインテンシティ関数λm(t)によってドメインmにおけるイベントの発生を高い精度で予測することが可能となる。
【0040】
<予測処理>
次に、学習済みパラメータが設定されたインテンシティ関数λ
m(t)を用いてドメインmにおけるイベントの発生を予測する処理の流れについて、
図4を参照しながら説明する。
図4は、本実施形態に係る予測処理の一例を示すフローチャートである。
【0041】
まず、指定受付部103は、予測対象となる時刻の指定を受け付ける(ステップS201)。なお、予測対象となる時刻は、例えば、イベント予測装置10のディスプレイに表示されたUI(ユーザインタフェース)上でユーザが指定することができる。また、このとき、特定のドメインmのみを予測対象とする場合は、そのドメインmの指定を受け付けてもよい。
【0042】
次に、予測部104は、パラメータ記憶部106に記憶されている学習済みのパラメータが設定されたインテンシティ関数λm(t)を用いて、上記のステップS201で受け付けられた時刻におけるイベントの発生を予測する(ステップS202)。
【0043】
そして、出力部105は、上記のステップS202における予測結果を、予め決められた出力先に出力する(ステップS203)。
【0044】
<ハードウェア構成>
最後に、本実施形態に係るイベント予測装置10のハードウェア構成について、
図5を参照しながら説明する。
図5は、本実施形態に係るイベント予測装置10のハードウェア構成の一例を示す図である。
【0045】
図5に示すように、本実施形態に係るイベント予測装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置301と、表示装置302と、外部I/F303と、通信I/F304と、プロセッサ305と、メモリ装置306とを有する。これら各ハードウェアは、それぞれがバス307を介して通信可能に接続されている。
【0046】
入力装置301は、例えば、キーボードやマウス、タッチパネル等である。表示装置302は、例えば、ディスプレイ等である。なお、イベント予測装置10は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくてもよい。
【0047】
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。イベント予測装置10は、外部I/F303を介して、記録媒体303aの読み取りや書き込み等を行うことができる。記録媒体303aには、例えば、イベント予測装置10が有する各機能部(取得部101、パラメータ学習部102、指定受付部103、予測部104及び出力部105等)を実現する1以上のプログラムが格納されていてもよい。
【0048】
なお、記録媒体303aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0049】
通信I/F304は、イベント予測装置10を通信ネットワークに接続するためのインタフェースである。イベント予測装置10は、通信I/F304を介して、イベント履歴情報格納装置20からイベント履歴情報を取得することができる。なお、イベント予測装置10が有する各機能部を実現する1以上のプログラムは、通信I/F304を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0050】
プロセッサ305は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。イベント予測装置10が有する各機能部は、メモリ装置306等に格納されている1以上のプログラムがプロセッサ305に実行させる処理により実現される。
【0051】
メモリ装置306は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。イベント予測装置10が有するパラメータ記憶部106は、メモリ装置306を用いて実現可能である。
【0052】
本実施形態に係るイベント予測装置10は、
図5に示すハードウェア構成を有することにより、上述したパラメータ学習処理及び予測処理を実現することができる。なお、
図5に示すハードウェア構成は一例であって、イベント予測装置10は、他のハードウェア構成を有していてもよい。例えば、イベント予測装置10は、複数のプロセッサ305を有していてもよいし、複数のメモリ装置306を有していてもよい。
【0053】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0054】
10 イベント予測装置
20 イベント履歴情報格納装置
101 取得部
102 パラメータ学習部
103 指定受付部
104 予測部
105 出力部
106 パラメータ記憶部
301 入力装置
302 表示装置
303 外部I/F
303a 記録媒体
304 通信I/F
305 プロセッサ
306 メモリ装置
307 バス