(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】最適化装置、最適化方法及び最適化プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240123BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022527445
(86)(22)【出願日】2020-05-29
(86)【国際出願番号】 JP2020021356
(87)【国際公開番号】W WO2021240786
(87)【国際公開日】2021-12-02
【審査請求日】2022-10-28
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人 科学技術振興機構、個人型研究(ACT-I)「部分的フィードバックに基づくオンライン凸最適化」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】伊藤 伸志
【審査官】牛丸 太希
(56)【参考文献】
【文献】米国特許出願公開第2019/0124033(US,A1)
【文献】Li, B., Chen, T., & Giannakis, G. B.,Bandit online learning with unknown delays.,In The 22nd International Conference on Artificial Intelligence and Statistics,2019年
【文献】Thune, T. S., Cesa-Bianchi, N., & Seldin, Y.,Nonstochastic multiarmed bandits with unrestricted delays.,In Advances in Neural Information Processing Systems,2019年
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する選択手段と、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する取得手段と、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する算出手段と、
前記推定値に基づいて、第1の確率分布を更新する更新手段と、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する決定手段と、
を備える
最適化装置。
【請求項2】
前記第1の施策の決定後に、当該決定のために算出されたパラメータをユーザに提示する提示手段をさらに備え、
前記取得手段は、前記ユーザにより前記第1の施策が実行された際に、前記第2の施策の実行結果を取得する
請求項
1に記載の最適化装置。
【請求項3】
前記パラメータは、前記推定値、又は、前記推定値に基づき更新され、前記第1の確率分布の更新に用いられる重み関数の少なくともいずれかである
請求項
2に記載の最適化装置。
【請求項4】
前記施策集合は、マーケティング施策の集合である
請求項1乃至
3のいずれか1項に記載の最適化装置。
【請求項5】
前記施策集合は、多次元ベクトルの集合である
請求項1乃至
4のいずれか1項に記載の最適化装置。
【請求項6】
コンピュータが、
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択し、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得し、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出し、
前記推定値に基づいて、第1の確率分布を更新し、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する
最適化方法。
【請求項7】
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する選択処理と、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する取得処理と、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する算出処理と、
前記推定値に基づいて、第1の確率分布を更新する更新処理と、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する決定処理と、
をコンピュータに実行させる最適化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化装置、最適化方法及び最適化プログラムに関し、特に、報酬に遅延があるバンディット問題におけるオンライン線形最適化を行う最適化装置、最適化方法及び最適化プログラムに関する。
【背景技術】
【0002】
施策候補の中から適切な施策を選択して、実施し得られた報酬(又は損失)を基に逐次的に施策の最適化を行う技術が知られている。このような技術には、例えば商品価格の最適化等がある。
【0003】
ここで、非特許文献1には、得られた報酬に基づいて、逐次的に施策の最適化を行う最適化アルゴリズムに関する技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】N. Cesa-Bianchi, C. Gentile, and Y. Mansour, Nonstochastic bandits with composite anonymous feedback, Proceedings of Machine Learning Research vol. 75:1-23, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1では、実施した施策に対する報酬を得られるタイミングの遅延に応じてパフォーマンスが大きく劣化するという問題点があり、改善の余地があった。
【0006】
本開示は、このような問題点を解決するためになされたものであり、実施した施策に対する報酬を得られるタイミングに遅延がある場合でも、高精度な最適化を実現するための最適化装置、最適化方法及び最適化プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の第1の態様にかかる最適化装置は、
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する選択手段と、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する取得手段と、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する算出手段と、
前記推定値に基づいて、第1の確率分布を更新する更新手段と、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する決定手段と、
を備える。
【0008】
本開示の第2の態様にかかる最適化方法は、
コンピュータが、
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択し、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得し、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出し、
前記推定値に基づいて、第1の確率分布を更新し、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する。
【0009】
本開示の第3の態様にかかる最適化プログラムは、
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する選択処理と、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する取得処理と、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する算出処理と、
前記推定値に基づいて、第1の確率分布を更新する更新処理と、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する決定処理と、
をコンピュータに実行させる。
【発明の効果】
【0010】
本発明により、実施した施策に対する報酬を得られるタイミングに遅延がある場合でも、高精度な最適化を実現するための最適化装置、最適化方法及び最適化プログラムを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態1にかかる最適化装置の構成を示すブロック図である。
【
図2】本実施形態1にかかる最適化方法の流れを示すフローチャートである。
【
図3】本実施形態2にかかる問題設定の概念を説明するための図である。
【
図4】本実施形態2にかかる最適化装置の構成を示すブロック図である。
【
図5】本実施形態2にかかる最適化方法の流れを示すフローチャートである。
【
図6】本実施形態2にかかる重み関数更新処理の流れを示すフローチャートである。
【
図7】本実施形態3にかかる最適化装置の構成を示すブロック図である。
【発明を実施するための形態】
【0012】
本開示の実施の形態について、理解を容易にするために背景技術及び課題の概要を説明する。
【0013】
現実の施策の最適化において直面する問題として、「バンディット問題」、「報酬の遅延」及び「膨大な解候補」がある。それぞれを以下に説明する。
【0014】
現実の施策の最適化において、部分的にしか報酬の値を得られない場合が存在する(バンディット問題)。具体的には、ある施策Aを実行した場合、施策Aの実行結果として報酬が得られる。しかし、このとき施策Bを実行した場合に得られたはずの報酬は、不明である。
【0015】
更に、現実的には、施策を実施してもすぐに報酬が得られない場合がある(報酬の遅延)。具体的には、ある薬品の治験において、最適な投薬計画を決定する場合が挙げられる。ある薬品を患者に投薬する場合、その投薬結果があらわれるのに時間がかかることがある。その場合、直前の投薬結果がわからない状態で、次回の投薬計画を決定する必要がある。
【0016】
また、施策を決定する際に施策の候補が膨大になる場合がある(膨大な解候補)。具体的には、ユーザに対してマーケティングチャネルの最適化を行う場合を説明する。ユーザにダイレクトメールを送付する場合、どのユーザの組み合わせに対して送付するかが施策に対応する。候補となるユーザが10人の場合、広告の送付方法は、210=1024通りがありうる。このように施策の候補の数が膨大な場合は、それぞれのユーザーの属性等の構造的な情報(特徴量の関連性)を利用して最適化することが望まれる。
【0017】
非特許文献1は、施策集合に構造があり、施策候補が膨大であり、報酬に遅延があるバンディット問題における最適化アルゴリズムに関する技術を開示する。しかしながら、非特許文献1では、報酬遅延の大きさに対してパフォーマンスが大きく劣化するという問題点があり、改善の余地があった。
【0018】
本開示の実施の形態は、このような問題点を解決することを目的とし、施策集合に構造があり、施策候補が膨大であり、報酬に遅延があるバンディット問題において、高精度な最適化を実現するための最適化装置、最適化方法及び最適化プログラムを提供することを目的とする。
【0019】
以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【0020】
<実施形態1>
図1は、本実施形態1にかかる最適化装置100の構成を示すブロック図である。最適化装置100は、報酬に遅延があるバンディット問題におけるオンライン線形最適化を行う情報処理装置である。
【0021】
ここで、バンディット問題とは、目的関数を用いて解(行動、施策)を実行するごとに当該目的関数の内容が変化し、選択した解における目的関数の値(報酬)のみが観測可能な場合を設定した問題である。そのため、バンディット問題におけるオンライン線形最適化は、部分的にしか目的関数(線形関数)の値が得られない場合のオンライン最適化である。そして、「報酬に遅延がある」とは、例えばt番目のラウンドにある施策を実行したとしても、その報酬が得られる(観測される)のは、t+d番目のラウンドになるというものである(dは遅延)。言い換えると、t>dの場合、ラウンドtにおいて取得される報酬(損失)は、ラウンドt-dにおいて実行された施策における実行結果である。
【0022】
最適化装置100は、選択部110と、取得部120と、算出部130と、更新部140と、決定部150とを備える。選択部110は、施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する。ここで、「大きさ」はノルムと呼んでもよい。取得部120は、施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する。ここで、所定ラウンドは、報酬のフィードバックの遅れ(時間、ラウンド数)に相当する。
【0023】
算出部130は、実行結果と、第2のラウンドに選択された補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する。ここで、損失ベクトルは、施策を引数とした目的関数における係数ベクトル等である。尚、損失ベクトルを報酬ベクトルと呼んでも良い。また、「第2のラウンドに選択された補正値」は、上述した選択部110により過去(第2のラウンド)において選択された要素である。
【0024】
更新部140は、推定値に基づいて、第1の確率分布を更新する。
【0025】
決定部150は、更新された第1の確率分布に基づいて、次のラウンドの施策を決定する。
【0026】
図2は、本実施形態1にかかる最適化方法の流れを示すフローチャートである。まず、選択部110は、第1のラウンドtにおいて、施策集合Aの凸包Bの中から大きさが所定値以下となる要素を補正値b
tとして選択する(S1)。次に、取得部120は、第1の施策a
tを実行する第1のラウンドtより所定ラウンドd前の第2のラウンドt-dに実行された第2の施策a
t-dの実行結果を取得する(S2)。
【0027】
そして、算出部130は、実行結果と、第2のラウンドに選択された補正値bt-dとに基づいて、施策実行における損失ベクトルの推定値を算出する(S3)。その後、更新部140は、推定値に基づいて、第1の確率分布Pt+1を更新する(S4)。
【0028】
そして、決定部150は、更新された第1の確率分布Pt+1に基づいてラウンドt+1の施策を決定する(S5)。
【0029】
このように、本実施形態では、施策atを実行するラウンドtにおいて、所定ラウンドd前に実行した施策at―dに対する実行結果(報酬、損失)を取得できる場合を対象としている。言い換えると、ラウンドtにおいて実行した施策atに対する実行結果(報酬、損失)を所定ラウンドd後に取得できる場合を対象としている。そして、施策を決定するために用いられる第1の確率分布を更新する際に用いられる損失ベクトルの推定値は、ラウンドt-dにおいて選択された補正値bt-dから算出される。このとき、補正値bt-dは、ラウンドt-dにおいて施策集合Aの凸包Bの中から選択された値であって、大きさが所定値以下となる値である。そのため、補正値が一定範囲に収まるため、推定値が安定する。それ故、第1の確率分布を安定して更新することができ、決定される施策の精度を向上できる。よって、実施した施策に対する報酬を得られるタイミングに遅延がある場合でも、高精度な最適化を実現することができる。
【0030】
尚、最適化装置100は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施形態にかかる最適化方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込ませ、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、選択部110、取得部120、算出部130、更新部140及び決定部150の機能を実現する。
【0031】
または、選択部110、取得部120、算出部130、更新部140及び決定部150は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)等を用いることができる。
【0032】
また、最適化装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、最適化装置100の機能がSaaS(Software as a Service)形式で提供されてもよい。
【0033】
<実施形態2>
本実施形態2は、上述した実施形態1の具体例である。前提として、所定の環境(目的関数)において実行可能な複数の行動(施策)の集合(施策集合)
【数1】
は、m次元の特徴ベクトルの集合であり、離散集合及び凸集合を含むベクトル空間の任意の部分集合とする。すなわち、施策集合は、多次元ベクトルの集合である。そして、施策集合は構造があり、施策候補が膨大であるものとする。そして、意思決定の各ラウンドt∈[T]において施策a
tが決定され、実行される。ここで、目的関数、つまり、施策a
tに伴う報酬(損失)は、
【数2】
とする。このとき、
【数3】
は、損失ベクトルであり、
【数4】
を満たすと仮定する。
【0034】
また、上述の通り報酬に遅れがあるため、t>dの場合、ラウンドtにおいて取得される報酬は、
【数5】
となる。そして、最適化装置の目的は、累積損失
【数6】
の最小化である。また、最適化装置のパフォーマンスは、以下の式(1)として定義されるリグレットR
Tによって計測される。
【数7】
・・・(1)
ここで、a
*は、最良固定施策である。最適化装置のパフォーマンスは、リグレットR
Tが小さいほど良い。
【0035】
図3は、本実施形態2にかかる問題設定の概念を説明するための図である。例えば、ある目的関数f(a
t)に対して、毎月施策a
tを決定し、実行するものとする。そして、施策の実行に対する実行結果(報酬、損失)は、2か月遅延して取得されるものとする。つまり、ラウンドtは1か月単位であり、遅延d=2とする。この場合、
図3に示すように1月に施策a
1を決定し(S411)、決定した施策a
1を目的関数に入力することにより実行する(S412)。同様に、2月に施策a
2を決定し(S421)、決定した施策a
2を目的関数に入力することにより実行する(S422)。そして、3月に施策a
3を決定し(S431)、決定した施策a
3を目的関数に入力することにより実行する(S432)。このとき、1月に実行した施策a
1の実行結果である損失l
1a
1は2か月後の3月に取得される(S433)。尚、損失l
1a
1の取得は、施策a
3の実行が前提ではない。
【0036】
次に、本実施形態にかかる確率分布の切り捨て(distribution truncation)について説明する。まず、施策集合Aにおける凸包(convex hull)Bを以下に定義する。
【数8】
次に、凸包B上の確率分布pを与え、期待値
【数9】
、分散S(p)∈Sym(m)及び共分散Cov(p)∈Sym(m)を以下に定義する。
【数10】
【数11】
【数12】
【0037】
また、凸包B上の確率分布pを与え、切断分布(truncated distribution)p’を以下の式(2)に定義する。
【数13】
・・・(2)
ここで、ベクトル「1」は、n個の要素値のそれぞれが1である。また、mは、施策集合Aの各特徴ベクトルの次元数である。また、γは、4log(mT)以上のパラメータである。pが対数凹分布(log-concave distribution)である場合、pとp’は近似できる。
【0038】
図4は、本実施形態2にかかる最適化装置200の構成を示すブロック図である。最適化装置200は、上述した最適化装置100の具体的な実施例である情報処理装置である。最適化装置200は、記憶部210と、メモリ220と、IF(Interface)部230と、制御部240とを備える。
【0039】
記憶部210は、ハードディスク、フラッシュメモリ等の記憶装置である。記憶部210は、最適化プログラム211を少なくとも記憶する。最適化プログラム211は、本実施形態にかかる最適化方法が実装されたコンピュータプログラムである。
【0040】
メモリ220は、RAM(Random Access Memory)等の揮発性記憶装置であり、制御部240の動作時に一時的に情報を保持するための記憶領域である。IF部230は、最適化装置200の外部との入出力を行うインタフェースである。例えば、IF部230は、ネットワーク(不図示)を介して他のコンピュータ等からの入力データを受け付け、受け付けた入力データを制御部240へ出力する。また、IF部230は、制御部240からの指示に応じて、ネットワークを介して送信先のコンピュータへデータを出力する。または、IF部230は、キーボード、マウス、タッチパネル等の入力デバイス(不図示)を介して、ユーザの操作を受け付け、受け付けた操作内容を制御部240へ出力する。また、IF部230は、制御部240からの指示に応じて、タッチパネル、表示装置、プリンタ等(不図示)へ出力を行う。
【0041】
制御部240は、CPU(Central Processing Unit)等のプロセッサであり、最適化装置200の各構成を制御する。制御部240は、記憶部210から最適化プログラム211をメモリ220へ読み込み、最適化プログラム211を実行する。これにより、制御部240は、取得部241、算出部242、更新部243、選択部244及び決定部245の機能を実現する。尚、取得部241、算出部242、更新部243、選択部244及び決定部245のそれぞれは、上述した取得部120、算出部130、更新部140、選択部110及び決定部150の一例である。
【0042】
選択部244は、第1の確率分布から所定値より大きい分布を除いた第2の確率分布に基づいて施策集合の凸包の中からノルムが所定値以下となる値を補正値として選択する。
【0043】
決定部245は、第1のラウンドに選択された補正値が期待値となるように第1の施策を決定する。
【0044】
取得部241は、施策集合の中から決定された第1の施策が第1のラウンドに実行された場合に、当該第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する。
【0045】
算出部242は、実行結果と、第2のラウンドに対応する補正値と、第2のラウンドにおける第2の確率分布の分散とに基づいて、施策実行における損失ベクトルの推定値を算出する。
【0046】
更新部243は、推定値に基づいて、第1の確率分布の更新に用いられる重み関数を更新する。そして、更新部243は、重み関数を用いて、次のラウンドの施策を決定するために用いられる第1の確率分布を更新する。
【0047】
本実施形態にかかる最適化方法は、乗法重み更新方法(MWU(multiplicative weight update) method)により、凸包B:=conv(A)上の分布p
tを更新するものである。具体的には、以下の式(3)及び式(4)を定義する。
【数14】
・・・(3)
【数15】
・・・(4)
ここで、ηは、0より大きいパラメータであり、学習レートである。また、l^
tは、以下で定義される。
【数16】
・・・(5)
尚、b
tは、凸包Bの中から後述するように選択された値(要素)である。
【0048】
尚、上述した各処理の詳細は、以下のフローチャートの説明の中に含まれる。
【0049】
図5は、本実施形態2にかかる最適化方法の流れを示すフローチャートである。ここで、前提として、施策集合をAとし、パラメータTはラウンド数の上限値とする。そして、報酬の遅延d≦T-1、γ≧4log(mT)、η≦1/(100γ
2(d+m))とする。尚、これらの値は一例であり、ユーザが任意に設定変更可能であるものとする。
【0050】
まず、制御部240は、重み関数w
1(x)の初期設定を行う(S201)。ここで、全てのx∈Bについて、w
1(x)=1とし、
【数17】
とする。
【0051】
次に、制御部240は、ラウンドt=1からTまでtを1ずつ加算し、以下のステップS203からS211を繰り返す(S202)。
【0052】
まず、更新部243は、wtに基づき確率分布ptを更新する(S203)。具体的には、更新部243は、wtを用いて式(4)からptを算出する。次に、選択部244は、ptに基づき凸包Bの中から要素bを選択する(S204)。つまり、選択部244は、確率分布ptに従ってbを選択する。
【0053】
そして、制御部240は、bのノルムがmγ
2より大きいか否かを判定する(S205)。具体的には、制御部240は、以下の条件を満たすか否かを判定する。
【数18】
尚、bのノルムは、マハラノビス距離とする。
【0054】
ステップS205でbのノルムがmγ2より大きいと判定された場合、選択部244は、再度、ptに基づき凸包Bの中から要素bを選択する(S206)。その後、制御部240は、再度、ステップS205を実行する。
【0055】
ステップS205でbのノルムがmγ2以下と判定された場合、決定部245は、選択したbをラウンドtにおける補正値btとする(S207)。具体的には、決定部245は、ラウンドtと補正値btを対応付けてメモリ220内に保持する。ここで、ステップS204からS207は、切断分布(第2の確率分布)に基づいて施策集合の凸包の中から補正値を選択する処理ということができる。
【0056】
尚、このとき、更新部243は、式(2)を用いてラウンドtにおける切断分布(第2の確率分布)p’tを算出し、ラウンドtと切断分布p’tを対応付けてメモリ220内に保持する。
【0057】
そして、決定部245は、期待値E[at]=btとなるように施策集合Aの中から施策atを決定する(S208)。
【0058】
その後、制御部240は、決定した施策atを実行する(S209)。
【0059】
そして、制御部240は、重み関数wt(x)の更新処理を行う(S210)。
【0060】
図6は、本実施形態2にかかる重み関数更新処理の流れを示すフローチャートである。まず、制御部240は、ラウンドtが遅延dより大きいか否かを判定する(S301)。t>dでない場合、つまり、t≦dである場合、更新部243は、w
t+1にw
tを代入する(S305)。
【0061】
一方、t>dである場合、取得部241は、ラウンドt-dにおける損失(実行結果)を取得する(S302)。ここで、損失は、具体的には、
【数19】
である。
【0062】
次に、算出部242は、損失及び補正値b
t―dに基づき、ラウンドt-dにおける損失ベクトルl
t-dの不偏推定値l
^
t-dを算出する(S303)。具体的には、算出部242は、メモリ220に保持したラウンドt-dにおける補正値b
t―d及び切断分布p’
t-dを取得する。そして、算出部242は、切断分布p’
t-dの分散S(p’
t-d)を算出する。そして、算出部242は、ステップS302で取得した損失、分散S(p’
t-d)及び補正値b
t―dを用いて以下の式(6)により不偏推定値l
^
t-dを算出する。
【数20】
・・・(6)
【0063】
そして、更新部243は、不偏推定値l
^
t-dに基づきw
t+1(x)を更新する(S304)。具体的には、更新部243は、以下の式(7)によりw
t+1(x)を更新する。
【数21】
・・・(7)
【0064】
ステップS304又はS305の後、ラウンドtがT未満であれば、ステップS202へ戻る(S211)。
【0065】
ここで、非特許文献1では、報酬に遅延があるバンディット問題におけるオンライン線形最適化について、以下のリグレットを達成してきた。
【数22】
しかしながら、非特許文献1では、確率分布p
tの更新に用いる不偏推定値l
^
tが制限されていないため、確率分布p
tがラウンドごとに大幅に変動してしまう。それ故、非特許文献1では、リグレットが悪くなってしまうという問題があった。
【0066】
これに対して、本開示は、遅延フィードバックの問題設定に対して乗法重み更新方法を十分均一に作用させるために、以下の2つの点により不偏推定値l^
tをより安定させるものである。
【0067】
1つ目は、施策集合Aの凸包(convex hull)B:=conv(A)を考慮し、Aの代わりにB上の分布を用いることである。すなわち、施策集合Aの中から直接、施策を選択するのではなく、凸集合Bの中から要素を選択した上で、期待値が選択した要素となるような施策を選択する。MWUに凸集合Bを適用した場合、確率分布ptは対数凹性(log-concavity)として参照される特性を有するため、不偏推定値l^
tをより安定させることができる。
【0068】
2つ目は、不偏推定値l^
tが所定値以内に制限されることを保証するために分布を切り捨てる(truncate)ことである。対数凹の特性のため、この切り捨て(truncation)によっても凸集合Bの中から選択される要素(補正値)が所定値以内となり、補正値が安定する。このようにラウンド間で安定した補正値を用いて不偏推定値l^
tを算出することで、不偏推定値l^
tも安定させることができる。
【0069】
そして、本開示により以下のリグレットを達成できる。
【数23】
また、リグレットの最悪ケースは少なくとも以下であることを示す。
【数24】
この下限は、本開示が対数係数まで最小最大最適であることを示す。
【0070】
以上のことから、本実施形態では、切断分布に基づきに基づいて施策集合の凸包の中から補正値を選択することで、施策を決定するための確率分布ptを適切に更新することができる。よって、施策集合に構造があり、施策候補が膨大であり、報酬に遅延があるバンディット問題において、高精度な最適化を実現することができる。
【0071】
続いて、本実施形態2にかかる実施例について説明する。
<実施例2-1>
実施例2-1は、ある店舗における各社のビールの価格の割引を施策とするものとする。例えば、実行施策X=[0、2,1、・・・]とした場合、第1要素がA社のビール価格を定価とし、第2要素がB社のビール価格を定価から10%割増とし、第3要素がC社のビール価格を定価から10%割引とすることを示すものとする。
【0072】
そして、目的関数は、実行施策Xを入力とし、毎月、各社のビールの価格に実行施策Xを適用した価格で販売を行う。そして、d月後に施策Xの実行結果(報酬、損失)を出力とする。言い換えると、実行施策Xtを実行したt月には、d月前に実行した施策Xt-dの実行結果が取得される。この場合に、本実施形態の最適化方法を適用することで、上記店舗における各社のビール価格の最適な価格設定を導出することができる。
【0073】
<実施例2-2>
実施例2-2は、投資家等における投資行動に適用した場合を説明する。この場合、投資家が保有する又は保有しようとする複数の金融商品(株式の銘柄等)に対する投資(購入、増資)、売却、保有を実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素がA社の株式への追加投資、第2要素がB社の債権を保有(購入も売却もしない)、第3要素がC社の株式の売却を示すものとする。そして、目的関数は、実行施策Xを入力とし、各社の金融商品に対する投資行動に実行施策Xを適用した結果を出力とする。ここで、t月に実行した実行施策Xtの実行結果はt+d月に取得されるものとする。この場合に、本実施形態の最適化方法を適用することで、上記投資家における各銘柄に対する最適な投資行動を導出することができる。
【0074】
<実施例2-3>
実施例2-3は、ある電子商取引サイトの運営会社における広告行動(マーケティング施策)に適用した場合を説明する。この場合、運営会社が販売しようとする商品又はサービスに対する複数の顧客に対する広告(オンライン(バナー)広告、電子メールによる広告、ダイレクトメール、割引クーポンの電子メール送信等)を実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素が顧客Aに対するバナー広告、第2要素が顧客Bに対して広告を行わない、第3要素が顧客Cに対する割引クーポンの電子メール送信、を示すものとする。そして、目的関数は、実行施策Xを入力とし、各顧客に対する広告行動に実行施策Xを適用した結果を出力とする。ここで、実行結果としては、バナー広告をクリックしたか否か、購入額、購入確率、購入額の期待値であってもよい。また、t月に実行した実行施策Xtの実行結果はt+d月に取得されるものとする。この場合に、本実施形態の最適化方法を適用することで、上記運営会社における各顧客に対する最適な広告行動を導出することができる。
【0075】
<実施例2-4>
実施例2-4は、製薬会社におけるある薬品の治験のための投薬行動に適用した場合を説明する。この場合、投薬の分量や投薬を回避することを実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素が被験者Aに対して分量1の投薬を行い、第2要素が被験者Bに対して投薬を行わず、第3要素が被験者Cに対して分量2の投薬を行うことを示すものとする。そして、目的関数は、実行施策Xを入力とし、各被験者に対する投薬行動に実行施策Xを適用した結果を出力とする。ここで、t月に実行した実行施策Xtの実行結果はt+d月に取得されるものとする。この場合に、本実施形態の最適化方法を適用することで、上記製薬会社の治験における各被験者に対する最適な投薬行動を導出することができる。
【0076】
<実施形態3>
本実施形態3は、上述した実施形態2の変形例である。
図7は、本実施形態3にかかる最適化装置200aの構成を示すブロック図である。最適化装置200aは、上述した最適化装置200と比べて、最適化プログラム211aが置き換わり、提示部246が追加されたものである。それ以外の構成は、最適化装置200と同様のため詳細な説明を省略する。
【0077】
最適化プログラム211aは、本実施形態にかかる最適化方法が実装されたコンピュータプログラムである。
【0078】
提示部246は、第1の施策の決定後に、当該決定のために算出されたパラメータをユーザに提示する。例えば、提示部246は、IF部230を介してパラメータを画面に出力する。そして、取得部241は、ユーザにより第1の施策が実行された際に、(dラウンド前の)第2の施策の実行結果を取得する。このように、ユーザは提示されたパラメータにより第1の施策の妥当性を判断した上で、実行できるため、決定した施策の実行を促進できる。
【0079】
さらに、前記パラメータは、推定値、又は、推定値に基づき更新され、第1の確率分布の更新に用いられる重み関数の少なくともいずれかであるとよい。ここで、推定値は、上述した不偏推定値であってもよい。
【0080】
このように、本実施形態により、実施形態2と同様に適切に確率分布を更新した上で、その信頼性をユーザに提示できる。よって、本開示にかかる最適化装置の利用を促進できる。
【0081】
<その他の実施の形態>
尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0082】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、DVD(Digital Versatile Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0083】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【0084】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する選択手段と、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する取得手段と、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する算出手段と、
前記推定値に基づいて、第1の確率分布を更新する更新手段と、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する決定手段と、
を備える
最適化装置。
(付記2)
前記選択手段は、前記第1の確率分布から前記所定値より大きい分布を除いた第2の確率分布に基づいて前記施策集合の凸包の中から前記補正値を選択する
付記1に記載の最適化装置。
(付記3)
前記算出手段は、前記第2のラウンドにおける前記第2の確率分布の分散をさらに用いて、前記推定値を算出する
付記2に記載の最適化装置。
(付記4)
前記決定手段は、前記第1のラウンドに選択された前記補正値が期待値となるように前記第1の施策を決定する
付記1乃至3のいずれか1項に記載の最適化装置。
(付記5)
前記第1の施策の決定後に、当該決定のために算出されたパラメータをユーザに提示する提示手段をさらに備え、
前記取得手段は、前記ユーザにより前記第1の施策が実行された際に、前記第2の施策の実行結果を取得する
付記1乃至4のいずれか1項に記載の最適化装置。
(付記6)
前記パラメータは、前記推定値、又は、前記推定値に基づき更新され、前記第1の確率分布の更新に用いられる重み関数の少なくともいずれかである
付記5に記載の最適化装置。
(付記7)
前記施策集合は、マーケティング施策の集合である
付記1乃至6のいずれか1項に記載の最適化装置。
(付記8)
前記施策集合は、多次元ベクトルである
付記1乃至7のいずれか1項に記載の最適化装置。
(付記9)
コンピュータが、
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択し、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得し、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出し、
前記推定値に基づいて、第1の確率分布を更新し、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する
最適化方法。
(付記10)
施策集合の凸包の中から大きさが所定値以下となる要素を補正値として選択する選択処理と、
前記施策集合の中から決定された第1の施策を実行する第1のラウンドより所定ラウンド前の第2のラウンドに実行された第2の施策の実行結果を取得する取得処理と、
前記実行結果と、前記第2のラウンドに選択された前記補正値とに基づいて、施策実行における損失ベクトルの推定値を算出する算出処理と、
前記推定値に基づいて、第1の確率分布を更新する更新処理と、
更新された前記第1の確率分布に基づいて、次のラウンドの施策を決定する決定処理と、
をコンピュータに実行させる最適化プログラムが格納された非一時的なコンピュータ可読媒体。
【0085】
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0086】
100 最適化装置
110 選択部
120 取得部
130 算出部
140 更新部
150 決定部
200 最適化装置
200a 最適化装置
210 記憶部
211 最適化プログラム
211a 最適化プログラム
220 メモリ
230 IF部
240 制御部
241 取得部
242 算出部
243 更新部
244 選択部
245 決定部
246 提示部