(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023093067
(43)【公開日】2023-07-04
(54)【発明の名称】情報処理プログラム、情報処理方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20230627BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021208473
(22)【出願日】2021-12-22
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 浩史
(72)【発明者】
【氏名】後藤 啓介
(72)【発明者】
【氏名】岩下 洋哲
(72)【発明者】
【氏名】▲高▼木 拓也
(72)【発明者】
【氏名】大堀 耕太郎
(72)【発明者】
【氏名】原 聡
(57)【要約】 (修正有)
【課題】説明可能なモデル生成時の計算コストを削減することが可能な情報処理プログラム、情報処理方法及び情報処理装置を提供する。
【解決手段】情報処理装置は、1以上の変数をそれぞれが含む複数の線形モデルについて、各線形モデルに含まれる変数および変数に対する係数符号が一致する線形モデルが同一のグループとなるように、複数の線形モデルを複数のグループに分類する。情報処理装置はまた、複数の線形モデルの学習に使用される学習データに含まれる説明変数それぞれについての重要度の決定に利用される質問を出力して、複数の線形モデルから重要度が反映される線形モデルを選択する際に、質問の回答に基づき選択対象となるグループの減少度合いに基づき、質問の対象とする説明変数を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
1以上の変数をそれぞれが含む複数の線形モデルについて、各線形モデルに含まれる変数および変数に対する係数符号が一致する線形モデルが同一のグループとなるように、前記複数の線形モデルを複数のグループに分類し、
前記複数の線形モデルの学習に使用される学習データに含まれる説明変数それぞれについての重要度の決定に利用される質問を出力して、前記複数の線形モデルから前記重要度が反映される線形モデルを選択する際に、質問の回答に基づき選択対象となるグループの減少度合いに基づき、質問の対象とする説明変数を決定する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項2】
前記学習データに含まれる各説明変数について、重要な説明変数と仮定した場合の第1重要度と重要な説明変数ではないと仮定した場合の第2重要度とのそれぞれを組み合わせて定式化した前記複数の線形モデルを生成する、処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記決定する処理は、
前記各説明変数について、前記第1重要度を含む線形モデルが属するグループの数である第1のグループ数と、前記第2重要度を含む線形モデルが属するグループの数である第2のグループ数とを算出し、
前記第1のグループ数と前記第2のグループ数との合算値が最も少なくなる説明変数を、前記質問の対象とする説明変数に決定する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記決定する処理は、
前記質問の対象とする説明変数が重要であるか否かをユーザに質問し、
前記質問に対する回答を取得し、
前記回答と合致しない重要度の説明変数を含む線形モデルが属するグループを前記複数のグループから削除する、ことを特徴とする請求項3に記載の情報処理プログラム。
【請求項5】
前記決定する処理は、
削除後のグループ数が閾値未満である場合は、削除後のグループ数に属する線形モデルの少なくとも1つを出力し、
削除後のグループ数が閾値以上である場合は、削除後のグループ数に属する線形モデルを用いて、前記合算値の算出および前記質問の対象とする説明変数の決定を実行する、ことを特徴とする請求項4に記載の情報処理プログラム。
【請求項6】
コンピュータが、
1以上の変数をそれぞれが含む複数の線形モデルについて、各線形モデルに含まれる変数および変数に対する係数符号が一致する線形モデルが同一のグループとなるように、前記複数の線形モデルを複数のグループに分類し、
前記複数の線形モデルの学習に使用される学習データに含まれる説明変数それぞれについての重要度の決定に利用される質問を出力して、前記複数の線形モデルから前記重要度が反映される線形モデルを選択する際に、質問の回答に基づき選択対象となるグループの減少度合いに基づき、質問の対象とする説明変数を決定する、
処理を実行することを特徴とする情報処理方法。
【請求項7】
1以上の変数をそれぞれが含む複数の線形モデルについて、各線形モデルに含まれる変数および変数に対する係数符号が一致する線形モデルが同一のグループとなるように、前記複数の線形モデルを複数のグループに分類し、
前記複数の線形モデルの学習に使用される学習データに含まれる説明変数それぞれについての重要度の決定に利用される質問を出力して、前記複数の線形モデルから前記重要度が反映される線形モデルを選択する際に、質問の回答に基づき選択対象となるグループの減少度合いに基づき、質問の対象とする説明変数を決定する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
AI(Artificial Intelligence)技術が普及し、ブラックボックスなモデルの判断を鵜呑みにできない、人間にとって解釈可能な判断の根拠を示してほしいなど、説明可能な機械学習モデルの需要が増加している。このことから、ルールリスト、決定木、線形モデルなどのホワイトボックスモデルを予め用いることも行われるが、ホワイトボックスなモデルを単に用いるだけでは、人間にとって解釈可能なモデルとは限らない。
【0003】
現場知識にそぐわないAIモデルは、ユーザの納得感が低くなることから、学習データの説明変数のうちどれがAIモデルに出現するかが重要である。例えば、線形モデルでは、説明変数に係数で重み付けが行われることから、出現する説明変数により、ユーザの納得感も変化する。
【0004】
近年では、モデル生成と人間へのフィードバックとを繰り返す対話型アプローチにより、人間が納得できて精度がよいモデルを生成することが行われている。例えば、説明変数の重要度を導入した定式化により線形モデルを生成し、説明変数を1つ選択し、重要と思っているか否かをユーザに質問することを繰り返して説明変数を決定する。このとき、質問する説明変数には質問後に真の最適解に近づくと推測されるものが選択される。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記技術では、未質問の説明変数がk個あれば、2k通りのモデル候補から提案のモデルをランダムに選択する。このため、ユーザの納得感を高めるために多数の説明変数に対して質問を行うことが望ましく、その場合計算コストが非常にかかる。
【0007】
一つの側面では、説明可能なモデル生成時の計算コストを削減することができる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の案では、情報処理プログラムは、コンピュータに、1以上の変数をそれぞれが含む複数の線形モデルについて、各線形モデルに含まれる変数および変数に対する係数符号が一致する線形モデルが同一のグループとなるように、前記複数の線形モデルを複数のグループに分類し、前記複数の線形モデルの学習に使用される学習データに含まれる説明変数それぞれについての重要度の決定に利用される質問を出力して、前記複数の線形モデルから前記重要度が反映される線形モデルを選択する際に、質問の回答に基づき選択対象となるグループの減少度合いに基づき、質問の対象とする説明変数を決定する、処理を実行させることを特徴とする。
【発明の効果】
【0009】
一実施形態によれば、説明可能なモデル生成時の計算コストを削減することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施例1にかかる情報処理装置を説明する図である。
【
図2】
図2は、説明変数と係数との関係を説明する図である。
【
図3】
図3は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図4】
図4は、学習データの一例を説明する図である。
【
図5】
図5は、複数の線形モデルと同値類によるグループ化を説明する図である。
【
図6】
図6は、質問に対する同値類の残数の変化を説明する図である。
【
図7】
図7は、質問する説明変数の選択を説明する図である。
【
図8】
図8は、質問に用いる画面例を説明する図である。
【
図9】
図9は、説明変数2が有用ではない場合の結果と再質問を説明する図である。
【
図10】
図10は、説明変数4が重要である場合の結果を説明する図である。
【
図11】
図11は、線形モデル出力時の画面例を説明する図である。
【発明を実施するための形態】
【0011】
以下に、本発明にかかる情報処理プログラム、情報処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0012】
[情報処理装置の説明]
図1は、実施例1にかかる情報処理装置10を説明する図である。
図1に示すように、情報処理装置10は、ユーザ5へ質問を繰り返す対話型アプローチにより、ユーザ5が納得できて精度がよいモデルを生成するコンピュータの一例である。
【0013】
近年利用されている説明可能なモデルでは、モデルの生成環境、モデルを適用する適用環境などの現場知識にそぐわないモデルが生成されることもあり、ユーザの納得感が低いことがある。例えば、線形モデル(以下では、単に「モデル」と記載する場合がある)を例にして説明すると、線形モデルでは、説明変数に係数で重み付けを行うことから、ユーザの納得感を高めるには、学習データに含まれる説明変数のうちどれがモデルに出現するかが重要である。
【0014】
図2は、説明変数と係数との関係を説明する図である。
図2に示すように、学習データの説明変数が「温度」、「圧力」、「回転数」などであり、それぞれの係数が「0」、「0.5」、「-0.3」であるとする。この場合、納得感は、出現する説明変数の係数により変化する。重要な説明変数は、係数が0でないことが望ましい。つまり、
図2の例では、説明変数「温度」の係数が0であることから、説明変数「温度」が重要なユーザにとっては納得ができないモデルとなる。
【0015】
このようなことから、対話型アプローチが利用されている。具体的には、情報処理装置10は、説明変数の重要度を導入した定式化により線形モデルを生成し、説明変数を1つ選択し、それを重要と思っているか否かをユーザに質問することを繰り返すことで、各説明変数の重要度を判定する。このとき、情報処理装置10は、質問する説明変数には質問後に真の最適解に近づくと推測されるものを選択する。
【0016】
ところが、この手法では、未質問の説明変数について重要か否かがランダムに仮定されており、提案される線形モデルは考えうるモデルの一部からランダムに選択されていることになる。つまり、ユーザの納得感を高めるために多数の説明変数に対して質問を行うことが望ましいが、その場合、説明可能なモデル生成時の計算コストが高い。
【0017】
そこで、実施例1にかかる情報処理装置10は、1以上の変数をそれぞれが含む複数の線形モデルについて、各線形モデルに含まれる変数および変数に対する係数符号が一致する線形モデルが同一のグループ(同値類)となるように、複数の線形モデルを複数のグループに分類する。そして、情報処理装置10は、複数の線形モデルの学習に使用される学習データに含まれる説明変数それぞれについての重要度の決定に利用される質問を出力して、複数の線形モデルから重要度が反映された線形モデルを選択する際に、質問の回答に基づき選択対象となるグループの減少度合いに基づき、質問の対象とする説明変数を決定する。
【0018】
具体的には、
図1に示すように、情報処理装置10は、学習データの各説明変数を重要視するかしないかを組合せた複数の線形モデルを生成し、複数の線形モデルを、係数が一致かつ係数の符号化が一致する同値類によりグループ化する。その後、情報処理装置10は、同値類の残により質問する説明変数iの選択、説明変数iが重要か否かの質問、質問の返答による線形モデルの絞り込みを繰り返すことで、ユーザに適した線形モデルを、対話的かつユーザにとって少ない負担で生成する。
【0019】
つまり、情報処理装置10は、ユーザに適したモデルがいずれかの同値類と等価になるように、線形モデルを係数符号の同値類に分割し、候補となる同値類の個数を大きく削減するように質問する説明変数を選択し同値類を効率的に絞り込む。この結果、情報処理装置10は、説明可能なモデル生成時の計算コストを削減し、処理負荷の低減および処理時間の短縮を実現することができる。
【0020】
[情報処理装置の機能構成]
図3は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図3に示すように、情報処理装置10は、通信部11、出力部12、記憶部13、制御部20を有する。
【0021】
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどにより実現される。例えば、通信部11は、管理者の端末との間で、各種データの送受信を実行する。
【0022】
出力部12は、各種情報を表示出力する処理部であり、例えばディスプレイやタッチパネルなどにより実現される。例えば、出力部12は、後述する各種画面を表示し、画面上で返答を受け付ける。
【0023】
記憶部13は、各種データや制御部20が実行する各種プログラムを記憶する処理部であり、例えばメモリやハードディスクなどにより実現される。この記憶部13は、学習データDB14、モデルDB15を記憶する。
【0024】
学習データDB14は、線形モデルの学習(訓練)に利用される学習データ(訓練データ)を記憶するデータベースである。ここで記憶される学習データは、複数の説明変数を有する。
図4は、学習データの一例を説明する図である。
図4に示すように、学習データDB14は、各学習データを識別するデータ名と各学習データが有する複数の説明変数とを対応付けて記憶する。
図4の例では、学習データAは、説明変数A1、説明変数A2、説明変数A3を有する例を示している。なお、説明変数は、例えば温度などである。また、各学習データが教師あり学習に利用されるデータである場合には、正解情報であるラベルがさらに設定される。
【0025】
モデルDB15は、複数の線形モデルを記憶するデータベースである。ここで記憶される各線形モデルは、詳細については後述するが、後述するモデル生成部21により生成されるモデルであり、現場知識に合致させるために生成されたモデルである。
【0026】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、モデル生成部21、質問部22を有する。なお、モデル生成部21、質問部22は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0027】
モデル生成部21は、学習データに基づき複数の線形モデルを生成する処理部である。具体的には、Lassoなどの手法を用いて、説明変数の重要度を導入した定式化により、重要度の割り当て方が異なる複数の線形モデルを生成して、モデルDB15に格納する。
【0028】
例えば、モデル生成部21は、式(1)に示す線形モデルを生成する。式(1)に示す線形モデルLは、精度の制御を示す第1項と、出現する説明変数の制御を示す第2項との和により定義される。ここで、Xは、学習データの説明変数であり、yは、学習データの目的変数(ラベル)である。また、βiは、説明変数iの係数であり、ρiは、説明変数iの重要度である。なお、ρiは、ε、w(0<ε<w<∞、ユーザパラメータ)のいずれかであり、ユーザに質問しなければ特定できない変数である。なお、ρi=εの場合は、説明変数iが重要な要素と処理され、ρi=wの場合は、説明変数iが重要ではない要素と処理される。このように、モデル生成部21は、ρの値により、説明変数の重要度を設定することができる。
【0029】
【0030】
実施例1において、モデル生成部21は、学習データに含まれる各説明変数について、重要な説明変数と仮定した場合の第1重要度(ρ=ε)と重要な説明変数ではないと仮定した場合の第2重要度(ρ=w)とのそれぞれを組み合わせて定式化した前記複数の線形モデルを生成する。
【0031】
具体的には、モデル生成部21は、各説明変数について、重要である場合(ρ=ε)と、重要ではない場合(ρ=w)とする各組合せにより、複数の線形モデルを生成する。例えば、モデル生成部21は、学習データの説明変数がα1とα2の2つである場合、α1を重要視する(係数ρi=ε)、α2を重要視しない(係数ρi=w)、α2を重要視する(係数ρ2=ε)、α2を重要視しない(係数ρi=w)を組み合わせた4つの線形モデルを生成する。
【0032】
つまり、モデル生成部21は、モデルを「モデル名、ρ(説明変数1の重要度,説明変数2の重要度)」で表した場合、「モデル1、ρ(ε,ε)」、「モデル2、ρ(w,ε)」、「モデル3、ρ(ε,w)」、「モデル4、ρ(w,w)」の4つのモデルを生成する。
【0033】
質問部22は、説明変数が重要であるか否かをユーザに質問する処理部である。具体的には、質問部22は、(1)複数の線形モデルを係数符号の同値類に分割し、(2)考慮すべき同値類の個数が大きく減るような説明変数について質問し、(3)質問に対する返答により線形モデルの絞り込みを行う一連の処理を繰り返す。
【0034】
ここで、一連の処理内の各処理について説明する。なお、ここでは、学習データが4つの説明変数を有し、各説明変数iの係数βiが算出された、重要度の割り当て方が異なる16個の線形モデル(M1からM16)が生成された例で説明する。
【0035】
(1)複数の線形モデルの分類(グループ化)
図5は、複数の線形モデルと同値類によるグループ化を説明する図である。
図5に示すように、モデル生成部21により、M1からM16の16個の線形モデルが生成される。なお、各モデルは、「モデル名、重要度ρ(説明変数1が重要であるか否か(εまたはw),説明変数2が重要であるか否か,説明変数3が重要であるか否か,説明変数4が重要であるか否か)、各説明変数の係数」で表すとする。例えば、「M、ρ(ε,w)、β
1=0.1、β
2=-0.5」の場合、説明変数1を重要視し、説明変数2を重要視しない計算を実行する線形モデルであり、説明変数1の係数として「β
1=0.1」、説明変数2の係数として「β
2=-0.5」が設定される線形モデルであることを示す。
【0036】
M1は、ρ(ε,ε,ε,ε)、説明変数1の係数β1=0、説明変数2の係数β2=-0.5、説明変数3の係数β3=0.3、説明変数4の係数β4=0.6を有するモデルである。M2は、ρ(ε,ε,ε,w)、係数β1=0、係数β2=-0.5、係数β3=0.3、係数β4=0.6を有するモデルである。M3は、ρ(ε,ε,w,ε)、係数β1=-0.5、係数β2=0、係数β3=0.4、係数β4=0.5を有するモデルである。M4は、ρ(ε,ε,w,w)、係数β1=0、係数β2=-0.1、係数β3=0.3、係数β4=0.5を有するモデルである。
【0037】
M5は、ρ(ε,w,ε,ε)、係数β1=0.4、係数β2=-0.9、係数β3=0、係数β4=0.8を有するモデルである。M6は、ρ(ε,w,ε,w)、係数β1=0、係数β2=-0.8、係数β3=0、係数β4=0.9を有するモデルである。M7は、ρ(ε,w,w,ε)、係数β1=0.1、係数β2=-0.3、係数β3=0、係数β4=0.9を有するモデルである。M8は、ρ(ε,w,w,w)、係数β1=0、係数β2=-0.3、係数β3=0、係数β4=0.9を有するモデルである。
【0038】
M9は、ρ(w,ε,ε,ε)、係数β1=-0.1、係数β2=0、係数β3=1.0、係数β4=0.1を有するモデルである。M10は、ρ(w,ε,ε,w)、係数β1=0、係数β2=-0.2、係数β3=0.8、係数β4=0.1を有するモデルである。M11は、ρ(w,ε,w,ε)、係数β1=-0.2、係数β2=0、係数β3=1、係数β4=0.1を有するモデルである。M12は、ρ(w,ε,w,w)、係数β1=0、係数β2=-0.1、係数β3=0.9、係数β4=0.1を有するモデルである。
【0039】
M13は、ρ(w,w,ε,ε)、係数β1=0.1、係数β2=-0.1、係数β3=0.1、係数β4=0.6を有するモデルである。M14は、ρ(w,w,ε,w)、係数β1=0、係数β2=-0.7、係数β3=0.2、係数β4=0.6を有するモデルである。M15は、ρ(w,w,w,ε)、係数β1=0.4、係数β2=-0.3、係数β3=0.2、係数β4=0.5を有するモデルである。M16は、ρ(w,w,w,w)、係数β1=0、係数β2=-0.1、係数β3=0.3、係数β4=0.5を有するモデルである。
【0040】
このような状態において、質問部22は、すべて説明変数の係数符号が同じモデルをまとめたものである同値類により、各モデルをグループ化する。例えば、質問部22は、係数(βi)がすべて同じであるM1、M2、M4、M10、M12、M14、M16をグループ1(G1)に分類する。同様に、質問部22は、係数(βi)がすべて同じであるM3、M9、M11をグループ2(G2)に分類し、係数(βi)がすべて同じであるM5とM7をグループ3(G3)に分類し、係数(βi)がすべて同じであるM6とM8をグループ4(G4)に分類し、係数(βi)がすべて同じであるM13とM15をグループ5(G5)に分類する。すなわち、質問部22は、複数の線形モデルを5つのグループに分類する。
【0041】
(2)考慮すべき同値類の個数が大きく減るような説明変数について質問
次に、質問部22は、各説明変数について、重要であったときの残りの同値類の個数と重要でなかったときの残りの同値類の個数とを算出し、上記の値が最もバランスしかつ小さい説明変数(半々に近いもの)を質問対象に選択する。
【0042】
図6は、質問に対する同値類の残数の変化を説明する図である。
図6に示すように、質問部22は、4グループに分類された複数の線形モデルに対して、仮に、説明変数1(i=1)が重要であるかと質問を行った場合に、重要であるとする返答(はい)、重要ではない返答(いいえ)のそれぞれについて、同値類の残数を計算する。
【0043】
例えば、質問部22は、説明変数1が重要であると仮定した場合、
図6の(a)に示すように、説明変数1に「ε」が設定されているM1、M2、M3、M4、M5、M6、M7、M8を抽出し、同値類のグループ数を4(G1、G2、G3、G4)と算出する。つまり、質問部22は、説明変数1が重要であると仮定した場合、同値類のグループが5から4に変化するので、同値類の残数を4と特定する。
【0044】
一方、質問部22は、説明変数1が重要ではないと仮定した場合、
図6の(b)に示すように、説明変数1に「w」が設定されているM9、M10、M11、M12、M13、M14、M15、M16を抽出し、同値類のグループ数を3(G1、G2、G5)と算出する。つまり、質問部22は、説明変数1が重要ではないと仮定した場合、同値類のグループが5から3に変化するので、同値類の残数を3と特定する。
【0045】
上述した手法を用いて、質問部22は、各説明変数が重要であるか重要でないかのそれぞれについて、同値類の残数を算出し、最も同値類の残数が減少する説明変数を質問対象に選択する。
図7は、質問する説明変数の選択を説明する図である。
図7に示すように、質問部22は、説明変数1を選択して質問し、返答が「はい(重要である)」の場合は同値類の残数が4、返答が「いいえ(重要ではない)」の場合は同値類の残数が3と算出する。同様に、質問部22は、説明変数2を選択して質問し、返答が「はい」の場合は同値類の残数が2、返答が「いいえ」の場合は同値類の残数が4と算出し、説明変数3を選択して質問し、返答が「はい」の場合は同値類の残数が5、返答が「いいえ」の場合は同値類の残数が5と算出し、説明変数4を選択して質問し、返答が「はい」の場合は同値類の残数が4、返答が「いいえ」の場合は同値類の残数が2と算出する。
【0046】
この結果、質問部22は、説明変数1に対する残数の合計が7、説明変数2に対する残数の合計6、説明変数3に対する残数の合計が10、説明変数4に対する残数の合計が6であり、最も同値類の残数が減少する説明変数が説明変数2と説明変数4であることを特定し、この2つのうちランダムに選択した説明変数2を質問対象に選択する。
図8は、質問に用いる画面例を説明する図である。
図8に示すように、質問部22は、説明変数が重要であるか否かを選択させる画面を、出力部12に表示したり、ユーザ端末に送信したりする。この画面には、「説明変数[XXX]は重要ですか」などのメッセージ、重要である場合に選択されるボタン「はい」と、重要はない場合に選択されるボタン「いいえ」が含まれる。
【0047】
(3)質問に対する返答により線形モデルの絞り込み
次に、質問部22は、(2)で選択された説明変数2についての質問の実際の回答に基づき、ユーザの納得感が高い線形モデルを絞り込む。そして、質問部22は、絞り込んだ複数の線形モデルに対して、(2)で説明した処理を実行し、次の説明変数について質問を実行する。
【0048】
図9は、説明変数2が有用ではない場合の結果と再質問を説明する図である。
図9に示すように、質問部22は、説明変数2が重要か否かの質問に対して、ユーザ5から「重要である(はい)」の返答を受信すると、4つのρのうち2番目のρが「w」である線形モデル(M5、M6、M7、M8、M13、M14、M15、M16)を対象外とする。そして、質問部22は、残った線形モデル(M1、M2、M3、M4、M9、M10、M11、M12)を用いて、説明変数1、説明変数3、説明変数4の中から、(2)で説明した処理により、質問対象を選択する。
【0049】
具体的には、
図9に示すように、質問部22は、説明変数1を選択して質問し、返答が「はい(重要である)」の場合は同値類の残数が2、返答が「いいえ(重要ではない)」の場合は同値類の残数が2と算出する。同様に、質問部22は、説明変数3を選択して質問し、返答が「はい」の場合は同値類の残数が2、返答が「いいえ」の場合は同値類の残数が2と算出し、説明変数4を選択して質問し、返答が「はい」の場合は同値類の残数が2、返答が「いいえ」の場合は同値類の残数が1と算出する。
【0050】
この結果、質問部22は、説明変数1に対する残数の合計が4、説明変数3に対する残数の合計が40、説明変数4に対する残数の合計が3であり、最も同値類の残数が減少する説明変数が説明変数4であることを特定し、説明変数4を質問対象に選択する。そして、質問部22は、
図8に示した画面を用いて、説明変数4が重要であるか否かをユーザ5に問い合わせる。
【0051】
その後、質問部22は、説明変数4が重要であるか否かの質問について、ユーザ5より「重要ではない(いいえ)」の返答を受信したとする。
図10は、説明変数4が重要である場合の結果を説明する図である。
図10に示すように、質問部22は、
図9に示した線形モデルのうち、4つのρのうち4番目のρが「ε」である線形モデル(M1、M3、M9、M11)を対象外とする。そして、質問部22は、残った線形モデル(M2、M4、M10、M12)の同値類(グループ)が閾値以下(例えば1)であることから、これらの4つのモデルすべてもしくは4つのモデルからランダムに選択された1つ以上のモデルを、ユーザ5に出力(提供)する。
【0052】
図11は、線形モデル出力時の画面例を説明する図である。
図11に示すように、質問部22は、「あなたに適したモデルが完成しました。下のボタンでダウンロードできます。」などのメッセージを含む画面を、出力部12に表示したり、ユーザ端末に送信したりする。この画面には、ボタン「ダウンロード」が含まれており、このボタン「ダウンロード」が選択されると、質問部22は、上述した4つのモデルすべてもしくは4つのモデルからランダムに選択された1つ以上のモデルを、ユーザ端末等に出力する。
【0053】
この結果、ユーザ5は、自身が重要視する説明変数を用いる学習が実行できる線形モデルを取得し、学習データを用いた学習により、現場知識を反映させた適切な線形モデルを生成することができる。なお、モデルの学習(訓練)は、情報処理装置10が実行することもできる。
【0054】
[処理の流れ]
図12は、処理の流れを示すフローチャートである。
図12に示すように、情報処理装置10の制御部20は、学習データDB14から学習データを取得し(S101)、学習データの説明変数に基づき、複数の線形モデルの生成、同値類の算出、グループ化を実行する(S102)。
【0055】
続いて、制御部20は、同値類が残り1つではない場合(S103:No)、各説明変数について、重要である場合と重要ではない場合との同値類の残数を算出する(S104)。そして、制御部20は、重要な場合とそうでない場合で同値類の残数のバランスがよく、より残数が少ない説明変数について質問を実行する(S105)。そして、制御部20は、ユーザの返答を受け取り、同値類を絞り込む(S106)。
【0056】
その後、制御部20は、S103に戻って、同値類が残り1つか否かを判定し(S103)、同値類が残り1つではない場合(S103:No)、S104以降を繰り返す。一方、制御部20は、同値類が残り1つである場合(S103:Yes)、同値類内の線形モデルを1つ出力する(S107)。
【0057】
[効果]
上述したように、情報処理装置10は、線形モデルを係数符号の同値類に分割することでユーザに適した線形モデルがいずれかの同値類と等価とすることができる。情報処理装置10は、候補となる同値類の個数を大きく削減するように、質問する説明変数を選択し同値類を効率的に絞り込むことができる。この結果、情報処理装置10は、少ない回数でユーザに適した線形モデルを生成することができ、説明可能なモデル生成時の計算コストを削減することができる。
【0058】
また、質問が多くなると、途中であきらめてしまうユーザの多発が考えられるが、実施例1による手法では、説明変数がk個ある場合でも、全説明変数について質問する必要がないので、ユーザが最後まで返答する可能性が高くなる。この結果、情報処理装置10は、処理の高速化の観点と、ユーザの現場知識を考慮した線形モデルの提供の観点との両方の観点から、納得度の高いサービス提供および納得度の高い線形モデルの提供を実現することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
このように、情報処理装置10は、プログラムを読み出して実行することで情報処理方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、上記実施例が同様に適用されてもよい。
このプログラムは、インターネットなどのネットワークを介して配布されてもよい。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。