(57)【要約】【課題】学習用データから生成される予測モデルから、学習用データの特有のデータに起因する予測誤差を低減させた修正モデルを生成する。【解決手段】学習用データに基づいて予測モデルを生成する生成装置であって、学習用データを用いた学習により、複数の入力特徴量から出力特徴量を予測する学習済モデルを生成するモデル生成部と、生成された前記学習済モデルにおける一部の入力特徴量の影響度を低減して、実使用する修正モデルを生成するモデル修正部と、を備える生成装置、生成方法、およびプログラムを提供する。【選択図】図２
2015087973.tif 000002
【特許請求の範囲】
【請求項１】
学習用データに基づいて予測モデルを生成する生成装置であって、
前記学習用データを用いた学習により、複数の入力特徴量から出力特徴量を予測する学習済モデルを生成するモデル生成部と、
生成された前記学習済モデルにおける一部の入力特徴量の影響度を低減して、実使用する修正モデルを生成するモデル修正部と、
を備える生成装置。
【請求項２】
前記モデル修正部は、生成された前記学習済モデルにおける一部の入力特徴量を除去して、前記修正モデルを生成する請求項１に記載の生成装置。
【請求項３】
前記モデル修正部は、
前記学習用データとは少なくとも一部が異なる検定用データを用いて前記学習済モデルを検査する検査部と、
前記学習済モデルの検査結果に基づいて、影響度を低減させるべき入力特徴量を選択する選択部と、
を有する請求項１または２に記載の生成装置。
【請求項４】
前記選択部は、前記検定用データについて、前記学習済モデルにおける影響度を低減させた場合に予測結果が目標とする出力特徴量により近くなる入力特徴量を、影響度を低減させるべき入力特徴量として選択する請求項３に記載の生成装置。
【請求項５】
前記選択部は、前記学習済モデルを初期の予測モデルとして順次、影響度を低減させることで予測結果が目標とする出力特徴量により近くなる入力特徴量を選択していき、
前記検査部は、入力特徴量が選択されるごとに順次、予測モデルにおける選択された入力特徴量の影響度を低減していくことにより、前記修正モデルを生成する
請求項４に記載の生成装置。
【請求項６】
前記選択部は、前記複数の入力特徴量のうち、前記学習済モデルにおける影響度を低減した場合に予測結果が目標とする出力特徴量により近くなる入力特徴量を優先的に選択して、予測モデルにおいて影響度を低減すべき入力特徴量とする請求項３または４に記載の生成装置。
【請求項７】
前記モデル生成部は、前記複数の入力特徴量のそれぞれ、または前記複数の入力特徴量のそれぞれに予め定められた第１の関数を適用した値を、学習対象の複数の重みのそれぞれにより重み付けして、さらに予め定められた第２の関数によって変換することで出力特徴量の予測値を算出する前記学習済モデルを生成し、
前記検査部は、前記学習済モデルにおける、選択した入力特徴量に対する重みの大きさを低減する
請求項３から６のいずれか一項に記載の生成装置。
【請求項８】
前記モデル生成部は、前記複数の入力特徴量が学習対象の条件を満たすか否かに応じて異なる予測値を算出する前記学習済モデルを生成し、
前記検査部は、前記学習済モデルにおいて、選択された入力特徴量の値に応じて学習した条件が満たされるか否かが異なる場合に、前記学習用データおよび前記検定用データの少なくとも一方において当該条件が満たされる頻度が満たされない頻度よりも高い場合には選択した入力特徴量の値によらず当該条件が満たされるものとし、当該条件が満たされない頻度が満たされる頻度よりも高い場合には選択した入力特徴量の値によらず当該条件が満たされないものとするように前記学習済モデルを修正して前記修正モデルを生成する
請求項３から６のいずれか一項に記載の生成装置。
【請求項９】
前記複数の入力特徴量のうち、少なくとも除去されていない入力特徴量の値を前記修正モデルに入力して、予測値を算出する予測部を更に備える請求項１から８の何れか一項に記載の生成装置。
【請求項１０】
学習用データに基づいて予測モデルを生成する生成方法であって、
前記学習用データを用いた学習により、複数の入力特徴量から出力特徴量を予測する学習済モデルを生成するモデル生成段階と、
生成された前記学習済モデルにおける一部の入力特徴量の影響度を低減して、実使用する修正モデルを生成するモデル修正段階と、
を備える生成方法。
【請求項１１】
コンピュータに、請求項１から９のいずれか一項に記載の生成装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、予測問題は、学習用のデータに基づいて予測モデルを生成し、生成した予測モデルに学習用のデータとは異なる現実のデータを適用し、当該現実のデータに対応する予測結果を取得していた（例えば、特許文献１および２参照）。
［特許文献１］  特開２００５−２５３７０８号公報
［特許文献２］  特開２０１３−１４０５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような予測問題の学習用データに、予測すべき状況には対応しない特有のデータが含まれている場合、予測モデルによる予測結果に誤差が生じてしまうことがあった。例えば、一の地域に存在するホテルの過去の予約情報等から、ホテルの価格および需要の予測モデルを生成して他の地域に存在するホテルの価格および需要を予測する場合、一の地域に特有のデータが学習用データに含まれると、他の地域に存在するホテルの予測誤差に影響してしまい、正しい予測結果が得られなくなってしまうことがあった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、学習用データに基づいて予測モデルを生成する生成装置であって、学習用データを用いた学習により、複数の入力特徴量から出力特徴量を予測する学習済モデルを生成するモデル生成部と、生成された前記学習済モデルにおける一部の入力特徴量の影響度を低減して、実使用する修正モデルを生成するモデル修正部と、を備える生成装置、生成方法、およびプログラムを提供する。
【０００５】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る予測問題の学習用データおよび検定用データの概要の一例を示す。
【図２】本実施形態に係る生成装置１００の構成例を示す。
【図３】本実施形態に係る生成装置１００の動作フローの構成例を示す。
【図４】本実施形態に係る生成装置１００の変形例を示す。
【図５】本実施形態に係る生成装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る予測問題の学習用データおよび検定用データの概要の一例を示す。予測問題においては、図１に示す学習用のデータを用いて予測モデルを生成する。そして、学習用のデータとは異なる検定用データを、生成した予測モデルに入力して、当該検定用データに対応する予測結果を得る。
【０００９】
例えば、時系列予測においては、例えば過去のデータ等の結果がわかっている学習用データに基づき、未来を予測する予測モデルを生成し、当該予測モデルに実使用時または未来のデータ等の結果が不明のデータを入力して未来の予測結果を得ていた。例えば、一の地域（例えば、「伊豆」）に存在するホテルの過去の情報から、当該一の地域に存在するホテルの未来の価格および需要を予測すること、また、一の地域に存在するホテルの過去の情報から、他の地域（例えば、「熱海」）に存在するホテルの未来の価格および需要を予測すること等を実行する。
【００１０】
しかしながら、このような予測に用いる学習用データは、予測モデルの生成に適した一般性の高いデータ、即ち、未来のデータまたは実使用時のデータにも共通する特徴を有するデータと、未来のデータまたは実使用時のデータとは異なる学習用データに特有のデータとを有する。また、未来のデータまたは実使用時のデータも、特有のデータを有する場合がある。しかしながら、未来のデータまたは実使用時のデータを予測前に予め十分に入手することは困難である。
【００１１】
本実施形態において、一例として、ある地域Ａに存在するホテルの過去の情報から、ホテルの価格および需要の予測モデルを生成して他の地域Ｂに存在するホテルの価格および需要を予測する場合を説明する。この場合、地域Ａに存在するホテルの過去の情報（学習用データ）には、地域Ｂに存在するホテルの情報（未来のデータまたは実使用時のデータ）に近い一般性の高いデータと、地域Ｂに存在するホテルの情報とは異なり、地域Ａに特有のデータとがある。
【００１２】
ここで、地域Ａに特有のデータは、例えば、地域Ａに特有の事情（景観および行事等）に左右されたホテルの価格および需要である。一例として、地域Ａ内の特定のホテルの近くで、特定の日に花火大会が開催される場合がある。このような地域Ａに特有のデータを用いて予測モデルを生成すると、地域Ｂに存在するホテルの価格および需要の予測に誤差を生じさせてしまうので、当該予測モデルの生成においては除去することが望ましい。しかしながら、予め地域Ｂに存在するホテルの情報がわかっていなければ、特有のデータだけを除去することは困難であった。
【００１３】
また、仮に、特有のデータであることが推定できても、当該データを除去すべきか否かを判断する基準は曖昧で、使用者の経験および感覚等に左右されるものであった。また、特有のデータが複数存在する場合、当該複数のデータのうちいずれを除去すべきかを判断することは、経験ある使用者でも困難であった。そこで、本実施形態の生成装置は、学習用データのうちから、特有のデータの影響を適切に低減して、予測誤差を低減させた予測モデルを生成する。
【００１４】
図２は、本実施形態に係る生成装置１００の構成例を示す。生成装置１００は、学習用データが入力され、当該学習用データに基づいて、予測誤差を低減させるように修正した予測モデルを生成する。即ち、生成装置１００は、入力された学習用データから学習した学習済モデルを検査する検定用データを生成し、学習済モデルの検査に基づいて、当該学習済モデルを修正する。生成装置１００は、取得部１１０と、記憶部１２０と、モデル生成部１３０と、モデル修正部１４０とを備える。
【００１５】
取得部１１０は、学習用データを取得する。ここで、学習用データは、一例として、特徴毎に分類されたデータであり、入力された入力特徴量を要素とする特徴ベクトルで表現される。特徴ベクトルは、一例として、ホテルの場合には、日付、人数構成、施設、プラン、および部屋情報等の特徴毎に分類される。また、特徴ベクトルは、それぞれの特徴が更に入力特徴量に分割され、当該入力特徴量に対応する具体的な値を要素とする。
【００１６】
例えば、日付の特徴は、宿泊年月日、宿泊月、曜日等の入力特徴量を要素とする。また、人数構成の特徴は、大人人数、子供人数、幼児人数等の入力特徴量を要素とする。
【００１７】
また、学習用データは、特徴ベクトルに対応する出力特徴量を含む。出力特徴量は、当該特徴ベクトルの各要素に対応する特徴量であり、一例として、ホテルの価格である。
【００１８】
取得部１１０は、ユーザが入力特徴量を直接入力することに応じて学習用データを取得してよく、これに代えて、予め定められた形式で記憶された入力特徴量のデータを読み出して取得してもよい。取得部１１０は、ネットワーク等に接続され、当該ネットワークを介して学習用データを取得してもよい。取得部１１０は、取得した学習用データを記憶部１２０およびモデル生成部１３０に供給する。
【００１９】
記憶部１２０は、取得部１１０に接続され、取得部１１０から受け取った学習用データを記憶する。また、記憶部１２０は、生成装置１００が予測モデルを生成する過程における予測モデルをそれぞれ記憶してもよい。
【００２０】
モデル生成部１３０は、取得部１１０に接続され、取得部１１０から受け取った学習用データを用いた学習により、複数の入力特徴量から出力特徴量を予測する学習済モデルを生成する。モデル生成部１３０は、一例として、ホテルの過去の予約情報データ（日付、人数、ホテル属性、プラン属性）の具体的な値を入力特徴ベクトルとした学習用データとし、当該学習用データと対応するホテルの宿泊料金である出力特徴量のデータに基づき、新たな（未来の）予約情報データを入力すると対応する価格（出力特徴量）の予測結果を出力する学習済モデルを生成する。
【００２１】
ここで、出力特徴量は、一例として、入力特徴量に対応する未来の特徴量（例えば、未来の価格）である。即ち、この場合、モデル生成部１３０は、ホテルの価格＝ｆ（日付、人数、ホテル属性、プラン属性）となる関数ｆを生成する。
【００２２】
モデル生成部１３０は、受け取った学習用データの全部または一部を用いた学習により、入出力関係を一意に定める関数を学習済モデルとして生成する。モデル生成部１３０は、生成した学習済モデルをモデル修正部１４０に供給する。これに代えて、モデル生成部１３０は、記憶部１２０に接続されてよく、この場合、生成した学習済モデルを記憶部１２０に記憶し、モデル修正部１４０は、学習済モデルを記憶部１２０から読み出す。
【００２３】
モデル修正部１４０は、学習用データとは少なくとも一部が異なる検定用データを用い、モデル生成部１３０によって生成された学習済モデルにおける一部の入力特徴量の影響度を低減して、実使用する修正モデルを生成する。モデル修正部１４０は、一部の入力特徴量の影響度を低減した場合に、当該一部の入力特徴量の変化に伴う予測結果の変動を低減させるように、修正モデルを生成する。
【００２４】
ここで、影響度は、例えば、生成した学習済モデルの入力特徴量に対する重み付けの係数で定める。当該重み付けの値は、一例として０から１の間の値であり、当該値が小さいほど当該値により重み付けされた入力特徴量は、生成される学習済モデルに与える影響を低下させる。即ち、この場合、モデル修正部１４０は、一部の入力特徴量に対応する重み付けの値を０に近づけるように小さくして当該一部の特徴量の学習済モデルへの影響度を低減させ、学習済モデルから修正モデルを生成する。
【００２５】
例えば、モデル修正部１４０は、重み付けの値を１／２以下の値に変更する。また、モデル修正部１４０は、重み付けの値を１／４以下の値に変更してもよく、また、１／８以下の値にしてもよい。また、モデル修正部１４０は、影響度を低減すべきパラメータを予め定められた値（例えば、平均値、最小値、および指定値等）にしてもよい。
【００２６】
ここで、モデル修正部１４０は、生成された学習済モデルにおける一部の入力特徴量を除去して、修正モデルを生成してもよい。即ち、モデル修正部１４０は、一部の入力特徴量の重み付けを０にしてよく、これに代えて、一部の入力特徴量の入力項目そのものを除去してもよい。これにより、モデル修正部１４０は、生成した修正モデルを用いて予測実行する場合に、当該一部の特徴量の変化に伴う予測結果の変動を零にする。モデル修正部１４０は、検査部１４２と、選択部１４４と、判定部１４６とを有する。
【００２７】
検査部１４２は、学習用データとは少なくとも一部が異なる検定用データを用いて学習済モデルを検査する。検査部１４２は、一例として、記憶部１２０に接続され、記憶された学習用データを読み出して、学習用データの一部を検定用データとして用いる。検査部１４２は、一例として、学習用データである複数の特徴ベクトルのうちの、一部の特徴ベクトルを検定用データとして用いる。また、検査部１４２は、当該一部の特徴ベクトルに対応する出力特徴量も検定用データとして用いる。
【００２８】
検査部１４２は、検定用データをモデル生成部１３０が生成した学習済モデルに適用して、学習済モデルを検査する。検査部１４２は、検定用データについて、学習済モデルにおける入力特徴量の影響度を低減させた場合の予測結果を算出する。検査部１４２は、一例として、学習済モデルにおける各入力特徴量の重み付けを入力特徴量毎に順次小さくし、対応する予測結果を順次算出する。
【００２９】
選択部１４４は、検査部１４２に接続され、学習済モデルの検査結果に基づいて、影響度を低減させるべき入力特徴量を選択する。選択部１４４は、検定用データについて、学習済モデルにおける影響度を低減させた場合に予測結果が目標とする出力特徴量により近くなる入力特徴量を、影響度を低減させるべき入力特徴量として選択する。
【００３０】
判定部１４６は、選択部１４４に接続され、検査部１４２の検査と選択部１４４の影響度を低減させるべき入力特徴量の選択による学習済モデルの修正を続けるか否かを判定する。判定部１４６は、例えば、学習済モデルにおいて、選択部１４４が選択した入力特徴量の影響度を低減させたモデルの精度が、予め定められた精度の範囲内に含まれる場合、学習済モデルの修正を停止して、修正したモデルを修正モデルとして出力する。
【００３１】
以上の本実施形態に係る生成装置１００は、学習用データから生成された学習済モデルに、学習用データとは異なる検定用データを適用し、検定用データの目標値により近い予測値が得られるように学習済モデルにおける入力特徴量の影響を低減させる。即ち、生成装置１００は、予測値が検定用データの目標値から遠くなる要因となる入力特徴量を、学習データには特有で、予測には不向きな特有のデータを代表する入力特徴量と判断して学習済モデルにおける影響度を低減させる。
【００３２】
図３は、本実施形態に係る生成装置１００の動作フローの構成例を示す。まず、取得部１１０は、学習用データを取得する（Ｓ２１０）。取得部１１０は、ユーザの入力によって学習用データを取得してよい。この場合、ユーザは、入力するデータが特有のデータであるか否かを予め曖昧に判断できたとしても、この段階では得られているデータの全てを入力することが好ましい。
【００３３】
次に、モデル生成部１３０は、取得した学習用データに応じた学習済モデルを生成する（Ｓ２２０）。モデル生成部１３０は、特徴ベクトルに線形回帰・分類および非線形回帰・分類等を実行して、学習済モデルを生成する。モデル生成部１３０は、記憶部１２０に接続され、生成した学習済モデルを記憶部１２０に記憶してよい。
【００３４】
モデル生成部１３０は、例えば、複数の入力特徴量のそれぞれ、または複数の入力特徴量のそれぞれに予め定められた第１の関数を適用した値を、学習対象の複数の重みのそれぞれにより重み付けして、さらに予め定められた第２の関数によって変換することで出力特徴量の予測値を算出する学習済モデルを生成する。モデル生成部１３０は、一般化線形モデル、その非線形な拡張としてカーネル回帰・分類、またその正則化付きモデルに基づく手法を用いてよい。この場合、モデル生成部１３０は、用いるモデルに応じて定まる第１の関数および第２の関数を用いてよい。
【００３５】
これに代えて、モデル生成部１３０は、複数の入力特徴量が学習対象の条件を満たすか否かに応じて異なる予測値を算出する学習済モデルを生成してもよい。即ち、モデル生成部１３０は、回帰木・決定木およびその集団学習法であるランダムフォレスト等の手法を用いてよい。
【００３６】
モデル生成部１３０は、例えば、取得部１１０が取得したデータの全てを学習用データとして用いて、学習済モデルを生成する。これに代えて、モデル生成部１３０は、取得したデータの一部を学習用データと用いて、学習済モデルを生成してもよい。モデル生成部１３０は、出力特徴量を予測する関数ｆを学習済モデルとして生成する。
【００３７】
ここで、学習用データには、地域Ｂに存在するホテルの情報に近い一般性の高いデータに加え、地域Ｂに存在するホテルの情報とは異なる地域Ａに特有のデータを含む。学習済モデルは、このような学習データを用いて学習して生成させたモデルなので、当該学習済モデルに、地域Ｂに存在するホテルの情報を予測させても、誤差が大きくなってしまう。
【００３８】
また、学習用データには、地域Ａにおけるホテルの未来の情報に近い一般性の高いデータに加え、地域Ａにおけるホテルの未来の情報とは異なる地域Ａの過去に特有のデータを含む場合もある。学習済モデルは、このような学習データを用いて学習して生成させたモデルなので、当該学習済モデルに、地域Ａの未来の情報等を予測させても、誤差が大きくなってしまう。
【００３９】
ここで、学習用データとは別に、地域Ｂに存在するホテルの情報を予測させる検定用データおよび検定結果（即ち、予測に対応する目標値）等の情報が予め判明している場合は、当該情報を基に、転移学習等の従来手法を用いて予測モデルを適切に学習することができる。しかしながら、取得部１１０が学習用データしか取得していない場合は、このような従来手法を用いることができない。
【００４０】
そこで、モデル修正部１４０は、特有データの影響を強く受けた入力特徴量を推定し、推定した入力特徴量の影響を低減させて修正モデルを生成する。即ち、検査部１４２は、取得部１１０が取得したデータを用いて学習済モデルを検査する（Ｓ２３０）。
【００４１】
検査部１４２は、例えば、学習用データである複数の特徴ベクトルのうちの一部の特徴ベクトルを検定用データとして用いる。また、検査部１４２は、モデル生成部１３０が取得したデータのうちの一部を学習用データとして学習済モデルを生成する場合、残りの一部のデータを含むデータを検定用データとして用いてよい。この場合、検査部１４２は、学習用データと検定用データに重複が無くてもよく、即ち、学習用データと検定用データは互いに異なるデータでもよい。これに代えて、検査部１４２は、学習用データと検定用データに重複があってもよい。
【００４２】
検査部１４２は、学習用データとは少なくとも一部が異なる検定用データを学習済モデルに適用して、検定用データに対応する出力特徴量の予測値を算出する。そして、検査部１４２は、検定用データの出力特徴量（即ち、目標値）と予測結果を比較する。
【００４３】
ここで、学習用データのうち、地域Ａに特有のデータは、例えば、地域特有のイベントがあってホテル価格が高騰した、地域特有の観光地の観光シーズンでホテルの需要が高くなった、その地域に突発的に生じた災害等の影響でホテルが稼働しなくなった等の、一般性の高いデータに比べて特異なデータである。即ち、このような特異なデータは、学習済モデルの予測誤差を大きくすることが予想される。
【００４４】
したがって、学習用データおよび検定用データのどちらかまたは両方に、このような特異なデータが含まれている場合、学習済モデルによって予測される当該検定用データに対応する出力特徴量の予測結果は、検定用データの出力特徴量と大きな誤差を生じることになる。その一方、少なくとも学習用データにこのような特有なデータが含まれない場合は、学習用データとは異なる検定用データを用いても、学習済モデルの予測結果と当該検定用データの出力特徴量との誤差は、特有なデータが含まれる場合に比べて少なくとも小さくなる。
【００４５】
例えば、学習用データに含まれる複数の特徴ベクトルのうち、特定の宿泊年月日に地域独特の特別なイベントが開催されてホテルの価格が高騰した結果を反映した特徴ベクトルが含まれている場合、モデル生成部１３０は、このような特有のデータを反映した予測結果を出力する学習済モデルを生成する。そして、このような特有のデータを含まない検定データを学習済モデルに代入して適用すると、予測結果と検定用データの出力特徴量には誤差が生じることになる。
【００４６】
即ち、予測結果と検定用データの出力特徴量の誤差は、検定用データとは異なる特異な学習データの影響を反映した結果である。そこで検査部１４２は、検定用データの出力特徴量を予測結果の目標とし、当該目標と学習済モデルによる予測結果の誤差を算出して、検定用データとは異なるデータに含まれる特異なデータの影響を検査する。
【００４７】
具体的には、検査部１４２は、検定データについて、学習済モデルにおける各入力特徴量の重みを１つずつ低減させた場合の予測結果と、予測結果の目標の誤差を算出する。即ち例えば、検査部１４２は、学習済モデルにおける「宿泊年月日」の入力特徴量に対応する重みを低減させた場合の検定データに対応する予測結果と、予測結果の目標の誤差を算出する。次に検査部１４２は、学習済モデルにおける「宿泊月」の入力特徴量に対応する重みを低減させた場合の検定データに対応する予測結果と、予測結果の目標の誤差を算出する。
【００４８】
このように、検査部１４２は、学習済モデルにおける各入力特徴量に対応する重みを入力特徴量毎に低減させ、対応する予測結果と、予測結果の目標の誤差を算出する。検査部１４２は、全ての入力特徴量に対応する重みを１つずつ低減させ、対応する予測結果と、予測結果の目標の誤差を算出することが望ましい。また、検査部１４２は、検定用データが複数の特徴ベクトルを含む場合、それぞれの特徴ベクトルを学習済モデルに適用し、入力特徴量に対応する重みを１つずつ低減させ、対応する予測結果と、予測結果の目標の誤差をそれぞれ算出する。
【００４９】
次に、選択部１４４は、検査部１４２が算出した誤差に基づき、影響度を低減させるべき入力特徴量を選択する（Ｓ２４０）。選択部１４４は、例えば、検定用データについて、学習済モデルにおける影響度を低減させた場合に予測結果が目標とする出力特徴量との誤差がより小さくなる入力特徴量を、影響度を低減させるべき入力特徴量として選択する。すなわち、選択部１４４は、影響度を低減すると誤差が小さくなる入力特徴量（例えば、宿泊年月日）が、学習済みモデルにおいて、検定用データには含まれない特有の学習用データを代表しているものとし、影響度を低減させるべき入力特徴量として選択する。
【００５０】
ここで、選択部１４４は、検定用データが複数の特徴ベクトルを含む場合、検査部１４２が算出したそれぞれの特徴ベクトルのそれぞれの誤差のうち、影響度を低減させた場合に最も誤差が小さくさせる入力特徴量を、影響度を低減させるべき入力特徴量として選択する。これに代えて、選択部１４４は、複数の特徴ベクトルのそれぞれの誤差の平均を求め、影響度を低減させた場合に平均誤差またはその他の中央値等の統計量の意味でより誤差が小さくなるようにする入力特徴量を、影響度を低減させるべき入力特徴量として選択してもよい。
【００５１】
次に、判定部１４６は、選択された入力特徴量に対応する重みを低減させた予測モデルの予測結果の精度が向上したか否かに応じて、学習済モデルの修正（即ち、影響度を低減または除外する入力特徴量の特定）を継続するか否かを判定する。判定部１４６は、一例として、予測モデルの予測結果と目標とする出力特徴量との誤差が、予め定められた誤差範囲内に含まれない場合、学習済モデルを検査するステップＳ２３０および入力特徴量を選択するステップＳ２４０を繰り返す。即ち、判定部１４６は、学習済モデルの精度を向上させた修正モデルが得られるまで、影響度を低減させるべき入力特徴量を更に選択部１４４に選択させる。
【００５２】
この場合、選択部１４４は、学習済モデルを初期の予測モデルとして順次、影響度を低減させることで予測結果が目標とする出力特徴量により近くなる入力特徴量を選択していく。そして、検査部１４２は、入力特徴量が選択されるごとに順次、予測モデルにおける選択された入力特徴量の影響度を低減していくことにより、修正モデルを生成する。即ち、検査部１４２は、学習済モデルにおける、選択した入力特徴量に対する重みの大きさを低減する。
【００５３】
即ち、選択部１４４は、学習済モデルにおいて影響度を低減させるべき入力特徴量を１つ選択する（Ｓ２４０）。そして判定部１４６が学習済モデルの修正を継続させる場合、当該影響度を低減させるべき入力特徴量の情報を検査部１４２に供給する。そして検査部１４２は、選択された入力特徴量の重みを低減させた予測モデルを新たな学習済モデルとして更新し、更新した学習済モデルの検査を実行する（Ｓ２３０）。ここで、検査部１４２は、記憶部１２０に記憶された学習済モデルを更新してよく、これに代えて、記憶部に記憶された学習済モデルとは別個に更新した学習済モデルを記憶してもよい。
【００５４】
検査部１４２は、更新した学習済モデルにおいて、学習済モデルの更新前に選択部１４４が選択していない入力特徴量の影響度を順に１つずつ低減させた場合の予測結果と、予測結果の目標の誤差とをそれぞれ算出する。選択部１４４は、更新した学習済モデルにおいて、影響度を低減させるべき入力特徴量を１つ選択する（Ｓ２４０）。判定部１４６は、学習済モデルにおいて選択された入力特徴量の影響度を低減させた予測モデルの予測結果と、目標とする出力特徴量との誤差が、予め定められた誤差範囲内に含まれるまでステップＳ２３０およびステップＳ２４０を繰り返す。
【００５５】
判定部１４６は、予測モデルの予測結果と目標とする出力特徴量との誤差が、予め定められた誤差範囲内に含まれる場合、学習済モデルの予測精度が向上したと判定し、当該予測モデルを修正した修正モデルとして出力する。以上の動作フローを実行することにより、本実施形態に係る生成装置１００は、学習用データのうち特有のデータの影響度を低減させ、一般性の高いデータの影響度を相対的に高めた修正モデルを得ることができる。したがって、当該修正モデルに、異なる地域または未来に基づくデータを入力することにより、精度よく異なる地域または未来の予測結果を得ることができる。
【００５６】
また、生成装置１００は、取得部１１０が取得したデータから、学習用データおよび検定用データを生成して学習済モデルを検査することができる。即ち、生成装置１００は、学習用データの他に、検定用データおよび目標値等のデータを用いずに学習済モデルを修正することができる。
【００５７】
そして、生成装置１００は、ユーザにより入力特徴量が予め特有のデータと判断されていたとしても、あえて学習用データに含め、検査を実行することが好ましい。即ち、予め特有と判断されたデータが、実際には一般性の高いデータとして用いることができる場合に、ユーザの経験および感覚等のあいまいな判断で、特有のデータと判断して除去されてしまうことを防ぐことができる。
【００５８】
以上の本実施形態の生成装置１００は、影響度を低減させるべき入力特徴量に対して、重みを小さくすることを説明した。これに代えて、生成装置１００は、重みを０にする、または入力特徴量をの項目を除去して無視してもよい。これによって、生成装置１００は、特有のデータと推定された入力特徴量の影響を無くし、一般性の高いデータの影響を相対的により高くすることができる。
【００５９】
また、以上の本実施形態の生成装置１００は、選択部１４４が、影響度を低減させるべき入力特徴量を１つずつ選択する例を説明した。これに代えて、選択部１４４は、重みを低減させた場合の予測結果と目標とする出力特徴量との誤差の変化を、大きい方から順に順位付けし、予め定められた順位までの入力特徴量を、影響度を低減させるべき入力特徴量として選択してもよい。これによって、モデル修正部１４０は、選択された複数の入力特徴量の重みを低減させつつ、学習済モデルの修正を実行して、予測精度が向上するまでの時間を短縮することができる。
【００６０】
また、以上の本実施形態の生成装置１００は、判定部１４６が予測モデルの予測結果と目標とする出力特徴量との誤差が、予め定められた誤差範囲内に含まれるか否かに応じて、学習済モデルの修正を継続するか否かを判定することを説明した。これに代えて、判定部１４６は、学習済モデルの修正を継続しても、予測結果と目標とする出力特徴量との誤差が低減しないことに応じて、学習済モデルの修正を停止してもよい。これによって、判定部１４６は、学習済モデルの修正が収束したか否かを判定することができる。
【００６１】
これに代えて、判定部１４６は、ステップＳ２３０およびステップＳ２４０の動作を予め定められた回数繰り返してから、学習済モデルの修正を停止してもよい。また、判定部１４６は、影響度を低減すべき入力特徴量が見つからなかった場合、学習済モデルの修正を停止してよい。
【００６２】
以上の本実施形態の生成装置１００は、モデル生成部１３０が線形回帰・分類を実行して学習済モデルを生成した場合について説明した。これに代えて、モデル生成部１３０が、非線形回帰・分類等、その他一般の手法を実行して学習済モデルを生成してもよい。
【００６３】
この場合、検査部１４２は、例えば、当該学習済モデルにおいて、選択された入力特徴量の値に応じて学習した条件が満たされるか否かが異なる場合に、学習用データおよび検定用データの少なくとも一方において当該条件が満たされる頻度が満たされない頻度よりも高い場合には選択した入力特徴量の値によらず当該条件が満たされるものとする。また、検査部１４２は、当該条件が満たされない頻度が満たされる頻度よりも高い場合には選択した入力特徴量の値によらず当該条件が満たされないものとするように学習済モデルを修正して修正モデルを生成する。
【００６４】
ここで、モデル生成部１３０が、入力特徴量に対応する条件の成否に応じて、学習モデルが定まるランダムフォレスト回帰の手法を実行する例を説明する。モデル生成部１３０は、一例として、入力特徴量ｘ１、ｘ２、ｘ３に対して、条件ｇＣ（ｘ１、ｘ２、ｘ３）が１と等しくなる場合（ｇＣ（ｘ１、ｘ２、ｘ３）＝＝１）に、ｙ＝ｆＣ（Ｙｔｒａｉｎ）となる学習済モデルｙを生成する。
【００６５】
この場合、検査部１４２は、条件ｇ０（Ｘ１、ｘ２、Ｘ３）が１に等しくなる（ｇ０（Ｘ１、ｘ２、Ｘ３）＝＝１）頻度が、条件ｇ０（Ｘ１、ｘ２、Ｘ３）が０に等しくなる（ｇ０（Ｘ１、ｘ２、Ｘ３）＝＝０）頻度よりも高くなる場合に、ｘ２を除去して（入力特徴量ｘ２の影響度を低減して）、修正した学習モデルの条件をｇ'０（Ｘ１、Ｘ３）＝＝１とする。ここで、Ｘ１およびＸ３は定数である。また、検査部１４２は、条件ｇ０（Ｘ１、ｘ２、Ｘ３）が１に等しくなる頻度が、０に等しくなる頻度よりも低い場合、修正した学習モデルの条件をｇ'０（Ｘ１、Ｘ３）＝＝０とする。
【００６６】
これにより、モデル修正部１４０は、非線形回帰・分類等の手法を実行して生成された学習済モデルを、検定データによる予測結果を出力特徴量に近づけるように入力特徴量を選択して修正し、修正モデルを生成することができる。
【００６７】
また、以上の本実施形態の生成装置１００は、選択部１４４が、影響度を低減させるべき入力特徴量を選択する例を説明した。これに代えて、生成装置１００は、検査部１４２が算出した入力特徴量に対応する目標値との誤差の変化を、影響度を低減させた入力特徴量に対応付けてユーザに対して表示し、当該ユーザが、影響度を低減させるべき入力特徴量を選択してもよい。この場合、ユーザは、複数の入力特徴量を選択してよい。
【００６８】
これにより、ユーザは、それぞれの入力特徴量の影響を低減させた場合に生じる誤差の変化をそれぞれ確認することができ、確認した上で影響度を低減させるべき入力特徴量を選択できる。したがって、本実施形態の生成装置１００は、ユーザに客観的な指標に基づく選択を実行させることができ、ユーザの経験および感覚に頼る労力を低減させることができる。
【００６９】
図４は、本実施形態に係る生成装置１００の変形例を示す。本変形例の生成装置１００において、図２に示された本実施形態に係る生成装置１００の動作と略同一のものには同一の符号を付け、説明を省略する。本変形例の生成装置１００は、予測部１５０を更に備える。
【００７０】
予測部１５０は、複数の入力特徴量のうち、少なくとも除去されていない入力特徴量の値を修正モデルに入力して、予測値を算出する。即ち、予測部１５０は、モデル修正部１４０に接続され、当該モデル修正部１４０から受け取った修正モデルを用いて出力特徴量を算出する。
【００７１】
予測部１５０は、例えば、学習用データとは日付、人数構成、施設、プラン等の一部の入力特徴量が異なるデータを入力して、出力特徴量を算出する。この場合、モデル修正部１４０が影響度を０または除去した入力特徴量を変更して入力しても、結果には反映されないので、予測部１５０は、少なくとも除去されていない入力特徴量の値を変更して入力する。
【００７２】
また、予測部１５０は、ユーザが予測したい未来に応じて新たに用意したデータを用いて出力特徴量を算出してもよい。この場合、予測部１５０は、取得部１１０に接続され、当該取得部１１０が取得するユーザの新たなデータを受け取ってよい。これにより、生成装置１００は、学習データに基づき学習済モデルを修正した修正モデルを用い、例えば、地域Ａに存在するホテルの未来の予測値および地域Ｂに存在するホテルの未来の予測値等を算出することができる。
【００７３】
また、本変形例の生成装置１００のモデル修正部１４０は、判定部１４６に代えて、影響低減部１４８を有する。影響低減部１４８は、選択部１４４に接続され、当該選択部１４４が選択した入力特徴量を受け取る。
【００７４】
ここで、選択部１４４は、複数の入力特徴量のうち、学習済モデルにおける影響度を低減した場合に予測結果が目標とする出力特徴量により近くなる入力特徴量を優先的に選択して、予測モデルにおいて影響度を低減すべき入力特徴量とする。選択部１４４は、一例として、重みを低減すると予測結果が目標とする出力特徴量との誤差がより小さくなる入力特徴量を、誤差が小さくなる順に順位付けし、予め定められた順位までの入力特徴量を、影響度を低減させるべき入力特徴量として選択する。
【００７５】
ここで、選択部１４４は、誤差の変化の大きさに応じて、選択する入力特徴量の数を変更してもよい。選択部１４４は、例えば、誤差が他と比べて顕著に小さくなる入力特徴量がある場合は、当該入力特徴量を含めるように選択してよく、また、それぞれの誤差の変化が予め定められた値よりも小さい（大きい）場合は選択する数を少なく（大きく）してもよい。
【００７６】
そして、影響低減部１４８は、選択部１４４が選択した入力特徴量を受け取り、当該入力特徴量の影響度を低減させた予測モデルを生成して修正モデルとして出力する。これにより、モデル修正部１４０は、修正モデルの生成を速やかに実行することができる。
【００７７】
図５は、本実施形態に係る生成装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、および表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、およびＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０を有するレガシー入出力部と、を備える。
【００７８】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００およびグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０およびＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００７９】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラムおよびデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ−ＲＯＭ２０９５からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００８０】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、および入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、および／または、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００８１】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５、またはＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００８２】
プログラムは、コンピュータ１９００にインストールされ、コンピュータ１９００を取得部１１０、記憶部１２０、モデル生成部１３０、モデル修正部１４０、および予測部１５０として機能させる。
【００８３】
プログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得部１１０、記憶部１２０、モデル生成部１３０、モデル修正部１４０、および予測部１５０として機能する。そして、この具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の生成装置１００が構築される。
【００８４】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、またはＤＶＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置または通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００８５】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、および／または記憶装置に含まれるものとする。
【００８６】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（または不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００８７】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００８８】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ−ＲＯＭ２０９５の他に、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、またはＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００８９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９０】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９１】
１００  生成装置、１１０  取得部、１２０  記憶部、１３０  モデル生成部、１４０  モデル修正部、１４２  検査部、１４４  選択部、１４６  判定部、１４８  影響低減部、１５０  予測部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＤＶＤドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＤＶＤ−ＲＯＭ
【図１】
2015087973.tif 000003
【図２】
2015087973.tif 000004
【図３】
2015087973.tif 000005
【図４】
2015087973.tif 000006
【図５】
2015087973.tif 000007