(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023132186
(43)【公開日】2023-09-22
(54)【発明の名称】決定プログラム、決定方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20230914BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022037362
(22)【出願日】2022-03-10
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】浦 晃
(57)【要約】
【課題】機械学習に用いる分割済みデータの生成に使用された分割方法を特定することを課題とする。
【解決手段】情報処理装置は、機械学習に使用される訓練データと検証データとに分割された分割済みデータセットにおける訓練データと検証データとを結合させた結合データセットから、異なる基準で分割した複数の分割候補データセットを生成する。情報処理装置は、分割済みデータセットおよび複数の分割候補データセットのそれぞれごとに、各機械学習パイプラインを生成し、分割済みデータセットおよび複数の分割候補データセットのそれぞれを用いて、各機械学習パイプラインを実行した際の各予測性能を算出し、複数の分割候補データセットのうち、分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、特定された分割候補データセットに使用された分割の基準を、分割済みデータセットに使用された分割の基準に決定する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
コンピュータに、
機械学習に使用される訓練データと検証データとに分割された分割済みデータセットにおける前記訓練データと前記検証データとを結合させた結合データセットから、それぞれ異なる基準で分割した複数の分割候補データセットを生成し、
前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれごとに、前記機械学習を実行する各機械学習パイプラインを生成し、
前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれを用いて、前記各機械学習パイプラインを実行した際の各予測性能を算出し、
前記複数の分割候補データセットのうち、前記分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、
特定された分割候補データセットに使用された分割の基準を、前記分割済みデータセットに使用された分割の基準に決定する、
処理を実行させる決定プログラム。
【請求項2】
前記特定する処理は、
前記分割済みデータセットを用いて前記各機械学習パイプラインを実行した際の前記各予測性能を成分とする第1のベクトルを生成し、
前記複数の分割候補データセットそれぞれについて、前記各機械学習パイプラインを実行した際の前記各予測性能を成分とする各第2のベクトルを生成し、
前記複数の分割候補データセットそれぞれに対応する前記各第2のベクトルと、前記第1のベクトルとの類似度を算出し、
前記複数の分割候補データセットのうち、前記類似度が最も高い第2のベクトルに対応する分割候補データセットを特定する、請求項1に記載の決定プログラム。
【請求項3】
前記特定する処理は、
前記分割済みデータセットを用いて前記各機械学習パイプラインを実行した際の前記各予測性能の傾向を特定し、
前記複数の分割候補データセットそれぞれについて、前記各機械学習パイプラインを実行した際の前記各予測性能の傾向を特定し、
前記複数の分割候補データセットのうち、前記分割済みデータセットに対応する各予測性能の傾向と類似する予測性能の分割候補データセットを特定する、請求項1に記載の決定プログラム。
【請求項4】
決定された前記分割の基準を用いて、前記訓練データをさらに内部訓練データと内部検証データとに分割する、処理を前記コンピュータに実行させる請求項1に記載の決定プログラム。
【請求項5】
前記訓練データと前記検証データとを含む前記分割済みデータセットに、追加データを新たに追加した追加データセットを生成し、
決定された前記分割の基準を用いて、前記追加データセットを訓練データと検証データとに分割する、処理を前記コンピュータに実行させる請求項1に記載の決定プログラム。
【請求項6】
コンピュータが、
機械学習に使用される訓練データと検証データとに分割された分割済みデータセットにおける前記訓練データと前記検証データとを結合させた結合データセットから、それぞれ異なる基準で分割した複数の分割候補データセットを生成し、
前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれごとに、前記機械学習を実行する各機械学習パイプラインを生成し、
前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれを用いて、前記各機械学習パイプラインを実行した際の各予測性能を算出し、
前記複数の分割候補データセットのうち、前記分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、
特定された分割候補データセットに使用された分割の基準を、前記分割済みデータセットに使用された分割の基準に決定する、
処理を実行する決定方法。
【請求項7】
機械学習に使用される訓練データと検証データとに分割された分割済みデータセットにおける前記訓練データと前記検証データとを結合させた結合データセットから、それぞれ異なる基準で分割した複数の分割候補データセットを生成し、
前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれごとに、前記機械学習を実行する各機械学習パイプラインを生成し、
前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれを用いて、前記各機械学習パイプラインを実行した際の各予測性能を算出し、
前記複数の分割候補データセットのうち、前記分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、
特定された分割候補データセットに使用された分割の基準を、前記分割済みデータセットに使用された分割の基準に決定する、
制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、決定プログラム、決定方法および情報処理装置に関する。
【背景技術】
【0002】
機械学習を用いた分析では、データセットが与えられた場合に、訓練データ、検証データ、テストデータの3つのデータセットに分割することが一般的である。一般的に、データセットからテストデータを分割した上で、残りのデータを訓練データと検証データに分割することが多い。また、交差検証のように、訓練データと検証データの分割が複数行われることもある。
【0003】
訓練データは、機械学習パイプラインを作成するときに用いるデータである。検証データは、一次評価のために使われるデータであり、主に様々な機械学習モデルを比較するために用いられる。テストデータは、検証データを使って選択された機械学習モデルの最終評価を行うためのデータである。
【0004】
機械学習の目的は、特徴量と目的変数の関係を訓練し、新しいデータの特徴量から目的変数を予測することである。また、訓練データと検証データを用いて、機械学習パイプラインを選択した後、テストデータを用いた最終評価を行う際、「訓練データと検証データ」をまとめて再び訓練することも行われる。「(訓練データ+検証データ)と(テストデータ)」の分割と、「訓練データと検証データ」の分割は同じ方法で行われないと正しく評価できないので、分割の方法は1つであり、それを2回適用することになる。
【0005】
例えば、ある基準の分割方法を用いて訓練データと検証データとにすでに分割されているが、分析者の交代などの様々な要因により、分割方法が不明な場合がある。この場合に、新たなデータが追加された場合や、訓練データを訓練データと検証データとにさらに分割する場合に、ある分割方法と同じ分割方法を用いることが要求される。ある分割方法を特定する手法としては、すでに分割されている訓練データと検証データとを結合した結合データセットを生成し、様々な分割方法により、結合データセットを分割して、元の分割済みデータと一致する分割方法を調べる手法が知られている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した技術では、複数の分割方法の候補の中から、分割済みデータに使用された分割方法を特定することができない。例えば、分割方法の候補が有限の場合ではどの分割方法で利用されたデータとも一致しないことがあり、また、分割には乱数の要素があることも多く、上述した技術では、分割方法を精度よく特定することができない。
【0008】
なお、データ分析を自動化するAutoML(Automated Machine Learning)などが利用されているが、AutoMLでは、ランダム分割を用いてデータ分割が行われるので、分割済みデータに使用されている分割方法を特定することができない。
【0009】
また、手動により分割方法を探索することも考えられるが、手動でデータ分割を行うことは、特に初学者には難しい。例えば、テストデータに対する予測の際に、使うことが想定されていない情報を使ってしまうことを「リーク」と呼ぶが、リークを引き起こしてしまうと、予測性能が正しく評価されず、機械学習モデルを適切に選択できず、運用時に予測性能が低くなることがある。
【0010】
一つの側面では、機械学習に用いる分割済みデータの生成に使用された分割方法を特定することができる決定プログラム、決定方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
第1の案では、決定プログラムは、コンピュータに、機械学習に使用される訓練データと検証データとに分割された分割済みデータセットにおける前記訓練データと前記検証データとを結合させた結合データセットから、それぞれ異なる基準で分割した複数の分割候補データセットを生成し、前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれごとに、前記機械学習を実行する各機械学習パイプラインを生成し、前記分割済みデータセットおよび前記複数の分割候補データセットのそれぞれを用いて、前記各機械学習パイプラインを実行した際の各予測性能を算出し、前記複数の分割候補データセットのうち、前記分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、特定された分割候補データセットに使用された分割の基準を、前記分割済みデータセットに使用された分割の基準に決定する、処理を実行させる。
【発明の効果】
【0012】
一実施形態によれば、機械学習に用いる分割済みデータの生成に使用された分割方法を特定することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施例1にかかる情報処理装置を説明する図である。
【
図2】
図2は、機械学習に用いるデータセットを説明する図である。
【
図4】
図4は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。
【
図5】
図5は、分割済みデータセットを説明する図である。
【
図6】
図6は、分割候補データセットの生成を説明する図である。
【
図7】
図7は、分割方法の決定を説明する図である。
【
図8】
図8は、処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0014】
以下に、本願の開示する決定プログラム、決定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例0015】
<情報処理装置の説明>
図1は、実施例1にかかる情報処理装置10を説明する図である。
図1に示す情報処理装置10は、機械学習において、すでに訓練データと検証データに分割されているが分割の方法自体は分からない分割済みデータセットが与えられた場合に、様々な分割方法に対応する複数の機械学習パイプラインの予測性能を用いることで、複数の分割方法の候補から尤もらしい分割方法を選択するコンピュータ装置の一例である。
【0016】
まず、機械学習に用いるデータについて説明する。
図2は、機械学習に用いるデータセットを説明する図である。
図2に示すように、機械学習に用いるデータセットは、特徴量と目的変数とを含むデータを含む。
図2の例では、「氏名、身長、体重、・・・」が説明変数、「病気」の有無が目的変数である。
【0017】
機械学習の目的は、特徴量と目的変数の関係を訓練し、新しいデータの特徴量から目的変数を予測することである。また、訓練データと検証データを用いて、機械学習パイプラインを選択した後、テストデータを用いた最終評価を行う際、「訓練データと検証データ」をまとめて再び訓練することも行われる。「(訓練データ+検証データ)と(テストデータ)」の分割と、「訓練データと検証データ」の分割は同じ方法で行われないと正しく評価できないので、分割の方法は1つであり、それを2回適用することになる。
【0018】
ここで、データ分割においては(1)日付・時間、(2)グループ、(3)目的変数の分布を考慮した上で分割が行われる。例えば、(1)日付・時間では、ある時点の予測を行う際に、それより将来の情報を使ってはならないとの要件がある。(2)グループでは、訓練データと検証データに同じグループが含まれないようにしなければならないとの要件がある。例えば、機械学習モデルを新規店舗の売り上げ予測に使う場合、テストデータの店舗のデータが訓練データに含まれないことが要求される。逆に、商品一般の売り上げを予測する場合、店舗を考慮することは要求されない。(3)目的変数の分布では、分類モデルの場合、訓練データと検証データに各ラベルが同じ割合で含まれていることが望ましく、特に、サンプルが少数しかないラベルがある場合はラベルを考慮した分割が要求される。回帰モデルの場合、訓練データと検証データの分布が近いことが望ましい。
【0019】
このように、データ分割の方法は、考慮する要件があることから、上記(1)、(2)、(3)を満たす分割方法を特定することが重要であり、分割方法が不正確であれば、その後の機械学習モデルの精度も劣化する。
【0020】
次に、一般的に利用されるデータ分割の手法を特定する参考技術を説明する。
図3は、参考技術を説明する図である。
図3に示すように、参考技術では、与えられた分割済みデータセット内の訓練データと検証データとを一旦結合したデータセットを生成する。そして、参考技術では、予め与えられた分割方法すべてで分割データセットを生成し、全ての分割データセットが元の分割データセットに一致するかを調べる。
【0021】
例えば、参考技術は、データセットを、分割方法1を用いて訓練データ1と検証データ1とに分割した分割データセット、分割方法2を用いて訓練データ2と検証データ2とに分割した分割データセット2などを生成する。その後、参考技術は、元の分割データセットと、各分割方法1からNにより生成した分割データセット1からNそれぞれとを比較して、一致する分割データセットを探索することで、元の分割データセットに利用された分割方法を特定する。
【0022】
しかし、参考技術の手法では、分割の候補が有限だとすると、そもそもどれとも一致しないこともあり、分割には乱数の要素があることも多い。また、参考技術の手法では、完全一致しない場合、どの分割がもっともらしいかを評価する指標が明確ではない。また、既存のAutoML技術を利用したとしても、ランダム分割か入力として与えるものであり、尤もらしいも分割方法を選択することができない。
【0023】
そこで、実施例1にかかる情報処理装置10は、「予測性能を与えられた分割と同様に評価できること」と、「複数の機械学習パイプラインの比較結果が与えられた分割と同様であること」とに着目し、複数の機械学習パイプラインを試して、それらの予測性能が最も近い分割が正しいとみなすことで、不明な分割方法を特定する。
【0024】
具体的には、情報処理装置10は、機械学習に使用される訓練データと検証データとに分割された、分割方法が不明である分割済みデータセットにおける訓練データと検証データとを結合させた結合データセットを生成する。そして、情報処理装置10は、結合データセットを用いて、それぞれ異なる基準で分割方法1から分割方法Nそれぞれで分割した複数の分割候補データセットを生成する。
【0025】
情報処理装置10は、分割済みデータセットおよび複数の分割候補データセットのそれぞれごとに、機械学習を実行する各機械学習パイプラインを生成する。情報処理装置10は、分割済みデータセットおよび複数の分割候補データセットのそれぞれを用いて、各機械学習パイプラインを実行した際の各予測性能を算出する。
【0026】
情報処理装置10は、記複数の分割候補データセットのうち、分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、特定された分割候補データセットに使用された分割の基準を、分割方法が不明の分割済みデータセットに使用された分割の基準に決定する。
【0027】
この結果、情報処理装置10は、機械学習に用いる分割済みデータの生成に使用された分割方法を特定することができる。
【0028】
<機能構成>
図4は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。
図4に示すように、情報処理装置10は、通信部11、記憶部12、制御部20を有する。
【0029】
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースにより実現される。例えば、通信部11は、管理者の端末から各種指示を受信し、制御部20による処理結果を管理者の端末に送信する。
【0030】
記憶部12は、各種データや制御部20が実行するプログラムなどを記憶する処理部であり、例えばメモリやハードディスクにより実現される。この記憶部12は、分割済みデータセットd0を記憶する。
【0031】
分割済みデータセットd
0は、ニューラルネットワークなどを用いた機械学習モデルの訓練に利用されるデータセットであり、ある分割方法により、訓練データと検証データとに分割されたデータセットである。
図5は、分割済みデータセットd
0を説明する図である。
図5に示すように、分割済みデータセットd
0は、特徴量と目的変数とを含むデータから構成される分割前データセットから、ある分割方法により、データセット内の各データが訓練データと検証データとに分割されたデータセットである。
【0032】
制御部20は、情報処理装置10全体を司る処理部であり、例えばプロセッサなどにより実現される。この制御部20は、生成部21、予測処理部22、決定部23を有する。なお、生成部21、予測処理部22、決定部23は、プロセッサが有する電子回路やプロセッサが実行するプロセスなどにより実現される。
【0033】
生成部21は、機械学習に使用される訓練データと検証データとに分割された分割済みデータセットd0における訓練データと検証データとを結合させた結合データセットから、それぞれ異なる基準で分割した複数の分割候補データセットを生成する処理部である。そして、生成部21は、生成した分割候補データセットd1からdNを予測処理部22に出力する。
【0034】
図6は、分割候補データセットの生成を説明する図である。
図6に示すように、既知の分割方法S
1からS
Nが与えられているとする。この場合、生成部21は、分割方法S
1を用いて、訓練データ1と検証データ1とに分割した分割候補データセットd
1を生成し、分割方法S
2を用いて、訓練データ2と検証データ2とに分割した分割候補データセットd
2を生成する。
【0035】
例えば、分割方法とは、ランダム分割、カラムに設定される数値に基づく分割など予め与えられる既知の分割方法S1からSNである。例を挙げると、分割方法S1は、ランダムに訓練データと検証データとに分割して、分割候補データセットd1を生成する手法である。また、分割方法S2は、カラム(例えば身長)の値が閾値以上になるデータの割合が分割前と同様になるように、訓練データと検証データとに分割して、分割候補データセットd2を生成する手法である。分割方法S3は、第1カラム(例えば身長)の値が閾値未満かつ第2カラム(例えば体重)の値が閾値以上となるデータの割合が分割前と同様になるように、訓練データと検証データとに分割して、分割候補データセットd3を生成する手法である。なお、訓練データと検証データとの割合は、分割方法が不明であるがその割合は既知である分割済みデータセットd0と同様とする。
【0036】
予測処理部22は、分割済みデータセットおよび複数の分割候補データセットのそれぞれごとに、機械学習を実行する各機械学習パイプラインを生成し、分割済みデータセットおよび複数の分割候補データセットのそれぞれを用いて、各機械学習パイプラインを実行した際の各予測性能を算出する処理部である。
【0037】
例えば、予測処理部22は、AutoMLなどの技術を用いて、分割済みデータセットd0に対応する機械学習パイプラインP0を生成する。同様に、予測処理部22は、AutoMLなどの技術を用いて、分割候補データセットd1からdNのそれぞれに対応する機械学習パイプラインP1からPNを生成する。なお、機械学習パイプラインは、欠損値の補間やスケーリングなどを含む前処理と、機械学習モデルの生成を含む一連の処理である。
【0038】
決定部23は、複数の分割候補データセットのうち、分割済みデータセットを用いて算出された各予測性能に最も近い分割候補データセットを特定し、特定された分割候補データセットに使用された分割の基準を、分割済みデータセットに使用された分割の基準に決定する処理部である。
【0039】
具体的には、決定部23は、分割済みデータセットd0を用いて各機械学習パイプラインP0、P1からPNを実行した際の各予測性能を成分とする第1のベクトルを生成する。同様に、決定部23は、複数の分割候補データセットd1からdNそれぞれについて、各機械学習パイプラインP0、P1からPNを実行した際の各予測性能を成分とする第2のベクトルを生成する。そして、決定部23は、複数の分割候補データセットd1からdNそれぞれに対応する各第2のベクトルと、第1のベクトルとの類似度を算出し、複数の分割候補データセットd1からdNのうち、類似度が最も高い第2のベクトルに対応する分割候補データセットを特定する。
【0040】
また、決定部23は、分割済みデータセットd0を用いて各機械学習パイプラインP0、P1からPNを実行した際の各予測性能の傾向を特定する。同様に、決定部23は、複数の分割候補データセットd1からdNそれぞれについて、各機械学習パイプラインP0、P1からPNを実行した際の各予測性能の傾向を特定する。そして、決定部23は、複数の分割候補データセットd1からdNのうち、分割済みデータセットd0に対応する各予測性能の傾向と類似する予測性能の分割候補データセットを特定する。
【0041】
(具体例)
ここで、
図7を用いて、上記決定部23の処理の具体例を説明する。
図7は、分割方法の決定を説明する図である。なお、ここでは、適合率、再現率、正解率などの予測性能の指標が共通情報として予め指定および設定済みとする。
【0042】
図7に示すように、例えば、決定部23は、分割済みデータセットd
0を用いて、機械学習パイプラインP
0を実行したときの予測性能e
0,0、機械学習パイプラインP
1を実行したときの予測性能e
0,1、機械学習パイプラインP
jを実行したときの予測性能e
0,j、機械学習パイプラインP
Nを実行したときの予測性能e
0,Nを特定する。
【0043】
同様に、決定部23は、分割候補データセットd1を用いて、機械学習パイプラインP0を実行したときの予測性能e1,0、機械学習パイプラインP1を実行したときの予測性能e1,1、機械学習パイプラインPjを実行したときの予測性能e1,j、機械学習パイプラインPNを実行したときの予測性能e1,Nを特定する。
【0044】
同様に、決定部23は、分割候補データセットdiを用いて、機械学習パイプラインP0を実行したときの予測性能ei,0、機械学習パイプラインP1を実行したときの予測性能ei,1、機械学習パイプラインPjを実行したときの予測性能ei,j、機械学習パイプラインPNを実行したときの予測性能ei,Nを特定する。
【0045】
同様に、決定部23は、分割候補データセットdNを用いて、機械学習パイプラインP0を実行したときの予測性能eN,0、機械学習パイプラインP1を実行したときの予測性能eN,1、機械学習パイプラインPjを実行したときの予測性能eN,j、機械学習パイプラインPNを実行したときの予測性能eN,Nを特定する。
【0046】
そして、決定部23は、分割済みデータセットd0について、予測性能e0,0、予測性能e0,1、予測性能e0,j、予測性能e0,Nを成分とするベクトルV0を生成する。同様に、決定部23は、分割候補データセットd1について、予測性能e1,0、予測性能e1,1、予測性能e1,j、予測性能e1,Nを成分とするベクトルV1を生成する。決定部23は、分割候補データセットdiについて、予測性能ei,0、予測性能ei,1、予測性能ei,j、予測性能ei,Nを成分とするベクトルViを生成する。同様に、決定部23は、分割候補データセットdNについて、予測性能eN,0、予測性能eN,1、予測性能eN,j、予測性能eN,Nを成分とするベクトルVNを生成する。
【0047】
その後、
図7の(1)に示すように、決定部23は、類似度により分割済みデータセットd
0に利用された分割方法に決定する。例えば、決定部23は、ベクトル間のユークリッド距離などを用いて、V
0と、V
1、V
i、V
Nそれぞれとの類似度を算出し、類似度が最も高いV
iを特定する。この結果、決定部23は、V
iに対応する分割候補データセットd
iの分割方法S
iを、分割済みデータセットd
0に利用された分割方法S
0に決定する。
【0048】
別の手法として、
図7の(2)に示すように、決定部23は、予測性能の傾向により分割済みデータセットd
0に利用された分割方法に決定する。例えば、決定部23は、各分割候補データセットについて予測性能の平均値を算出し、分割済みデータセットd
0の平均値に最も近い分割候補データセットd
nの分割方法S
nを、分割済みデータセットd
0に利用された分割方法S
0に決定する。
【0049】
また、決定部23は、各分割候補データセットの各予測性能を予測性能が高い順番を特定し、分割済みデータセットd0の順番と同じ順番である分割候補データセットdnの分割方法Snを、分割済みデータセットd0に利用された分割方法S0に決定する。
【0050】
また、決定部23は、機械学習パイプラインP0、P1からPNごとに、分割済みデータセットd0の予測性能と、複数の分割候補データセットd1からdNの予測性能との類似度を算出する。例えば、決定部23は、分割済みデータセットd0の予測性能e0,0と、分割候補データセットd1からdNの各予測性能e0,0、e1,0、ei,0、eN,0それぞれとの差分を算出する。そして、決定部23は、差分の平均値や分散が閾値未満である分割候補データセットdnや、差分の最大値と最小値との差分が最も少ない分割候補データセットdnなどを特定する。そして、特定された分割候補データセットdnの分割方法Snを、分割済みデータセットd0に利用された分割方法S0に決定する。
【0051】
なお、決定部23は、決定された分割済みデータセットd
0に利用された分割方法S
0をディスプレイ等に表示出力したり、管理者の端末に送信したりする。また、
図7の(1)と(2)の決定手法は、AND条件やOR条件で組み合わせることもできる。
【0052】
<処理の流れ>
図8は、処理の流れを示すフローチャートである。
図8に示すように、情報処理装置10の制御部20は、管理者の指示や定期的なタイミングにより、処理開始が指示されると(S101:Yes)、管理者等から、分割候補となる各分割方法、予測性能の指標の入力を受け付ける(S102)。
【0053】
続いて、制御部20は、分割済みデータセットd0を記憶部12から取得し(S103)、分割済みデータセットd0内の訓練データと検証データとを結合させた結合データセットを生成する(S104)。
【0054】
そして、制御部20は、各分割方法S1からSNを用いて、結合データセットから分割候補データセットd1からdNを生成する(S105)。続いて、制御部20は、分割済みデータセットd0、分割候補データセットd1からdNのそれぞれについて各機械学習パイプラインP0、P1からPNを生成する(S106)。
【0055】
その後、制御部20は、分割済みデータセットd0、分割候補データセットd1からdNのそれぞれについて、各機械学習パイプラインP0、P1からPNを実行して、各予測性能を取得する(S107)。
【0056】
そして、制御部20は、分割済みデータセットd0の予測性能に最も近い分割候補データセットdnを特定し(S108)、特定した分割候補データセットdnの分割方法Snを、分割済みデータセットd0に利用された分割方法に決定する(S109)。
【0057】
<効果>
上述したように、実施例1にかかる情報処理装置10は、目的変数を含む分割済みデータセットと、分割の候補と、予測性能の指標が与えられた場合に、分割候補の中から、分割済みデータの生成に使用された分割方法を特定することができる。また、実施例1にかかる情報処理装置10は、予測性能の類似度や予測性能の傾向などを用いて分割方法を特定することができるので、リークの発生を抑制することもでき、手動による人為的なミスを抑制することもできる。
【0058】
また、実施例1にかかる情報処理装置10は、参考技術のような全候補との比較や手動による特定に比べて、分割方法の特定に要する時間の短縮を実現することができる。また、実施例1にかかる情報処理装置10は、予測性能のように客観的な情報を用いて分割方法を特定できるので、特定された分割方法の正当性が高く、その分割方法を用いた機械学習後の運用時に予測性能が低くなることも抑制できる。
【0059】
<適用例1>
次に、上記実施例1による手法を用いて特定した分割方法の利用シーン例について説明する。
図9は、利用シーン1を説明する図である。
図9に示すように、情報処理装置10は、分割済みデータセットd
0(訓練データ、テストデータ)、分割方法S
1からS
N、予測性能の指標が与えられて、実施例1による手法により分割方法S
nを特定する。その後、情報処理装置10は、分割済みデータセットd
0の訓練データをさらに分割する場合に、特定した分割方法S
nを用いて分割する。つまり、情報処理装置10は、分割方法S
nを用いて、分割済みデータセットd
0の訓練データを内部訓練データと内部検証データとに分割する。
【0060】
この結果、情報処理装置10は、すでに存在する訓練データをさらに訓練データとテストデータに分割でき、すでに存在する検証データをテストデータとして扱うことができる。したがって、情報処理装置10は、訓練対象が増加した場合など、分割方法の正当性を担保した上で、訓練データと検証データとを生成することができる。
【0061】
<適用例2>
図10は、利用シーン2を説明する図である。
図10に示すように、情報処理装置10は、分割済みデータセットd
0(訓練データ、テストデータ)、分割方法S
1からS
N、予測性能の指標が与えられて、実施例1による手法により分割方法S
nを特定する。その後、情報処理装置10は、分割済みデータセットd
0に追加データが追加された場合、訓練データ、検証データ、追加データを結合する。そして、情報処理装置10は、分割方法S
nを用いて、結合したデータセットを訓練データと検証データとに分割し、これらの訓練データと検証データを用いて機械学習モデルの機械学習を実行することができる。
【0062】
この結果、情報処理装置10は、分割済みデータセットに教師有データが追加された場合に、分割方法の正当性を担保した上で、訓練データと検証データとを生成することができる。したがって、情報処理装置10は、教師有データを追加して訓練用のデータを増量させつつ、訓練対象の機械学習モデルの精度を向上も図ることができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
このように、情報処理装置10は、プログラムを読み出して実行することで情報処理方法を実行する情報処理装置として動作する。また、情報処理装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、上記実施例が同様に適用されてもよい。
このプログラムは、インターネットなどのネットワークを介して配布されてもよい。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。