(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】予測装置、学習装置、予測方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240730BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2020093397
(22)【出願日】2020-05-28
【審査請求日】2023-03-15
(31)【優先権主張番号】P 2019102808
(32)【優先日】2019-05-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】523286071
【氏名又は名称】株式会社NTTデータ
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】石田 武
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2017-097585(JP,A)
【文献】米国特許出願公開第2013/0204811(US,A1)
【文献】田中 雅博 ほか,"データと先験的知識を融合したニューラルネットワークの学習法",システム制御情報学会論文誌,システム制御情報学会,1999年,第12巻, 第3号,pp. 169-176,ISSN 1342-5668
【文献】谷口 洋司 ほか,"広告効果予測のための制約付きニューラルネットワーク学習方式",電気学会論文誌C,社団法人 電気学会,1997年,第117-C巻, 第5号,pp. 625-630,ISSN 0385-4221
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00-20/20
G06N 3/02-3/10
(57)【特許請求の範囲】
【請求項1】
入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御部と、
前記関数制御部により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習部と、
前記学習部による学習済みの前記予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する予測部と、
を備え
、
前記関数制御部は、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御し、
前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成される、
ことを特徴とする予測装置。
【請求項2】
前記正則化項は、前記予測関数を、前記予測関数の入力に用いられる変数で微分することにより導出される導関数を変数とする関数に、所定の正則化重みが乗算されることにより生成される、
請求項
1に記載の予測装置。
【請求項3】
前記正則化項は、前記予測関数の入力に用いられる変数の近傍における、当該予測関数の出力を入力変数とする関数を含む、
請求項
1に記載の予測装置。
【請求項4】
前記正則化項は、前記予測関数の入力に用いられる変数の近傍における、当該予測関数のテイラー級数における所定の次数までの項からなる出力を入力変数とする関数を含む、
請求項
3に記載の予測装置。
【請求項5】
前記正則化項は、前記予測関数の入力に用いられる変数の値に応じて互いに異なる関数を含む、
請求項
1から請求項
4の何れか一項に記載の予測装置。
【請求項6】
前記正則化項は、前記予測関数の出力を変数とする関数に、所定の正則化重みが乗算されることにより生成される、
請求項
1から請求項
5のいずれか一項に記載の予測装置。
【請求項7】
前記正則化項は、前記予測関数の入力を変数とする関数に、所定の正則化重みが乗算されることにより生成される、
請求項
1から請求項
6のいずれか一項に記載の予測装置。
【請求項8】
入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御部と、
前記関数制御部により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習部と、
を備え
、
前記関数制御部は、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御し、
前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成される、
ことを特徴とする学習装置。
【請求項9】
関数制御部が、入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御過程と、
学習部が、前記関数制御部により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習過程と、
予測部が、前記学習部による学習済みの前記予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する予測過程と、
を含
み、
前記関数制御部は、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御し、
前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成される、
ことを特徴とする予測方法。
【請求項10】
コンピュータを、
入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御手段、
前記関数制御手段により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習手段、
前記学習手段による学習済みの前記予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する予測手段
として機能させるための
プログラムであって、
前記関数制御手段において
、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御させ、
前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成される、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、予測装置、学習装置、予測方法、及びプログラムに関する。
【背景技術】
【0002】
幅広い産業において、統計解析、機械学習といった手法を用いた分析モデルが活用されている。例えば、担当者の経験則に依存していた販売促進企画の立案を、機械学習によって自動的に行う技術が知られている(例えば、特許文献1参照)。特許文献1では、過去の販売促進企画と、当該販売促進企画に係る顧客データや売上データを学習データとして学習を行い、実施予定の企画を立案するために必要な、顧客への売上予測等の情報を収集する。
また、機械学習の分野において、学習過程における過学習を防止するために、正則化項を用いる手法がある(例えば、特許文献2参照)。特許文献2では、正則化項が深層学習のパラメータを二値に収束させることにより効率的な学習を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-45316号公報
【文献】特開2019-40414号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、機械学習を用いて生成したモデルから、人間の感覚とは乖離した結果が得られてしまう場合がある。
例えば、本日の広告費用(x1)と、本日の売上(x2)とに基づいて、明日の広告費用に対する売上(y)を予測する分析モデル(f(x1、x2))を構築する場合を考える。通常の感覚で言えば、ある程度までは広告費用を増やすことで売上が伸びるが、それ以上は広告費用を増やしても売上が横ばいとなる地点が存在するはずである。しかし、分析モデルにおける広告費用x1を横軸、売上fを縦軸とするグラフを作成すると、広告費用x1の増加に伴い、売上fが単調に増加し続け、ある地点から売上の増加率(広告効果)が低減することが考慮できていない結果となることがある。或いは、広告費用x1の増加に伴い、売上fが局所的にマイナスになる等、違和感のある挙動を示す場合がある。
【0005】
このような状況は、決して稀なものではなく、特に、学習データが不完全な場合において高い頻度で発生することが考えられる。
図5A~
図5Cは、データの不完全性と、それが引き起こす問題の例を示している。
図5A~
図5Cに示す上下のグラフでは、横軸に広告費用、縦軸に売上を示しており、上側にデータと真の曲線(真の広告費用と売上との関係を示す曲線)、下側にデータとモデルが予測した曲線を示している。
図5A~
図5Cでは、不完全なデータを分析した結果、誤った結論(予測値)が導かれる例として、下記(1)~(3)が示されている。
【0006】
(1)学習に用いるデータが不足している(
図5A参照)
(2)学習に用いるデータにノイズが多く含まれている(
図5B参照)
(3)学習に用いるべき重要なデータが取得できない、ないし学習過程において考慮されていない(
図5C参照)
【0007】
例えば、(1)では、
図5Aに示すように、モデルの入力に用いられる説明変数や、モデルの挙動を決定するパラメータに対して、学習に用いるデータが不足している場合に、学習の過程においてモデルが、真の予想曲線に対して乖離しているデータと乖離していないデータとを区別することができないために、違和感のある挙動を示す学習済みモデルが生成されてしまうと考えられる。
(2)では、
図5Bに示すように、真の曲線から乖離しているデータが多数存在している場合に、学習の過程においてモデルが、乖離しているデータからの影響を受けるために、違和感のある挙動を示す学習済みモデルが生成されてしまうと考えられる。
(3)では、
図5Cに示すように、学習の過程において予測モデルの挙動に影響を与え得る重要な情報(例えば、広告の内容が不評であった等)が入力変数に用いられなかったために、違和感のある挙動を示す学習済みモデルが生成されてしまうと考えられる。
【0008】
これにより、学習済みモデルから分析結果の利用者の納得が得られ難い予測値が出力されてしまう事象が発生し、開発コストをかけて生成した分析モデルが活用できない問題が発生している。
【0009】
本発明は、上記問題を解決すべくなされたもので、その目的は、モデルに、人間の知見が反映され易くなるように機械学習させることができる予測装置、学習装置、予測方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記問題を解決するために、本発明の一態様は、入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御部と、前記関数制御部により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習部と、前記学習部による学習済みの前記予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する予測部と、を備え、前記関数制御部は、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御し、前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成されることを特徴とする予測装置である。
【0012】
また、本発明の一態様は、上記に記載の予測装置において、前記正則化項は、前記予測関数を、前記予測関数の入力に用いられる変数で微分することにより導出される導関数を変数とする関数に、所定の正則化重みが乗算されることにより生成されるようにしてもよい。
【0013】
また、本発明の一態様は、上記に記載の予測装置において、前記正則化項は、前記予測関数の入力に用いられる変数の近傍における、当該予測関数の出力を入力変数とする関数を含むようにしてもよい。
【0014】
また、本発明の一態様は、上記に記載の予測装置において、前記正則化項は、前記予測関数の入力に用いられる変数の近傍における、当該予測関数のテイラー級数における所定の次数までの項からなる出力を入力変数とする関数を含むようにしてもよい。
【0015】
また、本発明の一態様は、上記に記載の予測装置において、前記正則化項は、前記予測関数の入力に用いられる変数の値に応じて互いに異なる関数を含むようにしてもよい。
【0016】
また、本発明の一態様は、上記に記載の予測装置において、前記正則化項は、前記予測関数の出力を変数とする関数に、所定の正則化重みが乗算されることにより生成されるようにしてもよい。
【0017】
また、本発明の一態様は、上記に記載の予測装置において、前記正則化項は、前記予測関数の入力を変数とする関数に、所定の正則化重みが乗算されることにより生成されるようにしてもよい。
【0018】
また、本発明の一態様は、入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御部と、前記関数制御部により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習部と、を備え、前記関数制御部は、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御し、前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成されることを特徴とする学習装置である。
【0019】
また、本発明の一態様は、関数制御部が、入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御過程と、学習部が、前記関数制御部により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習過程と、予測部が、前記学習部による学習済みの前記予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する予測過程と、を含み、前記関数制御部は、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御し、前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成されることを特徴とする予測方法である。
【0020】
また、本発明の一態様は、コンピュータを、入力に対する予測値を出力する予測モデルにおける、入力と出力との関係を示す予測関数の挙動を制御する関数制御手段、前記関数制御手段により挙動を制御された前記予測関数に、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、前記予測モデルを学習させる学習手段、前記学習手段による学習済みの前記予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する予測手段として機能させるためのプログラムであって、前記関数制御手段において、予め設定した所定の損失関数に正則化項を加算したものを、前記予測モデルを学習させる過程において用いる損失関数とすることにより、前記予測関数の挙動を制御させ、前記正則化項は、前記予測関数、及び前記予測関数に用いられる変数に基づいて導出される関数を変数とし、前記予測関数が業務上の知見に対応する挙動を示すように前記予測関数を制御するように定義された関数に、所定の正則化重みが乗算されることにより生成されるプログラムである。
【発明の効果】
【0021】
この発明によれば、モデルに、人間の知見が反映され易くなるように機械学習させることができる。
【図面の簡単な説明】
【0022】
【
図1】第1の実施形態の予測装置1の構成例を示すブロック図である。
【
図2】第1の実施形態の関数制御部16が行う処理を説明する図である。
【
図3】第1の実施形態の関数制御部16が行う処理を説明する図である。
【
図4】第1の実施形態の予測装置1が行う処理の流れを示すフローチャートである。
【
図5A】本願の実施形態の課題を説明する図である。
【
図5B】本願の実施形態の課題を説明する図である。
【
図5C】本願の実施形態の課題を説明する図である。
【
図6】第2の実施形態における課題を説明する図である。
【
図7】第2の実施形態において予測装置1が行う処理を説明する図である。
【
図8】第2の実施形態の変形例において予測装置1が行う処理を説明する図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施形態について図面を参照して説明する。
【0024】
まず、第1の実施形態について説明する。
図1は、第1の実施形態の予測装置1の構成例を示すブロック図である。予測装置1は、予測モデルを生成し、生成した予測モデルを用いて、入力に対する予測を行う装置である。ここでの予測モデルは、任意の項目について、入力に対する予測値を出力するモデルであり、例えば、広告費用(入力)に対する売上(予測値)を出力するモデルである。
【0025】
予測装置1は、例えば、学習データ取得部11と、教師データ取得部12と、前処理部13と、学習部14と、予測部15と、関数制御部16と、予測モデルパラメータ記憶部17とを備える。
【0026】
学習データ取得部11は、学習データを取得する。学習データは、予測モデルに学習させる際の入力として用いられるデータである。例えば、予測モデルが、広告費用(入力)に対する売上(予測値)を出力するモデルである場合、学習データは、過去において投資された広告費用の実績を示すデータである。
【0027】
教師データ取得部12は、教師データを取得する。教師データは、予測モデルに学習させる際の出力として用いられるデータである。例えば、予測モデルが、広告費用(入力)に対する売上(予測値)を出力するモデルである場合、学習データは、過去における売上の実績を示すデータである。
【0028】
前処理部13は、学習データに教師データを対応付けることにより、予測モデルに学習させるデータを生成する。前処理部13は、例えば、ある過去の日付において投資された広告費用(入力データ)に、その日付における売上の実績を対応づけたデータを、予測モデルに学習させるデータとして生成する。
【0029】
学習部14は、前処理部13により生成されたデータを用いて、予測モデルを学習させる。予測モデルは、任意の機械学習の手法を用いた構成であってよいが、例えば、リカレントニューラルネットワーク(以下、RNNと称する)である。一般的に、RNNは、入力層、隠れ層(中間層)、出力層の3つの階層により構成される。入力層には、RNNに学習させたいデータ(入力データ)が入力される。出力層からは、RNNによって学習された結果を示すデータ(出力データ)が出力される。隠れ層は、学習の核となる処理を行う。例えば、隠れ層は、入力を、活性化関数(伝達関数)と呼ばれる関数により表現される値に変換して出力する。例えば、活性化関数は、正規化線形関数や、シグモイド関数、ステップ関数などであるが、これに限定されず、任意の関数が用いられてよい。
【0030】
ここで、RNNの構成について簡単に説明する。RNNは、入力層のユニットから、隠れ層のn層のうち、最も浅い層の複数のユニットの各々に対してノードが接続される。ここで、nは任意の自然数である。また、最も浅い層とは隠れ層のn層のうち、最も入力層に近い層であり、この例では第1層である。第1層のユニットから、隠れ層のn層のうち、第1層の次に浅い層(この例では第2層)の複数のユニットの各々に対してノードが接続される。ユニット同士を接続するノードの各々には、結合係数よる重みづけW及びバイアス成分bが適用される。これにより、ある層のユニットから、より深い層のユニットにデータが出力される際に、ユニット同士を接続するノードの結合係数に応じた重みW及びバイアス成分bが付与されたデータが出力される。
【0031】
学習部14は、予測モデルの入力層に学習データを入力させる。学習部14は、予測モデルに入力させた学習データに対して出力層から出力されたデータが、当該学習データに対応する教師データに近づくように、予測モデルを学習させる。学習部14は、誤差と予測モデルに設定したパラメータとの関係を、損失関数として導出する。ここでの誤差は、予測モデルの出力層から出力されるデータと、教師データとの乖離度合いである。乖離度合いには、任意の指標が用いられてよいが、例えば、誤差の二乗(二乗誤差)やクロスエントロピー等が用いられる。
【0032】
一般に、損失関数l(小文字のL)は、教師データyR、及び予測関数f(x)を変数とする関数で表現することができ、以下に示す(1)式で表現される。(1)式において、lは損失関数、yRは教師データ、f(x)は予測モデルの入力(x)と出力(f(x))との関係を示す関数である。
【0033】
損失関数l(yR、f(x)) …(1)
【0034】
予測モデルの出力をyとすれば、予測関数は、y=f(x)にて表現される。これを(1)式に適用すると、損失関数lは、以下の(2)式にて示すことができる。
【0035】
損失関数l(yR、y) …(2)
【0036】
本実施形態では、学習部14は、式(1)又は式(2)に示す損失関数lに代えて、関数制御部16により導出された正則化項Lを損失関数lに加えたものを、新たな損失関数l#として用いる。
【0037】
損失関数lに正則化項Lを加算することにより、予測関数yの挙動を制御することができる。これにより、予測関数yが違和感のある挙動を示す場合において、その挙動を違和感のない挙動とすることが可能である。例えば、予測関数yが、学習の過程において広告費用xの増加に伴い、売上f(x)が局所的にマイナスになってしまう挙動を示した場合であっても、マイナスにはならないように制御することができる。したがって、予測モデルに人間の知見が反映され易くなるように機械学習させることが可能である。
【0038】
損失関数l#は、以下に示す(3)式で表現される。(3)式において、l#は本実施形態の学習部14が用いる損失関数、lは(1)式又は(2)式で示される損失関数、yRは教師データ、f(x)は予測モデルの出力、λは正則化の重み係数、Lは正則化項である。
【0039】
損失関数l#=l(yR、y)+λ×L …(3)
【0040】
なお、正則化の重み係数λは任意の実数、あるいは、入力xの関数であってよい。また、正則化項Lについては、後で詳しく説明する。
【0041】
学習部14は、誤差逆伝搬法を用いて、損失関数lが最小となるように、重みWとバイアス成分bの組み合わせを決定する。学習部14は、決定(更新)した重みWとバイアス成分bとを、ノードやユニットと対応付け、対応付けた情報を予測モデルパラメータ記憶部17に記憶させる。
【0042】
予測部15は、予測モデルパラメータ記憶部17を参照することで、学習により決定された各階層の重みWとバイアス成分bに基づいてRNNを生成(再構築)する。予測部15は、生成(再構築)したRNNを予測モデルとして、予測モデルに未学習の入力データを入力することにより、予測モデルから出力される出力データに基づいて予測値を予測する。「未学習の入力データ」とは、例えば、予測モデルを学習させる段階において学習データに利用されていないデータのことである。予測部15は、例えば、再構築したRNNの入力層に、未学習の入力データを入力することにより出力層から出力される値を、予測値として出力する。
【0043】
予測モデルパラメータ記憶部17は、予測モデルの学習により決定された各階層の重みWとバイアス成分bが記憶される。予測モデルパラメータ記憶部17には、RNNの構成を示す情報が記憶されてよい。RNNの構成を示す情報には、例えば、RNNの隠れ層の層数や、各層のユニット数、活性化関数、などを示す情報が含まれる。
【0044】
関数制御部16は、予測モデルにおける、予測関数yの挙動を制御する。関数制御部16は、学習が実行される度に、予測部15により導出される予測関数yを取得する。関数制御部16は、予測関数yの挙動に違和感があるか否かを判定する。
【0045】
図2は、第1の実施形態の関数制御部16が行う処理を説明する図である。
図2には、予測モデルが予測した、入力(横軸に示す、広告費用x)と、出力(縦軸に示す、売上y)の関係が示されている。ここでは、広告費用に対する売上は増加する傾向にあること、及び、広告費用に対する売上の増加率は急激に変化しないという業務上の知見があることを前提とする。
【0046】
図2に示すように、予測モデルが予測した予測結果が、領域E1に示すような広告費用に対する売上が減少するものであった場合、関数制御部16は、領域E1において予測関数yの挙動に違和感があると判定する。また、領域E2に示すような、広告費用に対する売上が増加する比率が急激に変化(所定の閾値より傾きが大きい)ものであった場合、関数制御部16は、領域E2において予測関数yの挙動に違和感があると判定する。
【0047】
関数制御部16は、予測モデルの挙動に違和感があると判定する場合、損失関数lに正則化項Lを加算することにより、新たな損失関数l#を導出する。関数制御部16は、導出した損失関数l#を用いて、予測部15により予測モデルを学習させることにより、予測関数yの挙動を制御する。
【0048】
関数制御部16が導出する正則化項Lは、(4)式に示すように、予測モデルの入出力、及び任意階数の導関数を変数とする関数として表現される。(4)式において、xは予測モデルの入力、yは予測モデルの出力、dy/dxは予測モデルの出力yを入力xで一回微分した導関数、d^ny/dx^nyは予測モデルの出力yを入力xでn回微分した導関数である。nは任意の自然数である。
【0049】
正則化項L(x、y、dy/dx、…、d^ny/dx^ny) …(4)
【0050】
なお、正則化項Lは、(4)式にて示した変数を全て使用するものに限定されることはなく、(4)式にて示した変数のうち、少なくとも一つの変数を使用するものであればよい。例えば、導関数については、二階微分以上の高階導関数のみを用いるものであってもよい。
また、正則化項Lは、従来の統計および機械学習において、特に過学習を防いだり、汎化能力を高めたりするための正則化の技法により用いられる、いわゆるL1正則化や、L2正則化を含んでいてもよいし、L1正則化や、L2正則化を含まずに構成されてもよい。
【0051】
関数制御部16は、正則化項Lを、(5)式のように、入力xの範囲と、出力yの挙動を示す関数の積により導出する。(5)式において、IAは入力xの範囲を示す関数、GradLossは出力yの挙動(例えば、勾配)を制御する関数である。
【0052】
L(x、y、dy/dx、…、d^ny/dx^ny)
=IA(x)×GradLoss(x、y、dy/dx、…、d^ny/dx^ny)
…(5)
【0053】
(5)式において、関数IA(x)は、x∈Aの場合に1、x∈Aでない場合に0を出力する関数(領域判定関数)である。ここでxは、入力として取り得る任意の値である。これにより、分析モデルの定義域の任意の部分集合Aにおいて、出力yの挙動を制御することができる。
【0054】
ここで、関数制御部16が、導出する正則化項Lの例について、
図3を用いて説明する。
図3は、第1の実施形態の関数制御部16が行う処理を説明する図である。
図3では、業務上の知見、f(x)がどのような挙動になるとよいか、GradLossの定義式の各項目を備える。
「業務上の知見」には、予測モデルに予測させる項目に応じて人間が設定する知見が示される。なお、知見は業務上のものに限定されることはなく、例えば、歴史的な背景によるもの、経験によるもの、前提や想定によるもの、及びこれらの組み合わせによる知見が含まれてよい。
「f(x)がどのような挙動になるとよいか」には、業務上の知見に対応する出力f(x)の挙動が数式により示されている。「GradLossの定義式」には、業務上の知見に対応する具体的なGradLossの式が示されている。
【0055】
関数制御部16は、例えば、
図3の1番目の項目に示すように、入力xに対して出力yが増加傾向であるべきとする業務上の知見がある場合、dy/dx>0、つまりyの一回微分が正であるような挙動が望ましいと判定する。この場合、関数制御部16は、GradLoss関数として、max((-1)×dy/dx、0)を定義する。ここでのmax関数は、引数に示された二つの値を比較して大きい方を出力する関数である。
例えば、dy/dxが正である場合、((-1)×dy/dx)は負となり、GradLoss関数は0を出力する。一方、dy/dxが負である場合、((-1)×dy/dx)は正となり、GradLoss関数は((-1)×dy/dx)を出力する。
【0056】
GradLoss関数は、(4)式、及び(5)式に示すように、損失関数に加算される正則化項Lを構成する。したがって、dy/dxが正である場合に正則化項Lは0となり、予測部15により学習に用いられる損失関数として、(1)式又は(2)式に示す損失関数lそのものが適用される。一方、dy/dxが負である場合に正則化項Lは((-1)×dy/dx)に応じた値となり、予測部15により学習に用いられる損失関数として、(1)式又は(2)式に示す損失関数lに、((-1)dy/dx)に応じた正則化項Lを加算したものが適用される。
なお、入力xに対して出力yが減少傾向であるべきとする業務上の知見がある場合には、GradLoss関数として、max(dy/dx、0)を定義してもよい。
【0057】
関数制御部16は、
図3の2番目の項目に示すように、入力xに対して出力yにおける増加の程度が強すぎるとの業務上の知見がある場合、dy/dx<b、つまりyの傾きがbより小さくなるような挙動が望ましいと判定する。ここでのbは、任意の正の実数である。この場合、関数制御部16は、GradLoss関数として、(max(dy/dx、b)-b)を定義する。
【0058】
例えば、dy/dxがbより小さい場合、max関数からbが出力され、GradLoss関数は0を出力する。一方、dy/dxがbより大きい場合、max関数からdy/dxが出力され、GradLoss関数は(dy/dx-b)を出力する。したがって、dy/dxがbより小さい場合に正則化項Lは0となり、予測部15により学習に用いられる損失関数として、(1)式又は(2)式に示す損失関数lそのものが適用される。一方、dy/dxがbより大きい場合に正則化項Lは(dy/dx-b)となり、予測部15により学習に用いられる損失関数として、(1)式又は(2)式に示す損失関数lに、(dy/dx-b)に応じた正則化項Lを加算したものが適用される。
なお、入力xに対して出力yにおける減少の程度に着目する場合には、GradLoss関数として、max(-dy/dx、-b)+bを定義してもよく、強すぎる、弱すぎるといった程度に着目する場合には、bの値を適宜設定してよい。
【0059】
関数制御部16は、
図3の3番目の項目に示すように、入力xに対して出力yにおける増加の傾向が下に凸であるべきとの業務上の知見がある場合、d^2y/dx^2>0、つまりyの二回微分が正となるような挙動が望ましいと判定する。この場合、関数制御部16は、GradLoss関数として、(max((-1)×d^2y/dx^2、0)を定義する。
【0060】
例えば、d^2y/dx^2が正である場合、GradLoss関数は0を出力する。一方、d^2y/dx^2が負である場合、GradLoss関数は((-1)×d^2y/dx^2)を出力する。したがって、d^2y/dx^2が正である場合に正則化項Lは0となり、予測部15により学習に用いられる損失関数として、(1)式又は(2)式に示す損失関数lそのものが適用される。一方、(d^2y/dx^2)が負である場合に正則化項Lは((-1)×d^2y/dx^2)となり、予測部15により学習に用いられる損失関数として、(1)式又は(2)式に示す損失関数lに、((-1)×d^2y/dx^2)に応じた正則化項Lを加算したものが適用される。
なお、入力xに対して出力yにおける増加の傾向が上に凸であるべき場合には、GradLoss関数として、max(d^2y/dx^2、0)を定義してもよい。
【0061】
このように、関数制御部16は、業務上の知見に応じて、出力yにおいて望ましい挙動を示す数式(例えば、出力yの導関数)を規定する。関数制御部16は、出力yにおける入出力の関係において、規定した数式に合致する挙動が示されている場合に0となり、当該数式に合致しない挙動が示されている場合に0でない値となる正則化項Lを導出する。これにより、関数制御部16は、予測モデル(予測関数y)が業務上の知見に応じた挙動をする場合としない場合とで、互いに異なる正則化項Lを導出することができる。したがって、関数制御部16は、予測モデル(予測関数y)が業務上の知見に応じた挙動をしない場合に、業務上の知見に応じた挙動をする場合と比較して、値が大きい正則化項Lを導出して、損失関数l#を大きくしたものを用いて予測モデルを学習させることができる。予測モデルは、学習の過程において、業務上の知見に応じた挙動をしない場合に、損失が大きくなることを学習し、業務上の知見に応じた挙動をするように、予測モデルのパラメータ(重みW及びバイアス成分b)を決定するように学習が進められることが期待できる。
【0062】
なお、
図3の例では、正則化項Lの変数が、予測関数yの導関数である場合を例示して説明したが、これに限定されない。例えば、正則化項Lに用いられる変数は、予測関数yの出力yそのものであってもよい。この場合、出力yの値が一定の範囲から逸脱することがあり得ないとする業務上の知見がある場合に、出力yが一定の範囲に収まるように、予測関数yの挙動を是正することが可能となる。
【0063】
また、正則化項Lに用いられる変数は、予測関数yの入力xそのものであってもよい。この場合、入力xの値に応じた予測値の挙動を制御することができる。
一般に予測モデルは、学習により予測モデルのパラメータが決定されていれば、入力に対する予測値を出力することが可能である。このため、入力xが所定の範囲でしか得られない、つまり学習データが所定の範囲でしか得られてない場合であっても、その範囲外の入力に対する予測値を出力することができてしまう。この場合、学習データが存在していないため、予測値は実績(学習データと教師データとの対応関係)とは無関係に出力されてしまう。このため、入力xにおける所定の範囲において業務上の知見とは乖離した結果となる可能性が高い。
このような場合に、正則化項Lの変数として入力xを用いることで、入力xにおける特定の範囲において、業務上の知見に沿うように予測関数yの挙動を是正することが可能となる。例えば、入力xにおける特定の範囲において、出力yが増加と減少を繰り返すような挙動が予測されている場合において、その範囲の出力yが増加する傾向にあるという知見を与えれば、出力yが減少する挙動を見直すような学習がなされ、学習データが存在しない範囲においても、出力yが増加する傾向となるように、予測関数yの挙動を是正することが可能となる。
なお、学習データが存在しない、或いは、不足する領域において、ダミーデータ(c、f(c))を作成し、これを用いて予測関数yの挙動の是正を行ってもよい。ここでのcは、学習データには存在しない、予測関数yの定義域上の任意の点である。
また、正則化項Lの入力を、損失関数lの入力と独立させても良い。例えば、正則化項Lの計算に予測関数yの値が不要である場合に、損失関数lで用いる学習データ(x、y)に対して、正則化項Lの入力データを(x+εi、y)としても良い。ここでεiは任意の分布からサンプリングされた任意個数のノイズ値である。
【0064】
図4は、第1の実施形態の予測装置1が行う処理の流れを示すフローチャートである。
まず、予測装置1の学習部14は、予測モデルを学習させる(ステップS10)。学習部14は、予測モデルに学習データを入力した場合に出力される予測値が、学習データに対応付けられた教師データに近づくように、予測モデルのパラメータを決定することにより、予測モデルを学習させる。
【0065】
関数制御部16は、学習された学習済みの予測モデルの挙動に違和感が有るか否かを判定する(ステップS11)。関数制御部16は、予測モデルが予測する項目に応じて予め設定された業務上の知見に応じた数式(例えば、出力yの任意階数の導関数)に、予測モデルの挙動が合致しない場合に、予測モデルの挙動に違和感が有ると判定する。
【0066】
関数制御部16は、予測モデルの挙動に違和感が有る場合、損失関数lに、当該違和感に対応した正則化項Lを加算する(ステップS12)。関数制御部16は、例えば、max関数などを用いて、業務上の知見に応じた数式に合致しない程度に応じた正則化項Lとすることにより、当該違和感に対応した正則化項Lを導出する。
学習部14は、関数制御部16により導出された正則化項Lを損失関数lに加算した損失関数l#を用いて、予測モデルの再学習を実施する(ステップS13)。
学習部14は、予測モデルの再学習を実施(ステップS13)した後、予測モデルの学習における終了条件を満たすか否かを判定する(ステップS14)。学習の終了条件は、予め定められた条件であって、例えば、予測値と教師データとの誤差が所定の閾値未満となったこと、一回の学習あたりの予測値と教師データとの誤差の変化量が所定の閾値未満となったこと、等である。
学習部14は、予測モデルを学習させる学習の終了条件を満たさない場合、ステップS10に戻り、再学習された学習済の予測モデルが終了条件を満たすようにするための学習を行う。このようにして、学習部14は、予測モデルにおける学習の終了条件を満たすまで、ステップS10~S13に示す処理のフローを繰り返す。
【0067】
なお、上述した
図4のフローチャートでは、ステップS11において、関数制御部16が学習済みの予測モデルに対し、違和感の有無を判定する場合を例示したが、これに限定されることはない。関数制御部16は、学習前、学習過程、及び学習済みの何れの過程においても、予測モデルの挙動について違和感の有無を判定してもよい。すなわち、学習前、学習過程、及び学習済みの何れの過程における予測モデルの挙動についても、損失関数l#を用いた学習が行われることにより、予測モデルの挙動が業務上の知見に沿うように再構築されてよい。
【0068】
以上説明したように、第1の実施形態の予測装置1では、関数制御部16と学習部14と予測部15とを備える。関数制御部16は、予測関数yの挙動を制御する。学習部14は、関数制御部16により挙動を制御された予測関数yに、学習データを入力させることにより得られる出力が、当該学習データに対応する教師データに近づくように、予測モデルを学習させる。予測部15は、学習部14による学習済みの予測モデルに、未学習データを入力させることにより得られる出力に基づいて、入力に対する予測値を予測する。
これにより、第1の実施形態の予測装置1では、関数制御部16が予測関数yの挙動を制御することができ、予測関数yの挙動が、業務上の知見と異なる場合に、是正することができ、予測モデルに、人間の知見が反映され易くなるように機械学習させることが可能となる。
【0069】
また、第1の実施形態の予測装置1では、関数制御部16は、予め設定した所定の損失関数lに正則化項Lを加算したものを、予測モデルを学習させる過程において用いる損失関数l#とすることにより、予測関数yの挙動を制御する。また、正則化項Lは、予測関数y、及び予測関数yに用いられる変数(例えば、予測関数yの入力x)に基づいて導出される関数を変数とする関数に、所定の正則化重みλが乗算されることにより生成される。
これにより、第1の実施形態の予測装置1では、損失関数lに正則化項Lを加算することにより、業務上の知見と異なる場合に損失が大きく見えるようにして、予測関数yの挙動が業務上の知見に沿うように学習させることができ、上述した効果と同様の効果を奏する。
【0070】
また、第1の実施形態の予測装置1では、正則化項は、予測関数yを、予測関数yの入力xで微分することにより導出される導関数(例えば、dy/dx)を変数とする関数に、所定の正則化重みλが乗算されることにより生成される。これにより、第1の実施形態の予測装置1では、入力xに対する出力yの傾きに応じた正則化項Lを導出することができ、入力xに対する出力yの傾きが業務上の知見に沿うように学習させることができ、上述した効果と同様の効果を奏する。
【0071】
また、第1の実施形態の予測装置1では、正則化項は、予測関数yの入力xの値に応じて互いに異なる関数(例えば、(5)式のIA(x))を含む。これにより、第1の実施形態の予測装置1では、入力xの特定の範囲に応じた正則化項Lを導出することができ、入力xの特定の範囲における出力yの挙動を業務上の知見に沿うように学習させることができ、上述した効果と同様の効果を奏する。
【0072】
また、第1の実施形態の予測装置1では、正則化項は、予測関数yの出力yを変数とする関数に、所定の正則化重みλが乗算されることにより生成される。これにより第1の実施形態の予測装置1では、出力yの値に応じた正則化項Lを導出することができ、例えば、出力yの値が一定の範囲から逸脱することがあり得ないとする業務上の知見がある場合に、出力yの挙動を業務上の知見に沿うように学習させることができる。
【0073】
また、第1の実施形態の予測装置1では、正則化項は、予測関数yの入力xを変数とする関数に、所定の正則化重みλが乗算されることにより生成される。これにより実施形態の予測装置1では、入力xの値に応じた正則化項Lを導出することができ、例えば、入力xにおける所定の範囲において、学習データが存在していないために予測値が制御できない場合であっても、ダミーデータ等を用いて予測関数yの挙動を業務上の知見に沿うように学習させることができる。
【0074】
また、第1の実施形態の予測装置1が、学習済みモデルを生成する学習装置と、学習装置により生成された学習済みモデルとを用いて予測を行う制御装置とで構成されてもよい。この場合、学習装置は、関数制御部16と学習部14とを備える。学習装置が関数制御部16を備えることにより、実施形態の学習装置は、業務上の知見を反映した予測モデルを作成することができ、上述した効果と同様の効果を奏する。
【0075】
なお、上述した第1の実施形態では、予測モデルにRNNが適用された場合を例示して説明したが、これに限定されない。例えば、予測モデルとして、RNN以外の再帰型ニューラルネットワークであるLSTM(Long Short Term Memory)が適用されてもよいし、順伝搬型のニューラルネットワークが適用されてもよい。順伝搬型の場合、予測モデルとして多層パーセプトロンが適用されてもよい。また、予測モデルとしてニューラルネットワーク以外の他の機械学習が用いられてもよい。
【0076】
また、上述した第1の実施形態では、GradLoss関数として、max関数を用いる場合を例示して説明したが、これに限定されない。GradLoss関数として、少なくとも出力f(x)の挙動について、人間の知見を反映させた関数や数式が用いられればよい。例えば、GradLossの関数として、max関数の代わりに、min関数が用いられてもよいのは勿論である。min関数は、引数に示された複数の値のうち、最も小さい値を出力する関数である。
【0077】
次に、第2の実施形態について説明する。本実施形態では、予測関数yの挙動が業務上の知見に沿うように正則化項Lを規定する際に、予測関数の局所的な情報への依存度を低下させている点において、上述した実施形態と相違する。
【0078】
図6は、第2の実施形態における課題を説明する図である。
図6のグラフの横軸は広告費用、縦軸は売上を示す。
図6には、広告費用と売上の関係が、「点」と「実線」の2パターンで示されている。「点」で示されているパターンは、広告費用と売上の関係を示す実績データである。「実線」で示されているパターンは、実績データを用いた学習をしたモデルが予測した曲線(広告費用と売上の関係を予測する予測関数)である。
【0079】
図6では、モデルに、正則化項LにおけるGradLoss関数として、(max((-1)×dy/dx、0)を採用した場合において、モデルが予測した曲線が示されている。
【0080】
図6のグラフの「点」のパターンに示すように、広告費用と売上の関係が、何らかの要因により、単調に増加する傾向にない箇所が散見される実績データが得られた場合を考える。このような実績データを用いた学習を行う際、「広告費用に対する売上は増加する傾向にある」との業務上の知見から、モデルに、式(GL1)に示す、GradLoss=(max((-1)×dy/dx、0)を採用したとする。
【0081】
この場合、最終的に得られる予測関数が、各点について制約を満たすが、全体として単調増加しないものとなる可能性がある。すなわち、実績データの各点において増加傾向とするために、点と点の間で一旦減少させるように予測してしまうことが考えられる。このような予測関数が出力する売上予測は、「広告費用に対する売上は増加する傾向にある」との業務上の知見には必ずしも合致しないものとなる。
【0082】
この対策として、本実施形態では、予測の対象とする範囲の全体において、予測関数yの挙動が業務上の知見に沿うように正則化項Lを規定する。予測の対象とする範囲とは、
図6の例における広告費用の範囲、或いは売上の範囲である。すなわち、本実施形態では、広告費用の範囲の全体において、「広告費用に対する売上は増加する傾向にある」との業務上の知見に合致するように、正則化項Lを規定する。
【0083】
図7は、第2の実施形態において予測装置1が行う処理を説明する図である。
図7のグラフの横軸と縦軸及び、「点」と「実線」の2パターンが示す内容は、
図6と同様であるため、その説明を省略する。
図7では、モデルに式(GL2)に示すGradLoss関数を採用する。
【0084】
GradLoss=(-1)×{min(f(a)-f(a-ε)、0)
+min(f(a+ε)-f(a)、0)} …(GL2)
【0085】
式(GL2)におけるf(x)は変数xの予測関数y(y=f(x))である。定数aは変数xが取り得る範囲における任意の実数である。幅εは定数aの近傍として規定する範囲であり任意に設定されてよい。例えば、幅εは、実績データにおけるx軸方向のデータ間隔の平均値である。或いは、幅εとして、実績データにおけるy軸方向のデータ間隔の平均値を用いてもよい。なお、
図7の例では、実績データにおけるx軸は広告費用を示す軸であり、実績データにおけるy軸は売上を示す軸である。
【0086】
モデルに式(GL2)に示すGradLoss関数を採用することにより、ある定数aから±εの幅で規定される範囲において「減少しない」ように、予測関数yを学習させることができる。ここでの「減少しない」とは、増加する(傾きが正)か、或いは、増加も減少もしない(傾きが0(ゼロ))であることを示す。
【0087】
以上説明したように、第2の実施形態では、正則化項Lは、予測関数y=f(x)の入力に用いられる変数(x=a)の近傍(a±ε)における、当該予測関数yの出力(f(a-ε)、f(a)、f(a+ε))を入力変数とする関数(例えば、式(GL2)で規定されるGradLoss関数)を含む。これにより、予測の対象とする範囲の全体において、予測関数yの挙動が業務上の知見に沿うように、モデルに学習させることができる。すなわち、ある特定の箇所、例えば(x=a)の近傍において局所的に業務上の知見に沿わない振る舞いが予測される場合であっても、その範囲に、第2の実施形態で規定する式(GL2)を用いた学習を行うことにより、その振る舞いを是正することができる。
【0088】
次に、第2の実施形態の変形例について説明する。本変形例では、GradLoss関数として予測関数yのテイラー級数を用いる点において、上述した実施形態と相違する。
【0089】
図8は、第2の実施形態の変形例において予測装置1が行う処理を説明する図である。
図8のグラフの横軸と縦軸及び、「点」と「実線」の2パターンが示す内容は、
図6と同様であるため、その説明を省略する。
図8では、モデルに式(GL3)に示すGradLoss関数を採用する。
【0090】
GradLoss
=|f(a-ε)-(a-ε)f′(a-ε)-f(a)+a×f′(a)|
+|f′(a-ε)-f′(a)|
+|f(a)-a×f′(a)-f(a+ε)+(a+ε)f′(a+ε)|
+|f′(a)-f′(a+ε)| …(GL3)
【0091】
式(GL3)におけるf(x)は変数xの予測関数y(y=f(x))である。f´(x)は予測関数yを一回微分した導関数である。定数aは変数xが取り得る範囲における任意の実数である。幅εは定数aの近傍として規定する範囲であり任意に設定されてよい。例えば、幅εは、実績データにおけるx軸方向のデータ間隔の平均値である。或いは、幅εとして、実績データにおけるy軸方向のデータ間隔の平均値を用いてもよい。なお、
図8の例でも、
図7と同様に、実績データにおけるx軸は広告費用を示す軸であり、実績データにおけるy軸は売上を示す軸である。
【0092】
また、式(GL3)では、予測関数yのテイラー級数における有限次数の多項式から求められる近似式が用いられている。予測関数y=f(x)における、x=(a-ε)、x=a、x=(a+ε)、のそれぞれのテイラー級数を用いた一次までの近似式は、以下の式(GL3-1)で示される。
【0093】
T(a-ε)=f(a-ε)+f´(a-ε)×(x-(a-ε))
T(a) =f(a) +f´(a) ×(x-a)
T(a+ε)=f(a+ε)+f´(a+ε)×(x-(a+ε)) …(GL3-1)
【0094】
式(GL3-1)における、関数f(x)、f´(x)、定数a、幅εのそれぞれは、式(GL3)同様であるため、その説明を省略する。
【0095】
f(a-ε)とf(a)の不変性損失をT(a-ε)とT(a)の各次数の係数の絶対誤差として定義する。また、f(a)とf(a+ε)の不変性損失を、T(a)とT(a+ε)の各次数の係数の絶対誤差として定義する。そして、これらの二つの不変性損失のそれぞれの各次数の係数の絶対誤差を加算することにより式(GL3)が得られる。
【0096】
モデルに式(GL3)に示すGradLoss関数を採用することにより、ある定数aから±εの幅で規定される範囲(以下、定数aの近傍という)において、予測関数yのテイラー級数の特定次数までの近似式が一致するように予測関数が変化する。つまり、モデルは、定数aの近傍において、定数aの接線を通過し、且つ「定数aの近傍の外」と滑らかに接続する曲線となるように、予測関数yを学習させることができる。ここでの「定数aの近傍の外」とは、(a-ε)以下となる範囲か、或いは、(a+ε)以上となる範囲を示す。なお、式(GL3)は、一次までの近似式を採用した場合の例である。式(GL3)に、任意の次数までの近似式が採用されてもよいのは勿論である。
【0097】
以上説明したように、第2の実施形態の変形例では、正則化項Lは、予測関数y=f(x)の入力に用いられる変数(x=a)の近傍(a±ε)における、当該予測関数yのテイラー級数における所定の次数までの項からなる出力(例えば、式(GL3)で規定されるGradLoss関数)を入力変数とする関数を含む。これにより、上述した第2の実施形態と同様の効果を奏する。すなわち、ある特定の箇所、例えば(x=a)の近傍において局所的に業務上の知見に沿わない振る舞いが予測される場合であっても、その範囲に、第2の実施形態で規定する式(GL3)を用いた学習を行うことにより、その振る舞いを是正することができる。
【0098】
特に、モデルのパラメータ数が多く、
図6の例で示したような見かけ上は制約を充足するが、全体として違和感がある予測が発生する場合に、第2の実施形態、及びその変形例において説明した定義式(式(GL2)、及び式(GL3))が効果的である。
【0099】
以上、いくつかの実施形態を説明したが、各実施形態で説明した構成は、その実施形態のみの適用に限定されることはない。例えば、第1の実施形態で述べた構成を第2の実施形態に適用してもよいし、第2の実施形態で述べた構成を第1の実施形態に適用してもよい。
【0100】
上述した実施形態における予測装置1の全部又は一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0101】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0102】
1 予測装置
11 学習データ取得部
12 教師データ取得部
13 前処理部
14 学習部
15 予測部
16 関数制御部
17 予測モデルパラメータ記憶部