(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】最適化装置、最適化方法、及び、プログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241106BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2022553260
(86)(22)【出願日】2020-09-29
(86)【国際出願番号】 JP2020036921
(87)【国際公開番号】W WO2022070257
(87)【国際公開日】2022-04-07
【審査請求日】2023-03-15
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、個人型研究(ACT-I)「部分的フィードバックに基づくオンライン凸最適化」に関する委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】伊藤 伸志
【審査官】阿部 圭子
(56)【参考文献】
【文献】特開2012-216007(JP,A)
【文献】国際公開第2019/220479(WO,A1)
【文献】特開2015-191374(JP,A)
【文献】特開2008-040522(JP,A)
【文献】YADKORI, Yasin Abbasi et al.,Improved Algorithms for Linear Stochastic Bandits,Neural Information Processing Systems Conference Paper, [Online],2011年,全文,インターネット:<URL: https://www.researchgate.net/publication/230627940_Improved_Algorithms_for_Linear_Stochastic_Bandits_extended_version>,[検索日2020.12.10]
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
ある施策を実行して得られた報酬を取得する取得手段と、
取得した報酬に基づいて、
複数の施策のうち実行すべき施策
を決定するために使用する確率分布を更新する更新手段と、
更新された確率分布に基づいて、実行する施策を決定する決定手段と、
を備え、
前記更新手段は、過去に更新された確率分布の重み付け和を制約として用いる最適化装置。
【請求項2】
前記更新手段は、前記確率分布の重み付け和を示す正則化項を含む更新式を用いて、前記確率分布を更新する請求項1に記載の最適化装置。
【請求項3】
前記正則化項は、正則化の強さを示す重みパラメータを用いて、過去の確率分布毎に異なる重み付けを行うことで計算される請求項2に記載の最適化装置。
【請求項4】
前記重みパラメータは、損失の予測値の外れ度合いに基づいて計算される請求項3に記載の最適化装置。
【請求項5】
前記更新手段は、過去の時間ステップにおける損失の推定量の累積と現在の時間ステップにおける損失の予測値との和に基づく確率分布、及び、前記正則化項に基づいて、前記確率分布を更新する請求項2乃至4のいずれか一項に記載の最適化装置。
【請求項6】
前記損失の予測値は、1つ前の時間ステップにおける前記取得した報酬を所定の係数で反映して計算される請求項4又は5に記載の最適化装置。
【請求項7】
ある施策を実行して得られた報酬を取得し、
取得した報酬に基づいて、
複数の施策のうち実行すべき施策
を決定するために使用する確率分布を更新し、
更新された確率分布に基づいて、実行する施策を決定し、
前記確率分布は、過去に更新された確率分布の重み付け和を制約として用いて更新される最適化方法。
【請求項8】
ある施策を実行して得られた報酬を取得し、
取得した報酬に基づいて、
複数の施策のうち実行すべき施策
を決定するために使用する確率分布を更新し、
更新された確率分布に基づいて、実行する施策を決定し、
前記確率分布は、過去に更新された確率分布の重み付け和を制約として用いて更新される処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、意思決定の最適化手法に関する。
【背景技術】
【0002】
商品価格の最適化等、施策候補の中から適切な施策を選択して実施し、得られた報酬を基に逐次的に施策の最適化を行う技術が知られている。特許文献1は、制約に対して適切な意思決定を行う技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術は、目的関数に確率分布を想定している(確率的設定)。しかし、実世界の環境においては、目的関数に特定の確率分布を想定できない場合がある(敵対的設定)。そのため、現実的な意思決定において、目的関数が上記のどちらの問題設定に適合しているかを決めることは困難である。また、敵対的設定においても様々なアルゴリズムが提案されているが、適切なアルゴリズムを選択するためには、「環境」の構造(例えば、得られる報酬のばらつきが大きいか否か)を適切に把握する必要があり、人の判断や知見を要する。
【0005】
本開示の目的は、目的関数の設定や「環境」の構造に依存せずに最適な施策の決定が可能な最適化手法を提供することにある。
【課題を解決するための手段】
【0006】
本開示の一つの観点では、最適化装置は、
ある施策を実行して得られた報酬を取得する取得手段と、
取得した報酬に基づいて、複数の施策のうち実行すべき施策を決定するために使用する確率分布を更新する更新手段と、
更新された確率分布に基づいて、実行する施策を決定する決定手段と、
を備え、
前記更新手段は、過去に更新された確率分布の重み付け和を制約として用いる。
【0007】
本開示の他の観点では、最適化方法は、
ある施策を実行して得られた報酬を取得し、
取得した報酬に基づいて、複数の施策のうち実行すべき施策を決定するために使用する確率分布を更新し、
更新された確率分布に基づいて、実行する施策を決定し、
前記確率分布は、過去に更新された確率分布の重み付け和を制約として用いて更新される。
【0008】
本開示のさらに他の観点では、プログラムは、
ある施策を実行して得られた報酬を取得し、
取得した報酬に基づいて、複数の施策のうち実行すべき施策を決定するために使用する確率分布を更新し、
更新された確率分布に基づいて、実行する施策を決定し、
前記確率分布は、過去に更新された確率分布の重み付け和を制約として用いて更新される処理をコンピュータに実行させる。
【図面の簡単な説明】
【0009】
【
図1】最適化装置のハードウェア構成を示すブロック図である。
【
図2】最適化装置の機能構成を示すブロック図である。
【
図3】第1実施形態による最適化処理のフローチャートである。
【
図4】第2実施形態による最適化処理のフローチャートである。
【
図5】第3実施形態に係る最適化装置の機能構成を示すブロック図である。
【
図6】第3実施形態の最適化装置による予測処理のフローチャートである。
【
図7】本開示の最適化処理の基本的な実施例を模式的に示す。
【
図8】実施形態の最適化方法をリテールの分野に適用した例を示す。
【
図9】実施形態の最適化方法を投資の分野に適用した例を示す。
【
図10】実施形態の最適化方法を医療分野に適用した例を示す。
【
図11】実施形態の最適化方法をマーケティングに適用した例を示す。
【
図12】実施形態の最適化方法を電力需要の推定に適用した例を示す。
【
図13】実施形態の最適化方法を通信の分野に適用した例を示す。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本開示の好適な実施形態について説明する。
<第1実施形態>
[前提説明]
(バンディット最適化)
バンディット最適化は、制限された情報を用いた逐次的意思決定の手法である。バンディット最適化においては、プレイヤーが施策(アクション、行動)の集合Aを与えられ、逐次的に施策itを選択し、各時間ステップtにおける損失lt(it)を観測する。プレイヤーの目標は、以下に示すリグレットRTを最小化することにある。
【0011】
【0012】
既存のバンディット最適化には、主として2つの異なる手法がある。第1の手法は、確率的環境に関するものである。この環境では、全ての時間ステップtについて損失ltが未知の確率分布に従う。即ち、環境が時不変である。第2の手法は、敵対的又は非確率的環境に関するものである。この環境では、損失ltのモデルは無く、損失ltはプレイヤーに敵対的になり得る。
【0013】
(多腕バンディット問題)
多腕バンディット問題では、施策の集合はサイズKの有限集合[K]である。各時間ステップtにおいて、プレイヤーは施策it∈[K]を選択し、損失ltitを観測する。損失ベクトルlt=(lt1,lt2,・・,ltK)T∈[0,1]Kは環境により敵対的に選択することができる。プレイヤーの目的は、以下のリグレットを最小化することである。
【0014】
【数2】
この問題設定では、l
tiは時間ステップtで施策iを選択することによる損失に相当する。なお、損失の最小化ではなく報酬の最大化を考える場合は、「l
ti=(-1)×報酬」と対応づける。l
ti*は、最良の施策による損失である。リグレットは、結果的に明らかになる最良の施策と比較して、プレイヤーの施策がどれだけ良いかを示す。
【0015】
多腕バンディット問題においては、確率的モデル又は敵対的モデルが使用される。確率的モデルは、定常的環境に適したモデルであり、施策により得られる損失ltが未知の定常的な確率分布に従うと仮定する。一方、敵対的モデルは、非定常的環境、即ち、施策により得られる損失ltが確率分布に従わない環境に適したモデルであり、損失ltがプレイヤーに対して敵対的となり得ることを想定している。
【0016】
敵対的モデルとしては、例えば、最悪ケース評価モデル、First-order評価モデル、Variance依存評価モデル、Path-length評価モデルなどが挙げられる。最悪ケース評価モデルは、実環境が最悪ケース(アルゴリズムにとって最も都合の悪い環境)である場合に性能保証、即ち、リグレットを所定範囲に収めることが可能である。First-order評価モデルでは、累積損失が小さくなる施策があると性能の向上が期待できる。Variance依存評価モデルでは、損失のばらつきが小さいと性能の向上が期待できる。Path-length依存評価モデルでは、損失の時刻変化が小さいと性能の向上が期待できる。
【0017】
上記のように、多腕バンディット問題については、実環境が定常的環境であるか、非定常的環境であるかに応じていくつかのモデルが適用可能である。よって、最適な性能を達成するには、実世界の環境に応じて適切なアルゴリズムを選択することが必要である。しかしながら、現実には、環境の構造(定常/非定常、変化の大小)を事前に知って適切なアルゴリズムを選択することは難しい。
【0018】
そこで、本実施形態では、環境の構造に応じてアルゴリズムを選択する必要を無くし、単一のアルゴリズムを用いて、複数のアルゴリズムの中から適切なアルゴリズムを選択したときと同等の結果を得られるようにする。
【0019】
[ハードウェア構成]
図1は、最適化装置100のハードウェア構成を示すブロック図である。図示のように、最適化装置100は、通信部11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15と、表示部16と、入力部17とを備える。
【0020】
通信部11は、外部装置との間でデータの入出力を行う。具体的に、通信部11は、最適化装置100が選択した施策を出力し、その施策により生じた損失(報酬)を取得する。
【0021】
プロセッサ12は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、最適化装置100の全体を制御する。なお、プロセッサ12は、CPU、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)、DSP(Demand-Side Platform)、ASIC(Application Specific Integrated Circuit)のうち一つを用いてもよいし、複数を並列で用いてもよい。具体的に、プロセッサ12は、後述の最適化処理を実行する。
【0022】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0023】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、最適化装置100に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。最適化装置100が最適化処理を実行する際には、記録媒体14に記録されているプログラムがメモリ13にロードされ、プロセッサ12により実行される。
【0024】
DB15は、通信部11を通じて入力された入力データや、最適化装置100の処理中に生成されたデータを記憶する。なお、最適化装置100は、必要に応じて、液晶表示装置などの表示部や、管理者が必要な指示、入力を行うための入力部17などを備えていてもよい。
【0025】
[機能構成]
図2は、最適化装置100の機能構成を示すブロック図である。最適化装置100は、機能面では、入力部21と、計算部22と、記憶部23と、出力部24とを備える。入力部21は、ある施策を実行した結果として得られる損失を取得し、計算部22へ出力する。記憶部23は、施策を決定するために使用する確率分布を記憶している。計算部22は、入力部21から入力された損失に基づき、記憶部23に記憶されている確率分布を更新する。詳細は後述するが、計算部22は、過去に更新された確率分布の重み付け和を制約として用いて確率分布の更新を行う。
【0026】
また、計算部22は、更新後の確率分布を用いて次の施策を決定し、出力部24へ出力する。出力部24は、計算部22が決定した施策を出力する。出力された施策が実行されると、その結果として生じた損失が入力部21へ入力される。こうして、施策が実行されるたびに、その損失(報酬)が入力部21へフィードバックされ、記憶部23に記憶されている確率分布が更新される。これにより、最適化装置100は、実際の環境に適合した確率分布を用いて次の施策を決定するようになる。なお、上記の構成において、入力部21は取得手段の一例であり、計算部22は更新手段及び決定手段の一例である。
【0027】
[最適化処理]
図3は、第1実施形態による最適化処理のフローチャートである。この処理は、
図1に示すプロセッサ12が、予め用意されたプログラムを実行し、
図2に示す要素として動作することにより実現できる。なお、前提として、選択可能な複数の施策の数Kが決定されているものとする。
【0028】
まず、損失ベクトルの予測値mtが初期化される(ステップS11)。具体的には、損失ベクトルの予測値m1に「0」がセットされる。次に、時間ステップt=1、2、..について、以下のステップS12~S19のループ処理が繰り返し実行される。
まず、計算部22は、以下の式(3)により、確率分布ptを計算する(ステップS13)。
【0029】
【数3】
式(3)において、「l^
j」は損失ベクトルの不偏推定量を示し、「m
t」は前述の損失ベクトルの予測値を示す。式(3)の中括弧{}内の第1項は、それまで(1時間ステップ前まで)の損失ベクトルの不偏推定量の累積と損失ベクトルの予測値との和を示す。一方、式(3)の中括弧{}内の第2項「Φ
t(p)」は正則化項である。正則化項「Φt(p)」は、以下の式(4)で示される。
【0030】
【数4】
式(4)において、「γ
ti」は、正則化項Φt(p)による正則化の強さを規定するパラメータであり、以下「重みパラメータ」とも呼ぶ。
【0031】
次に、計算部22は、計算された確率分布ptに基づいて施策itを決定し、出力部24は決定された施策itを出力する(ステップS14)。次に、入力部21は、ステップS14で出力された施策itを実行して得られた損失ltitを観測する(ステップS15)。次に、計算部22は、得られた損失ltitを用いて、以下の式(5)により、損失ベクトルの不偏推定量l^tを計算する(ステップS16)。
【0032】
【数5】
なお、式(5)において、「χ
it」は指示ベクトル(indicator vector)である。
【0033】
次に、計算部22は、以下の式(6)を用いて重みパラメータγtiを計算し、式(4)を用いて正則化項Φt(p)を更新する(ステップS17)。
【0034】
【数6】
式(6)において、「α
ji」は以下の式(7)で与えられ、損失の予測の外れ度合いを示す。
【0035】
【数7】
よって、計算部22は、式(6)に基づき、損失の予測の外れ度合いα
jiが大きくなると、それに応じて徐々に正則化の強さを示す重みパラメータγ
tiを大きくする。こうして、計算部22は、損失の予測の外れ度合いに基づいて正則化の強さを決める重みパラメータγ
tiを調整する。そして、計算部22は、重みパラメータγ
tiを用いて、式(4)により過去の確率分布p
i毎に異なる重み付けを行って正則化項Φt(p)を更新する。これにより、式(3)に示す確率分布p
tは、過去の確率分布の重み付け和を制約として更新される。
【0036】
次に、計算部22は、以下の式(8)を用いて、損失ベクトルの予測値mtを更新する(ステップS18)。
【0037】
【数8】
式(8)では、ステップS14で選ばれた施策iについて、その実行の結果得られた損失l
tiを係数λの割合で次の時間ステップt+1の損失ベクトルの予測値m
t+1,iに反映し、選ばれなかった施策については前の時間ステップtの損失ベクトルの予測値m
tiを維持する。なお、λの値は、例えばλ=1/4に設定される。以上のステップS12~S19の処理が、各時間ステップt=1,2,...について繰り返し実行される。
【0038】
このように、第1実施形態の最適化処理では、ステップS17において、まず、過去の時間ステップにおける損失の予測の外れ度合いαjiの累積に基づいて式(6)を用いて正則化の強さを示す重みパラメータγtiを計算し、次に重みパラメータγtiに基づいて式(4)により正則化項Φt(p)を更新する。よって、正則化項Φt(p)は過去の確率分布の重み付け和を制約として用いて更新され、式(3)に示す確率分布ptにおける正則化の強さが適切に更新される。
【0039】
また、ステップS18においては、式(8)に示すように、選ばれた施策の実行により得られた損失を加味して損失ベクトルの予測値mtを更新している。具体的には、選ばれた施策により得られた損失ltitを、係数λの分だけ反映させて、次の時間ステップの損失ベクトルの予測値mt+1を生成している。これにより、施策を実行した結果に応じて損失ベクトルの予測値mtが適切に更新される。
【0040】
以上より、第1実施形態の最適化処理では、対象となる環境に基づいてアルゴリズムを事前に選択する必要なく、実環境に応じて施策の確率分布を適応的に更新して最適な施策を決定することが可能となる。
【0041】
<第2実施形態>
[前提説明]
第2実施形態は、線形バンディット問題に関する。線形バンディット問題では、施策の集合Aは線形空間Rdの部分集合として与えられる。各時間ステップtにおいて、プレイヤーは施策at∈Aを選択し、損失lt
Tatを観測する。損失ベクトルlt∈Rdは環境により敵対的に選択されうる。全ての施策aについて損失lt
Ta∈[0,1]が成り立つとする。リグレットは、下記の式(9)で定義される。なお、a*は、最良の施策である。
【0042】
【数9】
線形バンディット問題の枠組みは、多腕バンディット問題を特別なケースとして含む。施策集合がd次元の実空間の標準基底{e
1,e
2,・・・,e
d}⊆R
dである場合、線形バンディット問題は、損失l
t
Te
i=l
tiであるd個の腕を有する多腕バンディット問題と等価である。
【0043】
従って、線形バンディット問題においても、最適な性能を達成するには、実世界の環境に応じて適切なアルゴリズムを選択することが必要であるが、現実には、環境の構造(定常/非定常、変化の大小)を事前に知って適切なアルゴリズムを選択することは難しい。第2実施形態では、線形バンディット問題について、環境の構造に応じてアルゴリズムを選択する必要を無くし、単一のアルゴリズムを用いて、複数のアルゴリズムの中から適切なアルゴリズムを選択したときと同等の結果を得られるようにする。
【0044】
[ハードウェア構成]
第2実施形態の最適化装置のハードウェア構成は、
図1に示す第1実施形態の最適化装置100と同様である。
【0045】
[機能構成]
第2実施形態の最適化装置の機能構成は、
図2に示す第1実施形態の最適化装置100と同様である。
【0046】
[最適化処理]
損失ltについて損失ベクトルの予測値mt∈Rdが得られるとする。この設定では、プレイヤーは施策atを選択するまでに、損失ベクトルの予測値mtが与えられる。a∈Aの全ての施策aについて、〈mt,a〉∈[1,-1]が成り立つと仮定する。施策集合Aにおける凸包(convex hull)A’について以下の乗法重み更新を実行する。
【0047】
【数10】
ここで、η
jは0より大きい値を示すパラメータであり、学習レートである。各損失l^
jは、後述するl
jの不偏推定量である。
施策の確率分布p
tは以下の式で与えられる。
【0048】
【数11】
まず、確率分布p
tの切断分布(truncated distribution)p
~
t(x)を以下のように定義する。ここで、β
tは、1より値を示す大きいパラメータである。
【0049】
【0050】
図4は、第2実施形態による最適化処理のフローチャートである。この処理は、
図1に示すプロセッサ12が、予め用意されたプログラムを実行し、
図2に示す要素として動作することにより実現される。
【0051】
まず、計算部22は、損失ベクトルの予測値mt∈Lを任意に設定する(ステップS21)。集合Lは以下のように定義される。
【0052】
【0053】
次に、時間ステップt=1,2,...,Tについて、以下のステップS22~S29のループ処理が繰り返し実行される。
【0054】
まず、計算部22は、xtのノルムがdβt
2以下となるまで、即ち、式(14)が成立するまで、式(11)で定義される確率分布pt(x)からxtを繰り返し選ぶ(ステップS23)。
【0055】
【数14】
次に、計算部22は、期待値E[a
t]=x
tとなるように施策a
tを選び、施策a
tを実行する(ステップS24)。そして、計算部22は、施策a
tの実行による損失〈l
t,a
t〉を取得する(ステップS25)。次に、計算部22は、以下の式(15)により、損失l
tの不偏推定量l^
tを計算する(ステップS26)。
【0056】
【数15】
次に、計算部22は、式(11)を用いて確率分布p
tを更新する(ステップS27)。次に、計算部22は、以下の式(16)を用いて、損失ベクトルの予測値m
tを更新する(ステップS28)。
【0057】
【0058】
式(16)は、係数λとDを用いて、損失ベクトルの予測値mtの更新の大きさを決定している。即ち、係数λ程度のステップサイズで、予測誤差を減少させる方向に損失ベクトルの予測値を修正している。具体的に、式(16)における「λ〈(mt-lt,at〉」は、損失ベクトルの予測値mtと損失ltとの間のずれとは逆方向に損失ベクトルの予測値mtを調整する。また、「D(m||mt)」は損失ベクトルの予測値mtの更新についての正則化項に相当する。即ち、式(16)は、第1実施形態の式(3)と同様に、選ばれた施策の実行により生じた損失に応じて、適応的に損失ベクトルの予測値mtにおける正則化の強さを調整している。そして、調整後の損失ベクトルの予測値mtを用いて式(10)、(11)により確率分布ptが更新される。その結果、第2実施形態の最適化処理でも、対象となる環境に基づいてアルゴリズムを事前に選択する必要なく、実環境に応じて確率分布を適応的に更新して最適な施策を決定することが可能となる。
【0059】
<第3実施形態>
次に、本開示の第3実施形態について説明する。
図5は、第3実施形態に係る最適化装置200の機能構成を示すブロック図である。最適化装置200は、取得手段201と、更新手段202と、決定手段203とを備える。取得手段201は、ある施策を実行して得られた施策の報酬を取得する。更新手段202は、取得した報酬に基づいて、施策の確率分布を更新する。ここで、更新手段202は、過去に更新された確率分布の重み付け和を制約として用いる。決定手段203は、更新された確率分布に基づいて、実行する施策を決定する。
【0060】
図6は、第3実施形態の最適化装置による予測処理のフローチャートである。最適化装置200において、取得手段201は、ある施策を実行して得られた施策の報酬を取得する(ステップS51)。更新手段202は、取得した報酬に基づいて、施策の確率分布を更新する(ステップS52)。ここで、更新手段202は、過去に更新された確率分布の重み付け和を制約として用いる。決定手段203は、更新された確率分布に基づいて、実行する施策を決定する(ステップS53)。
【0061】
第3実施形態によれば、過去に更新された確率分布の重み付け和を制約として用いて確率分布を更新することで、対象となる環境に基づいてアルゴリズムを事前に選択する必要なく、実環境に応じて施策の確率分布を適応的に更新して最適な施策を決定することが可能となる。
【0062】
<実施例>
次に、本開示の最適化処理の実施例を説明する。
[基本実施例]
図7は、本開示の最適化処理の基本的な実施例を模式的に示す。意思決定により施策を選択する環境に対応する目的関数f(x)は、前述のように確率的である場合と敵対的である場合とがある。時刻t
1において、施策の確率分布P1に基づいて施策A1を選択して実行すると、目的関数f(x)に応じた報酬(損失)が得られる。この報酬を用いて、確率分布をP1からP2に更新し、時刻t
2では更新後の確率分布P2に基づいて施策A2を選択する。この場合に、実施形態の最適化方法を適用することで、目的関数f(x)が示す環境に応じた適切な施策を決定することが可能となる。
【0063】
[実施例1]
図8は、実施形態の最適化方法をリテールの分野に適用した例を示す。具体的に、ある店舗における各社のビールの価格の割引を施策とするものとする。例えば、実行施策X=[0、2,1、・・・]とした場合、第1要素がA社のビール価格を定価とし、第2要素がB社のビール価格を定価から10%割増とし、第3要素がC社のビール価格を定価から10%割引とすることを示すものとする。
【0064】
そして、目的関数は、実行施策Xを入力とし、各社のビールの価格に実行施策Xを適用して販売を行った結果を出力とする。この場合に、実施形態の最適化方法を適用することで、上記店舗における各社のビール価格の最適な価格設定を導出することができる。
【0065】
[実施例2]
図9は、実施形態の最適化方法を投資の分野に適用した例を示す。具体的に、最適化方法を投資家等における投資行動に適用した場合を説明する。この場合、投資家が保有する又は保有しようとする複数の金融商品(株式の銘柄等)に対する投資(購入、増資)、売却、保有を実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素がA社の株式への追加投資、第2要素がB社の債権を保有(購入も売却もしない)、第3要素がC社の株式の売却を示すものとする。そして、目的関数は、実行施策Xを入力とし、各社の金融商品に対する投資行動に実行施策Xを適用した結果を出力とする。
【0066】
この場合に、実施形態の最適化方法を適用することで、上記投資家における各銘柄に対する最適な投資行動を導出することができる。
【0067】
[実施例3]
図10は、実施形態の最適化方法を医療分野に適用した例を示す。具体的に、製薬会社におけるある薬品の治験のための投薬行動に適用した場合を説明する。この場合、投薬の分量や投薬を回避することを実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素が被験者Aに対して分量1の投薬を行い、第2要素が被験者Bに対して投薬を行わず、第3要素が被験者Cに対して分量2の投薬を行うことを示すものとする。そして、目的関数は、実行施策Xを入力とし、各被験者に対する投薬行動に実行施策Xを適用した結果を出力とする。
【0068】
この場合に、実施形態の最適化方法を適用することで、上記製薬会社の治験における各被験者に対する最適な投薬行動を導出することができる。
【0069】
[実施例4]
図11は、実施形態の最適化方法をマーケティングに適用した例を示す。具体的に、ある電子商取引サイトの運営会社における広告行動(マーケティング施策)に適用した場合を説明する。この場合、運営会社が販売しようとする商品又はサービスに対する複数の顧客に対する広告(オンライン(バナー)広告、電子メールによる広告、ダイレクトメール、割引クーポンの電子メール送信等)を実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、第1要素が顧客Aに対するバナー広告、第2要素が顧客Bに対して広告を行わない、第3要素が顧客Cに対する割引クーポンの電子メール送信、を示すものとする。そして、目的関数は、実行施策Xを入力とし、各顧客に対する広告行動に実行施策Xを適用した結果を出力とする。ここで、実行結果としては、バナー広告をクリックしたか否か、購入額、購入確率、購入額の期待値であってもよい。
【0070】
この場合に、実施形態の最適化方法を適用することで、上記運営会社における各顧客に対する最適な広告行動を導出することができる。
【0071】
[実施例5]
図12は、実施形態の最適化方法を電力需要の推定に適用した例を示す。具体的に、ある発電施設における発電機毎の稼働率を実行施策とする。例えば、実行施策X=[1、0、2、・・・]とした場合、各要素が個々の発電機の稼働率を示すものとする。そして、目的関数は、実行施策Xを入力とし、実行施策Xに基づく電力需要を出力とする。
【0072】
この場合に、実施形態の最適化方法を適用することで、発電施設における発電機毎の最適な稼働率を導出することができる。
【0073】
[実施例6]
図13は、実施形態の最適化方法を通信の分野に適用した例を示す。具体的に、通信網を介した通信における遅延の最小化に適用した場合を説明する。この場合、複数の送信ルートから1つの送信ルートを選択することを実行施策とする。目的関数は、実行施策Xを入力とし、各送信ルートで通信を行った結果発生した遅延量を出力とする。
【0074】
この場合に、実施形態の最適化方法を適用することで、上記通信網における通信遅延を最小化することができる。
【0075】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0076】
(付記1)
ある施策を実行して得られた報酬を取得する取得手段と、
取得した報酬に基づいて、施策の確率分布を更新する更新手段と、
更新された確率分布に基づいて、実行する施策を決定する決定手段と、
を備え、
前記更新手段は、過去に更新された確率分布の重み付け和を制約として用いる最適化装置。
【0077】
(付記2)
前記更新手段は、前記確率分布の重み付け和を示す正則化項を含む更新式を用いて、前記確率分布を更新する付記1に記載の最適化装置。
【0078】
(付記3)
前記正則化項は、正則化の強さを示す重みパラメータを用いて、過去の確率分布毎に異なる重み付けを行うことで計算される付記2に記載の最適化装置。
【0079】
(付記4)
前記重みパラメータは、損失の予測値の外れ度合いに基づいて計算される付記3に記載の最適化装置。
【0080】
(付記5)
前記更新手段は、過去の時間ステップにおける損失の推定量の累積と現在の時間ステップにおける損失の予測値との和に基づく確率分布、及び、前記正則化項に基づいて、前記確率分布を更新する付記2乃至4のいずれか一項に記載の最適化装置。
【0081】
(付記6)
前記損失の予測値は、1つ前の時間ステップにおける前記取得した報酬を所定の係数で反映して計算される付記4又は5に記載の最適化装置。
【0082】
(付記7)
ある施策を実行して得られた報酬を取得し、
取得した報酬に基づいて、施策の確率分布を更新し、
更新された確率分布に基づいて、実行する施策を決定し、
前記確率分布は、過去に更新された確率分布の重み付け和を制約として用いて更新される最適化方法。
【0083】
(付記8)
ある施策を実行して得られた報酬を取得し、
取得した報酬に基づいて、施策の確率分布を更新し、
更新された確率分布に基づいて、実行する施策を決定し、
前記確率分布は、過去に更新された確率分布の重み付け和を制約として用いて更新される処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0084】
以上、実施形態及び実施例を参照して本開示を説明したが、本開示は上記実施形態及び実施例に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0085】
12 プロセッサ
21 入力部
22 計算部
23 記憶部
24 出力部
100 最適化装置