(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-12
(45)【発行日】2023-06-20
(54)【発明の名称】学習プログラム、判定処理プログラム、学習装置、判定処理装置、学習方法および判定処理方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20230613BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2019155085
(22)【出願日】2019-08-27
【審査請求日】2022-05-17
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】工藤 淳真
(72)【発明者】
【氏名】山越 幸太
(72)【発明者】
【氏名】宮城 俊秀
(72)【発明者】
【氏名】江原 那美加
(72)【発明者】
【氏名】塙 大紀
【審査官】武田 広太郎
(56)【参考文献】
【文献】特開2006-236367(JP,A)
【文献】特開2017-157213(JP,A)
【文献】特開2019-114308(JP,A)
【文献】特開平10-074188(JP,A)
【文献】特開2017-062713(JP,A)
【文献】国際公開第2013/001893(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを
訓練することで、前記複数の特徴量
それぞれの重要度を示す重要度ベクトルを算出し、
前記
訓練データ
に含まれる前記複数の特徴量のそれぞれと前記重要度ベクトルが示す前記複数の特徴量それぞれの重要度をそれぞれ乗算した結果を用いてk近傍法の第2機械学習モデル
を生成する
処理をコンピュータに実行させることを特徴とする
学習プログラム。
【請求項2】
訓練データに含まれる複数の特徴量のそれぞれに、前記複数の特徴量を含む前記訓練データと判定結果とを対応付けた学習データを用いて第1機械学習モデルを訓練することで算出された重要度ベクトルが示す前記複数の特徴量それぞれの重要度を乗算した結果を用いて生成されたk近傍法の第2機械学習モデルと、
予測対象データと、
を基にして、前記予測対象データに類似するデータを判定する
処理をコンピュータに実行させることを特徴とする判定処理プログラム。
【請求項3】
前記判定する処理は、前記重要度ベクトルと、前記予測対象データとを乗算した値を、前記第2機械学習モデルに入力することで、前記類似するデータを判定し、
前記予測対象データを前記第1機械学習モデルに入力した場合の判定結果と、前記類似するデータとを関連付けて出力する処理を更に実行することを特徴とする請求項
2に記載の判定処理プログラム。
【請求項4】
前記コンピュータに、更に、
前記訓練データを前記第1機械学習モデルに入力した場合の第1判定結果の確信度と、前記訓練データの複数の特徴量を前記重要度ベクトルで補正した補正訓練データを前記第2機械学習モデルに入力した場合の第2判定結果の確信度との差分が最小となるように、前記重要度ベクトルを調整する処理を実行させることを特徴とする請求項
2または
3に記載の判定処理プログラム。
【請求項5】
前記学習データに含まれる複数の訓練データのうち、前記予測対象データの近傍に存在する複数の訓練データを含むデータ集合を抽出する処理を更に実行し、
前記調整する処理は、前記データ集合を前記第1機械学習モデルに入力した場合の判定結果と、前記データ集合の複数の特徴量に前記重要度ベクトルを乗算したデータ集合を前記第2機械学習モデルに入力した場合の判定結果とを基にして、重要度ベクトルを調整することを特徴とする請求項4に記載の判定処理プログラム。
【請求項6】
複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを
訓練することで、前記複数の特徴量
それぞれの重要度を示す重要度ベクトルを算出する第1学習部と、
前記
訓練データ
に含まれる前記複数の特徴量のそれぞれと前記重要度ベクトルが示す前記複数の特徴量それぞれの重要度をそれぞれ乗算した結果を用いてk近傍法の第2機械学習モデル
を生成する第2学習部と、
を有することを特徴とする
学習装置。
【請求項7】
訓練データに含まれる複数の特徴量のそれぞれに、前記複数の特徴量を含む前記訓練データと判定結果とを対応付けた学習データを用いて第1機械学習モデルを訓練することで算出された重要度ベクトルが示す前記複数の特徴量それぞれの重要度を乗算した結果を用いて生成されたk近傍法の第2機械学習モデルと、予測対象データと、を基にして、前記予測対象データに類似するデータを判定する判定部
を有することを特徴とする判定処理装置。
【請求項8】
コンピュータが実行する
学習方法であって、
複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを
訓練することで、前記複数の特徴量
それぞれの重要度を示す重要度ベクトルを算出し、
前記
訓練データ
に含まれる前記複数の特徴量のそれぞれと前記重要度ベクトルが示す前記複数の特徴量それぞれの重要度をそれぞれ乗算した結果を用いてk近傍法の第2機械学習モデル
を生成する
処理を実行することを特徴とする
学習方法。
【請求項9】
コンピュータが実行する判定処理方法であって、
訓練データに含まれる複数の特徴量のそれぞれに、前記複数の特徴量を含む前記訓練データと判定結果とを対応付けた学習データを用いて第1機械学習モデルを訓練することで算出された重要度ベクトルが示す前記複数の特徴量それぞれの重要度を乗算した結果を用いて生成されたk近傍法の第2機械学習モデルと、
予測対象データと、
を基にして、前記予測対象データに類似するデータを判定する
処理を実行することを特徴とする判定処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定処理プログラム等に関する。
【背景技術】
【0002】
難病法に基づき指定される指定難病について、効果的な治療法が確立されるまでの間、医療費の経済的な負担の大きい患者を支援する制度がある。
【0003】
たとえば、県庁の職員は、患者の申請内容と、重症度分類等とを照らし合わせて、患者の病状の程度が一定程度以上であるか否かに応じて、指定難病に対する補助金を認定するか否かを判断する作業を行っている。
【0004】
ここで、指定難病に対する補助金認定の作業では、要求される作業量に対して適切に判断できるスキルを有する人が少ないという現状がある。このような問題は、指定難病に対する補助金認定の作業に限定されるものではなく、各種の申請内容に対して、他の認定を行う場合にも発生し得る問題である。
【0005】
上記の状況に対して、コンピュータによるデータ解析(人工知能等)を用いて、患者の申請内容のデータから、補助金を認定するか否かを自動で判定させる試みがある。
【0006】
補助金の認定に限らず、コンピュータを用いることで、入力データに対して何らかの判定結果を得ることができるが、判定結果の根拠を説明することが求められている。
【先行技術文献】
【非特許文献】
【0007】
【文献】”Explainable artificial intelligence”、[令和1年8月9日検索]、インターネット<URL:https://en.wikipedia.org/wiki/Explainable_artificial_intelligence>
【発明の概要】
【発明が解決しようとする課題】
【0008】
入力データに基づく判定を行う手法として、k近傍法がある。
図14、
図15は、k近傍法を説明するための図である。k近傍法では、学習データの集合D、新規データTがあったとき、入力データTに最も近いデータを学習データDからk個選択して、判定を行うものである。
【0009】
図14について説明する。学習データDには、認定データ1a~1dと、不認定データ2a~2eが含まれる。k=3とすると、入力データTとの距離に基づいて、認定データ1b~1dが選択される。選択されたデータが全て認定データであるため、入力データTは「認定データ」であると予測される。
【0010】
図15について説明する。学習データDには、認定データ1a~1dと、不認定データ2a~2eが含まれる。k=3とすると、入力データTとの距離に基づいて、認定データ1dと、不認定データ2a,2bが選択される。選択されたデータにおいて、認定データよりも不認定データの数が多いため、入力データTは、「不認定データ」であると予測される。
【0011】
上記のように、説明性に関して言えば、k近傍法は、入力データに類似するデータを判定結果の根拠として提示できるというメリットがある。たとえば、
図14で説明した例では、入力データTを「認定データ」であると予測した根拠として、認定データ1b~1dを提示することができる。
図15で説明した例では、入力データTを「不認定データ」であると予測した根拠として、不認定データ2a,2bを提示することができる。
【0012】
しかしながら、発明者による検証の結果、ランダムフォレストやNN(Neural Network)等の学習モデルを利用した判定手法と比較すると、k近傍法を用いた判定の精度には優位性があるとは言い難い場合があることがわかった。
【0013】
ただし、ランダムフォレストやNN等の学習モデルを利用した判定手法の場合、判定結果と合わせて、入力データに類似するデータを提示することは難しい。このため、従来では、判定結果の精度と説明性とがトレードオフの関係となっており、判定結果の精度と説明性とを両立を図ることが難しい。
【0014】
1つの側面では、本発明は、判定結果の精度と説明性との両立を図ることができる判定処理プログラム、判定処理方法および判定処理装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
第1の案では、コンピュータは、次の処理を実行する。コンピュータは、複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを学習することで、複数の特徴量に対する重要度ベクトルを算出する。コンピュータは、学習データと重要度ベクトルとを基にして、k近傍法の第2機械学習モデルを学習する。コンピュータは、学習済みの第2機械学習モデルと、予測対象データとを基にして、訓練データから予測対象データに類似するデータを判定する。
【発明の効果】
【0016】
判定結果の精度と説明性との両立を図ることができる。
【図面の簡単な説明】
【0017】
【
図1】
図1は、本実施例1に係る判定処理装置の構成を示す機能ブロック図である。
【
図2】
図2は、学習データのデータ構造の一例を示す図である。
【
図3】
図3は、訓練データのデータ構造の一例を示す図である。
【
図4】
図4は、第1機械学習モデルの一例を示す図である。
【
図6】
図6は、データ集合Dとデータ集合wDとの関係を示す図である。
【
図7】
図7は、本実施例1に係る判定処理装置の処理手順を示すフローチャートである。
【
図8】
図8は、本実施例2に係る判定処理装置の構成を示す機能ブロック図である。
【
図9】
図9は、本実施例2に係る判定処理装置の処理手順を示すフローチャートである。
【
図10】
図10は、機械学習モデルのわかりやすさと精度との関係を示す図である。
【
図11】
図11は、本実施例3に係る判定処理装置の構成を示す機能ブロック図である。
【
図12】
図12は、本実施例3に係る判定処理装置の処理手順を示すフローチャートである。
【
図13】
図13は、判定処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図14】
図14は、k近傍法を説明するための図(1)である。
【
図15】
図15は、k近傍法を説明するための図(2)である。
【発明を実施するための形態】
【0018】
以下に、本願の開示する判定処理プログラム、判定処理方法および判定処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0019】
図1は、本実施例1に係る判定処理装置の構成を示す機能ブロック図である。
図1に示すように、この判定処理装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0020】
通信部110は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。判定処理装置100は、後述する学習データ140aを、外部装置から取得してもよい。
【0021】
入力部120は、各種の情報を判定処理装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部120を操作して、予測対象データを入力してもよい。予測対象データの説明は後述する。
【0022】
表示部130は、制御部150から出力される情報を表示する表示装置である。たとえば、制御部150から出力される情報は、予測対象データに対する判定結果と判定結果の根拠とを対応付けた情報を含む。表示部130は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、タッチパネル等に対応する。
【0023】
記憶部140は、学習データ140a、第1機械学習モデル140b、第2機械学習モデル140c、重要度ベクトルデータ140dを有する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0024】
学習データ140aは、訓練データと、ラベルとを対応付けるデータである。
図2は、学習データのデータ構造の一例を示す図である。
図2に示すように、この学習データは、訓練データdと、ラベルyとを対応付ける。本実施例では一例として、訓練データdを、患者の申請内容のデータとする。ラベルyを、指定難病として、認定するか否か(認定または不認定)を示すラベル(正解ラベル)とする。各訓練データdの集合を、「データ集合D」とする。
【0025】
図3は、訓練データのデータ構造の一例を示す図である。
図3に示すように、一つの訓練データには、項番と、項目と、特徴量とが対応付けられる。項番は、項目、特徴量を識別する番号である。項目は、申請内容の項目である。特徴量は、項目に対応する値である。
【0026】
たとえば、項目には、重症度分類、発熱、体温、頻脈、脈拍、貧血、ヘモグロビン等が含まれる。項目「重症度分類」の特徴量は「中等症」、項目「発熱」の特徴量は「なし」、項目「体温」の特徴量は「36.6」、項目「頻脈」の特徴量は「なし」である。項目「脈拍」の特徴量は「65」、項目「貧血」の特徴量は「なし」、項目「ヘモグロビン」の特徴量は「15.3」である。訓練データに含まれる項目が特徴に対応し、項目に対応する値が、特徴量に対応する。
【0027】
訓練データdと、ラベルyとの組み合わせにより、後述する第1機械学習モデル140b、第2機械学習モデル140cが学習される。
【0028】
第1機械学習モデル140bは、アンサンブル学習によって学習される学習モデルである。
図4は、第1機械学習モデルの一例を示す図である。
図4に示すように、第1機械学習モデル140bは、入力部30aと、出力部30bと、決定木31a,31b,31cとを有する。本実施例では、一例として、決定木31a~31cを示すが、第1機械学習モデル140bは、他の決定木を含んでいてもよい。以下の説明では、特に区別しない場合、決定木31a~31cをまとめて、決定木31と表記する。
【0029】
入力部30aは、データを決定木31に入力するものである。入力部30aが、決定木31に入力するデータには、訓練データ、予測対象データが含まれる。
【0030】
出力部30bは、決定木31の判定結果を取得し、最終的な判定結果を判定して出力する。出力部30bは、決定木31からそれぞれ出力される判定結果の多数決を行って、最終的な判定結果を特定してもよいし、各判定結果の確信度を出力してもよい。
【0031】
たとえば、決定木31は、入力されたデータを基にして、「認定」か「不認定」かを判定する決定木であるものとする。決定木31a,31bの出力が「認定」、決定木31cの出力が「不認定」の場合、出力部30bは、最終的な判定結果「認定」を出力する。または、出力部30bは、認定の確信度(2/3)と、不認定の確信度(1/3)とを出力してもよい。
【0032】
決定木31は、入力部30aから入力されるデータを基にして、認定か、不認定かを判定する決定木(分類木)である。
図5は、決定木の一例を示す図である。
図5に示す例では、説明の便宜上、決定木のノード40a~40dと、葉41a~41cを示す。決定木は、ノード40a~40d以外のノード、葉41a~41e以外の葉を更に含んでいてもよい。以下の説明では、ノード40a~40d(他のノード)をまとめて、「ノード40」と表記する。葉41a~41e(他の葉)をまとめて、「葉41」と表記する。
【0033】
ノード40は、訓練データ(予測対象データ)の項目に対応するノードである。該当する項目に応じて、条件はそれぞれ異なる。たとえば、ノード40に対応する項目が、発熱である場合には、ノード40に設定される条件は、発熱の有無によって分岐する条件となる。ノード40に対応する項目が、体温である場合には、ノード40に設定される条件は、数値が閾値以上であるか否かで分岐する条件となる。
【0034】
葉41は、判定結果を示すものである。たとえば、データとノード40の条件とを比較して、決定木31を辿り、「認定」の葉41に到達した場合には、判定結果は「認定」となる。データとノード40の条件とを比較して、決定木31を辿り、「不認定」の葉41に到達した場合には、判定結果は「不認定」となる。
【0035】
決定木31は、学習データ140aを基に学習される場合、認定、不認定を判定するうえで、重要度の大きい項目ほど、上層のノード40に設定される。決定木31を学習することで、各項目(各項目の特徴量)の重要度が決定される。
【0036】
図1の説明に戻る。第2機械学習モデル140cは、k近傍法によって、「認定」または「不認定」の判定結果を出力するモデルである。たとえば、第2機械学習モデル140cは、学習データ140aの重み付けを行った各訓練データの位置と、各訓練データのラベルとを対応付ける。以下の説明では、重み付けを行った訓練データを、「重み付け訓練データ」と表記する。重み付け訓練データの説明は後述する。
【0037】
なお、第2学習部150cは、データ(訓練データ、予測対象データ)の特徴量が数値以外の場合には、特徴量を数値に変更して処理を行ってもよい。たとえば、発熱の特徴量は「ある」または「なし」であるが、これを、「1(ある)」、「0(なし)」として、処理を行ってもよい。
【0038】
第2機械学習モデル140cは、判定結果を出力する場合に、判定結果の確信度を合わせて出力してもよい。たとえば、k=3とし、入力されたデータに最も近い訓練データについて、ラベル「認定」が付与された訓練データが2個、ラベル「不認定」が付与された訓練データが1個であるものとする。この場合、第2機械学習モデル140cは、判定結果「認定」、確信度「2/3」を出力する。
【0039】
重要度ベクトルデータ140dは、データ(訓練データ、予測対象データ)に含まれる各特徴量の重要度を示す。各特徴量の重要度は、第1機械学習モデル140bを学習する過程において、決定される。重要度ベクトルwは、式(1)によって定義される。重要度ベクトルwは、各特徴量の重要度を、項番の順に配列したベクトルである。項番は、
図3に示した、項目、特徴量を識別するものである。
【0040】
w=(w1,・・・,wn)・・・(1)
【0041】
図1の説明に戻る。制御部150は、取得部150aと、第1学習部150bと、第2学習部150cと、判定部150dとを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0042】
取得部150aは、外部装置(図示略)等から、学習データ140aを取得する処理部である。取得部150aは、取得した学習データ140aを、記憶部140に格納する。また、取得部150aは、予測対象データを取得した場合、予測対象データを、判定部150dに出力する。
【0043】
第1学習部150bは、学習データ140aを基にして、アンサンブル学習を実行し、第1機械学習モデル140bを生成する処理部である。第1機械学習モデル140bに、3つの決定木31a~31cが含まれる場合、第1学習部150bは、学習データ140aを3つに分割し、分割した各学習データを基にして、決定木31a~31cをそれぞれ学習する。
【0044】
第1学習部150bは、どのようなアルゴリズムを用いて、決定木31を学習してもよい。たとえば、第1学習部150bは、ジニ不純度または情報エントロピーを用いて、親ノードと子ノードとの不純度を算出する。親ノードの不純度と、子ノードの不純度との差分が最大となるように、子ノードを分ける処理を繰り返し実行し、決定木31を生成する。
【0045】
第1学習部150bは、第1機械学習モデル140bを生成した場合に、決定木31の各ノードに対応する項目を基にして、各特徴量の重要度を特定し、重要度ベクトルデータ140dを生成する。一つの特徴量(項目)の重要度が、各決定木31a~31cで異なる場合には、第1学習部150bは、異なる重要度を基にして、一つの重要度を特定する。第1学習部150bは、各重要度を平均してもよいし、各重要度の中央値を選択してもよい。
【0046】
第2学習部150cは、学習データ140aを基にして、第2機械学習モデル140cを生成する処理部である。たとえば、第2学習部150cは、学習データ140aに含まれる訓練データのデータ集合Dと、重要度ベクトルwとの積「wD」を算出する。wDは、式(2)のように定義される。式(2)のwdは、重み付け訓練データである。
【0047】
wD={wd=(w1d1,・・・,wndn):d∈D}・・・(2)
【0048】
図6は、データ集合Dとデータ集合wDとの関係を示す図である。
図6において、グラフ50aは、データ集合Dのグラフを示し、グラフ50bは、データ集合wDのグラフを示す。グラフ50a,50bの横軸は、第1特徴量に対応する軸である。グラフ50a,50bの縦軸は、第2特徴量に対応する軸である。たとえば、第1特徴量、第2特徴量は、
図3に示した各項目に対応する特徴量のいずれかに対応するものである。
【0049】
たとえば、第1特徴量の重要度が大きく、第2特徴量の重要度が小さいものとする。この場合には、グラフ50aと50bとを比較すると、グラフ50bの各データにおける縦方向の差が縮む。グラフ50bに示すようなデータ集合wDに対して、k近傍法を行うことで、重要度の小さい特徴量は差が考慮されず、重要度の大きい特徴量は差が考慮される用になり、k近傍法の精度が向上する。
【0050】
第2学習部150cは、重み付け訓練データの位置と、重み付けを行う前の訓練データのラベルとを対応付けることで、第2機械学習モデル140cを生成する。
【0051】
判定部150dは、予測対象データの判定結果を予測する処理部である。判定部150dは、予測対象データを取得すると、式(3)を基にして、「重み付けデータ」を算出する。式(3)において、Tは、予測対象データである。wは、式(1)で説明した重要度ベクトルである。
【0052】
T’=w*T・・・(3)
【0053】
判定部150dは、重み付けデータを、第2機械学習モデル140cに入力することで、k近傍法による判定結果を得る。また、判定部150dは、重み付けデータに類似する訓練データを、第2機械学習モデル140cを基にして判定する。たとえば、判定部150dは、重み付けデータと各重み付け訓練データとの距離をそれぞれ算出し、重み付けデータとの距離が小さいものから順に、各重み付け訓練データをソートする。判定部150dは、先頭からk個の重み付け訓練データを選択する。判定部150dは、選択した重み付け訓練データに対して、重要度ベクトルを乗算する前の訓練データを、予測対象データに類似するデータとして判定する。以下の説明では、予測対象データに類似するデータを、「類似データ」と表記する。
【0054】
判定部150dは、第2機械学習モデル140cによる判定結果と、判定の根拠となる情報とを対応付けて、表示部130に出力して表示させる。判定の根拠となる情報は、類似データである。
【0055】
なお、判定部150dは、予測対象データを、第1機械学習モデル140bに入力して、判定結果を取得してもよい。この場合、判定部150dは、第1機械学習モデル140bによる判定結果と、判定の根拠となる情報とを対応付けて、表示部130に出力して表示させてもよい。判定の根拠となる情報は、上記の類似データである。
【0056】
次に、本実施例1に係る判定処理装置100の処理手順の一例について説明する。
図7は、本実施例1に係る判定処理装置の処理手順を示すフローチャートである。
図7に示すように、判定処理装置100の取得部150aは、学習データ140aを取得し、記憶部140に格納する(ステップS101)。
【0057】
判定処理装置100の第1学習部150bは、学習データ140aを基にして、アンサンブル学習を実行し、第1機械学習モデル140bを生成する(ステップS102)。第1学習部150bは、第1機械学習モデル140bを基にして、重要度ベクトルデータ140dを生成する(ステップS103)。
【0058】
判定処理装置100の第2学習部150cは、学習データ140aを基にして、k近傍法学習を実行し、第2機械学習モデル140cを生成する(ステップS104)。ステップS104において、第2学習部150cは、学習データ140aのデータ集合Dと、重要度ベクトルwとの積「wD」を用いて、第2機械学習モデル140cを生成する。
【0059】
判定処理装置100の取得部150aは、予測対象データを取得する(ステップS105)。判定処理装置100の判定部150dは、重要度ベクトルと予測対象データとの積によって、重み付けデータを算出する(ステップS106)。
【0060】
判定部150dは、重み付けデータを、第2機械学習モデル140cに入力することで、判定結果および類似データを判定する(ステップS107)。判定部150dは、判定結果と、類似データ(判定結果の根拠となる情報)とを対応付けた情報を表示部に出力して表示させる(ステップS108)。
【0061】
次に、本実施例1に係る判定処理装置100の効果について説明する。判定処理装置100は、学習データ140aのデータ集合Dと、重要度ベクトルとの積wDを基にして、第2機械学習モデル140cを生成する。判定処理装置100は、予測対象データTと、重要度ベクトルwとの積によって、重み付けデータT’を算出する。判定処理装置100は、かかる重み付けデータT’を、第2機械学習モデル140cに入力することで、判定結果と、類似データとを取得し、判定結果の根拠として、類似データを出力する。これによって、重要度が大きい項目は、特徴量の差が考慮され、重要度の小さい項目は、特徴量の差が考慮されなくなるため、k近傍法による判定精度が向上する。また、k近傍法は説明性が優れているため、判定結果の精度と説明性との両立を図ることができる。
【実施例2】
【0062】
図8は、本実施例2に係る判定処理装置の構成を示す機能ブロック図である。
図8に示すように、この判定処理装置200は、通信部210と、表示部230と、記憶部240と、制御部250とを有する。
【0063】
通信部210は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部210は、通信装置の一例である。判定処理装置200は、後述する学習データ240aを、外部装置から取得してもよい。
【0064】
入力部220は、各種の情報を判定処理装置200に入力するための入力装置である。たとえば、入力部220は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部220を操作して、予測対象データを入力してもよい。
【0065】
表示部230は、制御部250から出力される情報を表示する表示装置である。たとえば、制御部250から出力される情報は、予測対象データに対する判定結果と判定結果の根拠とを対応付けた情報を含む。表示部230は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0066】
記憶部240は、学習データ240a、第1機械学習モデル240b、第2機械学習モデル240c、重要度ベクトルデータ240dを有する。記憶部240は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0067】
学習データ240aは、訓練データと、ラベルとを対応付けるデータである。学習データ240aのデータ構造は、
図2で説明した、学習データ140aのデータ構造と同様であるため、説明を省略する。訓練データのデータ構造は、
図3で説明した訓練データのデータ構造と同様である。
【0068】
第1機械学習モデル240bは、アンサンブル学習によって学習される学習モデルである。第1機械学習モデル240bの説明は、
図4で説明した、第1機械学習モデル140bの説明と同様である。第1機械学習モデル240bは、入力されたデータに対する判定結果と、判定結果の確信度とを出力する。判定結果は、「認定」または「不認定」となる。
【0069】
第2機械学習モデル240cは、k近傍法によって、「認定」または「不認定」の判定結果を出力するモデルである。たとえば、第2機械学習モデル240cは、各重み付け訓練データと、各訓練データのラベルとを対応付ける。第2機械学習モデル240cは、判定結果を出力する場合に、判定結果の確信度を合わせて出力する。
【0070】
重要度ベクトルデータ240dは、データ(訓練データ、予測対象データ)に含まれる各特徴量の重要度を示す。各特徴量の重要度は、第1機械学習モデル240bを学習する過程において、決定される。重要度ベクトルwは、式(1)によって定義される。
【0071】
制御部250は、取得部250aと、第1学習部250bと、第2学習部250cと、調整部250dと、判定部250eとを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0072】
取得部250aは、外部装置(図示略)等から、学習データ240aを取得する処理部である。取得部250aは、取得した学習データ240aを、記憶部240に格納する。また、取得部250aは、予測対象データを取得した場合、予測対象データを、判定部250eに出力する。
【0073】
第1学習部250bは、学習データ240aを基にして、アンサンブル学習を実行し、第1機械学習モデル240bを生成する処理部である。第1機械学習モデル240bに、3つの決定木31a~31cが含まれる場合、第1学習部250bは、学習データ240aを3つに分割し、分割した各学習データを基にして、決定木31a~31cをそれぞれ学習する。第1学習部250bが、決定木31を学習する処理は、実施例1で説明した第1学習部250bと同様である。
【0074】
なお、第1学習部250bは、後述する調整部250dと協働して、重要度ベクトルwを調整する。
【0075】
第2学習部250cは、学習データ240aを基にして、第2機械学習モデル240cを生成する処理部である。たとえば、第2学習部250cは、学習データ240aに含まれる訓練データのデータ集合Dと、重要度ベクトルwとの積「wD」を算出する。wDは、実施例1で説明したように、式(2)のように定義される。
【0076】
第2学習部250cは、重み付け訓練データの位置と、(重み付けを行う前の)訓練データのラベルとを対応付けることで、第2機械学習モデル240cを生成する。
【0077】
調整部250dは、データ集合Dを、第1機械学習モデル240bに入力した場合の判定結果と、データ集合Dと重要度ベクトルwとの積wDを第2機械学習モデル240cに入力した場合の判定結果とを基にして、重要度ベクトルwを調整する処理部である。調整部250dは、調整した重要度ベクトルwによって、重要度ベクトルデータ240dを更新する。
【0078】
データ集合Dを、第1機械学習モデル240bに入力した場合の判定結果は、第1判定結果に対応する。積wDを第2機械学習モデル240cに入力した場合の判定結果は、第2判定結果に対応する。調整部250dは、第1判定結果の確信度と、第2判定結果の確信度との差が最小となるような重要度ベクトルwを探索する。
【0079】
調整部250dは、式(4)の目的関数の値が最小となるように、重要度ベクトルwを調整する。式(4)は、M(D)とK(wD)との差分が最小になるというものである。最小化する目的関数は、行列のノルム(フロベニウスノルム)である。
【0080】
【0081】
式(4)において、M(D)は、データ集合Dに含まれる各訓練データdを、第1機械学習モデル240bに入力した場合に出力される予測確率の行列(各ラベルについての確信度)を示すものである。
【0082】
k(wD)は、積wDに含まれる各訓練データwdを、第2機械学習モデル240cに入力した場合に出力される予測確率の行列を示すものである。
【0083】
たとえば、調整部250dは、第1学習部250bと協働し、重要度ベクトルwを更新し、更新した重要度ベクトルwに応じて、第1機械学習モデル240bの決定木31を更新し、式(4)の値を求める処理を繰り返し実行することで、式(4)の目的関数が最小化するような重要度ベクトルwを探索する。調整部250dは、どのような探索方法を用いてもよいが、たとえばブラックボックス最適化手法の「hyperopt」を用いてもよい。
【0084】
判定部250eは、予測対象データの判定結果を予測する処理部である。判定部250eは、実施例1で説明した、式(3)を基にして、「重み付けデータ」を算出する。
【0085】
判定部250eは、重み付けデータを、第2機械学習モデル240cに入力することで、k近傍法による判定結果を得る。また、判定部250eは、重み付けデータに類似する訓練データを、第2機械学習モデル240cを基にして判定する。たとえば、判定部250eは、重み付けデータと各重み付け訓練データとの距離をそれぞれ算出し、重み付けデータとの距離が小さいものから順に、各重み付け訓練データをソートする。判定部250eは、先頭からk個の重み付け訓練データを選択する。判定部250eは、選択した重み付け訓練データに対して、重要度ベクトルを乗算する前の訓練データを、予測対象データに類似するデータ(類似データ)として判定する。
【0086】
判定部250eは、第2機械学習モデル240cによる判定結果と、判定の根拠となる情報とを対応付けて、表示部230に出力して表示させる。判定の根拠となる情報は、類似データである。
【0087】
なお、判定部250eは、予測対象データを、第1機械学習モデル240bに入力して、判定結果を取得してもよい。この場合、判定部250eは、第1機械学習モデル240bによる判定結果と、判定の根拠となる情報とを対応付けて、表示部230に出力して表示させてもよい。判定の根拠となる情報は、上記の類似データである。
【0088】
次に、本実施例2に係る判定処理装置200の処理手順の一例について説明する。
図9は、本実施例2に係る判定処理装置の処理手順を示すフローチャートである。
図9に示すように、判定処理装置200の取得部250aは、学習データ240aを取得し、記憶部240に格納する(ステップS201)。
【0089】
判定処理装置200の第1学習部250bは、学習データ240aを基にして、アンサンブル学習を実行し、第1機械学習モデル240bを生成する(ステップS202)。第1学習部250bは、第1機械学習モデル240bを基にして、重要度ベクトルデータ240dを生成する(ステップS203)。
【0090】
判定処理装置200の第2学習部250cは、学習データ240aを基にして、k近傍法学習を実行し、第2機械学習モデル240cを生成する(ステップS204)。ステップS204において、第2学習部250cは、学習データ240aのデータ集合Dと、重要度ベクトルwとの積「wD」を用いて、第2機械学習モデル240cを生成する。
【0091】
判定処理装置200の調整部250dは、式(4)の目的関数を最小化する重要度ベクトルを探索する(ステップS205)。取得部250aは、予測対象データを取得する(ステップS206)。判定処理装置200の判定部250eは、重要度ベクトルと予測対象データとの積によって、重み付けデータを算出する(ステップS207)。
【0092】
判定部250eは、重み付けデータを、第2機械学習モデル240cに入力することで、判定結果および類似データを判定する(ステップS208)。判定部250eは、判定結果と、類似データ(判定結果の根拠となる情報)とを対応付けた情報を表示部230に出力して表示させる(ステップS209)。
【0093】
次に、本実施例2に係る判定処理装置200の効果について説明する。判定処理装置200は、第1判定結果の確信度と、第2判定結果の確信度との差が最小となるような重要度ベクトルwを探索する。判定処理装置200は、探索した重要度ベクトルwを用いて、予測対象データに重み付けを行い、第2機械学習モデル240cに入力して、判定結果および判定結果の根拠を特定し、表示させる。実施例1で説明したアンサンブル学習のみによって特定される重要度ベクトルwは、必ずしも各特徴量に対する重要度を最適に表していない場合がある。これに対して、本実施例2では、式(4)に示す目的関数を最小化するような重要度ベクトルwを探索することで、各特徴量に対する重要度を適切に求めることができ、判定精度が向上する。
【実施例3】
【0094】
機械学習の説明性という点において、上述した実施例1、2は、k近傍法を用いた局所説明である。
図10は、機械学習モデルのわかりやすさと精度との関係を示す図である。
図10において、横軸はわかりやすさに対応する軸であり、右に行くほど、よりわかりやすく、判定結果の判定の根拠を示しやすいことを示す。縦軸は精度に対応する軸であり、上に行くほど、より判定精度が高いことを示す。
【0095】
一般的に、機械学習モデルのわかりやすさと精度とはトレードオフの関係にある。たとえば、ディープラーニングは、判定結果の精度が高いが、そのような判定結果に至る仕組みを人間がモデルから把握することは難しい。一方、k近傍法は、ディープラーニングと比べると、判定結果の精度が低いが、そのような判定結果に至る仕組みを人間が理解することは容易である。このため、実施例3では、予測用のモデルと、説明用のモデルとを用意することで、判定結果の精度と説明性との両立を図る。
【0096】
ここで、検索技術のBM25は、与えられたクエリによって、単語における重要度重みを変えたk近傍法と見なすことができる。単語q1、・・・、qnを含むクエリQが与えられた場合、文書DのBM25スコアは、式(5)によって算出される。
【0097】
【0098】
式(5)において、TF(qi)は、文書Dに含まれる単語qiの出現数を、文書Dの全単語の出現数で除算した値を示す。IDF(qi)は、式(6)によって算出される。b、k1は、パラメータである。avgdlは、各文書の平均単語数である。
【0099】
IDF(qi)=log(文書Dに含まれる文書の総数/単語qiを含む文書の数)・・・(6)
【0100】
上記のBM25では、与えられたデータに対して、その付近では考える重要度が異なるという考え方に基づく。
【0101】
本実施例3に係る判定処理装置は、与えられた予測対象データT毎に、重要度ベクトルを算出する。
図11は、本実施例3に係る判定処理装置の構成を示す機能ブロック図である。
図11に示すように、判定処理装置300は、通信部310と、表示部330と、記憶部340と、制御部350とを有する。
【0102】
通信部310は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する処理部である。通信部310は、通信装置の一例である。判定処理装置300は、後述する学習データ340aを、外部装置から取得してもよい。
【0103】
入力部320は、各種の情報を判定処理装置300に入力するための入力装置である。たとえば、入力部320は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部320を操作して、予測対象データを入力してもよい。
【0104】
表示部330は、制御部350から出力される情報を表示する表示装置である。たとえば、制御部350から出力される情報は、予測対象データに対する判定結果と判定結果の根拠とを対応付けた情報を含む。表示部330は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0105】
記憶部340は、学習データ340a、第1機械学習モデル340b、第2機械学習モデル340c、重要度ベクトルデータ340dを有する。記憶部340は、RAM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
【0106】
学習データ340aは、訓練データと、ラベルとを対応付けるデータである。学習データ340aのデータ構造は、
図2で説明した、学習データ140aのデータ構造と同様であるため、説明を省略する。訓練データのデータ構造は、
図3で説明した訓練データのデータ構造と同様である。
【0107】
第1機械学習モデル340bは、アンサンブル学習によって学習される学習モデルである。第1機械学習モデル340bの説明は、
図4で説明した、第1機械学習モデル140bの説明と同様である。第1機械学習モデル340bは、入力されたデータに対する判定結果と、判定結果の確信度とを出力する。判定結果は、「認定」または「不認定」となる。
【0108】
第2機械学習モデル340cは、k近傍法によって、「認定」または「不認定」の判定結果を出力するモデルである。たとえば、第2機械学習モデル340cは、各重み付け訓練データと、各訓練データのラベルとを対応付ける。第2機械学習モデル340cは、判定結果を出力する場合に、判定結果の確信度を合わせて出力する。
【0109】
重要度ベクトルデータ340dは、データ(訓練データ、予測対象データ)に含まれる各特徴量の重要度を示す。各特徴量の重要度は、第1機械学習モデル340bを学習する過程において、決定される。重要度ベクトルwは、式(1)によって定義される。
【0110】
制御部350は、取得部350aと、第1学習部350bと、第2学習部350cと、調整部350dと、判定部350eとを有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
【0111】
取得部350aは、外部装置(図示略)等から、学習データ340aを取得する処理部である。取得部350aは、取得した学習データ340aを、記憶部340に格納する。また、取得部350aは、予測対象データを取得した場合、予測対象データを、判定部350eに出力する。
【0112】
また、取得部350aは、学習データ340aに含まれるデータ集合Dと、予測対象データとを比較し、データ集合Dに含まれる訓練データのうち、予測対象データの近傍に存在する訓練データをサンプリングする。予測対象データの近傍を、予測対象データの位置から所定範囲内とする。取得部350aは、サンプリングした訓練データの集合を、データ集合Zと表記する。
【0113】
取得部350aは、データ集合Zと、データ集合Zに含まれる各訓練データのラベルとを対応付けた情報(以下、近傍学習データ)を、第1学習部350bおよび第2学習部350cに出力する。取得部350aは、データ集合Zの情報を、調整部350dに出力する。
【0114】
第1学習部350bは、たとえば、近傍学習データを基にして、アンサンブル学習を実行し、第1機械学習モデル340bを生成する処理部である。第1機械学習モデル340bに、3つの決定木31a~31cが含まれる場合、第1学習部350bは、近傍学習データを3つに分割し、分割した各近傍学習データを基にして、決定木31a~31cをそれぞれ学習する。第1学習部350bが、決定木31を学習する処理は、実施例1で説明した第1学習部350bと同様である。
【0115】
なお、第1学習部350bは、後述する調整部350dと協働して、重要度ベクトルwを調整する。
【0116】
第2学習部350cは、近傍学習データを基にして、第2機械学習モデル340cを生成する処理部である。たとえば、第2学習部350cは、近傍学習データに含まれる訓練データのデータ集合Zと、重要度ベクトルwとの積「wZ」を算出する。
【0117】
第2学習部350cは、重み付け訓練データ(訓練データは、データ集合Zに含まれる訓練データ)の位置と、(重み付けを行う前の)訓練データのラベルとを対応付けることで、第2機械学習モデル340cを生成する。
【0118】
調整部350dは、データ集合Zを、第1機械学習モデル340bに入力した場合の判定結果と、データ集合Zと重要度ベクトルwとの積wZを第2機械学習モデル240cに入力した場合の判定結果とを基にして、重要度ベクトルwを調整する処理部である。調整部350dは、調整した重要度ベクトルwによって、重要度ベクトルデータ340dを更新する。
【0119】
データ集合Zを、第1機械学習モデル340bに入力した場合の判定結果は、第1判定結果に対応する。積wZを第2機械学習モデル340cに入力した場合の判定結果は、第2判定結果に対応する。調整部350dは、第1判定結果の確信度と、第2判定結果の確信度との差が最小となるような重要度ベクトルwを探索する。
【0120】
調整部350dは、式(7)の目的関数の値が最小となるように、重要度ベクトルwを調整する。式(7)は、M(Z)とK(wZ)との差分が最小になるというものである。最小化する目的関数は、行列のノルム(フロベニウスノルム)である。
【0121】
【0122】
式(7)において、M(Z)は、データ集合Zに含まれる各訓練データdを、第1機械学習モデル340bに入力した場合に出力される予測確率の行列(各ラベルについての確信度)を示すものである。
【0123】
k(wZ)は、積wZに含まれる各訓練データwdを、第2機械学習モデル340cに入力した場合に出力される予測確率の行列を示すものである。
【0124】
たとえば、調整部350dは、第1学習部350bと協働し、重要度ベクトルwを更新し、更新した重要度ベクトルwに応じて、第1機械学習モデル340bの決定木31を更新し、式(7)の値を求める処理を繰り返し実行することで、式(7)の目的関数が最小化するような重要度ベクトルwを探索する。調整部350dは、どのような探索方法を用いてもよいが、たとえばブラックボックス最適化手法の「hyperopt」を用いてもよい。
【0125】
判定部350eは、予測対象データの判定結果を予測する処理部である。判定部350eは、判定結果を予測するモデルとして、第1機械学習モデル340bを用いる。判定部350eは、判定結果の判定の根拠となる類似データを特定するための解釈用のモデルとして、第2機械学習モデル230cを用いる。
【0126】
判定部350eが、予測対象データの判定結果を予測する処理について説明する。判定部350eは、第1機械学習モデル340bに、予測対象データを入力し、第1機械学習モデル340bから出力される判定結果を取得する。
【0127】
判定部350eが、判定結果の判定の根拠となる類似データを特定する処理について説明する。判定部350eは、実施例1で説明した、式(3)を基にして、「重み付けデータ」を算出する。
【0128】
判定部350eは、重み付けデータと各重み付け訓練データとの距離をそれぞれ算出し、重み付けデータとの距離が小さいものから順に、各重み付け訓練データをソートする。判定部350eは、先頭からk個の重み付け訓練データを選択する。判定部350eは、選択した重み付け訓練データに対して、重要度ベクトルを乗算する前の訓練データを、予測対象データに類似するデータ(類似データ)として判定する。
【0129】
判定部350eは、第1機械学習モデル340bによる判定結果と、判定の根拠となる情報とを対応付けて、表示部330に出力して表示させる。判定の根拠となる情報は、上記の類似データである。
【0130】
次に、本実施例3に係る判定処理装置300の処理手順の一例について説明する。
図12は、本実施例3に係る判定処理装置の処理手順を示すフローチャートである。
図12に示すように、判定処理装置200の取得部350aは、学習データ340aを取得し、記憶部240に格納する(ステップS301)。取得部350aは、予測対象データを取得する(ステップS302)。取得部350aは、データ集合Dと、予測対象データとを比較し、予測対象データ近傍の訓練データの集合(データ集合Z)を抽出する(ステップS303)。
【0131】
判定処理装置300の第1学習部350bは、近傍学習データを基にして、アンサンブル学習を実行し、第1機械学習モデル340bを生成する(ステップS304)。第1学習部350bは、第1機械学習モデル340bを基にして、重要度ベクトルデータ340dを生成する(ステップS305)。
【0132】
判定処理装置300の第2学習部350cは、近傍学習データを基にして、k近傍法学習を実行し、第2機械学習モデル340cを生成する(ステップS306)。ステップS306において、第2学習部350cは、データ集合Zと、重要度ベクトルwとの積「wZ」を用いて、第2機械学習モデル240cを生成する。
【0133】
判定処理装置300の調整部350dは、式(7)の目的関数を最小化する重要度ベクトルを探索する(ステップS307)。判定処理装置200の判定部350eは、予測対象データを、第1機械学習モデル340bに入力することで、判定結果を予測する(ステップS308)。
【0134】
判定部350eは、重要度ベクトルと予測対象データとの積によって、重み付けデータを算出する(ステップS309)。判定部250eは、重み付けデータを、第2機械学習モデルに入力することで、類似データを判定する(ステップS310)。判定部350eは、判定結果と類似データ(判定結果の根拠となる情報)とを対応付けた情報を表示部330に出力して表示させる(ステップS311)。
【0135】
次に、本実施例3に係る判定処理装置300の効果について説明する。判定処理装置300は、データ集合Dに含まれる訓練データのうち、予測対象データの近傍に存在する訓練データをサンプリングすることで、データ集合Zを抽出する。判定処理装置300は、データ集合Zを、第1機械学習モデル340bに入力した場合の判定結果と、w*Zを第2機械学習モデル340cに入力した場合の判定結果との差分が、最小になるように、重要度ベクトルを調整する。これによって、予測対象データの近傍の訓練データを基にして、重要度ベクトルを調整することができる。
【0136】
判定処理装置300は、判定結果を予測するモデルとして、第1機械学習モデル340bを用い、判定結果の判定の根拠となる類似データを特定するための解釈用のモデルとして、第2機械学習モデル230cを用いる。これによって、判定結果の精度を高めつつ、判定結果の根拠を示すことができる。
【0137】
次に、上記実施例に示した判定処理装置100(200,300)と同様の機能を実現するコンピュータのハードウェア構成の一例について順に説明する。
【0138】
図13は、判定処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図13に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403と、読み取り装置404とを有する。また、コンピュータ400は、ネットワークを介して、外部装置との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
【0139】
ハードディスク装置407は、取得プログラム407a、第1学習プログラム407b、第2学習プログラム407cと、調整プログラム407dと、判定プログラム407eとを有する。CPU401は、取得プログラム407a、第1学習プログラム407b、第2学習プログラム407cと、調整プログラム407dと、判定プログラム407eとを読み出してRAM406に展開する。
【0140】
取得プログラム407aは、取得プロセス406aとして機能する。第1学習プログラム407bは、第1学習プロセス406bとして機能する。第2学習プログラム407cは、第2学習プロセス406cとして機能する。調整プログラム407dは、調整プロセス406dとして機能する。判定プログラム407eは、判定プロセス406eとして機能する。
【0141】
取得プロセス406aの処理は、取得部150a,250a,350aの処理に対応する。第1学習プロセス406bの処理は、第1学習部150b,250b,350bの処理に対応する。第2学習プロセス406cの処理は、第2学習部150c,250c,350cの処理に対応する。調整プロセス406dの処理は、調整部250d,350dの処理に対応する。判定プロセス406eの処理は、判定部150d,250e,350eの処理に対応する。
【0142】
なお、各プログラム407a~407eについては、必ずしも最初からハードディスク装置407に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ400が各プログラム407a~407eを読み出して実行するようにしてもよい。
【0143】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0144】
(付記1)複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを学習することで、前記複数の特徴量に対する重要度ベクトルを算出し、
前記学習データと前記重要度ベクトルとを基にして、k近傍法の第2機械学習モデルを学習し、
学習済みの前記第2機械学習モデルと、予測対象データとを基にして、前記訓練データから前記予測対象データに類似するデータを判定する
処理をコンピュータに実行させることを特徴とする判定処理プログラム。
【0145】
(付記2)前記判定する処理は、前記重要度ベクトルと、前記予測対象データとを乗算した値を、前記第2機械学習モデルに入力することで、前記類似するデータを判定し、
前記予測対象データを前記第1機械学習モデルに入力した場合の判定結果と、前記類似するデータとを関連付けて出力する処理を更に実行することを特徴とする付記1に記載の判定処理プログラム。
【0146】
(付記3)前記コンピュータに、更に、
前記訓練データを前記第1機械学習モデルに入力した場合の第1判定結果の確信度と、前記訓練データの複数の特徴量を前記重要度ベクトルで補正した補正訓練データを前記第2機械学習モデルに入力した場合の第2判定結果の確信度との差分が最小となるように、前記重要度ベクトルを調整する処理を実行させることを特徴とする付記1または2に記載の判定処理プログラム。
【0147】
(付記4)前記学習データに含まれる複数の訓練データのうち、前記予測対象データの近傍に存在する複数の訓練データを含むデータ集合を抽出する処理を更に実行し、
前記調整する処理は、前記データ集合を前記第1機械学習モデルに入力した場合の判定結果と、前記データ集合の複数の特徴量に前記重要度ベクトルを乗算したデータ集合を前記第2機械学習モデルに入力した場合の判定結果とを基にして、重要度ベクトルを調整することを特徴とする付記1、2または3に記載の判定処理プログラム。
【0148】
(付記5)複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを学習することで、前記複数の特徴量に対する重要度ベクトルを算出する第1学習部と、
前記学習データと前記重要度ベクトルとを基にして、k近傍法の第2機械学習モデルを学習する第2学習部と、
学習済みの前記第2機械学習モデルと、予測対象データとを基にして、前記訓練データから前記予測対象データに類似するデータを判定する判定部と
を有することを特徴とする判定処理装置。
【0149】
(付記6)前記判定部は、前記重要度ベクトルと、前記予測対象データとを乗算した値を、前記第2機械学習モデルに入力することで、前記類似するデータを判定し、前記予測対象データを前記第1機械学習モデルに入力した場合の判定結果と、前記類似するデータとを関連付けて出力する処理を更に実行することを特徴とする付記5に記載の判定処理装置。
【0150】
(付記7)前記訓練データを前記第1機械学習モデルに入力した場合の第1判定結果の確信度と、前記訓練データの複数の特徴量を前記重要度ベクトルで補正した補正訓練データを前記第2機械学習モデルに入力した場合の第2判定結果の確信度との差分が最小となるように、前記重要度ベクトルを調整する調整部を更に有することを特徴とする付記5または6に記載の判定処理装置。
【0151】
(付記8)前記学習データに含まれる複数の訓練データのうち、前記予測対象データの近傍に存在する複数の訓練データを含むデータ集合を抽出する取得部を更に有し、
前記調整部は、前記データ集合を前記第1機械学習モデルに入力した場合の判定結果と、前記データ集合の複数の特徴量に前記重要度ベクトルを乗算したデータ集合を前記第2機械学習モデルに入力した場合の判定結果とを基にして、重要度ベクトルを調整することを特徴とする付記7に記載の判定処理装置。
【0152】
(付記9)コンピュータが実行する判定処理方法であって、
複数の特徴量を含む訓練データと判定結果とを対応付けた学習データを基にして、第1機械学習モデルを学習することで、前記複数の特徴量に対する重要度ベクトルを算出し、
前記学習データと前記重要度ベクトルとを基にして、k近傍法の第2機械学習モデルを学習し、
学習済みの前記第2機械学習モデルと、予測対象データとを基にして、前記訓練データから前記予測対象データに類似するデータを判定する
処理を実行することを特徴とする判定処理方法。
【0153】
(付記10)前記判定する処理は、前記重要度ベクトルと、前記予測対象データとを乗算した値を、前記第2機械学習モデルに入力することで、前記類似するデータを判定し、
前記予測対象データを前記第1機械学習モデルに入力した場合の判定結果と、前記類似するデータとを関連付けて出力する処理を更に実行することを特徴とする付記9に記載の判定処理方法。
【0154】
(付記11)前記訓練データを前記第1機械学習モデルに入力した場合の第1判定結果の確信度と、前記訓練データの複数の特徴量を前記重要度ベクトルで補正した補正訓練データを前記第2機械学習モデルに入力した場合の第2判定結果の確信度との差分が最小となるように、前記重要度ベクトルを調整する処理を更に実行することを特徴とする付記9または10に記載の判定処理方法。
【0155】
(付記12)前記学習データに含まれる複数の訓練データのうち、前記予測対象データの近傍に存在する複数の訓練データを含むデータ集合を抽出する処理を更に実行し、
前記調整する処理は、前記データ集合を前記第1機械学習モデルに入力した場合の判定結果と、前記データ集合の複数の特徴量に前記重要度ベクトルを乗算したデータ集合を前記第2機械学習モデルに入力した場合の判定結果とを基にして、重要度ベクトルを調整することを特徴とする付記11に記載の判定処理方法。
【符号の説明】
【0156】
100,200 判定処理装置
110,210 通信部
120,220 入力部
130,230 表示部
140,240 記憶部
140a,240a,340a 学習データ
140b,240b,340b 第1機械学習モデル
140c,240c,340c 第2機械学習モデル
140d,240d,340d 重要度ベクトルデータ
150,250,350 制御部
150a,250a,350a 取得部
150b,250b,350b 第1学習部
150c,250c,350c 第2学習部
150d,250e,350e 判定部
250d,350d 調整部