(57)【特許請求の範囲】
【請求項１】
予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合における当該予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、
予測対象の指定と、前記操作変数の指定とを受け付ける受付部と、
前記予測対象に影響し得る特徴の集合から、当該予測対象に影響する特徴の集合である第１特徴集合と、前記操作変数に影響する特徴の集合である第２特徴集合とを選択する特徴選択部と、
前記第１特徴集合と第２特徴集合とを出力する出力部とを備え、
前記特徴選択部は、前記操作変数として指定された特徴を前記第１特徴集合に含めるように選択する
ことを特徴とする特徴選択システム。
【請求項２】
第２特徴集合には含まれるが第１特徴集合に含まれない少なくとも１つの特徴を説明変数とする予測モデルを学習する学習部を備えた
請求項１記載の特徴選択システム。
【請求項３】
学習部は、第１特徴集合に含まれる特徴および第２特徴集合に含まれる特徴の全てを説明変数とし、予測対象である特徴を被説明変数とするモデルを学習する
請求項２記載の特徴選択システム。
【請求項４】
出力部は、第１特徴集合に含まれる特徴と、第２特徴集合には含まれるが第１特徴集合には含まれない特徴とを、区別し得る態様にて表示装置に表示する
請求項１から請求項３のうちのいずれか１項に記載の特徴選択システム。
【請求項５】
特徴選択部は、予測対象に影響し得る特徴の集合から、予測対象を被説明変数として特徴選択処理を行うことで第１特徴集合を取得し、予測対象に影響し得る特徴の集合から、操作変数を被説明変数として特徴選択処理を行うことで第２特徴集合を取得し、
出力部は、取得された前記第１特徴集合と前記第２特徴集合との和集合を出力する
請求項１から請求項４のうちのいずれか１項に記載の特徴選択システム。
【請求項６】
予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合における当該予測モデルの学習に用いられる特徴を選択する特徴選択方法であって、
予測対象の指定と、前記操作変数の指定とを受け付け、
前記予測対象に影響し得る特徴の集合から、当該予測対象に影響する特徴の集合である第１特徴集合と、前記操作変数に影響する特徴の集合である第２特徴集合とを選択し、
前記選択の際、前記操作変数として指定された特徴を前記第１特徴集合に含めるように選択し、
前記第１特徴集合と第２特徴集合とを出力する
ことを特徴とする特徴選択方法。
【請求項７】
第２特徴集合には含まれるが第１特徴集合に含まれない少なくとも１つの特徴を説明変数とする予測モデルを学習する
請求項６記載の特徴選択方法。
【請求項８】
予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合における当該予測モデルの学習に用いられる特徴を選択するコンピュータに適用される特徴選択プログラムであって、
前記コンピュータに、
予測対象の指定と、前記操作変数の指定とを受け付ける受付処理、
前記予測対象に影響し得る特徴の集合から、当該予測対象に影響する特徴の集合である第１特徴集合と、前記操作変数に影響する特徴の集合である第２特徴集合とを選択する特徴選択処理、および、
前記第１特徴集合と第２特徴集合とを出力する出力処理を実行させ、
前記特徴選択処理で、前記操作変数として指定された特徴を前記第１特徴集合に含めるように選択させる
ための特徴選択プログラム。
【請求項９】
コンピュータに、
第２特徴集合には含まれるが第１特徴集合に含まれない少なくとも１つの特徴を説明変数とする予測モデルを学習する学習処理を実行させる
請求項８記載の特徴選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測に用いる特徴を選択する特徴選択システム、特徴選択方法および特徴選択プログラムに関する。
【背景技術】
【０００２】
予測モデルや判別モデルを構築する際、複数の特徴の中から意味のある特徴を選択する特徴選択（Feature selection ）処理が一般に行われる。特徴選択を行うことで、観測データのうち、どの特徴が重要であり、それらがどのように関係しているかを表すことが可能になる。【０００３】
例えば、特許文献１には、マルウェア判定に用いられる特徴を選択する特徴選択装置が記載されている。特許文献１に記載された特徴選択装置は、マルウェアの実行ファイル中に含まれる可読文字列をあらかじめ機械学習し、マルウェアでよく用いられる語を抽出する。また、特許文献１に記載された特徴選択装置は、特徴の候補群のうち、検証用データにおいて組で出現する特徴群についてはいずれかの特徴で代表させ、代表以外の特徴（冗長特徴）を削除する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−３１６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
対象の予測ができれば、その予測に基づいて将来の最適化戦略を検討することが可能である。例えば、予測モデルが生成される場合、この予測モデルに基づく最適化をすることができる。予測モデルに基づく最適化とは、予測モデルで表される目的関数の値を最大にするように、その予測モデルに含まれる特徴を最適化することであると言える。このような最適化の例として、売上数の予測モデルを用いて価格を最適化することが挙げられる。【０００６】
過去のデータに基づく一般的な学習方法を用いることで、上述する予測モデルを構築することが可能である。その際、一般的な学習方法では、特許文献１にも記載されているように、冗長な特徴は予測モデルから除外され、選択されないことが一般的である。冗長な特徴を除外することで、予測精度に大きな悪影響を与えることなく、次元の呪いの効果を緩和したり、学習を高速化させたり、モデルの可読性を向上させたりできる。また、冗長な特徴を除外することは、過学習を防ぐ観点からも有益である。【０００７】
ここで、予測対象の最適化に用いられる一の特徴が、予測対象の予測に用いられる他の特徴の影響を受けている場合も存在する。言い換えると、一の特徴と他の特徴との間に因果関係が存在する場合も存在する。このような因果関係を考慮せずに特徴を選択した場合、予測精度には問題が生じなくとも、最適化において問題が生じる場合がある。以下、具体例を用いて、問題が生じる状況を説明する。【０００８】
ここでは、傘の価格の最適化問題を考える。ｘが傘の価格、ｙが傘の売上数、ｚが天気を表す変数とし、売上数ｙを予測するとする。ここでｘ、ｚは、傘の売上数に影響を与えそうな特徴の一つである。過去のデータでは、雨の場合には傘の売上数が多いため、それを見越して店主が傘の価格を高く設定しており、逆に晴れの場合には傘の売上数が少ないため、それを見越して店主が傘の価格を低く設定しているとする。【０００９】
この状況を上記変数を用いて表すと、雨の日は、（ｘ，ｙ，ｚ）＝（“高い”，“多い”，“雨”）となり、晴れ日は、（ｘ，ｙ，ｚ）＝（“低い”，“少ない”，“晴”）となる。このとき、ｘとｚとを用いてｙが予測される。一方、ｘとｚには強い相関があるため、このような状況でｙを予測する場合、ｘだけでｙを説明するのは十分なため（すなわち、ｘ＝高い、の場合、ｚ＝雨が常に成り立つため）、特徴選択処理によりｚは冗長な特徴であるとみなされる。すなわち、ｚは特徴選択処理により除外される。したがって、予測において、ｐ（ｙ＝多い｜ｘ＝高い）＝１という確率が成り立つ。【００１０】
特徴であるｚが選択されていないため、上記確率の式からは、ｘを高くすればｙは多くなると言えるため、ｙを高くするための最適化の結果が「常に傘を高い値段で売る」と判断され得る。この結果は、晴れの日にも、傘を高い値段で売ったほうが売上数が増える、ということを意味しており、明らかに直感に反する。これは、最適化による介入をした結果と予測との違いであり、上記の例では、価格が高い時に自然に売れる量と、自ら価格を高くしたときに売れる量とは異なる。すなわち、介入を行って得られた値をｄｏ（変数）と表すと、以下に示す式１の関係が成り立つ。【００１１】
ｐ（ｙ＝多い｜ｘ＝高い）≠ｐ（ｙ＝多い｜ｄｏ（ｘ＝高い））    （式１）【００１２】
式１に例示する予測式ｐ（ｙ＝多い｜ｘ＝高い）は、過去データにおいて高い精度を有する。ただし、「晴れの日に傘を高い値段で売った」という実績データがないということに注意する必要がある。この場合、最適化器は、（ｘ＝高い、ｚ＝晴れ）という戦略の組み合わせが過去データに存在しないにもかかわらず、高い予測精度を元に最適化を行っていることになる。これは、特徴量選択によって、リスクの高い戦略であるという情報が入力されず、最適化器が適切に判断できない、という現象ととらえることができる。式１に示すような状況を考慮せず最適化を行ってしまうと、最適化の戦略として危ういものを選択してしまう可能性がある。すなわち、予測の場面においては、観測されない状況における予測精度は保証されない一方、最適化の場面においては、過去に観測されない状況も考慮される。【００１３】
予測の観点から適切な特徴選択、すなわち予測の観点から冗長な特徴を除外するような特徴選択を行い、選択された特徴のみを用いて学習された予測モデルがあるとする。この予測モデルは予測の目的に用いられる限り、良いパフォーマンスを発揮すると思われる。しかし、この予測モデルを最適化の目的に用いた場合、危うい戦略を選択しまう結果、適切な最適化ができない場合も存在する。予測の目的にのみ用いられる予測モデルを学習するために必要な特徴の集合と、予測に基づく最適化に用いられる予測モデルを学習するために必要な特徴の集合とは、必ずしも一致しない、ということを、本発明者は見出した。予測モデルに基づく最適化を行う際には、予測の目的では冗長である特徴であっても、適切な最適化に必要な特徴については漏れなく選択できることが好ましい。【００１４】
そこで、本発明では、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる特徴選択システム、特徴選択方法および特徴選択プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明による特徴選択システムは、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、予測対象の指定と、操作変数の指定とを受け付ける受付部と、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第１特徴集合と、操作変数に影響する特徴の集合である第２特徴集合とを選択する特徴選択部と、第１特徴集合と第２特徴集合とを出力する出力部とを備え、特徴選択部が、操作変数として指定された特徴を第１特徴集合に含めるように選択することを特徴とする。
【００１６】
本発明による特徴選択方法は、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択方法であって、予測対象の指定と、操作変数の指定とを受け付け、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第１特徴集合と、操作変数に影響する特徴の集合である第２特徴集合とを選択し、その選択の際、操作変数として指定された特徴を第１特徴集合に含めるように選択し、第１特徴集合と第２特徴集合とを出力することを特徴とする。
【００１７】
本発明による特徴選択プログラムは、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出する場合におけるその予測モデルの学習に用いられる特徴を選択するコンピュータに適用される特徴選択プログラムであって、コンピュータに、予測対象の指定と、操作変数の指定とを受け付ける受付処理、予測対象に影響し得る特徴の集合から、その予測対象に影響する特徴の集合である第１特徴集合と、操作変数に影響する特徴の集合である第２特徴集合とを選択する特徴選択処理、および、第１特徴集合と第２特徴集合とを出力する出力処理を実行させ、特徴選択処理で、操作変数として指定された特徴を第１特徴集合に含めるように選択させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明による価格最適化システムの一実施形態を示すブロック図である。
【図２】価格最適化システムが価格最適化を行う場合の動作例を示すフローチャートである。
【図３】価格最適化システムが予測対象と操作変数の指定に応じて特徴を選択する処理の例を示すフローチャートである。
【図４】データベースに記録された店舗の売上記録の例を示す説明図である。
【図５】本発明による特徴選択システムの概要を示すブロック図である。
【図６】本発明による特徴選択システムに入力されるデータの一具体例を示す説明図である。
【図７】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００２０】
まず初めに、本願発明について用いられる用語を説明する。本実施形態で特徴（Ｆｅａｔｕｒｅ）とは、属性名の意味で用いられる。また、その属性が示す具体的な値のことを、属性の値と記す。属性の例は価格であり、この場合の属性の値の例は、５００円である。なお、以下の説明で、「特徴」と記載した場合、その役割は限定されず、属性名の意味の他、後述する説明変数、予測対象、または、操作変数を意味することもある。
【００２１】
説明変数とは、予測対象に影響を与え得る変数を意味する。上述する傘の価格の最適化問題の例では、「午前に雨であるか否か」、「午後に雨であるか否か」、などの他、「月末であるか否か」などが説明変数に該当する。本実施形態では、特徴選択を行う際の入力として、説明変数の候補が入力される。すなわち、特徴選択では、説明変数の候補の中から予測対象に影響を与え得る説明変数が特徴として選択され、結果として出力される。言い換えると、特徴選択において選択された説明変数は、説明変数の候補の部分集合である。
【００２２】
予測対象は、機械学習の分野では、「目的変数」とも呼ばれる。なお、後述する最適化処理で一般的に用いられる「目的変数」との混同を避けるため、以下の説明では、予測対象を表す変数を被説明変数と記す。したがって、予測モデルは、被説明変数を１つ以上の説明変数を用いて表したモデルということができる。なお、本実施形態では、学習処理の結果得られるモデルのことを学習済モデルと記すこともある。本実施形態において、予測モデルは、学習済モデルの具体的態様である。
【００２３】
操作変数とは、オペレーションの際に何らかの（例えば、人の）介入が入る変数を意味する。具体的には、最適化処理において最適化の対象になる変数のことを意味する。なお、操作変数は、最適化処理では一般に「目的変数」と呼ばれる変数であるが、上述するように、機械学習で用いられる目的変数との混同を避けるため、「目的変数」との用語を用いずに本願発明を説明する。上述する傘の価格の最適化問題の例では、「傘の価格」が操作変数に該当する。
【００２４】
なお、操作変数は説明変数の一部である。以下の説明では、説明変数と操作変数とを区別する必要がない場合、単に説明変数と記載し、説明変数と操作変数とを区別する場合、説明変数は、操作変数以外の変数を意味する。また、説明変数と操作変数とを区別する場合、操作変数以外の説明変数を外部変数 と表現することもある。
【００２５】
目的関数は、最適化処理において、与えられた制約条件の下、操作変数を最適化することにより最大または最小の値を求める対象の関数を意味する。上述する傘の価格の最適化問題の例では、売上高（売上数×価格）を算出する関数が目的関数に該当する。
【００２６】
以下、本発明の実施形態を図面を参照して説明する。
【００２７】
図１は、本発明による価格最適化システムの一実施形態を示すブロック図である。本実施形態の価格最適化システム１００は、予測に基づく最適化を行うシステムであり、受付部１０と、特徴選択部２０と、学習部３０と、最適化部４０と、出力部５０とを備えている。なお、本実施形態の価格最適化システム１００は、具体的態様として特徴選択を行うことから、価格最適化システム１００のことを特徴選択システムということができる。
【００２８】
すなわち、本実施形態の価格最適化システムは、予測対象の予測に用いられる予測モデルを学習するシステムであり、また、その予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数を算出するシステムである。ここで、予測モデルを用いて表される目的関数は、予測モデルを用いて予測される予測値を引数として定義される目的関数、および、予測モデルのパラメータを引数として定義される目的関数のいずれをも意味する。
【００２９】
受付部１０は、予測対象（言い換えると、被説明変数）と、その予測対象に影響し得る特徴の集合（言い換えると、説明変数の候補）と、最適化の対象（言い換えると、操作変数）とを受け付ける。具体的には、受付部１０は、どの特徴が被説明変数ｙであるのかの指定と、どの特徴が操作変数ｘであるのかの指定とを受け付ける。また、受付部１０は、説明変数ｚの候補を受け付ける。なお、価格最適化システム１００が予め説明変数ｚの候補を保持している場合、受付部１０は、被説明変数ｙである予測対象の指定と、操作変数ｘの指定の２種類を受け付けてもよい。
【００３０】
上述するように、操作変数ｘは説明変数ｚの一部であることから、受付部１０は、説明変数ｚの候補と、その説明変数ｚの中に含まれる操作変数ｘの識別子を受け付けてもよい。上述する傘の価格の最適化問題の場合、被説明変数ｙが傘の売上数を表わし、操作変数ｘが傘の価格を表わし、説明変数ｚが天気を表わす。また。受付部１０は、後続の処理で必要になる各種パラメータも受け付ける。
【００３１】
特徴選択部２０は、予測モデルの学習に用いられる特徴を選択する。具体的には、特徴選択部２０は、受付部１０が受け付けた予測対象に影響し得る特徴の集合から、予測対象に影響する特徴の集合を選択する。以下、予測対象に影響する特徴の集合を第１特徴集合と記す。例えば、上述する傘の価格の最適化問題の場合、予測対象である傘（商品）の売上数に影響し得る特徴の集合から、売上数に影響する集合（第１特徴集合）として、価格が選ばれる。このとき、予測対象を説明するために互いに冗長であるような特徴が複数存在する場合、冗長な特徴のうちいくつかは第１特徴集合からは除外される。上述した例では、予測対象（売上数）を説明するための特徴として価格と天気とは互いに冗長な特徴とみなされ、価格と天気とのうち片方が第１特徴集合から除外される。上述した例では、天気が除外される。
【００３２】
さらに、本実施形態の特徴選択部２０は、受付部１０が受け付けた予測対象に影響し得る特徴の集合から、操作変数に影響する特徴の集合を選択する。以下、操作変数に影響する特徴の集合を第２特徴集合と記す。例えば、上述する傘の価格の最適化問題の場合、操作変数である価格に影響する集合（第２特徴集合）として、天気が選ばれる。このとき、操作変数を説明するために互いに冗長であるような特徴が複数ある場合、冗長な特徴のうちいくつかは第２特徴集合からは除外される。
【００３３】
このように、特徴選択部２０は、予測対象である商品の売上数に影響し得る特徴の集合から、予測対象（売上数）に影響する第１特徴集合と、操作変数（商品の価格）に影響する第２特徴集合とを選択する。ここで、第１特徴集合は、予測の目的のみに用いる予測モデルを学習する際に必要十分な特徴集合である。第１特徴集合には含まれず且つ第２特徴集合に含まれる特徴は、予測の目的のみに用いる予測モデルを学習する際には必ずしも必要な特徴ではないが、予測に基づく最適化に用いられる予測モデルを学習する際には必要となる特徴である。なお、特徴選択部２０は、操作変数自体は除外しないものとする（すなわち、操作変数が、必ず第１特徴集合と第２特徴集合のいずれかに残るようにする）。
【００３４】
上記では、具体例を用いて特徴が選択される場合を例示したが、特徴選択部２０は、一般に知られた特徴選択技術を用いて第１特徴集合および第２特徴集合を選択すればよい。特徴選択技術として、例えば、Ｌ１正則化が挙げられる。ただし、特徴選択部２０が特徴を選択する方法はＬ１正則化に限られない。
【００３５】
特徴選択には、例えば、ｍａｔｃｈｉｎｇ  ｏｒｔｈｏｇｏｎａｌ  ｐｕｒｓｕｉｔ等の貪欲法的による特徴量選択や、様々な情報量基準による選択も含まれる。なお、正則化法は、多くの特徴量を選ぶごとにペナルティを加える方法である。貪欲法は、有力な特徴量から決められた数の特徴量を選択する方法である。情報量基準は、多くの特徴量を選ぶことによって生じる汎化誤差に基づくペナルティを課す方法である。Ｌ１正則化を用いた特徴選択の具体的な方法については、後述される。
【００３６】
学習部３０は、第１特徴集合に含まれる特徴および第２特徴集合に含まれる特徴を説明変数とし、予測対象の特徴を被説明変数とする予測モデルを学習する。価格の例の場合、学習部３０は、第１特徴集合に含まれる特徴および第２特徴集合に含まれる特徴を説明変数とし、売上数を予測対象とする予測モデルを学習する。その際、学習部３０は、第２特徴集合には含まれるが第１特徴集合には含まれない少なくとも一つの特徴を説明変数として用いて、予測モデルを学習する。なお、学習部３０は、第１特徴集合に含まれる特徴および第２特徴集合に含まれる特徴の全ての特徴を説明変数とすることが好ましい。
【００３７】
一般的な特徴選択では、第２特徴集合に含まれる特徴が選択されないため、後述する最適化処理に影響するような特徴を含めた学習をすることは困難である。一方、本実施形態では、学習部３０が第２特徴集合には含まれるが第１特徴集合には含まれない特徴を説明変数としてモデルを学習するため、後処理である最適化処理を考慮したモデルを生成できる。
【００３８】
最適化部４０は、学習部３０によって生成された予測モデルを引数として定義される被説明変数の関数を最大化または最小化するように操作変数の値を最適化するする。売上の例の場合、最適化部４０は、予測モデルを引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する。より具体的には、最適化部４０は、予測モデルを用いて予測される売上数を引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する。
【００３９】
予測モデルを用いて最適化する際、最適化部４０に予測誤差の分布を表す情報を入力し、それに基づく最適化を行うことができる。つまり、予測誤差が大きい戦略に対してペナルティを課すことで、リスクの高い戦略を避けるような最適化ができる。これは、予測誤差を用いない最適化と対比して、ロバスト最適化、確率最適化などと呼ばれる。例えば、予測モデルがｙ＝ａ１ｘ１＋ｂで表される場合、予測誤差の分布は、ａ１およびｂに関する分布である。予測誤差の分布とは、例えば、分散共分散行列である。ここで入力される予測誤差の分布は、予測モデルの内容、より具体的には、第２特徴集合には含まれるが第１特徴集合には含まれない特徴に依存する。
【００４０】
例えば、操作変数をｘ１、説明変数であって第１特徴集合に含まれる特徴をｚ１、説明変数であって第２特徴集合には含まれるが第１特徴集合には含まれない特徴をｚ２、被説明変数をｙとする。第２特徴集合には含まれるが第１特徴集合には含まれない特徴（すなわち、ｚ２）を考慮しないような一般的な特徴選択が行われる場合、例えば、以下の式２に示す予測モデルが生成される。
【００４１】
ｙ＝ａ１ｘ１＋ａ２ｚ１＋ｂ    （式２）
【００４２】
一方、本実施形態のように、ｚ２を考慮した特徴選択が行われる場合、例えば、以下の式３に示す予測モデルが生成される。
【００４３】
ｙ＝ａ１ｘ１＋ａ２ｚ１＋ａ３ｚ２＋ｂ    （式３）
【００４４】
このように予測モデルの生成には必ずしも必要がない特徴（ｚ２）であっても、予測モデルに含めるように特徴選択が行われているため、より適切な予測誤差の分布を最適化部４０に入力できる。
【００４５】
上述する傘の価格の最適化問題では、上記式２は、天気に関する特徴量ｚが選択されなかった場合に対応し、上記式３は、天気に関する特徴量ｚが選択された場合に対応する。上記式２は、予測誤差の分布は、価格が高いときも低いときも予測精度が高いことを示す。一方、上記式３は、雨で価格が高い場合の予測精度はよいが、晴れで価格が高い場合の予測精度は低い、という情報を表す予測誤差分布を含む。よって、式３に示すような状況を踏まえて最適化を行うことにより、特徴量選択が原因でリスクの高い戦略が選択されてしまうという状況を避けることができる。
【００４６】
最適化部４０が最適化処理を行う方法は任意であり、一般的な最適化問題を解く方法を用いて操作変数（価格）を最適化すればよい。
【００４７】
出力部５０は、最適化結果を出力する。例えば、売上高を高くするように価格最適化を行った場合、出力部５０は、最適な価格と、その時の売上高を出力してもよい。
【００４８】
また、出力部５０は、最適化結果だけでなく、特徴選択部２０が選択した第１特徴集合と第２特徴集合を出力してもよい。このとき、出力部５０は、第１特徴集合に含まれる特徴と、第２特徴集合には含まれるが第１特徴集合には含まれない特徴とを、区別し得る態様で出力してもよい。区別し得る態様で出力する方法の例として、第２特徴集合には含まれるが第１特徴集合には含まれない特徴の色を変える方法、強調表示する方法、大きさを変える方法、斜体で表示する方法などが挙げられる。また、出力部５０の出力先は任意であり、例えば、価格最適化システム１００が備えるディスプレイ装置などの表示装置（図示せず）であってもよい。
【００４９】
第１特徴集合は一般的な特徴選択処理で選択された特徴であり、第２特徴集合は後処理である最適化処理を考慮して選択された特徴であって一般的な特徴選択処理では現れない特徴である。このような特徴を区別して表示することで、最適化処理を実行する際に用いる適切な特徴をユーザが把握し、選択することが可能になる。その結果、ユーザは表示された情報を閲覧し、ドメイン知識を生かした特徴の調整も可能になる。
【００５０】
受付部１０と、特徴選択部２０と、学習部３０と、最適化部４０と、出力部５０とは、プログラム（価格最適化プログラム、特徴選択プログラム）に従って動作するコンピュータのＣＰＵによって実現される。
【００５１】
例えば、プログラムは、価格最適化システム１００が備える記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、受付部１０と、特徴選択部２０と、学習部３０と、最適化部４０とおよび出力部５０として動作してもよい。
【００５２】
また、受付部１０と、特徴選択部２０と、学習部３０と、最適化部４０と、出力部５０とは、それぞれが専用のハードウェアで実現されていてもよい。
【００５３】
次に、本実施形態の価格最適化システム１００の動作例を説明する。図２は、価格最適化システム１００が価格最適化を行う場合の動作例を示すフローチャートである。
【００５４】
特徴選択部２０は、商品の売上数に影響し得る特徴の集合（すなわち、説明変数ｚの候補）から、売上数（すなわち、被説明変数ｙ）に影響する第１特徴集合を選択する（ステップＳ１１）。さらに、特徴選択部２０は、商品の売上数に影響し得る特徴の集合から、商品の価格（すなわち、操作変数ｘ）に影響する第２特徴集合を選択する（ステップＳ１２）。
【００５５】
学習部３０は、第１特徴集合と第２特徴集合に含まれる特徴を説明変数とし、売上数を予測対象とする予測モデルを学習する。その際、学習部３０は、第２特徴集合には含まれるが第１特徴集合に含まれない少なくとも１つの特徴を説明変数とする予測モデルを学習する（ステップＳ１３）。
【００５６】
最適化部４０は、予測モデルを引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する（ステップＳ１４）。
【００５７】
また、図３は、価格最適化システム１００が予測対象と操作変数の指定に応じて特徴を選択する処理の例を示すフローチャートである。
【００５８】
受付部１０は、予測対象（すなわち、被説明変数ｙ）の指定と、操作変数（すなわち、操作変数ｘ）の指定とを受け付ける（ステップＳ２１）。特徴選択部２０は、予測対象に影響し得る特徴の集合（すなわち、説明変数ｚの候補）から、その予測対象に影響する第１特徴集合と、操作変数に影響する第２特徴集合とを選択する（ステップＳ２２）。特徴選択部２０は、選択した第１特徴集合および第２特徴集合を学習部３０に入力してもよい。
【００５９】
出力部５０は、第１特徴集合と第２特徴集合とを出力する（ステップＳ２３）。このとき、出力部５０は、第１特徴集合に含まれる特徴と、第２特徴集合には含まれるが第１特徴集合には含まれない特徴とを、区別し得る態様にて出力してもよい。
【００６０】
以上のように、本実施形態では、特徴選択部２０が、商品の売上数に影響し得る特徴の集合から、売上数に影響する第１特徴集合と、商品の価格に影響する第２特徴集合とを選択し、学習部３０が、第１特徴集合と第２特徴集合に含まれる特徴を説明変数とし、売上数を予測対象とする予測モデルを学習し、最適化部４０が、予測モデルを引数として定義される売上高が高くなるように、制約条件の下で商品の価格を最適化する。その際、学習部３０は、第２特徴集合には含まれるが第１特徴集合に含まれない少なくとも１つの特徴を説明変数とする予測モデルを学習する。
【００６１】
よって、予測に基づいて価格を最適化する場合において、危うい戦略を回避できるように価格の最適化を行うための特徴を選択できる。
【００６２】
また、本実施形態では、受付部１０が予測対象の指定と、操作変数の指定とを受け付け、特徴選択部２０が、予測対象に影響し得る特徴の集合から、その予測対象に影響する第１特徴集合と、操作変数に影響する第２特徴集合とを選択して、出力部５０が出力する。
【００６３】
よって、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる。
【００６４】
次に、本実施形態の価格最適化システム１００が特徴を選択する処理を、Ｌ１正則化の具体例を用いて説明する。前述した通り、Ｌ１正則化は数ある特徴選択技術の一具体例に過ぎず、本発明に用いることができる特徴選択技術はＬ１正則化には限定されない。ここでは、雨の日の午後に傘が売れる、という例を考える。操作変数ｘが傘の価格を表わし、被説明変数ｙが傘の売上数を表わし、説明変数ｚ１〜ｚ３が、それぞれ「午前に雨であるか」、「午後に雨であるか」、「月末（１５日以降）」であるか、を０−１変数で表すものとする。ここで、真の売上数ｙが、以下の式４として生成されているとする。
【００６５】
ｙ＝−７ｚ１＋１４ｚ２−ｘ／５０＋１５＋ノイズ      （式４）
【００６６】
式４では、午後に雨（すなわち、ｚ２＝１）である場合には売り上げが伸びるが、午前に雨が降っていると（例えば、顧客が午前にすでに傘を買っているため）、売上が落ちる、というモデルを想定している。また、説明変数ｚ３は、説明変数の候補ではあるが、売上に関係しない変数であるといえる。なお、ノイズは、説明を簡略化するため、（０，１，２）の値をランダムにとるものとする。
【００６７】
一方で、雨の日に傘が売れることを知っている店主は、以下に示す式５に基づいて傘の値段を設定しているものとする。
【００６８】
ｘ＝−１００ｚ１＋２００ｚ２＋５００      （式５）
【００６９】
図４は、データベースに記録された店舗の売上記録の例を示す説明図である。図４に示す例では、Ｉｄで識別される集計単位ごとに価格ｘ、その集計時の午後の売上数ｙ、および、その集計時の特徴の有無が記録されていることを示す。例えば、Ｉｄ＝１で識別される売上記録は、午前および午後のいずれも雨が降っていない月末に、価格を５００円に設定した場合、午後の傘の売上数が６本であったことを示す。
【００７０】
このようなデータに基づき、予測のための特徴選択が行われるとする。以下の説明では、特徴選択部２０は、Ｌ１正則化（Ｌａｓｓｏ）を用いて、以下に示す式６を最小化する非ゼロのｗｉを選択することにより、特徴選択を行う。なお、式６において、Ｌａｓｓｏのペナルティの係数を、後述する説明を簡易にするため、１／１０としている。
【００７１】
【数１】
0006708295.tif 000002
【００７２】
十分なデータが得られているとの前提のもと、以下の式７または式８に示す関係を満たすｗｉ（および、適切に選ばれたｃ）と、それらの線形結合（ａ×（式７に示すｗｉ）＋（１−ａ）×（式８に示すｗｉ））とは、同様によくデータを説明し、式６における第一項が最小になる。しかし、式６における第二項のスパース性に対する制約から、式７に示すｗｉの組が得られる。これは、式７に示すｗｉの組では第二項から算出されるペナルティが１／２００であるのに対し、式８に示すｗｉの組では第二項から算出されるペナルティが１．５になるためである。したがって、特徴としてｘが選択される。
【００７３】
ｗ０＝１／２０，ｗ１＝ｗ２＝ｗ３＝０          （式７）
ｗ０＝０，ｗ１＝−５，ｗ２＝１０，ｗ３＝０    （式８）
【００７４】
なお、本具体例では、理想的なｗ０が明らかに小さい場合を例示しているが、ｗ０が大きい場合にも、特徴選択の設定においてｗ０を必ず選ぶと指定することにより、同様の現象を観測できる。この設定は、特に、後処理の最適化を想定した場合で、価格を示す特徴に残ってほしい、と想定した場合になされる。
【００７５】
さらに、特徴選択部２０は、式６に基づいて選択された特徴に加え、ｘを説明する特徴もさらに選択する。具体的には、特徴選択部２０は、以下に示す式９を最小化する非ゼロのｗ´ｉを選択することにより、特徴選択を行う。
【００７６】
【数２】
0006708295.tif 000003
【００７７】
ｗ´１＝−１００，ｗ´２＝−２００のとき、式９における第一項が最小になる。例えば、５日に一度は午前および午後が独立に雨である、といったような雨の日の頻度が十分高い場合、第一項を最小化する効果は、第二項のペナルティに比べて十分大きくなる。結果して、ｗ´１＝−１００，ｗ´２＝−２００が解になるため、特徴としてｚ１およびｚ２が選択される。以上、本実施形態にかかる発明を、Ｌ１正則化を用いて実行した具体例について説明した。本発明に用いることができる特徴選択技術は、Ｌ１正則化には限定されず、他の特徴選択技術を用いることも可能である。
【００７８】
以上の特徴選択処理により、すなわち、予測対象を説明する特徴に加えて、操作変数を説明する特徴もさらに選択する特徴選択処理により、ｘ，ｚ１およびｚ２が特徴として選択される。言い換えると、最適化部４０は、最適化に必要な特徴としてｘ，ｚ１およびｚ２を認識できることから、最適化には天気を考慮すべきと判断できるため、例えば、「晴れの日に傘を高い値段で売る」という、危うい戦略を選択することを回避できる。
【００７９】
ここで、上述する危うい戦略を選択することを回避できる理由を、より詳細に説明する。特徴ｘ，ｚ１およびｚ２が正しく選択されたとして、以下の式１０で示す予測式を作成し、ｗ０ハット、ｗ１ハットおよびｗ２ハット（ハットは、上付き＾）を推定により得ることを考える。
【００８０】
【数３】
0006708295.tif 000004
【００８１】
ｘベクトルおよびｗハットベクトルを以下の式１１で表すと、ｙハットは、以下の式１２で表される。
【００８２】
【数４】
0006708295.tif 000005
【００８３】
過去の戦略ｘは、上記式５に基づき、以下の式１３のように生成されたとする。
【００８４】
ｘ＝−１００ｚ１＋２００ｚ２＋５００＋ε２      （式１３）
【００８５】
なお、式１０および式１３において、ε１〜Ｎ（０，σ１２）、ε２〜Ｎ（０，σ２２）で、σ２２はσ１２およびデータ数ｎに比べて十分に小さいとする。なお、Ｎ（０，σ２）は、平均０、分散σ２の正規分布を表す。
【００８６】
ここで、ベクトルｖ１、ｖ２、ｖ３を規定する。まず、ｖ１を以下の式１４のように規定する。ｖ１は、上記式１３を満たす（ｘ  ｚ１  ｚ２）に対して、以下の式１５を満たす。
【００８７】
【数５】
0006708295.tif 000006
【００８８】
推定法として、最小二乗法が用いられるとする。このとき、真の係数ｗ＊Ｔ＝（−１／５０  −７  １４  １５）として、推定値は、近似的に以下の式１６に示す確率分布に従う。ここでは、説明の簡略化のため、式１７に示す近似式を想定する。
【００８９】
【数６】
0006708295.tif 000007
【００９０】
式１７において、σ２´＝０（σ２）であり、γ２，γ３，γ４は定数である。また、ｖ２，ｖ３，ｖ４はｖ１も含めて互いに直交な規格化されたベクトルである。
【００９１】
最適化の際、ｚ１，ｚ２の実現値チルダｚ１，チルダｚ２（チルダは上付き〜）が得られたとする。このとき、以下の式１８に示す楕円状の不確実性領域におけるロバスト最適化法を考える。
【００９２】
【数７】
0006708295.tif 000008
【００９３】
式１８において、推定値ｗベクトルハットと、その予測誤差の分散共分散行列Σが得られていると仮定する。Σもその推定値で置き換えられてもよい。また、λは、適切に選ばれた正のパラメータである。このとき、以下に示す式１９が成り立つ。
【００９４】
【数８】
0006708295.tif 000009
【００９５】
いま、１／σ２´がσ１／√ｎに比べ十分に大きいことから、上記式１５を満たさない価格戦略ｘは、上記式１８において、大きなペナルティをうける。よって、以下に示す式２０を満たす価格が選ばれやすい。
【００９６】
【数９】
0006708295.tif 000010
【００９７】
上記式２０は、上記式１３を満たすことと等価である。よって、上記具体例では、「晴れの日には低い価格をつける」ということに相当する。
【００９８】
以上の内容は、以下のように一般化される。真のパラメータθ＊に対する戦略ｘの最適化問題を以下に示す式２１で定義する。
【００９９】
【数１０】
0006708295.tif 000011
【０１００】
式２１において、Ｘはドメイン、ｖは関数である。ここで、θ＊の代わりにその推定値θハットと誤差分布が得られた場合のロバスト最適化問題を考える。誤差に正規性を仮定すると、典型的には、誤差の分散共分散行列Σを用いて、以下の式２２が定義される。なお、式２２にとは異なる方法でロバスト最適化法を用いてもよい。式２２では、第２項が、予測分散が大きい戦略に対するペナルティとして働く。
【０１０１】
【数１１】
0006708295.tif 000012
【０１０２】
以上、危うい戦略を選択することを回避できる理由を説明した。また、本実施形態の説明から、以下のことも説明される。上記式１に示すように、ｐ（ｙ＝多い｜ｘ＝高い）とｐ（ｙ＝多い｜ｄｏ（ｘ＝高い））とは等しくない。一方で、介入を行って得られた値（ｄｏ（ｘ＝高い））が用いられる場合であっても、予測対象ｙを説明できる特徴量だけでなく、操作変数ｘを説明できる特徴量を残せばよい。これは、以下の式２３で表す内容を意味する。
【０１０３】
ｐ（ｙ＝多い｜ｘ＝高い，ｚ＝雨）＝ｐ（ｙ＝多い｜ｄｏ（ｘ＝高い），ｚ＝雨）
（式２３）
【０１０４】
次に、本発明の概要を説明する。図５は、本発明による特徴選択システムの概要を示すブロック図である。本発明による特徴選択システム９０は、ユーザによる外部からのデータ（より具体的には、特徴の集合）の入力を受け付ける。図６は、図５に例示する特徴選択システムがユーザにより外部から受け付けるデータの具体例を示す説明図である。図６に例示するデータは、日ごとの傘の価格および傘の売上数、並びに、その日の状況（例えば、天気、最高気温、広告を出したか否か、祝日か否か、など）を示すデータである。
【０１０５】
本発明による特徴選択システム９０は、予測モデルを用いて表される目的関数を制約条件の下で最適化するための操作変数（例えば、操作変数ｘ）を算出する場合におけるその予測モデルの学習に用いられる特徴を選択する特徴選択システムであって、予測対象（例えば、被説明変数ｙ）の指定と、操作変数の指定とを受け付ける受付部９１（例えば、受付部１０）と、予測対象に影響し得る特徴（例えば、説明変数ｚの候補）の集合から、その予測対象に影響する特徴の集合である第１特徴集合と、操作変数に影響する特徴の集合である第２特徴集合とを選択する特徴選択部９２（例えば、特徴選択部２０）と、第１特徴集合と第２特徴集合とを出力する出力部９３（例えば、出力部５０）とを備えている。
【０１０６】
そのような構成により、予測モデルの学習に用いられる特徴を選択する際、その予測モデルを用いて行われる適切な最適化に必要な特徴を知ることができる
【０１０７】
例えば、傘の価格の最適化問題の場合、図６に示す例では、特徴選択システム９０（より具体的には、受付部９１）は、予測対象（被説明変数ｙ）の指定に傘の売上数を受け付け、操作変数（操作変数ｘ）の指定に傘の価格を受け付ける。また、特徴選択システム９０（より具体的には、受付部９１）は、予測対象に影響し得る特徴（説明変数ｚの候補）の集合の指定に、その日の状況（例えば、天気、最高気温、広告を出したか否か、祝日か否か、など）を受け付ける。なお、特徴選択システム９０は、特徴の集合として、傘の価格およびその日の状況を受け付け、その特徴のうち、傘の価格が操作変数である旨の識別情報（それ以外は、説明変数ｚの候補である旨の情報）を併せて受け付けてもよい。
【０１０８】
また、特徴選択システム９０は、第２特徴集合には含まれるが第１特徴集合に含まれない少なくとも１つの特徴を説明変数とする予測モデルを学習する学習部（例えば、学習部３０）を備えていてもよい。
【０１０９】
そして、学習部は、第１特徴集合に含まれる特徴および第２特徴集合に含まれる特徴の全てを説明変数とし、予測対象である特徴を被説明変数とするモデルを学習してもよい。そのような構成により、最適化処理の入力として用いられる予測モデルを、後処理である最適化処理をも考慮して適切に学習することができる。
【０１１０】
また、出力部９３は、第１特徴集合に含まれる特徴と、第２特徴集合には含まれるが第１特徴集合には含まれない特徴とを、区別し得る態様にて表示装置に表示してもよい。そのような構成により、予測に特化した場合に選択される特徴と、後処理である最適化処理を考慮した場合にはじめて選択される特徴とを区別することができる。
【０１１１】
また、特徴選択部９２は、予測対象に影響し得る特徴の集合から、予測対象を被説明変数として特徴選択処理を行うことで第１特徴集合を取得し、予測対象に影響し得る特徴の集合から、操作変数を被説明変数として特徴選択処理を行うことで第２特徴集合を取得してもよい。そして、出力部９３は、取得された第１特徴集合と第２特徴集合との和集合を出力してもよい。
【０１１２】
なお、特徴選択部９２は、操作変数として指定された特徴を第１特徴集合に含めるように選択する。このように、操作変数として指定された特徴を必ず残すことにより、後処理である最適化処理が可能になる。
【０１１３】
特徴選択システム９０は、例えば予測に基づく最適化に用いられる予測モデルを学習するための特徴選択機能を備えた、パッケージソフトウェアやＡＰＩ（Application Program Interface ）として実装されてもよい。このような特徴選択機能がＳａａＳ（Software as a Service）形式で提供されても良い。
【０１１４】
図７は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備える。
【０１１５】
上述の情報処理システムは、コンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（特徴選択プログラム）の形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。
【０１１６】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行しても良い。
【０１１７】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【産業上の利用可能性】
【０１１８】
本発明は、予測に用いる特徴を選択する特徴選択システムに好適に適用される。例えば、本発明をホテルの価格を最適化に用いられる特徴を選択するようなシステムにも好適に適用される。また、本発明は、例えば、データベースと結合され、予測に基づいて最適化した結果（最適解）を出力するシステムに好適に適用される。この場合、例えば、特徴量の選択処理とそれ踏まえた最適化処理とを一まとめに行うシステムとして提供されてもよい。
【符号の説明】
【０１１９】
１０  受付部
２０  特徴選択部
３０  学習部
４０  最適化部
５０  出力部
１００  価格最適化システム
【図１】
0006708295.tif 000013
【図２】
0006708295.tif 000014
【図３】
0006708295.tif 000015
【図４】
0006708295.tif 000016
【図５】
0006708295.tif 000017
【図６】
0006708295.tif 000018
【図７】
0006708295.tif 000019