JP2020101958A - 識別装置、識別方法及びプログラム - Google Patents

識別装置、識別方法及びプログラム Download PDF

Info

Publication number
JP2020101958A
JP2020101958A JP2018239067A JP2018239067A JP2020101958A JP 2020101958 A JP2020101958 A JP 2020101958A JP 2018239067 A JP2018239067 A JP 2018239067A JP 2018239067 A JP2018239067 A JP 2018239067A JP 2020101958 A JP2020101958 A JP 2020101958A
Authority
JP
Japan
Prior art keywords
class
correction parameter
correction
value
confusion matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018239067A
Other languages
English (en)
Other versions
JP7268347B2 (ja
Inventor
松永 和久
Kazuhisa Matsunaga
和久 松永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018239067A priority Critical patent/JP7268347B2/ja
Publication of JP2020101958A publication Critical patent/JP2020101958A/ja
Application granted granted Critical
Publication of JP7268347B2 publication Critical patent/JP7268347B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】識別の精度の向上を図る。【解決手段】識別装置100は、入力データの属するクラスを識別する各クラスの予測値を出力する識別器11と、識別器11の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める補正パラメータを取得する補正部12と、識別器11の出力する予測値を補正部12が取得した補正パラメータを用いて補正して最終的な識別結果を取得する結果取得部13と、を備える。【選択図】図1

Description

本発明は、識別装置、識別方法及びプログラムに関する。
従来から、ニューラルネットワーク(Neural Network)、SVM(Support Vector Machine)等を用いて、入力データが複数のクラスの中のどのクラスに属するかを判定する識別器(分類器とも呼ばれる)が知られており、様々な分野で利用されている。例えば、花の種類をクラスとして、花の画像を入力すると、その花の種類を出力する識別器が存在する。また、皮膚疾患の名称をクラスとして、皮膚の画像を入力すると、その皮膚の疾患名を出力する識別器が存在する。
このような識別器は、クラスが既知である多数の学習データを用いて学習させることにより作成される。しかし、学習データに含まれているクラスの構成比率が極端に偏っている(クラス毎のサンプル数の不均衡が大きい)と、比率の高いクラス(サンプル数が多いクラス)にバイアスされてしまって、識別の精度が落ちるという問題がある。この問題を解決するために、特許文献1では、一方のクラスに属する学習データの個数が他方のクラスの個数より極端に少ない場合でも、少数クラスの学習データの一部を複製して増やしたり(オーバーサンプリング)、多数クラスの学習データの一部を除いて減らしたり(アンダーサンプリング)して、学習データのバランスを調整することにより、高精度な識別を行う技術が提案されている。
特開2013−161298号公報
従来、学習データのバランスを調整する尺度として、各クラスの識別結果をまとめた混同行列が用いられており、従来技術においては、混同行列の要素間の値の対称性が高くなるように、クラス間の個数のバランスが調整されている。しかし、適正なバランスは、各クラスに属するデータの個数だけでなく、クラス間の境界付近のデータの分布状況にも大いに影響されるため、オーバーサンプリングやアンダーサンプリングによって、学習データを適正なバランスに調整するのは容易ではない。
本発明は、上記問題を解決するためになされたものであり、識別の精度の向上を図ることができる識別装置、識別方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明の識別装置は、
入力データの属するクラスを識別する各クラスの予測値を出力する識別器と、
前記識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正部と、
前記識別器の出力する予測値を、前記補正部が取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得部と、
を備える。
本発明によれば、識別の精度の向上を図ることができる。
本発明の実施形態1に係る識別装置の機能構成を示す図である。 実施形態1に係る補正パラメータ取得処理のフローチャートである。 実施形態1に係る識別器学習処理のフローチャートである。 実施形態1に係る識別処理のフローチャートである。 混同行列を説明する図である。 補正パラメータを取得する処理を説明する図である。 予測値を補正パラメータで補正した値での混同行列を説明する図である。 補正パラメータを修正する処理を説明する図である。 予測値を他の補正パラメータで補正した値での混同行列を説明する図である。 補正パラメータをさらに修正する処理を説明する図である。
以下、本発明の実施形態に係る識別装置等について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施形態1)
本発明の実施形態1に係る識別装置100は、サンプルデータの数にクラス間で偏りがあっても、識別器の出力を補正することよって、サンプル数の偏りの影響を軽減して、精度の高い識別を行うことができる。このような識別装置100について、以下に説明する。
実施形態1に係る識別装置100は、図1に示すように、制御部10、記憶部20、データ入力部31、出力部32、通信部33、操作入力部34、を備える。
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(識別器11、補正部12、結果取得部13)の機能を実現する。
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、制御部10のCPUが実行するプログラム及び必要なデータを記憶する。
データ入力部31は、学習用のデータ、試験用のデータ又は識別する(未知の)データを入力するためのデバイスである。制御部10は、データ入力部31を介してデータを取得する。データ入力部31としては、制御部10がデータを取得できるなら、任意のデバイスを使用することができる。例えば、記憶部20にデータを記憶させておき、制御部10が記憶部20を読み出すことによってデータを取得する場合は、記憶部20がデータ入力部31を兼ねることになる。また、制御部10が通信部33を介して外部のサーバ等からデータを取得する場合は、通信部33がデータ入力部31を兼ねることになる。
出力部32は、制御部10が、データ入力部31から入力したデータを識別した結果等を出力するためのデバイスである。例えば、出力部32は、液晶ディスプレイや有機EL(Electoro−Luminescence)ディスプレイである。この場合、出力部32は、表示部として機能する。ただし、識別装置100は、出力部32としてこのようなディスプレイ(表示部)を備えてもよいし、外部のディスプレイを接続するためのインタフェースとしての出力部32を備えてもよい。識別装置100は、インタフェースとしての出力部32を備える場合は、出力部32を介して接続した外部のディスプレイに識別結果等を表示する。出力部32は、出力手段として機能する。
通信部33は、外部の他の装置(例えば、学習データや試験データのデータベースが格納されているサーバ等)とデータの送受信を行うためのデバイス(ネットワークインタフェース等)である。制御部10は、通信部33を介してデータを取得することができる。
操作入力部34は、識別装置100に対するユーザの操作入力を受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル等である。識別装置100は、操作入力部34を介して、ユーザからの指示等を受け付ける。操作入力部34は、操作入力手段として機能する。
次に、制御部10の機能について説明する。制御部10は、識別器11、補正部12、結果取得部13、の機能を実現する。
識別器11は、ロジスティク回帰やDNN(Deep Neural Network)等で構成され、与えられた入力データの属するクラスを識別する各クラスの予測値を出力することにより、該入力データが複数のクラスの何れに属するかを識別する。ここでは、識別器11が識別するクラスの数はN(識別器11は、Nクラス識別器)とする。識別器11は、入力データが与えられると、各クラスの予測値を0以上1以下の数で出力する。予測値はN(識別するクラス数)個出力されるので、各クラスの予測値をまとめて、N次元のベクトルとして予測値を扱うこともできる。そして、N個の予測値(ベクトルの各要素)のうち、最大の予測値に対応するクラスが、該入力データの識別結果(予測クラス)になる。なお、ロジスティク回帰やDNNによる識別器は、これらを実現するプログラムを制御部10が実行することにより実現することができ、この場合、制御部10は識別器11としても機能することになる。なお、識別器11は、各クラスの予測値を0以上1以下の数で出力するため、識別器11としてSVMを直接用いることはできないが、SVMの出力をシグモイド関数等で0以上1以下の数に変換するようにすれば、SVMを用いた識別器11を構成することも可能である。
補正部12は、識別器11が出力する各クラスの予測値を、混同行列の対称性を高めるように補正する補正パラメータを取得する。なお、混同行列とは、正解のわかっている入力データ(ここでは試験データと言う)を識別器11に入力させた時の、クラス識別の結果をまとめた表のことである。識別器11が識別したクラス(予測クラス)を横方向に、正解クラスを縦方向に取った時に、それぞれの位置に対応するサンプル数が混同行列の要素となる。また、混同行列の対称性が高いとは、入力データの各クラスのサンプル数が均等になるように入力した場合に、列毎の合計値の偏りが少ないことを意味する。
より詳しく説明すると、補正部12は、識別器11が識別する各クラスに対応する(N個の)補正パラメータを取得し、識別器11が出力する各クラスの予測値を当該クラスに対応する補正パラメータを用いて補正することにより、補正予測値を取得する。そして、補正予測値で識別したクラスに基づいて混同行列を作成する。そして、混同行列を行方向で(各クラスの正解データ数が1になるように)正規化した時の、列方向の合計(各クラスの予測率合計)ができるだけ1に近づくように当該N個の(各クラスに対応する)補正パラメータを修正する。そして、最終的に各クラスの予測率合計が最も1に近づいた時の補正パラメータを取得する。
結果取得部13は、識別器11が出力する各クラスの予測値を、補正部12が取得した各クラスの補正パラメータを用いて補正して、最終的な識別結果を取得する。結果取得部13は、結果取得手段として機能する。
以上、識別装置100の機能構成について説明した。次に、識別装置100の補正部12が補正パラメータを取得する処理(補正パラメータ取得処理)について説明する。この処理は、補正パラメータを取得する際に実行される。また、この処理を実行する前に、正解ラベルが付いている所定の量(ここではM個とする)の試験用の入力データ(試験データ)を記憶部20等に予め用意しておく必要がある。
正解ラベルとは、その正解ラベルが付いたデータがどのクラスに属するものかを示すものである。例えば、疾患画像を入力データとして入力すると疾患名を出力する識別装置100を用意したいのであれば、「疾患名」を正解ラベルとして各試験データに付けておく必要がある。別の例として、花の画像の画像を入力するとその花の名称を出力する識別装置100を用意したいのであれば、「花の名称」を正解ラベルとして各試験データに付けておく必要がある。では、識別装置100の補正部12が補正パラメータを取得する処理(補正パラメータ取得処理)について、図2を参照して説明する。
まず、制御部10は、後述する識別器学習処理により、予め正解ラベルが付いている大量の学習用の入力データ(学習データ)で識別器11を機械学習させる(ステップS101)。識別器11が既に学習済みである場合は、ステップS101はスキップしてよい。
次に、制御部10は、試験データを識別器11に入力して識別器11の出力である予測値を取得する(ステップS102)。試験データがM個用意されているなら、M個の予測値(それぞれがN(クラス数)次元ベクトル)が取得される。
そして、補正部12は、各クラスの補正パラメータを1に初期化し、カウンタ変数CTを0に初期化する(ステップS103)。
次に、補正部12は、ステップS102で取得した各予測値を、各クラスの補正パラメータで補正して、補正予測値を取得する(ステップS104)。具体的には、各クラスの予測値を該クラスの補正パラメータでべき乗した値に変換し、それを補正予測値とする。そして、補正予測値から混同行列を作成し(ステップS105)、混同行列の各行を合計が1になるように正規化する(ステップS106)。
次に、補正部12は、正規化して混同行列の各列の合計値を各クラス予測率合計として取得する(ステップS107)。そして、各クラス予測率合計と1との差分絶対値が最大となるクラスを検索し、検索されたクラスを変数MCに、差分絶対値の最大値(当該クラスのクラス予測率合計と1との差分絶対値)を変数MDにセットし、カウンタ変数CTをインクリメントする(ステップS108)。
そして、補正部12は、変数MD(差分絶対値の最大値)が基準値SD(例えば0.02)以下か否かを判定する(ステップS109)。変数MDが基準値SD以下なら(ステップS109;Yes)、現在の補正パラメータで混同行列の対称性は十分上がっていると考えられるので、補正部12は現在の補正パラメータを後述の識別処理で用いる補正パラメータとして確定させ(ステップS114)、補正パラメータ取得処理を終了する。ステップS114は、補正パラメータ取得ステップとも呼ばれる。
変数MDが基準値SDより大きければ(ステップS109;No)、補正部12は、カウンタ変数CTが最大検索回数LIMIT(例えば100)以上か否かを判定する(ステップS110)。カウンタ変数CTが最大検索回数LIMIT以上なら(ステップS110;Yes)、補正部12は現在の補正パラメータを後述の識別処理で用いる補正パラメータとして確定させ(ステップS114)、補正パラメータ取得処理を終了する。この補正パラメータ取得処理では、変数MDの値が基準値SD以下にならずに振動してしまう場合等があるため、ある程度の回数(LIMITの回数)検索を繰り返しても変数MDが基準値SD以下にならなければ、補正パラメータ取得処理を終了させるためにステップS110での判定を行っている。
カウンタ変数CTが最大検索回数LIMIT未満なら(ステップS110;No)、補正部12は、変数MCのクラスのクラス予測率合計が1より大きいか否かを判定する(ステップS111)。変数MCのクラスのクラス予測率合計が1より大きければ(ステップS111;Yes)、変数MCのクラスの補正パラメータを増やし(ステップS112)、ステップS104に戻る。補正パラメータを増やす量は、例えば0.05のような定数としてもよいし、変数MD(差分絶対値の最大値)の値に応じて変化させてもよい(MDの値が大きければ補正パラメータを増やす量も大きくし、MDの値が小さければ補正パラメータを増やす量も小さくする)。ただし、この値が大きいと、変数MDの値が振動したり発散したりし易くなるため、計算時間がかかってもよければ、基本的に増やす量はできるだけ小さい値にする方がよい。
変数MCのクラスのクラス予測率合計が1以下なら(ステップS111;No)、変数MCのクラスの補正パラメータを減らし(ステップS113)、ステップS104に戻る。ステップS112と同様、補正パラメータを減らす量は、例えば0.05のような定数としてもよいし、変数MD(差分絶対値の最大値)の値に応じて変化させてもよい(MDの値が大きければ補正パラメータを減らす量も大きくし、MDの値が小さければ補正パラメータを減らす量も小さくする)。ただし、この値が大きいと、変数MDの値が振動したり発散したりし易くなるため、計算時間がかかってもよければ、基本的に減らす量はできるだけ小さい値にする方がよい。
以上の補正パラメータ取得処理を説明した。次に、上記ステップS101で行われる識別器学習処理について、図3を参照して説明する。
まず、制御部10は、データ入力部31を介して正解ラベルが付いている学習データを取得する(ステップS201)。そして、制御部10は、学習データを識別器11に入力し、学習データに付いている正解ラベルに基づいて、識別器11を学習させる(ステップS202)。
そして、制御部10は、学習を終了するか否かを判定する(ステップS203)。例えば、学習データを予め決められた個数(例えばM個)学習させたら学習を終了する。学習させていない学習データが残っている場合等、学習を終了しないなら(ステップS203;No)、ステップS201に戻って、次の学習データを取得して識別器11を学習させる。学習を終了するなら(ステップS203;Yes)、識別器学習処理を終了する。
以上、説明した補正パラメータ取得処理(図2)が終了した時点での補正パラメータを、補正部12は取得し、識別装置100は、この補正パラメータで識別器11の出力(予測値)を補正して、入力データの識別を行う。では、識別装置100の識別処理について、図4を参照して説明する。
まず、制御部10は、データ入力部31を介して未知データ(識別するデータ)を取得する(ステップS301)。そして、制御部10は、当該未知データを識別器11に入力し、識別器11が出力した各クラスの予測値を取得する(ステップS302)。
次に、結果取得部13は、各クラスの予測値を、補正部12が補正パラメータ取得処理(図2)で取得した補正パラメータで補正する(ステップS303)。具体的には、各クラスの予測値を該クラスの補正パラメータでべき乗した値に変換し、それを補正予測値とする。そして、結果取得部13は、補正予測値が最大となるクラスを識別結果として取得し、出力部32を介して出力する(ステップS304)。そして識別処理を終了する。ステップS304は、結果取得ステップとも呼ばれる。
以上の識別処理により、未知データが識別される。そして、この識別は、識別器11の出力した予測値を補正した補正予測値に基づいて行われているため、学習データのクラス毎の数が不均衡だったとしても、その影響を極力排除して、高精度な識別を行うことができる。
次に、識別装置100による補正パラメータ取得処理(図2)について、具体例で説明する。ここでは、識別器11は、「A」、「B」、「C」の3つのクラスを識別する3クラス識別器であり、図2のステップS101で学習済みであるとする。また、図5の左に示すような正解ラベルが付けられた24個の試験データが用意されているものとする。そして、24個の試験データを図2のステップS102で識別器11に入力して得られた出力値(予測値)が、正解ラベルの右に記載されている。図2のステップS103で、各クラスの補正パラメータは3つのクラスとも1.0に初期化されるので、これを3次元ベクトル(1.0,1.0,1.0)で表すことにする。また、カウンタ変数CT=0となる。
例えば一番上の試験データの場合、正解ラベルは「C」であり、識別器11で得られた予測値は(0.7,0.2,0.68)である。この場合、予測値のベクトルの要素の最大値が0.7であり、0.7は最初の要素(Aに対応)なので、識別器11による識別結果は「A」となる。また、補正パラメータの初期値は上述したように、(1.0,1.0,1.0)であり、図2のステップS104で、予測値をこの補正パラメータで補正すると、(0.7^1.0,0.2^1.0,0.68^1.0)で、元の予測値と同じ(0.7,0.2,0.68)が補正予測値として得られ、この補正予測値による識別結果も、予測値による識別結果と同じ「A」となる。
図2のステップS105で、24個の試験データ全てについて、正解ラベルと補正予測値による識別結果との関係を表にまとめたものが、図5の右に記載されている混同行列である。この混同行列を見ると、正解ラベルが「A」の試験データのうち、識別結果が「A」となったものが10個、識別結果が「B」となったものが2個、識別結果が「C」となったものが0個あることがわかる。同様に、正解ラベルが「B」の試験データのうち、識別結果が「A」となったものが3個、識別結果が「B」となったものが5個、識別結果が「C」となったものが1個あることがわかる。さらに、正解ラベルが「C」の試験データのうち、識別結果が「A」となったものが2個、識別結果が「B」となったものが0個、識別結果が「C」となったものが1個あることがわかる。
次に、この混同行列を正規化して、補正パラメータを取得する処理について、図6を参照して説明する。まず、図2のステップS106で、混同行列を正規化するために、まず、図6の上にあるように各正解ラベルの付いた試験データの個数の合計を求める。そして、図6の上から2番目の表にあるように、混合行列の各行について、要素を合計の値で割ることにより、合計を1に正規化する。
そして、図2のステップS107で、この正規化された混同行列の各列について縦方向に要素の合計値(各クラスの予測率合計)を計算すると、図6に示すように、クラス「A」の予測率合計は1.833、クラス「B」の予測率合計は0.722、クラス「C」の予測率合計は0.444となり、これらの値にはかなりばらつきがあることがわかる。この例では、識別結果が「A」となる割合がかなり高く、混同行列の対称性が低くなっている。また平均正解率も0.574とかなり低い。なお、ここで、平均正解率とは、正解がクラス「X」である試験データのうち、識別結果(予測クラス)が「X」になったものの割合を全てのクラスについて平均した値である。図6においては、上から2番目の表の対角線上に存在している値を平均して、(0.833+0.556+0.333)÷3=0.574が得られ、この表の右下にこの平均正解率の数値が記載されている。
混同行列の対称性を高くするには、各列の縦方向の合計値が大きいクラスの予測値を小さい値に補正するか、又は、この合計値が小さいクラスの予測値を大きい値に補正すればよいと考えられる。上述したように識別器11が出力する予測値は0以上1以下の値であり、この値は1より大きな数でべき乗すると(0以上1以下の範囲内で)元の値より小さな値になり、1より小さな値でべき乗すると(0以上1以下の範囲内で)元の値より大きな値になる。したがって、この性質を利用すると、混同行列の対称性を高くするには、各列の縦方向の合計値が大きいクラスの予測値を1より大きな数でべき乗するか、又は、この合計値が小さいクラスの予測値を1より小さな数でべき乗すればよいことになる。
図6の例では、クラス「A」の予測率合計は1.833で最も大きく、クラス「C」の予測率合計は0.444で最も小さい。そこで、クラス「A」の予測値を小さくするために1より大きな数でべき乗し、クラス「C」の予測値を大きくするために1より小さな数でべき乗することが考えられる。ただし、同時に複数のパラメータを変化させると、各クラスの予測値が急激に変化して、識別結果が予想外に変化してしまう可能性がある。そこで、本実施形態1では、一度に1つのパラメータだけを変化させることとしている。この例では、図2のステップS108で、基準値1との差分絶対値が最大となるクラスとして、クラス「A」が検索されて、MC=「A」となり、差分絶対値の最大値MD=|1.833−1|=0.833となる。そして、カウンタ変数CTはインクリメントされて1となる。
次に図2のステップS109では、変数MD(ここでは0.833)が基準値SD(例えば0.02)以下か否かが判定されて判定はNoとなり、ステップS110に進む。ステップS110でカウンタ変数CT(ここでは1)が最大検索回数LIMIT(例えば100)以上か否かが判定されて判定はNoとなり、ステップS111に進む。ステップS111では、クラス「A」のクラス予測率合計である1.833が1より大きいか否かが判定されて判定はYesとなり、ステップS113でクラス「A」の補正パラメータが増やされる。ここでは増やす量は0.05であるとする。すると、クラス「A」の補正パラメータは1.05となり、クラス「B」及びクラス「C」の補正パラメータは1のままなので、補正パラメータをベクトルで表すと(1.05,1.0,1.0)となる。
図示しないが、ステップS113からステップS104に戻って、補正パラメータ(1.05,1.0,1.0)で図5にある識別器の予測値を補正しても、識別結果に変化は生じないので、また同じ混同行列が得られ、ステップS113まで同じように進み、ステップS113でクラスAの補正パラメータは1.1となる。そして、またステップS104に戻って、補正パラメータ(1.1,1.0,1.0)で図5にある識別器の予測値を補正して補正予測値を取得すると、図7に示すように一部の識別結果が変化する。そして、ステップS105で混同行列を作成すると、図7の右にあるような混同行列が作成される。
そして、ステップS106で正規化すると、図8の上から2番目の表にあるような正規化した混同行列が得られる。そして、ステップS107で各クラスの予測率合計を計算すると、クラス「A」の予測率合計は1.167、クラス「B」の予測率合計は1.056、クラス「C」の予測率合計は0.778となり、前回の混同行列よりも対称性が高くなったことがわかる。平均正解率も0.796と、前回よりも上昇している。
そして、今回の場合は、ステップS108で、基準値1との差分絶対値が最大となるクラスとして、クラス「C」が検索されて、MC=「C」となり、差分絶対値の最大値MD=|0.778−1|=0.222となる。そして、ステップS111で、クラス「C」のクラス予測率合計である0.778が1より大きいか否かが判定されて判定はNoとなり、ステップS112でクラス「C」の補正パラメータが減らされる。ここでは減らす量は0.05であるとする。すると、クラス「C」の補正パラメータは0.95となり、補正パラメータをベクトルで表すと(1.1,1.0,0.95)となる。
そして、またステップS104に戻って、補正パラメータ(1.1,1.0,0.95)で図5にある識別器の予測値を補正して補正予測値を取得すると、図9に示すように一部の識別結果が変化する。そして、ステップS105で混同行列を作成すると、図9の右にあるような混同行列が作成される。
そして、ステップS106で正規化すると、図10の上から2番目の表にあるような正規化した混同行列が得られる。そして、ステップS107で各クラスの予測率合計を計算すると、クラス「A」の予測率合計は0.833、クラス「B」の予測率合計は1.056、クラス「C」の予測率合計は1.111となり、前回の混同行列よりも対称性が高くなったことがわかる。平均正解率も0.907と、前回よりもさらに上昇している。
そして、今回の場合は、ステップS108で、基準値1との差分絶対値が最大となるクラスとして、クラス「A」が検索されて、MC=「A」となり、差分絶対値の最大値MD=|0.833−1|=0.166となる。そして、ステップS111で、クラス「A」のクラス予測率合計である0.833が1より大きいか否かが判定されて判定はNoとなり、ステップS112でクラス「A」の補正パラメータが減らされる。ここでは減らす量は0.05であるとする。すると、クラス「A」の補正パラメータは1.05となり、補正パラメータをベクトルで表すと(1.05,1.0,0.95)となる。このようにして、クラス予測率合計と1との差分絶対値の最大値MDが基準値SD以下になるか、カウンタ変数CTが最大検索回数LIMIT以上になるまで処理が繰り返され、最終的に補正パラメータが求まることになる。
以上説明した識別処理により、識別装置100は、混同行列の対称性を高めるように識別器11の予測値を補正することにより、サンプルデータがクラス間で偏っていても、偏りの影響を軽減して、精度の高い識別を行うことができる。
(変形例1)
実施形態1では、補正部12は、識別器11の予測値を補正する際に、予測値を補正パラメータでべき乗する演算を行ったが、補正部12が予測値を補正する際に用いる演算(補正パラメータによって定まる関数)はこれに限られない。予測値は0以上1以下の値であり、予測値を補正パラメータで補正した後の値(補正予測値)も0以上1以下の値である必要があるという前提があるが、補正パラメータを固定した場合に元の予測値の大小関係が、補正した後も(補正予測値でも)保たれることと、補正パラメータの値の大小に応じて予測値が補正された時の変化方向及び変化度合いが定まることとが満たされるなら、補正部12は、他の関数を用いて識別器11の予測値を補正してもよい。
つまり、補正部12は、入力値(予測値)として0以上1以下の値を0以上1以下の値の出力値(補正予測値)に変換する単調非減少関数(広義の単調増加関数)であって、当該単調非減少関数(広義の単調増加関数)は補正パラメータによって定まる関数であって、入力値(予測値)を固定した場合に補正パラメータによる出力値(補正予測値)の変化も単調非減少又は単調非増加となるような関数であれば、任意の関数を用いて予測値を補正することが可能である。例えば、入力値を補正パラメータによってべき乗する関数は、これらの条件を満たす関数である。
(変形例2)
実施形態1では、補正パラメータ取得処理(図2)において、差分絶対値の最大値MDが基準値SD以下にならなかったら、カウンタ変数CTが最大検索回数LIMIT内以上になった時の補正パラメータを最終的な補正パラメータとしている。しかし、これに限られない。例えば、ステップS107とステップS108の間で、差分絶対値の最大値MDの値がそれまでで最も小さくなった時の補正パラメータを保存しておき、ステップS109でカウンタ変数CTが最大検索回数LIMIT以上になった場合には、ステップS114でその保存した補正パラメータを最終的な補正パラメータとして確定させるようにしてもよい。このようにすることで、差分絶対値の最大値MDの値が振動したり発散したりしてしまうような場合でも、補正部12は、混同行列の対称性が最も高くなった時の補正パラメータを取得することができる。
(変形例3)
実施形態1では、補正パラメータ取得処理(図2)において、各クラスの識別正解率の高低によらずに、混同行列の対称性のみを高くする処理を行っているが、識別正解率の高さを考慮してもよい。例えば、ステップS105で混同行列を正規化した時に、平均正解率(上述したように、正解がクラス「X」である試験データのうち、識別結果(予測クラス)が「X」になったものの割合を全てのクラスについて平均した値であり、図6、図8及び図10の2番目の混同行列の表の右下の数値)も求めておき、この値がそれまでで最大となる時の補正パラメータを保存する。そして、ステップS109でカウンタ変数CTが最大検索回数LIMIT以上になった場合には、ステップS114でその保存した補正パラメータを最終的な補正パラメータとして確定させるようにしてもよい。このようにすることで、差分絶対値の最大値MDの値が振動したり発散したりしてしまうような場合でも、補正部12は、平均正解率が最も高くなった時の補正パラメータを取得することができる。
(変形例4)
識別器11に与えられる入力データ(学習データ及び試験データ)によっては、補正パラメータ取得処理(図2)において、混同行列の対称性の高さと平均正解率の高さとがトレードオフの関係になることがある。そのため、補正パラメータ取得処理(図2)において、補正パラメータを1つに決定してしまうのではなく、ステップS114において、補正パラメータの候補をいくつかユーザに提示して、ユーザに補正パラメータを選択してもらってもよい。
そのような処理を行うために、制御部10は、混同行列の対称性が高い(差分絶対値の最大値MDの値が差分基準値(例えば0.1)以下である)時の補正パラメータや、平均正解率が高い(平均正解率が正解率基準値(例えば90%)以上である)時の補正パラメータを、補正パラメータの候補として記憶部20に保存しておき、ステップS114では、これら保存した補正パラメータを用いて作成した混同行列及び平均正解率を、出力部32を介してユーザに提示する。そして、制御部10は、ユーザから操作入力部34を介して補正パラメータを選択してもらい、ユーザが選択した補正パラメータを、補正部12が取得するようにする。
混同行列の対称性の高さと平均正解率の高さとがトレードオフの関係になる場合であっても、変形例4に係る識別装置100では、ユーザに補正パラメータの候補の中から採用する補正パラメータを選択してもらうことにより、妥当な補正パラメータを用いて識別を行うことができる。
なお、上述の実施形態及び変形例では、学習データと試験データは別のデータであるものとして説明したが、学習データの全部又は一部を試験データとして用いて上述の識別器学習処理(図3)及び補正パラメータ取得処理(図2)を行ってもよい。
なお、上述の実施形態及び変形例では、識別器11を実現するプログラムを制御部10が実行することにより、制御部10は識別器11としても機能することとしていたが、これに限られない。識別装置100は、制御部10とは別に(例えば、GPU(Graphics Processing Unit)や、専用のIC(Integrated Circuit)等の)識別器11の機能を実現するデバイスを備えてもよい。
また、上述の実施形態及び変形例は適宜組み合わせることができる。例えば、変形例2と変形例3とを組み合わせ、混同行列の対称性を平均正解率よりも重要視する処理とする場合には、ステップS109でカウンタ変数CTが最大検索回数LIMIT以上になった時に、ステップS114で、差分絶対値の最大値MDの値がそれまでで最も小さくなった時の補正パラメータを識別処理で用いる補正パラメータとして確定させるが、そのような補正パラメータが複数ある場合(複数の補正パラメータにおいて、差分絶対値の最大値MDの値が最小になる場合)には、それぞれの補正パラメータにおける平均正解率を比較し、平均正解率が最も高くなる補正パラメータを識別処理で用いる補正パラメータとして確定させる処理にすればよい。
なお、識別装置100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、識別装置100が行う識別処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto−Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
入力データの属するクラスを識別する各クラスの予測値を出力する識別器と、
前記識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正部と、
前記識別器の出力する予測値を、前記補正部が取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得部と、
を備える識別装置。
(付記2)
前記補正部は、前記混同行列の各クラスの正解データ数が1になるように前記混同行列を正規化した時の、前記正規化後の混同行列の各クラスの予測率合計が、できるだけ1に近づく前記補正パラメータを取得する、
付記1に記載の識別装置。
(付記3)
前記補正部は、
前記補正パラメータによって定まる単調非減少関数であって、0以上1以下の入力値を0以上1以下の出力値に変換する前記単調非減少関数を用いて前記識別器の出力する予測値を補正して補正予測値を取得し、
前記補正予測値で識別したクラスに基づいて前記混同行列を作成し、
前記作成した前記混同行列の各クラスの正解データ数が1になるように前記混同行列を正規化した時の、前記正規化後の混同行列の各クラスの予測率合計が、できるだけ1に近づく前記補正パラメータを取得する、
付記2に記載の識別装置。
(付記4)
前記単調非減少関数は、前記識別器の出力する予測値を、前記補正パラメータでべき乗する演算を行う関数である、
付記3に記載の識別装置。
(付記5)
前記補正部は、前記各クラスの正解率を平均した平均正解率を取得し、前記混同行列の対称性を高める前記補正パラメータの中で、前記平均正解率が最大となる前記補正パラメータを取得する、
付記1から4のいずれか1つに記載の識別装置。
(付記6)
識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正パラメータ取得ステップと、
前記識別器の出力する予測値を、前記補正パラメータ取得ステップで取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得ステップと、
を含む識別方法。
(付記7)
識別器を備える識別装置のコンピュータに、
前記識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正パラメータ取得ステップ、及び、
前記識別器の出力する予測値を、前記補正パラメータ取得ステップで取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得ステップ、
を実行させるためのプログラム。
10…制御部、11…識別器、12…補正部、13…結果取得部、20…記憶部、31…データ入力部、32…出力部、33…通信部、34…操作入力部、100…識別装置

Claims (7)

  1. 入力データの属するクラスを識別する各クラスの予測値を出力する識別器と、
    前記識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正部と、
    前記識別器の出力する予測値を、前記補正部が取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得部と、
    を備える識別装置。
  2. 前記補正部は、前記混同行列の各クラスの正解データ数が1になるように前記混同行列を正規化した時の、前記正規化後の混同行列の各クラスの予測率合計が、できるだけ1に近づく前記補正パラメータを取得する、
    請求項1に記載の識別装置。
  3. 前記補正部は、
    前記補正パラメータによって定まる単調非減少関数であって、0以上1以下の入力値を0以上1以下の出力値に変換する前記単調非減少関数を用いて前記識別器の出力する予測値を補正して補正予測値を取得し、
    前記補正予測値で識別したクラスに基づいて前記混同行列を作成し、
    前記作成した前記混同行列の各クラスの正解データ数が1になるように前記混同行列を正規化した時の、前記正規化後の混同行列の各クラスの予測率合計が、できるだけ1に近づく前記補正パラメータを取得する、
    請求項2に記載の識別装置。
  4. 前記単調非減少関数は、前記識別器の出力する予測値を、前記補正パラメータでべき乗する演算を行う関数である、
    請求項3に記載の識別装置。
  5. 前記補正部は、前記各クラスの正解率を平均した平均正解率を取得し、前記混同行列の対称性を高める前記補正パラメータの中で、前記平均正解率が最大となる前記補正パラメータを取得する、
    請求項1から4のいずれか1項に記載の識別装置。
  6. 識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正パラメータ取得ステップと、
    前記識別器の出力する予測値を、前記補正パラメータ取得ステップで取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得ステップと、
    を含む識別方法。
  7. 識別器を備える識別装置のコンピュータに、
    前記識別器の出力する各クラスの予測値をクラス毎の補正パラメータを用いて補正した補正予測値で識別したクラスに基づいて作成した混同行列の対称性を高める前記補正パラメータを取得する補正パラメータ取得ステップ、及び、
    前記識別器の出力する予測値を、前記補正パラメータ取得ステップで取得した補正パラメータを用いて補正して、最終的な識別結果を取得する結果取得ステップ、
    を実行させるためのプログラム。
JP2018239067A 2018-12-21 2018-12-21 識別装置、識別方法及びプログラム Active JP7268347B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018239067A JP7268347B2 (ja) 2018-12-21 2018-12-21 識別装置、識別方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018239067A JP7268347B2 (ja) 2018-12-21 2018-12-21 識別装置、識別方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020101958A true JP2020101958A (ja) 2020-07-02
JP7268347B2 JP7268347B2 (ja) 2023-05-08

Family

ID=71139597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018239067A Active JP7268347B2 (ja) 2018-12-21 2018-12-21 識別装置、識別方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7268347B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011155123A1 (ja) * 2010-06-07 2011-12-15 株式会社 日立ハイテクノロジーズ 観察画像の分類基準の最適化方法、および画像分類装置
JP2016091166A (ja) * 2014-10-31 2016-05-23 カシオ計算機株式会社 機械学習装置、機械学習方法、分類装置、分類方法、プログラム
JP2018045673A (ja) * 2016-09-09 2018-03-22 株式会社Screenホールディングス 分類器構築方法、画像分類方法、分類器構築装置および画像分類装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011155123A1 (ja) * 2010-06-07 2011-12-15 株式会社 日立ハイテクノロジーズ 観察画像の分類基準の最適化方法、および画像分類装置
JP2016091166A (ja) * 2014-10-31 2016-05-23 カシオ計算機株式会社 機械学習装置、機械学習方法、分類装置、分類方法、プログラム
JP2018045673A (ja) * 2016-09-09 2018-03-22 株式会社Screenホールディングス 分類器構築方法、画像分類方法、分類器構築装置および画像分類装置

Also Published As

Publication number Publication date
JP7268347B2 (ja) 2023-05-08

Similar Documents

Publication Publication Date Title
CN115082920B (zh) 深度学习模型的训练方法、图像处理方法和装置
Hothorn et al. Transformation forests
EP4202799A1 (en) Machine learning data generation program, machine learning data generation method, machine learning data generation device, classification data generation program, classification data generation method, and classification data generation device
US20180260737A1 (en) Information processing device, information processing method, and computer-readable medium
US20180157991A1 (en) Apparatus and method for evaluating complexity of classification task
JPWO2017188419A1 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
JP2018092615A (ja) 畳み込みニューラルネットワークモデルの決定装置及び決定方法
JPWO2018116921A1 (ja) 辞書学習装置、辞書学習方法、データ認識方法およびコンピュータプログラム
JPWO2017159402A1 (ja) 共クラスタリングシステム、方法およびプログラム
EP2817747A1 (en) Method and apparatus for enhancing context intelligence in random index based system
JP5311899B2 (ja) パターン検出器の学習装置、学習方法及びプログラム
US20200320409A1 (en) Model creation supporting method and model creation supporting system
JP2013120441A (ja) 画像識別情報付与プログラム及び画像識別情報付与装置
Dulac-Arnold et al. Sequential approaches for learning datum-wise sparse representations
CN111932041B (zh) 基于风险识别的模型训练方法、装置和电子设备
CN113780365A (zh) 样本生成方法和装置
JP7350587B2 (ja) 能動学習装置、能動学習方法及びプログラム
US20230385690A1 (en) Computer-readable recording medium storing determination program, determination apparatus, and method of determining
JP7268347B2 (ja) 識別装置、識別方法及びプログラム
CN116152612A (zh) 一种长尾图像识别方法及相关装置
WO2022162839A1 (ja) 学習装置、学習方法、及び、記録媒体
JP2016207136A (ja) モデル推定システム、モデル推定方法およびモデル推定プログラム
JP6233432B2 (ja) 混合モデルの選択方法及び装置
Noh et al. Rankmixup: Ranking-based mixup training for network calibration
WO2020183807A1 (ja) 情報処理方法、および、情報処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7268347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150