(57)【要約】特にクラスごとのデータ数に偏りがあるようなクラス分類を行う識別器を対象としても、効率的に精度を向上させることができる識別器修正装置、識別器修正方法、およびプログラム等を提供する。本発明の一態様に係る識別器修正装置は、対象のベクトルが複数のクラスのいずれに属するかを、前記複数のクラスのいずれかにそれぞれ属する複数の参照ベクトルに基づいて識別する、識別器の、前記複数のクラスのうちのいずれかにそれぞれ属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択部と、前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、修正部と、を備える。
2019181675.tif 000002
【特許請求の範囲】
【請求項１】
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択手段と、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、修正手段と、
を備える識別器修正装置。
【請求項２】
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記識別器修正装置は、前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定する、重み値決定手段を備え、
前記修正手段は、前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの前記修正処理を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
請求項１に記載の識別器修正装置。
【請求項３】
前記重み値決定手段は、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
請求項２に記載の識別器修正装置。
【請求項４】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項３に記載の識別器修正装置。
【請求項５】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項３に記載の識別器修正装置。
【請求項６】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
請求項３に記載の識別器修正装置。
【請求項７】
前記重み値決定手段は、前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項２に記載の識別器修正装置。
【請求項８】
前記セット選択手段は、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、
前記識別器修正装置は、前記セット選択手段による前記セットの選択と、前記修正手段による前記修正処理とを、繰り返し行う、
請求項１から７のいずれか一項に記載の識別器修正装置。
【請求項９】
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択し、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、
識別器修正方法。
【請求項１０】
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記識別器修正方法は、
前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定し、
前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの前記修正処理を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
請求項９に記載の識別器修正方法。
【請求項１１】
前記ペアの前記重み値の決定において、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
請求項１０に記載の識別器修正方法。
【請求項１２】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項１１に記載の識別器修正方法。
【請求項１３】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項１１に記載の識別器修正方法。
【請求項１４】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
請求項１１に記載の識別器修正方法。
【請求項１５】
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項１０に記載の識別器修正方法。
【請求項１６】
前記セットの選択においては、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、  前記識別器修正方法は、前記セットの選択と、前記修正処理とを、繰り返し行う、
請求項９から１５のいずれか一項に記載の識別器修正方法。
【請求項１７】
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択処理と、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理と、
を、コンピュータに実行させるプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記プログラムは、前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定する、重み値決定処理をさらに前記コンピュータに実行させ、
前記修正処理は、前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの修正を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
請求項１７に記載の記憶媒体。
【請求項１９】
前記重み値決定処理は、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
請求項１８に記載の記憶媒体。
【請求項２０】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定処理は、前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記修正処理は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルに基づいて特定される前記参照ベクトルが当該学習用ベクトルを基準として修正されるような修正をしない、
請求項１９に記載の記憶媒体。
【請求項２１】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定処理は、前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記修正処理は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルに基づいて特定される前記参照ベクトルが当該学習用ベクトルを基準として修正されるような修正をしない、
請求項１９に記載の記憶媒体。
【請求項２２】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定処理は、前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
請求項１９に記載の記憶媒体。
【請求項２３】
前記重み値決定処理は、前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記修正処理は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルに基づいて特定される前記参照ベクトルが当該学習用ベクトルを基準として修正されるような修正をしない、
請求項１８に記載の記憶媒体。
【請求項２４】
前記セット選択処理は、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、
前記プログラムは、前記セット選択処理と前記修正処理とを、繰り返し前記コンピュータに実行させる、
請求項１７から２３のいずれか一項に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータが音声や画像などのパターンの認識に用いる識別器の、学習に関する。
【背景技術】
【０００２】
パターン認識は、一般的に、入力された画像や音声等のデータから抽出されるパターン（入力パターンとも呼ばれる）に基づき、データまたはデータにより表現される対象がどのクラスに属するかを識別する技術である。入力パターンは、通常、ベクトルの形式で表記されることから、本開示では入力パターンを入力ベクトル、または特徴ベクトルとも呼ぶ。【０００３】
パターン認識に用いられる代表的な識別器の一つに、最近傍識別器（ＮＮＣ：Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ  Ｃｌａｓｓｉｆｉｅｒ）が知られている。ＮＮＣは、クラスごとに用意された参照ベクトル（認識辞書、テンプレート、またはプロトタイプとも呼ばれる）を用いる識別器である。具体的には、ＮＮＣは、入力ベクトルとの距離が最も小さい（すなわち最近傍である）参照ベクトルが属するクラスを、その入力ベクトルに対する識別の結果として出力する。【０００４】
上記のＮＮＣのような、参照ベクトルを用いて識別を行うパターン認識装置において、識別の誤りを減らす目的で、学習用の入力ベクトルを用いて参照ベクトルを修正する技術が知られている。参照ベクトルを修正することは、参照ベクトルの学習とも呼ばれる。また、本開示において、参照ベクトルの修正は、識別器の修正と同義である。【０００５】
特許文献１は、参照ベクトルの学習を行う認識辞書生成装置を開示している文献である。この認識辞書生成装置は、正解クラスが付与されている学習用入力ベクトルを取得する。そして、この認識辞書生成装置は、学習用入力ベクトルを基準として、学習用入力ベクトルの近傍の（言い換えれば、学習用入力ベクトルに類似する）、参照ベクトルを修正する。この認識辞書生成装置は、取得された学習用入力ベクトルの各々に対して、参照ベクトルの修正を行うことで、精度が向上した認識辞書を生成する。【０００６】
特許文献２および３に開示される技術は、参照ベクトルを修正する技術ではないが、パターンの学習に関する技術である。【０００７】
特許文献２は、クラスの頻度（すなわち、クラスに含まれるデータの数）にばらつき（偏り）があるデータ（以下、「不均衡データ」とも称する）を扱う場合に、頻度が低いクラスの分類の精度が低くなるおそれを解消するため、アノテーションを工夫して行う技術を開示している。【０００８】
特許文献３は、クラスをまたいでノード間を接続するエッジである異クラス間エッジを有するノードのみを用いて学習を行うことで、効率的な学習を行う技術を、開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２０１２／０９５９３８号
【特許文献２】特開２０１７−１０７３８６号公報
【特許文献３】特開２０１６−０４８４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
各クラスにおけるデータの数に偏りがある場合、特許文献１に開示されるような、参照ベクトルを修正する方法を単純に適用すると、データの数（以下、単に「データ数」）が少ないクラスの識別精度が十分に向上されない可能性がある。その理由は、データ数が少ないクラスでは、学習用入力ベクトルの数が少なく、学習用入力ベクトルの近傍の参照ベクトルが修正される回数が、データ数が多いクラスの学習用入力ベクトルの近傍の参照ベクトルが修正される回数よりも、少ないからである。【００１１】
本発明は、特にクラスごとのデータ数に偏りがあるようなクラス分類を行う識別器を対象としても、効率的に精度を向上させることができる装置、方法、およびプログラム等を提供することを目的の１つとする。
【課題を解決するための手段】
【００１２】
本発明の一態様に係る識別器修正装置は、対象のベクトルが複数のクラスのいずれに属するかを、前記複数のクラスのいずれかにそれぞれ属する複数の参照ベクトルに基づいて識別する、識別器の、前記複数のクラスのうちのいずれかにそれぞれ属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択手段と、前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、修正手段と、を備える。【００１３】
本発明の一態様に係る識別器修正方法は、対象のベクトルが複数のクラスのいずれに属するかを、前記複数のクラスのいずれかにそれぞれ属する複数の参照ベクトルに基づいて識別する、識別器の、前記複数のクラスのうちのいずれかにそれぞれ属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択し、前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う。【００１４】
本発明の一態様に係るプログラムは、対象のベクトルが複数のクラスのいずれに属するかを、前記複数のクラスのいずれかにそれぞれ属する複数の参照ベクトルに基づいて識別する、識別器の、前記複数のクラスのうちのいずれかにそれぞれ属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択処理と、前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理とを、コンピュータに実行させる。上記のプログラムは、コンピュータ読み取り可能な非一時的な記憶媒体に記憶され得る。
【発明の効果】
【００１５】
本発明によれば、特にクラスごとのデータ数に偏りがあるようなクラス分類を行う識別器を対象としても、効率的に精度を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】参照ベクトルの修正の方法の概念を表す図である。
【図２】参照ベクトルの修正の方法の概念を表す別の図である。
【図３】本発明の第１の実施形態に係る識別器修正装置の構成を示すブロック図である。
【図４】第１の実施形態に係る識別器修正装置による処理の流れを示すフローチャートである。
【図５】第１の実施形態に係る識別器修正装置により参照ベクトルが修正される例を概念的に表す図である。
【図６】修正後の参照ベクトルおよび識別境界を概念的に示す図である。
【図７】本発明の第２の実施形態に係る識別器修正装置の構成を示すブロック図である。
【図８】第２の実施形態に係る識別器修正装置による処理の流れを示すフローチャートである。
【図９】クラスの領域に対するベクトルの近さの定義について説明するための第１の図である。
【図１０】クラスの領域に対するベクトルの近さの定義について説明するための第２の図である。
【図１１】クラスの領域に対するベクトルの近さの定義について説明するための第３の図である。
【図１２】第２の実施形態に係る識別器修正装置の変形例の構成を示すブロック図である。
【図１３】本発明の一実施形態に係る識別器修正装置の構成を示すブロック図である。
【図１４】本発明の一実施形態に係る識別器修正方法の流れを示すフローチャートである。
【図１５】本発明の各実施形態の各部を構成するハードウェアの例を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下の説明では、理解を容易にするために、クラスは「正クラス」と「負クラス」との２つのクラスであると想定する。しかし、本発明は、３つ以上のクラスに分類する識別器にも適用可能である。当業者は、以下の説明に関し、適宜、３つ以上のクラスに分類する識別器に適用するための解釈や読み替えを行ってよく、そのように解釈された技術も、本発明の技術的範囲に含まれ得る。また、図面において、ベクトルは２次元平面上の点として表示されるが、ベクトルの成分の数は不問である。
【００１８】
以下の説明において、入力ベクトルはｘで始まる文字で表し、参照ベクトルはｙで始まる文字で表す。正クラスのラベルが付与されたベクトルには上付きの「＋」を付与して示す。負クラスのラベルが付与されたベクトルには上付きの「−」を付与して示す。
【００１９】
本発明の実施形態を説明する前に、特許文献１に記載されているような、公知の、参照ベクトルの修正方法（以下、「公知の手法」と表記）について具体的に説明する。
【００２０】
公知の手法では、コンピュータは、少なくとも１つの入力ベクトルを取得する。
【００２１】
そして、コンピュータは、取得された入力ベクトルに最も近い参照ベクトルを、クラスごとに選択する。具体的には、コンピュータは、正クラスの参照ベクトルのうち入力ベクトルに最も近い参照ベクトルと、負クラスの参照ベクトルのうち入力ベクトルｘｉ＋に最も近い参照ベクトルを特定する。「最も近い」とは、ベクトル間の距離を算出する方法により算出された値（例えば、ユークリッド空間における、ベクトルを表す２点のユークリッド距離）が最も小さいことである。
【００２２】
そして、コンピュータは、特定した参照ベクトルのそれぞれを、修正する。
【００２３】
図１および図２は、公知の手法における、参照ベクトルを修正する概念を示す図である。
【００２４】
例えば、正クラスの入力ベクトルｘｉ＋が取得された場合、図１に示されるように、コンピュータは、正クラスの参照ベクトルのうち入力ベクトルｘｉ＋に最も近い参照ベクトルｙｐ＋を、入力ベクトルｘｉ＋に近づくように修正する。また、コンピュータは、負クラスの参照ベクトルのうち入力ベクトルｘｉ＋に最も近い参照ベクトルｙｑ−を、入力ベクトルｘｉ＋から遠ざかるように修正する。
【００２５】
また、例えば、負クラスの入力ベクトルｘｊ−が取得された場合、図２に示されるように、コンピュータは、正クラスの参照ベクトルのうち入力ベクトルｘｊ−に最も近い参照ベクトルｙｓ＋を、入力ベクトルｘｊ−から遠ざかるように修正する。また、コンピュータは、負クラスの参照ベクトルのうち入力ベクトルｘｊ−に最も近い参照ベクトルｙｒ−を、入力ベクトルｘｊ−に近づくように修正する。
【００２６】
公知の手法における、ベクトルを修正する具体的な方法の例は、次の通りである。入力ベクトルをｘａ、近づけるべき参照ベクトルｙｃ、遠ざけるべき参照ベクトルをｙｄとすると、コンピュータは、次の式によってベクトルｙｃおよびベクトルｙｄを修正する。
【００２７】
【数１】
2019181675.tif 000003
【００２８】
上記の式において、矢印は、矢印の先の変数の値を、矢印の後ろの式で求まる値に置き換える演算を意味する。εおよびｍは設定値である。εは正の実数であり、ｍは１より大きい実数である。
【００２９】
以上に説明した公知の手法では、入力ベクトルが多いクラスの領域の近くの参照ベクトルほど修正されやすく、入力ベクトルが少ないクラスの領域の近くの参照ベクトルは修正されにくい。また、修正される参照ベクトルが、必ずしも、修正の必要性が高い参照ベクトルであるとは限らない。
【００３０】
以下、本発明の実施形態を詳細に説明する。
【００３１】
＜＜第１の実施形態＞＞
まず、本発明の第１の実施形態について説明する。第１の実施形態に係る識別器修正装置１１は、識別器２１が用いる参照ベクトルを修正する装置である。
【００３２】
＜構成＞
図３は、識別器修正装置１１の構成の例を示すブロック図である。識別器修正装置１１は、取得部１１１と、セット選択部１１２と、参照ベクトル選択部１１３と、修正部１１５と、を備える。
【００３３】
図３に示される例では、識別器修正装置１１は、識別器２１も備える。ただし、別の態様として、識別器２１は、識別器修正装置１１の外部にあり、識別器修正装置１１と通信可能に接続されていてもよい。
【００３４】
識別器２１は、識別を行うモジュールである。識別器２１は、参照ベクトル記憶部２１０において記憶された参照ベクトルを用いて、識別を行う。参照ベクトル記憶部２１０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク、または可搬型記憶装置等によって実現され得る。
【００３５】
参照ベクトルの各々は、複数のクラスのいずれか１つにそれぞれ属する。すなわち、参照ベクトル記憶部２１０において、参照ベクトルの各々には、それぞれ、複数のクラスのいずれか１つを意味する情報が付与されている。
【００３６】
以下、識別器修正装置１１内の構成要素のそれぞれの機能について説明する。後述するが、識別器修正装置１１内の各構成要素は、例えば、プログラムに基づいて命令を実行する１つまたは複数のプロセッサとメモリとを含むコンピュータにより実現され得る。
【００３７】
識別器修正装置１１内の各構成要素は、データを生成または取得した場合、そのデータを他の構成要素に使用可能な状態にし得る。例えば、各構成要素は、生成または取得したデータを、そのデータを使用する他の構成要素に送出し得る。あるいは、各構成要素は、生成または取得したデータを、識別器修正装置１１内の記憶領域（メモリ等。不図示）に記録してもよい。識別器修正装置１１の各構成要素は、それぞれの処理を実行する際、使用するデータを、そのデータを生成または取得した構成要素から直接受け取ってもよいし、上記記憶領域から読み出してもよい。
【００３８】
図３において示される、構成要素どうしをつなぐ線は、構成要素どうしがデータをやりとり可能であることを示す線である。各構成要素が図３に示される線と同様の信号線により接続されることは必ずしも要求されない。
【００３９】
＝＝＝取得部１１１＝＝＝
取得部１１１は、学習用の入力ベクトルを取得する。以下、学習用の入力ベクトルのことを、単に「学習用ベクトル」と表記する。学習用ベクトルは、データを表すベクトルである。上記のデータは、例えば、画像データ、音声データ等である。取得部１１１は、例えば、識別器修正装置１１に入力されたデータ（以下、「入力データ」）から、学習用ベクトルを導出することにより、学習用ベクトルを取得してもよい。入力データから学習用ベクトルを導出する方法には、一般に知られる、データから特徴を抽出する方法が採用されればよい。一例として、取得部１１１は、入力データとしてのグレースケールの画像データを１００個の領域に分割し、各領域内で輝度値の平均値を算出し、その平均値を成分とする１００次元のベクトルを、学習用ベクトルとして導出してもよい。
【００４０】
取得部１１１は、学習用ベクトルの入力を受け付けることによって外部から学習用ベクトルを直接取得してもよい。
【００４１】
取得部１１１は、学習用ベクトルに加え、その学習用ベクトルに付与される正解ラベルも取得する。正解ラベルは、複数のクラスのうちの１つを示す情報である。取得部１１１は、例えば、学習用ベクトルまたは入力データの入力を受け付ける際に、正解ラベルの入力も受け付ければよい。または、取得部１１１は、正解ラベルと学習用ベクトルもしくは入力データとが関連づけられた情報（例えば、データセット等）を、外部から取得すればよい。
【００４２】
取得部１１１は、少なくとも２つの、互いに異なる正解ラベルが付与された学習用ベクトルを、取得する。
【００４３】
＝＝＝セット選択部１１２＝＝＝
セット選択部１１２は、取得部１１１により取得された学習用ベクトルのうち、互いに異なるクラスに属する学習用ベクトルのセットを選択する。
【００４４】
クラスの種類が「正クラス」と「負クラス」の２種類であれば、セット選択部１１２は、正クラスのラベルが付与された学習用ベクトルのうち１つと、負クラスのラベルが付与された学習用ベクトルのうち１つと、のペアを、セットとして選択する。
【００４５】
クラスの種類がＮ種類（Ｎは３以上の整数）である場合は、セット選択部１１２は、例えば、各クラスから１つずつ学習用ベクトルを選択し、その選択されたＮ個の学習用ベクトルを、セットとして選択する。
【００４６】
あるいは、セット選択部１１２は、Ｎ種類のクラスのうち所与の数（Ｎよりも小さい数）のクラスを無作為に選択した後、選択したクラスから１つずつ学習用ベクトルを選択し、その選択された所与の数の学習用ベクトルを、セットとして選択してもよい。クラスが無作為に選択されるならば、後述のステップＳ１２からステップＳ１４の処理を繰り返し行うことで、各クラスが選択される回数は平準化される。
【００４７】
なお、同じクラスに属する複数の学習用ベクトルから１つの学習用ベクトルを選択する方法は、例えば、無作為に選択する方法でもよい。セット選択部１１２は、無作為に選択する方法でない方法でセットを選択してもよい。
【００４８】
＝＝＝参照ベクトル選択部１１３＝＝＝
参照ベクトル選択部１１３は、修正の対象となる参照ベクトルを選択する。具体的には、参照ベクトル選択部１１３は、セット選択部１１２により選択されたセットを構成する学習用ベクトルごとに、それぞれ少なくとも２つの、互いに異なるクラスに属する参照ベクトルを、修正の対象となる参照ベクトルとして選択する。
【００４９】
具体的には、参照ベクトル選択部１１３は、学習用ベクトルと参照ベクトルとの距離に基づき、修正の対象となる参照ベクトルを選択してもよい。なお、距離とは、ベクトルを点によって表す空間における距離、例えば、ユークリッド距離のことである。なお、本開示では、２つのベクトル間の距離の小ささを、２つのベクトルの「近さ」または「類似性」とみなすこともある。
【００５０】
参照ベクトルを選択する方法の例を説明する。例えば、参照ベクトル選択部１１３は、取得部１１１により取得された複数の参照ベクトルを参照し、学習用ベクトルと同じクラスに属する参照ベクトルのうち、学習用ベクトルとの距離が最小である第１の参照ベクトルを特定する。また、参照ベクトル選択部１１３は、学習用ベクトルと異なるクラスに属する参照ベクトルのうち、学習用ベクトルとの距離が最小である第２の参照ベクトルを特定する。そして、参照ベクトル選択部１１３は、特定した第１の参照ベクトルおよび第２の参照ベクトルを、修正の対象となる参照ベクトルとして選択する。
【００５１】
なお、学習用ベクトルと異なるクラスが複数あるケースでは、参照ベクトル選択部１１３は、少なくとも１つの第２の参照ベクトルを選択すればよい。例えば、参照ベクトル選択部１１３は、学習用ベクトルと異なるクラスに属する参照ベクトルのうち、学習用ベクトルに最も近い参照ベクトルを、第２の参照ベクトルとして選択してもよい。あるいは、参照ベクトル選択部１１３は、学習用ベクトルと異なるクラスの各々から、参照ベクトルを１つずつ選択してもよい。
【００５２】
＝＝＝修正部１１５＝＝＝
修正部１１５は、参照ベクトル選択部１１３により選択された第１の参照ベクトルおよび第２の参照ベクトルに対し、修正処理を行う。修正処理は、ベクトルの修正を行う処理である。本実施形態における修正とは、具体的には、参照ベクトル記憶部２１０において記憶される参照ベクトルの成分の値を書き換えることである。ただし、修正処理において、結果的にベクトルの成分の値が変化しない場合があってもよい。
【００５３】
修正部１１５は、学習用ベクトルと同じクラスの参照ベクトルは学習用ベクトルに近づき、学習用ベクトルと異なるクラスの参照ベクトルは学習用ベクトルから遠ざかるように、修正を行う。
【００５４】
正クラスの学習用ベクトルｘｉ＋に関して選択された、第１の参照ベクトルおよび第２の参照ベクトルを、それぞれｙｐ＋、ｙｑ−とする。負クラスの学習用ベクトルｘｊ−に関して選択された、第１の参照ベクトルおよび第２の参照ベクトルを、それぞれｙｒ−、ｙｓ＋とする。修正部１１５は、例えば、以下の式に従って参照ベクトルを修正する。
【００５５】
【数２】
2019181675.tif 000004
【００５６】
ここで、εおよびｍは設定値である。εは正の実数であり、ｍは１より大きい実数である。上記の式に基づく修正により、参照ベクトルｙｐ＋はｘｉ＋に近づき、参照ベクトルｙｑ−はｘｉ＋から遠ざかり、参照ベクトルｙｒ−はｘｊ−に近づき、参照ベクトルｙｓ＋はｘｊ−から遠ざかる。
【００５７】
＜動作＞
以下、識別器修正装置１１による処理の流れを、図４のフローチャートを参照しながら説明する。なお、各処理は、各処理がプログラムを実行するプロセッサによって実行される場合においては、プログラムの中の命令の順序に従って実行されればよい。各処理が別個のデバイスによって実行される場合においては、処理を完了したデバイスが次の処理を実行するデバイスに通知を行うことで、次の処理が実行されればよい。なお、処理を行う各部は、めいめいの処理に必要なデータを、そのデータを生成した部から受け取るか、識別器修正装置１１の記憶領域から読み出せばよい。
【００５８】
まず、取得部１１１が、学習用の入力データ、すなわち学習用データを取得する（ステップＳ１１）。取得部１１１は、少なくとも２つの、互いに異なるクラスに属する学習用ベクトルが含まれる、複数の学習用データを取得する。
【００５９】
次に、セット選択部１１２が、互いに異なるクラスに属する学習用ベクトルのセットを選択する（ステップＳ１２）。
【００６０】
識別器修正装置１１は、ステップＳ１２の処理により選択されたセットを構成する学習用ベクトルごとに、ステップＳ１３およびステップＳ１４の処理を行う。
【００６１】
ステップＳ１３では、参照ベクトル選択部１１３が、修正の対象となる参照ベクトルを選択する。
【００６２】
ステップＳ１４では、修正部１１５がステップＳ１３で選択された参照ベクトルに対して修正処理を行う。
【００６３】
選択されたセットを構成する学習用ベクトルの各々について、上記ステップＳ１３およびステップＳ１４の処理が完了したら、処理はステップＳ１５へ移る。例えば、ステップＳ１２の処理によって第１の学習用ベクトルと第２の学習用ベクトルの２つがセットとして選択された場合、修正部１１５は、合計４つ以上の参照ベクトルを対象として修正処理を行う。
【００６４】
ステップＳ１５では、識別器修正装置１１は、セット選択部１１２がセットの選択を所定の回数行ったかを判定する。判定の結果がＮＯであれば、処理はステップＳ１２に戻り、識別器修正装置１１は新たなセットを選択し、修正の対象の選択、および修正処理を行う。ステップＳ１５において判定の結果がＹＥＳであれば、ループを抜けて、識別器修正装置１１は処理を終了する。この時、識別器修正装置１１は、修正処理が完了したことを通知する信号を発信してもよい。
【００６５】
本実施形態の識別器修正装置１１による処理による、参照ベクトルの変化の一例を以下に示す。
【００６６】
ステップＳ１２にて、セット選択部１１２は、学習用ベクトルｘｉ＋およびｘｊ−をセットとして選択し得る。ステップＳ１３にて、参照ベクトル選択部１１３は、学習用ベクトルｘｉ＋に基づいて参照ベクトルｙｐ＋およびｙｑ−を選択し、学習用ベクトルｘｊ−に基づいて参照ベクトルｙｒ−、およびｙｓ＋を選択し得る。
【００６７】
ステップＳ１４の処理により、参照ベクトルｙｐ＋、ｙｑ−、ｙｒ−、およびｙｓ＋は、図５においてそれぞれ矢印で示される方向に移動し得る。なお、図５において示される破線は、識別境界（すなわち、学習用ベクトルが同じクラスに分類される領域の、境界）を表す。ＮＮＣが識別器２１として用いられる場合、識別境界は、ボロノイ境界である。
【００６８】
参照ベクトルが修正により移動する結果、参照ベクトルおよび識別境界は、図６のようになり得る。
【００６９】
＜効果＞
識別器修正装置１１によれば、互いに異なるクラスに属する学習用ベクトルのセットを選択して、それぞれの学習用ベクトルの近くの参照ベクトルを修正するので、データ数が少ないクラスに分類される学習用ベクトルが、公知の手法と比べてより有効に修正に使われるようになる。
【００７０】
その結果、データ数が少ないクラスの識別精度が向上する。
【００７１】
したがって、識別器修正装置１１は、特にクラスごとのデータ数に偏りがあるデータを学習に用いた識別器を対象としても、効率的に精度を向上させることができる。
【００７２】
［変形例］
参照ベクトル選択部１１３は、学習用ベクトルが属するクラスと他のクラスとの識別境界のうち、学習用ベクトルに最も近い識別境界を特定し、その特定した識別境界を成す２つの領域から、第１の参照ベクトルと第２の参照ベクトルとを選択してもよい。第１の参照ベクトルは、特定した識別境界を成す２つの領域のうち、学習用ベクトルが属するクラスに含まれる参照ベクトルである。第２の参照ベクトルは、特定した識別境界を成す２つの領域のうち、学習用ベクトルが属さないクラスに含まれる参照ベクトルである。
【００７３】
＜＜第２の実施形態＞＞
本発明の第２の実施形態について説明する。
【００７４】
＜構成＞
図７は、第２の実施形態に係る識別器修正装置１２の構成を示すブロック図である。識別器修正装置１２は、第１の実施形態の識別器修正装置１１に含まれる部と同様の部に加え、重み値決定部１１４を備える。重み値決定部１１４は、他の部と同様、例えば、プログラムを実行する、１つまたは複数のプロセッサによって、実現される。
【００７５】
以下の説明では、第１の実施形態の識別器修正装置１１と異なる部分について説明する。識別器修正装置１１と共通する部分については、適宜説明を省略する。
【００７６】
＝＝＝セット選択部１１２＝＝＝
本実施形態では、セット選択部１１２は、異なるクラスに属する２つの学習用ベクトルのペアを、セットとして選択する。以下、セット選択部１１２により選択されたセットを「ペア」とも称する。
【００７７】
クラスの種類が２種類であれば、セット選択部１１２は、各クラスから１つずつ学習用ベクトルを選択し、それらをペアとして選択する。
【００７８】
クラスの種類が３つ以上である場合は、セット選択部１１２は、複数のクラスのうち２つのクラスを選択し、２つのクラスから学習用ベクトルのペアを選択すればよい。
【００７９】
複数のクラスのうち２つのクラスを選択する方法は、例えば、無作為に選択する方法でもよい。「無作為に選択する方法」とは、学習用ベクトルの選択が確率的な事象であり、かつ、各学習用ベクトルの選択される確率が均一であるような、方法である。セット選択部１１２は、無作為に選択する方法でない方法で２つのクラスを選択してもよい。
【００８０】
＝＝＝重み値決定部１１４＝＝＝
重み値決定部１１４は、セット選択部１１２により選択されたペアに対し、参照ベクトルの修正の程度の指標となる値である重み値を決定する。
【００８１】
重み値は、例えば、０から１の範囲の実数をとるように設定され得る。重み値は、例えば、０または１のいずれかの値をとるように設定されてもよい。
【００８２】
重み値決定部１１４は、ペアを構成する学習用ベクトルのそれぞれに対する、識別関数による判定値（後述）に基づいて、重み値を決定してもよい。具体的には、例えば、重み値決定部１１４は、ペアを構成する学習用ベクトルのそれぞれに対する判定値の差が、小さいほど、重み値が大きくなるように、重み値を決定してもよい。
【００８３】
ベクトルｘに対する判定値は、例えば、次の識別関数により定義される値ｇ（ｘ）である。
【００８４】
【数３】
2019181675.tif 000005
【００８５】
ここで、ｄ＋（ｘ）は正クラスの参照ベクトルの中でベクトルｘに最も近い参照ベクトルｙ＋との距離の２乗、ｄ−（ｘ）は負クラスの参照ベクトルの中でベクトルｘに最も近い参照ベクトルｙ−との距離の２乗である。すなわち、ｄ＋（ｘ）およびｄ−（ｘ）は、それぞれ次の式で定義される。
【００８６】
【数４】
2019181675.tif 000006
【００８７】
ただし「・」は内積の演算子である。上記の式におけるベクトルｙ＋およびｙ−として、参照ベクトル選択部１１３により選択された参照ベクトルが使用されてもよい。
【００８８】
上記のｇ（ｘ）の算出式によると、ベクトルｘが正クラスの参照ベクトルに近いほどｇ（ｘ）は１に近い値となり、ベクトルｘが負クラスの参照ベクトルに近いほどｇ（ｘ）は−１に近い値となる。ベクトルｘが２つの参照ベクトルから等距離の位置、すなわち識別境界上にある場合は、ｇ（ｘ）＝０となる。
【００８９】
ｇ（ｘ）の算出式、ならびにｄ＋（ｘ）およびｄ−（ｘ）の定義は、本発明の思想を逸脱しない限りにおいて、変更されてもよい。例えば、ある実施形態では、ｄ＋（ｘ）はベクトルｘと参照ベクトルｙ＋との間のユークリッド距離、ｄ−（ｘ）はベクトルｘと参照ベクトルｙ−との間のユークリッド距離、と定義されてもよい。
【００９０】
重み値決定部１１４は、ペアを構成する、学習用ベクトルｘｉ＋およびｘｊ−のそれぞれに対して、上記の識別関数を用いて、判定値ｇ（ｘｉ＋）およびｇ（ｘｊ−）を算出し得る。
【００９１】
そして、重み値決定部１１４は、ペアに対する重み値ｗ（ｘｉ＋，ｘｊ−）を、例えば次式によって算出し得る。
【００９２】
【数５】
2019181675.tif 000007
【００９３】
ここで、関数f(ｕ)は、例えば次式により定義される関数である。
【００９４】
【数６】
2019181675.tif 000008
【００９５】
｜ｕ｜はｕの絶対値を表す。上記の式において、ｂの値には任意の正の実数が設定されてよい。例として、ｂの値は、｜ｕ｜が取り得る最大値の半分の値でもよい。
【００９６】
上記の式により、正クラスのデータｘｉ＋に対する識別関数の値と、負クラスのデータｘｊ−に対する識別関数の値と、の差の絶対値がｂ未満であるときに、重み値は「１」となる。
【００９７】
以上に説明した重み値の算出方法の例以外の例は、［補足］の項目で説明する。
【００９８】
＝＝＝修正部１１５＝＝＝
修正部１１５は、参照ベクトル選択部１１３により選択された第１の参照ベクトルおよび第２の参照ベクトルに対して修正処理を行う。本実施形態における修正部１１５が行う修正の程度は、重み値決定部１１４により決定された重み値に応じて変化し得る。
【００９９】
具体的には、修正部１１５は、参照ベクトルの移動距離が、重み値ｗ（ｘｉ＋，ｘｊ−）に依存するような計算に基づき、参照ベクトルを修正する。
【０１００】
例として、修正部１１５は、以下の式に従って参照ベクトルを修正する。
【０１０１】
【数７】
2019181675.tif 000009
【０１０２】
ここで、εおよびｍは設定値である。εは正の実数であり、ｍは１より大きい実数である。
【０１０３】
上記の式に基づく修正処理により、各参照ベクトルは、ｘｉ＋とｘｊ−とのペアについて設定された重み値に応じた距離だけ、移動する。つまり、この修正処理では、修正される参照ベクトルの変化の程度が、ペアの重み値に応じて決まる。
【０１０４】
なお、重み値が「０」である場合、上記の式によると参照ベクトルは変化しない。言い換えれば、重み値が「０」でない場合に限って、修正ベクトルは修正される。
【０１０５】
＜動作＞
識別器修正装置１２による処理の流れを、図８のフローチャートを参照しながら説明する。
【０１０６】
まず、識別器修正装置１２は、識別器修正装置１１の処理と同様、ステップＳ１１からステップＳ１３の処理を行う。すなわち、取得部１１１が学習用データを取得し、セット選択部１１２がセット（ペア）を選択し、参照ベクトル選択部１１３が、セット（ペア）を構成する学習用ベクトルごとに、修正の対象となる参照ベクトルを選択する。
【０１０７】
次に、重み値決定部１１４が、セット（ペア）に対する重みを決定する（ステップＳ２１）。重み値決定部１１４は、重み値を決定したら、例えば、決定した重み値を示す情報をペアに関連づける。具体的には、例えば、重み値決定部１１４は、ペアを特定する情報と重み値を示す情報とが関連づけられたデータを生成してもよい。そして、重み値決定部１１４は、その生成したデータを、識別器修正装置１１内の記憶領域に記録し、または、修正部１１５に直接送出してもよい。
【０１０８】
そして、修正部１１５が、修正部１１５がステップＳ１３で選択された参照ベクトルに対して、重み値を用いた修正処理を行う（ステップＳ２２）。
【０１０９】
その後、ステップＳ１５にて、識別器修正装置１２は、セット選択部１１２がセット（ペア）の選択を所定の回数行ったかを判定する。判定の結果がＮＯであれば、処理はステップＳ１２に戻り、識別器修正装置１２は新たなペアを選択する。ステップＳ１５において判定の結果がＹＥＳであれば、ループを抜けて、識別器修正装置１２は処理を終了する。この時、識別器修正装置１２は、修正処理が完了したことを通知する信号を発信してもよい。
【０１１０】
［補足：重み値の決定方法］
以下、重み値決定部１１４が重み値を決定する方法の、上記とは別の例を挙げる。
【０１１１】
（例１）
例えば、上述の式１の関数f(ｕ)は、次の関数に置き換えられてもよい。
【０１１２】
【数８】
2019181675.tif 000010
【０１１３】
ここでｂは任意の実数である。この関数によれば、ｇ（ｘｊ−）の値がｇ（ｘｉ＋）＋ｂよりも大きい場合に、参照ベクトルが修正される。ｂ＝０であれば、負クラスの学習用ベクトルｘｊ−が、正クラスの学習用ベクトルｘｉ＋よりも正クラスの参照ベクトルに近い場合に限り、参照ベクトルが修正される。
【０１１４】
（例２）
重み値決定部１１４は、修正の対象となる参照ベクトルの各々の、識別境界からの距離の差が、所定の距離以内である場合に、重み値を「１」に決定し、そうでない場合には重み値を「０」に決定してもよい。
【０１１５】
（例３）
重み値決定部１１４は、ペアに含まれる一方の学習用ベクトルが、同じペアのもう一方の学習用ベクトルよりも、その一方の学習用ベクトルに付与されたクラスの領域から遠い場合に、０以外の値を重み値として決定し、そうでない場合には「０」を重み値として決定してもよい。
【０１１６】
クラスの領域に対する近さ／遠さは、例えば、最も近い識別境界までの距離、最も近い、当該クラスに属する参照ベクトルまでの距離、または、クラスの領域の重心からの距離、等に基づいて定義され得る。
【０１１７】
図９は、正クラスの学習用ベクトルｘｉ＋が、負クラスの学習用ベクトルｘｊ−よりも、正クラスの領域から遠いといえる例を示す図である。図９において、正クラスの領域は斜線で示されており、破線は正クラスと負クラスとの識別境界を表す。学習用ベクトルｘｉ＋およびｘｊ−のいずれも正クラスの領域の外にあるので、識別境界までの距離が短い方が、正クラスの領域に近いといえる。すなわち、図９の例では、学習用ベクトルｘｉ＋よりも負クラスの学習用ベクトルｘｊ−の方が、識別境界までの距離が短いので、正クラスの領域に近い。
【０１１８】
学習用ベクトルｘｉ＋が正クラスの領域の内部にある場合でも、正クラスに対する距離が定められていてもよい。例えば、識別境界までの距離に、マイナスを付した値を、正クラスの領域に対する距離としてもよい。図１０に示される例では、学習用ベクトルｘｉ＋および学習用ベクトルｘｊ−のいずれも正クラスの領域の内部にあるが、学習用ベクトルｘｊ−の方が正クラスの領域に近いといえる例である。なお、この例では、学習用ベクトルｘｉ＋の方が、学習用ベクトルｘｊ−よりも、負クラスの領域に近いともいえる。
【０１１９】
クラスの領域に対する近さ／遠さは、学習用ベクトルの各々の、最も近い、当該クラスに属する参照ベクトルまでの距離に基づいて定義されてもよい。すなわち、正の参照ベクトルまでの距離が短いほど、正クラスの領域に近いとしてもよい。
【０１２０】
クラスの領域に対する近さは、クラスの領域の重心に対する距離に基づいて定義されてもよい。図１１は、正クラスの学習用ベクトルｘｉ＋が、負クラスの学習用ベクトルｘｊ−よりも、正クラスの領域から遠いといえる例を示す図である。図１１において、正クラスの領域は斜線で示されており、黒塗りの小円は正クラスの領域の重心を表す。図１１の例では、学習用ベクトルｘｊ−は学習用ベクトルｘｉ＋よりも重心に近い。クラスの領域の重心までの距離が近いほどクラスに近い、と定義すると、学習用ベクトルｘｊ−の方が、学習用ベクトルｘｉ＋よりも正クラスの領域に近いといえる。
【０１２１】
（例４）
重み値は、「０」または「１」の２値を取るように定義される値に限られない。例えば、重み値決定部１１４は、正クラスのデータｘｉ＋に対する判定値と、負クラスのデータｘｊ−に対する判定値と、の差の絶対値に応じて単調減少する関数を用いて、重み値を決定してもよい。
【０１２２】
例として、上述の式１の関数f(ｕ)は、次の関数に置き換えられてもよい。
【０１２３】
【数９】
2019181675.tif 000011
【０１２４】
ここでσは任意の実数である。すなわち、正クラスのデータｘｉ＋に対する判定値と、負クラスのデータｘｊ−に対する判定値と、の差が小さいほど、重み値は大きくなる。
【０１２５】
＜効果＞
第２の実施形態に係る識別器修正装置１２によっても、特にクラスごとのデータ数に偏りがあるデータを学習に用いた識別器を対象としても、効率的に精度を向上させることができる。
【０１２６】
さらに、識別器修正装置１２によれば、修正の程度が重み値に依存するため、修正の必要性が低い参照ベクトルが、過度に修正されることを防ぐことができる。その理由は、上述した方法で重み値が設定されることにより、結果として、誤って分類された学習用ベクトルに近い参照ベクトルや、識別境界付近の学習用ベクトルに近い参照ベクトルが、大きく修正されやすくなるからである。すなわち、識別器２１において構築された空間において誤った分類がされやすい部分が重点的に修正されやすくなる。
【０１２７】
また、特に重み値が「０」であるようなペアについては、そのペアを構成する学習用ベクトルの近くの参照ベクトルは修正されず、そのペアの修正処理に係る計算量は低減される。よって、参照ベクトルの修正が効率よく行われ、識別器２１が効率よく改善されるという利点もある。
【０１２８】
＜＜第３の実施形態＞＞
上記第２の実施形態の変形例を、第３の実施形態として説明する。
【０１２９】
図１２は、第３の実施形態に係る識別器修正装置１２ａの構成を示すブロック図である。識別器修正装置１２ａは、識別器２１を備えず、外部に存在する識別器２１と通信可能に接続される。識別器修正装置１２ａは、識別器修正装置１２と同様、取得部１１１と、セット選択部１１２と、参照ベクトル選択部１１３と、重み値決定部１１４と、修正部１１５と、を備える。
【０１３０】
識別器修正装置１２ａに含まれる各部の機能は、それぞれ、識別器修正装置１２に含まれる同じ名称の部の機能と同様である。識別器修正装置１２ａの動作は、図８に示される、識別器修正装置１２の動作と同様でよい。
【０１３１】
このような構成によっても、識別器修正装置１２ａは、識別器２１が使用する参照ベクトルを、効率的に修正できる。
【０１３２】
＜＜第４の実施形態＞＞
本発明の一実施形態に係る識別器修正装置１０について説明する。図１３は、識別器修正装置１０の構成を示すブロック図である。識別器修正装置１０は、セット選択部１０２と、修正部１０５と、を備える。
【０１３３】
識別器修正装置１０は、識別器を修正する装置である。前提として、識別器は、対象のベクトルが複数のクラスのいずれに属するかを、複数の参照ベクトルに基づいて識別するものである。複数の参照ベクトルは、それぞれが前記複数のクラスのいずれかに属する。
【０１３４】
識別器修正装置１０は、具体的には、参照ベクトルを修正する。参照ベクトルを修正することが、識別器を修正することに相当する。
【０１３５】
セット選択部１０２は、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択する。なお、学習用ベクトルは、識別器に用いられる参照ベクトルを修正する際の基準となるベクトルである。上記複数の学習用ベクトルは、それぞれ上記複数のクラスのうちのいずれかに属する。また、上記複数のクラスの各々に、少なくとも１つの学習用ベクトルが属する。
【０１３６】
上記各実施形態のセット選択部１１２は、セット選択部１０２の一例に相当する。
【０１３７】
修正部１０５は、セット選択部１０２により選択されたセットに含まれる学習用ベクトルの各々について、その学習用ベクトルに基づいて特定される参照ベクトルを、その学習用ベクトルを基準として修正する。
【０１３８】
上記各実施形態の修正部１１５は、修正部１０５の一例に相当する。
【０１３９】
識別器修正装置１０による処理の流れを、図１４のフローチャートを参照しながら説明する。
【０１４０】
まず、セット選択部１０２が、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択する（ステップＳ１０１）。
【０１４１】
次に、修正部１０５が、セット選択部１０２により選択されたセットに含まれる学習用ベクトルの各々について、その学習用ベクトルに基づいて特定される参照ベクトルを、その学習用ベクトルを基準として修正する（ステップＳ１０２）。
【０１４２】
識別器修正装置１０によれば、特にクラスごとのデータ数に偏りがあるようなクラス分類を行う識別器を対象としても、効率的に精度を向上させることができる。その理由は、セット選択部１０２が互いに異なるクラスに属する学習用ベクトルのセットを選択して、修正部１０５がそれぞれの学習用ベクトルを基準として特定される参照ベクトルを修正するので、データ数が少ないクラスに分類される学習用ベクトルが、公知の手法と比べてより有効に修正に使われるからである。
【０１４３】
＜実施形態の各部を実現するハードウェアの構成＞
以上で説明された本発明の各実施形態において、各装置の各構成要素を示すブロックは、機能単位で示されている。しかし、構成要素を示すブロックは、各構成要素が別個のモジュールにより構成されることを必ずしも意味していない。
【０１４４】
各構成要素の処理は、たとえば、コンピュータシステムが、コンピュータ読み取り可能な記憶媒体により記憶された、その処理をコンピュータシステムに実行させるプログラムを、読み出し、実行することによって、実現されてもよい。「コンピュータ読み取り可能な記憶媒体」は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の可搬媒体、ならびに、コンピュータシステムに内蔵されるＲＯＭおよびハードディスク等の記憶装置である。「コンピュータ読み取り可能な記憶媒体」は、コンピュータシステム内部の揮発性メモリのようにプログラムを一時的に保持可能なもの、および、ネットワークや電話回線等の通信回線のように、プログラムを伝送するものも含む。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、更に前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるものであってもよい。
【０１４５】
「コンピュータシステム」とは、一例として、図１５に示されるようなコンピュータ９００を含むシステムである。コンピュータ９００は、以下のような構成を含む。
・１つまたは複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１
・ＲＯＭ９０２
・ＲＡＭ９０３
・ＲＡＭ９０３へロードされるプログラム９０４Ａおよび記憶情報９０４Ｂ
・プログラム９０４Ａおよび記憶情報９０４Ｂを格納する記憶装置９０５
・記憶媒体９０６の読み書きを行うドライブ装置９０７
・通信ネットワーク９０９と接続する通信インタフェース９０８
・データの入出力を行う入出力インタフェース９１０
・各構成要素を接続するバス９１１
【０１４６】
たとえば、各実施形態における各装置の各構成要素は、その構成要素の機能を実現するプログラム９０４ＡをＣＰＵ９０１がＲＡＭ９０３にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム９０４Ａは、例えば、予め、記憶装置９０５やＲＯＭ９０２に格納される。そして、必要に応じてＣＰＵ９０１がプログラム９０４Ａを読み出す。記憶装置９０５は、たとえば、ハードディスクである。プログラム９０４Ａは、通信ネットワーク９０９を介してＣＰＵ９０１に供給されてもよいし、予め記憶媒体９０６に格納されており、ドライブ装置９０７に読み出され、ＣＰＵ９０１に供給されてもよい。なお、記憶媒体９０６は、たとえば、光ディスク、磁気ディスク、光磁気ディスク、および不揮発性半導体メモリ等の、可搬媒体である。
【０１４７】
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ９００とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ９００とプログラムとの可能な組み合わせにより実現されてもよい。
【０１４８】
また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
【０１４９】
各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１５０】
上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
【０１５１】
＜＜付記＞＞
［付記１］
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択手段と、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、修正手段と、
を備える識別器修正装置。
［付記２］
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記識別器修正装置は、前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定する、重み値決定手段を備え、
前記修正手段は、前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの前記修正処理を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
付記１に記載の識別器修正装置。
［付記３］
前記重み値決定手段は、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
付記２に記載の識別器修正装置。
［付記４］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
付記３に記載の識別器修正装置。
［付記５］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
付記３に記載の識別器修正装置。
［付記６］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
付記３に記載の識別器修正装置。
［付記７］
前記重み値決定手段は、前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
付記２に記載の識別器修正装置。
［付記８］
前記セット選択手段は、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、
前記識別器修正装置は、前記セット選択手段による前記セットの選択と、前記修正手段による前記修正処理とを、繰り返し行う、
付記１から７のいずれか一つに記載の識別器修正装置。
［付記９］
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択し、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、
識別器修正方法。
［付記１０］
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記識別器修正方法は、
前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定し、
前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの前記修正処理を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
付記９に記載の識別器修正方法。
［付記１１］
前記ペアの前記重み値の決定において、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
付記１０に記載の識別器修正方法。
［付記１２］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
付記１１に記載の識別器修正方法。
［付記１３］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
付記１１に記載の識別器修正方法。
［付記１４］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
付記１１に記載の識別器修正方法。
［付記１５］
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
付記１０に記載の識別器修正方法。
［付記１６］
前記セットの選択においては、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、  前記識別器修正方法は、前記セットの選択と、前記修正処理とを、繰り返し行う、
付記９から１５のいずれか一つに記載の識別器修正方法。
［付記１７］
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択処理と、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理と、
を、コンピュータに実行させるプログラムを記憶した、コンピュータ読み取り可能な記憶媒体。
［付記１８］
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記プログラムは、前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定する、重み値決定処理をさらに前記コンピュータに実行させ、
前記修正処理は、前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの修正を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
付記１７に記載の記憶媒体。
［付記１９］
前記重み値決定処理は、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
付記１８に記載の記憶媒体。
［付記２０］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定処理は、前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記修正処理は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルに基づいて特定される前記参照ベクトルが当該学習用ベクトルを基準として修正されるような修正をしない、
付記１９に記載の記憶媒体。
［付記２１］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定処理は、前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記修正処理は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルに基づいて特定される前記参照ベクトルが当該学習用ベクトルを基準として修正されるような修正をしない、
付記１９に記載の記憶媒体。
［付記２２］
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定処理は、前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
付記１９に記載の記憶媒体。
［付記２３］
前記重み値決定処理は、前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記修正処理は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルに基づいて特定される前記参照ベクトルが当該学習用ベクトルを基準として修正されるような修正をしない、
付記１８に記載の記憶媒体。
［付記２４］
前記セット選択処理は、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、
前記プログラムは、前記セット選択処理と前記修正処理とを、繰り返し前記コンピュータに実行させる、
付記１７から２３のいずれか一つに記載の記憶媒体。
【０１５２】
本願発明は以上に説明した実施形態に限定されるものではない。以上に説明した実施形態の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１５３】
この出願は、２０１８年３月１９日に出願された日本出願特願２０１８−０５１２０９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１５４】
１０、１１、１２、１２ａ    識別器修正装置
１１１    取得部
１０２、１１２    セット選択部
１１３    参照ベクトル選択部
１１４    重み値決定部
１０５、１１５    修正部
２１    識別器
２１０    参照ベクトル記憶部
９００    コンピュータ
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４Ａ    プログラム
９０４Ｂ    記憶情報
９０５    記憶装置
９０６    記憶媒体
９０７    ドライブ装置
９０８    通信インタフェース
９０９    通信ネットワーク
９１０    入出力インタフェース
９１１    バス
【図１】
2019181675.tif 000012
【図２】
2019181675.tif 000013
【図３】
2019181675.tif 000014
【図４】
2019181675.tif 000015
【図５】
2019181675.tif 000016
【図６】
2019181675.tif 000017
【図７】
2019181675.tif 000018
【図８】
2019181675.tif 000019
【図９】
2019181675.tif 000020
【図１０】
2019181675.tif 000021
【図１１】
2019181675.tif 000022
【図１２】
2019181675.tif 000023
【図１３】
2019181675.tif 000024
【図１４】
2019181675.tif 000025
【図１５】
2019181675.tif 000026
【手続補正書】
【提出日】令和2年8月28日(2020.8.28)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択手段と、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、修正手段と、
を備える識別器修正装置。
【請求項２】
前記セットは、２つの前記学習用ベクトルからなるペアであり、
前記識別器修正装置は、前記ペアに対して、当該ペアに含まれる前記学習用ベクトル間の関係に基づいて重み値を決定する、重み値決定手段を備え、
前記修正手段は、前記ペアに含まれる前記学習用ベクトルに基づき特定された前記参照ベクトルの前記修正処理を、修正される前記参照ベクトルの変化の程度が当該ペアの前記重み値に応じて決まるように行う、
請求項１に記載の識別器修正装置。
【請求項３】
前記重み値決定手段は、
前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルとの間の距離、および、当該第１の学習用ベクトルと、当該第１の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第２の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第１の値と、
当該ペアに含まれる第２の学習用ベクトルと、当該第２の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第３の参照ベクトルとの間の距離、および、当該第２の学習用ベクトルと、当該第２の学習用ベクトルと異なるクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第４の参照ベクトルとの間の距離の、少なくともいずれかに応じて決まる、第２の値と、
の関係に基づいて、前記重み値を決定する、
請求項２に記載の識別器修正装置。
【請求項４】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第２の値から前記第１の値を引いた値が所定値を超える場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項３に記載の識別器修正装置。
【請求項５】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第１の値と前記第２の値との差の絶対値が所定値未満である場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項３に記載の識別器修正装置。
【請求項６】
前記第１の値は、前記第１の学習用ベクトルと前記第１の参照ベクトルとの間の距離が、前記第１の学習用ベクトルと前記第２の参照ベクトルとの間の距離よりも大きいほど小さくなる値であり、
前記第２の値は、前記第２の学習用ベクトルと前記第３の参照ベクトルとの間の距離が、前記第２の学習用ベクトルと前記第４の参照ベクトルとの間の距離よりも大きいほど大きくなる値であり、
前記重み値決定手段は、前記第２の値から前記第１の値を引いた値が大きいほど前記重み値が小さくなるように前記重み値を決定する、
請求項３に記載の識別器修正装置。
【請求項７】
前記重み値決定手段は、前記ペアに含まれる第１の学習用ベクトルと、当該第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第１の学習用ベクトルに最も近い第１の参照ベクトルと、の間の距離が、当該ペアに含まれる第２の学習用ベクトルと、前記第１の学習用ベクトルと同じクラスに属する前記参照ベクトルのうち当該第２の学習用ベクトルに最も近い第２の参照ベクトルと、の間の距離よりも小さい場合、当該ペアの前記重み値を特定の値に決定し、
前記修正手段は、前記ペアの前記重み値が前記特定の値である場合は、当該ペアに含まれる前記学習用ベクトルを基準とした前記修正処理を行わない
請求項２に記載の識別器修正装置。
【請求項８】
前記セット選択手段は、前記複数のクラスの全てから１つずつ前記学習用ベクトルを選択することで、または、前記複数のクラスから所与の数のクラスを選択した後、選択したクラスから１つずつ前記学習用ベクトルを選択することで、前記セットを選択し、
前記識別器修正装置は、前記セット選択手段による前記セットの選択と、前記修正手段による前記修正処理とを、繰り返し行う、
請求項１から７のいずれか一項に記載の識別器修正装置。
【請求項９】
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択し、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理を行う、
識別器修正方法。
【請求項１０】
対象のベクトルが複数のクラスのいずれに属するかを、それぞれが前記複数のクラスのいずれかに属する複数の参照ベクトルに基づいて、識別する識別器に対して、
それぞれが前記複数のクラスのうちのいずれかに属し、かつ前記複数のクラスの各々に少なくとも１つが属するような、複数の学習用ベクトルの中から、互いに異なるクラスに属する学習用ベクトルのセットを選択するセット選択処理と、
前記セットに含まれる前記学習用ベクトルの各々について、当該学習用ベクトルに基づいて特定される前記参照ベクトルを、当該学習用ベクトルを基準として修正する修正処理と、
を、コンピュータに実行させるプログラム。
【国際調査報告】
2019181675.tif 000027
2019181675.tif 000028
2019181675.tif 000029