以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
図1は、実施例1の計算機システムの構成の一例を示す図である。
計算機システムは、計算機100-1、100-2、100-3、及び端末101から構成される。計算機100-1、100-2、100-3、及び端末101は、WAN(Wide Area Network)及びLAN(Local Area Network)等のネットワーク105を介して互いに接続される。ネットワーク105の接続方式は、有線及び無線のいずれでもよい。
以下の説明では、計算機100-1、100-2、100-3を区別しない場合、計算機100と記載する。
端末101は、ユーザが操作する計算機であり、図示しない、プロセッサ、主記憶装置、副記憶装置、ネットワークインタフェース、入力装置、及び出力装置を有する。端末101は、テストデータを格納するテストデータデータベース140を管理する。テストデータデータベース140は、予測器121の予測精度を検証するためのテストデータを格納する。テストデータは複数の項目の特徴量から構成される。
本明細書では、予測精度の検証に用いるテストデータデータベース140に格納される複数のテストデータをテストデータセットと記載する。
なお、端末101は、テストデータデータベース140を管理していなくてもよい。この場合、学習データデータベース122に格納される一部の学習データがテストデータとして扱われる。
計算機100-1は、端末101からの操作を受け付けるUI(User Interface)を提供する計算機である。計算機100-1は、データ受付部110及び結果出力部111を有する。
データ受付部110は、UIを介して、端末101からの入力を受け付ける。結果出力部111は、UIを介して、計算機100-2、100-3が実行した処理の結果を出力する。
計算機100-2は、モデル(予測器121)を構築するための学習処理を実行し、また、モデルを用いて任意の事象の予測を行う。計算機100-2は、学習部120、予測器121を有し、また、学習データデータベース122を管理する。
予測器121は、入力されたデータを用いて、任意の事象の予測を行う。学習部120は、予測器121を構築するための学習処理を実行する。学習データデータベース122は、学習処理に使用する学習データを格納する。学習データは複数の項目の特徴量及び正解ラベルから構成される。
本明細書では、学習処理に用いる複数の学習データを学習データセットと記載する。後述するように、学習データデータベース122に格納される学習データの中から学習データセットに含める学習データが選択される。
計算機100-3は、予測器121を構築するために使用する学習データを選択する。ここで、「予測器121の構築」は、新規に予測器121を構築すること、及び、再学習によって予測器121を再構築することを含む概念である。計算機100-3は、影響スコア算出部130及び学習データ選択部131を有し、また、影響度情報132及び影響スコア情報133を管理する。
影響スコア算出部130は、学習データが、テストデータセットに対する予測器121の予測精度に与える影響の強さを表す影響スコアを算出する。本実施例の影響スコアは、任意のテストデータに対する予測を行う場合に、学習データが予測器121の予測精度に与える影響の強さを表す影響度を用いて算出される。影響度は、非特許文献1に記載の算出方法を用いて算出できる。なお、本実施例は、影響スコア及び影響度の算出方法に限定されない。
ここで、非特許文献1に記載の影響度の算出方法について説明する。影響スコア算出部130は、複数の学習データ、テストデータ、及び予測器121を用いて、評価対象の学習データを学習データセットに含めた場合の予測器121のパラメータの変動傾向を示す値を算出し、また、予測器121のパラメータを変動させた場合における任意のテストデータに対する予測結果の変動傾向を示す値を算出する。影響スコア算出部130は、二つの値を用いて影響度を算出する。影響スコア算出部130は、一つの評価対象の学習データについて、テストデータの数だけ影響度を算出する。影響度が正の場合、予測器121の予測精度を向上することを示し、影響度が負の場合、予測器121の予測精度が低下することを示す。
影響度を用いて算出される影響スコアは、テストデータ群に対する予測において、学習データが予測器121の予測精度に与える影響の強さを表す。
学習データ選択部131は、学習データの影響スコアに基づいて、学習データセットに含める学習データを選択する。
影響度情報132は、学習データの影響度を管理するための情報である。影響度情報132のデータ構造については図3を用いて説明する。影響スコア情報133は、学習データの影響スコアを管理するための情報である。影響スコア情報133のデータ構造については図4を用いて説明する。
ここで、計算機100のハードウェア構成について説明する。図2は、実施例1の計算機100のハードウェア構成の一例を示す図である。
計算機100は、プロセッサ201、主記憶装置202、副記憶装置203、及びネットワークインタフェース204を有する。各ハードウェア構成は内部バスを介して互いに接続される。なお、計算機100は、副記憶装置203を有していなくてもよい。また、計算機100は、入力装置及び出力装置を有してもよい。
プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、影響スコア算出部130等、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ201が当該機能部を実現するプログラムを実行していることを示す。
主記憶装置202は、プロセッサ201が実行するプログラム及び当該プログラムが使用する情報を格納する。また、主記憶装置202は、プログラムが一時的に使用するワークエリアを含む。
計算機100-1の主記憶装置202には、データ受付部110及び結果出力部111を実現するためのプログラムが格納される。計算機100-2の主記憶装置202には、学習部120及び予測器121を実現するためのプログラムが格納される。計算機100-3の主記憶装置202には、影響スコア算出部130及び学習データ選択部131を実現するためのプログラムが格納される。
副記憶装置203は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等、データを永続的に格納する。
計算機100-2の副記憶装置203は、学習データデータベース122を格納する。なお、学習データデータベース122は、計算機100-2がアクセス可能なストレージシステムに格納されてもよい。計算機100-3の副記憶装置203は、影響度情報132及び影響スコア情報133を格納する。
なお、各計算機100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。また、各計算機100が有する機能部を一つの計算機100にまとめてもよい。
図3は、実施例1の影響度情報132のデータ構造の一例を示す図である。
影響度情報132は、行列形式のデータであり、行は学習データに対応し、列はテストデータに対応する。
L_iはi行目の学習データの識別情報を表し、T_hはh列目のテストデータの識別情報を表す。セルには影響度が格納される。例えば、i行h列には、テストデータ(T_h)に対する予測を行う場合に、学習データ(L_i)が予測器121の予測精度に与える影響の強さを表す影響度が格納される。一つの行は、影響度を成分とするベクトルとして扱うことができる。以下の説明では、影響度を成分とするベクトルを学習データの影響度ベクトルと記載する。
したがって、影響度情報132は、影響度ベクトルを羅列することによって生成された影響度行列を管理するための情報である。
図4は、実施例1の影響スコア情報133のデータ構造の一例を示す図である。
影響スコア情報133は、学習データID401及び影響スコア402から構成されるエントリを複数含む。一つのエントリが一つの学習データに対応する。
学習データID401は、学習データの識別情報を格納するフィールドである。影響スコア402は、学習データの影響スコアを格納するフィールドである。
図5は、実施例1のデータ受付部110によって提供されるGUIの一例を示す図である。
GUI500は、学習データの選択処理を実行する場合に提供されるUIであり、端末101の出力装置に表示される。GUI500は、モデル設定欄510、テストデータ設定欄520、出力選択欄540、及び実行ボタン550を含む。
モデル設定欄510は、予測器121に関する設定を行うための欄である。モデル設定欄510は、ラジオボタン511、ラジオボタン512、及びモデルデータ設定欄513を含む。ラジオボタン511は、予測器121が構築済みである場合に選択される。ラジオボタン512は、予測器121が構築されていない場合に選択される。モデルデータ設定欄513は、予測器121を構築するためのモデルデータを設定する欄である。モデルデータ設定欄513には、モデルデータの格納場所を示すパス又はモデルデータに対応するファイル等が設定される。ラジオボタン512が操作された場合に、モデルデータ設定欄513への入力が有効化される。
テストデータ設定欄520は、テストデータセットに関する設定を行うための欄である。テストデータ設定欄520は、ラジオボタン521、ラジオボタン522、及びテストデータセット設定欄523を含む。ラジオボタン521は、テストデータセットを入力する場合に選択される。ラジオボタン522は、テストデータセットを入力しない場合に選択される。テストデータセット設定欄523は、入力するテストデータセットを設定するための欄である。テストデータセット設定欄523には、テストデータセットの格納場所を示すパス又はテストデータセットに対応するファイル等が設定される。ラジオボタン521が操作された場合に、テストデータセット設定欄523への入力が有効化される。
出力選択欄540は、出力する情報を選択するための欄である。出力選択欄540は、チェックボックス541、チェックボックス542、チェックボックス543、及びチェックボックス544を含む。チェックボックス541は、影響スコア及び影響度に関する情報を出力する場合に選択される。チェックボックス542は、影響スコアに基づいて選択された学習データを含む学習データセットを出力する場合に選択される。チェックボックス543は、学習データセットを用いて構築された予測器121を出力する場合に選択される。チェックボックス544は、影響度情報132のクラスタリングを実行する場合に選択される。チェックボックス541が操作された場合に、チェックボックス544への入力が有効化される。
以下の説明では、チェックボックス541に対応する要求を影響スコア出力要求と記載し、チェックボックス542に対応する要求を学習データ出力要求と記載し、チェックボックス543に対応する要求を予測器出力要求と記載する。なお、チェックボックス544が操作された場合、影響スコア出力要求にはクラスタリングを実行することを指示するフラグが含まれる。
実行ボタン550は、処理の実行を指示するための操作ボタンである。ユーザが実行ボタン550を操作した場合、モデル設定欄510、テストデータ設定欄520、及び出力選択欄540のそれぞれに設定した情報を含む実行要求がデータ受付部110に送信される。データ受付部110は、実行要求を受信した場合、計算機100-3に開始指示を送信する。なお、開始指示には、GUI500を介して設定された各種情報が含まれる。
図6は、実施例1の計算機100-3が実行する処理を説明するフローチャートである。
計算機100-2は、実行要求を受け付けた計算機100-1から処理の開始指示を受信した場合、以下で説明する処理を実行する。
影響スコア算出部130は、初期化処理を実行する(ステップS101)。具体的には、以下のような処理が実行される。
(A1)影響スコア算出部130は、学習データデータベース122から複数の学習データを取得する。
影響スコア算出部130は、開始指示にテストデータ設定欄520のラジオボタン521の操作情報が含まれる場合、学習データデータベース122から取得した複数の学習データから学習データのグループを生成し、開始指示に含まれるテストデータセットからテストデータのグループを生成する。影響スコア算出部130は、各グループに含まれるデータに識別番号を付与する。
影響スコア算出部130は、開始指示にテストデータ設定欄520のラジオボタン522の操作情報が含まれる場合、学習データデータベース122から取得した複数の学習データの中から、所定の数の学習データをテストデータとして選択する。影響スコア算出部130は、テストデータとして選択された学習データを除く複数の学習データから学習データのグループを生成し、また、所定の数のテストデータからテストデータのグループを生成する。影響スコア算出部130は、各グループに含まれるデータに識別番号を付与する。
なお、本実施例は、学習データデータベースからテストデータを選択する方法に限定されない。例えば、影響スコア算出部130は、ランダムにテストデータが選択する。なお、テストデータの数は任意に設定できる。当該数は任意のタイミングで更新できる。
(A2)影響スコア算出部130は、開始指示にモデルデータが含まれる場合、当該モデルデータを含む予測器121の生成指示を計算機100-2に送信する。この場合、計算機100-2は、モデルデータに基づいて予測器121を生成する。予測器121のパラメータには初期値が設定される。
(A3)影響スコア算出部130は、影響度情報132及び影響スコア情報133を初期化する。
以上がステップS101の処理の説明である。
次に、影響スコア算出部130は、変数Jを初期化し(ステップS102)、また、変数Kを初期化する(ステップS103)。変数Jはテストデータの識別番号を表す変数であり、変数Kは学習データの識別番号を表す変数である。
具体的には、影響スコア算出部130は、変数J及び変数Kのそれぞれに1を設定する。このとき、影響スコア算出部130は、テストデータのグループに含まれるテストデータの数をJmaxに設定し、学習データのグループに含まれる学習データの数をKmaxに設定する。
次に、影響スコア算出部130は、テストデータのグループから変数Jに対応するテストデータを取得し、また、学習データのグループから変数Kに対応する学習データを取得する(ステップS104)。
次に、影響スコア算出部130は、テストデータ、学習データ、及び予測器121を用いて影響度を算出する(ステップS105)。なお、影響度の算出方法は非特許文献1に記載されているため、詳細な説明は省略する。
次に、影響スコア算出部130は、影響度情報132を更新する(ステップS106)。
具体的には、影響スコア算出部130は、影響度情報132のK行J列に対応するセルに算出された影響度を設定する。
次に、影響スコア算出部130は、変数Kの値がKmaxに一致するか否かを判定する(ステップS107)。すなわち、全ての学習データについて処理が完了したか否かが判定される。
変数Kの値がKmaxに一致しないと判定された場合、影響スコア算出部130は、変数Kに1を加算した値を変数Kに設定し(ステップS108)、その後、ステップS104に戻る。
変数Kの値がKmaxに一致すると判定された場合、影響スコア算出部130は、変数Jの値がJmaxに一致するか否かを判定する(ステップS109)。すなわち、全てのテストデータについて処理が完了したか否かが判定される。
変数Jの値がJmaxに一致しないと判定された場合、影響スコア算出部130は、変数Jに1を加算した値を変数Jに設定し(ステップS110)、その後、ステップS103に戻る。
変数Jの値がJmaxに一致すると判定された場合、影響スコア算出部130は、影響スコア算出処理を実行する(ステップS111)。影響スコア算出処理の詳細は図7を用いて説明する。
次に、影響スコア算出部130は、出力情報生成処理を実行する(ステップS112)。その後、影響スコア算出部130は処理を終了する。出力情報生成処理の詳細は図8を用いて説明する。
なお、一つの学習データに対して複数のテストデータを選択し、影響度を算出してもよい。すなわち、ステップS102とステップS103とを入れ替え、また、ステップS107及びステップS108とステップS109及びステップS110とを入れ替えてもよい。
図7は、実施例1の計算機100-3が実行する影響スコア算出処理を説明するフローチャートである。
影響スコア算出部130は、変数Kを初期化する(ステップS201)。ステップS201の処理は、ステップS103の処理と同一である。
次に、影響スコア算出部130は、影響度情報132のK行目を、学習データの影響度ベクトルとして取得する(ステップS202)。
次に、影響スコア算出部130は、学習データの影響度ベクトルを用いて学習データの影響スコアを算出する(ステップS203)。本実施例は、影響スコアの算出方法に限定されない。例えば、影響スコア算出部130は、影響度ベクトルの各成分の合計値又は平均値を影響スコアとして算出する。また、影響スコア算出部130は、任意の係数ベクトルと影響度ベクトルとの内積を影響スコアとして算出する。
次に、影響スコア算出部130は、影響スコア情報133を更新する(ステップS204)。
具体的には、影響スコア算出部130は、影響スコア情報133にエントリを追加する。影響スコア算出部130は、追加されたエントリの学習データID401に学習データの識別番号を設定し、また、追加されたエントリの影響スコア402に算出された影響スコアを設定する。
次に、影響スコア算出部130は、変数Kの値がKmaxに一致するか否かを判定する(ステップS205)。すなわち、全ての学習データについて処理が完了したか否かが判定される。
変数Kの値がKmaxに一致しないと判定された場合、影響スコア算出部130は、変数Kに1を加算した値を変数Kに設定し(ステップS206)、その後、ステップS202に戻る。
変数Kの値がKmaxに一致すると判定された場合、影響スコア算出部130は影響スコア算出処理を終了する。
図8は、実施例1の計算機100-3が実行する出力情報生成処理を説明するフローチャートである。図9は、実施例1の計算機100-3によって出力される影響度情報132の一例を示す図である。
影響スコア算出部130は、開始指示に影響スコア出力要求が含まれるか否かを判定する(ステップS301)。
開始指示に影響スコア出力要求が含まれないと判定された場合、影響スコア算出部130は、ステップS305に進む。
開始指示に影響スコア出力要求が含まれると判定された場合、影響スコア算出部130は、クラスタリングを実行するか否かを判定する(ステップS302)。
具体的には、影響スコア算出部130は、影響スコア出力要求にフラグが含まれるか否かを判定する。影響スコア出力要求にフラグが含まれる場合、影響スコア算出部130は、クラスタリングを実行すると判定する。
クラスタリングを実行しないと判定された場合、影響スコア算出部130は、図3に示す影響度情報132及び図4に示す影響スコア情報133を計算機100-1に出力する(ステップS304)。その後、影響スコア算出部130はステップS305に進む。
この場合、計算機100-1の結果出力部111は、影響度情報132及び影響スコア情報133を表示するための表示情報を生成し、当該表示情報を端末101に送信する。
クラスタリングを実行すると判定された場合、影響スコア算出部130は、影響度情報132を用いたクラスタリングを実行する(ステップS303)。本実施例はクラスタリングのアルゴリズムに限定されない。例えば、Infinity Relational Model等が考えられる。この結果、図9に示すような影響度情報132が生成される。
次に、影響スコア算出部130は、図9に示す影響度情報132及び図4に示す影響スコア情報133を計算機100-1に出力する(ステップS304)。その後、影響スコア算出部130はステップS305に進む。
図9に示すような影響度情報132をユーザに提示することによって、ユーザは、入力するデータの特性に合わせて学習データを容易に選択することができる。また、テストデータに対する予測器121の予測精度を向上させる学習データを追加する必要があるか否かを容易に判定することができる。
ステップS301の判定結果がNO又はステップS304の処理が実行された後、影響スコア算出部130は、開始指示に学習データ出力要求が含まれるか否かを判定する(ステップS305)。
開始指示に学習データ出力要求が含まれないと判定された場合、影響スコア算出部130は、ステップS308に進む。
開始指示に学習データ出力要求が含まれると判定された場合、影響スコア算出部130は、学習データ選択部131に学習データの選択を指示する(ステップS306)。
具体的には、学習データ選択部131は、閾値と各学習データの影響スコアとの比較結果に基づいて、学習データセットに含める学習データを選択する。例えば、学習データ選択部131は、影響スコアが閾値より大きい学習データを選択する。なお、閾値は予め設定されているものとする。ただし、閾値は任意のタイミングで更新できる。
次に、影響スコア算出部130は、選択された学習データを含む学習データセットを計算機100-1に出力する(ステップS307)。その後、影響スコア算出部130はステップS308に進む。
ステップS305の判定結果がNO又はステップS307の処理が実行された後、影響スコア算出部130は、開始指示に予測器出力要求が含まれるか否かを判定する(ステップS308)。
開始指示に予測器出力要求が含まれないと判定された場合、影響スコア算出部130は、出力情報生成処理を終了する。
開始指示に予測器出力要求が含まれると判定された場合、影響スコア算出部130は、学習データ選択部131に学習データの選択を指示する(ステップS309)。ステップS309の処理はステップS306の処理と同一である。
次に、影響スコア算出部130は、選択された学習データを含む学習データセットとともに学習処理の実行要求を計算機100-2に送信する(ステップS310)。その後、影響スコア算出部130は出力情報生成処理を終了する。なお、実行要求には、選択された学習データの識別情報を含めてもよい。
計算機100-2の学習部120は、学習処理の実行要求を受信した場合、学習データセットを用いて予測器121の学習処理を実行する。学習部120は、学習データセットを用いた学習処理によって生成された予測器121を計算機100-1に送信する。
実施例1によれば、計算機100-3は、影響スコアに基づいて、予測精度を向上できる学習データを効率的かつ容易に選択できる。また、影響度情報132及び影響スコア情報133をユーザに提示することによって、ユーザは、特定の特性を有するテストデータに関する予測精度を向上させるための学習データを確認することができる。さらに、選択された学習データを用いて予測器121を構築することによって、高い予測精度を実現できる予測器121をユーザに提供することができる。
任意の特性を有するデータに対する予測に適した予測器121を構築する場合、当該特性に合わせて予測器121をチューニングする必要がある。特性は、例えば、日中及び夜間等の時間の特性等が考えられる。この場合、日中の予測に適した予測器121を構築することが考えられる。以下の説明では、予測器121を調整するための特性をチューニングラベルと記載する。
実施例2では、チューニングラベル及び影響スコアに基づいて学習データが選択される。以下、実施例1との差異を中心に実施例2について説明する。
図10は、実施例2の計算機システムの構成の一例を示す図である。
計算機システムの装置構成は実施例1と同一である。実施例2の計算機100のハードウェア構成は実施例1と同一である。また、実施例2の計算機100-1、100-2の論理構成は実施例1と同一である。
実施例2では、計算機100-3の論理構成が一部異なる。具体的には、計算機100-3は、チューニングラベル情報134を管理する。
チューニングラベル情報134は、テストデータに付与されたチューニングラベルを管理するための情報である。チューニングラベル情報134の詳細は図11を用いて説明する。
また、実施例2では、計算機100-3が管理する影響スコア情報133のデータ構造が一部異なる。影響スコア情報133の詳細は図12を用いて説明する。
図11は、実施例2のチューニングラベル情報134のデータ構造の一例を示す図である。
チューニングラベル情報134は、テストデータID1101及びチューニングラベル1102から構成されるエントリを複数含む。一つのエントリが一つのテストデータに対応する。
テストデータID1101は、テストデータの識別番号を格納するフィールドである。チューニングラベル1102は、チューニングラベルの値を格納するフィールドである。
実施例2では、テストデータ及びチューニングラベルを分けて管理しているが、チューニングラベルの管理方法はこれに限定されない。例えば、テストデータにチューニングラベルを含めてもよい。
図12は、実施例2の影響スコア情報133のデータ構造の一例を示す図である。
実施例2の影響スコア情報133は、影響スコア402が実施例1と異なる。具体的には、影響スコア402は、チューニングラベルの値毎の影響スコア、及びチューニングラベルの各値の影響スコアから算出される総合影響スコアを格納する。
図13は、実施例2のデータ受付部110によって提供されるGUIの一例を示す図である。
GUI500は、新たに、チューニングラベル設定欄530を含み、また、出力選択欄540が一部異なる。
チューニングラベル設定欄530は、ラジオボタン531、ラジオボタン532、ラジオボタン533、ラジオボタン534、ラベルデータ設定欄535、及び種類設定欄536を含む。
ラジオボタン531は、チューニングラベルを設定する場合に選択される。ラジオボタン532は、チューニングラベルを設定しない場合に選択される。ラジオボタン533は、手動でチューニングラベルを設定する場合に選択される。ラジオボタン534は、自動でチューニングラベルを設定する場合に選択される。
ラベルデータ設定欄535は、チューニングラベル情報134を設定するための欄である。ラベルデータ設定欄535には、チューニングラベル情報134の格納場所を示すパス又はチューニングラベル情報134に対応するファイルが設定される。種類設定欄536は、チューニングラベルの種類を設定する欄である。例えば、ユーザは、学習データの項目がチューニングラベルの種類として設定される。
出力選択欄540は、新たに、チェックボックス545及び値設定欄546を含む。チェックボックス545は、チューニングラベルを考慮した出力を行う場合に選択される。値設定欄546は、学習データを選択する場合に用いるチューニングラベルの値を設定する欄である。
なお、チューニングラベル設定欄530において、ラジオボタン532が選択された場合、チェックボックス545及び値設定欄546の操作は無効化される。
以下の説明では、チェックボックス545に対応する要求をチューニング要求と記載する。
図14A及び図14Bは、実施例2の計算機100-3が実行する処理を説明するフローチャートである。
ステップS101からステップS110までの処理は実施例1と同一である。ステップS109の判定結果がYESである場合、影響スコア算出部130は、チューニングラベルを手動で設定するか否かを判定する(ステップS151)。
具体的には、影響スコア算出部130は、開始指示に、ラジオボタン533の操作に関する情報が含まれるか否かを判定する。開始指示に、ラジオボタン533の操作に関する情報が含まれる場合、影響スコア算出部130は、チューニングラベルを手動で設定すると判定する。
チューニングラベルを手動で設定すると判定された場合、影響スコア算出部130は、チューニングラベル情報134を格納し(ステップS152)、その後、ステップS110に進む。
具体的には、影響スコア算出部130は、開始指示に含まれるチューニングラベル情報134を主記憶装置202又は副記憶装置203に格納する。
チューニングラベルを手動で設定しないと判定された場合、影響スコア算出部130は、チューニングラベルを自動で設定するか否かを判定する(ステップS153)。
具体的には、影響スコア算出部130は、開始指示に、ラジオボタン534の操作に関する情報が含まれるか否かを判定する。開始指示に、ラジオボタン534の操作に関する情報が含まれる場合、影響スコア算出部130は、チューニングラベルを自動で設定すると判定する。
チューニングラベルを自動で設定しないと判定された場合、影響スコア算出部130は、ステップS110に進む。
チューニングラベルを自動で設定すると判定された場合、影響スコア算出部130は、チューニングラベル情報134を生成し(ステップS154)、その後、ステップS110に進む。具体的には、以下のような処理が実行される。
(B1)影響スコア算出部130は、チューニングラベル情報134を初期化する。
(B2)影響スコア算出部130は、テストデータを選択し、テストデータから種類設定欄536に設定された項目の特徴量を取得する。特徴量を変換する必要がある場合、影響スコア算出部130は、所定の変換アルゴリズムに基づいて取得された特徴量を変換する。例えば、チューニングラベルの値が「午前」又は「午後」であり、時刻に関する項目の値が取得された場合、影響スコア算出部130は、時刻を「午前」又は「午後」のいずれかに変換する。
(B3)影響スコア算出部130は、チューニングラベル情報134にエントリを追加し、追加されたエントリのテストデータID1101に選択されたテストデータの識別番号を設定する。また、影響スコア算出部130は、追加されたエントリのチューニングラベル1102に特徴量を設定する。
影響スコア算出部130は、全てのテストデータに対して(B2)及び(B3)の処理を実行する。
なお、影響スコア算出部130は、生成されたチューニングラベル情報134をユーザに提示するための表示情報を生成し、計算機100-1を介して端末101に表示情報を送信してもよい。この場合、影響スコア算出部130は、チューニングラベル情報134の修正を受け付ける機能を有してもよい。
なお、チューニングラベル情報134の生成方法は前述のものに限定されない。例えば、テストデータを予測器121に入力した場合に得られる、中間出力を利用してチューニングラベルの値を決定する方法でもよい。以上がステップS154の処理の説明である。
ステップS110では、影響スコア算出部130は影響スコア算出処理を実行する(ステップS110)。実施例2の影響スコア算出処理は、実施例1と一部異なる。実施例2の影響スコア算出処理の詳細は図15A及び図15Bを用いて説明する。
次に、影響スコア算出部130は、出力情報生成処理を実行し(ステップS111)、その後、処理を終了する。実施例2の出力情報生成処理は、処理の流れは実施例1と同一である。ただし、ステップS306及びステップS309の処理が一部異なる。
具体的には、学習データ選択部131は、開始指示にチューニング要求が含まれるか否かを判定する。開始指示にチューニング要求が含まれないと判定された場合、学習データ選択部131は、閾値及び各学習データの総合影響スコアの比較結果に基づいて、学習データセットに含まれる学習データを選択する。開始指示にチューニング要求が含まれると判定された場合、学習データ選択部131は、閾値及び値設定欄546で指定されたチューニングラベルの値に対応する各学習データの影響スコアの比較結果に基づいて、学習データセットに含める学習データを選択する。
図15A及び図15Bは、実施例2の計算機100-3が実行する影響スコア算出処理を説明するフローチャートである。
影響スコア算出部130は、まず、チューニングラベルが設定されているか否かを判定する(ステップS251)。
具体的には、影響スコア算出部130は、チューニングラベル情報134を管理しているか否かを判定する。チューニングラベル情報134を管理している場合、影響スコア算出部130は、チューニングラベルが設定されていると判定する。
チューニングラベルが設定されていないと判定された場合、影響スコア算出部130は、ステップS201からステップS206までの処理を実行する。
チューニングラベルが設定されていると判定された場合、影響スコア算出部130は、影響スコア算出部130は、変数Kを初期化する(ステップS252)。ステップS252の処理は、ステップS103の処理と同一である。
次に、影響スコア算出部130は、変数Kに対応する学習データの総合影響スコアを算出する(ステップS253)。すなわち、チューニングラベルを考慮しないで影響スコアが算出される。当該影響スコアの算出処理は、ステップS203と同一である。
次に、影響スコア算出部130は、影響スコア情報133を更新する(ステップS254)。
具体的には、影響スコア算出部130は、影響スコア情報133にエントリを追加する。影響スコア算出部130は、追加されたエントリの学習データID401に学習データの識別番号を設定し、また、追加されたエントリの影響スコア402の「総合」のフィールドに算出された影響スコアを設定する。
次に、影響スコア算出部130は、チューニングラベルの値を選択し、ターゲットテストデータ群を特定する(ステップS255)。
具体的には、影響スコア算出部130は、チューニングラベル情報134を参照し、チューニングラベル1102に、選択されたチューニングラベルの値が設定されたエントリを特定する。特定されたエントリ群に対応するテストデータ群がターゲットテストデータ群となる。
次に、影響スコア算出部130は、影響度情報132の変数Kに対応する学習データの影響度ベクトルを参照し、ターゲットテストデータ群の各々に対応する成分から影響度を取得する(ステップS256)。
次に、影響スコア算出部130は、取得された複数の影響度を用いてチューニングラベルの影響スコアを算出する(ステップS257)。本実施例は、チューニングラベルの影響スコアの算出方法に限定されない。例えば、影響スコア算出部130は、取得された複数の影響度の合計値又は平均値をチューニングラベルの影響スコアとして算出する。
次に、影響スコア算出部130は、影響スコア情報133を更新する(ステップS258)。
具体的には、影響スコア算出部130は、ステップS254において追加されたエントリを特定する。影響スコア算出部130は、特定されたエントリの影響スコア402のチューニングラベルの値に対応するフィールドに、チューニングラベルの影響スコアを設定する。
次に、影響スコア算出部130は、全てのチューニングラベルの値について処理が完了したか否かを判定する(ステップS259)。
全てのチューニングラベルの値について処理が完了していないと判定された場合、影響スコア算出部130は、ステップS255に戻る。
全てのチューニングラベルの値について処理が完了したと判定された場合、影響スコア算出部130は、変数Kの値がKmaxに一致するか否かを判定する(ステップS260)。すなわち、全ての学習データについて処理が完了したか否かが判定される。
変数Kの値がKmaxに一致しないと判定された場合、影響スコア算出部130は、変数Kに1を加算した値を変数Kに設定し(ステップS261)、その後、ステップS253に戻る。
変数Kの値がKmaxに一致すると判定された場合、影響スコア算出部130は影響スコア算出処理を終了する。
実施例2によれば、任意の特性を有するデータに対する予測に適した予測器121を構築するための学習データを選択できる。これによって、当該特性を有するデータに特化した予測器121を構築することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。