(57)【要約】【課題】対象物、及び対象物に類似する対象物から得られるデータを学習データとして用いた場合であっても、対象物に固有の特徴が反映され易くなるように学習させることができる予測装置、学習装置、予測方法、及びプログラムを提供する【解決手段】予測する対象である対象項目を予測する予測モデルを学習させる学習部と、前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶部と、前記学習部により学習済みの前記予測モデルに基づいて、前記対象項目を予測する予測部と、を備え、前記学習部は、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を入力データとして用いる。【選択図】図１
2020106989.tif 000002
【特許請求の範囲】
【請求項１】
予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習部と、
前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶部と、
前記学習部により学習済みの前記予測モデルに基づいて、未学習の入力データから前記対象物における前記対象項目を予測する予測部と、
を備え、
前記学習部は、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を入力データとして用いる、
ことを特徴とする予測装置。
【請求項２】
前記学習部は、誤差逆伝搬法を用いて、前記予測モデルから出力される前記対象項目の予測値が前記対象項目の実績値に近づくように前記予測モデルのパラメータ、及び前記対象物の特徴量を更新し、
前記記憶部は、前記学習部により更新された前記対象物の特徴量を記憶する、
請求項１に記載の予測装置。
【請求項３】
前記学習部は、入力する前記説明変数が互いに異なる複数の予測モデルから出力される予測値の各々を合成した合成予測値が、前記実績値に近づくように前記予測モデルを学習させる、
請求項１又は請求項２に記載の予測装置。
【請求項４】
前記予測モデルは、ニューラルネットワークが多層に構成されたモデルであり、
前記学習部は、前記対象物における前記説明変数を用いて前記予測モデルを学習させる過程において更新された前記ニューラルネットワークの各層におけるユニットを結合するノードの結合係数、又は各層のバイアス成分に基づく値を、前記対象物の特徴量として求める、
請求項１から請求項３の何れか一項に記載の予測装置。
【請求項５】
前記学習部は、前記説明変数と前記対象項目との対応関係に基づいて、設定可能な前記結合係数の範囲を制約する、
請求項４に記載の予測装置。
【請求項６】
前記ニューラルネットワークは、再帰型ニューラルネットワークであり、
前記学習部は、前記説明変数における所定の時間区間の時系列データを前記予測モデルに順次入力させることにより得られる、所定の時間区間における前記対象項目を予測する予測値の各々が、当該予測値の各々に対応する実績値に近づくように、前記予測モデルのパラメータ、及び対象物の特徴量を更新する、
請求項４又は請求項５に記載の予測装置。
【請求項７】
予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習部と、
前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶部と、
を備え、
前記学習部は、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を前記入力データとして用いる、
ことを特徴とする学習装置。
【請求項８】
学習部が、予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習過程と、
記憶部が、前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶過程と、
予測部が、前記学習部により学習済みの前記予測モデルに基づいて、未学習の前記入力データから前記対象物における前記対象項目を予測する予測過程と、
を含み、
前記学習過程において、前記学習部が、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を前記入力データとして用いる、
ことを特徴とする予測方法。
【請求項９】
コンピュータを、
予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習手段、
前記学習手段により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶手段、
前記学習手段により学習済みの前記予測モデルに基づいて、未学習の前記入力データから前記対象物における前記対象項目を予測する予測手段、
として機能させるためのプログラムであって、
前記学習手段において、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶手段において記憶された前記対象物の特徴量を前記入力データとして用いる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測装置、学習装置、予測方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、担当者の経験則に依存していた販売促進企画の立案を、機械学習によって自動的に行う技術が知られている（例えば、特許文献１参照）。特許文献１では、過去の販売促進企画と、当該販売促進企画に係る顧客データや売上データを学習データとして学習を行い、実施予定の企画を立案するために必要な、顧客への売上予測等の情報を収集する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０４５３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、学習に用いるデータの数が少ない場合、予測の精度が十分でない場合があった。特に、売上の予測等、非線形の時系列データの推移を予測する予測モデルを構築しようとした場合、日単位で2年間、つまり７３０個程度の学習データでは予測の精度が十分なものとならない場合が多かった。
そこで、特定の対象顧客への売上実績の他、対象顧客に類似する顧客への売上実績を学習データとして利用することにより、学習に用いる学習データを増やすことが考えられる。しかし、このような場合、対象顧客と、対象顧客に類似する顧客とに共通する傾向がより強く学習されてしまい、対象顧客に固有の傾向がほとんど学習されなくなってしまう場合があるために、対象顧客に固有の特徴が予測に反映され難くなってしまう、という問題があった。
【０００５】
本発明は、上記問題を解決すべくなされたもので、その目的は、対象物、及び対象物に類似する対象物から得られるデータを学習データとして用いた場合であっても、対象物に固有の特徴が反映され易くなるように学習させることができる予測装置、学習装置、予測方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明の一態様は、予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習部と、前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶部と、前記学習部により学習済みの前記予測モデルに基づいて、未学習の入力データから前記対象物における前記対象項目を予測する予測部と、を備え、前記学習部は、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を入力データとして用いる、ことを特徴とする予測装置である。
【０００７】
また、本発明の一態様は、上記に記載の予測装置において、前記学習部は、誤差逆伝搬法を用いて、前記予測モデルから出力される前記対象項目の予測値が前記対象項目の実績値に近づくように前記予測モデルのパラメータ、及び前記対象物の特徴量を更新し、前記記憶部は、前記学習部により更新された前記対象物の特徴量を記憶するようにしてもよい。
【０００８】
また、本発明の一態様は、上記に記載の予測装置において、前記学習部は、入力する前記説明変数が互いに異なる複数の予測モデルから出力される予測値の各々を合成した合成予測値が、前記実績値に近づくように前記予測モデルを学習させるようにしてもよい。
【０００９】
また、本発明の一態様は、上記に記載の予測装置において、前記予測モデルは、ニューラルネットワークが多層に構成されたモデルであり、前記学習部は、前記対象物における前記説明変数を用いて前記予測モデルを学習させる過程において更新された前記ニューラルネットワークの各層におけるユニットを結合するノードの結合係数、又は各層のバイアス成分に基づく値を、前記対象物の特徴量として求めるようにしてもよい。
【００１０】
また、本発明の一態様は、上記に記載の予測装置において、前記学習部は、前記説明変数と前記対象項目との対応関係に基づいて、設定可能な前記結合係数の範囲を制約するようにしてもよい。
【００１１】
また、本発明の一態様は、上記に記載の予測装置において、前記ニューラルネットワークは、再帰型ニューラルネットワークであり、前記学習部は、前記説明変数における所定の時間区間の時系列データを前記予測モデルに順次入力させることにより得られる、所定の時間区間における前記対象項目を予測する予測値の各々が、当該予測値の各々に対応する実績値に近づくように、前記予測モデルのパラメータ、及び対象物の特徴量を更新するようにしてもよい。
【００１２】
また、本発明の一態様は、予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習部と、前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶部と、を備え、前記学習部は、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を前記入力データとして用いる、ことを特徴とする学習装置である。
【００１３】
また、本発明の一態様は、学習部が、予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習過程と、記憶部が、前記学習部により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶過程と、予測部が、前記学習部により学習済みの前記予測モデルに基づいて、未学習の前記入力データから前記対象物における前記対象項目を予測する予測過程と、を含み、前記学習過程において、前記学習部が、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶部に記憶された前記対象物の特徴量を前記入力データとして用いる、ことを特徴とする予測方法である。
【００１４】
また、本発明の一態様は、コンピュータを、予測する対象である対象項目を予測する予測モデルに、入力データを入力することにより得られる前記対象項目の予測値が、当該予測値に対応する前記対象項目の実績値に近づくように、前記予測モデルを学習させる学習手段、前記学習手段により前記予測モデルが学習される過程において求められる、前記対象項目を予測する対象とする対象物の特徴量を、前記対象物と対応付けて記憶する記憶手段、前記学習手段により学習済みの前記予測モデルに基づいて、未学習の前記入力データから前記対象物における前記対象項目を予測する予測手段、として機能させるためのプログラムであって、前記学習手段において、前記対象物又は前記対象物に類似する類似対象物における前記対象項目に関する説明変数、及び前記記憶手段において記憶された前記対象物の特徴量を前記入力データとして用いる、プログラムである。
【発明の効果】
【００１５】
この発明によれば、対象物、及び対象物に類似する対象物から得られるデータを学習データとして用いた場合であっても、対象物に固有の特徴が反映され易くなるように学習させることができる。
【図面の簡単な説明】
【００１６】
【図１】第の１実施形態の予測装置１の構成例を示すブロック図である。
【図２】第の１実施形態の学習部１４の処理を説明する図である。
【図３】第１の実施形態の特徴量記憶部１６に記憶される情報の構成例を示す図である。
【図４】第１の実施形態の予測装置１の動作の流れを示すフローチャートである。
【図５Ａ】従来のモデルにより予測された予測値の例を示す図である。
【図５Ｂ】第１の実施形態の予測装置１により予測された予測値の例を示す図である。
【図６】第２の実施形態の予測装置１Ａの構成例を示すブロック図である。
【図７】第２の実施形態の学習部１４Ａの処理を説明する図である。
【図８】第２実施形態の予測装置１Ａの動作の流れを示すフローチャートである。
【図９Ａ】従来のモデルにより予測された説明変数の効果の例を示す図である。
【図９Ｂ】第２実施形態の予測装置１Ａにより予測された説明変数の効果の例を示す図である。
【図１０】多層に構成されたニューラルネットワークを模式的に示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して説明する。
【００１８】
（第１実施形態）
まず、第１の実施形態について説明する。図１は、第の１実施形態の予測装置１の構成例を示すブロック図である。予測装置１は、例えば、説明変数実績データ取得部１１と、対象項目実績データ取得部１２と、前処理部１３と、学習部１４と、予測部１５と、特徴量記憶部１６と、予測モデルパラメータ記憶部１７とを備える。こここで、特徴量記憶部１６は、「記憶部」の一例である。
【００１９】
説明変数実績データ取得部１１は、説明変数の実績を示す説明変数実績データを取得する。説明変数は、予測する対象となる対象項目に関係する変数であって、対象項目を予測する予測モデルに学習させる学習データの入力データとして用いられる。例えば、対象項目が顧客Ａへの売上金額、つまり将来における顧客Ａへの売上金額の推移を予測する場合、説明変数実績データは、顧客Ａへの売上に関係する事項における過去の実績を示す時系列データである。この場合、説明変数実績データは、例えば、顧客Ａにおける過去の来訪実績、購買実績、キャンペーン告知閲覧実績、キャンペーン費用実績等を時系列で示すデータである。
【００２０】
対象項目実績データ取得部１２は、対象項目の実績を示す対象項目実績データを取得する。対象項目は、予測する対象となる項目であって、予測モデルからの出力データ（予測値）との差分（誤差）を算出するための実績データとして用いられる。例えば、対象項目が、顧客Ａの売上金額である場合、対象項目実績データは、顧客Ａにおける過去の売上金額の推移を時系列で示すデータである。
【００２１】
本実施形態において、説明変数実績データ取得部１１は、予測する対象とする対象物の説明変数実績データに加えて、その対象物に類似する類似対象物の説明変数実績データを取得する。対象物は、予測する対象とするものであって、例えば、顧客Ａなど、特定の対象を示すものである。類似対象物は、対象物に類似するものであって、例えば、対象物である顧客Ａに類似する顧客Ａ＃である。対象物において、如何なるものを類似対象物とするかは、対象項目や、学習データとして用いるデータの数などに応じて任意に決定されてよい。例えば、対象物としての顧客Ａが、マラソンを趣味とする５０代男性である場合には、類似対象物としての顧客Ａ＃は、アウトドアスポーツを趣味とする４０〜６０代の男性などである。
【００２２】
また、本実施形態において、対象項目実績データ取得部１２は、対象物における対象項目実績データに加えて、類似対象物における対象項目実績データを取得する。例えば、対象項目実績データ取得部１２は、対象物としての顧客Ａにおける過去の売上金額の推移を時系列で示すデータに加えて、類似対象物としての顧客Ａ＃における過去の売上金額の推移を時系列で示すデータを取得する。類似対象物に関するデータを含めることにより、予測モデルを学習するために必要な学習データ数の確保が容易となる。
【００２３】
前処理部１３は、説明変数実績データに対象項目実績データを対応付けることにより、学習データを生成する。学習データは、学習部１４が予測モデルを学習させる際に用いるデータであって、モデルに入力させる入力データ（説明変数実績データ）と、モデルから得られる出力データ（予測値）の実績値（対象項目実績データ）が対応付けられたデータである。前処理部１３は、例えば、ある過去の日付における、顧客Ａの来訪実績、購買実績、キャンペーン告知閲覧実績、などの入力データに、その日付における顧客Ａへの売上金額の実績を対応づけたデータを、学習データとして生成する。
【００２４】
学習部１４は、学習データを用いて、予測モデルを学習させる。例えば、予測モデルは、リカレントニューラルネットワーク（以下、ＲＮＮと称する）である。一般的に、ＲＮＮは、入力層、隠れ層（中間層）、出力層の３つの階層により構成される。入力層には、ＲＮＮに学習させたいデータ（入力データ）が入力される。出力層からは、ＲＮＮによって学習された結果を示すデータ（出力データ）が出力される。隠れ層は、学習の核となる処理を行う。例えば、隠れ層は、入力を、活性化関数（伝達関数）と呼ばれる関数により表現される値に変換して出力する。例えば、活性化関数は、正規化線形関数や、シグモイド関数、ステップ関数などであるが、これに限定されず、任意の関数が用いられてよい。
【００２５】
ここで、ＲＮＮの構成について説明する。ＲＮＮは、入力層のユニットから、隠れ層のｎ層のうち、最も浅い層の複数のユニットの各々に対してノードが接続される。ここで、ｎは任意の自然数である。また、最も浅い層とは隠れ層のｎ層のうち、最も入力層に近い層であり、この例では第１層である。第１層のユニットから、隠れ層のｎ層のうち、第１層の次に浅い層（この例では第２層）の複数のユニットの各々に対してノードが接続される。また、図１０では記載を省略しているが、ＲＮＮにおいては、中間層が各層の1時点前のユニットからの帰還路を有しており、第１層の個々のユニットから、第１層の個々のユニットに対してノード（不図示）が接続される。第２層以降の層についても同様に、各層の複数のユニットの各々に対してノードが接続される。また、第２層以降の層における個々のユニットから、同じ第２層以降の層の個々のユニットに対してノード（不図示）が接続される。ユニット同士を接続するノードの各々には、結合係数よる重みづけＷがなされる。これにより、ある層のユニットから、より深い層のユニットにデータが出力される際に、ユニット同士を接続するノードの結合係数に応じた重みＷが付与されたデータが出力される。
【００２６】
ある隠れ層のユニットからの出力は、例えば、以下の数式（１）により表すことができる。ここで、ｈはユニットからの出力、σは活性化関数、Ｗは１つ手前の層から当該ユニットに接続されるユニット(帰還路のユニットを含む)の結合係数、ｖは１つ手前の層のユニットからの入力データ、ｂは各ユニットに固有のバイアス成分を示す。
【００２７】
ｈ＝σ（Ｗｖ＋ｂ）  …（１）
【００２８】
ここで、学習部１４が行う処理について、図２を用いて説明する。図２は、第１実施形態の学習部１４の処理を説明する図である。
【００２９】
本実施形態では、入力層は、予測モデルＭに入力させる説明変数の個数に応じたユニットを備える。また、出力層は、対象項目の要素数ないし次元(通常は１)に応じた個数のユニットを備える。
【００３０】
また、本実施形態では、特徴量記憶部１６は、対象物の特徴量を、その対象物と対応付けて記憶する。対象物の特徴量は、予測モデルＭが学習される過程において求められるものである。学習が開始される前においては、対象物の特徴量は、例えば、予め定められた定数（例えば、０など）であってもよいし、所定の範囲（０〜１など）におけるランダムな値が記憶されてもよい。対象物の特徴量は、例えば、特定のノードの重みＷや、バイアス成分ｂ、或いは特定のユニットから出力される値に応じた値である。対象物の特徴量は、特定のノードの重みＷや、バイアス成分ｂ、或いは特定のユニットから出力される値そのものであってもよいし、特定のノードの重みＷや、バイアス成分ｂ、或いは特定のユニットから出力される値に基づいて導出される値であってもよい。
【００３１】
学習部１４は、入力層に、説明変数の各々における時系列のデータのうち同じ日付の説明変数実績データの各々を入力データとして入力層に入力する。この場合において、出力層から出力される出力データが、その日付における対象項目について予測モデルＭが予測した予測値である。学習部１４は、説明変数の各々における時系列のデータにおける日付を順次進めた説明変数実績データの各々を入力データとして入力層に入力させる。これにより、学習部１４は、日ごとの説明変数実績データ（入力データ）と予測値（出力データ）との組み合わせを取得する。学習部１４は、取得した日ごとの予測値（出力データ）の各々が、各々の日付の実績値に近づくように、予測モデルＭを学習させる。
【００３２】
学習部１４は、出力層から出力される予測値と、その予測値に対応する実績値との誤差を評価関数として導出する。評価関数は、例えば、出力層の全ユニットの各々から出力される予測値と、その各々に対応する実績値との誤差（二乗誤差）の総和である。そして、学習部１４は、誤差逆伝搬法を用いて、評価関数が最小となるように、重みＷとバイアス成分ｂ、及び対象物の特徴量との組み合わせを決定する。学習部１４は、決定（更新）した重みＷとバイアス成分ｂとを、ノードやユニットと対応付けて予測モデルパラメータ記憶部１７に記憶させる。また、学習部１４は、決定（更新）した対象物の特徴量を、対象物と対応付けて特徴量記憶部１６に記憶させる。
【００３３】
ここで、学習部１４は、特徴量記憶部１６に記憶させる対象物の特徴量の数を一つとしてもよいし、複数としてもよい。また、学習部１４は、対象物の特徴量を更新する度に、特徴量記憶部１６に記憶させる対象物の特徴量を上書きして更新させてもよい、対象物の特徴量を更新する度に、更新した特徴量を追加して記憶させるようにしてもよい。
【００３４】
そして、学習部１４は、特徴量記憶部１６に記憶させた対象物の特徴量を、予測モデルＭに入力させる入力データの一部として入力層の所定のユニットに入力する。例えば、学習部１４は、対象物の説明変数実績データに加えて、対象物の特徴量を入力層に入力させる。また、学習部１４は、類似対象物の説明変数実績データを入力層に入力する場合においても、類似対象物の説明変数実績データに加えて、対象物の特徴量を入力層に入力させる。これにより、類似対象物を入力させて予測モデルＭを学習させる場合にも、対象物の特徴量を学習させることができる。これにより、類似対象物のデータを用いて予測モデルＭを学習させる際においても、対象物に固有の特徴を学習させることができ、対象物に固有の特徴を反映した予測を行うことが可能となる。
【００３５】
予測部１５は、予測モデルパラメータ記憶部１７を参照することで、学習により決定された各階層の重みＷとバイアス成分ｂに基づいてＲＮＮを生成（再構築）し、未学習の入力データを基に、その入力データに対応する対象項目の予測値を予測する。「未学習」とは、例えば、予測モデルＭを学習させる段階において学習に利用されていないことである。ここで、対象物の特徴量は、学習の過程において求められたものであることから、学習に利用されたということが可能とも思われる。しかしながら、学習に利用されていない説明変数と、対象物の特徴量とを含む入力データとを組み合わせた入力データは、学習に利用されていないことから、本実施形態では、学習に利用されていない説明変数と、対象物の特徴量とを含む入力データとを組み合わせた入力データを、「未学習」の学習データと称する。
【００３６】
予測部１５は、例えば、再構築したＲＮＮの入力層に、未学習の入力データを入力することにより出力層から出力される値を、予測値として出力する。
【００３７】
特徴量記憶部１６は、対象物の特徴量を記憶する。図３は、第１の実施形態の特徴量記憶部１６に記憶される情報の構成例を示す図である。
図３に示すように、特徴量記憶部１６は、物体名称と、種別、特徴量１と、特徴量２、などの項目を備える。物体には、入力データが如何なる物体に関するものであるかを示す物体の名称が示される。種別には、物体名称に示された物体が、対象物であるか類似対象物であるかの別が示される。特徴量１には物体名称に示された物体の特徴量（数値）が示される。特徴量２には特徴量１に示された特徴とは異なる特徴の特徴量が示される。この例では、顧客Ａが対象物であり、顧客Ａ＃が類似対象物であることが示されている。
【００３８】
予測モデルパラメータ記憶部１７は、予測モデルＭの学習により決定された各階層の重みＷとバイアス成分ｂが記憶される。予測モデルパラメータ記憶部１７には、ＲＮＮの構成を示す情報が記憶されてよい。ＲＮＮの構成を示す情報には、例えば、ＲＮＮの隠れ層の層数や、各層のユニット数、活性化関数、などを示す情報が含まれる。
【００３９】
図４は、第１の実施形態の予測装置１の動作の流れを示すフローチャートである。
まず、予測装置１の学習部１４は、予測モデルＭのパラメータを初期化する（ステップＳ１０）。予測モデルＭのパラメータは、各ノードの重みＷ、及び各層のバイアス成分ｂである。初期値は、予め定められた定数（例えば、０．５など）であってもよいし、初期化の度に所定の範囲（０〜１など）におけるランダムな値が設定されてもよい。
【００４０】
学習部１４は、学習に用いる説明変数ごとに特徴量記憶部１６を参照して、対象物の特徴量を取得する（ステップＳ１１）。学習部１４は、学習に用いる説明変数ごとに互いに異なる特徴量を取得してもよいし、学習に用いる説明変数に関わらず同じ特徴量を選択してもよい。
学習部１４は、説明変数、及び選択した特徴量を入力データとした予測値を出力する（ステップＳ１２）。学習部１４は、予測モデルＭに入力データを入力することにより、予測モデルＭから出力される出力データを予測値として出力する。
学習部１４は、予測値と実績値との誤差に基づいて、予測モデルＭのパラメータ、及び対象物の特徴量を更新する（ステップＳ１３）。学習部１４は、予測値と実績値との誤差が最小となるように予測モデルＭのパラメータとしての各ノードの重みＷ、及び各層のバイアス成分ｂ、及び対象物の特徴量を更新する。
学習部１４は、更新した予測モデルＭのパラメータを予測モデルパラメータ記憶部１７に記憶させる（ステップＳ１４）。
学習部１４は、予測モデルＭを学習させる学習の終了条件を満たさない場合には、ステップＳ１４において更新した対象物の特徴量を、特徴量記憶部１６に記憶させる（ステップＳ１５）。
また、学習部１４は、予測モデルＭを学習させる学習の終了条件を満たすか否かを判定する（ステップＳ１６）。学習の終了条件は、予め定められた学習を終了させるための条件であって、例えば、所定の学習回数に到達したこと、予測値と実績値との誤差が所定の閾値未満となったこと、一回の学習あたりの予測値と実績値との誤差の変化量が所定の閾値未満となったこと、等である。
学習部１４は、予測モデルＭを学習させる学習の終了条件を満たさない場合には、ステップＳ１１に戻る。
一方、ステップＳ１６において、学習部１４は、予測モデルＭを学習させる学習の終了条件を満たす場合には処理を終了させる。
【００４１】
以上説明したように、第１の実施形態の予測装置１では、学習部１４が、対象物又は類似対象物における対象項目に関する説明変数、及び特徴量記憶部１６に記憶された対象物の特徴量を入力データとして用いる。これにより、第１の実施形態の予測装置１では、対象物の説明変数を用いて学習させる過程において、対象物の特徴量を記憶させることができ、類似対象物の特徴量を用いて学習させる場合であっても、対象物の特徴量を入力データとして用いることができるために、対象物に固有の傾向や特徴を学習させることができる。つまり、対象物、及び対象物に類似する対象物から得られるデータを学習データとして用いた場合であっても、対象物に固有の特徴が反映され易くなるように学習させることができる。
【００４２】
また、第１の実施形態の予測装置１では、学習部１４が、誤差逆伝搬法を用いて、予測モデルＭから出力される対象項目の予測値が、対象項目の実績値に近づくように予測モデルＭのパラメータ、及び対象物の特徴量を更新し、特徴量記憶部１６は、学習部１４により更新された対象物の特徴量を記憶する。これにより、第１の実施形態の予測装置１では、誤差逆伝搬法という、機械学習に用いられる学習方法と同様の方法で、対象物の特徴量を更新することができるために、特別なアルゴリズムを用いることなく対象物の特徴量を容易に更新することが可能である。
【００４３】
また、第１の実施形態の予測装置１では、予測モデルＭとして、再帰型ニューラルネットワークが適用され、学習部１４は、説明変数における所定の時間区間の時系列データを予測モデルＭに順次入力させることにより得られる、所定の時間区間における対象項目を予測する予測値の各々が、当該予測値の各々に対応する実績値に近づくように、予測モデルのパラメータ、及び対象物の特徴量を更新する。これにより、予測モデルＭに再帰型ニューラルネットワークを適用した場合に、対象項目の推移を精度よく予測し得るように予測モデルＭに学習させることができる。
【００４４】
なお、上述した実施形態では、予測モデルＭにＲＮＮが適用された場合を例示して説明したが、これに限定されない。例えば、予測モデルＭとして、ＲＮＮ以外の再帰型ニューラルネットワークであるＬＳＴＭ（Long Short Term Memory）が適用されてもよいし、順伝搬型のニューラルネットワークが適用されてもよい。順伝搬型の場合、予測モデルＭとして多層パーセプトロンが適用されてもよい。また、予測モデルＭとしてニューラルネットワーク以外の他の機械学習が用いられてもよい。
【００４５】
例えば、第１の実施形態の予測装置１では、予測モデルＭは、多層パーセプトロンであり、学習部１４は、対象物における説明変数を用いて予測モデルＭを学習させる過程において更新された、ニューラルネットワークの各層におけるユニットを結合するノードの結合係数、又は各層のバイアス成分、及び対象物の特徴量を求めるように構成されてよい。
【００４６】
また、予測装置１を、予測モデルに学習させる学習装置として機能させてもよい。この場合、予測装置１（学習装置）は、例えば、学習部１４と、特徴量記憶部１６と、予測モデルパラメータ記憶部１７とを備える。学習部１４は、予測モデルに、入力データを入力することにより得られる対象項目の予測値が、実績値に近づくように、前記予測モデルを学習させる。特徴量記憶部１６は、学習部１４により予測モデルが学習される過程において求められる、対象物の特徴量を、対象物と対応付けて記憶する。予測モデルパラメータ記憶部１７は、学習部１４により予測モデルが学習される過程において更新された予測モデルのパラメータを記憶する。また、学習部１４は、対象物又は類似対象物における説明変数、及び特徴量記憶部１６に記憶された対象物の特徴量を入力データとして用いる。これにより、予測装置１（学習装置）は、対象物又は類似対象物における説明変数を入力データに用いる場合であっても、対象物に固有の特徴を学習させることができ、上述した効果と同様の効果を奏することが可能となる。
【００４７】
ここで、第１の実施形態の効果を、図５Ａ、及び図５Ｂを用いて説明する。図５Ａは、従来のモデルにより予測された予測値の例を示す図である。図５Ｂは、第１の実施形態の予測装置１により予測された予測値の例を示す図である。図５Ａ、及び図５Ｂの横軸は日付、縦軸は対象物（例えば、顧客Ａ）への売上金額を示している。また、図５Ａ、及び図５Ｂでは、対象物としての顧客Ａ、及び類似対象物としての顧客Ａ＃の各々における、来訪実績や、購買実績、キャンペーン告知閲覧実績などの説明変数のデータを用いて、顧客Ａへの売上金額を予測した場合における予測値の推移を示している。
【００４８】
図５Ａでは、従来のモデルにより予測された例として、対象物（顧客Ａ）の特徴量を予測モデルＭに入力しないで学習させた場合に予測された顧客Ａへの売上金額の推移を示している。この例に示すように、対象物（顧客Ａ）の特徴量を予測モデルＭに入力しないで学習させた場合、予測された推移は、売上金額が上昇する日付と低下する日付が、予測期間の実績と一致しており、概ね正しい予測となっているが、キャンペーン期間が終了した直後に売上金額が低下する対象物（顧客Ａ）特有の傾向を反映できていない。
【００４９】
図５Ｂでは、第１の実施形態の予測装置１により予測された例として、対象物（顧客Ａ）の特徴量を予測モデルＭに入力させて学習させた場合に予測された顧客Ａへの売上金額の推移を示している。この例では、売上金額が上昇する日付と低下する日付が、予測期間の実績と一致しており、尚且つ、キャンペーン期間が終了した直後に、売上金額が低下する対象物（顧客Ａ）特有の傾向を反映できており、予測精度が向上している。
【００５０】
（第２実施形態）
次に、第２の実施形態について説明する。第２実施形態において、第１実施形態と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。
【００５１】
図６は、第２の実施形態の予測装置１Ａの構成例を示すブロック図である。予測装置１Ａは、学習部１４Ａと、複数の特徴量記憶部１６（特徴量記憶部１６−１、１６−２、１６−３、…）とを備える。ここで、予測装置１Ａが備える特徴量記憶部１６の数は、学習部１４が備える複数の予測モデルＭ（図７参照）の数と同じである。
【００５２】
図７は、第２の実施形態の学習部１４Ａの処理を説明する図である。図７に示すように、学習部１４Ａは、複数の予測モデルＭ（予測モデルＭ１、Ｍ２、Ｍ３、…）を備える。学習部１４Ａは、予測モデルＭの各々の入力層に、互いに異なる説明変数を入力する。例えば、学習部１４Ａは、予測モデルＭ１の入力層に、ある日付における来訪実績、及び購買実績を入力する。また、学習部１４Ａは、予測モデルＭ２の入力層に、同じ日付のキャンペーン告知閲覧を入力する。また、学習部１４Ａは、予測モデルＭ３の入力層に、同じ日付におけるキャンペーン費用実績を入力する。
【００５３】
学習部１４Aは、予測モデルＭの各々から出力された出力データを合成し、合成した値を合成予測値とする。学習部１４Aは、予測モデルＭの各々から出力された出力データを単純加算して合成予測値を求めてもよいし、予測モデルＭの各々から出力された出力データを、各々の予測モデルＭに応じた重みづけを行った上で加算して合成予測値を求めてもよい。
【００５４】
学習部１４Aは、合成予測値と、その合成予測値に対応する実績値との誤差を評価関数として導出する。そして、学習部１４Ａは、導出した評価関数が最小となるように、予測モデルＭの各々における重みＷとバイアス成分ｂ、及び対象物の特徴量との組み合わせを決定する。学習部１４Aは、予測モデルＭ1において決定（更新）した対象物の特徴量を、対象物と対応付けて特徴量記憶部１６−１に記憶させる。学習部１４Aは、予測モデルＭ２において決定（更新）した対象物の特徴量を、対象物と対応付けて特徴量記憶部１６−２に記憶させる。学習部１４Aは、予測モデルＭ３において決定（更新）した対象物の特徴量を、対象物と対応付けて特徴量記憶部１６−３に記憶させる。
【００５５】
ここで、予測モデルＭの各々は、合成予測値と実績値との誤差に基づく評価関数を用いて、自身のモデルが備える重みＷとバイアス成分ｂ、及び対象物の特徴量を更新する。このため、例えば、予測モデルＭ１が、ほとんど誤差がない予測値を出力した場合であっても、他のモデル（例えば、予測モデルＭ２）が、誤差の大きい予測値を出力すれば、予測モデルＭ１は精度よく予測をしたにも拘らず、誤差が大きいという誤った情報を受け取ることがあり得る。この場合、予測モデルＭ１は、予測モデルＭが保持していた重みＷとバイアス成分ｂ、及び対象物の特徴量の組み合わせを、誤った情報に基づいて予測の精度が劣化する方向に更新してしまう可能性がある。
【００５６】
しかしながら、予測モデルを学習する過程においては、誤差が最小となるまで、繰り返し何度も重みＷとバイアス成分ｂ、及び対象物の特徴量を更新する。このため、予測モデルＭは、誤った情報に基づいて予測の精度が劣化する方向に更新してしまうことがあっても、更新後の合成予測値における誤差が減少する方向に変化しない場合には、更新のさせ方が正しくなかったことを認識して、徐々に、重みＷとバイアス成分ｂ、及び対象物の特徴量を正しい方向に更新させるようになる。
【００５７】
一方、予測モデルＭ１が、誤差の大きい予測値を出力した場合であっても、他のモデル（例えば、予測モデルＭ２）が、誤差がほとんどない予測値を出力すれば、予測モデルＭ１は精度の悪い予測をしたにも拘らず、誤差が小さいという誤った情報を受け取ることがあり得る。この場合、予測モデルＭ１は、予測モデルＭが保持していた重みＷとバイアス成分ｂ、及び対象物の特徴量の組み合わせでは精度が劣化してしまうために、正しい方向に更新させる必要があるにも拘らず、誤った情報に基づいて、ほとんど更新させないようにしてしまう可能性がある。
【００５８】
しかしながら、予測モデルを学習する過程においては、誤差が最小となるまで、繰り返し何度も重みＷとバイアス成分ｂ、及び対象物の特徴量を更新する。このため、予測モデルＭは、誤った情報に基づいてほとんど更新しない場合があっても、更新後の合成予測値における誤差が変わらないか劣化する場合には、ほとんど更新させていないことが正しくなかったことを認識して、徐々に、重みＷとバイアス成分ｂ、及び対象物の特徴量を正しい方向に更新させるようになる。
【００５９】
ここで、従来のように、一つの予測モデルＭにおいて、全ての説明変数を扱う場合には、説明変数の全体から出力された予測値の誤差が最小となれば、個々の説明変数の振る舞いが如何なるものであったとしても、予測モデルは学習を止めてしまう。例えば、予測モデルが、ある説明変数については予測の精度が悪い場合であっても、他の説明変数について精度よく予測できている場合には、誤差が穴埋めされる形となって、誤差が少ない予測値が出力される。このため、予測モデルＭは、ある説明変数については予測の精度を向上させる余地があることを認識することができない。
【００６０】
これに対し、本実施形態では、複数の予測モデルＭに、互いに異なる説明変数を入力させるようにすることで、各予測モデルＭが、自身が入力する説明変数と誤差との関係を認識し易くなる。本実施形態においては、合成予測値に対する誤差が、各予測モデルＭに反映されるために、しばらくは、どの予測モデルＭが出力する予測値の誤差が支配的であるのかを認識する事が出来ないかも知れないが、徐々に、予測モデルＭが自身の予測値の誤差を正しく認識するようになり、各々の予測モデルＭが、誤差を最小とする方向に正しい更新を行うことができ、より精度の高い予測モデル（群）を構築することが可能となる。
【００６１】
図８は、第２実施形態の予測装置１Ａの動作の流れを示すフローチャートである。図８のフローチャートに示すステップＳ２０〜Ｓ２２、及びステップＳ２５〜Ｓ２７は、図４のフローチャートに示すステップＳ１０〜Ｓ１２、及びステップＳ１４〜Ｓ１６と同等の処理であるため、その説明を省略する。
【００６２】
学習部１４Ａは、各々の予測モデルＭに、各々の説明変数、及び選択した特徴量を入力データとした予測値をそれぞれ出力させる（ステップＳ２２）。
学習部１４Ａは、合成予測値を算出する（ステップＳ２３）。そして、学習部１４Ａは、算出した合成予測値と実績値との誤差に基づいて、各々の予測モデルＭのパラメータ、及び対象物の特徴量を更新する（ステップＳ２４）。学習部１４Ａは、合成予測値と実績値との誤差が最小となるように予測モデルＭ１のパラメータとしての各ノードの重みＷ１、及び各層のバイアス成分ｂ１、及び予測モデルＭ１における対象物の特徴量を更新する。また、学習部１４Ａは、合成予測値と実績値との誤差が最小となるように予測モデルＭ２のパラメータとしての各ノードの重みＷ２、及び各層のバイアス成分ｂ２、及び予測モデルＭ２における対象物の特徴量を更新する。また、学習部１４Ａは、合成予測値と実績値との誤差が最小となるように予測モデルＭ３のパラメータとしての各ノードの重みＷ３、及び各層のバイアス成分ｂ３、及び予測モデルＭ３における対象物の特徴量を更新する。
【００６３】
以上説明したように、第２の実施形態の予測装置１Ａでは、入力する説明変数が互いに異なる複数の予測モデルＭから出力される予測値の各々を合成した合成予測値が、実績値に近づくように予測モデルＭを学習させる。これにより、第２の実施形態の予測装置１Ａでは、各々の予測モデルＭに、説明変数と誤差との関係を認識させて、正しい方向に予測モデルＭのパラメータを更新させることが可能となるため、各々の説明変数が対象項目に与える影響、及び効果をより正確に示すことが可能となる。
【００６４】
ここで、第２の実施形態の効果を、図９Ａ、及び図９Ｂを用いて説明する。図９Ａは、従来のモデルにより予測された説明変数の効果の例を示す図である。図９Ｂは、第２実施形態の予測装置１Ａにより予測された説明変数の効果の例を示す図である。図９Ａ、及び図９Ｂの横軸は説明変数（この例ではキャンペーン費用）を正規化した値、縦軸は対象項目（この例では、売上金額増加率）を示している。また、図９Ａ、及び図９Ｂでは、売上金額増加率が１００％である場合におけるキャンペーン費用が、１．０となるように正規化を行っている。
【００６５】
図９Ａでは、従来のモデルにより予測されたキャンペーン費用と売上金額との関係を示している。ここではキャンペーン費用を大きくしても、売上金額はほぼ変化しないか、又は減少するという結果が得られている。このように、営業の担当者であれば経験上考えられないような結果となったのは、キャンペーン費用から売上金額を予測する学習の過程において、予測モデルＭのパラメータを正しい方向に更新できなかったことが一因であると考えられる。この場合、予測モデルは、キャンペーン費用の変化を、売上金額の予測に正しく反映させることができない。
【００６６】
図９Ｂでは、第２の実施形態の予測装置１Ａにより予測されたキャンペーン費用と売上金額との関係を示している。ここではキャンペーン費用を大きくすると、売上金額が増加するという結果が得られている。このように、営業の担当者であれば経験上納得できる結果となったのは、予測モデルが、キャンペーン費用から売上金額を予測する学習の過程において、予測モデルＭのパラメータを正しい方向に更新できたことが一因であると考えられる。この場合、予測モデルMにより予測されたキャンペーン費用と売上金額との関係に基づいて、次回のキャンペーンに幾ら予算を付けるべきか、或いは、今期の売上目標に応じて、どの程度のキャンペーンを打つべきか等の信頼性の高い見通しを得ることができる。
【００６７】
（実施形態の変形例）
次に、実施形態の変形例について説明する。本変形例では、予測モデルのパラメータを更新させる更新範囲を制約する点において、上述した実施形態と相違する。
【００６８】
学習部１４（１４A）は、予測モデルの入力データ及び出力データの関係、つまり、説明変数と対象項目との関係に基づいて、予測モデルのパラメータを更新させる更新範囲を限定する。例えば、入力データがキャンペーン費用であり、出力データが売上金額である場合、学習部１４（１４A）は、予測モデルのパラメータである重みWを正の値に限定する。これは、キャンペーン費用が大きくなれば売上金額が増加するという業務上の経験則（業務ナレッジ）に基づくものである。
【００６９】
一般にＤＮＮの結合係数の探索範囲は（−∞，∞）であり、且つ、一つの予測モデルには多数の結合係数が含まれるため、予測モデルが、学習の過程において結合係数を探索する範囲はとても広いものとなる。
そこで、学習部１４（１４A）は、業務ナレッジから、説明変数と対象項目との関係が正比例の関係にあり、結合係数が正の値となることが自明である場合、例えば、結合係数の探索範囲を［０，∞）に制約する。これにより、予測モデルが結合係数を探索する範囲が縮小され、予測モデルが正しい方向にパラメータ更新されることが促進される。
【００７０】
以上説明したように、実施形態の変形例の予測装置１（１Ａ）では、学習部１４（１４A）は、説明変数と対象項目との関係に応じて、予測モデルMのパラメータとして設定可能な結合係数の範囲を制約する。これにより、実施形態の変形例の予測装置１（１Ａ）では、予測モデルが結合係数を探索する範囲を縮小させることができ、予測モデルが正しい予測をすることができるように導くことが可能となる。
【００７１】
なお、上述した少なくとも一つの実施形態では、対象物としての顧客Aと、顧客Aに類似する顧客Ａ＃に関するデータを学習データとして用い、顧客Ａへの売上金額を予測させる場合を例示して説明したが、これに限定されない。本実施形態の予測モデルＭは、時系列データの全般に利用可能なモデルであり、例えば、水質変化の予測、通信設備における需要予測、投薬による効果の予測などに適用することができる。
【００７２】
水質変化の予測においては、例えば、河川Ａの水質の変化を示す時系列データ、及び河川Ａに類似する水質を有する設備として河川Ｂ、ダムＣ、などの水質の変化を示す時系列データを学習データとして用いて、予測モデルを学習させる。その際、学習の過程において求められた河川Ａの特徴量を学習データの入力として利用する。
【００７３】
また、通信設備における需要予測においては、例えば、基地局Ａを利用する起動局の数の変化を示す時系列データ、及び基地局Ａと、規模や設置環境が類似する基地局Ｂ、基地局Ｃ、などを利用する起動局の数の変化を示す時系列データを学習データとして用いて、予測モデルを学習させる。その際、学習の過程において求められた基地局Ａの特徴量を学習データの入力として利用する。
【００７４】
また、投薬による効果の予測においては、例えば、薬剤Ａを服薬した女性Ｂの薬効（例えば頭痛の軽減など）の現れを示す時系列データ、及び女性Ｂと、年齢や住環境が類似する女性Ｃ、女性Ｄ、達が薬剤Ａを服薬した場合における薬効の現れを示す時系列データを学習データとして用いて、予測モデルを学習させる。その際、学習の過程において求められた女性Ｂの特徴量を学習データの入力として利用する。
【００７５】
上述した実施形態における予測装置１の全部又は一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００７６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００７７】
１  予測装置
１１  説明変数実績データ取得部
１２  対象項目実績データ取得部
１３  前処理部
１４  学習部
１５  予測部
１６  特徴量記憶部
１７  予測モデルパラメータ記憶部
【図１】
2020106989.tif 000003
【図２】
2020106989.tif 000004
【図３】
2020106989.tif 000005
【図４】
2020106989.tif 000006
【図５Ａ】
2020106989.tif 000007
【図５Ｂ】
2020106989.tif 000008
【図６】
2020106989.tif 000009
【図７】
2020106989.tif 000010
【図８】
2020106989.tif 000011
【図９Ａ】
2020106989.tif 000012
【図９Ｂ】
2020106989.tif 000013
【図１０】
2020106989.tif 000014