(57)【要約】  複数の予測タスクについてのデータを用いた新規な学習方法による学習を行なうことができる学習装置、学習方法、及びプログラムを提供する。学習装置（１）は、予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得部（２）と、前記予測タスクに対する学習用データを取得する学習用データ取得部（３）と、複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成部（４）と、前記新規データ生成部が生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成部（５）とを有する。
2020075255.tif 000002
【特許請求の範囲】
【請求項１】
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得部と、
前記予測タスクに対する学習用データを取得する学習用データ取得部と、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成部と、
前記新規データ生成部が生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成部と
を有する学習装置。
【請求項２】
前記新規データ生成部は、前記予測タスク表現取得部が取得した前記予測タスク表現データと前記学習用データ取得部が取得した前記学習用データとを組み合わせて算出される特徴量を含む前記新たな学習用データを生成する
請求項１に記載の学習装置。
【請求項３】
前記予測タスク表現データは、予測対象を構成する要素を示すベクトルである
請求項１又は２に記載の学習装置。
【請求項４】
前記学習用データ取得部が取得する前記学習用データは、特徴量ベクトルと正解データの組である
請求項１乃至３のいずれか１項に記載の学習装置。
【請求項５】
前記新たな学習用データの生成のために用いられたいずれかの前記予測タスクである対象タスクについての予測用データを取得する予測用データ取得部と、
前記予測モデルを用いた予測結果を出力する予測モデル利用部と
をさらに有し、
前記新規データ生成部は、さらに、前記対象タスクに対する前記予測タスク表現データと前記予測用データを用いて新たな予測用データを生成し、
前記予測モデル利用部は、前記予測モデルに、前記新規データ生成部が生成した予測用データを入力し、前記予測モデルから得られる予測結果を出力する
請求項１乃至４のいずれか１項に記載の学習装置。
【請求項６】
予測タスクの予測対象を表現する予測タスク表現データを取得し、
前記予測タスクに対する学習用データを取得し、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成し、
生成した前記学習用データを用いて、予測モデルを生成する
学習方法。
【請求項７】
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得ステップと、
前記予測タスクに対する学習用データを取得する学習用データ取得ステップと、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成ステップと、
前記新規データ生成ステップで生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成ステップと
をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、学習装置、学習方法、及びプログラムが格納された非一時的なコンピュータ可読媒体に関し、特に予測モデルを生成する技術に関する。
【背景技術】
【０００２】
マルチタスク学習は、複数の関連する予測タスクがあってそれぞれの学習用データが少ないときに使われる技術である。ある予測タスクで学習用データが非常に少ないとき、充分な学習ができず、新たなデータに対する予測値が大きく外れてしまうことが知られている。そこで、複数の関連する予測タスクを同時に扱って他の予測タスクの学習用データも使って学習するマルチタスク学習技術が、予測精度を高めるために重要となっている。【０００３】
しかしながら、マルチタスク学習では、一般的に、予測タスクの類似度がわからないと他の予測タスクの学習用データを利用できない。マルチタスク学習について開示している非特許文献１では、予測タスク間の関係と類似度があらかじめ木構造というデータ構造で与えられている。しかし、予測タスク間の関係と類似度が予めわからない場合や、予測タスク間の関係と類似度が木構造では表せない場合にはこの方法を適用することはできない。これに対し、非特許文献２では、予測タスクの類似度を各予測タスクの学習用データから求めている。この方法は、予測タスクの類似度が定量的に与えられていない場合にも適用できるが、各予測タスクの学習用データが非常に少ないとき、予測タスクの類似度を精確に求められず、予測精度が低くなる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Goenitz, N., Widmer, C., Zeller, G., Kahles, A., Raetsch, G., & Sonnenburg, S, “Hierarchical multitask structured output learning for large-scale sequence segmentation”, In Advances in Neural Information Processing Systems, 2011, pp. 2690-2698.
【非特許文献２】Ando, R. K., & Zhang, T. “A framework for learning predictive structures from multiple tasks and unlabeled data”, Journal of Machine Learning Research, 6 (Nov), 2005, pp.1817-1853.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、マルチタスク学習方法では、予測タスク間の関係を表すデータが与えられておらず、かつ、各予測タスクの学習用データが非常に少ない場合には、予測タスクの類似度を精確に推定できない。このため、予測タスクごとに予測をした場合と比べて予測精度が向上しない恐れがある。すなわち、非特許文献１又は非特許文献２に開示された技術を用いたマルチタスク学習では、適切な予測ができない恐れがある。
したがって、複数の予測タスクについてのデータを用いた新規な学習方法を利用した学習装置が求められている。【０００６】
本開示は、このような問題点を解決するためになされたものであり、複数の予測タスクについてのデータを用いた新規な学習方法による学習を行なうことができる学習装置、学習方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の態様にかかる学習装置は、
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得部と、
前記予測タスクに対する学習用データを取得する学習用データ取得部と、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成部と、
前記新規データ生成部が生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成部と
を有する。【０００８】
本開示の第２の態様にかかる学習方法では、
予測タスクの予測対象を表現する予測タスク表現データを取得し、
前記予測タスクに対する学習用データを取得し、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成し、
生成した前記学習用データを用いて、予測モデルを生成する。【０００９】
本開示の第３の態様にかかるプログラムは、
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得ステップと、
前記予測タスクに対する学習用データを取得する学習用データ取得ステップと、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成ステップと、
前記新規データ生成ステップで生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成ステップと
をコンピュータに実行させる。
【発明の効果】
【００１０】
本開示によれば、複数の予測タスクについてのデータを用いた新規な学習方法による学習を行なうことができる学習装置、学習方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の概要にかかる学習装置の構成の一例を示すブロック図である。
【図２】実施の形態にかかる学習装置の構成の一例を示すブロック図である。
【図３】予測タスク表現データの一例を示す図である。
【図４】実施の形態にかかる学習装置のハードウェア構成の一例を示すブロック図である。
【図５】学習フェーズにおける学習装置の動作の一例を示すフローチャートである。
【図６】予測フェーズにおける学習装置の動作の一例を示すフローチャートである。
【図７】予測タスク表現取得部が取得する予測タスク表現データの一例を示す図である。
【図８】学習用データ取得部が取得する各予測タスクの学習用データの一例を示す図である。
【図９】新規データ生成部が生成する学習用データの一例を示す図である。
【発明を実施するための形態】
【００１２】
＜実施形態の概要＞
実施形態の詳細を説明する前に、まず、実施形態の概要について説明する。図１は、実施形態の概要にかかる学習装置の構成の一例を示すブロック図である。図１に示すように、学習装置１は、予測タスク表現取得部２と、学習用データ取得部３と、新規データ生成部４と、予測モデル生成部５とを有する。
【００１３】
予測タスク表現取得部２は、予測タスク表現データを取得する。予測タスク表現データは、予測タスクの予測対象を表現するデータである。すなわち、予測タスク表現データは、予測タスクのサイドインフォメーション（side information）を表現するデータである。つまり、ある予測タスクが、Ｘ（例えば商品）という予測対象についてのＹ（例えば、売上）という予測内容を予測するタスクである場合、予測タスク表現取得部２は、予測タスク表現データとして、Ｘを表現するデータを取得する。なお、サイドインフォメーションは、メタ情報又は補足情報とも称されることがある。
【００１４】
予測タスク表現取得部２は、例えば、記録媒体に記憶された予測タスク表現データを読み出して取得するが、有線又は無線のネットワークを介して、他の装置が送信した予測タスク表現データを取得してもよい。このように、予測タスク表現取得部２は、予測タスク表現データを取得できればよく、その取得方法は任意である。
【００１５】
学習用データ取得部３は、予測タスクに対する学習用データを取得する。学習用データ取得部３は、予測タスク表現取得部２により取得された予測タスク表現データに対応する予測タスクについての学習用データを取得する。学習用データは、教師あり学習に使われる訓練データであり、特徴量と正解データの組からなるデータである。
【００１６】
学習用データ取得部３は、例えば、記録媒体に記憶された学習用データを読み出して取得するが、有線又は無線のネットワークを介して、他の装置が送信した学習用データを取得してもよい。このように、学習用データ取得部３は、学習用データを取得できればよく、その取得方法は任意である。
【００１７】
新規データ生成部４は、複数の予測タスクに対する予測タスク表現データと学習用データを用いて新たな学習用データを生成する。すなわち、新規データ生成部４は、予測タスク表現データまたは予測タスク用データの特徴量のみからは構成できない新たな学習用データを生成する。ここで、新規データ生成部４が生成する学習用データは、上記複数の予測タスクをまとめた予測タスクである一つの新たな予測タスクのための学習用データである。
【００１８】
予測モデル生成部５は、新規データ生成部４が生成した学習用データを用いて、予測モデルを生成する。より詳細には、予測モデル生成部５は、所定の種類のモデル又はユーザにより指定された種類のモデルに対し、新規データ生成部４が生成した学習用データを用いた機械学習を行なうことによって、学習済み予測モデルを生成する。
【００１９】
以上説明した通り、学習装置１は、複数の予測タスクに対する予測タスク表現データと学習用データを用いて生成された新たな学習用データを用いて、予測モデルを生成する。ここで、複数の予測タスク間の類似度が予め特定されている必要はない。したがって、学習装置１によれば、複数の予測タスクについてのデータを用いた新規な学習方法による学習（すなわち、予測モデルの生成）を行なうことができる。
【００２０】
以下、実施の形態の詳細について図面を参照して説明する。
[構成の説明]
図２は実施の形態にかかる学習装置１０の構成の一例を示すブロック図である。図２で示されるように、学習装置１０は、予測タスク表現取得部１０１と学習用データ取得部１０２と新規データ生成部１０３と予測モデル生成部１０４と予測用データ取得部１０５と予測モデル利用部１０６とを備える。図１に示す情報記憶部１０７は、任意のデータを記憶する情報記憶媒体である。情報記憶部１０７は、ハードディスクドライブ、ソリッドステートドライブなどのストレージであってもよいし、メモリなどであってもよい。図１に示した例では、情報記憶部１０７は、学習装置１０の外部の機器として示されているが、学習装置１０に含まれていてもよい。情報記憶部１０７は、予測タスク表現データ、学習用データ、予測用データなどを記憶している。
【００２１】
予測タスク表現取得部１０１は、図１の予測タスク表現取得部２に相当し、予測タスク表現データを情報記憶部１０７から取得し、取得した予測タスク表現データを新規データ生成部１０３に出力する。予測タスク表現取得部１０１は、様々な予測タスクについての予測タスク表現データを取得する。予測タスク表現取得部１０１は、予測内容が共通する複数の予測タスクのそれぞれについての予測タスク表現データを取得する。
【００２２】
予測タスク表現データは、予測対象を構成する要素を示すベクトルであってもよい。すなわち、予測タスク表現データは、予測対象を構成する要素をベクトルの要素で表したデータであってもよい。予測対象を構成する要素を示すベクトルについて、パソコンの売上を予測する予想タスクを例に説明する。ここで、パソコンにＡ社またはＢ社のＣＰＵ（central processing unit）とＣ社またはＤ社のメモリが搭載されているとする。このときに、Ａ社のＣＰＵとＤ社のメモリが搭載されているパソコン（予測対象）は、予測タスク表現データにおいて、図３に示すように０と１からなる４次元ベクトルで表現することができる。なお、予測対象を構成する要素は、物理的に予測対象を構成する要素に限らず、予測対象の属性を構成する任意の要素であってもよい。したがって、例えば、販売する商品の種類やメーカーなども、予測対象を構成する要素となりうる。この場合、例えば、商品の様々な種類や様々なメーカーのうち、予測対象に対応する成分だけを１にしてそれ以外の成分を０にしたようなベクトルにより、予測対象を表現することができる。
【００２３】
なお、図３に示した例では、１つのベクトル成分に対して１つの属性値を対応づけているが、後述する図７に示すように１つのベクトル成分に対して複数の属性値を対応づけて、当該ベクトル成分の値により属性を特定してもよい。具体的に説明すると、図３に示した例では、Ａ社のＣＰＵ、Ｂ社のＣＰＵ、Ｃ社のメモリ、Ｄ社のメモリのメモリという４つの属性値を４つのベクトル成分で表しているが、例えば、次のような２次元ベクトルで予測タスク表現データを表してもよい。すなわち、この２次元ベクトルの第１の成分は、値が１であればＡ社のＣＰＵが搭載されたパソコンであることを示し、値が０であればＢ社のＣＰＵが搭載されたパソコンであることを示す。同様に、この２次元ベクトルの第２の成分は、値が１であればＣ社のメモリが搭載されたパソコンであることを示し、値が０であればＤ社のメモリが搭載されたパソコンであることを示す。
【００２４】
学習用データ取得部１０２は、学習用データ取得部３に相当し、予測タスクに対する学習用データを情報記憶部１０７から取得し、取得した学習用データを新規データ生成部１０３に出力する。具体的には、学習用データ取得部１０２は、予測タスク表現取得部１０１により取得された予測タスク表現データに対応する予測タスクのそれぞれについての学習用データを取得する。つまり、予測タスク表現取得部１０１及び学習用データ取得部１０２により、ある予測タスクについての予測タスク表現データとこの予測タスクについての学習用データが取得される。換言すると、予測タスク表現取得部１０１及び学習用データ取得部１０２は、ｎ（ｎは２以上の整数）種類の予測タスクについて、予測タスク毎に、予測タスク表現データと学習用データを取得する。
【００２５】
ここで、学習用データは、上述した通り、特徴量と正解データの組からなるデータである。特徴量のデータは、特徴量の情報をベクトルで表現したデータであってもよい。その場合、学習用データは、例えば、商品の価格又は販売を行なった日付などといった特徴量の情報をベクトルで表現したデータ（特徴量ベクトル）と、実際の売上個数のデータである正解データとの組からなるデータである。
【００２６】
次に、新規データ生成部１０３について説明する。ここでは、予測モデルの学習フェーズにおける新規データ生成部１０３について説明し、学習済み予測モデルを用いた予測フェーズにおける新規データ生成部１０３については後述する。
【００２７】
学習フェーズにおける新規データ生成部１０３は、図１の新規データ生成部４に相当し、複数の予測タスクに対する予測タスク表現データと学習用データを用いて新たな学習用データを生成する。すなわち、新規データ生成部１０３は、予測タスク表現取得部１０１と学習用データ取得部１０２のそれぞれの出力を用いて、新たな学習用データを生成する。この新たな学習用データは、上記複数の予測タスクに対応する一つの予測モデルを学習するためのデータである。つまり、学習フェーズにおける新規データ生成部１０３は、上記複数の予測タスクをまとめた予測タスクである一つの新たな予測タスクのための学習用データを生成する。
【００２８】
より詳細には、新規データ生成部１０３は、予測タスク毎に、予測タスク表現取得部１０１が取得した予測タスク表現データと学習用データ取得部１０２が取得した学習用データとを組み合わせて算出される特徴量を含む新たな学習用データを生成する。これにより、予測タスク表現取得部１０１が取得した予測タスク表現データ、又は学習用データ取得部１０２が取得した学習用データに含まれる特徴量のみからは構成できない特徴量を生成することができる。新規データ生成部１０３は、複数の予測タスクのそれぞれに対し同じ生成規則を適用して新たな学習用データを生成する。
【００２９】
新たな学習用データは、具体的には、予測タスク表現データと学習用データの特徴量とを結合したデータに対する特徴量エンジニアリングを行い新たな特徴量を生成し、新たな特徴量と学習用データの正解データとの組を生成することにより生成される。このため、新規データ生成部１０３は、特徴量エンジニアリングを行なうためのユーザインタフェースを提供する処理を行なう。例えば、新規データ生成部１０３は、特徴量エンジニアリングの手法を指定する入力をユーザから受け付ける。そして、新規データ生成部１０３は、新規データ生成部１０３が有する所定のライブラリのうち、ユーザから指示された特徴量エンジニアリングの手法に対応するライブラリを参照し、当該ライブラリに従った特徴量エンジニアリング処理を実行する。そして、実行結果として得られた特徴量を表示出力する。必要に応じて、これらの処理が繰り返される。上述した一連の処理が繰り返し行なわれるか否か、すなわち、別の特徴量エンジニアリングの手法により別の特徴量の生成を試みるか否かは、例えば、ユーザにより判断される。
【００３０】
なお、特徴量エンジニアリング手法の選択が自動化されていてもよい。すなわち、新規データ生成部１０３は、ユーザからの指定によらず所定の特徴量エンジニアリング手法を選択してもよい。ここで、特徴量エンジニアリングにはどのような方法を用いてもよい。例えば、予測タスク表現取得部１０１が取得した予測タスク表現データの一要素と学習用データ取得部１０２が取得した学習用データの特徴量の一要素の積を新たな特徴量としてもよい。また、予測タスク表現データの一要素の値が閾値を上回っていた場合に学習用データ取得部１０２が取得した学習用データの特徴量の一要素の値をそのまま用い、そうでない場合に０とするようにして、新たな特徴量を生成してもよい。
【００３１】
また、新規データ生成部１０３は、予測タスク毎に、ベクトルで表された予測タスク表現データとベクトルで表された学習用データの特徴量とを結合して多項式特徴量としたデータと学習用データの正解データとの組を生成し、これを新たな学習用データとしてもよい。ここで、二つのベクトルを結合するとは、二つのベクトルを並べて一つのベクトルとすることである。例えば、ｎ次元ベクトルとｍ次元ベクトルを結合すると、ｎ＋ｍ次元ベクトルになる。また、多項式特徴量とは入力とされた特徴量の多項式表現の各項が要素であるような特徴量である。例えば、ｘとｙが与えられたときの２次の多項式特徴量は１，ｘ，ｙ，ｘｘ，ｘｙ，ｙｙの六つとなる。
【００３２】
予測モデル生成部１０４は、図１の予測モデル生成部５に相当し、新規データ生成部１０３の出力を用いて、予測モデルの学習処理を行ない、学習済みの予測モデルを出力する。予測モデルは例えばユーザが選択する。この場合、予測モデル生成部１０４は、ユーザから指示された予測モデルについて、新規データ生成部１０３が出力した学習用データを用いてモデルの学習処理を行なう。予測モデルやその学習方法はどのようなものを用いてもよい。例えば、予測モデルを線形回帰モデルとして学習方法を勾配降下法としてもよいし、予測モデルをロジスティック回帰モデルとして学習方法を確率的勾配降下法としてもよい。予測モデル生成部１０４は、学習済みの予測モデルを予測モデル利用部１０６に出力する。なお、予測モデル生成部１０４は、学習済みの予測モデルを情報記憶部１０７に出力してもよい。
【００３３】
なお、予測モデル生成部１０４は、新規データ生成部１０３により生成される特徴量及び選択された予測モデルについて、交差検証（クロスバリデーション）により評価してもよい。交差検証は、選択した特徴量エンジニアリングと予測モデルの良さを学習用データだけから評価する方法である。これは、学習用データ群の一部だけを使って予測モデルを作り、残りの学習用データを予測用データとして使用することで、当該予測モデルによる予測がどれだけ当たるかを評価して予測モデルの良し悪しをスコア化する技術である。この場合、予測モデル生成部１０４は、評価結果を表示出力してもよい。この評価結果により、ユーザは他の特徴量エンジニアリング及び予測モデルの組み合わせを試すか否かを判断することができる。
【００３４】
予測用データ取得部１０５は、予測フェーズで用いるデータを取得する。具体的には、予測用データ取得部１０５は、予測モデル生成部１０４により生成された予測モデルを用いた予測の際に用いられる特徴量である予測用データを取得する。この予測用データは、当該予測モデルの学習用データ（すなわち、新規データ生成部１０３により生成された新たな学習用データ）の生成のために用いられたいずれかの予測タスクである対象タスクについての予測用データである。このように、学習用データ取得部１０２では、ある予測タスクについての特徴量と正解データの組を取得するが、予測用データ取得部１０５は、当該予測タスクについての特徴量を取得し、正解データは取得しない。なお、正解データに相当する値は、予測モデル利用部１０６による予測結果として得られる。
【００３５】
次に、予測フェーズにおける新規データ生成部１０３について説明する。予測フェーズにおける新規データ生成部１０３は、学習フェーズにおいて予測モデルの学習用データの生成のために用いられたいずれかの予測タスクについての予測タスク表現データとこの予測タスクの予測用データから新たな予測用データを生成する。すなわち、新規データ生成部１０３は、予測タスク表現取得部１０１が取得した対象タスクについての予測タスク表現データと予測用データ取得部１０５が取得した当該対象タスクについての予測用データから新たな予測用データを生成する。このように、予測フェーズにおける新規データ生成部１０３は、学習フェーズにおいて用いられた複数の予測タスクをまとめた予測タスクである一つの新たな予測タスクのための予測用データを生成する。なお、予測フェーズにおける新規データ生成部１０３は、学習フェーズで新たな学習データを生成する際に適用した生成規則と同じ生成規則を適用して、予測用データを生成する。すなわち、新たな予測用データを生成するための特徴量エンジニアリングは学習用データを生成したときと同様のものである。予測フェーズで生成される新たな予測用データは、正解データが存在しないという点で、学習フェーズで生成される学習用データと異なっている。
【００３６】
予測モデル利用部１０６は、予測モデル生成部１０４が生成した予測モデルと、予測フェーズにおける新規データ生成部１０３が生成した予測用データを用いて、対象タスクについての予測を行う。予測モデル利用部１０６は、予測モデル生成部１０４が生成した予測モデルに、新規データ生成部１０３が生成した予測用データを入力し、予測モデルから得られる予測結果を出力する。
【００３７】
次に、学習装置１０のハードウェア構成について説明する。図４は、学習装置１０のハードウェア構成の一例を示すブロック図である。図４に示すように、学習装置１０は、例えば、ネットワークインタフェース５１と、メモリ５２と、プロセッサ５３とを有する。
【００３８】
ネットワークインタフェース５１は、他の装置と通信を行うために使用される。ネットワークインタフェース５１は、例えば、情報記憶部１０７が学習装置１０の外部装置としてネットワーク上に存在する場合に使用される。ネットワークインタフェース５１は、例えば、ネットワークインタフェースカード（ＮＩＣ）を含んでもよい。
【００３９】
メモリ５２は、例えば揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ５２は、プロセッサ５３より実行される、１以上の命令を含むソフトウェア（コンピュータプログラム）などを格納するために使用される。
【００４０】
プロセッサ５３は、例えば、マイクロプロセッサ、ＭＰＵ(Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ)、又はＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)などであってもよい。プロセッサ５３は、複数のプロセッサを含んでもよい。プロセッサ５３は、メモリ５２からコンピュータプログラムを読み出して実行することで、図２に示した学習装置１０の各構成要素の処理を行う。
【００４１】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００４２】
[動作の説明]
次に、学習装置１０の動作について説明する。まず、学習フェーズにおける動作について説明する。図５は、学習フェーズにおける学習装置１０の動作の一例を示すフローチャートである。以下、図５を参照しつつ学習フェーズにおける学習装置１０の動作について説明する。
【００４３】
ステップＳ１００において、予測タスク表現取得部１０１は、複数の予測タスクについての予測タスク表現データを取得する。
【００４４】
次に、ステップＳ１０１において、学習用データ取得部１０２は、ステップＳ１００で取得された予測タスク表現データに対応する予測タスクのそれぞれについての学習用データを取得する。
【００４５】
次に、ステップＳ１０２において、新規データ生成部１０３は、予測タスク表現取得部１０１と学習用データ取得部１０２のそれぞれの出力を得て、予測タスク毎に、新たな学習用データを生成する。すなわち、新規データ生成部１０３は、ある予測タスクについての予測タスク表現データと当該予測タスクについての特徴量とを組み合わせたデータに対する特徴量エンジニアリングに基づいて決定した生成規則に従い新たな学習用データを生成する。１つの予測タスクに基づいて得られた特徴量と正解データの組の集合は、新たな学習用データ群の一部を構成する。そして、新規データ生成部１０３は、別の予測タスクについて同様の生成規則に従い、新たな学習用データを生成する。各予測タスクに基づいて生成された新たな学習用データの集合が、予測モデル生成部１０４における学習処理に利用される新たな学習用データ群となる。
【００４６】
次に、ステップＳ１０３において、予測モデル生成部１０４は、新規データ生成部１０３により生成された学習用データを用いて、予測モデルを学習する。なお、予測モデルやその学習方法はどのようなものを用いてもよい。これにより、学習済みの予測モデルが生成される。
【００４７】
図６は、予測フェーズにおける学習装置１０の動作の一例を示すフローチャートである。以下、図６を参照しつつ学習フェーズにおける学習装置１０の動作について説明する。
【００４８】
ステップＳ２００において、予測タスク表現取得部１０１は、学習フェーズにおける新たな学習用データの生成のために用いられたいずれかの予測タスク（対象タスク）についての予測タスク表現データを取得する。
【００４９】
次に、ステップＳ２０１において、予測用データ取得部１０５は、対象タスクについての予測用データを取得する。
【００５０】
次に、ステップＳ２０２において、新規データ生成部１０３は、対象タスクについての予測タスク表現データと当該対象タスクの予測用データに対し、学習フェーズと同じ生成規則を適用して、新たな予測用データを生成する。
【００５１】
次に、ステップＳ２０３において、予測モデル利用部１０６は、学習フェーズで生成された予測モデルと、ステップＳ２０２で生成された予測用データを利用して、予測を行う。
【００５２】
[効果の説明] 
次に、本実施の形態の効果について説明する。
新規データ生成部１０３が生成する学習用データには、各予測タスクに対する、予測タスク表現データの情報と予測用データの特徴量の情報が入っているために、タスクごとに別々の予測モデルを作る方法と比べて精度の良い予測が可能となる。例えば、予測タスク表現データが１次元のベクトルで表される三つの予測タスクがあって、各タスクに対して一つずつ特徴量と正解データの組が存在し、特徴量が２次元ベクトルであるときに、線形回帰で予測することを考える。タスクごとに行なわれる線形回帰では、特徴量の各次元に対応する係数を決定する必要があるため、タスクごとに２変数の線形方程式を解く必要がある。しかし、各タスクに対する特徴量と正解データの組は一つだけであるため、線形方程式の解が不定となり、無限に解が存在する。二つある特徴量のうち一つだけを使うことにすれば線形方程式の解が一意に定まるが、どちらの特徴量を選ぶべきかを一つのデータからは決定できないため、事前知識などの仮定がないと妥当な予測モデルを構成できる保証はない。一方、本実施の形態では、予測タスク表現データ（１次元）と学習用データの特徴量（２次元）とを結合して特徴量を生成する。このため、三つの予測タスクをまとめた一つの予測タスク（以下、複数の予測タスクをまとめた一つの予測タスクを新規予測タスクと称す）に対しては、特徴量ベクトルの次元は少なくとも３次元となる。簡便な説明のため、特徴量エンジニアリングを考えないことにすると、新規予測タスクに対する特徴量と正解データの組は三つとなるため、線形方程式の解が一意に定まる。つまり、事前知識の仮定がなくても、データのみから特徴量の係数を線形回帰で決定することができる。このように、各タスクのデータが少ないときに、新規予測タスクを構成して学習用データをまとめることで、妥当な予測ができるようになる。
【００５３】
また、本実施の形態は、各タスクの学習用データだけをまとめて新規予測タスクの学習用データを構成する手法と比べて、精度の良い予測が可能となる。新規予測タスクの学習用データを構成する際に、各タスクの学習用データだけをまとめて構成すると、予測タスクごとに妥当な予測モデルが異なる場合に、それぞれの予測タスクに対して同じ予測モデルを作ることになる。つまり、異なる予測タスクでも予測用データの特徴量が同じであれば同じ予測値となってしまう。しかし、本実施の形態では、各予測タスクの予測タスク表現データを、新規予測タスクの学習用データにおける特徴量に追加しているため、予測タスクが異なれば予測用データの特徴量が同じであっても、異なる予測値を出せる。つまり、各予測タスクに対して同一ではない予測モデルができる。よって、より良い精度の予測が可能となる。
【００５４】
以上、実施の形態の詳細について説明したが、ここで、具体例を用いてさらに説明する。この具体例では、予測モデルを作成及び利用するための予測タスクは四つある。一つ目は、福島のももの売上個数を予測するタスクである。二つ目は、福島のぶどうの売上個数を予測するタスクである。三つ目は、山梨のももの売上個数を予測するタスクである。四つ目は、山梨のぶどうの売上個数を予測するタスクである。
【００５５】
図７は、上述した具体例に関し、予測タスク表現取得部１０１が取得する予測タスク表現データの一例を示す図である。図７では、四つの予測タスクについて、それぞれ、ベクトルを用いて予測対象を構成する要素が表現されている。具体的には、ベクトルの第１成分が福島産であるか否か、ベクトルの第２成分がももであるか否かを表している。すなわち、ベクトルの第１成分の値が１である場合、予測対象が福島産であることを示し、ベクトルの第１成分の値が０である場合、予測対象が山梨産であることを示す。同様に、ベクトルの第２成分の値が１である場合、予測対象がももであることを示し、ベクトルの第２成分の値が０である場合、予測対象がぶどうであることを示す。
【００５６】
図８は、上述した具体例に関し、学習用データ取得部１０２が取得する各予測タスクの学習用データの一例を示す図である。図８に示した例では、四つの予測タスクそれぞれについて一つの学習用データが取得され、合計四つの学習用データが取得される。ここで、価格が特徴量であり、売上個数が正解データである。以下では、予測タスク表現取得部１０１が、図７に示したベクトルを予測タスク表現データとして取得し、学習用データ取得部１０２が、図８に示した学習用データを取得した場合について説明する。
【００５７】
新規データ生成部１０３は、予測タスク表現取得部１０１と学習用データ取得部１０２のそれぞれの出力を用いて、例えば図９に示すような特徴量と正解データの組を生成する。図９に示した例では、価格を予測タスク表現データのベクトルの各成分にかけて、定数項を加えたものを新たな特徴量としている。
【００５８】
福島のももに関して生成規則を具体的に述べる。まず、新規データ生成部１０３は、商品の種類と産地を表現した図７の予測タスク表現ベクトル（１，１）と、図８の価格を表す特徴量ベクトル（３００）と売上１５０という学習用データを取得する。
次に、新規データ生成部１０３は、予測タスク表現ベクトル（１，１）と価格（３００）（１次元ベクトル）を結合してベクトル（１，１，３００）（３次元ベクトル）を作る。
次に、特徴量エンジニアリングが行われる。作った３次元ベクトルの第１成分（１）と第２成分（１）をそれぞれ第３成分（３００）にかけて得られる成分をベクトルに追加する。つまり、この時点で、（１，１，３００，３００，３００）という５次元ベクトルが生成される。
さらに、この５次元ベクトルに定数１の特徴量を追加する。よって、（１，１，３００，３００，３００，１）という６次元ベクトルが生成される。
そして、この６次元ベクトルの後半の３次元の成分（３００，３００，１）だけを取り出して、これを新規予測タスクのための特徴量とすることで特徴量エンジニアリングを終了する。
最後に、新規データ生成部１０３は、いま作成した特徴量と学習用データの正解データ（売上）との組を、新規予測タスクのための学習用データの一つとする。
他の予測タスク（すなわち、福島のぶどう、山梨のもも、及び山梨のぶどう）についても同様に行われ、最終的に図９に示すような学習用データが得られる。
【００５９】
これにより、各予測タスクのデータが非常に少ない場合でも、各予測タスクに対して別々に予測モデルを作るより、価格の変動が売上に与える影響を精確に予測することが期待できる。例えば、各予測タスクの予測モデルを線形回帰で作ることを考える。すると、価格のみから売上を説明しようとするため、価格と売上個数が比例する予測モデルとなる。つまり、価格を高くすればするほど売上が比例して伸び、価格を下げれば下げるほど売上が落ちるという予測モデルになる。
【００６０】
ここで、線形回帰を用いて、価格のみから売上個数を予測しようとすると、予測モデルが正の比例関係になる理由について説明する。図８に示した価格を特徴量として、図８に示した売上個数を線形回帰で予測しようとすると、「売上個数＝ａ×価格」という予測式で売上個数を説明することとなる。すなわち、線形回帰を用いて、価格のみから売上個数を予測する場合、上記ａを学習用データから求める必要がある。福島のももの場合、売上個数が１５０で価格が３００というデータのみが存在するので、ａ＝０．５が導かれる。つまり、正の比例関係が導かれる。
【００６１】
なお、価格を下げると売上が上がるような予測モデルは、定数の特徴量を学習用データに追加した場合などに生成される。つまり、この定数の特徴量を例えば１とした場合、「売上個数＝ａ×価格＋ｂ×１」という予測式で売上個数を説明することとなり、価格を下げると売上が上がるような予測モデルが得られる。この場合、上記ａ及びｂを学習用データから求める必要がある。なお、定数の特徴量の具体的な値は、すべてのデータにおいて同じ値であればよく、任意の値とすることができるが、数式を簡単にするために１とするのが慣例である。ａとｂを一意に定めるには、二つ以上の学習用データが必要である。仮に、福島のももについて、価格が３００で売上個数が１５０というデータの他に、価格が１０で売上個数が４４０というデータも存在する場合、ａ＝−１、ｂ＝４５０となる。これは、価格を上げると売上が下がる予測式になっている。なお、データが三つ以上ある場合には、例えば誤差が最小となるようなａとｂの値が一意に定められる。
【００６２】
上述の通り、線形回帰を用いて、価格のみから売上個数を予測しようとすると、予測モデルが正の比例関係になる。しかし、経済における原理を考えればそのような予測モデルが妥当ではないことは明らかである。そこで、価格を下げると売上が上がるような予測モデルを作るために、例えば、定数の特徴量を追加した上で、線形回帰によって予測モデルを作ることを考える。この場合、値を決定すべき係数は、定数に対応する係数と価格に対応する係数の二つ（上記ａとｂ）である。線形回帰は連立一次方程式を解くために、値を決定すべき係数の数以上のデータを必要とするので、各予測タスクに少なくとも二つ以上データが必要になる。一方で、本実施の形態ならば、後述するように、データを増やさずとも価格を下げると売上が伸びるような予測モデルを得ることができる。
【００６３】
新規予測タスクのための学習用データが得られると、予測モデル生成部１０４は、新規データ生成部１０３が生成した四つの学習用データを用いて予測モデルの学習を行ない、学習済み予測モデルを生成する。例えば線形回帰を使って予測が行なわれる場合、予測モデルのモデルパラメータのベクトルは（−０．６１１，０．２２１，２６３）となる。ただし、ベクトルの最後の成分が定数を表していて、それ以外が一次の項の係数である。つまり、売上個数を予測する式は−０．６１１×Ｘ＋０．２２１×Ｙ＋２６３となる。ただし、Ｘは、予測フェーズにおいて新規データ生成部１０３が生成する予測用データの第１の成分に対応し、Ｙは、同第２の成分に対応する。
【００６４】
学習済み予測モデルを利用するときは、新規データ生成部１０３に予測タスク表現データと予測用データを入力する。例えば、福島のももを１００円で売ったときの売上を予測したいのであれば、予測タスク表現として（１，１）を、予測用データとして（１００）を新規データ生成部１０３に入力する。そして、新規データ生成部１０３が学習フェーズと同様の生成規則によりこれらのデータを処理することで、（１００，１００，１）を新規予測タスクのための予測用データとして出力する。予測モデル利用部１０６はこの予測用データの定数項に対応する成分以外の成分、すなわち第１の成分（上記Ｘ）と第２の成分（上記Ｙ）と、学習済みモデルとを用いて、売上の予測値を算出する。具体的には、予測モデル利用部１０６は、−０．６１１×１００＋０．２２１×１００＋２６３を計算し、２２４という予測値を出力する。これは、福島のももを３００円で売ったときに１５０個売れたという結果に対し、価格を安くしたために売上が伸びることを表しており、妥当な予測モデルとなっている。
【００６５】
上述した具体例では、予測タスクの関係が木構造で与えられていないため、木構造が与えられていることを前提とする非特許文献１に記載の技術は利用できない。また、予測タスクの類似度を求める非特許文献２に記載の方法では本実施の形態より予測精度が低くなるおそれがある。実際、各予測タスクに対して例えば線形回帰を使って各予測タスクの予測モデルを作ろうとすると、既に説明したように、価格と売上個数が比例するという妥当とはいえない予測モデルとなる。結果として、このような予測モデルからでは予測タスク（ここでは商品）の類似度を精確に推定できず最終的な予測精度が低くなると考えられる。
【００６６】
以上、実施の形態について説明したが、本実施の形態は様々な予測処理に適用可能である。例えば、商品の種類は多くあるが販売期間が短いため売り上げ実績がほとんどない場合における商品の売上予測に適用可能である。この場合、各商品の売上予測を予測タスクに、各商品の特性を表現するデータを予測タスク表現データに、全商品が共通してもつ価格などの特徴を特徴量に、各商品の各日の売上個数を正解データに対応付けることで、上記実施の形態を適用可能である。また、駅の数は多くあるが運行が始まったばかりで利用実績がほとんど無い場合における新たな路線の利用者数予測においても適用可能である。この場合、各駅の利用者数予測を予測タスクに、各駅の特性を表現するデータを予測タスク表現データに、全駅が共通してもつホームの長さなどの特徴を特徴量に、各駅の各日の利用者数を正解データに対応付けることで、上記実施の形態を適用可能である。
【００６７】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００６８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得部と、
前記予測タスクに対する学習用データを取得する学習用データ取得部と、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成部と、
前記新規データ生成部が生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成部と
を有する学習装置。
（付記２）
前記新規データ生成部は、前記予測タスク表現取得部が取得した前記予測タスク表現データと前記学習用データ取得部が取得した前記学習用データとを組み合わせて算出される特徴量を含む前記新たな学習用データを生成する
付記１に記載の学習装置。
（付記３）
前記予測タスク表現データは、予測対象を構成する要素を示すベクトルである
付記１又は２に記載の学習装置。
（付記４）
前記学習用データ取得部が取得する前記学習用データは、特徴量ベクトルと正解データの組である
付記１乃至３のいずれか１項に記載の学習装置。
（付記５）
前記新たな学習用データの生成のために用いられたいずれかの前記予測タスクである対象タスクについての予測用データを取得する予測用データ取得部と、
前記予測モデルを用いた予測結果を出力する予測モデル利用部と
をさらに有し、
前記新規データ生成部は、さらに、前記対象タスクに対する前記予測タスク表現データと前記予測用データを用いて新たな予測用データを生成し、
前記予測モデル利用部は、前記予測モデルに、前記新規データ生成部が生成した予測用データを入力し、前記予測モデルから得られる予測結果を出力する
付記１乃至４のいずれか１項に記載の学習装置。
（付記６）
予測タスクの予測対象を表現する予測タスク表現データを取得し、
前記予測タスクに対する学習用データを取得し、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成し、
生成した前記学習用データを用いて、予測モデルを生成する
学習方法。
（付記７）
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得ステップと、
前記予測タスクに対する学習用データを取得する学習用データ取得ステップと、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成ステップと、
前記新規データ生成ステップで生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成ステップと
をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
【符号の説明】
【００６９】
１    学習装置
２    予測タスク表現取得部
３    学習用データ取得部
４    新規データ生成部
５    予測モデル生成部
１０    学習装置
５１    ネットワークインタフェース
５２    メモリ
５３    プロセッサ
１０１    予測タスク表現取得部
１０２    学習用データ取得部
１０３    新規データ生成部
１０４    予測モデル生成部
１０５    予測用データ取得部
１０６    予測モデル利用部
１０７    情報記憶部
【図１】
2020075255.tif 000003
【図２】
2020075255.tif 000004
【図３】
2020075255.tif 000005
【図４】
2020075255.tif 000006
【図５】
2020075255.tif 000007
【図６】
2020075255.tif 000008
【図７】
2020075255.tif 000009
【図８】
2020075255.tif 000010
【図９】
2020075255.tif 000011
【手続補正書】
【提出日】令和3年4月8日(2021.4.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得部と、
前記予測タスクに対する学習用データを取得する学習用データ取得部と、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成部と、
前記新規データ生成部が生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成部と
を有する学習装置。
【請求項２】
前記新規データ生成部は、前記予測タスク表現取得部が取得した前記予測タスク表現データと前記学習用データ取得部が取得した前記学習用データとを組み合わせて算出される特徴量を含む前記新たな学習用データを生成する
請求項１に記載の学習装置。
【請求項３】
前記予測タスク表現データは、予測対象を構成する要素を示すベクトルである
請求項１又は２に記載の学習装置。
【請求項４】
前記学習用データ取得部が取得する前記学習用データは、特徴量ベクトルと正解データの組である
請求項１乃至３のいずれか１項に記載の学習装置。
【請求項５】
前記新たな学習用データの生成のために用いられたいずれかの前記予測タスクである対象タスクについての予測用データを取得する予測用データ取得部と、
前記予測モデルを用いた予測結果を出力する予測モデル利用部と
をさらに有し、
前記新規データ生成部は、さらに、前記対象タスクに対する前記予測タスク表現データと前記予測用データを用いて新たな予測用データを生成し、
前記予測モデル利用部は、前記予測モデルに、前記新規データ生成部が生成した予測用データを入力し、前記予測モデルから得られる予測結果を出力する
請求項１乃至４のいずれか１項に記載の学習装置。
【請求項６】
予測タスクの予測対象を表現する予測タスク表現データを取得し、
前記予測タスクに対する学習用データを取得し、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成し、
生成した前記学習用データを用いて、予測モデルを生成する
学習方法。
【請求項７】
予測タスクの予測対象を表現する予測タスク表現データを取得する予測タスク表現取得ステップと、
前記予測タスクに対する学習用データを取得する学習用データ取得ステップと、
複数の前記予測タスクに対する前記予測タスク表現データと前記学習用データを用いて新たな学習用データを生成する新規データ生成ステップと、
前記新規データ生成ステップで生成した前記学習用データを用いて、予測モデルを生成する予測モデル生成ステップと
をコンピュータに実行させるプログラム。
【国際調査報告】
2020075255.tif 000012
2020075255.tif 000013