JP2014130520A - リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム - Google Patents
リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2014130520A JP2014130520A JP2012288537A JP2012288537A JP2014130520A JP 2014130520 A JP2014130520 A JP 2014130520A JP 2012288537 A JP2012288537 A JP 2012288537A JP 2012288537 A JP2012288537 A JP 2012288537A JP 2014130520 A JP2014130520 A JP 2014130520A
- Authority
- JP
- Japan
- Prior art keywords
- action
- return
- state
- risk
- function
- 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.)
- Pending
Links
Images
Abstract
【課題】リスクを抑制して期待リターンを最大化するアクションを選択する方策を、リソース制約条件を考慮しつつマルコフ決定過程を用いて最適化する方法、装置及びコンピュータプログラムを提供する。
【解決手段】コンピュータシステムを用いて、複数のユーザに対して各期に渡って所定のアクションを実行した場合にとり得る各期の状態それぞれについて、リスクを考慮した最適アクションを決定するための方法である。コンピュータシステムが、現在の方策を用いた場合の、状態とアクションとに条件付けられたリターンの分布を推定し、推定されたリターンの分布に基づいて、リスクを考慮した評価関数(制約関数)を推定し、とり得るアクションのリソース制約と推定された評価関数とに基づくリターンのリスクの制約の元、推定された評価関数に基づく目的関数を用いて方策を改善する
【選択図】図4
【解決手段】コンピュータシステムを用いて、複数のユーザに対して各期に渡って所定のアクションを実行した場合にとり得る各期の状態それぞれについて、リスクを考慮した最適アクションを決定するための方法である。コンピュータシステムが、現在の方策を用いた場合の、状態とアクションとに条件付けられたリターンの分布を推定し、推定されたリターンの分布に基づいて、リスクを考慮した評価関数(制約関数)を推定し、とり得るアクションのリソース制約と推定された評価関数とに基づくリターンのリスクの制約の元、推定された評価関数に基づく目的関数を用いて方策を改善する
【選択図】図4
Description
本発明は、リスクを抑制して期待リターンを最大化するアクションを選択する方策の探索を、マルコフ決定過程を用いて最適化する方法、コンピュータシステム及びコンピュータプログラムに関する。
リスクを考慮して意思決定する必要がある事象は、多く存在する。健康管理プログラムを例に挙げると、ある時刻ある状態で一のアクション、例えば電話をかける、インストラクターが訪問する等のアクションが選択されることにより、プログラム参加者の状態は次の状態へと遷移し、システムは(予めに定められた)状態とアクションと次の状態の報酬関数から報酬(=即時リターン)を計算する。計算された報酬の累積値は確率変数であり、以下リターンと呼ぶ。リターンの期待値を期待リターン、リターンのリスク値を単純にリスクと呼ぶ。
しかし、プログラム参加者ごとに現時刻の状態が異なるので、たとえ同じアクションを選択した場合であっても、遷移する次の状態が相違することが多い。また、参加者ごとに個性があるため、たとえ同じ状態で同じアクションを選択した場合であっても、遷移する次の状態が相違することも多い。
例えばジョギング、ランニング等の運動の種類に応じてプログラム参加者ごとに消費エネルギー、最高心拍数等の効果を定量的に測定することができる。効果の度合いをリターンとした場合、プログラム参加者ごとにリスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化することが必要になる。方策を最適化するべく、状態遷移の予測、あるいはアクションの選択手法として、マルコフ決定過程を用いることが良く知られており、例えば特許文献1乃至3に詳細に開示されている。
しかし、マルコフ決定過程を用いて状態遷移の予測、アクションの選択等を行う場合、プログラム参加者ごとにマルコフモデルを構築する必要があり、プログラム参加者ごとに別個のマルコフモデルを構築することができた場合であっても、リソース制約条件を考慮することができなかった。
例えば電話をかけるというアクションが期待リターンを最大化することが分かっている場合であっても、電話をかけるオペレータ数に比べてプログラム参加者が非常に多いときには、オペレータが一日に電話をかけることができる最大本数がリソース制約条件となる。このようなリソース制約条件を考慮した上で、リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法はいまだ開示されていない。
本発明は斯かる事情に鑑みてなされたものであり、リスクを抑制して期待リターンを最大化するアクションを選択する方策を、リソース制約条件を考慮しつつマルコフ決定過程を用いて最適化する方法、装置及びコンピュータプログラムを提供することを目的とする。
上記目的を達成するために第1発明に係る方法は、コンピュータシステムを用いて、複数のユーザに対して各期に渡って所定のアクションを実行した場合にとり得る各期の状態それぞれについて、リスクを考慮した最適アクションを決定するための方法において、前記コンピュータシステムが、現在の方策を用いた場合の、前記状態と前記アクションとに条件付けられたリターンの分布を推定するステップと、推定されたリターンの分布に基づいて、リスクを考慮した評価関数を推定するステップと、とり得る前記アクションのリソース制約と推定された前記評価関数とに基づくリターンのリスクの制約の元、推定された前記評価関数に基づく目的関数を用いて前記方策を改善するステップとを含む。
また、第2発明に係る方法は、第1発明において、前記状態は、前記複数のユーザを複数のクラスタにクラスタリングし、各クラスタに属するユーザの数を示す特徴ベクトルにより表現されるシステム状態である。
また、第3明に係る方法は、第1発明において、前記リターンの分布が予め定められた範囲に収束するまで、前記リターンの分布を推定するステップ、前記評価関数を推定するステップ、及び前記方策を改善するステップを繰り返す。
また、第4明に係る方法は、第3発明において、前記リターンの分布が予め定められた範囲に収束することを条件に、収束した後のリターンの分布を用いて、前記リソース制約と前記リターンのリスクの制約の元、前記目的関数を最大化するアクションをユーザごとに演算するステップを含む。
また、第5発明に係る方法は、第1発明において、前記複数のユーザは健康管理プログラムの参加者であり、前記所定のアクションは前記参加者の健康に影響を与え得るアクションであり、前記参加者の健康は定量的に観測可能とする。
次に、上記目的を達成するために第6発明に係るコンピュータプログラムは、コンピュータシステムで実行されるコンピュータプログラムであり、実行されることにより前記コンピュータシステムに請求項1乃至5のいずれか一項に記載の方法を実行させる。
次に、上記目的を達成するために第7発明に係るコンピュータシステムは、複数のユーザに対して各期に渡って所定のアクションを実行した場合にとり得る各期の状態それぞれについて、リスクを考慮した最適アクションを決定するためのコンピュータシステムであって、現在の方策を用いた場合の、前記状態と前記アクションとに条件付けられたリターンの分布を推定する手段と、推定されたリターンの分布に基づいて、リスクを考慮した評価関数を推定する手段と、とり得る前記アクションのリソース制約と推定された前記評価関数とに基づくリターンのリスクの制約の元、推定された前記評価関数に基づく目的関数を用いて前記方策を改善する手段とを備える。
本発明によれば、マルコフ決定過程を用いて状態遷移の予測、アクションの選択等を行う場合であっても、任意の時刻における即時効果が最大となるアクションではなく、将来にわたる累積効果が最大となるアクションを選択することができる。また、リスクだけではなく、リソース制約条件も考慮に入れて方策を算出することができるので、現実には選択することができないアクションを選択することを未然に回避することができる。さらに、ユーザごとの特性を差分関数として推定関数に含めることができるので、個々のユーザに適したアクションを選択することが可能となる。
以下、本発明の実施の形態に係る、アクションを選択する方策を最適化する方法を具現化するコンピュータシステムについて、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。
以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入した装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、アクションを選択する方策を最適化するコンピュータシステムというハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、DVD、CD、光記憶装置、磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。
本発明の実施の形態によれば、マルコフ決定過程を用いて状態遷移の予測、アクションの選択等を行う場合であっても、任意の時刻におけるリターンが最大となるアクションではなく、将来にわたる累積効果が最大となるアクションを選択することができる。また、リスクだけではなく、リソース制約条件も考慮に入れて方策を算出することができるので、現実には選択することができないアクションを選択することを未然に回避することができる。さらに、ユーザごとの特性を差分関数として推定関数に含めることができるので、個々のユーザに適したアクションを選択することが可能となる。
図1は、本発明の実施の形態に係るコンピュータシステムの構成を模式的に示すブロック図である。本発明の実施の形態に係るコンピュータシステム1は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、ビデオインタフェース15、可搬型ディスクドライブ16、通信インタフェース17及び上述したハードウェアを接続する内部バス18で構成されている。
CPU11は、内部バス18を介してコンピュータシステム1の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置13に記憶されたコンピュータプログラム100に従って、種々のソフトウェア的機能を実行する。メモリ12は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム100の実行時にロードモジュールが展開され、コンピュータプログラム100の実行時に発生する一時的なデータ等を記憶する。
記憶装置13は、内蔵される固定型記憶装置(ハードディスク)、ROM等で構成されている。記憶装置13に記憶されたコンピュータプログラム100は、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体90から、可搬型ディスクドライブ16によりダウンロードされ、実行時には記憶装置13からメモリ12へ展開して実行される。もちろん、通信インタフェース17を介して接続されている外部コンピュータからダウンロードされたコンピュータプログラムであっても良い。
通信インタフェース17は内部バス18に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部コンピュータ等とデータ送受信を行うことが可能となっている。
I/Oインタフェース14は、キーボード21、マウス22等の入力装置と接続され、データの入力を受け付ける。ビデオインタフェース15は、CRTディスプレイ、液晶ディスプレイ等の表示装置23と接続され、所定の画像を表示する。
図2は、本発明の実施の形態に係るコンピュータシステム1の機能ブロック図である。図2において、コンピュータシステム1の状態関数特定部201は、記憶装置13のユーザデータ記憶部131に記憶してある、少なくともユーザの識別情報、アクションに関する情報、該アクションを実行する前後の状態に関する情報を含む複数のユーザデータyを読み出し、ユーザごとに状態を算出する状態関数hを特定する。
ここで、ユーザデータyとは、アクション、アクションの実行前後の観測ベクトルx、x’、及びユーザを識別する識別情報であるユーザIDの4つを一組とし、長期間にわたって観測した観測データとして取得されたベクトル値である。図3は、本発明の実施の形態に係るコンピュータシステム1の記憶装置13のユーザデータ記憶部131に記憶されているユーザデータyのデータ構成の例示図である。
図3に示すように、ユーザIDごとに、選択されたアクションが記憶されており、アクションごとに、前の状態、後の状態として、前の観測ベクトルx、後の観測ベクトルx’がそれぞれ記憶されている。実際には、アクションによる状態遷移を複数の時刻で観測したユーザデータyを収集し、ユーザごとに記憶する。
図2に戻って、状態関数特定部201は、ユーザデータyを読み出して学習することにより、ユーザごとの状態を示すユーザ状態を算出する状態関数hを特定する。
次に、報酬関数設定部202及び評価関数設定部203において、報酬値rを算出する報酬関数Rと、リスク指標を算出する評価関数fを、それぞれ設定する。報酬関数Rは、観測ベクトルx、アクションa、次の観測ベクトルx’から、所定のスカラ値rを返す関数である(式1)。なお、(式1)では、次の観測ベクトルx’をx+1と表している。
評価関数fは、ユーザデータyごとにリスク指標、例えば期待値を算出する関数であり、報酬値rに所定の割引率γを乗算した値の総和(確率変数)であるリターンηの分布pハットを引数とした関数である。すなわち、評価関数fは(式2)で、リターンηは(式3)で、それぞれ表すことができる。なお、リターンηの分布pハットは、推定関数に基づいて推定することができる。したがって、推定関数を学習することにより、リターンηの分布pハットをより正確に求めることができ、リターンηの分布pハットを正確に求めることによりアクションaの選択確率を正確に求めることができる。
なお、評価関数fを示す(式2)において、dは評価関数fを識別する識別子である。pハットのiはユーザを識別する識別子である。
次に、最適化問題設定部204は、アクションaの選択確率とアクションaの評価関数fd (d∈[1,・・・,D])とを乗算した値の総和(以下、制約関数と呼ぶ)がpi より大きくなる方策(アクションaの選択確率)の集合のうち、アクションaの選択確率とアクションaの評価関数f0 とを乗算した値の総和(以下、目的関数と呼ぶ)が最大となるアクションaの選択確率を算出するための最適化問題を設定する。設定される最適化問題は(式4)のように表すことができ、リターンηに関する制約の元、リターンηのリスク値を最大とする報酬値rを出力するよう方策π(ここではアクションaの選択確率として)を求めることになる。
なお、(式4)において、iはユーザの種類を、jはアクションaの種類を、それぞれ示しており、重み付け係数wをそれぞれに定める。通常はw=w0=w1=1であるので、重み付け係数wは、ユーザの種類i、アクションaの種類jに依存しない。また、(式4)の第2式は例えばライフタイムバリューにより設定される(リターンηの)制約条件である。(*)は後述する(式5)で定まるリソース制約条件である。
ユーザデータ取得部205でユーザデータyを取得し、状態推算部206は、特定された状態関数hを用いて、取得したユーザデータyから状態sを推算する。方策算出部207は、推算した次の状態s’を満たすように、(式5)の制約の元、(式1)〜(式3)を用いて(式4)の最適化問題を解いて、次のアクションaの選択確率として方策πを算出する。方策πを求めるには、周知の線形計画法を用いることができる。
より具体的には、ユーザごとのリターン分布関数を推定する推定関数を用いる。推定関数は、リターンηの分布pハットを推定する関数であり、推定関数に基づいてリターンηが最大となるアクションaを選択する方策πを算出する。ここで、初回は推定関数を初期化しておき、状態s及び選択したアクションa、次の状態s’、報酬値rによって推定関数を更新していくことにより、最適な推定関数を学習することができる。
取得したユーザデータy(観測ベクトルx)及び算出した方策πで選択したアクションaに基づいて、ユーザデータ記憶部131から次の時刻のユーザデータy(観測ベクトルx’)を取得し、取得したユーザデータyから状態関数hを用いてユーザごとの次の状態s’を推算する。報酬値算出部208は、報酬関数Rを用いて状態、次の状態s’及び選択したアクションaから報酬値rを算出する。
推定関数更新部209は、ユーザごとの状態s、次の状態s’、及び算出した報酬値rに基づいて、リターンηの分布pハットを推定する推定関数を更新する。判断部210は、推定関数の学習の終了条件を具備しているか否かを判断する。判断部210で、終了条件を具備していないと判断した場合には、再更新部211は、ユーザデータy(観測ベクトルx’)を新たなユーザデータy(観測ベクトルx)として、推算した次の状態s’を状態sとして、それぞれ上述した処理を繰り返す。判断部210で、終了条件を具備していると判断した場合には、出力部212は、その時点の推定関数を方策π(推定分布関数)として出力する。
なお、本実施の形態では、終了条件を具備していないと判断した場合、算出したユーザデータy(観測ベクトルx’)を新たなユーザデータy(観測ベクトルx)として、推算した次の状態s’を状態sとしているが、具体的には、時刻tを単位時間だけインクリメントして、再度推定関数を更新することに他ならない。
また、本実施の形態では、制約条件受付部213により、アクションaの選択に関するリソース制約条件の入力を受け付けても良い。複数のアクションa及び該アクションaごとに推算されたそれぞれの次の状態s’、並びに入力を受け付けたリソース制約条件に基づいて、推定関数を用いてリターンηが最大となるアクションaを選択する方策πを算出する。
例えば、3つのアクションa1、a2、a3からなるアクションセットが準備されている場合、方策πは、アクションごとの選択確率の集合としてユーザごとに算出される。(式5)では、ユーザの種類iについて、確率πi a1 、πi a2 、πi a3 でアクションa1、a2、a3を選択する場合のリソース制約条件を第4式で表している。
(式5)では、bj の大きさによって、リソース制約条件を定めている。bj は、例えば電話をかける本数の上限値、訪問回数の上限値に相当する確率和である。(式4)の最適化問題を解く場合に、リソース制約条件を考慮することにより、より実態に即した方策πを求めることができる。
また、推定関数は、すべてのユーザに対する基礎となる基礎推定関数と、ユーザごとに該基礎推定関数からの差分を示す差分関数との和とすることもできる。この場合、推定関数更新部209は、算出した報酬値rに基づいて差分関数を更新すれば足りる。したがって、ユーザごとに最適な方策πを容易に求めることが可能となる。
図4は、本発明の実施の形態に係るコンピュータシステム1のCPU11の処理手順を示すフローチャートである。図4において、コンピュータシステム1のCPU11は、記憶装置13のユーザデータ記憶部131に記憶してある、少なくともユーザの識別情報、アクションaに関する情報、該アクションaを実行する前後の状態に関する情報を含む複数のユーザデータyを読み出し、ユーザごとに状態を算出する状態関数hを特定する(ステップS401)。
次に、CPU11は、報酬値rを算出する報酬関数Rと、リスク指標を算出する目的関数fを、それぞれ設定し(ステップS402)、アクションaの選択確率と選択されたアクションaの目的関数fとを乗算した値の総和が最大となるアクションaの選択確率を算出するための最適化問題を設定する(ステップS403)。
CPU11は、時刻t=0におけるユーザデータyを取得する(ステップS404)。取得するユーザデータyは、観測ベクトルx0 及びユーザを識別する識別情報であるユーザIDである。
CPU11は、特定された状態関数hを用いて、取得したユーザデータyから状態sを推算し(ステップS405)、(式5)の制約の元、(式1)〜(式3)を用いて(式4)の最適化問題を解いて、次のアクションaの選択確率として方策πを算出する(ステップS406)。方策πを求めるには、周知の線形計画法を用いることができる。求めた方策πからアクション(セット)aを決定する(ステップS407)。
CPU11は、取得したユーザデータy(観測ベクトルx)及び算出したアクションaに基づいて、次の時刻のユーザデータy(観測ベクトルx’)を取得し(ステップS408)、取得したユーザデータyから状態関数hを用いてユーザごとの次の状態s’を推算し(ステップS409)、報酬関数Rを用いて状態s及び選択したアクションa、次の状態s’から報酬値rを算出する(ステップS410)。
CPU11は、ユーザごとの状態s、次の状態s’、及び算出した報酬値rに基づいて、リターンηの分布pハットを推定する推定関数を更新する(ステップS411)。CPU11は、推定関数の学習の終了条件を具備しているか否かを判断する(ステップS412)。
CPU11が、終了条件を具備していないと判断した場合(ステップS412:NO)、CPU11は、生成したユーザデータy(観測ベクトルx’)を新たなユーザデータy(観測ベクトルx)として、推算した次の状態s’を状態sとして、すなわち次の時刻へ進めて(ステップS413)、処理をステップS406へ戻して上述した処理を繰り返す。CPU11が、終了条件を具備していると判断した場合(ステップS412:YES)、CPU11は、その時点の推定関数を方策π(推定分布関数)として出力する(ステップS414)。
なお、本実施の形態でアクションaの選択に関するリソース制約条件の入力を受け付ける場合、ステップS406の前に入力を受け付けることが好ましい。(式4)の最適化問題を解く場合に、リソース制約条件を考慮することにより、より実態に即した方策πを求めることができるからである。
上述した実施の形態に係るコンピュータシステム1は、多様なアプリケーション、例えば健康維持/管理プログラムに適用することもできる。例えば健康維持/管理プログラムの参加者それぞれに対して、限られたリソースの元、適切なタイミングで、適切なアクションaを選択するよう制御することができる。本システムでは、制約付きリスク考慮型強化学習の手法を採用する。本システムの前提としては、第1に、健康維持/管理プログラムの参加者(以下、単に参加者と呼ぶ)から、健康維持/管理プログラムの成果を測定するデータが得られるものとする。つまり、選択されたたアクションa(例えば、参加者に電話をかける、メールを出す、インストラクターが送迎する、何らかの割引クーポンを送付する等)の後、どのような効果(ジョギングを行った距離、時間、歩数、消費エネルギー、最高心拍数、血中酸素濃度等)がその参加者にあったのかを定量的に観測できるものとする。なお、斯かる(即時)効果を報酬とも呼ぶ。第2の前提は、アクションと効果とを一対のデータとして、過去、十分長期間にわたり、十分多数の参加者について取得されているものとする。
このような前提の元で、解決すべき問題設定としては、以下の二つである。第1に、いつ、どのようなアクション(セット)を選択すると、将来にわたって効果(報酬)の累積値を最大化することができるか、という問題である。第2に、選択するアクション(セット)は無制限に選択出来るわけではなく、健康維持/管理プログラム運営上の制約が存在する(例えば、参加者全員に電話をかけることはできない)、という問題である。
このような問題を解決するために、本システムでは、制約付きリスク考慮型強化学習の手法を採用する。つまり、選択できるアクション(セット)の制約の元、リスク−センシティブ ポリシー イタレイション(risk−sensitive policy iteration)と呼ばれる手法により、アクション選択のルール(方策π)を最適化するものである。最適化に際して、その前処理として、
1.観測値から参加者をクラスタリングすること(各クラスタがマフコフ決定過程の各状態に対応)
2.報酬関数Rと目的関数を定義(報酬和をリターンと呼び、場合によってはLTV(Life Time Value)に対応する。)
3.リターンηの分布の初期化(リターンηの分布が方策πを規定する)
を行う。
1.観測値から参加者をクラスタリングすること(各クラスタがマフコフ決定過程の各状態に対応)
2.報酬関数Rと目的関数を定義(報酬和をリターンと呼び、場合によってはLTV(Life Time Value)に対応する。)
3.リターンηの分布の初期化(リターンηの分布が方策πを規定する)
を行う。
前処理が完了した時点で、最適化処理としては、例えばリターンηの分布が収束するまで、
1.現在の方策πを用いた場合の(状態とアクションとで条件付けられた)リターンηの分布を推定する
2.推定されたリターンηの分布から、リスク指標(例えば、CVaR(Conditional Value at Risk))を計算する
3.アクションセット制約の元、推定されたリスク指標を用いて方策πを改善する
の3つの処理を繰り返す。
1.現在の方策πを用いた場合の(状態とアクションとで条件付けられた)リターンηの分布を推定する
2.推定されたリターンηの分布から、リスク指標(例えば、CVaR(Conditional Value at Risk))を計算する
3.アクションセット制約の元、推定されたリスク指標を用いて方策πを改善する
の3つの処理を繰り返す。
具体的な手法の説明の前に、各用語の定義、設定等について説明する。まず、入力データとは、ユーザiについてアクションaとアクションaの前の状態x、アクションaの後の状態x+1の四つの組のデータy≡{i,x,a,x+1}が十分過去長期間にわたり、十分多人数にわたって取得したものであり、D≡{y1 ,y2 ,・・・,yk }を意味する。なお、Kは観測データ数を示す。
次に、健康維持/管理プログラムの管理者(以下、単に「管理者」という)が設計、調整するものとして、報酬関数R、つまりアクション効果(運動量など多次元観測量)や参加者の状態を引数とした関数があり、例えば多次元観測量の線形和を採用することができる。同じく管理者が設計、調整するものとして、目的関数、つまり報酬(効果)の累積値(確率変数)に関するリスク指標があり、例えば、CaVRや期待値を採用することができる。その他、管理者が設計、調整するもとしては、健康維持/管理プログラムの想定参加者数、リソース制約、状態数(クラスタ数)を挙げることができる。
観測値とは、アクションの後、どのような(即時)効果があったのかを定量的に測定した値:x∈Rn であり、毎時刻観測するものであり、入力データDから生成するものである。例えば、ジョギングを行った距離、時間、歩数、消費エネルギー、最高心拍数、血中酸素濃度等を挙げることができる。ここで、ユーザ状態は、現在、各参加者が属するクラスタID∈{s1 ,s2 ,・・・,sn }として表すことができる。なお、nはクラスタ数を示す。
アクションセットとは、各参加者に対するアクションaの集合であり、例えば、選択可能なアクションが3種類(アクションa1:参加者に電話を掛ける、アクションa2:参加者にメールを送信する、アクションa3:参加者に割引クーポンを送付する)であるとする。アクション・セットは方策π(z)により決定され、π:z→{πs1 a1, πs1 a2, πs1 a3,…,πsn a1, πsn a2, πsn a3}として得ることができる。例えば、状態siのユーザに対して、πsi a1:πsi a2:πsi a3の比率で、アクションa1、a2、a3を選択することになる。なお、(式5)の第四式は、制約bjがアクションajについてのリソース制約であることを示している。
以下、図5乃至図8を参照しつつ、本システムの動作について、より具体的に説明する。図5は、本システムの動作を上位概念的に説明するフローチャートである。本システムでは、大きく分けて、実際に強化学習を行う前に、その準備となる前処理(ステップS1)、実際に強化学習を行う本処理(ステップS2)、本処理により得られたリターン分布関数p等を用いて行う健康維持/管理プログラムの運用処理(ステップS3)を行っており、図6はステップS1の詳細フローを、図7はステップS2の詳細フローを、図8はステップS3の詳細フローを、それぞれ示すフローチャートである。
まず、前処理(ステップS1)について図6を参照しながら説明する。健康維持/管理プログラムの管理者は、健康維持/管理プログラムの参加者数、リソース制約、クラスタ数nを設定する(ステップS10)。ここで、参加者数は、想定される最大参加者数を設定することができる。また、リソース制約は、当該健康維持/管理プログラムに内在する人的リソース、物的リソース、金銭的リソース等に基づいて、設定することができる。例えば、人的リソース上の制限により、インストラクターが参加者を訪問するアクションaは、あるタイミングでは最大10人の参加者にのみ提供することができる場合がある。
次に、本システムは、入力データDの多次元観測標本xをクラスタリングして、観測変数を離散状態にマップする状態関数h:x→sを学習する(ステップS11)。なお、クラスタリングの手法は任意の手法を採用することができるが、ここではその一例としてK平均法(K−means)を挙げておく。
次に、管理者は、報酬関数R(x,a,x+1)、評価関数f(η|z)を設定する(ステップS12)。ここで、報酬関数Rは、アクション効果や参加者の状態を引数にした関数であり、ここでは(式1)で与えられる。一方、評価関数fは、条件付きリターン分布p(η|s,a)が与えられれば計算できるものであり、例えば、期待値、VaR(Value at Risk)、CVaR(Conditional Value at Risk)等を挙げることができる。ここでは、(式2)で与えられる。なお、リターンηは、(式3)で与えられる確率変数であり、同式中γは割引報酬和を示す。
次に、本システムは、データセットDから各参加者について観測値xを乱択して観測値セットXを得る(ステップS13)。次に、本システムは、リターン分布関数pを初期化する(ステップS14)。初期化とは、例えばリターン分布関数pを定めるパラメータの値を正規乱数により設定することである。また、目的関数g_0(や制約関数g_d)は評価関数f及び方策π、重みwが与えられれば計算できるものである(式4)。
次に、本処理(ステップS2)について図7を参照しながら説明する。まず本システムは、システム状態zを求める(ステップS20)。具体的には、システム状態zを求めるステップを初回(ステップS1から初めて)に行う場合には、観測値セットXから状態関数hを用いて各ユーザ状態sを計算し、計算したユーザ状態sの集合からシステム状態zを求める。一方、システム状態zを求めるステップを二回目以降(ステップS26から戻って)に行う場合には、ユーザ状態sの集合からシステム状態zを求める。
次に、本システムは、リソース制約の元、推定リターン分布関数pについての目的関数fを最大にする方策πを決定する(ステップS21)。ここで、方策πの探索には既存の最適化手法を採用することができる。とりわけ、目的関数gが期待値である場合、線形計画法を用いて、効率よく方策πを決定する事ができる。なお、(式4)や(式5)とは異なる方策πや評価関数fについて非線形な目的関数及び制約関数、リソース制約を置くことも可能であるが、その場合、線形計画法を適用えうることはできず、計算負荷の高い非線形最適化手法を用いる必要がある。
次に、本システムは、データセットDから現時刻の観測値セットXと方策πに従う次時刻の観測値セットX’を生成し、状態関数hから次時刻の各ユーザ状態s’を計算する(ステップS22)。次に、本システムは、各ユーザの報酬値rを報酬関数Rと現時刻の観測値セットX、方策π、次時刻の観測値セットX’を用いて計算する(ステップS23)。
次に、本システムは、各ユーザの現時刻の状態sと次時刻の状態s’、報酬値rを用いて、条件付き推定リターン分布関数p(η|s,a)を更新する(ステップS24)。ここで採用する推定方法としては、例えば、T. Morimura+, ”Return Density Approximation for Reinforcement Learning, In Conference on Uncertainty in Artificial Intelligence, 2010 、T. Morimura+, ”Nonparametric
Return Distribution Approximation for Reinforcement Learning”, In International Conference on Machine Learning, 2010に開示されている方法を採用することができる。
Return Distribution Approximation for Reinforcement Learning”, In International Conference on Machine Learning, 2010に開示されている方法を採用することができる。
例えば、図9に示すように、ユーザの多様性を考慮しない態様(Single MDP版:手順A)や、図10に示すように、ユーザの多様性を考慮する態様(単純Multi MDP版:手順B)や、さらに図11に示すように、これらを組み合わせて効率的にユーザの多様性を考慮する態様(効率的なMulti MDP版)を採用することができる。
次に、本システムは、次時刻を新たな現時刻のデータとして、データの更新:X←X’、s←s’を行い(ステップS25)、繰り返しが必要か否かを判断し(ステップS26)、必要と判断する場合(ステップS26:YES)には、処理をステップS20へ戻して上述した処理を繰り返す。不要と判断する場合(ステップS26:NO)には、後述するステップS3の処理へ進む。ここで、繰り返しが必要か否かの判断基準としては、例えば、リターンηの分布が予め定めた範囲に収束すること、繰り返し回数が予め定めた上限値に達すること、等を挙げることができる。
次に、運用処理(ステップS3)について図8を参照しながら説明する。まず、この段階に至ると、本システムは、本処理の結果(アルゴリズム出力)として、条件付きリターン分布の推定値pと状態関数hとを記憶している。また、前処理の段階で(アルゴリズム入力として)設定した、リソース制約と評価関数f(=目的関数g_0(式4の第一式)とリターンηの制約関数g_d(式4の第二式の左辺)とを記憶している。運用処理では、これらを用いて、以下の処理を行う。
まず、本システムは、健康維持/管理プログラムの参加者全員から観測値Xを観測する(ステップS30)。次に、本システムは、状態関数h及び観測値Xから、システム状態zを計算する(ステップS31)。さらに本システムは、条件付き推定リターン分布関数pを用いて、リソース制約とリターン制約の元、目的関数を最大にするアクションセットを計算する(ステップS32)。
以上のように本実施の形態によれば、マルコフ決定過程を用いて状態遷移の予測、アクションの選択等を行う場合であっても、任意の時刻におけるリターンが最大となるアクションではなく、将来にわたる累積効果が最大となるアクションを選択することができる。また、リスクだけではなく、リソース制約条件も考慮に入れて方策を算出することができるので、現実には選択することができないアクションを選択することを未然に回避することができる。さらに、ユーザごとの特性を差分関数として推定関数に含めることができるので、個々のユーザに適したアクションを選択することが可能となる。
上述した実施の形態は、健康維持/管理プログラム等に適用することが効果的である。例えば、電話をかける、訪問する、ジョギングする等のアクションのうち、短期間ではなく一定の期間単位でリターンが最大化するアクションの選択確率を、ユーザごとに算出することができる。これにより、直近でリターンがあっても長期的視点ではリターンが少ないアクションを選択するリスクを未然に回避することができる。また、ユーザごとの特性を考慮に入れることができるので、ユーザごとに方策を最適化することができ、リソース制約条件を考慮することによりリターンが最大となるアクションを選択する方策を最適化することも可能となる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。すなわち、健康維持/管理プログラムだけではなく、リターンだけでなくリスクを考慮するべき事象について本発明を適用することが可能である。
1 コンピュータシステム
11 CPU
12 メモリ
13 記憶装置
14 I/Oインタフェース
15 ビデオインタフェース
16 可搬型ディスクドライブ
17 通信インタフェース
18 内部バス
90 可搬型記録媒体
100 コンピュータプログラム
11 CPU
12 メモリ
13 記憶装置
14 I/Oインタフェース
15 ビデオインタフェース
16 可搬型ディスクドライブ
17 通信インタフェース
18 内部バス
90 可搬型記録媒体
100 コンピュータプログラム
Claims (7)
- コンピュータシステムを用いて、複数のユーザに対して各期に渡って所定のアクションを実行した場合にとり得る各期の状態それぞれについて、リスクを考慮した最適アクションを決定するための方法において、
前記コンピュータシステムが、
現在の方策を用いた場合の、前記状態と前記アクションとに条件付けられたリターンの分布を推定するステップと、
推定されたリターンの分布に基づいて、リスクを考慮した評価関数を推定するステップと、
とり得る前記アクションのリソース制約と推定された前記評価関数とに基づくリターンのリスクの制約の元、推定された前記評価関数に基づく目的関数を用いて前記方策を改善するステップと
を含む方法。 - 前記状態は、前記複数のユーザを複数のクラスタにクラスタリングし、各クラスタに属するユーザの数を示す特徴ベクトルにより表現されるシステム状態である請求項1に記載の方法。
- 前記リターンの分布が予め定められた範囲に収束するまで、前記リターンの分布を推定するステップ、前記評価関数を推定するステップ、及び前記方策を改善するステップを繰り返す請求項1に記載の方法。
- 前記リターンの分布が予め定められた範囲に収束することを条件に、収束した後のリターンの分布を用いて、前記リソース制約と前記リターンのリスクの制約の元、前記目的関数を最大化するアクションをユーザごとに演算するステップを含む請求項3に記載の方法。
- 前記複数のユーザは健康管理プログラムの参加者であり、前記所定のアクションは前記参加者の健康に影響を与え得るアクションであり、前記参加者の健康は定量的に観測可能とする請求項1に記載の方法。
- コンピュータシステムで実行されるコンピュータプログラムであり、実行されることにより前記コンピュータシステムに請求項1乃至5のいずれか一項に記載の方法を実行させるコンピュータプログラム。
- 複数のユーザに対して各期に渡って所定のアクションを実行した場合にとり得る各期の状態それぞれについて、リスクを考慮した最適アクションを決定するためのコンピュータシステムであって、
現在の方策を用いた場合の、前記状態と前記アクションとに条件付けられたリターンの分布を推定する手段と、
推定されたリターンの分布に基づいて、リスクを考慮した評価関数を推定する手段と、
とり得る前記アクションのリソース制約と推定された前記評価関数とに基づくリターンのリスクの制約の元、推定された前記評価関数に基づく目的関数を用いて前記方策を改善する手段と
を備えるコンピュータシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012288537A JP2014130520A (ja) | 2012-12-28 | 2012-12-28 | リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012288537A JP2014130520A (ja) | 2012-12-28 | 2012-12-28 | リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014130520A true JP2014130520A (ja) | 2014-07-10 |
Family
ID=51408845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012288537A Pending JP2014130520A (ja) | 2012-12-28 | 2012-12-28 | リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014130520A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016224512A (ja) * | 2015-05-27 | 2016-12-28 | 株式会社日立製作所 | 意思決定支援システム及び意思決定支援方法 |
WO2018110314A1 (ja) * | 2016-12-16 | 2018-06-21 | ソニー株式会社 | 情報処理装置及び情報処理方法 |
JP2020035320A (ja) * | 2018-08-31 | 2020-03-05 | 株式会社日立製作所 | 報酬関数の生成方法及び計算機システム |
WO2024047829A1 (ja) * | 2022-09-01 | 2024-03-07 | 日本電気株式会社 | 強化学習装置、強化学習方法、および記録媒体 |
-
2012
- 2012-12-28 JP JP2012288537A patent/JP2014130520A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016224512A (ja) * | 2015-05-27 | 2016-12-28 | 株式会社日立製作所 | 意思決定支援システム及び意思決定支援方法 |
WO2018110314A1 (ja) * | 2016-12-16 | 2018-06-21 | ソニー株式会社 | 情報処理装置及び情報処理方法 |
JP2020035320A (ja) * | 2018-08-31 | 2020-03-05 | 株式会社日立製作所 | 報酬関数の生成方法及び計算機システム |
WO2024047829A1 (ja) * | 2022-09-01 | 2024-03-07 | 日本電気株式会社 | 強化学習装置、強化学習方法、および記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103383655B (zh) | 用于在qos感知云中管理合并的工作负载的性能干扰模型 | |
WO2015103964A1 (en) | Method, apparatus, and device for determining target user | |
Wang et al. | An evolutionary game approach to analyzing bidding strategies in electricity markets with elastic demand | |
RU2743626C1 (ru) | Поиск стратегии в стратегическом взаимодействии между сторонами | |
Ciomek et al. | Heuristics for prioritizing pair-wise elicitation questions with additive multi-attribute value models | |
Yao et al. | Power constrained bandits | |
CN109308246A (zh) | 系统参数的优化方法、装置及设备、可读介质 | |
WO2019036035A1 (en) | DATA PROCESSING APPARATUS FOR ACCESSING A SHARED MEMORY IN PROCESSING STRUCTURED DATA FOR MODIFYING A DATA STRUCTURE OF A PARAMETER VECTOR | |
Calinescu et al. | Optimal resource allocation in survey designs | |
CN113435606A (zh) | 强化学习模型的优化方法、装置、存储介质及电子设备 | |
JP2014130520A (ja) | リスクを抑制して期待リターンを最大化するアクションを選択する方策を最適化する方法、コンピュータシステム及びコンピュータプログラム | |
CN112639841B (zh) | 用于在多方策略互动中进行策略搜索的采样方案 | |
Choi et al. | The effect of innovation characteristics on cloud computing diffusion | |
CN108960486B (zh) | 基于灰支持向量回归机预测适应值的交互式集合进化方法 | |
JP2015114988A (ja) | 処理装置、処理方法、およびプログラム | |
Xu et al. | Distributed no-regret learning in multiagent systems: Challenges and recent developments | |
CN103782290A (zh) | 建议值的生成 | |
CN113836388B (zh) | 信息推荐方法、装置、服务器及存储介质 | |
Parker et al. | Incremental ensemble classifier addressing non-stationary fast data streams | |
Yang et al. | Vflh: A following-the-leader-history based algorithm for adaptive online convex optimization with stochastic constraints | |
Zhang et al. | A learning automata-based particle swarm optimization algorithm for noisy environment | |
Deng et al. | Active learning for personalizing treatment | |
JP5950284B2 (ja) | 処理装置、処理方法、およびプログラム | |
Beran et al. | An adaptive heuristic approach to service selection problems in dynamic distributed systems | |
CN115629576A (zh) | 非侵入式柔性负荷聚合特性辨识与优化方法、装置及设备 |