(57)【要約】【課題】学習モデルの学習を行いつつ、学習モデルによる予測値の誤差判定を行うことを可能とする。【解決手段】実施形態の学習プログラムは、複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行い、テストデータ群を用いて、学習モデルの予測精度を算出する処理をコンピュータに実行させる。また、学習プログラムは、予測精度が所定の条件を満たす場合は、複数の教師データからテストデータ群、および、第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う処理をコンピュータに実行させる。【選択図】図１
2019109634.tif 000002
【特許請求の範囲】
【請求項１】
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行い、
前記テストデータ群を用いて、前記学習モデルの予測精度を算出し、
前記予測精度が所定の条件を満たす場合は、前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う、
処理をコンピュータに実行させる学習プログラム。
【請求項２】
前記学習モデルの学習を行う処理は、算出した前記予測精度が所定の条件を満たさない場合、前記複数の教師データのうちで前記第１の教師データ群の割合を増加する、
請求項１に記載の学習プログラム。
【請求項３】
前記誤差推定モデルの学習を行う処理は、前記第２の教師データ群のデータ量に基づいて前記予測値の誤差の条件を決定する、
請求項１または２に記載の学習プログラム。
【請求項４】
前記テストデータ群を用いて前記誤差推定モデルの予測精度を算出する処理を更にコンピュータに実行させ、
前記誤差推定モデルの学習を行う処理は、算出した前記誤差推定モデルの予測精度が所定の条件を満たさない場合は、前記予測値の誤差の条件を変更する、
請求項１乃至３のいずれか一項に記載の学習プログラム。
【請求項５】
予測対象の入力データを受け付け、
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習した学習モデルに前記予測対象の入力データを入力して当該入力データに対する予測値を取得し、
前記テストデータ群を用いて算出した前記学習モデルの予測精度が所定の条件を満たす場合に前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて学習した、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルに、前記予測対象の入力データを入力して当該入力データに対する予測値の誤差の判定結果を取得し、
取得した前記予測値および前記予測値の誤差の判定結果を出力する、
処理をコンピュータに実行させる予測プログラム。
【請求項６】
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行い、
前記テストデータ群を用いて、前記学習モデルの予測精度を算出し、
前記予測精度が所定の条件を満たす場合は、前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う、
処理をコンピュータが実行する学習方法。
【請求項７】
予測対象の入力データを受け付け、
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習した学習モデルに前記予測対象の入力データを入力して当該入力データに対する予測値を取得し、
前記テストデータ群を用いて算出した前記学習モデルの予測精度が所定の条件を満たす場合に前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて学習した、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルに、前記予測対象の入力データを入力して当該入力データに対する予測値の誤差の判定結果を取得し、
取得した前記予測値および前記予測値の誤差の判定結果を出力する、
処理をコンピュータが実行することを特徴とする予測方法。
【請求項８】
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行う学習モデル生成部と、
前記テストデータ群を用いて、前記学習モデルの予測精度を算出する学習モデル精度評価部と、
前記予測精度が所定の条件を満たす場合は、前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う誤差推定モデル生成部と、
を有する学習装置。
【請求項９】
予測対象の入力データを受け付ける入力部と、
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習した学習モデルに前記予測対象の入力データを入力して当該入力データに対する予測値を取得する予測部と、
前記テストデータ群を用いて算出した前記学習モデルの予測精度が所定の条件を満たす場合に前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて学習した、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルに、前記予測対象の入力データを入力して当該入力データに対する予測値の誤差の判定結果を取得する誤差判別部と、
取得した前記予測値および前記予測値の誤差の判定結果を出力する出力部と、
を有することを特徴とする予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置に関する。
【背景技術】
【０００２】
部品を製造するコストは、部品の製造における加工内容により異なる。個別の部品の加工内容は部品の製造時に明確となるため、部品の発注を受けるための価格見積の際には、部品製造コストおよび関連費用を推定した値予測が必要になる。
【０００３】
従来、部品を発注する際の価格見積などの値予測においては、突起の高さ、穴の形状、面積、公差許容限界などの特徴量から予測モデルを用いて見積価格の予測を行っている。この値予測にかかる予測モデル（学習モデルとも呼ぶ）については、予測モデルから出力される予測値の誤差が大きくなった場合に、予測モデルの再学習を行いモデルを更新して予測精度の高い予測モデルを構築するものが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−８６８９６号公報
【特許文献２】特開２０００−２５９２２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、学習モデルの精度を高めたとしても、予測対象のデータについて学習モデルを用いて求めた予測値の誤差がどの程度あるかは得られないという問題がある。
【０００６】
例えば、部品の価格見積などにおいては、公差許容限界がある段階を超えると製造工程や加工方法が通常時と異なる場合があり、見積価格の予測値と真値との間に大きな誤差が生じることがある。したがって、学習モデルによる予測値がどの程度信用できるかについては、部品の製造過程を熟知した経験者等の判断を要することとなる。
【０００７】
１つの側面では、学習モデルの学習を行いつつ、学習モデルによる予測値の誤差判定を行うことを可能とする学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、学習プログラムは、複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行い、テストデータ群を用いて、学習モデルの予測精度を算出する処理をコンピュータに実行させる。また、学習プログラムは、予測精度が所定の条件を満たす場合は、複数の教師データからテストデータ群、および、第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う処理をコンピュータに実行させる。
【発明の効果】
【０００９】
本発明の１実施態様によれば、学習モデルの学習を行いつつ、学習モデルによる予測値の誤差判定を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態にかかる学習装置および予測装置の機能構成を例示するブロック図である。
【図２】図２は、標本データの一例を示す説明図である。
【図３】図３は、教師データの生成を説明する説明図である。
【図４】図４は、誤差推定モデルの生成にかかる教師データを説明する説明図である。
【図５】図５は、誤差推定モデルによるクラス分類を説明する説明図である。
【図６】図６は、予測フェーズによる予測結果を説明する説明図である。
【図７】図７は、学習フェーズおよび予測フェーズの処理例を示すフローチャートである。
【図８】図８は、学習モデルの精度の違いを説明する説明図である。
【図９】図９は、プログラムを実行するコンピュータの一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態にかかる学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する学習プログラム、予測プログラム、学習方法、予測方法、学習装置および予測装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１２】
図１は、実施形態にかかる学習装置および予測装置の機能構成を例示するブロック図である。図１に示すように、学習装置１は、部品の発注実績を蓄積した標本データ１０ｂを複数の教師データとして発注する部品の価格予測にかかる学習モデル１３および誤差推定モデル１４の学習（生成）を行う装置である。予測装置２は、学習装置１で学習した学習モデル１３および誤差推定モデル１４を用いて新規部品の特徴を含む予測対象データ２０ａに対する価格などの予測結果を出力する装置である。
【００１３】
本実施形態では、学習モデル１３および誤差推定モデル１４の学習を行う学習装置１と、学習装置１により学習した学習モデル１３および誤差推定モデル１４を用いて予測対象データ２０ａから予測結果を得る予測装置２とを分離して実現する構成を例示する。なお、学習装置１と、予測装置２とは、分離することなく、学習装置１、予測装置２の機能を統合した情報処理装置として実現してもよい。
【００１４】
また、値予測について、本実施形態では発注する部品の価格を予測するケースに適用する場合を説明するが、特に部品価格の予測に限定するものではない。例えば、発注する部品の納期の予測や株価の予測などの様々な値予測に適用してもよい。
【００１５】
学習装置１は、入力部１０、教師データ生成部１１およびモデル生成部１２を有する。入力部１０は、学習モデル１３の精度についての閾値１０ａと、教師データのもととなる標本データ１０ｂと、誤差推定モデル１４における誤差についての閾値１０ｃとを入力データとして受け付ける。
【００１６】
閾値１０ａは、学習モデル１３における説明変数が被説明変数（目的変数）をどの程度説明できるかの精度を表す値（例えば決定係数）についての閾値である。
【００１７】
閾値１０ｃは、誤差推定モデル１４を学習する際の、誤差の範囲（大小）を定めるための閾値である。例えば、誤差±１０％を区切りにして誤差（大）／誤差（小）とする場合は、誤差±１０％が閾値１０ｃとなる。
【００１８】
図２は、標本データ１０ｂの一例を示す説明図である。図２に示すように、標本データ１０ｂは、過去に発注して得られた部品ごとの価格およびその部品における特徴量（表面積、穴径、公差上限…）を示すデータである。
【００１９】
教師データ生成部１１は、入力部１０より入力された標本データ１０ｂに基づいて学習モデル１３および誤差推定モデル１４の学習を行うための教師データ（群）を生成する。具体的には、教師データ生成部１１は、標本データ１０ｂから検証用のテストデータ群を除外したデータを教師用の教師データ（群）とする。そして、教師データ生成部１１は、教師データを学習モデル１３用の教師データと、誤差推定モデル１４用の教師データの２つのグループに分類するデータ分割部１１ａを有する。なお、教師データ・テストデータの分割については、任意に行うものであってよく、例えば教師データを標本データ１０ｂの８０％、テストデータを２０％とし、ランダムに振り分ける。
【００２０】
図３は、教師データの生成を説明する説明図である。図３では、部品の特徴量に含まれる公差上限を横軸に、表面積を縦軸にして、標本データ１０ｂにおける全部品のデータ（全教師データ）をプロットしている。
【００２１】
図３に示すように、データ分割部１１ａは、標本データ１０ｂに含まれる全部品のデータからランダムに選択することで、学習モデル１３用の教師データｄ１と（図中の黒丸）、誤差推定モデル１４用の教師データｄ２と（図中の黒三角）を生成する。
【００２２】
データ分割部１１ａは、標本データ１０ｂをもとに教師データｄ１、ｄ２へ分割する割合については、当初は任意に設定された値とする。そして、データ分割部１１ａは、学習モデル精度評価部１２ｂにより学習モデル１３の予測精度が所定の条件を満たさないと評価された場合に、教師データｄ１側に振り分ける割合を増やして教師データｄ１、ｄ２の再分割を行う。
【００２３】
モデル生成部１２は、学習モデル１３および誤差推定モデル１４の学習にかかる処理を行う機能部であり、学習モデル生成部１２ａ、学習モデル精度評価部１２ｂ、誤差推定モデル生成部１２ｃおよび誤差推定モデル精度評価部１２ｄを有する。
【００２４】
学習モデル生成部１２ａは、学習モデル１３用の教師データｄ１に含まれる学習データによる教師付き学習により学習モデル１３を生成する。具体的には、学習モデル生成部１２ａは、学習データに示された部品ごとの価格および特徴量による回帰分析、ＳＶＲ（Support  Vector  Regression）などの公知の手法を用いて特徴量から価格を予測する学習モデル１３を生成する。
【００２５】
例えば、線形回帰の場合、学習モデル生成部１２ａは、次の式（１）を用いてｗｋおよびＣを求める。ここで、ｐｉは、目的変数であり、部品（ｉ）の価格である。ｗｋは、特徴量（ｋ）に対する重みである。ｘｉｋは、説明変数であり、部品（ｉ）の特徴量（ｋ）の値である。Ｃは、定数項である。
【００２６】
【数１】
2019109634.tif 000003
【００２７】
学習モデル精度評価部１２ｂは、テストデータを生成された学習モデル１３に代入し、学習モデル１３における特徴量−価格の再現性（予測精度）を評価する。具体的には、学習モデル精度評価部１２ｂは、テストデータによる交差検証（cross-validation）で学習モデル１３の予測精度を示す決定係数（Ｒ２）を算出する。
【００２８】
そして、学習モデル精度評価部１２ｂは、算出した決定係数（Ｒ２）が入力された閾値１０ａを上回るか否かで、学習モデル１３の評価を行う。予測精度が閾値１０ａを上回る場合、学習モデル精度評価部１２ｂは、学習モデル１３の予測精度が入力された条件を満たすことを誤差推定モデル生成部１２ｃに通知する。この通知を受けて、誤差推定モデル生成部１２ｃは誤差推定モデル１４の生成を行う。
【００２９】
予測精度が閾値１０ａを上回らない場合、学習モデル精度評価部１２ｂは、学習モデル１３の予測精度が所定の条件を満たさないことをデータ分割部１１ａに通知する。この通知を受けてデータ分割部１１ａでは、教師データｄ１の割合を増やすようにして教師データｄ１、ｄ２の再分割を行う。
【００３０】
誤差推定モデル生成部１２ｃは、標本データ１０ｂに基づく教師データの残り（教師データｄ２）を用いて、学習モデル１３による予測値の誤差が入力された閾値１０ｃの条件を満たすかを判別する誤差推定モデル１４を生成する。
【００３１】
具体的には、誤差推定モデル生成部１２ｃは、誤差推定モデル１４用の教師データｄ２に含まれる学習データを学習モデル１３に代入して価格を予測する。次いで、誤差推定モデル生成部１２ｃは、学習データが示す真の価格と、学習モデル１３による予測値とを比較し、真の価格に対する予測値の誤差を求める。次いで、誤差推定モデル生成部１２ｃは、求めた誤差が閾値１０ｃの範囲内（例えば真の価格の±１０％以内）ならば範囲内を示すフラグ（１）を、範囲外ならば範囲外を示すフラグ（０）を付与し、誤差の大・小を判別する。なお、フラグ付けについては、２値に限定するものではなく、多値（±１０％以内、±１０〜２０％、±２０〜３０％、…）であってもよい。
【００３２】
次いで、誤差推定モデル生成部１２ｃは、誤差の大（０）・小（１）を判別した教師データｄ２に含まれる学習データを誤差推定モデル１４の教師データとする教師付き学習により、２値（誤差の大・小）のクラス分類などを行う誤差推定モデル１４を生成する。
【００３３】
図４は、誤差推定モデル１４の生成にかかる教師データを説明する説明図である。図４に示すように、誤差推定モデル１４の生成にかかる教師データ１０ｄには、学習モデル１３による予測値の誤差と、誤差の大（０）・小（１）を判別したフラグが付与されている。
【００３４】
誤差推定モデル生成部１２ｃは、図４に示す誤差を判別したフラグ付きの教師データ１０ｄにより、例えば多層ニューラルネットワークによるディープラーニング（Deep  Learning）などの公知の手法を用いて誤差推定モデル１４を生成する。
【００３５】
一例として、ディープラーニングでは、教師あり学習において一般的に誤差逆伝播法が用いられる。この誤差逆伝播法では、誤差推定モデル生成部１２ｃは、教師データ１０ｄに含まれる部品ごとの特徴量（表面積、穴径、公差上限…）を誤差推定モデル１４に順伝播させて認識を行う。次いで、誤差推定モデル生成部１２ｃは、誤差推定モデル１４の出力側から得られる予測値の誤差や誤差の大小を正解（教師データ１０ｄ）と比較して誤差（正解との）を求める。そして、誤差推定モデル生成部１２ｃは、認識結果と正解との誤差を認識時と逆方向に誤差推定モデル１４に伝播させ、誤差推定モデル１４における多層ニューラルネットワークの各階層のパラメータを変更して最適解に近づけていく。
【００３６】
なお、誤差推定モデル１４における入力については、部品のＣＡＤデータなど、価格予測とは異なる特徴量を用いてもよい。このように、価格予測とは異なる特徴量を用いることで、値予測の学習モデル１３とは独立して誤差推定モデル１４を学習するようにしてもよい。
【００３７】
図５は、誤差推定モデル１４によるクラス分類を説明する説明図である。図５に示すように、誤差推定モデル１４を生成することで、特徴量（図示例では表面積、公差上限）に対し、価格の予測値における誤差の大小をクラス分類する境界線Ｌが求まることとなる。図５の例では、図４の教師データ１０ｄに含まれる部品（Ｃ、Ｆ、Ｋ…）より、価格の予測値における誤差±１０％の範囲を示す境界線Ｌが得られる。
【００３８】
誤差推定モデル精度評価部１２ｄは、テストデータを生成された誤差推定モデル１４に代入し、誤差推定モデル１４における特徴量−誤差の再現性（誤差の予測精度）を評価する。具体的には、誤差推定モデル精度評価部１２ｄは、テストデータによる交差検証で誤差推定モデル１４における誤差の予測精度を示す全体正解率（Accuracy）を算出する。なお、誤差推定モデル１４における誤差の予測精度については、本実施形態では全体正解率を算出する構成を例示するが、全体正解率に限定するものではなく、F-measure（F値）などであってもよい。
【００３９】
そして、誤差推定モデル精度評価部１２ｄは、算出した全体正解率が予め設定された閾値を上回るか否かで、誤差推定モデル１４の評価を行う。誤差の予測精度が閾値を上回る場合、誤差推定モデル精度評価部１２ｄは、誤差推定モデル１４における誤差の予測精度が所定の条件を満たすことを誤差推定モデル生成部１２ｃに通知する。この通知を受けて、誤差推定モデル生成部１２ｃは誤差推定モデル１４の生成を終了する。
【００４０】
誤差の予測精度が閾値を上回らない場合、誤差推定モデル精度評価部１２ｄは、誤差推定モデル１４における誤差の予測精度が所定の条件を満たさないことを誤差推定モデル生成部１２ｃに通知する。この通知を受けて誤差推定モデル生成部１２ｃでは、誤差の範囲（大小）を定める閾値を変更する。具体的には、誤差推定モデル生成部１２ｃは、誤差推定モデル１４の予測精度が所定の条件を満たさない場合は、予測値の誤差の条件を緩和する。一例として、誤差推定モデル生成部１２ｃは、真値に対する誤差の範囲を広くする（例えば±１０％から±２０％にする）。
【００４１】
予測装置２は、入力部２０、予測部２１、誤差判別部２２および出力部２３を有する。入力部２０は、予測対象データ２０ａの入力を受け付ける。
【００４２】
予測部２１は、学習装置１で生成（学習）された学習モデル１３に予測対象データ２０ａを入力して、予測値（部品の価格）を取得する。誤差判別部２２は、学習装置１で生成された誤差推定モデル１４に予測対象データ２０ａを入力して、予測値の誤差の判定結果（予測した価格にかかる誤差の大小のクラス分類結果）を取得する。
【００４３】
出力部２３は、予測部２１による予測値および誤差判別部２２による予測値の誤差の判定結果について、ディスプレイへの表示出力、紙媒体等への印字出力またはファイル出力などを行う。
【００４４】
図６は、予測フェーズによる予測結果を説明する説明図である。図６に示すように、予測装置２による予測フェーズでは、新規部品（Ｘ，Ｙ）についての特徴量を示す予測対象データ２０ａを予測装置２に入力する。予測装置２は、学習モデル１３により新規部品（Ｘ，Ｙ）についての価格を取得する。また、予測装置２は、誤差推定モデル１４により予測した価格についての誤差の判定結果（誤差１０％以内の確度）を取得する。
【００４５】
次いで、予測装置２は、新規部品（Ｘ，Ｙ）について、予測した価格（予測値）および誤差の判定結果（誤差１０％以内の確度）を含む出力データを出力する。
【００４６】
この出力データ２３ａにより、ユーザは、予測対象データ２０ａに対して予測した価格と、予測した価格についての誤差の判定結果とを確認できる。例えば、ユーザは、Ｘの見積価格は４０００円であり、その誤差が１０％以内である確度（確率）は０．９８と１に近い（高い）ことがわかる。また、ユーザは、Ｙの見積価格は２０００円であり、その誤差が１０％以内である確度（確率）は０．２３と０に近い（低い）ことがわかる。
【００４７】
なお、誤差の判定結果については、図示例のように誤差１０％以内の境界線Ｌより内側であることの確度（確率）を求めて出力してもよい。または、誤差の大小（例えば誤差１０％以内であるか否か）をフラグで示すものであってもよく、特に図示例に限定しない。
【００４８】
ここで、学習装置１における処理（学習フェーズ）と、予測装置２における処理（予測フェーズ）の詳細を説明する。図７は、学習フェーズ（Ｓ１）および予測フェーズ（Ｓ２）の処理例を示すフローチャートである。
【００４９】
図７に示すように、学習フェーズ（Ｓ１）が開始されると、データ分割部１１ａは、入力された標本データ１０ｂより学習モデル１３および誤差推定モデル１４用の教師データｄ１、ｄ２の分割を行う（Ｓ１０）。次いで、学習モデル生成部１２ａは、分割された教師データの一方（ｄ１）に含まれる学習データで学習モデル１３を生成する（Ｓ１１）。
【００５０】
次いで、学習モデル精度評価部１２ｂは、テストデータで学習モデル１３の精度（決定係数）を評価する（Ｓ１２）。次いで、学習モデル精度評価部１２ｂは、学習モデル１３の精度が閾値１０ａ以上であるか否かを判定する（Ｓ１３）。
【００５１】
閾値１０ａ以上でない場合（Ｓ１３：ＮＯ）、学習モデル精度評価部１２ｂは、学習モデル１３の予測精度が所定の条件を満たさないことをデータ分割部１１ａに通知してＳ１０へ処理を戻す。これにより、データ分割部１１ａでは、教師データｄ１の割合を増やすようにして教師データｄ１、ｄ２の再分割が行われることとなる。
【００５２】
閾値１０ａ以上である場合（Ｓ１３：ＹＥＳ）、誤差推定モデル生成部１２ｃは、誤差推定モデル１４を生成する際の、誤差の大・小の境界条件を決定する（Ｓ１４）。
【００５３】
具体的には、誤差推定モデル生成部１２ｃは、入力された閾値１０ｃを誤差の大・小の境界条件とする。または、誤差推定モデル生成部１２ｃは、教師データｄ２のデータ量（標本数）に基づいて誤差の大・小の境界条件を決定してもよい。例えば、誤差推定モデル生成部１２ｃは、教師データｄ２に含まれる標本数が所定値以上であり、十分な標本数がある場合は誤差の範囲を狭く（例えば±１０％）とする。逆に、誤差推定モデル生成部１２ｃは、教師データｄ２に含まれる標本数が所定値未満であり、十分な標本数がない場合は誤差の範囲を広く（例えば±２０％）とする。
【００５４】
次いで、誤差推定モデル生成部１２ｃは、残りの教師データｄ２で学習モデル１３による予測値の誤差がＳ１４で決定された境界条件を満たすか否かを判別する誤差推定モデル１４を生成する（Ｓ１５）。
【００５５】
次いで、誤差推定モデル精度評価部１２ｄは、テストデータで誤差推定モデル１４による全体正解率の推定精度を評価する（Ｓ１６）。次いで、誤差推定モデル精度評価部１２ｄは、誤差推定モデル１４の精度が予め設定された閾値以上であるか否かを判定する（Ｓ１７）。
【００５６】
閾値以上でない場合（Ｓ１７：ＮＯ）、誤差推定モデル精度評価部１２ｄは、誤差推定モデル１４の誤差の予測精度が所定の条件を満たさないことを誤差推定モデル生成部１２ｃに通知してＳ１４へ処理を戻す。これにより、誤差推定モデル生成部１２ｃでは、予測値の誤差の境界条件を緩和する。一例として、誤差推定モデル生成部１２ｃは、真値に対する誤差の範囲を広くする（例えば±１０％から±２０％にする）。
【００５７】
閾値以上である場合（Ｓ１７：ＹＥＳ）、モデル生成部１２は、生成した学習モデル１３および誤差推定モデル１４を予測装置２などに出力する（Ｓ１８）。
【００５８】
予測フェーズ（Ｓ２）が開始されると、予測部２１は、入力された予測対象データ２０ａに対し、生成された学習モデル１３で予測値（価格）を算出する（Ｓ２０）。次いで、誤差判別部２２は、入力された予測対象データ２０ａに対し、生成された誤差推定モデル１４で予測値の誤差を判定する（Ｓ２１）。次いで、出力部２３は、予測対象データ２０ａに対する予測値と予測値の誤差を含む出力データ２３ａを出力する（Ｓ２２）。
【００５９】
以上のように、学習装置１は、学習モデル生成部１２ａと、学習モデル精度評価部１２ｂと、誤差推定モデル生成部１２ｃとを有する。学習モデル生成部１２ａは、複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ（ｄ１）群を用いて学習モデル１３の学習を行う。学習モデル精度評価部１２ｂは、テストデータを用いて、学習モデル１３の予測精度を算出する。誤差推定モデル生成部１２ｃは、予測精度が所定の条件を満たす場合は、予測精度が所定の条件を満たす場合は、複数の教師データからテストデータ群、および、第１の教師データ群を除外した残りのデータである第２の教師データ（ｄ２）群を用いて学習モデル１３による予測値の誤差が所定の条件を満たすかを判別する誤差推定モデル１４の学習を行う。このように、入力された複数の教師データより学習モデル１３および誤差推定モデル１４の学習を行うことで、予測精度が所定の条件を満たすように学習モデル１３の学習を行うことができる。また、予測対象のデータについて学習モデル１３による予測値の誤差判定を誤差推定モデル１４を用いて行うことができる。
【００６０】
また、学習装置１では、予測精度が所定の条件を満たすように学習モデル１３の学習を行うことで、誤差推定モデル１４における予測値の誤差判定の確度を高めることができる。
【００６１】
図８は、学習モデル１３の精度の違いを説明する説明図である。図８において、ケースＣ１は、予測精度が所定の条件を満たすように学習モデル１３の精度を高めたケースである。逆に、ケースＣ２は、予測精度が所定の条件を満たすように学習モデル１３の精度を高めておらず、ケースＣ１よりも学習モデル１３の精度が低いケースである。
【００６２】
図８に示すように、ケースＣ１では、学習モデル１３の精度が高く、学習モデル１３による予測値の誤差が小さくなる場合が多くなる。このため、誤差推定モデル１４を生成する際の教師データ１０ｄについて、誤差（大）とするラベル（０）または誤差（小）とするラベル（１）を精度よく付与でき、精度の高い誤差推定モデル１４を生成できる。よって、予測対象データ２０ａに対して学習モデル１３および誤差推定モデル１４を用いた出力データ２３ａでは、新規部品における予測値（予測価格）と、その予測値における誤差の判別結果を確度のよいものとすることができる。
【００６３】
これに対し、ケースＣ２では、学習モデル１３の精度がケースＣ１よりも低く、学習モデル１３による予測値の誤差が大きくなる場合が多くなる。このため、ケースＣ２では、誤差推定モデル１４を生成する際の教師データ１０ｄについて、誤差（大）とするラベル（０）が多くなり、生成される誤差推定モデル１４の精度が低くなる。よって、予測対象データ２０ａに対して学習モデル１３および誤差推定モデル１４を用いた出力データ２３ａでは、予測値における誤差の判別結果の確度が低くなる。
【００６４】
予測装置２は、入力部２０と、予測部２１と、誤差判別部２２と、出力部２３とを有する。入力部２０は、予測対象データ２０ａの入力を受け付ける。予測部２１は、複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習した学習モデル１３に予測対象データ２０ａを入力し、入力に対する予測値を取得する。誤差判別部２２は、複数の教師データからテストデータ群、および、第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて学習した、学習モデル１３による予測値の誤差が所定の条件を満たすかを判別する誤差推定モデル１４に予測対象データ２０ａを入力し、入力に対する予測値の誤差の判定結果を取得する。出力部２３は、取得した予測値および予測値の誤差の判定結果を出力する。これにより、ユーザは、予測対象データ２０ａに対する予測値と、予測値における誤差の判定結果を確認できる。
【００６５】
例えば、部品の価格見積などにおいては、公差許容限界などの特徴によって見積価格の予測値と真値との間に大きな誤差が生じることがあり、部品の製造過程を熟知した経験者等の判断を要する場合があった。これに対し、予測装置２のユーザは、予測対象データ２０ａに対する予測値についてどの程度信用できるかを、予測値における誤差の判定結果により容易に確認できる。
【００６６】
また、学習モデル生成部１２ａは、学習モデル精度評価部１２ｂが算出した予測精度が所定の条件を満たさない場合、複数の教師データのうちで学習モデル１３の学習に用いる割合を増加する。このように学習モデル１３の学習に用いる割合を増加することで、学習モデル１３用の教師データに含まれる標本数が多くなることから、学習モデル１３の予測精度を高めることができる。
【００６７】
また、誤差推定モデル生成部１２ｃは、第２の教師データ群のデータ量に基づいて予測値の誤差の条件を決定する。例えば、誤差推定モデル生成部１２ｃは、誤差推定モデル１４用の教師データｄ２のデータ量、すなわち標本数が所定値以上の場合は精度の高い誤差推定モデル１４を生成できることから、真値に対する誤差の範囲を狭く（例えば±１０％）とする。また、モデル生成部１２は、誤差推定モデル１４用の教師データのデータ量が所定値未満である場合は真値に対する誤差の範囲を広く（例えば±２０％）とする。このように、誤差推定モデル生成部１２ｃは、誤差推定モデル１４用の教師データのデータ量に基づいて予測値の誤差の条件を変更してもよい。
【００６８】
また、学習装置１は、テストデータを用いて誤差推定モデル１４の予測精度を算出する誤差推定モデル精度評価部１２ｄを有する。誤差推定モデル生成部１２ｃは、算出した誤差推定モデル１４の予測精度が所定の条件を満たさない場合は、予測値の誤差の条件を変更する。例えば、誤差推定モデル生成部１２ｃは、誤差推定モデル１４の予測精度が所定の条件を満たさない場合は、予測値の誤差の条件を緩和する。具体的には、真値に対する誤差の範囲を広くする（例えば±１０％から±２０％にする）。このように誤差推定モデル１４の予測精度が所定の条件を満たさない場合に予測値の誤差の条件を変更することで、例えば誤差を低く判定した結果が外れるような、誤差推定モデル１４における予測精度の低減を抑止することができる。
【００６９】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７０】
学習装置１、予測装置２で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、学習装置１、予測装置２で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【００７１】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図９は、プログラムを実行するコンピュータの一例を示す説明図である。
【００７２】
図９に示すように、コンピュータ３は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３と、スピーカ１０４とを有する。また、コンピュータ３は、記憶媒体からプログラム等を読み取る媒体読取装置１０５と、各種装置と接続するためのインタフェース装置１０６と、有線または無線により外部機器と通信接続するための通信装置１０７とを有する。また、コンピュータ３は、各種情報を一時記憶するＲＡＭ１０８と、ハードディスク装置１０９とを有する。また、コンピュータ３内の各部（１０１〜１０９）は、バス１１０に接続される。
【００７３】
ハードディスク装置１０９には、上記の実施形態で説明した入力部１０、２０、教師データ生成部１１、モデル生成部１２、予測部２１、誤差判別部２２および出力部２３等の機能部における各種処理を実行するためのプログラム１１１が記憶される。また、ハードディスク装置１０９には、プログラム１１１が参照する各種データ１１２が記憶される。入力装置１０２は、例えば、コンピュータ３の操作者から操作情報の入力を受け付ける。モニタ１０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置１０６は、例えば印刷装置等が接続される。通信装置１０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００７４】
ＣＰＵ１０１は、ハードディスク装置１０９に記憶されたプログラム１１１を読み出して、ＲＡＭ１０８に展開して実行することで、入力部１０、２０、教師データ生成部１１、モデル生成部１２、予測部２１、誤差判別部２２および出力部２３等にかかる各種の処理を行う。なお、プログラム１１１は、ハードディスク装置１０９に記憶されていなくてもよい。例えば、コンピュータ３が読み取り可能な記憶媒体に記憶されたプログラム１１１を、コンピュータ３が読み出して実行するようにしてもよい。コンピュータ３が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にプログラム１１１を記憶させておき、コンピュータ３がこれらからプログラム１１１を読み出して実行するようにしてもよい。
【００７５】
以上の実施形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行い、
前記テストデータ群を用いて、前記学習モデルの予測精度を算出し、
前記予測精度が所定の条件を満たす場合は、前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う、
処理をコンピュータに実行させる学習プログラム。
【００７７】
（付記２）前記学習モデルの学習を行う処理は、算出した前記予測精度が所定の条件を満たさない場合、前記複数の教師データのうちで前記第１の教師データ群の割合を増加する、
付記１に記載の学習プログラム。
【００７８】
（付記３）前記誤差推定モデルの学習を行う処理は、前記第２の教師データ群のデータ量に基づいて前記予測値の誤差の条件を決定する、
付記１または２に記載の学習プログラム。
【００７９】
（付記４）前記テストデータ群を用いて前記誤差推定モデルの予測精度を算出する処理を更にコンピュータに実行させ、
前記誤差推定モデルの学習を行う処理は、算出した前記誤差推定モデルの予測精度が所定の条件を満たさない場合は、前記予測値の誤差の条件を変更する、
付記１乃至３のいずれか一に記載の学習プログラム。
【００８０】
（付記５）予測対象の入力データを受け付け、
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習した学習モデルに前記予測対象の入力データを入力して当該入力データに対する予測値を取得し、
前記テストデータ群を用いて算出した前記学習モデルの予測精度が所定の条件を満たす場合に前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて学習した、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルに、前記予測対象の入力データを入力して当該入力データに対する予測値の誤差の判定結果を取得し、
取得した前記予測値および前記予測値の誤差の判定結果を出力する、
処理をコンピュータに実行させる予測プログラム。
【００８１】
（付記６）複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行い、
前記テストデータ群を用いて、前記学習モデルの予測精度を算出し、
前記予測精度が所定の条件を満たす場合は、前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う、
処理をコンピュータが実行する学習方法。
【００８２】
（付記７）前記学習モデルの学習を行う処理は、算出した前記予測精度が所定の条件を満たさない場合、前記複数の教師データのうちで前記第１の教師データ群の割合を増加する、
付記６に記載の学習方法。
【００８３】
（付記８）前記誤差推定モデルの学習を行う処理は、前記第２の教師データ群のデータ量に基づいて前記予測値の誤差の条件を決定する、
付記６または７に記載の学習方法。
【００８４】
（付記９）前記テストデータ群を用いて前記誤差推定モデルの予測精度を算出する処理を更にコンピュータに実行させ、
前記誤差推定モデルの学習を行う処理は、算出した前記誤差推定モデルの予測精度が所定の条件を満たさない場合は、前記予測値の誤差の条件を変更する、
付記６乃至８のいずれか一に記載の学習方法。
【００８５】
（付記１０）予測対象の入力データを受け付け、
複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習した学習モデルに前記予測対象の入力データを入力して当該入力データに対する予測値を取得し、
前記テストデータ群を用いて算出した前記学習モデルの予測精度が所定の条件を満たす場合に前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて学習した、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルに、前記予測対象の入力データを入力して当該入力データに対する予測値の誤差の判定結果を取得し、
取得した前記予測値および前記予測値の誤差の判定結果を出力する、
処理をコンピュータが実行する予測方法。
【００８６】
（付記１１）複数の教師データからテストデータ群を除外したデータの一部である第１の教師データ群を用いて学習モデルの学習を行う学習モデル生成部と、
前記テストデータ群を用いて、前記学習モデルの予測精度を算出する学習モデル精度評価部と、
前記予測精度が所定の条件を満たす場合は、前記複数の教師データから前記テストデータ群、および、前記第１の教師データ群を除外した残りのデータである第２の教師データ群を用いて、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルの学習を行う誤差推定モデル生成部と、
を有する学習装置。
【００８７】
（付記１２）前記学習モデル生成部は、算出した前記予測精度が所定の条件を満たさない場合、前記複数の教師データのうちで前記第１の教師データ群の割合を増加する、
付記１１に記載の学習装置。
【００８８】
（付記１３）前記誤差推定モデル生成部は、前記第２の教師データ群のデータ量に基づいて前記予測値の誤差の条件を決定する、
付記１１または１２に記載の学習装置。
【００８９】
（付記１４）前記テストデータ群を用いて前記誤差推定モデルの予測精度を算出する誤差推定モデル精度評価部を更に有し、
前記誤差推定モデル生成部は、算出した前記誤差推定モデルの予測精度が所定の条件を満たさない場合は、前記予測値の誤差の条件を変更する、
付記１１乃至１３のいずれか一に記載の学習装置。
【００９０】
（付記１５）予測対象の入力データを受け付ける入力部と、
複数の教師データの一部のデータを用いて学習した学習モデルに前記予測対象の入力データを入力して当該入力データに対する予測値を取得する予測部と、
前記複数の教師データに含まれるテストデータを用いて算出した前記学習モデルの予測精度が所定の条件を満たす場合に前記複数の教師データの残りのデータを用いて学習した、前記学習モデルによる予測値の誤差が所定の条件を満たすかを判別する誤差推定モデルに、前記予測対象の入力データを入力して当該入力データに対する予測値の誤差の判定結果を取得する誤差判別部と、
取得した前記予測値および前記予測値の誤差の判定結果を出力する出力部と、
を有することを特徴とする予測装置。
【符号の説明】
【００９１】
１…学習装置
２…予測装置
３…コンピュータ
１０、２０…入力部
１０ａ、１０ｃ…閾値
１０ｂ…標本データ
１０ｄ、ｄ１、ｄ２…教師データ
１１…教師データ生成部
１１ａ…データ分割部
１２…モデル生成部
１２ａ…学習モデル生成部
１２ｂ…学習モデル精度評価部
１２ｃ…誤差推定モデル生成部
１２ｄ…誤差推定モデル精度評価部
１３…学習モデル
１４…誤差推定モデル
２０ａ…予測対象データ
２１…予測部
２２…誤差判別部
２３…出力部
２３ａ…出力データ
１０１…ＣＰＵ
１０２…入力装置
１０３…モニタ
１０４…スピーカ
１０５…媒体読取装置
１０６…インタフェース装置
１０７…通信装置
１０８…ＲＡＭ
１０９…ハードディスク装置
１１０…バス
１１１…プログラム
１１２…各種データ
Ｃ１、Ｃ２…ケース
Ｌ…境界線
【図１】
2019109634.tif 000004
【図２】
2019109634.tif 000005
【図３】
2019109634.tif 000006
【図４】
2019109634.tif 000007
【図５】
2019109634.tif 000008
【図６】
2019109634.tif 000009
【図７】
2019109634.tif 000010
【図８】
2019109634.tif 000011
【図９】
2019109634.tif 000012