(57)【特許請求の範囲】
【請求項１】
複数の予測モデルを同時に推定するマルチタスク関係学習システムであって、
データとの整合を示す誤差の総和と、各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように当該各予測モデルを最適化することにより、当該各予測モデルを推定する学習器を備えた
ことを特徴とするマルチタスク関係学習システム。
【請求項２】
正則化項は、各予測モデル間の差のノルムの総和で算出される
請求項１記載のマルチタスク関係学習システム。
【請求項３】
正則化項は、想定される予測モデル間の類似性に応じた重み値をノルムに乗じた総和で算出される
請求項１または請求項２記載のマルチタスク関係学習システム。
【請求項４】
正則化項のノルムは、Ｌ１ノルムまたはＬ２ノルムである
請求項１から請求項３のうちのいずれか１項に記載のマルチタスク関係学習システム。
【請求項５】
学習器は、劣勾配法を用いて各予測モデルを最適化する
請求項１から請求項４のうちのいずれか１項に記載のマルチタスク関係学習システム。
【請求項６】
複数の予測モデルを同時に推定するマルチタスク関係学習方法であって、
データとの整合を示す誤差の総和と、各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように当該各予測モデルを最適化することにより、当該各予測モデルを推定する
ことを特徴とするマルチタスク関係学習方法。
【請求項７】
正則化項は、各予測モデル間の差のノルムの総和で算出される
請求項６記載のマルチタスク関係学習方法。
【請求項８】
複数の予測モデルを同時に推定するコンピュータに適用されるマルチタスク関係学習プログラムであって、
前記コンピュータに、
データとの整合を示す誤差の総和と、各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように当該各予測モデルを最適化することにより、当該各予測モデルを推定する学習処理
を実行させるためのマルチタスク関係学習プログラム。
【請求項９】
正則化項は、各予測モデル間の差のノルムの総和で算出される
請求項８記載のマルチタスク関係学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のタスクを同時に学習するマルチタスク関係学習システム、マルチタスク関係学習方法およびマルチタスク関係学習プログラムに関する。
【背景技術】
【０００２】
マルチタスク学習は、関連する複数のタスクを同時に学習させることで、各タスクの予測精度を向上させる技術である。マルチタスク学習を行うことで、関連するタスクに共通の要因を獲得できるため、例えば、対象とするタスクの学習サンプルが非常に少ない場合であっても、予測精度を向上させることが可能になる。【０００３】
また、タスク間の類似度が明に与えられない状態で学習を行う方法として、非特許文献１に記載されているようなマルチタスク関係学習が知られている。非特許文献１に記載された学習法では、データとの整合性の観点、予測対象が類似するほど予測モデルも類似するという観点、および、対象群が少数のクラスタからほど好ましいと言う観点を含む最適化問題を解くことにより、複数の対象の予測モデルを推定する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】A.Argyriou, et al., “Learning the Graph of Relations Among Multiple Tasks”, ICML 2014 workshop on New Learning Frameworks and Models for Big Data, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
まず、既存のマルチタスク関係学習として、非特許文献１に記載された方法を説明する。図５は、マルチタスク関係学習により予測モデルを推定する動作例を示す説明図である。学習データとして過去データ｛Ｘ，Ｙ｝を学習器６１に入力すると、学習器６１は、タスク間の類似度を示す行列Ｑと複数の予測モデルを示す行列Ｗとを生成して出力する。予測器６２は、タスクｉの予測モデルに含まれる説明変数ｘｉに対する予測用データを、生成された予測モデルに適用して予測結果ｙｉを出力する。【０００６】
図６は、生成される予測モデルを示す行列Ｗの例を示す説明図である。図６に示す例では、行列Ｗの各列が１つ予測対象（タスク）に対する予測モデルを示している。具体的には、行列Ｗの行方向に予測対象を示すタスクが配され、列方向に予測モデルに適用される属性が配されている。【０００７】
図７は、マルチタスク関係学習の動作例を示すフローチャートである。学習器６１は、行列Ｗおよび行列Ｑを初期化する（ステップＳ６１）。Ｗは、上述するように、線形予測モデル群を表わす行列であり、各列ベクトルｗが１つのタスク（予測対象）に対する予測モデルに対応する。【０００８】
また、Ｑは、タスク間の類似度を表わす類似度行列（similarity matrix ）をもとに作られたグラフラプラシアン行列（graph Laplacian matrix）に、安定化のためε＊単位行列を加えた行列である。なお、ここでは、マルチタスク関係学習としてＱが明に与えられないことから、学習器６１は、Ｗと併せてＱも最適化する。【０００９】
学習器６１は、超パラメータλ１，λ２の入力を受け付ける（ステップＳ６２）。後述する処理において、λ１は、タスク間で予測モデルを近づける作用を示すパラメータであり、λ１を大きくするほど、その作用が強くなる。また、λ２は、クラスタの数を制御するパラメータであり、λ２を大きくするほど、Ｑを通じて、タスクがより少数のクラスタを形成するようになる。【００１０】
まず、学習器６１は、Ｑを固定してＷを最適化する（ステップＳ６３）。学習器６１は、例えば、以下の式１に示す式を最小化するようにＷを最適化する。式１において、Σ誤差は、データとの整合を表わす項であり、例えば、二乗誤差である。【００１１】
【数１】
0006743902.tif 000002
【００１２】
次に、学習器６１は、Ｗを固定してＱを最適化する（ステップＳ６４）。学習器６１は、例えば、以下の式２に示す式を最小化するようにＱを最適化する。【００１３】
【数２】
0006743902.tif 000003
【００１４】
学習器６１は、更新幅や下限値の変化量等に基づいて、最適化処理の収束性を判定する（ステップＳ６５）。収束していると判定された場合（ステップＳ６５におけるＹｅｓ）、学習器６１は、ＷおよびＱを出力し（ステップＳ６６）、処理を終了する。一方、収束していると判定されなかった場合（ステップＳ６５におけるＮｏ）、学習器６１は、ステップＳ６３以降の処理を繰り返す。【００１５】
このように、非特許文献１等に記載されたマルチタスク関係学習では、行列Ｑと行列Ｗの最適化のステップを交互に繰り返すことにより、複数の予測モデルを同時に学習する。しかし、上記式１および式２に示すように、最適化を行う各ステップの計算量のオーダは、タスク数の３乗オーダ（Ｏ（タスク数３））であり、使用するメモリのオーダも、タスク数の２乗（Ｏ（タスク数２））必要とする。【００１６】
そのため、大量の予測モデルを同時に学習する場面では、上述する学習方法を用いることは事実上不可能である。【００１７】
そこで、本発明は、予測モデル学習時の計算量を抑制しつつ、推定される複数の予測モデルの精度を向上させることができるマルチタスク関係学習システム、マルチタスク関係学習方法およびマルチタスク関係学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明によるマルチタスク関係学習システムは、複数の予測モデルを同時に推定するマルチタスク関係学習システムであって、データとの整合を示す誤差の総和と、各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように各予測モデルを最適化することにより、各予測モデルを推定する学習器を備えたことを特徴とする。【００１９】
本発明によるマルチタスク関係学習方法は、複数の予測モデルを同時に推定するマルチタスク関係学習方法であって、データとの整合を示す誤差の総和と、各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように各予測モデルを最適化することにより、各予測モデルを推定することを特徴とする。【００２０】
本発明によるマルチタスク関係学習プログラムは、複数の予測モデルを同時に推定するコンピュータに適用されるマルチタスク関係学習プログラムであって、コンピュータに、データとの整合を示す誤差の総和と、各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように各予測モデルを最適化することにより、各予測モデルを推定する学習処理を実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、予測モデル学習時の計算量を抑制しつつ、推定される複数の予測モデルの精度を向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明によるマルチタスク関係学習システムの一実施形態を示すブロック図である。
【図２】マルチタスク関係学習システムの動作例を示すフローチャートである。
【図３】本発明によるマルチタスク関係学習システムの概要を示すブロック図である。
【図４】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【図５】マルチタスク関係学習により予測モデルを推定する動作例を示す説明図である。
【図６】生成される予測モデルを示す行列の例を示す説明図である。
【図７】マルチタスク関係学習の動作例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面を参照して説明する。以下の説明では、予測対象のことをタスクと記すこともある。
【００２４】
図１は、本発明によるマルチタスク関係学習システムの一実施形態を示すブロック図である。本実施形態のマルチタスク関係学習システム１００は、入力部１０と、学習器２０と、予測器３０とを備えている。
【００２５】
入力部１０は、学習に用いる各種パラメータおよび学習データを入力する。入力部１０は、通信ネットワーク（図示せず）を介して受信する情報を入力してもよく、これらの情報を記憶する記憶装置（図示せず）から情報を読み取って入力してもよい。
【００２６】
学習器２０は、複数の予測モデルを同時に推定する。具体的には、学習器２０は、データとの整合を示す誤差の総和と各予測モデル間の差に関するスパース性を誘導する正則化項とを含む関数が最小になるように、各予測モデルを最適化する。学習器２０は、このような最適化により、各予測モデルを推定する。
【００２７】
スパース性を誘導する正則化項とは、上記正則化項を用いることで、非ゼロの値の個数を最適化することを意味する。ここで本来最適化したいのはＬ０ノルム、すなわち非ゼロの値の個数である。ただし、これを直接最適化した場合、問題として凸ではなく、組合せ最適化問題になり、計算量が増加してしまう。そこで、例えば、Ｌ１ノルムを利用して元の問題に極めて近い凸最適化問題に緩和することで、計算量を抑えつつ疎になりやすくできる。具体的には、正則化項は、各予測モデル間の差のノルムの総和で算出される。
【００２８】
学習器２０が最適化する関数ｆは、例えば、以下の式３における括弧内のように定義される。式３において、１番目の項（Σ誤差）は、データとの整合を示す誤差の総和であり、マルチタスク学習における二乗誤差に対応する。また、２番目の項は、各予測モデル間の差のノルムの総和であり、正則化項として働く。式３において、１つのタスク（予測対象）に対する予測モデルが、ベクトルｗで表される。
【００２９】
【数３】
0006743902.tif 000004
【００３０】
式３において、λは、タスク間で予測モデルを近づける作用を示すパラメータであり、λを大きくするほど、その作用が強くなる。また、ｐには、１、２などが設定される。すなわち、正則化項のノルムには、Ｌ１ノルムやＬ２ノルムが利用される。ただし、利用されるノルムは、Ｌ１ノルムまたはＬ２ノルムに限定されない。
【００３１】
ｓｉｊは、外部知識として与えられる値であり、ｉ番目の予測モデルとｊ番目の予測モデルとのノルムに設定される任意の重み値である。例えば、予め似たクラスタになることが想定できる予測モデル｛ｉ，ｊ｝の組が存在する場合、ｓｉｊは、大きな値が設定される。なお、予測モデル間の関係が不明な場合、ｓｉｊには、１が設定されればよい。
【００３２】
このように、正則化項が、想定される予測モデル間の類似性に応じた重み値をノルムに乗じた総和で算出されるようにすることで、推定される予測モデルの精度をさらに向上させることができる。
【００３３】
また、例えば、新規店舗の需要予測を行う場面では学習データが少ないため、各予測モデルをより集約できるように、正則化パラメータを強くする（λの値を大きくする）ことが好ましい。そのため、正則化の強さを表わすλは、例えば、サンプル数に応じて決定されてもよい。また、別のデータを用いることにより（例えば、クロスバリデーションなどの方法を用いることにより）、正則化の強さを決定してもよい。
【００３４】
例えば、非特許文献１に記載されているような既存の学習法の場合、予測モデルの近さを示す項は、以下の式４に示す関係を有する。  
【００３５】
【数４】
0006743902.tif 000005
【００３６】
すなわち、式４で示すように、既存の学習法ではノルムの２乗を計算することになる点において、本実施形態と大きく異なる。式３に示すようにノルムが２乗でない場合、目的関数のうち、当該部分の形状が||・||の中身＝０となる点を頂点とする錐体になる。例えば、Ｌ２ノルム（ｐ＝２）の場合、その形状は円錐になり、Ｌ１ノルム（ｐ＝１）の場合、その形状は四角錐になる。
【００３７】
ここで、最適化する目的関数に含まれるΣ誤差の形状は、一般に滑らかな関数になる。例えば、Σ誤差が二乗誤差の場合、その形状は、複数の予測モデルを示す行列Ｗに対して、二次関数になる。
【００３８】
本実施形態では、このようなΣ誤差と各予測モデルのｐノルムの総和との和を算出することによって、最適化結果が錐の頂点のような尖った部分になりやすい結果が得られやすくなる。具体的には、||ｗｉ−ｗｊ||ｐ＝０となるような予測モデル群が得られやすい。したがって、明にクラスタを仮定しなくても、モデル同士が一致しやすくなるという効果が得られる。
【００３９】
なお、本実施形態の目的関数は、滑らかでない凸関数になるが、Ｌ１正則化（Ｌａｓｓｏ）に関する最適化の技術を用いることで、このような最適化も比較的高速に行うことが可能である。最適化の簡素な一例として、劣勾配法（sub gradient）が挙げられる。
【００４０】
劣勾配法では、尖っていて勾配が定義できない点においては、可能な勾配の集合の中からランダムに勾配が決定される。劣勾配法では、例えば、以下に示す式５を用いて更新が行われる。
【００４１】
【数５】
0006743902.tif 000006
【００４２】
式５において、Ｃは、一旦完全一致したｉの集合であり、すべてのｉ∈Ｃに対して、ｗｉ＝ｗＣである。また、ＧＣは、１ステップの最適化の際に用いられる劣勾配であり、ｗの最適化を進める方向の候補群である。ｌは、マルチタスク学習における二乗誤差に対応する。
【００４３】
なお、ここでは、学習器２０が最適化を行う方法の一例として劣勾配法を説明したが、最適化の方法は劣勾配法に限定されない。
【００４４】
予測器３０は、推定された予測モデルを用いて各タスクの予測を行う。
【００４５】
入力部１０と、学習器２０と、予測器３０とは、プログラム（マルチタスク関係学習プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、マルチタスク関係学習システムの記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、入力部１０、学習器２０および予測器３０として動作してもよい。
【００４６】
また、入力部１０と、学習器２０と、予測器３０とは、それぞれが専用のハードウェアで実現されていてもよい。また、本発明によるマルチタスク関係学習システムは、２つ以上の物理的に分離した装置が有線または無線で接続されることにより構成されていてもよい。
【００４７】
次に、本実施形態のマルチタスク関係学習システムの動作を説明する。図２は、本実施形態のマルチタスク関係学習システムの動作例を示すフローチャートである。本動作例では、学習器２０が、上記に示す式３を最適化する処理を行うものとする。
【００４８】
学習器２０は、Ｗを初期化する（ステップＳ１１）。入力部１０は、超パラメータ｛ｓｉｊ｝およびλを入力する（ステップＳ１２）。学習器２０は、入力された超パラメータに基づいて、Ｗを最適化する（ステップＳ１３）。具体的には、学習器２０は、上記に示す式３を最小化するようにＷを最適化することで、各予測モデルを推定する。
【００４９】
学習器２０は、更新幅や下限値の変化量等に基づいて、最適化処理の収束性を判定する（ステップＳ１４）。収束していると判定された場合（ステップＳ１４におけるＹｅｓ）、学習器２０は、Ｗを出力し（ステップＳ１５）、処理を終了する。一方、収束していると判定されなかった場合（ステップＳ１４におけるＮｏ）、学習器２０は、ステップＳ１３以降の処理を繰り返す。
【００５０】
以上のように、本実施形態では、学習器２０が、データとの整合を示す誤差の総和と、各予測モデル間の差のノルムの総和を示す正則化項とを含む関数が最小になるように各予測モデルを最適化することにより、各予測モデルを推定する。よって、予測モデル学習時の計算量を抑制しつつ、推定される複数の予測モデルの精度を向上させることができる。
【００５１】
また、本実施形態のマルチタスク関係学習システムは、傾向が似ている予測モデルを近いモデルとして学習することになるため、結果的に、各予測モデルをクラスタリングしているとも言える。なお、ここでのクラスタリングは、予測モデルを一つの点とするような（ｗベクトルでの）空間におけるクラスタリングであり、各特徴を表わす特徴空間上での一般的なクラスタリングとは、その意味が異なる。
【００５２】
また、例えば、非特許文献１に記載された学習法では、最適化を行う各ステップの計算量のオーダが、タスク数の３乗オーダ（Ｏ（タスク数３））であり、使用するメモリのオーダも、タスク数の２乗（Ｏ（タスク数２））必要とする。一方、本願発明では、関係を明に持たないことにより、最適化を行う各ステップの計算量のオーダは、一般のＬｐノルムの場合には、タスク数の２乗のオーダ（Ｏ（タスク数２））、Ｌ１ノルムの場合には、タスク数の疑似線形オーダ（Ｏ（タスク数ｌｏｇタスク数））とすることができる。また、使用されるメモリのオーダは、タスク数のオーダ（Ｏ（タスク数））になる。
【００５３】
すなわち、タスク数が非常に大きいケースに本手法を用いた場合、ｌｏｇの部分をほとんど無視できることから、疑似線形オーダで計算できる本手法は、非特許文献１に記載された学習方法と比較し、十分な効果があると言える。したがって、本願発明は、既存の方法に基づいてコンピュータを機能させた場合と比較し、より顕著な効果を有すると言える。
【００５４】
なお、疑似線形オーダで計算できるのは、以下の理由による。最適化の処理においてある時点での勾配を計算する際、モデルの各タスクの各特徴に対応する値（ｗｉ，ｊ）は、それぞれの特徴ｊについて「ｉ番目のタスクは全タスク中何番目の順位にあるか」ということだけが本正則化項についての勾配の値に寄与する。ソートは、タスク数をＴとすると、一般にＴｌｏｇＴで実行できるため、各特徴ｊについてソートアルゴリズムを実行すれば、上記オーダで計算できる。
【００５５】
このように、本願発明によるマルチタスク関係学習方法は、既存の学習法とは異なって機能するものであり、本願発明は、コンピュータの機能改良（性能改善）、すなわち、ソフトウェア技術において課題を解決するための特別な実装を対象としていると言える。
【００５６】
本発明を適用する場面として、例えば、各店舗Ｓｎが商品需要を行う予測モデルＷｎをそれぞれ有しており、予測モデルＷｎをそれぞれ最適化する場面が挙げられる。例えば、店舗Ｓ１の予測モデルＷ１と店舗Ｓ２の予測モデルＷ２とを併せて１つの予測モデルにしても、データへのフィットがそれほど悪くならないとする。
【００５７】
このような場合、上述する式３を最適化することで、予測モデルＷ１と予測モデルＷ２を併せて１つの予測モデルにすることができる。このように複数の予測モデルを同時に最適化して、少ない数の予測モデルに集約（クラスタリング）することで、それぞれの予測モデルの学習で利用するデータを共用できるため、各予測モデルの性能を向上させることができる。
【００５８】
次に、本発明の概要を説明する。図３は、本発明によるマルチタスク関係学習システムの概要を示すブロック図である。本発明によるマルチタスク関係学習システムは、複数の予測モデルを同時に推定するマルチタスク関係学習システム８０（例えば、マルチタスク関係学習システム１００）であって、データとの整合を示す誤差の総和（例えば、式３における第１項）と、各予測モデル間の差に関するスパース性を誘導する正則化項（例えば、式３における第２項）とを含む関数が最小になるように各予測モデルを最適化することにより、各予測モデルを推定する学習器８１（例えば、学習器２０）を備えている。
【００５９】
そのような構成により、予測モデル学習時の計算量を抑制しつつ、推定される複数の予測モデルの精度を向上させることができる。
【００６０】
具体的には、正則化項は、各予測モデル間の差のノルムの総和で算出されてもよい。
【００６１】
また、正則化項は、想定される予測モデル間の類似性に応じた重み値（例えば、式３におけるｓｉｊ）をノルムに乗じた総和で算出されてもよい。このように、正則化項が重み値をノルムに乗じた総和で算出されるようにすることで、推定される予測モデルの精度を向上させることができる。なお、予測モデル間の類似性が不明な場合、重み値には、１が設定されればよい。
【００６２】
また、正則化項のノルムは、Ｌ１ノルムまたはＬ２ノルムであってもよい。
【００６３】
また、学習器８１は、劣勾配法を用いて各予測モデルを最適化してもよい。
【００６４】
図４は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１、主記憶装置１００２、補助記憶装置１００３、インタフェース１００４を備えている。
【００６５】
上述のマルチタスク関係システムは、それぞれコンピュータ１０００に実装される。そして、上述した各処理部の動作は、プログラム（マルチタスク関係学習プログラム）の形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、当該プログラムに従って上記処理を実行する。
【００６６】
なお、少なくとも１つの実施形態において、補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００が当該プログラムを主記憶装置１００２に展開し、上記処理を実行してもよい。
【００６７】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【産業上の利用可能性】
【００６８】
本発明は、複数のタスクを同時に学習するマルチタスク関係学習システムに好適に適用される。特に、新商品の需要予測など、データが少ない対象についての予測モデルの学習に好適に適用される。
【符号の説明】
【００６９】
１０  入力部
２０  学習器
３０  予測器
１００  マルチタスク関係学習システム
【図１】
0006743902.tif 000007
【図２】
0006743902.tif 000008
【図３】
0006743902.tif 000009
【図４】
0006743902.tif 000010
【図５】
0006743902.tif 000011
【図６】
0006743902.tif 000012
【図７】
0006743902.tif 000013