JPWO2017094207A1 - 情報処理システム、情報処理方法および情報処理用プログラム - Google Patents

情報処理システム、情報処理方法および情報処理用プログラム Download PDF

Info

Publication number
JPWO2017094207A1
JPWO2017094207A1 JP2017553600A JP2017553600A JPWO2017094207A1 JP WO2017094207 A1 JPWO2017094207 A1 JP WO2017094207A1 JP 2017553600 A JP2017553600 A JP 2017553600A JP 2017553600 A JP2017553600 A JP 2017553600A JP WO2017094207 A1 JPWO2017094207 A1 JP WO2017094207A1
Authority
JP
Japan
Prior art keywords
prediction model
variable
unit
learning
user
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.)
Granted
Application number
JP2017553600A
Other languages
English (en)
Other versions
JP6819607B2 (ja
Inventor
遼平 藤巻
遼平 藤巻
伸志 伊藤
伸志 伊藤
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2017094207A1 publication Critical patent/JPWO2017094207A1/ja
Application granted granted Critical
Publication of JP6819607B2 publication Critical patent/JP6819607B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computational Linguistics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる情報処理システムを提供する。学習部71は、被説明変数および説明変数に基づいて、被説明変数と説明変数との間の関係を示し説明変数の関数で表される予測モデルを学習する。可視化部72は、その予測モデルを可視化する。最適化部73は、ユーザからの操作を受け付けたことに応じて、可視化部72によって可視化された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する。

Description

本発明は、学習された予測モデルに基づいて最適化を行う情報処理システム、情報処理方法および情報処理用プログラムに関する。
過去の実績に基づいて予測モデルを生成する機械学習のアルゴリズムとして、例えば、回帰分析、ニューラルネットワーク、サポートベクターマシン等が知られている。また、特許文献1にも、過去の実績に基づいて予測モデルを生成する方法が記載されている。
また、特許文献2には、予想売上および価格感応度に基づいて、見込まれる利益を最大化するように最適化された推奨価格を提示するシステムが記載されている。特許文献2には、このシステムにおいて、価格感応度モデルが、価格に伴って変動する関数を通して特定製品の価格感応度をモデリングすることや、価格変更の関数として売上の変化をモデリングすることが記載されている。さらに、特許文献2に記載のシステムは、所定の仮定のもとでの売上高を予測し、その予測と価格感応度の結論を使用して、製品の売上を予測し、所与の制約下で総利益を最大化する最適価格の集合を生成する。また、このシステムは、価格感応度モデルタイプおよび価格感応度変数値を表示する。
特許文献3には、通信コンテンツの有効性を査定し、コンテンツ配信を最適化するためのシステムが記載されている。特許文献3に記載のシステムは、強化学習を用いている。特許文献3には、有効性評価尺度(または目的関数)を最大化すると予測されるコンテンツ配信スケジュールを生成することが記載されている。また、特許文献3には、履歴データに対して回帰分析を使用し、成果を最大化する、コンテンツの最良の「混成」を予測することが記載されている。
米国特許第8909582号明細書 特表2004−519021号公報 特開2015−53071号公報
一般的な数理最適化では、数理計画法への入力データが観測されることを前提としている。例えば、工業製品の生産ラインの最適化では、数理計画法への入力データは、各ラインである製品を作るために必要な材料の量、コスト、製造時間等である。これらの入力データは、いずれも、分析者が数理計画法を実行する時点において、分析者から見て観測可能なデータである。
一方で、分析者が数理計画法を実行する時点において分析者から見て観測できないデータを用いないと、解決できない問題もある。例えば、小売店舗において、ある商品群の総売上高を最大化するために、その商品群に属する各商品の価格をそれぞれ最適化したいという問題がある。この問題を解決するために数理計画法を実行しようとすると、例えば、将来の商品の売上数の予測値が数理計画法への入力データとして必要になる。しかし、分析者が数理計画法を実行する時点で、将来の商品の売上数の予測値は、分析者から見て観測可能なデータではない。従って、一般的な数理最適化では、数理解決法を用いてこのような問題を解決することはできなかった。
また、意思決定に予測を用いる場合、とり得る全ての戦略に対して効果を予測し、最もよい効果が得られる戦略を選ぶという方法が考えられる。しかし、この方法では、計算量が多くなってしまう。
そこで、本発明は、数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる情報処理システム、情報処理方法および情報処理用プログラムを提供することを目的とする。
本発明による情報処理システムは、被説明変数および説明変数に基づいて、被説明変数と説明変数との間の関係を示し説明変数の関数で表される予測モデルを学習する学習部と、予測モデルを可視化する可視化部と、ユーザからの操作を受け付けたことに応じて、可視化部によって可視化された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する最適化部とを備えることを特徴とする。
また、本発明による情報処理方法は、被説明変数および説明変数に基づいて、被説明変数と説明変数との間の関係を示し説明変数の関数で表される予測モデルを学習し、予測モデルを可視化し、ユーザからの操作を受け付けたことに応じて、可視化された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出することを特徴とする。
また、本発明による情報処理用プログラムは、コンピュータに、被説明変数および説明変数に基づいて、被説明変数と説明変数との間の関係を示し説明変数の関数で表される予測モデルを学習する学習処理、予測モデルを可視化する可視化処理、および、ユーザからの操作を受け付けたことに応じて、可視化処理で可視化された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する最適化処理を実行させることを特徴とする。
本発明によれば、数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる。
本発明の情報処理システムの例を示すブロック図である。 表示制御部がディスプレイ装置上に表示する画面の例を示す説明図である。 予測モデル表示欄における予測モデルの他の表示例を示す説明図である。 散布図の表示欄を含む予測モデル表示欄の例を示す説明図である。 本発明の処理経過の例を示すフローチャートである。 本発明の処理経過の例を示すフローチャートである。 本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の情報処理システムの概要を示すブロック図である。
まず、本発明の概要を説明する。本発明の情報処理システムは、観測されないデータを予測する予測モデルを、過去のデータから学習し、その予測モデルに基づいて数理計画法の目的関数を自動的に生成し最適化を実行する。また、本発明の情報処理システムは、学習した予測モデルを可視化し(換言すれば、ディスプレイ装置上に表示し)、最適化を実行することを指示するユーザの操作に応じて、最適化を実行する。
以下、本発明の実施形態を図面を参照して説明する。なお、以下の説明では、複数の商品の売上数の予測に基づいて複数の商品の売上高の総和を最大にするように複数の商品の価格を最適化する場合を例示する。ただし、最適化の対象は、上記の例に限定されない。また、以下の説明では、機械学習による予測対象となる変数を「被説明変数」と記す。予測に用いられる変数を「説明変数」と記す。最適化の出力となる変数を「目的変数」と記す。なお、これらの変数は排他的な関係ではなく、例えば、説明変数の一部が目的変数となることがある。
図1は、本発明の情報処理システムの例を示すブロック図である。本発明の情報処理システム1は、訓練データ記憶部2と、学習部3と、表示制御部4と、ディスプレイ装置5と、記憶部6と、外的情報入力部7と、問題記憶部8と、目的関数生成部9と、最適化部10とを備える。
表示制御部4は、学習部3によって学習された予測モデルを可視化する(換言すれば、予測モデルに関する情報をディスプレイ装置5上に表示する)。表示制御部4は、予測モデルに関する情報を表示するだけでなく、学習に用いられるパラメータをユーザが入力するためのユーザインタフェース、最適化における制約条件をユーザが入力するためのユーザインタフェース、最適化結果等もディスプレイ装置5上に表示する。
図2は、表示制御部4がディスプレイ装置5上に表示する画面の例を示す説明図である。表示制御部4によって表示される画面21は、予測モデル表示欄22と、学習に用いられるパラメータの入力欄23(以下、第1入力欄23と記す。)と、最適化結果表示欄25と、最適化における制約条件の入力欄26(以下、第2入力欄26と記す)とを含む。さらに、画面21は、学習の実行をユーザが指示するためのボタン24(以下、第1指示ボタン24と記す。)と、最適化の実行をユーザが指示するためのボタン27(以下、第2指示ボタン27と記す。)とを含む。
図2は、表示制御部4によって表示される画面の例示であり、画面の態様は、図2に示す例に限定されない。例えば、図2では、学習の実行や最適化の実行をユーザがボタンによって指示する場合を例にして示しているが、これらの指示が他の態様で行われる画面であってもよい。
予測モデル表示欄22は、学習された予測モデルに関する情報を表示する欄である。予測モデルは、被説明変数と説明変数との間の関係を示していて、その説明変数の関数で表される。また、本実施形態では、後述するように、学習部3は、被説明変数毎に、複数種類の学習アルゴリズムを用いて、複数種類の予測モデルを学習する。ここでは、説明を簡単にするために、被説明変数の種類が、「商品1の売上数」、「商品2の売上数」、「商品3の売上数」の3種類であるものとする。また、学習部3は、3種類の学習アルゴリズム(ここでは、回帰分析、ニューラルネットワークおよびサポートベクターマシンとする。)を用いて、学習アルゴリズム毎に予測モデルを学習するものとする。従って、学習部3は、商品1の売上数(Sとする。)に関して、回帰分析による予測モデル、ニューラルネットワークによる予測モデル、およびサポートベクターマシンによる予測モデルをそれぞれ学習する。学習部3は、他の被説明変数に関しても、同様に3種類の予測モデルを学習する。なお、学習部3が被説明変数毎に学習する予測モデルは3種類でなくてもよい。
予測モデル表示欄22は、被説明変数を選択するためのタブ22aを含む。個々のタブと、個々の被説明変数は一対一に対応している。図2では、被説明変数「商品1の売上数」に対応するタブがユーザによって選択され、表示制御部4が、「商品1の売上数」に関して学習された3種類の予測モデルを予測モデル表示欄22に表示している場合を例示している。なお、図2に示すfは回帰分析による予測モデルであり、fはニューラルネットワークによる予測モデルであり、fはサポートベクターマシンによる予測モデルであるものとする。図2では、S=f(P,P,P,x,x)等のように模式的に予測モデルを示しているが、表示制御部4は、予測モデルとして具体的な関数を予測モデル表示欄22に表示する。他のタブがユーザによって選択された場合、表示制御部4は、そのタブに対応する被説明変数に関して学習された3種類の予測モデルに関する情報を表示する。
予測モデル表示欄22は、被説明変数毎に(換言すれば、タブ毎に)、3種類の予測モデルの中からユーザが1つの予測モデルを選択するためのユーザインタフェースを含む。図2では、このユーザインタフェースがラジオボタン22bである場合を例示している。ユーザは、被説明変数毎に、表示されている3種類の予測モデルの中から最も適切な1つの予測モデルを判断し、ラジオボタン22bを操作してその1つの予測モデルを選択する。このとき、ユーザは、被説明変数毎に、独立して予測モデルを選択してよい。例えば、ユーザは、「商品1の売上数」に関してニューラルネットワークによる予測モデルを選択し、「商品2の売上数」に関して回帰分析による予測モデルを選択し、「商品3の売上数」に関してサポートベクターマシンによる予測モデルを選択してもよい。
第1入力欄23は、学習に用いられるパラメータをユーザが入力するための欄である。図2に示す例では、ユーザによって、予測モデルで用いられる説明変数の数として“5”が入力された場合を例示している。学習部3は、このパラメータを用いて、予測モデルで用いられる説明変数の数が5となるように、各予測モデルを学習する。なお、ここでは、学習に用いられるパラメータの例として、予測モデルで用いられる説明変数の数を例示したが、学習に用いられるパラメータは、本例に限定されない。例えば、「過去のどの期間の訓練データに基づいて学習を行うか」が、第1入力欄23で指定されてもよい。
最適化結果表示欄25は、最適化された目的変数の値を表示する欄である。本例では、「商品1の価格」、「商品2の価格」および「商品3の価格」が目的変数であるものとする。表示制御部4は、それらの最適化された結果を最適化結果表示欄25に表示する。
第2入力欄26は、最適化における制約条件をユーザが入力するための欄である。制約条件の内容は任意であり、例えば、ビジネス上の制約等が制約条件として入力される。例えば、図2に示す例において、Pは「商品3の価格」に該当する変数であり、Pは「商品2の価格」に該当する変数である。従って、第2入力欄26に例示した「P>P」は、「商品3の価格」は「商品2の価格」よりも高いという制約条件を示している。最適化部10は、この制約条件を満たすように各目的変数の値を最適化する。なお、制約条件は上記の例に限定されない。例えば、商品1の売上数をSとし、ノルマをqとしたときに、“S≧q”という制約条件が第2入力欄26に入力されてもよい。また、最適化の際に用いられるパラメータが第2入力欄26に入力されてもよい。
第1指示ボタン24は、学習の実行をユーザが指示するためのボタンである。第1指示ボタン24がクリックされると、学習部3は、予測モデルを学習する。
第2指示ボタン27は、最適化の実行をユーザが指示するためのボタンである。第2指示ボタン27がクリックされると、目的関数生成部9および最適化部10が順次、処理を実行する。
前述のように、予測モデル表示欄22において、ユーザは、被説明変数毎に、表示されている3種類の予測モデルの中から最も適切な1つの予測モデルを判断し、その予測モデルを選択する。ユーザが最も適切な予測モデルを的確に判断できることが好ましい。そこで、表示制御部4は、予測モデルとして具体的な関数を直接表示するのではなく。図3に例示するように予測モデルに関する情報を表示してもよい。ただし、ここでは、予測モデルは、Y=a×X+a×X+・・・a×X+cという形式で表されるものとする。Yは被説明変数であり、X,X,・・・,Xは説明変数である。a,a,・・・,aは、個々の説明変数に対応する係数である。cは定数項である。
図3に示す例では、P,P,P,x〜xが説明変数である。図3において、水平に示されたバーは、説明変数に対応する係数を表している。具体的には、バーが中心線より右側にあるか左側にあるかによって、係数の正負を表し、バーの長さによって係数の絶対値を示している。バーが中心線より右側にある場合、係数が正であることを表し、バーが中心線より左側にある場合、係数が負であることを表すものとする。図3に示すfでは、説明変数Pの係数は正であり、その係数の絶対値は、fにおける他の説明変数の係数の絶対値よりも大きいことが分かる。また、図3では、バーの近傍に説明変数を表す記号を示す場合を例示しているが、個々のバーがどの説明変数に対応しているかを他の態様で示してもよい。図3に例示する表示形式では、ユーザは、重要な説明変数が抜け落ちているか否か、また、重要な説明変数の係数の値が不適当な値になっているか否かを確認しやすくなり、最も適切な予測モデルを的確に判断しやすくなる。重要な説明変数の係数の値が不適当な値になっている場合とは、例えば、正であるべき係数が負になっていたり、負であるべき係数が正になっていたりする場合や、係数の絶対値が極端に大きくなっていたり、極端に小さくなっていたりする場合等である。
また、ユーザが最も適切な予測モデルを的確に判断しやすくするために、表示制御部4は、過去の被説明変数の値および説明変数の値を含むテストデータを用いて、予測モデル毎に被説明変数の値を算出し、その被説明変数の値と過去の被説明変数の値との差を可視化してもよい。また、表示制御部4は、散布図を用いて差を可視化してもよい。図4は、このような散布図の表示欄22cを含む予測モデル表示欄22の例を示す説明図である。散布図の表示欄22cにおいて、テストデータから算出した被説明変数の値を予測値と記し、過去の被説明変数の値を実績値と記している。また、散布図の表示欄22cにおいて、三角形のマーカは、表示されている1番目の予測モデルで算出された予測値と実績値との関係を示しているものとする。丸のマーカは、表示されている2番目の予測モデルで算出された予測値と実績値との関係を示しているものとする。四角形のマーカは、表示されている3番目の予測モデルで算出された予測値と実績値との関係を示しているものとする。マーカが散布図中に示している破線に近いほど、予測値と実績値との差が小さいことになる。従って、例えば、図4に例示する散布図が表示された場合、丸のマーカが破線に近いことから、ユーザは、表示されている2番目の予測モデルが最も適切であると判断できる。なお、タブの選択が切り替えられると、表示制御部4は、散布図を表示し直す。
また、表示制御部4は、図3に示す表示態様において、図4に例示する散布図の表示欄22cを表示してもよい。
また、ユーザが最も適切な予測モデルを的確に判断しやすくするために、表示制御部4は、交差検証を行ってもよい。
訓練データ記憶部2は、学習部3が予測モデルの学習に用いる各種訓練データを記憶する。本実施形態では、訓練データ記憶部2は、最適化部10が最適化結果として出力する変数(目的変数)について、過去に取得された実績データを記憶する。例えば、最適化部10が複数の商品の価格を最適化しようとする場合、訓練データ記憶部2は、過去に取得された実績データとして、説明変数に対応する各商品の価格や、被説明変数に対応する各商品の売上数を記憶する。また、訓練データ記憶部2は、上記以外の外的情報(例えば、天気や暦情報等)も記憶する。これらの外的情報も説明変数となり得る。訓練データ記憶部2は、例えば、磁気ディスク装置により実現される。
なお、前述のテストデータは、例えば、訓練データとは別に、訓練データ記憶部2に記憶させておけばよい。
学習部3は、学習の実行を指示する操作が行われると(本例では、第1指示ボタン24がクリックされると)、訓練データ記憶部2に記憶された各種訓練データに基づいて、機械学習により、設定された被説明変数毎に予測モデルを学習する。このとき、学習部3は、被説明変数毎に、複数種類の学習アルゴリズムを用いて、複数種類の予測モデルを学習する。また、学習部3は、第1入力欄23に入力されたパラメータを用いて各予測モデルを学習する。例えば、前述のように、予測モデルで用いられる説明変数の数として“5”が指定された場合、学習部3は、予測モデルで用いられる説明変数の数が5となるように、各予測モデルを学習する。
本実施形態で学習される予測モデルは、最適化部10が最適化結果として出力する変数(目的変数)を説明変数として含む関数で表される。すなわち、目的変数は、予測モデルの説明変数になっている。例えば、「商品1の価格」、「商品2の価格」および「商品3の価格」が目的変数P,P,Pであるとする。学習部3は、例えば、各予測モデルにおいて、P,P,Pを説明変数として用いる。学習部3は、さらに他の説明変数を、自動的に決定する。このとき、学習部3は、訓練データ記憶部2に記憶されている外的情報に含まれている種々の項目(例えば、天候等)の中から説明変数を決定すればよい。上記のように、パラメータとして、予測モデルで用いられる説明変数の数が定められている場合、学習部3は、その数に合わせて、予測モデルで用いる説明変数を決定する。P,P,P以外の説明変数は、予測モデル同士で異なっていてもよい。
上記の複数種類の学習アルゴリズムは、特に限定されない。例えば、前述の例では、回帰分析、ニューラルネットワークおよびサポートベクターマシンを例示したが、学習部3は、予測モデルの学習方法の一つとして、特許文献1に記載の方法を採用してもよい。また、学習アルゴリズムの種類の数も限定されない。
ここで、最適化対象のインデックスの集合を{m|m=1,・・・,M}と記す。本実施形態の例では、最適化対象は各商品の価格であり、Mは商品数に対応する。また、各最適化対象mについて予測する内容をSと記す。本実施形態の例では、Sは、商品mの売上数に対応する。また、各最適化対象mについて最適化する内容(すなわち、最適化の目的変数)をPまたはP´と記す。本実施形態の例では、Pは、商品mの価格に対応する。線形回帰(回帰分析の一種)を使用してS(例えば、売上数)とP(例えば、価格)との依存関係をモデル化すると、Sを予測する予測モデルは、例えば、以下に例示する式1で表される。
Figure 2017094207
式1において、fは特徴生成関数であり、P´に対する変換を表わす。また、Dは特徴生成関数の数を示し、P´に対して行われる変換の数を示す。fの内容は任意であり、例えば、線形変換を行う関数であってもよく、対数や多項式のような非線形変換を行う関数であってもよい。上述するように、Pが商品mの価格であり、Sが商品mの売上数を示す場合、fは、例えば、価格に関する売上の反応を表わす。売上の反応とは、例えば、ある程度の値下げをすると売上の反応が良くなる、または、反応が悪くなる、値下げに応じて売上数が二乗になる、等が挙げられる。
また、式1において、gは、外的特徴(上述する例の場合、天候等)であり、D´は、外的特徴の数である。なお、外的特徴に関しては、事前に変換をしておいてもよい。また、式1におけるα、β、γは、それぞれ学習部3による機械学習の結果得られる回帰式の定数項および係数である。これまでの説明から明らかである通り、予測モデルは、被説明変数(S)および説明変数(Pや、各種外的特徴等)に基づいて学習され、被説明変数と説明変数との間の関係を示し、説明変数の関数で表されるものである。
記憶部6は、ユーザによって被説明変数毎に選択された各予測モデル、および第2入力欄26に入力された最適化における制約条件や、最適化の際に用いられるパラメータを記憶する。表示制御部4は、最適化の実行を指示する操作が行われると(本例では、第2指示ボタン27がクリックされると)、ユーザによって被説明変数毎に選択された各予測モデルと、第2入力欄26に入力された制約条件やパラメータ(最適化の際に用いられるパラメータ)を記憶部6に記憶させる。また、記憶部6は、外的情報入力部7が入力した外的情報も記憶する。記憶部6は、例えば、磁気ディスク装置により実現される。
外的情報入力部7は、ユーザによって被説明変数毎に選択される予測モデル並びに最適化の制約条件およびパラメータ以外で、最適化に用いられる外的情報を入力する。例えば、上述の例において、ある日の価格を最適化しようとする場合、外的情報入力部7は、その日の天気(予測された天気)に関する情報を入力してもよい。また、例えば、その日の来店人数を予測できるような場合、外的情報入力部7は、その日の来店人数に関する情報を入力してもよい。この来店人数の例の様に、外部情報は、機械学習による予測モデルによって生成されたものでもよい。ここで入力される情報は、例えば、予測モデルの説明変数に適用される。
外的情報入力部7が入力する情報は、例えば、ユーザが事前に用意しておけばよい。
問題記憶部8は、最適化により解こうとする数理計画問題を記憶する。数理計画問題は、ユーザ等によって予め問題記憶部8に記憶される。なお、数理計画問題が、第2入力欄26に入力され、第2指示ボタン27がクリックされたときに、表示制御部4が、その数理計画問題を問題記憶部8に記憶させる構成であってもよい。ここでは、問題記憶部8が予め数理計画問題を記憶している場合を例にして説明する。問題記憶部8は、例えば、磁気ディスク装置により実現される。
なお、本実施形態では、数理計画問題の中で記述される目的関数の“形”は、予測モデルがパラメータになるように定義される。本実施形態の例では、問題記憶部8は、複数の商品の売上高の総和を最大化するための数理計画問題を記憶する。この場合、最適化部10は、複数の商品の売上高の総和を最大化するように各商品の価格を最適化する。各商品の売上高は、商品の価格と予測モデルで予測される売上数の積で定義できる。従って、各商品の売上高の総和を表す目的関数の“形”は、以下に示す式2のように表される。
Figure 2017094207
式2は、商品の価格と予測モデルで予測される売上数の積の合計を式として示したものであるが、売上数Sを表す予測モデルは代入されていない。そのため、式2を目的関数の“形”と称している。
本例の場合、問題記憶部8に、以下の式3に示す数理計画問題を予め記憶させておけばよい。
Figure 2017094207
式3は、各商品の売上高の総和を最大化するという数理計画問題を表している。式3には、式2で示した目的関数の“形”が記述されている。
目的関数生成部9は、数理計画問題の目的関数を生成する。具体的には、目的関数生成部9は、予測モデルをパラメータとする数理計画問題の目的関数を生成する。目的関数生成部9は、問題記憶部8に記憶された数理計画問題に記述されている目的関数の“形”(上記の例では式2)に、ユーザによって被説明変数毎に選択された予測モデルを代入することにより目的関数を生成する。ここでは、説明を簡単にするために、式2におけるMの値が3であるとする(すなわち、商品の数が3であるとする)。この場合、ユーザは、「商品1の売上数S」、「商品2の売上数S」、「商品3の売上数S」という被説明変数毎に、その被説明変数を表す具体的な予測モデル(関数)を選択し、S,S,Sに対応する予測モデル(関数)が記憶部6に記憶されている。目的関数生成部9は、それらの各予測モデルを、式2に示す目的関数の“形”に代入することによって、目的変数を生成する。
最適化部10は、記憶部6に記憶されている各種情報(第2入力欄26を介して入力された最適化の制約条件およびパラメータ並びに外的情報入力部7が入力した外的情報)に基づいて、目的とする内容の最適化を行う。このとき、最適化部10は、目的関数の値が最適になるように、目的変数の値を最適化する。目的変数等に制約条件が定められているため、最適化部10は、制約条件を満たしつつ、目的関数の値が最適(例えば、最大、最小等)になるように、目的変数の値を最適化する。
本例では、問題記憶部8に記憶された数理計画問題が式3のように定められているので、最適化部10は、制約条件を満たしつつ、目的関数の値が最大になるように目的変数の値を最適化する。最適化部10は、式3で特定される数理計画問題を解くことで、目的変数に該当する個々の商品の価格P,P,・・・,Pを最適化する。すなわち、最適化部10は、各商品の売上高の総和を最大にするような、各商品の価格を導出する。
最適化部10は、各目的変数の値を最適化すると、その各目的変数の値を記憶部6に記憶させる。すると、表示制御部4は、ディスプレイ装置5上に表示されている画面21内の最適化結果表示欄25に、各目的変数の最適値を表示する。
学習部3、表示制御部4、外的情報入力部7、目的関数生成部9および最適化部10は、例えば、プログラム(情報処理用プログラム)に従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図1において図示略)等のプログラム記録媒体からプログラムを読み込み、そのプログラムに従って、学習部3、表示制御部4、外的情報入力部7、目的関数生成部9および最適化部10として動作すればよい。
また、学習部3、表示制御部4、外的情報入力部7、目的関数生成部9および最適化部10が、それぞれ専用のハードウェアで実現されていてもよい。学習部3、表示制御部4、外的情報入力部7、目的関数生成部9および最適化部10は、それぞれ電気回路構成(circuitry )により実現されていてもよい。ここで、電気回路構成(circuitry )とは、単一のデバイス(single device )、複数のデバイス(multiple devices)、チップセット(chipset )またはクラウド(cloud )を概念的に含む文言である。
また、本発明の情報処理システム1は、2つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。
次に、本発明の処理経過を説明する。図5および図6は、本発明の処理経過の例を示すフローチャートである。
最初に、表示制御部4は、画面21をディスプレイ装置5上に表示する。ただし、初期状態では、予測モデル表示欄22、最適化結果表示欄25に予測モデルや最適化結果は表示されていない。また、第1入力欄23および第2入力欄26は、空欄となっている。
ユーザは、学習に用いられるパラメータを第1入力欄23に入力する。このユーザの操作に応じて、表示制御部4は、第1入力欄23を介して、学習に用いられるパラメータの入力を受け付ける(ステップS11)。表示制御部4は、入力されたパラメータを第1入力欄23内に表示する。
ユーザが第1指示ボタン24をクリックしない場合(ステップS12のNo)、情報処理システム1は、第1指示ボタン24がクリックされるまで待つ。この間、第1入力欄23に入力されたパラメータがユーザによって修正されてもよい。
ユーザが第1指示ボタン24をクリックした場合(ステップS12のYes)、学習部3は、第1入力欄23に入力されたパラメータと、訓練データ記憶部2に記憶されている各種訓練データに基づいて、予め設定されている被説明変数毎に予測モデルを学習する(ステップS13)。このとき、学習部3は、被説明変数毎に、複数種類の学習アルゴリズムを用いて、複数種類の予測モデルを学習する。
次に、表示制御部4は、被説明変数毎に学習された予測モデルに関する情報を表示する(ステップS14)。被説明変数毎に複数種類の予測モデルが学習されているので、表示制御部4は、被説明変数毎に複数の予測モデルを表示する。
ステップS14において、表示制御部4は、例えば、図2に例示するように、タブ22aおよびラジオボタン22bを含む予測モデル表示欄22に予測モデルに関する情報を表示すればよい。個々のタブと、個々の被説明変数は一対一に対応している。例えば、表示制御部4は、ユーザによって1つのタブが選択されると、そのタブに対応する被説明変数に関して学習された複数の予測モデルを予測モデル表示欄22に表示する。タブの選択が切り替えられると、表示制御部4は、新たに選択されたタブに対応する被説明変数に関して学習された複数の予測モデルを予測モデル表示欄22に表示すればよい。
なお、表示制御部4は、図3に例示する態様で予測モデルに関する情報を表示してもよい。また、表示制御部4は、前述の散布図を予測モデルとともに表示してもよい(図4参照)。
ユーザは、被説明変数毎に(換言すれば、タブ毎に)、表示されている複数の予測モデルの中から最も適切な1つの予測モデルを判断し、ラジオボタン22bを操作してその1つの予測モデルを選択する。このユーザの操作に応じて、表示制御部4は、被説明変数毎に、1つの予測モデルの選択を受け付ける(ステップS15)。なお、本実施形態では、予測モデルの中からユーザが1つの予測モデルを選択するためのユーザインタフェースがラジオボタンである場合を例示したが、このユーザインタフェースの形式はラジオボタン以外であってもよい。
続いて、ユーザは、第2入力欄26に、最適化における制約条件を入力する。このユーザの操作に応じて、表示制御部4は、第2入力欄26を介して、最適化における制約条件の入力を受け付ける(ステップS16)。表示制御部4は、入力された制約条件を第2入力欄26内に表示する。また、ステップS16において、ユーザは、最適化の際に用いられるパラメータも第2入力欄26に入力してもよい。この場合、表示制御部4は、このパラメータの入力も同様に受け付け、そのパラメータを第2入力欄26内に表示すればよい。
また、外的情報入力部7は、外的情報を入力し、記憶部6に記憶させる(ステップS17)。
ステップS17の後、ユーザが第2指示ボタン27をクリックしない場合(ステップS18のNo)、情報処理システム1は、第2指示ボタン27がクリックされるまで待つ。この間、ユーザによって予測モデルが選択し直されたり、第2入力欄26に入力された制約条件等がユーザによって修正されたりしてもよい。
ユーザが第2指示ボタン27をクリックした場合(ステップS18のYes)、表示制御部4は、被説明変数毎に選択された予測モデル、および第2入力欄26に入力された制約条件を記憶部6に記憶させる(ステップS19)。最適化の際に用いられるパラメータも入力されている場合、表示制御部4は、そのパラメータも記憶部6に記憶させる。
次に、目的関数生成部9は、被説明変数毎に選択された予測モデルを記憶部6から読み込むとともに、問題記憶部8に記憶されている数理計画問題を読み込む。この数理計画問題は、例えば、式3に例示するように表され、数理計画問題には式2に例示する目的関数の“形”が記述されている。目的関数生成部9は、式2に例示する目的関数の“形”に、被説明変数毎に選択された具体的な予測モデルを代入することによって、目的関数を生成する(ステップS20)。
最適化部10は、制約条件や外的情報を記憶部6から読み込み、その制約条件を満たすようにする理計画問題を解くことで、各目的変数の値の最適値を導出する(ステップS21)。例えば、式3に示すように、各商品の売上高の総和を最大化するという数理計画問題が定められている場合、最適化部10は、制約条件のもとで、ステップS20で生成された目的関数が最大になるような目的変数P,P,・・・,Pの値を導出する。
最適化部10は、導出した各目的変数の最適値を記憶部6に記憶させる。表示制御部4は、各目的変数の最適値を記憶部6から読み込み、最適化結果表示欄25に表示する。この結果、ユーザは、各目的変数の最適値(例えば、売上高の総和を最大化する各商品の価格)を把握することができる。
上記の処理経過において、ユーザは、ステップS14で表示された予測モデルの中に適切な予測モデルがないと判断した場合、学習に用いるパラメータを見直し、新たなパラメータを第1入力欄23に入力してもよい。その場合、情報処理システム1は、再度、ステップS11から処理を実行し直せばよい。すなわち、情報処理システム1は、ユーザが被説明変数毎に適切な予測モデルが得られたと判断するまで、予測モデルの学習を繰り返すことができる。
また、ユーザは、ステップS21で表示された各目的変数の最適値が適切な値でないと判断した場合にも、学習に用いるパラメータを見直し、新たなパラメータを第1入力欄23に入力してもよい。その場合、情報処理システム1は、再度、ステップS11から処理を実行し直せばよい。あるいは、ユーザは、予測モデル表示欄22で、被説明変数毎に予測モデルを1つ選択する操作をやり直してもよい。この場合、情報処理システム1は、再度、ステップS15から処理を実行し直せばよい。あるいは、ユーザは、最適化における制約条件を見直し、新たな制約条件を第2入力欄26に入力してもよい。この場合、情報処理システム1は、再度、ステップS16から処理を実行し直せばよい。すなわち、情報処理システム1は、各目的変数の最適値として適切な値が得られたとユーザが判断するまで、学習あるいは最適化を繰り返すことができる。
本発明によれば、目的関数生成部9が、予め定められた目的関数の“形”に、予測モデルを代入することによって目的関数を生成する。そして、最適化部10は、その目的関数の値が最適になるように、目的変数の値を最適化する。すなわち、最適化部10は、予測モデルを引数とする目的関数について、目的関数の値が最適になるように、目的変数の値を最適化する。従って、本発明によれば、数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる。
また、本発明によれば、表示制御部4は、被説明変数毎に学習された予測モデルを予測モデル表示欄22に表示する。従って、学習した予測モデルが適切であるか否かをユーザに確認させることができる。従って、ユーザは、例えば、経験的に知られている現象が予測モデルに反映されているか否かを確認できる。また、ユーザは、最適化後に、得られた最適解がなぜ最適になるのかについて検討することができる。
また、本実施形態では、学習部3が、被説明変数毎に複数種類の予測モデルを学習し、表示制御部4は、被説明変数毎に複数種類の予測モデルを予測モデル表示欄22に表示する。従って、ユーザは、被説明変数毎に、複数の予測モデルの中から最も適切であると判断した予測モデルを選択することができる。この結果、目的変数の最適値の精度を向上させることができる。また、例えば、いずれかの被説明変数において、全ての予測モデルが適切でないと判断した場合であっても、上記のように、パラメータを見直して、学習部3に再度、予測モデルの学習を実行させることができる。
また、ユーザは、いずれかの目的変数の最適値が適切でないと判断した場合にも、上記のように、学習に用いるパラメータを見直したり、被説明変数毎に予測モデルを1つ選択する操作をやり直したり、あるいは、最適化における制約条件を見直したりすることで、情報処理システム1に再度、最適化を実行させることができる。
次に、本実施形態の変形例について説明する。
上記の実施形態では、学習部3が、被説明変数毎に、複数種類の学習アルゴリズムを用いて、複数種類の予測モデルを学習する。学習アルゴリズムが1つに限定され、学習部3が、被説明変数毎に1つの予測モデルを学習してもよい。この場合、表示制御部4は、予測モデル表示欄22において、被説明変数毎に(タブ毎に)、1つの予測モデルに関する情報を表示すればよい。また、この場合、表示制御部4は、予測モデル表示欄22内にラジオボタン22bを表示しなくてよく、ステップS15の処理も実行しなくてよい。また、第1指示ボタン24がクリックされた場合、表示制御部4は、被説明変数毎に作成された予測モデルをそれぞれ記憶部6に記憶させればよい。
また、学習部3は、同じ学習アルゴリズムを用いて、複数の予測モデルを学習してもよい。例えば、学習部3は、2015年11月の訓練データを用いて、ある学習アルゴリズムによって予測モデルを学習するとともに、2015年12月の訓練データを用いて、同一の学習アルゴリズムによって別の予測モデルを学習してもよい。また、例えば、学習部3は、同じ学習アルゴリズムおよび同じ訓練データを用いて、学習区間における残差が小さくなることを優先して予測モデルを学習するとともに、汎化性能を重視して別の予測モデルを学習してもよい。
また、表示制御部4は、予測モデル表示欄22において、表示した予測モデルに対するユーザの編集操作を受け付けてもよい。この場合、ユーザは、予測モデル表示欄22に表示された予測モデルを編集することができる。従って、ユーザは、パラメータを見直して学習部3に再度、学習を実行させなくても、表示された予測モデルの説明変数の係数や定数項を調整することができる。編集操作が行われた予測モデルが選択され、第1指示ボタン24がクリックされた場合、表示制御部4は、編集後の予測モデルを記憶部6に記憶させればよい。
また、上記の実施形態では、学習の実行や最適化の実行をユーザがボタンによって指示する場合を例示した。学習の実行や最適化の実行を指示するためのユーザインタフェースは、第1指示ボタン24および第2指示ボタン27以外の形式であってもよい。例えば、表示制御部4は、コマンドラインユーザインタフェースを画面21とともに表示してもよい。この場合、情報処理システム1は、コマンドラインユーザインタフェースに、学習実行指示を示す所定の文字列が入力された場合に、ステップS13以降の処理を実行し、最適化実行指示を示す所定の文字列が入力された場合に、ステップS19移行の処理を実行すればよい。
なお、図2では、目的変数の数が3つ(「商品1の価格」、「商品2の価格」および「商品3の価格」)である場合を例示したが、値を最適化しようとする目的変数の数は特に限定されない。また、予測対象も、商品に限定されず、例えば、サービス等であってもよい。
複数の商品の売上数の予測に基づいて複数の商品の売上高の総和を最大にするように複数の商品の価格を最適化する場合の本発明の適用例について、商品がサンドイッチである場合を例にして説明する。ここでは、商品(サンドイッチ)の種類を符号A,B,CおよびDで区別するものとする。
例えば、ある小売店で、将来のある日のサンドイッチ群の売上高の総和を最大にする場合を考える。サンドイッチ群は、サンドイッチA,B,CおよびDの4種類のサンドイッチを含むとする。この場合、本発明の情報処理システム1は、サンドイッチ群の売上高の総和、すなわち、サンドイッチA,B,CおよびDの4種類のサンドイッチの売上高の総和が最大化されるように、サンドイッチA,B,CおよびDの価格を最適化するという問題を解くことになる。
訓練データ記憶部2は、過去の各サンドイッチの売上数および過去の各サンドイッチの価格を記憶する。訓練データ記憶部2は、例えば、過去の天気や暦情報等の外的情報も記憶する。
学習部3は、訓練データ記憶部2に記憶された各種訓練データに基づいて、個々のサンドイッチの種類毎に、複数種類の学習アルゴリズムを用いて、複数種類の予測モデル(本例では、売上数の予測モデル)を学習する。
ここでは、サンドイッチAの売上数の予測モデルを例にして、各サンドイッチの価格を示す説明変数を、売上数の予測モデルに含めることを説明する。サンドイッチの売上数は、サンドイッチA自体の価格の影響を受けると考えられる。また、サンドイッチAの売上数は、サンドイッチAと共に商品棚に陳列されるサンドイッチ、すなわちサンドイッチB,CおよびDの価格の影響も受けると考えられる。その小売店に来店する顧客は、商品棚に同時に陳列されるサンドイッチA,B,CおよびDのうちから、好ましいサンドイッチを選択的に購入すると考えられるからである。
この状況で、例えば、サンドイッチBが大安売りされている日を想定する。普段はサンドイッチAを好んで購入する顧客であっても、このような日にはサンドイッチAではなくサンドイッチBを選択して購入する可能性がある。顧客(人間)が一度に食することができるサンドイッチの量には限りがあるので、一般的な顧客がサンドイッチA,Bの両方を購入しようと考える可能性は低いからである。
この場合、結果的には、サンドイッチBが安売りされていることにより、サンドイッチAの売上数が減ることになる。このような関係は、カニバリゼーション(市場の共食い関係)と呼ばれる。
すなわち、カニバリゼーションとは、ある商品の価格を下げると、その商品の売上数が上がる一方で、他の競合商品(性質や特徴が互いに類似した複数の商品)の売上数が減少するような関係である。
従って、学習部3は、サンドイッチAの売上数の予測モデルを複数種類学習する場合、いずれの予測モデルも、説明変数として、サンドイッチAの価格P、サンドイッチBの価格P、サンドイッチCの価格PおよびサンドイッチDの価格Pを含む関数として学習する。ただし、その他の説明変数については、学習部3が、予測モデル毎に、外的情報に含まれている種々の項目(例えば、天候等)の中から適宜、自動的に選択する。
サンドイッチBの売上数の予測モデルを複数種類学習する場合、サンドイッチCの売上数の予測モデルを複数種類学習する場合、およびサンドイッチDの売上数の予測モデルを複数種類学習する場合に関しても、同様である。
これまでの説明から明らかなように、予測モデルは、被説明変数(本例では、サンドイッチの売上数)および説明変数(本例では、着目しているサンドイッチの価格および競合するサンドイッチの価格等)に基づいて学習され、被説明変数と説明変数との間の関係を示し、説明変数の関数で表される。
図2に例示する画面を介して、情報処理システム1は、サンドイッチA,B,CおよびDそれぞれについて、ユーザから、1つの予測モデルの選択を受け付ける。さらに、情報処理システム1は、図2に例示する画面を介して、最適化の制約条件の入力を受け付け、第2指示ボタン27がクリックされる。すると、目的関数生成部9は、数理計画問題(本例では式3)の中で記述される目的関数の“形”(本例では式2)に、サンドイッチの種類毎に選択された予測モデルを代入することによって、最適化問題の目的関数を生成する。
そして、最適化部10は、そのように生成された、予測モデルを引数とする目的関数について、制約条件のもとでその目的関数を最適化する目的変数の値(すなわちP,P,PおよびPの値)を算出する。
以上の説明では、複数の商品の売上高の総和を最大にするように複数の商品の価格を最適化する場合を示したが、複数の商品の売上数の総和、あるいは、利益を最大にするように、複数の商品の価格を最適化する場合にも本発明を適用できる。例えば、利益を最大にするように各商品の価格を最適化する場合、利益を表す目的関数の“形”が記述されているとともに、利益を最大化するということを示す数理計画問題を問題記憶部8に記憶させておけばよい。
また、本発明の他の適用例として、第1の適用例から第5の適用例を以下に示す。
第1の適用例として、商品の棚割りの最適化を説明する。この場合、学習部3は、商品毎に、着目している商品mの売上数Sの予測モデルを、複数種類生成する。このとき、学習部3は、個々の商品の棚の位置を示す各説明変数を含む予測モデルを複数種類生成する。その他の説明変数に関しては、学習部3が適宜、自動的に選択する。
本例における数理計画問題は、例えば、式3で表される。
ユーザから、商品毎に1つの予測モデルの選択を受け付け、さらに、最適化の制約条件の入力を受け付け、第2指示ボタン27がクリックされると、目的関数生成部9は、目的関数を生成し、最適化部10は、その目的関数を最大にするような目的変数の値(各商品の棚の位置)を求めればよい。
第2の適用例として、ホテルの価格の最適化を説明する。この適用例の場合、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表される。目的変数として、例えば、ホテルの各部屋の利用プランの設定料金が挙げられる。前述の小売の例と比較すると、小売の例で示した「サンドイッチ」が、本適用では、例えば、「シングルルームの朝食付きプラン」に対応する。また、外部情報として、例えば、天候、季節、ホテルの周辺で行われるイベント等が挙げられる。
第3の適用例として、ホテル価格と在庫の最適化を説明する。この適用例の場合も、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表される。目的変数には、価格および在庫を考慮した内容が選択される。例えば、第1の目的変数として、各プランで利用される部屋をどの時期にどのくらいの料金で販売するかを表す変数、第2の目的変数として、各プランで利用される部屋をどの時期に何部屋販売するかを表す変数、等が挙げられる。また、第2の適用例と同様、外部情報として、例えば、天候、季節、ホテルの周辺で行われるイベント等が挙げられる。
第4の適用例として、航空券の価格と在庫の最適化を説明する。この適用例の場合も、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表される。目的変数も、第3の適用例と同様、価格および在庫を考慮した内容が選択される。各航空券が、目的地までのルートや座席の種類(クラス)を表すとする。この場合、例えば、第1の目的変数として、各航空券をどの時期にどのくらいの料金で販売するかを表す変数、第2の目的変数として、各航空券をどの時期に何枚販売するかを表す変数、等が挙げられる。また、外部情報として、例えば、季節や開催されるイベント等が挙げられる。
第5の適用例として、各駐車場の駐車料金の最適化を説明する。この適用例の場合も、売上高または利益を最大化することが目的であるため、目的関数は、売上高または利益を算出する関数で表される。目的変数として、例えば、時間帯および場所別の駐車料金が挙げられる。また、外部情報として、例えば、周辺の駐車上の駐車料金、ロケーション情報(住宅地、オフィス街、駅からの距離等)が挙げられる。
なお、本発明によるサービスは、SaaS(Software as a Service)形式で提供され得る。
図7は、本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
本発明の情報処理システムは、コンピュータ1000に実装される。本発明の情報処理システムの動作は、プログラム(情報処理用プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って、上記の処理を実行する。
補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
次に、本発明の概要について説明する。図8は、本発明の情報処理システムの概要を示すブロック図である。本発明の情報処理システムは、学習部71と、可視化部72と、最適化部73とを備える。
学習部71(例えば、学習部3)は、被説明変数および説明変数に基づいて、被説明変数と説明変数との間の関係を示し説明変数の関数で表される予測モデルを学習する。
可視化部72(例えば、表示制御部4)は、その予測モデルを可視化する。
最適化部73(例えば、最適化部10)は、ユーザからの操作を受け付けたことに応じて、可視化部72によって可視化された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する。
そのような構成によって、数理最適化で観測されない入力データが存在する状況であっても、適切に最適化を行うことができる。
また、学習部71が、被説明変数毎に、複数種類の学習アルゴリズムを用いて複数種類の予測モデルを学習し、可視化部72が、被説明変数毎に、その複数種類の予測モデルを可視化し、ユーザによる予測モデルの選択を受け付け、最適化部73が、ユーザによって被説明変数毎に選択された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出してもよい。
また、可視化部72が、過去の被説明変数の値および説明変数の値を含むテストデータを用いて、予測モデル毎に被説明変数の値を算出し、当該被説明変数の値と過去の被説明変数の値との差を可視化してもよい。
また、可視化部72が、可視化した予測モデルに対するユーザの編集操作を受け付けてもよい。
また、学習部71が、予測モデルの学習を指示する操作をユーザから受け付けたことに応じて、予測モデルを学習してもよい。
以上、実施形態を参照して本願発明を説明したが、本願発明は、上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2015年11月30日に出願された米国仮出願62/260,764を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
本発明は、学習された予測モデルに基づいて最適化を行う情報処理システムに好適に適用される。
1 情報処理システム
2 訓練データ記憶部
3 学習部
4 表示制御部
5 ディスプレイ装置
6 記憶部
7 外的情報入力部
8 問題記憶部
9 目的関数生成部
10 最適化部

Claims (7)

  1. 被説明変数および説明変数に基づいて、前記被説明変数と前記説明変数との間の関係を示し前記説明変数の関数で表される予測モデルを学習する学習部と、
    前記予測モデルを可視化する可視化部と、
    ユーザからの操作を受け付けたことに応じて、前記可視化部によって可視化された前記予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する最適化部とを備える
    ことを特徴とする情報処理システム。
  2. 学習部は、被説明変数毎に、複数種類の学習アルゴリズムを用いて複数種類の予測モデルを学習し、
    可視化部は、被説明変数毎に、前記複数種類の予測モデルを可視化し、ユーザによる予測モデルの選択を受け付け、
    最適化部は、前記ユーザによって被説明変数毎に選択された予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する
    請求項1に記載の情報処理システム。
  3. 可視化部は、過去の被説明変数の値および説明変数の値を含むテストデータを用いて、予測モデル毎に被説明変数の値を算出し、当該被説明変数の値と前記過去の被説明変数の値との差を可視化する
    請求項1または請求項2に記載の情報処理システム。
  4. 可視化部は、可視化した予測モデルに対するユーザの編集操作を受け付ける
    請求項1から請求項3のうちのいずれか1項に記載の情報処理システム。
  5. 学習部は、予測モデルの学習を指示する操作をユーザから受け付けたことに応じて、予測モデルを学習する
    請求項1から請求項4のうちのいずれか1項に記載の情報処理システム。
  6. 被説明変数および説明変数に基づいて、前記被説明変数と前記説明変数との間の関係を示し前記説明変数の関数で表される予測モデルを学習し、
    前記予測モデルを可視化し、
    ユーザからの操作を受け付けたことに応じて、可視化された前記予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する
    ことを特徴とする情報処理方法。
  7. コンピュータに、
    被説明変数および説明変数に基づいて、前記被説明変数と前記説明変数との間の関係を示し前記説明変数の関数で表される予測モデルを学習する学習処理、
    前記予測モデルを可視化する可視化処理、および、
    ユーザからの操作を受け付けたことに応じて、前記可視化処理で可視化された前記予測モデルを引数とする目的関数について、制約条件のもとで当該目的関数を最適化する目的変数を算出する最適化処理
    を実行させるための情報処理用プログラム。
JP2017553600A 2015-11-30 2016-08-29 情報処理システム、情報処理方法および情報処理用プログラム Active JP6819607B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562260764P 2015-11-30 2015-11-30
US62/260,764 2015-11-30
PCT/JP2016/003927 WO2017094207A1 (ja) 2015-11-30 2016-08-29 情報処理システム、情報処理方法および情報処理用プログラム

Publications (2)

Publication Number Publication Date
JPWO2017094207A1 true JPWO2017094207A1 (ja) 2018-09-13
JP6819607B2 JP6819607B2 (ja) 2021-01-27

Family

ID=58796613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017553600A Active JP6819607B2 (ja) 2015-11-30 2016-08-29 情報処理システム、情報処理方法および情報処理用プログラム

Country Status (3)

Country Link
US (1) US20180336476A1 (ja)
JP (1) JP6819607B2 (ja)
WO (1) WO2017094207A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020177513A (ja) * 2019-04-19 2020-10-29 ヤフー株式会社 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6607885B2 (ja) * 2017-07-10 2019-11-20 株式会社三菱総合研究所 情報処理装置及び情報処理方法
JP6828830B2 (ja) * 2017-11-02 2021-02-10 日本電気株式会社 評価システム、評価方法および評価用プログラム
US20210027109A1 (en) * 2018-03-30 2021-01-28 Nec Corporation Evaluation system, evaluation method, and program for evaluation
JP7163975B2 (ja) * 2019-01-10 2022-11-01 日本電気株式会社 属性生成装置、属性生成方法および属性生成プログラム
JP7263020B2 (ja) * 2019-01-16 2023-04-24 株式会社東芝 処理水質推定装置、処理水質推定方法及びプログラム
US20220101380A1 (en) * 2019-01-31 2022-03-31 Nec Corporation Scheduling device, scheduling method and recording medium
JP7310171B2 (ja) * 2019-02-28 2023-07-19 富士通株式会社 配分方法、抽出方法、配分プログラム、抽出プログラム、配分装置及び抽出装置
JP7215324B2 (ja) * 2019-05-17 2023-01-31 富士通株式会社 予測プログラム、予測方法及び予測装置
WO2021033338A1 (ja) * 2019-08-22 2021-02-25 日本電気株式会社 分析システム、装置、制御方法、及びプログラム
JP7168095B2 (ja) * 2019-08-29 2022-11-09 富士通株式会社 パターン抽出プログラム、装置、及び方法
JP7012696B2 (ja) * 2019-10-21 2022-01-28 株式会社三菱総合研究所 情報処理装置及び情報処理方法
JP7334796B2 (ja) * 2019-11-18 2023-08-29 日本電気株式会社 最適化装置、最適化方法、プログラム
JP2021144511A (ja) * 2020-03-12 2021-09-24 株式会社グルーヴノーツ 情報処理装置、情報処理方法及び情報処理プログラム
JP7456273B2 (ja) * 2020-05-11 2024-03-27 Tdk株式会社 データ解析システム、データ解析方法及びデータ解析プログラム
JP6963062B1 (ja) * 2020-06-22 2021-11-05 株式会社Yamato 情報処理装置及び情報処理方法
CN112700011B (zh) * 2020-12-31 2024-05-31 第四范式(北京)技术有限公司 一种智能体决策信息展示方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004336890A (ja) * 2003-05-08 2004-11-25 Hitachi Ltd 電力売買支援システム
JP2014180187A (ja) * 2013-03-15 2014-09-25 Toshiba Corp 電力需要予測装置、方法及びプログラム並びに需要抑制計画策定装置
JP2015158812A (ja) * 2014-02-24 2015-09-03 富士通株式会社 発注量決定方法、発注量決定装置および発注量決定プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004336890A (ja) * 2003-05-08 2004-11-25 Hitachi Ltd 電力売買支援システム
JP2014180187A (ja) * 2013-03-15 2014-09-25 Toshiba Corp 電力需要予測装置、方法及びプログラム並びに需要抑制計画策定装置
JP2015158812A (ja) * 2014-02-24 2015-09-03 富士通株式会社 発注量決定方法、発注量決定装置および発注量決定プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
櫻井 茂明: "RFIDデータに基づいたアパレル商品の販売数予測", 第2回データ工学と情報マネジメントに関するフォーラム −DEIM 2010− 論文集 [ONLINE, JPN6020015716, 25 May 2010 (2010-05-25), JP, pages 1 - 8, ISSN: 0004261878 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020177513A (ja) * 2019-04-19 2020-10-29 ヤフー株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
WO2017094207A1 (ja) 2017-06-08
US20180336476A1 (en) 2018-11-22
JP6819607B2 (ja) 2021-01-27

Similar Documents

Publication Publication Date Title
WO2017094207A1 (ja) 情報処理システム、情報処理方法および情報処理用プログラム
Kaipia et al. Information sharing for sales and operations planning: Contextualized solutions and mechanisms
JP6856023B2 (ja) 最適化システム、最適化方法および最適化プログラム
JP6848884B2 (ja) 最適化システム、最適化方法、及び、プログラム
Rezaei et al. A joint pricing, lot-sizing, and supplier selection model
Mendes Demand driven supply chain: A structured and practical roadmap to increase profitability
Higle et al. Production planning under supply and demand uncertainty: A stochastic programming approach
US20210158259A1 (en) Orchestrated intelligent supply chain optimizer
US20150254589A1 (en) System and Method to Provide Inventory Optimization in a Multi-Echelon Supply Chain Network
Hansen et al. Modelling ramp-up curves to reflect learning: improving capacity planning in secondary pharmaceutical production
WO2017056367A1 (ja) 情報処理システム、情報処理方法および情報処理用プログラム
US20200410426A1 (en) Method of determining optimal business metrics from a product mix constrained by at least physical shelf space and at least one business rule
US11068919B2 (en) Method of making changes to product mixes placed on boundary constrained shelves by determining the cost of implementing a pricing strategy formed by changeable business rules
JP4887846B2 (ja) 出荷計画システム
US20230306347A1 (en) Systems and methods for supply chain optimization with channel saliency
JP6791151B2 (ja) 最適化システム、最適化方法および最適化プログラム
Baykasoğlu et al. Revenue management for make-to-order manufacturing systems with a real-life application
CN114626660A (zh) 用于激增调整预报的方法和装置
JP6424568B2 (ja) 発注量決定プログラム、発注量決定方法および発注量決定装置
JP2021039542A (ja) 情報処理方法および情報処理装置
Avigad et al. Supporting the selection of robust engineering concepts under suppliers related uncertainties
Lawrence et al. Productivity in the US Consumer Drug Store Business
Landge et al. Data Science and Internet of Things for Enhanced Retail Experience
JP6670406B1 (ja) 学習装置及び予測装置
da Silva A Hybrid Multi-Objective Data-Driven Approach Towards Safety Stock and Safety Time Optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201214

R150 Certificate of patent or registration of utility model

Ref document number: 6819607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150