(57)【要約】【課題】データに関する知見を有しなくても、データがいずれのクラスに属するかをより精度良く判定することのできる判定装置、判定方法及び判定プログラムを提供する。【解決手段】判定装置１０は、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力する複数の分類器１１と、複数の分類器の複数の出力値をそれぞれ閾値と比較して、複数の分類器ごとに、２以上のクラスのうちいずれか１つに投票又は２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しない投票部１２と、複数のクラスごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定する判定部１４と、を備える。【選択図】図１
2020154513.tif 000002
【特許請求の範囲】
【請求項１】
入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力する複数の分類器と、
前記複数の分類器の複数の出力値をそれぞれ閾値と比較して、前記複数の分類器ごとに、前記２以上のクラスのうちいずれか１つに投票又は前記２以上のクラス全てに投票若しくは前記２以上のクラスいずれにも投票しない投票部と、
前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定する判定部と、
を備える判定装置。
【請求項２】
前記入力データは、時系列データであり、
前記複数の分類器は、前記時系列データの複数の時点における値をそれぞれ前記２以上のクラスに分類する複数の出力値を出力する、
請求項１に記載の判定装置。
【請求項３】
前記投票部は、得票数が上位所定割合であるクラスが２以上ある場合に、当該２以上のクラスに対応する出力値を出力した分類器を抽出し、抽出した分類器それぞれの出力値を前記閾値と比較して、前記２以上のクラスのうちいずれか１つに再投票又は前記２以上のクラス全てに再投票若しくは前記２以上のクラスいずれにも再投票せず、
前記判定部は、前記再投票された前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定する、
請求項１又は２に記載の判定装置。
【請求項４】
前記複数の分類器は、前記２以上のクラスそれぞれについて１の代表データを含む学習データを用いて学習された複数のサポートベクターマシンを含む、
請求項１から３のいずれか一項に記載の判定装置。
【請求項５】
前記閾値は、前記複数の分類器毎に設定されている、
請求項１から４のいずれか一項に記載の判定装置。
【請求項６】
前記閾値は、学習データを用いて前記複数の分類器の学習処理を行う場合に、前記複数の分類器が誤分類した学習データに関する出力値に基づいて設定されている、
請求項１から５のいずれか一項に記載の判定装置。
【請求項７】
判定装置に、
複数の分類器によって、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力することと、
前記複数の分類器の複数の出力値をそれぞれ閾値と比較して、前記複数の分類器ごとに、前記２以上のクラスのうちいずれか１つに投票又は前記２以上のクラス全てに投票若しくは前記２以上のクラスいずれにも投票しないことと、
前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定することと、
を実行させる判定方法。
【請求項８】
判定装置に、
複数の分類器によって、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力することと、
前記複数の分類器の複数の出力値をそれぞれ閾値と比較して、前記複数の分類器ごとに、前記２以上のクラスのうちいずれか１つに投票又は前記２以上のクラス全てに投票若しくは前記２以上のクラスいずれにも投票しないことと、
前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定することと、
を実行させる判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定装置、判定方法及び判定プログラムに関する。
【背景技術】
【０００２】
従来、入力データを２以上のクラスに分類する分類器が用いられている。分類器として、例えば、決定木やロジスティック回帰、サポートベクターマシン等が知られている。
【０００３】
下記非特許文献１は、サポートベクターマシンの解説記事である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】栗田  多喜夫、″サポートベクターマシン入門″、［online］、［平成３１年３月１日検索］、インターネット（https://home.hiroshima-u.ac.jp/tkurita/lecture/svm.pdf）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
分類器は、単体で用いた場合、共通の特徴を有するデータの分類が困難な場合がある。そのため、複数の分類器を階層的に用いてデータの分類を行うことがあるが、階層毎に適切な分類器を設定する必要があり、データに関する知見を有しなければ適切な分類器を設定することが困難な場合がある。
【０００６】
そこで、本発明は、データに関する知見を有しなくても、データがいずれのクラスに属するかをより精度良く判定することのできる判定装置、判定方法及び判定プログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る判定装置は、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力する複数の分類器と、複数の分類器の複数の出力値をそれぞれ閾値と比較して、複数の分類器ごとに、２以上のクラスのうちいずれか１つに投票又は２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しない投票部と、複数のクラスごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定する判定部と、を備える。
【０００８】
この態様によれば、入力データが２以上のクラスのうちいずれか１つに属すると確定できない場合に、２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しないことで、誤分類を防止して、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【０００９】
上記態様において、入力データは、時系列データであり、複数の分類器は、時系列データの複数の時点における値をそれぞれ２以上のクラスに分類する複数の出力値を出力してもよい。
【００１０】
この態様によれば、時系列データの複数の時点における値に関する分類器の出力値を用いて投票を行い、時系列データが２以上のクラスのうちいずれに分類されるか判定することができる。
【００１１】
上記態様において、投票部は、得票数が上位所定割合であるクラスが２以上ある場合に、当該２以上のクラスに対応する出力値を出力した分類器を抽出し、抽出した分類器それぞれの出力値を閾値と比較して、２以上のクラスのうちいずれか１つに再投票又は２以上のクラス全てに再投票若しくは２以上のクラスいずれにも再投票せず、判定部は、再投票された複数のクラスごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定してもよい。
【００１２】
この態様によれば、得票数が上位所定割合であるクラスが２以上あり、入力データが当該クラスのうちいずれに分類されるか確定できない場合に、当該クラスに対応する出力値を出力した分類器によって再投票を行い、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００１３】
上記態様において、複数の分類器は、２以上のクラスそれぞれについて１の代表データを含む学習データを用いて学習された複数のサポートベクターマシンを含んでもよい。
【００１４】
この態様によれば、各クラスについて少なくとも１つの学習データを用意することで、複数の分類器を構築することができる。
【００１５】
上記態様において、閾値は、複数の分類器毎に設定されていてもよい。
【００１６】
この態様によれば、複数の分類器により用いられる特徴空間に適した閾値を設定することができ、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００１７】
上記態様において、閾値は、学習データを用いて複数の分類器の学習処理を行う場合に、複数の分類器が誤分類した学習データに関する出力値に基づいて設定されていてもよい。
【００１８】
この態様によれば、複数の分類器が誤分類し得るデータを、２以上のクラスのうちいずれか１つに属すると確定できないデータとして扱うことができ、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００１９】
本発明の他の態様に係る判定方法は、判定装置に、複数の分類器によって、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力することと、複数の分類器の複数の出力値をそれぞれ閾値と比較して、複数の分類器ごとに、２以上のクラスのうちいずれか１つに投票又は２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しないことと、複数の分類器ごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定することと、を実行させる判定方法。
【００２０】
この態様によれば、入力データが２以上のクラスのうちいずれか１つに属すると確定できない場合に、２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しないことで、誤分類を防止して、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００２１】
本発明の他の態様に係る判定プログラムは、判定装置に、複数の分類器によって、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力することと、複数の分類器の複数の出力値をそれぞれ閾値と比較して、複数の分類器ごとに、２以上のクラスのうちいずれか１つに投票又は２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しないことと、複数のクラスごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定することと、を実行させる判定プログラム。
【００２２】
この態様によれば、入力データが２以上のクラスのうちいずれか１つに属すると確定できない場合に、２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しないことで、誤分類を防止して、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【発明の効果】
【００２３】
本発明によれば、データに関する知見を有しなくても、データがいずれのクラスに属するかをより精度良く判定することのできる判定装置、判定方法及び判定プログラムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る判定装置の機能ブロックを示す図である。
【図２】本実施形態に係る判定装置の物理的構成を示す図である。
【図３】本実施形態に係る学習装置により実行される閾値設定処理の概要を示す図である。
【図４】本実施形態に係る学習装置により実行される学習処理及び閾値設定処理のフローチャートである。
【図５】本実施形態に係る判定装置により実行される投票処理のフローチャートである。
【図６】本実施形態に係る判定装置により実行される判定処理のフローチャートである。
【発明を実施するための形態】
【００２５】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００２６】
図１は、本発明の実施形態に係る判定装置１０の機能ブロックを示す図である。判定装置１０は、複数の分類器１１と、投票部１２と、スイッチ１３と、判定部１４と、分岐部１５とを備える。
【００２７】
複数の分類器１１は、入力データ（Data input）を複数のクラスのうち２以上のクラスに分類する値をそれぞれ出力する。本実施形態では、複数の分類器１１は、２以上のクラスそれぞれについて１の代表データを含む学習データを用いて学習された複数のサポートベクターマシンを含む。本例では、入力データが第１クラスから第９クラスのいずれに属するか判定する場合、すなわち複数のクラスが第１クラスから第９クラスである場合について説明する。
【００２８】
本実施形態では、複数の分類器１１は、入力データが第１クラス（Class1）に属するか、第２クラス（Class2）に属するか、そのいずれでもないか分類する第１サポートベクターマシン（SVM Classifier Class1 vs Class2）を含む。同様に、複数の分類器１１は、入力データが第1クラス（Class1）に属するか、第３クラス（Class3）に属するか、そのいずれでもないか分類する第２サポートベクターマシン（SVM Classifier Class1 vs Class3）を含む。また、複数の分類器１１は、入力データが第１クラス（Class1）に属するか、第４クラス（Class4）に属するか、そのいずれでもないか分類する第３サポートベクターマシン（SVM Classifier Class1 vs Class4）を含む。以降、同様に、複数の分類器１１は、第４サポートベクターマシンから第３５サポートベクターマシンを含み、最後に、複数の分類器１１は、入力データが第８クラス（Class8）に属するか、第９クラス（Class9）に属するか、そのいずれでもないか分類する第３６サポートベクターマシン（SVM Classifier Class8 vs Class8）を含む。
【００２９】
なお、本実施形態では、複数の分類器１１それぞれによって、入力データがクラスＡに属するかクラスＢに属するかの分類を行う場合について説明するが、複数の分類器１１は、入力データがあるクラスに属するか、それ以外のクラスに属するか分類するものであってもよい。
【００３０】
複数の分類器１１をサポートベクターマシンで構成することで、各クラスについて少なくとも１つの学習データを用意することで、複数の分類器を構築することができる。もっとも、複数の分類器１１は、任意の２値分類器で構成されてよく、ロジスティック回帰、決定木又は回帰木を用いた分類器を含んでもよい。
【００３１】
投票部１２は、複数の分類器１１の複数の出力値をそれぞれ閾値と比較して、複数の分類器１１ごとに、２以上のクラスのうちいずれか１つに投票又は２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しない。具体的には、投票部１２は、第１サポートベクターマシンの出力値ｆ（ｘ）を閾値Ｔｈ１+（ｘ）及びＴｈ１-（ｘ）と比較して、ｆ（ｘ）＞Ｔｈ１+（ｘ）であれば第１クラス（Class1）に投票し、ｆ（ｘ）＜Ｔｈ１-（ｘ）であれば第２クラス（Class2）に投票し、Ｔｈ１+（ｘ）≧ｆ（ｘ）≧Ｔｈ１-（ｘ）であれば第１クラス（Class1）及び第２クラス（Class2）に投票する。また、投票部１２は、第２サポートベクターマシンの出力値ｆ（ｘ）を閾値Ｔｈ２+（ｘ）及びＴｈ２-（ｘ）と比較して、ｆ（ｘ）＞Ｔｈ２+（ｘ）であれば第１クラス（Class1）に投票し、ｆ（ｘ）＜Ｔｈ２-（ｘ）であれば第３クラス（Class3）に投票し、Ｔｈ２+（ｘ）≧ｆ（ｘ）≧Ｔｈ２-（ｘ）であれば第１クラス（Class1）及び第３クラス（Class3）に投票する。同様に、投票部１２は、第３サポートベクターマシンの出力値ｆ（ｘ）を閾値Ｔｈ３+（ｘ）及びＴｈ３-（ｘ）と比較して、ｆ（ｘ）＞Ｔｈ３+（ｘ）であれば第１クラス（Class1）に投票し、ｆ（ｘ）＜Ｔｈ３-（ｘ）であれば第４クラス（Class4）に投票し、Ｔｈ３+（ｘ）≧ｆ（ｘ）≧Ｔｈ３-（ｘ）であれば第１クラス（Class1）及び第４クラス（Class4）に投票する。さらに、投票部１２は、第３６サポートベクターマシンの出力値ｆ（ｘ）を閾値Ｔｈ３６+（ｘ）及びＴｈ３６-（ｘ）と比較して、ｆ（ｘ）＞Ｔｈ３６+（ｘ）であれば第８クラス（Class8）に投票し、ｆ（ｘ）＜Ｔｈ３６-（ｘ）であれば第９クラス（Class9）に投票し、Ｔｈ３６+（ｘ）≧ｆ（ｘ）≧Ｔｈ３６-（ｘ）であれば第８クラス（Class8）及び第９クラス（Class9）に投票する。
【００３２】
なお、本実施形態では、入力データが２以上のクラスのうちいずれか１つに属すると確定できない場合に、２以上のクラス全てに投票することとしているが、２以上のクラスいずれにも投票しないという処理であってもよい。例えば、投票部１２は、第１サポートベクターマシンの出力値ｆ（ｘ）を閾値Ｔｈ１+（ｘ）及びＴｈ１-（ｘ）と比較して、ｆ（ｘ）＞Ｔｈ１+（ｘ）であれば第１クラス（Class1）に投票し、ｆ（ｘ）＜Ｔｈ１-（ｘ）であれば第２クラス（Class2）に投票し、Ｔｈ１+（ｘ）≧ｆ（ｘ）≧Ｔｈ１-（ｘ）であればいずれにも投票しないという処理を行ってもよい。
【００３３】
スイッチ１３は、後述する再投票処理の際に、抽出された分類器に関する投票を判定部１４に伝え、それ以外の分類器に関する投票を遮断する。初回の投票時には、スイッチ１３は、全ての分類器についてオンであってよい。
【００３４】
判定部１４は、複数のクラスごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定する。判定部１４は、複数の分類器１１に関する投票の得票数を合計して複数のクラスごとの得票数を算出し、入力データが、最多投票数を得たクラスに分類されると判定してよい。ただし、得票数が上位所定割合であるクラスが２以上ある場合、後述する再投票処理が行われてよい。ここで、上位所定割合は、例えば上位５％であったり、上位１％であったりしてよい。
【００３５】
分岐部１５は、得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定された場合（ケース２）、特定されたクラス（Identified class）を出力する。また、分岐部１５は、得票数が上位所定割合であるクラスが２以上ある場合（ケース１）、スイッチ１３のオン・オフを制御して、得票数が上位所定割合である２以上のクラスに対応する出力値を出力した分類器を抽出してよい。
【００３６】
本実施形態に係る判定装置１０は、入力データが２以上のクラスのうちいずれか１つに属すると確定できない場合に、２以上のクラス全てに投票若しくは２以上のクラスいずれにも投票しないことで、誤分類を防止して、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００３７】
図１に示すように、閾値は、複数の分類器１１毎に設定されていてよい。複数の分類器１１毎に閾値を設定することで、複数の分類器１１により用いられる特徴空間に適した閾値を設定することができ、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００３８】
なお、複数の分類器１１には、リサンプリングや各次元の数値に対する規格化等を入力データに施してフォーマット化したデータが入力されてよい。もっとも、複数の分類器１１には、入力データが直接入力されてもよい。
【００３９】
図２は、本実施形態に係る判定装置１０の物理的構成を示す図である。判定装置１０は、演算部に相当するＣＰＵ（Central Processing Unit）１０ａと、記憶部に相当するＲＡＭ（Random Access Memory）１０ｂと、記憶部に相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では判定装置１０が一台のコンピュータで構成される場合について説明するが、判定装置１０は、複数のコンピュータが組み合わされて実現されてもよい。また、図２で示す構成は一例であり、判定装置１０はこれら以外の構成を有してもよいし、これらの構成のうち一部を有しなくてもよい。
【００４０】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、入力データが複数のクラスのうちいずれに分類されるか判定するプログラム（判定プログラム）を実行する演算部である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々のデータを受け取り、データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００４１】
ＲＡＭ１０ｂは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行するプログラム、学習データといったデータを記憶してよい。なお、これらは例示であって、ＲＡＭ１０ｂには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【００４２】
ＲＯＭ１０ｃは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＯＭ１０ｃは、例えば判定プログラムや、書き換えが行われないデータを記憶してよい。
【００４３】
通信部１０ｄは、判定装置１０を他の機器に接続するインターフェースである。通信部１０ｄは、インターネット等の通信ネットワークに接続されてよい。
【００４４】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【００４５】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成されてよい。表示部１０ｆは、例えば、分類器の学習結果を表示してよい。
【００４６】
判定プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。判定装置１０では、ＣＰＵ１０ａが判定プログラムを実行することにより、複数の分類器１１、投票部１２、スイッチ１３、判定部１４及び分岐部１５等の様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、判定装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００４７】
図３は、本実施形態に係る学習装置により実行される閾値設定処理の概要を示す図である。ここで、学習装置は、判定装置１０と別対のコンピュータで構成されてよいが、判定装置１０と一体で構成されてもよい。本実施形態において、入力データは、時系列データであり、複数の分類器１１は、時系列データの複数の時点における値をそれぞれ２以上のクラスに分類する複数の出力値を出力する。図３では、ある分類器１１にクラスＡに属する時系列データを入力した場合の出力値ｆ（ｘ）を示した第１グラフＧ１と、同じ分類器１１にクラスＢに属する時系列データを入力した場合の出力値ｆ（ｘ）を示した第２グラフＧ２と、それらの出力値に基づいて設定された閾値Ｔｈｉ+（ｘ），Ｔｈｊ-（ｘ）を示す第３グラフＧ３と、を図示している。なお、入力データは、時系列データに限定されず、任意の次元のデータであってよい。
【００４８】
第１グラフＧ１及び第２グラフＧ２に示すように、時系列データは、所定の時間間隔でサンプリングされて分類器１１に入力され、その出力値ｆ（ｘ）が得られる。なお、第１グラフＧ１、第２グラフＧ２及び第３グラフＧ３では、横軸にデータ番号を示しており、データ番号は、時系列データを所定の時間間隔で分割した場合に時系列順に付された連続番号である。
【００４９】
判定装置１０は、時系列データを所定の時間間隔でサンプリングした値を分類器１１によってそれぞれ分類し、その出力値を閾値と比較して投票処理を行い、得票数に基づいて、時系列データが全体としていずれのクラスに属するか判定する。このように、時系列データの複数の時点における値に関する分類器１１の出力値を用いて投票を行い、時系列データが２以上のクラスのうちいずれに分類されるか判定することができる。
【００５０】
第１グラフＧ１及び第２グラフＧ２において、出力値ｆ（ｘ）が負の場合がクラスＡに対応し、出力値ｆ（ｘ）が正の場合がクラスＢに対応している。そのため、第１グラフＧ１では、データ点Ｐ１が誤ってクラスＢと判定されるデータとなっている。また、第２グラフＧ２では、データ点Ｐ２が誤ってクラスＡと判定されるデータとなっている。
【００５１】
閾値を設定する学習装置は、誤判定されたデータ点Ｐ１の値を閾値Ｔｈｉ+（ｘ）に設定し、誤判定されたデータ点Ｐ２の値を閾値Ｔｈｊ-（ｘ）に設定してよい。ここで、ｉ及びｊは、データ番号を表す。また、学習装置は、誤判定しなかったデータ点について、閾値を０に設定してよい。このように、学習装置は、データ点毎に閾値を設定してよい。もっとも、学習装置は、複数のデータ点に共通の閾値を設定してもよい。例えば、学習装置は、データ点Ｐ１の最大値及びデータ点Ｐ２の最小値を共通の閾値に設定してもよい。その場合、Ｔｈｉ+（ｘ）は、全てのｉについてデータ点Ｐ１の最大値となり、Ｔｈｊ-（ｘ）は、全てのｊについてデータ点Ｐ２の最小値となる。
【００５２】
本実施形態において、閾値は、学習データを用いて複数の分類器１１の学習処理を行う場合に、複数の分類器１１が誤分類した学習データに関する出力値に基づいて設定されている。本例の場合、複数の分類器１１が誤分類した学習データは、データ点Ｐ１及びデータ点Ｐ２である。このようにして、複数の分類器１１が誤分類し得るデータを、２以上のクラスのうちいずれか１つに属すると確定できないデータとして扱うことができ、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００５３】
図４は、本実施形態に係る学習装置により実行される学習処理及び閾値設定処理のフローチャートである。学習処理において、学習装置は、はじめに、リファレンス波形の選定を行う（Ｓ１）。リファレンス波形の選定は、予め収集した時系列データの中から、特定のクラスを代表するデータを選定することで行われてよい。
【００５４】
次に、学習装置は、リファレンス波形の学習フォーマット化を行い（Ｓ２）、フォーマット化したリファレンス波形を学習データＤ１として記憶する。学習フォーマット化は、公知のデータ前処理を適用することで行われてよい。例えば、学習フォーマット化は、リサンプリングや各次元の数値に対する規格化等をリファレンス波形に施すことで行ってよい。
【００５５】
最後に、学習装置は、ＳＶＭ（Support Vector Machine）の機械学習を行い（Ｓ３）、生成された学習モデルＤ２を記憶する。ここで、サポートベクターマシンの機械学習は、マージン最大化を行うようにサポートベクターを選ぶ公知の学習処理によって行われてよい。また、学習モデルＤ２は、複数の分類器１１を含んでよい。
【００５６】
閾値設定処理において、学習装置は、はじめに、学習モデルによって学習データを分類する（Ｓ４）。ここで、学習データＤ１及び学習モデルＤ２が参照される。
【００５７】
そして、学習装置は、学習モデルによる分類結果が正しいか確認する（Ｓ５）。分類結果の正誤は、学習データＤ１とあわせて生成された正答値Ｄ３を参照して確認される。学習装置は、誤分類時の学習モデルの出力値Ｄ４を記憶し、その最大値及び最小値によって閾値Ｄ５を設定する。以上により、学習処理及び閾値設定処理が終了する。
【００５８】
図５は、本実施形態に係る判定装置１０により実行される投票処理のフローチャートである。はじめに、判定装置１０は、時系列データを分割した値ｘを取得する（Ｓ１０）。そして、判定装置１０は、複数の分類器１１に値ｘを入力し、その出力値がＴｈｉ+（ｘ）≧ｆ（ｘ）≧Ｔｈｉ-（ｘ）を満たすか否かを判定する（Ｓ１１）。
【００５９】
出力値がＴｈｉ+（ｘ）≧ｆ（ｘ）≧Ｔｈｉ-（ｘ）を満たす場合（Ｓ１１：ＹＥＳ）、判定装置１０は、クラスＡ及びＢに投票する。すなわち、２以上のクラス全てに投票する。
【００６０】
一方、出力値がＴｈｉ+（ｘ）≧ｆ（ｘ）≧Ｔｈｉ-（ｘ）を満たさない場合（Ｓ１１：ＮＯ）、判定装置１０は、出力値がｆ（ｘ）＞Ｔｈｉ+（ｘ）を満たすか否かを判定する（Ｓ１３）。出力値がｆ（ｘ）＞Ｔｈｉ+（ｘ）を満たす場合（Ｓ１３：ＹＥＳ）、判定装置１０は、クラスＡに投票する。一方、出力値がｆ（ｘ）＞Ｔｈｉ+（ｘ）を満たさない場合（Ｓ１３：Ｎｏ）、すなわち出力値がＴｈｉ-（ｘ）＞ｆ（ｘ）を満たす場合、判定装置１０は、クラスＢに投票する（Ｓ１５）。
【００６１】
その後、判定装置１０は、投票処理を全ての分類器１１について完了したか否かを判定し（Ｓ１６）、全ての分類器１１について投票処理が完了していない場合（Ｓ１６：ＮＯ）、処理Ｓ１１〜Ｓ１５を残りの分類器１１について実行する。
【００６２】
一方、投票処理を全ての分類器１１について完了した場合（Ｓ１６：ＹＥＳ）、判定装置１０は、時系列データを分割して得られる全データについて投票処理が完了したか否かを判定し（Ｓ１７）、全データについて投票処理が完了していない場合（Ｓ１７：ＮＯ）、処理Ｓ１１〜Ｓ１６を残りのデータについて実行する。
【００６３】
一方、全データについて投票処理が完了した場合（Ｓ１７：ＹＥＳ）、判定装置１０は、クラス毎に得票数を合算する（Ｓ１８）。以降、次図に示す判定処理に続く。
【００６４】
図６は、本実施形態に係る判定装置１０により実行される判定処理のフローチャートである。判定装置１０は、投票が一回目であるか否かを判定する（Ｓ２０）。投票が一回目である場合（Ｓ２０：ＹＥＳ）、判定装置１０は、得票数が上位所定割合であるクラスが２以上あるか否かを判定する（Ｓ２１）。得票数が上位所定割合であるクラスが２以上ない場合（Ｓ２１：ＮＯ）、判定装置１０は、得票数最多のクラスを判定結果として出力する（Ｓ２２）。一方、得票数が上位所定割合であるクラスが２以上ある場合（Ｓ２１：ＹＥＳ）、判定装置１０は、当該２以上のクラスに対応する出力値を出力した分類器１１を抽出する（Ｓ２３）。そして、抽出した分類器１１について、図５に示す処理Ｓ１０〜Ｓ１８を実行し、再投票処理を行う。
【００６５】
判定装置１０の投票部１２は、得票数が上位所定割合であるクラスが２以上ある場合に、当該２以上のクラスに対応する出力値を出力した分類器１１を抽出し、抽出した分類器１１それぞれの出力値を閾値と比較して、２以上のクラスのうちいずれか１つに再投票又は２以上のクラス全てに再投票若しくは２以上のクラスいずれにも再投票せず、判定部１４は、再投票された複数のクラスごとの得票数に基づいて、入力データが複数のクラスのうちいずれに分類されるか判定してよい。このようにして、得票数が上位所定割合であるクラスが２以上あり、入力データが当該クラスのうちいずれに分類されるか確定できない場合に、当該クラスに対応する出力値を出力した分類器１１によって再投票を行い、入力データがいずれのクラスに属するかをより精度良く判定することができる。
【００６６】
投票が一回目でない場合（Ｓ２０：ＮＯ）、すなわち再投票の場合、判定装置１０は、得票数が上位所定割合であるクラスが前回投票と同一であるか否かを判定する（Ｓ２４）。得票数が上位所定割合であるクラスが前回投票と同一でない場合（Ｓ２４：ＮＯ）、判定装置１０は、再投票の得票数について、処理Ｓ２１〜Ｓ２３を実行する。
【００６７】
一方、得票数が上位所定割合であるクラスが前回投票と同一である場合（Ｓ２４：ＹＥＳ）、判定装置１０は、各クラスの学習データと入力データの差分の総和を算出する（Ｓ２５）。そして、判定装置１０は、得票数が上位所定割合であるクラスについて差分の総和が等しいか否かを判定する（Ｓ２６）。差分の総和が等しくない場合（Ｓ２６：ＮＯ）、判定装置１０は、差分の総和が小さいクラスを判定結果として出力する（Ｓ２７）。一方、差分の総和が等しい場合（Ｓ２６：ＹＥＳ）、判定装置１０は、得票数が上位所定割合である２以上のクラスのうち順番が若いクラスを判定結果として出力する（Ｓ２８）。以上により、判定処理が終了する。
【００６８】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００６９】
１０…判定装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…分類器、１２…投票部、１３…スイッチ、１４…判定部、１５…分岐部
【図１】
2020154513.tif 000003
【図２】
2020154513.tif 000004
【図３】
2020154513.tif 000005
【図４】
2020154513.tif 000006
【図５】
2020154513.tif 000007
【図６】
2020154513.tif 000008
【手続補正書】
【提出日】令和2年4月20日(2020.4.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力する複数の分類器と、
前記複数の分類器の複数の出力値のそれぞれを前記２以上のクラスに応じた数の閾値と比較して、前記複数の分類器ごとに、（ｉ）前記２以上のクラスのうちいずれか１つに投票すること又は（ｉｉ）前記２以上のクラス全てに投票すること若しくは前記２以上のクラスいずれにも投票しないこと、のいずれか一方を行う投票部と、
前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定する判定部と、
を備える判定装置。
【請求項２】
前記入力データは、時系列データであり、
前記複数の分類器は、前記時系列データの複数の時点における値をそれぞれ前記２以上のクラスに分類する複数の出力値を出力する、
請求項１に記載の判定装置。
【請求項３】
前記投票部は、得票数が上位所定割合であるクラスが２以上ある場合に、当該２以上のクラスに対応する出力値を出力した分類器を抽出し、抽出した分類器それぞれの出力値を前記閾値と比較して、前記２以上のクラスのうちいずれか１つに再投票又は前記２以上のクラス全てに再投票若しくは前記２以上のクラスいずれにも再投票せず、
前記判定部は、前記再投票された前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定する、
請求項１又は２に記載の判定装置。
【請求項４】
前記複数の分類器は、前記２以上のクラスそれぞれについて１の代表データを含む学習データを用いて学習された複数のサポートベクターマシンを含む、
請求項１から３のいずれか一項に記載の判定装置。
【請求項５】
前記閾値は、前記複数の分類器毎に設定されている、
請求項１から４のいずれか一項に記載の判定装置。
【請求項６】
前記閾値は、学習データを用いて前記複数の分類器の学習処理を行う場合に、前記複数の分類器が誤分類した学習データに関する出力値に基づいて設定されている、
請求項１から５のいずれか一項に記載の判定装置。
【請求項７】
判定装置に、
複数の分類器によって、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力することと、
前記複数の分類器の複数の出力値のそれぞれを前記２以上のクラスに応じた数の閾値と比較して、前記複数の分類器ごとに、（ｉ）前記２以上のクラスのうちいずれか１つに投票すること又は（ｉｉ）前記２以上のクラス全てに投票すること若しくは前記２以上のクラスいずれにも投票しないこと、のいずれか一方を行うことと、
前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定することと、
を実行させる判定方法。
【請求項８】
判定装置に、
複数の分類器によって、入力データを複数のクラスのうちの２以上のクラスに分類する値をそれぞれ出力することと、
前記複数の分類器の複数の出力値のそれぞれを前記２以上のクラスに応じた数の閾値と比較して、前記複数の分類器ごとに、（ｉ）前記２以上のクラスのうちいずれか１つに投票すること又は（ｉｉ）前記２以上のクラス全てに投票すること若しくは前記２以上のクラスいずれにも投票しないこと、のいずれか一方を行うことと、
前記複数のクラスごとの得票数に基づいて、前記入力データが前記複数のクラスのうちいずれに分類されるか判定することと、
を実行させる判定プログラム。