(58)【調査した分野】(Int.Cl.,DB名)
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する使用割合計算部と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する推定部と、
前記使用割合計算部により計算された前記欠損パターンに対する前記各予測モデルの使用割合を利用して前記推定部が前記各予測モデルのパラメータを推定する処理と、当該推定部により推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を前記使用割合計算部が計算する処理とを交互に繰り返す処理を制御する指令部と
を備えている予測モデル学習装置。
前記使用割合計算部は、前記欠損パターンに対する前記各予測モデルの使用割合のうち、その欠損パターンを持つサンプルに対する尤度が最も大きい前記予測モデルの使用割合が最も高くなるように、前記欠損パターンに対する前記各予測モデルの使用割合を計算する請求項1記載の予測モデル学習装置。
前記推定部は、前記予測モデルに、当該予測モデルの前記使用割合を乗算した関数の対数尤度が大きくなる方向に機械学習が進むようにその予測モデルのパラメータを推定する請求項1又は請求項2記載の予測モデル学習装置。
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用してコンピュータが計算し、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータをコンピュータが推定し、
前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とをコンピュータが交互に繰り返す予測モデル学習方法。
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する処理と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する処理と
をコンピュータに実行させる処理手順が示され、
さらに、前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とを交互に繰り返す処理をコンピュータに実行させる処理手順が示されているコンピュータプログラム。
【背景技術】
【0002】
入手可能なデータに基づいて将来を予測することは業務改善に有用である。例えば、商店において、直近2週間の売り上げデータに基づいて商品の売り上げを予測できれば、商店は、商品の在庫管理を適切に行うことができる。また、営業店において、営業日報等の業務記録に基づいた営業手法と受注との関係を分析することによって、どのような営業手法により受注の可能性が高まるかを予測できれば、営業店は受注率を向上できる。
【0003】
ここで、予測の手掛かりとなるデータ(例えば実際の売り上げデータや、実行された営業手法)を説明変数と呼ぶこととする。また、予測対象となるデータ(例えば、予測したい商品の売り上げや、予測したい受注状況)を目的変数と呼ぶこととする。さらに、説明変数(データ)を代入(入力)することによって目的変数(予測値)を得ることができる関数をモデルあるいは予測関数と呼ぶこととする。さらにまた、過去データ(サンプル)である説明変数と目的変数の組み合わせの集合を訓練データと呼ぶこととする。この訓練データに基づいてモデル(説明変数を利用して目的変数を出力する関数)を作成する技術として、機械学習が利用される。
【0004】
ところで、その機械学習に際し、訓練データにおける説明変数の一部が欠損している場合がある。具体的には、例えば、或る時間帯に商品Aが店に出されていなかった場合には、その時間帯における商品Aの売り上げが欠損することとなる。また、営業日報に記録することを忘れた日がある場合には、その忘れられた日のデータが欠損することとなる。このように説明変数の一部が欠損している訓練データに基づいてモデル(予測関数)を機械学習する際には、例えば、説明変数の平均値を、欠損している説明変数として利用する手法が採用される場合がある。また、他の説明変数に基づいて予測した値を、欠損している説明変数として利用することによってモデル(予測関数)を機械学習する手法もある。
【0005】
しかしながら、そのような手法では、欠損している説明変数として使用した想定値(代替値)が本来の値から大きくずれていることがあるために、精度の良いモデルを作成できない虞がある。精度の良くないモデルを利用すると、予測の精度が落ちるという問題が生じる。
【0006】
非特許文献1には、訓練データにおける説明変数の一部が欠損している場合にモデル(予測関数)を機械学習する手法が開示されている。この非特許文献1に表されている手法では、機械学習する装置(コンピュータ)は、訓練データにおいて、どの説明変数が欠損しているかを検知し、欠損している説明変数が同じであるサンプル(説明変数と目的変数の組み合わせである過去データ)に同じラベルを付与する。そして、当該装置は、同じラベルが付与されているサンプルの集合のみを訓練データとした機械学習を行うことにより、モデルを出力(生成)する。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、目的変数に対する関与が小さい説明変数が欠損している場合に、非特許文献1の手法を用いてモデルを生成してしまうと、そのモデルの精度が悪くなる虞がある。それというのは、非特許文献1の手法では、説明変数の欠損状態に基づいて訓練データを分割しており、目的変数に対する説明変数の関与の度合いが考慮されていないからである。
【0009】
本発明は上記課題を解決するためになされた。すなわち、本発明の主な目的は、訓練データ(過去データ)に含まれている説明変数の一部が欠損していても、精度の高い予測を可能にするモデル(予測関数)を生成できる機械学習に関わる技術を提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明の予測モデル学習装置は、
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する使用割合計算部と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する推定部と、
前記使用割合計算部により計算された前記欠損パターンに対する前記各予測モデルの使用割合を利用して前記推定部が前記各予測モデルのパラメータを推定する処理と、当該推定部により推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を前記使用割合計算部が計算する処理とを交互に繰り返す処理を制御する指令部と
を備えている。
【0011】
また、本発明の予測モデル学習方法は、
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用してコンピュータが計算し、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータをコンピュータが推定し、
前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とをコンピュータが交互に繰り返す。
【0012】
さらに、本発明のコンピュータプログラムは、
目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用する出力対象のモデルを機械学習する場合に、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する処理と、
前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する処理と
をコンピュータに実行させる処理手順が示され、
さらに、前記各予測モデルのパラメータを推定する処理と、その推定された前記各予測モデルのパラメータを利用して前記欠損パターンに対する前記各予測モデルの使用割合を計算する処理とを交互に繰り返す処理をコンピュータに実行させる処理手順が示されている。
【0013】
なお、本発明の前記目的は、前記構成の本発明の予測モデル学習装置に対応する本発明の予測モデル学習方法によっても達成される。また、本発明の前記目的は、本発明の予測モデル学習装置および予測モデル学習方法をコンピュータによって実現するコンピュータプログラムおよびそれを記憶するコンピュータプログラム記憶媒体によっても達成される。
【発明の効果】
【0014】
本発明によれば、訓練データ(過去データ)に含まれている説明変数の一部が欠損していても、精度の高い予測を可能にするモデル(予測関数)を生成できる。
【発明を実施するための形態】
【0016】
以下に、本発明に係る実施形態を図面を参照しつつ説明する。
【0017】
(第1実施形態)
図1は、本発明に係る第1実施形態の予測モデル学習装置の構成を簡略化して表すブロック図である。この第1実施形態の予測モデル学習装置10は、目的変数と説明変数ベクトルとの組であるサンプルが集められている訓練データに基づいて、次のようなモデルを機械学習する装置である。そのモデルとは、前記訓練データにおいて複数にグループ分けされた前記サンプルの各グループに対してそれぞれ設定された予測モデルを複数使用することにより構成されているモデル(予測関数)である。
【0018】
この第1実施形態の予測モデル学習装置10は、制御装置11と、記憶装置12とを備えている。記憶装置12には、制御装置11の動作を制御する制御手順が表されているコンピュータプログラム(以下、プログラムとも記す)16が格納されている。
【0019】
制御装置11は、例えばCPU(Central Processing Unit)を有し、当該制御装置(コンピュータ)11は、記憶装置12から読み出したプログラム16を実行することにより、次のような機能を持つことができる。すなわち、制御装置11は、機能部として、推定部13と使用割合計算部14と指令部15とを有している。
【0020】
使用割合計算部14は、前記説明変数ベクトルにおける成分の欠損状態を示す欠損パターンに対する前記出力対象のモデルを構成する前記各予測モデルの使用割合を、前記予測モデルの推定されたパラメータを利用して計算する機能を備えている。
【0021】
推定部13は、前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する機能を備えている。
【0022】
指令部15は、推定部13と使用割合計算部14を制御する機能を備えている。例えば、指令部15は、使用割合計算部14が前記欠損パターンに対する前記各予測モデルの使用割合を計算すると、その計算結果を推定部13に出力する。これにより、推定部13は、その計算結果である前記欠損パターンに対する前記各予測モデルの使用割合を利用して、前記各予測モデルのパラメータを推定する。指令部15は、この推定部13により推定された前記各予測モデルのパラメータを使用割合計算部14に出力する。これにより、使用割合計算部14は、その推定された前記各予測モデルのパラメータを利用して、前記同様に前記欠損パターンに対する前記各予測モデルの使用割合を計算する。このように、指令部15は、推定部13による処理と使用割合計算部14による処理とを交互に繰り返す処理を制御する機能を備えている。
【0023】
この第1実施形態の予測モデル学習装置10は、欠損パターンを考慮してモデルを機械学習する構成を備えているので、訓練データ(過去データ)に含まれている説明変数ベクトルの一部の成分が欠損していても、精度の高い予測を可能にするモデルを生成できる。
【0024】
(第2実施形態)
以下に、本発明に係る第2実施形態を説明する。
【0025】
図2は、第2実施形態の予測モデル学習装置の構成を簡略化して表すブロック図である。この予測モデル学習装置20は、大別すると、制御装置21と、記憶装置22とを備えている。記憶装置22は記憶媒体(図示せず)を有し、当該記憶媒体には、コンピュータプログラム(プログラム)30や各種データが格納されている。プログラム30には、予測モデル学習装置20の動作を制御する処理手順が表されている。
【0026】
制御装置(コンピュータ)21は、例えば、CPU(Central Processing Unit)を備えている。当該制御装置21(CPU)は、記憶装置22から読み込んだプログラム30に従って動作することにより、次のような機能を持つことができる。すなわち、この第2実施形態では、制御装置21は、機能部として、クラスタリング部23と、補完部24と、指令部25と、使用割合計算部26と、推定部27と、設定部28とを有している。
【0027】
クラスタリング部23は、与えられた訓練データ(過去データ)をデータ解析することによってクラスタリングする機能を備えている。訓練データとは、過去データ(実際のデータ)に基づいた目的変数と説明変数ベクトルとの組み合わせであるサンプルが集められたデータ群である。例えば、訓練データは、外部から予測モデル学習装置20に与えられる(入力される)。ここでは、説明変数ベクトルをxと表し、目的変数をyと表すとする。また、サンプル(目的変数と説明変数ベクトルとの組み合わせ)は、(x
i,y
i)と表すとする。なお、iは、1からNまでの正の整数とする。これにより、訓練データDは、
【0029】
この第2実施形態では、クラスタリング部23は、与えられた訓練データDの各サンプル(x
i,y
i)において、説明変数ベクトルxにおける成分の一部が欠損しているか否かを検知する機能を備えている。また、クラスタリング部23は、説明変数ベクトルxにおける成分の一部が欠損している場合には、その欠損状態を表す欠損パターンを検知(特定)する機能を備えている。さらに、クラスタリング部23は、その検知された欠損パターンに基づいて、説明変数ベクトルxの欠損パターンが同じ又は似ているサンプル同士に同じラベルを与える機能を備えている。ここでのクラスタリングとは、上記のようにサンプルを分類し、その後、ラベルを付与するまでの処理を表している。
【0030】
なお、クラスタリングの手法には様々な手法が有る。ここでは、説明変数ベクトルxの成分の一部が欠損している場合に当該欠損パターンに基づいてサンプルを分類することができれば、何れの手法が採用されてもよいが、クラスタリング部23によるクラスタリングの一具体例を次に述べる。
【0031】
この具体例では、訓練データに含まれているサンプル数は40とし、これらサンプルS1−S40における説明変数ベクトルxは、それぞれ、10個の成分X1−X10を有するとする。
図3は、サンプルS1−S40において、説明変数ベクトルxの成分X1−X10における欠損状態を表す表である。
図3では、欠損している成分に対応する位置に「NA」が表され、その他の成分の数値は省略されている。
図3によれば、サンプルS1−S5においては、説明変数ベクトルxの全ての成分X1−X10は欠損していない。サンプルS6−S10においては、説明変数ベクトルxの成分X1−X5が欠損している。さらに、サンプルS11−S20においては、説明変数ベクトルxの成分X1−X6が欠損し、さらにまた、サンプルS21−S40においては、説明変数ベクトルxの成分X7−X10が欠損している。
【0032】
このような説明変数ベクトルxを含む訓練データに関し、クラスタリング部23は、各サンプルS1−S40の説明変数ベクトルxを他のサンプルS1−S40の説明変数ベクトルxに比較し、説明変数ベクトルxの類似度を算出する。ここで、比較している2つのサンプルにおける説明変数ベクトルxにおいて、共通に欠損している成分の数をMとし、当該2つの説明変数ベクトルxのうちの欠損している成分の数(欠損数)が多い方のサンプルに含まれている欠損数をNとする。クラスタリング部23は、例えば、類似度RをM÷Nの数式に従って算出する。なお、Mが零であり、Nも零である場合における類似度Rは1とする。
【0033】
図4は、上記算出手法に基づいて算出された類似度Rを表す表である。例えば、サンプルS1−S5は、説明変数ベクトルxの全ての成分が欠損していないことから、各サンプルS1−S5がサンプルS1−S5と比較した結果による説明変数ベクトルxの類似度Rは、R=M÷N=0÷0=1である。また、各サンプルS1−S5がサンプルS6−S10,S21−S40と比較した結果による説明変数ベクトルxの類似度Rは、R=M÷N=0÷5=0である。さらに、各サンプルS1−S5がサンプルS11−S20と比較した結果による説明変数ベクトルxの類似度Rは、R=M÷N=0÷6=0である。
【0034】
クラスタリング部23は、そのように算出された類似度Rが0.8以上であるサンプルの組に同じラベルを設定(付与)する。例えば、
図4に表される類似度Rに基づいて、クラスタリング部23は、サンプルS1-S5にはそれぞれラベルC1を設定し、サンプルS6−S20にはそれぞれラベルC2を設定し、サンプルS21−S40にはそれぞれラベルC3を設定する。
【0035】
クラスタリング部23は、上記のように、説明変数ベクトルxの欠損パターンに着目して複数のサンプルをクラスタリングする機能を備えている。
【0036】
補完部24は、説明変数ベクトルxにおいて欠損している成分に代わるデータ(数値)を補完する機能を備えている。例えば、補完部24は、各サンプルS6−S40において、説明変数ベクトルxにおける欠損していない成分の平均値を、欠損している成分として代入する(補完する)。より具体的には、サンプルS6−S10においては、補完部24は、成分X6−X10の平均値を、欠損している成分X1−X5に代入(補完)する。また、サンプルS11−S20においては、補完部25は、成分X7−X10の平均値を、欠損している成分X1−X6に代入(補完)する。さらに、サンプルS21−S40においては、補完部24は、成分X1−X6の平均値を、欠損している成分X7−X10に代入(補完)する。
【0037】
設定部28は、訓練データに基づいて予測モデルを設定する機能を備えている。例えば、設定部28は、説明変数ベクトルxの欠損していない成分の組み合わせ(パターン)に基づいて、訓練データのサンプルS1−S40を次のような4つのグループに分類する。つまり、訓練データが
図3の表に表されるような欠損パターンを有するサンプルの集合である場合には、サンプルS1−S5は、全ての説明変数ベクトルxの成分X1−X10が欠損していないグループ(グループG1とする)である。サンプルS6−S10は、説明変数ベクトルxの成分X6−X10が欠損していないグループ(グループG2とする)である。サンプルS11−S20は、説明変数ベクトルxの成分X7−X10が欠損していないグループ(グループG3とする)である。サンプルS21−S40は、説明変数ベクトルxの成分X1−X6が欠損していないグループ(グループG4とする)である。設定部28は、このようにグループ分けされた各サンプルのグループにそれぞれ対応する予測モデルを設定する。
【0038】
ここでは、各グループG1−G4に関連付けられる予測モデル(関数)は式(1)に表されるとする。
【0039】
なお、式(1)に表されるxは説明変数ベクトルであり、yは目的変数である。また、kは、予測モデルを識別する符号であり、1以上の整数(k=1,2,...,K)であるとする。ここでは、各予測モデルのkは、上記のようにグループ分けされたグループG1−G4にそれぞれ対応する数値が設定される。つまり、サンプルのグループG1に対応する予測モデルのkには1が設定され、サンプルのグループG2に対応する予測モデルのkには2が設定される。また、サンプルのグループG3に対応する予測モデルのkには3が設定され、サンプルのグループG4に対応する予測モデルのkには4が設定される。つまり、この場合には、K=4となる。
【0040】
また、θ
(k)は、予測モデルf
kにおけるパラメータを表している。
【0041】
ここで、クラスタリング部23のクラスタリング処理によりサンプルに付与されたラベルをc
(xi)とした場合に、各ラベルに対する予測モデルの使用割合(モデル割り当て潜在変数)は、Z
c(xi),kと表されるとする。この場合に、その使用割合を考慮した予測モデルは式(2)に表される。
【0042】
より具体例を述べると、予測モデルとして、式(3)に表される確率密度関数族が設定(定義)されているとする。
【0043】
なお、式(3)において、θ:=(β,σ
2)とする(βは平均値(説明変数の線型関数で表す場合には重みともいう)を表し、σは分散を表す)。また、τ∈{1,2,・・・・}である。
【0044】
式(3)に基づくと、各グループG1−G4に対応する予測モデルは、式(4)−式(7)のように表される(定義される)。
【0045】
この第2実施形態では、モデルの機械学習とは、パラメータθ
(k)および使用割合Z
c(xi),kを機械学習することである。指令部25は、その機械学習のために、使用割合計算部26および推定部27の動作を制御する機能を備えている。例えば、指令部25は、訓練データを受け取ると、例えば制御装置21に備えられている記憶部33に予測モデルの使用割合Z
c(xi),kの情報が格納されているか否かを判断し、格納されていないと判断した場合には、使用割合Z
c(xi),kの初期値を設定(生成)する。具体例を挙げると、指令部25は、前記のようなグループG1−G4に対する予測モデルf
1−f
4が設定されている場合には、全ての予測モデルf
1−f
4における使用割合Z
c,kとして同じ定数を設定する。つまり、使用割合Z
c,kは0.25と設定される。また、この場合には、c=1,2,3であり、k=1,2,3,4である。
【0046】
指令部25は、使用割合Z
c,kの情報を取得できた場合には、その使用割合
c,kおよび訓練データを推定部27に出力する。これにより、推定部27が機能し始め、後述するように各予測モデルのパラメータθ
(k)を推定する。指令部25は、推定部27により推定(算出)されたパラメータθ
(k)を推定部27から受け取ると、当該パラメータθ
(k)および訓練データを使用割合計算部28に出力する。これにより、使用割合計算部28が機能し始め、後述するように使用割合Z
c,kを算出する。指令部25は、使用割合計算部28により算出された使用割合Z
c,kを使用割合計算部28から受け取ると、当該使用割合Z
c,kおよび訓練データを推定部27に出力する。
【0047】
このように、指令部25は、推定部27と使用割合計算部28が交互に繰り返し機能するように制御することによって、パラメータθ
(k)および使用割合Z
c(xi),kの機械学習を進める。指令部25は、予め定められた停止条件が満たされるまで、そのような機械学習を継続して行う。停止条件としては、例えば、新たに算出されたパラメータθ
(k)と、当該パラメータθ
(k)が算出される1回前の計算により算出されたパラメータθ
(k)との各成分の差分の二乗和が10
−5以下であるという条件がある。
【0048】
なお、上記例では、指令部25は、使用割合Z
c(xi),kの初期値を設定した後に、推定部27と使用割合計算部28の繰り返し動作を制御している。これに代えて、指令部25は、パラメータθ
(k)の初期値を設定(生成)し、この設定した初期値と訓練データを使用割合計算部28に出力することにより、上記のような推定部27と使用割合計算部28の繰り返し動作の開始を制御してもよい。
【0049】
推定部27は、訓練データと、各ラベルに対する予測モデルf
1−f
4の使用割合Z
c(xi),kとに基づき、かつ、設定部28により設定された予測モデルの情報を適宜利用することにより、パラメータθを推定する機能を備えている。例えば、推定部27は、指令部25から出力された訓練データおよび使用割合の情報Z
c(xi),kに基づいて、式(8)で表される対数尤度が大きくなるように各予測モデルf
1−f
4のパラメータθ
(1)−θ
(4)を計算する。なお、訓練データにおける説明変数ベクトルxの成分の一部が欠損している場合には、補完部24により補完されたデータ(数値)を利用する。
【0050】
対数尤度が大きくなるようにパラメータθを算出する手法には様々な手法があり、推定部27は、それら手法の中から適宜な手法を採用してよい。例えば、推定部27は、計算の複雑化を防止するために、正則化の手法を利用してもよい。また、推定部27は、式(9)に表される連立方程式が解析的に解ける場合には、その計算結果を式(8)に代入することによって、パラメータθを算出(推定)することができる。また、式(9)の連立方程式が解析的に解けない場合には、推定部27は、ニュートン法などの数値計算を用いて、パラメータθを算出(推定)してもよい。
【0051】
なお、式(9)における演算記号∇は、ベクトル微分演算子であるナブラを表す。
【0052】
推定部27が、式(9)を利用してパラメータθ(θ=(β,σ
2))を推定した結果は下記の通りである。
【0053】
なお、X
(k),Y
(k)は、次のように定義されているとする。
【0054】
なお、上記列ベクトル中に表されているd(k)は、予測モデルf
kに対応する当該列ベクトルを構成する成分の総数を表す。
【0055】
推定部27は、推定したパラメータθに関する情報を指令部25に出力する機能と、当該パラメータθに関する情報を例えば制御装置21に備えられている記憶部33に登録する機能とを備えている。
【0056】
使用割合計算部26は、指令部25から出力された訓練データおよびパラメータθの情報に基づき、かつ、設定部28により設定された予測モデルの情報を適宜利用することにより、予測モデルの使用割合Z
c(xi),kを算出する機能を備えている。例えば、使用割合計算部26は、クラスタリング部23のクラスタリング処理による各ラベルのサンプルに対する確率が大きい予測モデルに対して、当該ラベルの予測モデルの使用割合が大きくなるように、当該予測モデルの使用割合を算出する。例えば、使用割合計算部26は、式(10)により表される予測モデルの尤度比に基づいて予測モデルの使用割合Z
c(xi),kを算出する。
【0057】
なお、p
k(c)とτ(c)は、次のように定義されている。
【0058】
使用割合計算部26は、算出した予測モデルの使用割合Z
c(xi),kに関する情報を指令部25に出力する機能と、当該予測モデルの使用割合Z
c(xi),kに関する情報を例えば制御装置21に備えられている記憶部33に登録する機能とを備えている。
【0059】
以下に、第2実施形態の予測モデル学習装置20における予測モデル学習に関わる動作例を
図5のフローチャートを参照しながら説明する。なお、
図5は、第2実施形態の予測モデル学習装置20が実行する予測モデル学習に関わる動作のフローチャートであり、当該フローチャートは、予測モデル学習装置20の制御装置21(CPU)が実行するコンピュータプログラム30の処理手順を表している。
【0060】
例えば、制御装置21(クラスタリング部23)は、当該制御装置21の外部から訓練データを受け取ると、当該訓練データにおける各サンプルにおいて、説明変数ベクトルxの欠損状態を表す欠損パターンを特定する(ステップS101)。そして、クラスタリング部23は、その欠損パターンに基づいて、訓練データのサンプルを分類し、同じ分類のサンプルに同じラベルを付与する。換言すれば、制御装置21(クラスタリング部23)は、その欠損パターンに基づいて、訓練データをクラスタリングする(ステップS102)。
【0061】
然る後に、制御装置21(指令部25)は、予測モデルの使用割合Z
c(xi),kの初期値を設定(生成)する(ステップS103)。なお、その予測モデルは、前記の如く制御装置21に与えられた訓練データに基づいて、設定部28により設定(定義)されたモデルである。
【0062】
その後、制御装置21は、訓練データにおける説明変数ベクトルxの一部の成分が欠損しているか否かを判断する(ステップS104)。これにより、欠損していると判断した場合には、制御装置21(補完部24)は、その欠損している成分を補完する(ステップS105)。
【0063】
その補完処理の後に、あるいは、訓練データにおける説明変数ベクトルxの成分が欠損していない場合には、制御装置21(指令部25)は、停止条件を満たしているか否かを判断する(ステップS106)。そして、指令部25は、停止条件を満たしていないと判断した場合には、使用割合Z
c(xi),kの初期値と訓練データ(補完済みデータ)を推定部27に出力する。これにより、推定部27は、機能を開始し、予測モデルのパラメータθを推定する(ステップS107)。この推定されたパラメータθの情報は、推定部27から指令部25に出力されると共に、記憶部33に登録される。
【0064】
指令部25は、推定部27からパラメータθの情報と訓練データを受け取ると、これらの情報を使用割合計算部26に出力する。これにより、使用割合計算部26は、受け取った情報に基づいて、使用割合Z
c(xi),kを計算する(ステップS108)。この算出された使用割合Z
c(xi),kの情報は、指令部25に出力されると共に、記憶部33に登録される。
【0065】
その後、指令部25は、停止条件を満たしているか否かを判断し(ステップS106)、停止条件を満たしていないと判断した場合には、前記ステップS107以降の動作を繰り返す。指令部25は、停止条件を満たしていると判断した場合には、モデルの機械学習を終了する。
【0066】
上記のような動作により、制御装置21は、訓練データに基づいてモデルを機械学習する。
【0067】
この第2実施形態の予測モデル学習装置20は、上記のように、訓練データに含まれる説明変数ベクトルxの欠損パターンに対する予測モデルの使用割合(モデル割り当て潜在変数)を機械学習している。そして、予測モデル学習装置20は、その予測モデルの使用割合を考慮したモデルを機械学習している。つまり、予測モデル学習装置20は、目的変数に対する説明変数ベクトルxの欠損している成分の関与の度合いが考慮された機械学習を行うことができる。これにより、予測モデル学習装置20は、訓練データ(過去データ)に含まれている説明変数ベクトルxの成分の一部が欠損していても、精度の高い予測を可能にするモデル(予測関数)を生成できる。
【0068】
(その他の実施形態)
なお、本発明は第1や第2の実施形態に限定されず、様々な実施の形態を採り得る。例えば、第2実施形態では、設定部28は、訓練データにおいて説明変数ベクトルxの欠損していない成分のパターンに着目してグループ分けされたサンプルのグループにそれぞれ対応する予測モデルを設定(定義)している。これに代えて、例えば、設定部28は、訓練データにおける説明変数ベクトルxのパターン(欠損パターン)に着目してグループ分けされたサンプルのグループにそれぞれ対応する予測モデルを設定(定義)してもよい。あるいは、設定部28は、訓練データにおける各サンプルの欠損パターンに以外の着目事項に基づいて分けされたサンプルのグループにそれぞれ対応する予測モデルを設定(定義)してもよい。このように、予測モデルを設定(定義)する手法には様々な手法があり、ここでは、何れの手法を利用して予測モデルを設定(定義)してもよい。