JP6163461B2 - Classification device, method, and program - Google Patents

Classification device, method, and program Download PDF

Info

Publication number
JP6163461B2
JP6163461B2 JP2014146173A JP2014146173A JP6163461B2 JP 6163461 B2 JP6163461 B2 JP 6163461B2 JP 2014146173 A JP2014146173 A JP 2014146173A JP 2014146173 A JP2014146173 A JP 2014146173A JP 6163461 B2 JP6163461 B2 JP 6163461B2
Authority
JP
Japan
Prior art keywords
class
case
unit
classifier
probability
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.)
Active
Application number
JP2014146173A
Other languages
Japanese (ja)
Other versions
JP2016024503A (en
Inventor
小萌 武
小萌 武
森 稔
稔 森
柏野 邦夫
邦夫 柏野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014146173A priority Critical patent/JP6163461B2/en
Publication of JP2016024503A publication Critical patent/JP2016024503A/en
Application granted granted Critical
Publication of JP6163461B2 publication Critical patent/JP6163461B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、クラス分類装置、方法、及びプログラムに係り、特に、入力されたデータをクラスに分類するクラス分類装置、方法、及びプログラムに関する。   The present invention relates to a class classification device, method, and program, and more particularly, to a class classification device, method, and program for classifying input data into classes.

多クラス分類(Multi-Class Classification)では、クラス間の曖昧性が高い場合、観測されたデータの特徴空間における分布が複雑であり、正確な分類が困難である。該問題に対し、多クラス分類問題を複数の小さな統計分類問題に階層的に分解する、階層的分類と呼ばれる技術が提供されている。   In multi-class classification, when the ambiguity between classes is high, the distribution of observed data in the feature space is complicated, and accurate classification is difficult. In response to this problem, a technique called hierarchical classification is provided that hierarchically decomposes a multi-class classification problem into a plurality of small statistical classification problems.

具体的には、既知のデータを訓練事例集合(Training Set)と検証事例集合(Validation Set)に分割し、訓練事例集合から多クラス分類の分類器を作り、検証事例を該分類器に分類させ、混同行列(Confusion Matrix)を作る。次に、該混同行列を基に、あらかじめ定められた多数のクラスを、複数のクラス集合に、階層的に分割し、各クラス集合に個別の決定木(Decision Tree)分類器を割り当てる。未知のデータを分類対象とする際に、第1レベルの決定木分類器を駆使し、該分類対象が第2レベルのどのクラス集合に属するかを決める。次に、該当クラス集合に割り当てられた決定木を駆使し、該分類対象が第3レベルのどのクラス集合に属するかを決める。前記処理を繰り返すことで、該分類対象が属するクラス集合を再帰的に決め、最後に該分類対象が属する単一のクラスを決める(非特許文献1)。また、決定木の代わりにニューラルネットワークを各クラス集合に割り当て、光学文字認識における階層的分類技術も知られている(非特許文献2)。また、サポートベクターマシンを各クラス集合に割り当て、魚画像分類における階層的分類技術も知られている(非特許文献3)。   Specifically, the known data is divided into a training case set (Training Set) and a verification case set (Validation Set), a multi-class classification classifier is created from the training case set, and the verification cases are classified into the classifier. Create a confusion matrix. Next, based on the confusion matrix, a large number of predetermined classes are hierarchically divided into a plurality of class sets, and an individual decision tree classifier is assigned to each class set. When unknown data is to be classified, a first-level decision tree classifier is used to determine to which class set the second level belongs. Next, the decision tree assigned to the class set is used to determine which class set of the third level the classification target belongs to. By repeating the process, a class set to which the classification target belongs is recursively determined, and finally a single class to which the classification target belongs is determined (Non-patent Document 1). In addition, a hierarchical classification technique in optical character recognition by assigning a neural network to each class set instead of a decision tree is also known (Non-Patent Document 2). A hierarchical classification technique in fish image classification by assigning support vector machines to each class set is also known (Non-Patent Document 3).

Shahar Cohen, Lior Rokach, and Oded Maimon. Decision-tree instance-space decom-position with grouped gain-ratio. Inf. Sci., Vol. 177, No. 17, pp. 3592-3612, 2007.Shahar Cohen, Lior Rokach, and Oded Maimon.Decision-tree instance-space decom-position with grouped gain-ratio.Inf. Sci., Vol. 177, No. 17, pp. 3592-3612, 2007. Cinthia Obladen de Almendra Freitas, Luiz S. Oliveira, Simone B. K. Aires, and Flavio Bortolozzi. Metaclasses and Zoning Mechanism Applied to Handwriting Recognition.J. UCS, Vol. 14, No. 2, pp. 211-223, 2008.Cinthia Obladen de Almendra Freitas, Luiz S. Oliveira, Simone B. K. Aires, and Flavio Bortolozzi. Metaclasses and Zoning Mechanism Applied to Handwriting Recognition. J. UCS, Vol. 14, No. 2, pp. 211-223, 2008. Phoenix X. Huang, Bastiaan Johannes Boom, and Robert B. Fisher. Underwater Live Fish Recognition Using a Balance-Guaranteed Optimized Tree. In ACCV (1),pp. 422-433, 2012.Phoenix X. Huang, Bastiaan Johannes Boom, and Robert B. Fisher. Underwater Live Fish Recognition Using a Balance-Guaranteed Optimized Tree. In ACCV (1), pp. 422-433, 2012.

非特許文献1〜3の方法は、観測されたデータの特徴の次元数が膨大で、混同行列を作るために用いた多クラス分類の分類器の媒介変数が多すぎる場合、訓練事例の個数に比べて、分類器の自由度が高すぎるため、過剰適合(Overfitting)が生じやすく、未知のデータに対する汎化能力が足りない問題がある。特に、未知のデータを分類する際に、上位レベルの分類器の分類結果を基に下位レベルのクラス集合の選択肢を制限する場合、上位レベルの分類結果の誤差(Error)が下位レベルに伝搬(Propagation)しやすく、過剰適合問題が更に顕著になる可能性が高いという問題がある。   In the methods of Non-Patent Documents 1 to 3, the number of dimensionality of observed data features is enormous, and if there are too many parameters in the multi-class classifier used to create the confusion matrix, the number of training cases In comparison, since the degree of freedom of the classifier is too high, overfitting tends to occur, and there is a problem that the generalization ability for unknown data is insufficient. In particular, when classifying unknown data, if you limit the choices in the lower-level class set based on the classification results of the higher-level classifier, the error (Error) of the higher-level classification results propagates to the lower level ( Propagation) is likely to occur, and there is a high possibility that the overconformity problem will become more prominent.

本発明では、上記問題点を解決するために成されたものであり、精度良く事例が属するクラスを分類することができるクラス分類装置、方法、及びプログラムを提供することを目的とする。   The present invention has been made to solve the above problems, and an object thereof is to provide a class classification apparatus, method, and program capable of classifying a class to which a case belongs with high accuracy.

上記目的を達成するために、第1の発明に係るクラス分類装置は、事例と前記事例が属するクラスを表すクラスラベルとの複数のペアからなる既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、前記サブ訓練事例集合と前記検証事例集合とのペアである事例セットを予め定められた数だけ作成する事例分割部と、前記事例分割部により作成された事例セットの各々について、前記事例セットの前記サブ訓練事例集合に含まれる前記事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を複数のクラスのうちの何れか1つに分類するための多クラス分類器を訓練する多クラス分類器訓練部と、前記事例分割部により作成された事例セットの各々について、前記多クラス分類器訓練部により訓練された多クラス分類器に基づいて、前記事例セットの前記検証事例集合に含まれる前記事例の各々を分類した結果の各々と、前記検証事例集合に含まれる前記事例の各々の前記クラスラベルの各々と、に基づいて、前記クラスのペアの各々についての、一方のクラスに属する事例が他方のクラスに分類されることを表す各要素からなる混同行列を作成する多クラス分類部と、前記事例分割部により作成された事例セットの各々について、前記多クラス分類部により作成された混同行列に基づいて、前記複数のクラスを、階層的に分類し、分類された前記クラスの集合を表す内部ノードの各々と、前記クラスを表す葉ノードの各々とを含むノードの各々について、親子関係にあるノード間をエッジで結んだクラス階層構造を作成するクラスタリング部と、前記事例分割部により作成された事例セットの各々について、前記クラスタリング部により作成されたクラス階層構造に含まれる前記内部ノードの各々について、前記既知データに含まれる、前記内部ノードが表す前記クラスの集合に含まれるクラスの各々に属する事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を、前記内部ノードの子ノードである各内部ノードが表す前記クラスの集合のうちの何れか1つ、又は前記内部ノードの子ノードである各葉ノードが表すクラスのうちの何れか1つに分類するための内部ノード多クラス分類器を訓練し、前記訓練され前記内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得する階層型分類器訓練部と、入力された分類対象となる事例に基づいて、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記分類対象となる事例が、前記葉ノードが表すクラスの各々に属する確率を計算する確率計算部と、各葉ノードが表すクラスの各々について、前記確率計算部により前記階層型分類器の各々に対して計算された前記葉ノードが表すクラスに属する確率を結合する確率結合部と、前記確率結合部により結合された前記クラスに属する確率が最も高い前記クラスを、前記分類対象となる事例が属するクラスとして出力する出力部と、を含んで構成されている。   In order to achieve the above object, the class classification device according to the first invention uses known data consisting of a plurality of pairs of a case and a class label representing a class to which the case belongs as a sub-training case set and a verification case set. A case dividing unit that performs a predetermined number of times of processing and creates a predetermined number of case sets that are pairs of the sub-training case set and the verification case set, and the case dividing unit For each case set, classify the case into any one of a plurality of classes based on each of the cases included in the subtraining case set of the case set and each of the class labels of the case A multi-class classifier training unit that trains a multi-class classifier to perform, and for each of the case sets created by the case dividing unit, the multi-class classifier training unit Based on a refined multi-class classifier, each of the results of classifying each of the cases included in the verification case set of the case set, and the class label of each of the cases included in the verification case set A multi-class classifying unit that creates a confusion matrix composed of elements representing that a class belonging to one class is classified into the other class for each of the pair of classes based on each of the class pairs; For each of the case sets created by the dividing unit, the plurality of classes are classified hierarchically based on the confusion matrix created by the multi-class classifying unit, and an internal node representing the set of the classified classes A class that creates a class hierarchy structure in which nodes having a parent-child relationship are connected with edges for each of the nodes including each of the nodes and each of the leaf nodes representing the class For each of the case set created by the ring unit and the case dividing unit, the internal node included in the known data represents each of the internal nodes included in the class hierarchy created by the clustering unit. Based on each of the cases belonging to each of the classes included in the set of classes and each of the class labels of the cases, a case is represented by the set of classes represented by each internal node that is a child node of the internal node Train an internal node multi-class classifier to classify into any one of the classes represented by each leaf node that is a child node of the internal node or the internal node, and the trained internal node A hierarchical classifier training unit that acquires a hierarchical classifier consisting of an internal node multi-class classifier for each of the Based on an example, for each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit, using the hierarchical classifier, the cases to be classified are A probability calculation unit for calculating a probability belonging to each of the classes represented by the leaf nodes; and for each of the classes represented by the leaf nodes, the leaf nodes calculated by the probability calculation unit for each of the hierarchical classifiers are A probability combining unit that combines the probabilities belonging to the class to be represented, and an output unit that outputs the class having the highest probability belonging to the class combined by the probability combining unit as a class to which the case to be classified belongs. It is configured to include.

第2の発明に係るクラス分類方法は、事例分割部と、多クラス分類器訓練部と、多クラス分類部と、クラスタリング部と、階層型分類器訓練部と、確率計算部と、確率結合部と、出力部と、を含むクラス分類装置におけるクラス分類方法であって、前記事例分割部は、事例と前記事例が属するクラスを表すクラスラベルとの複数のペアからなる既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、前記サブ訓練事例集合と前記検証事例集合とのペアである事例セットを予め定められた数だけ作成し、前記事例分割部により作成された事例セットの各々について、前記多クラス分類器訓練部は、前記事例セットの前記サブ訓練事例集合に含まれる前記事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を複数のクラスのうちの何れか1つに分類するための多クラス分類器を訓練し、前記多クラス分類部は、前記多クラス分類器訓練部により訓練された多クラス分類器に基づいて、前記事例セットの前記検証事例集合に含まれる前記事例の各々を分類した結果の各々と、前記検証事例集合に含まれる前記事例の各々の前記クラスラベルの各々と、に基づいて、前記クラスのペアの各々についての、一方のクラスに属する事例が他方のクラスに分類されることを表す各要素からなる混同行列を作成し、前記クラスタリング部は、前記多クラス分類部により作成された混同行列に基づいて、前記複数のクラスを、階層的に分類し、分類された前記クラスの集合を表す内部ノードの各々と、前記クラスを表す葉ノードの各々とを含むノードの各々について、親子関係にあるノード間をエッジで結んだクラス階層構造を作成し、前記階層型分類器訓練部は、前記クラスタリング部により作成されたクラス階層構造に含まれる前記内部ノードの各々について、前記既知データに含まれる、前記内部ノードが表す前記クラスの集合に含まれるクラスの各々に属する事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を、前記内部ノードの子ノードである各内部ノードが表す前記クラスの集合のうちの何れか1つ、又は前記内部ノードの子ノードである各葉ノードが表すクラスのうちの何れか1つに分類するための内部ノード多クラス分類器を訓練し、前記訓練され前記内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、 前記確率計算部は、入力された分類対象となる事例に基づいて、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記分類対象となる事例が、前記葉ノードが表すクラスの各々に属する確率を計算し、前記確率結合部は、各葉ノードが表すクラスの各々について、前記確率計算部により前記階層型分類器の各々に対して計算された前記葉ノードが表すクラスに属する確率を結合し、前記出力部は、前記確率結合部により結合された前記クラスに属する確率が最も高い前記クラスを、前記分類対象となる事例が属するクラスとして出力する。   The class classification method according to the second invention includes a case dividing unit, a multi-class classifier training unit, a multi-class classifying unit, a clustering unit, a hierarchical classifier training unit, a probability calculating unit, and a probability combining unit. A class classification method in a class classification device including: an output unit, wherein the case dividing unit converts the known data consisting of a plurality of pairs of a case and a class label representing a class to which the case belongs into a subtraining case set The process of dividing into a verification case set is performed a predetermined number of times, and a predetermined number of case sets that are pairs of the sub-training case set and the verification case set are created and created by the case splitting unit For each case set, the multi-class classifier training unit is based on each of the cases included in the sub-training case set of the case set and each of the case class labels. A multi-class classifier for classifying the case into any one of a plurality of classes, and the multi-class classifier is a multi-class classifier trained by the multi-class classifier training unit. Based on each of the results of classifying each of the cases included in the verification case set of the case set, and on each of the class labels of each of the cases included in the verification case set, For each pair of classes, create a confusion matrix consisting of each element indicating that a case belonging to one class is classified into the other class, and the clustering unit creates the confusion created by the multi-class classification unit Based on the matrix, the plurality of classes are classified hierarchically, and each of the inner nodes representing the set of the classified classes and each leaf node representing the class are included. For each of the above, a class hierarchical structure in which nodes in a parent-child relationship are connected by an edge is created, and the hierarchical classifier training unit is configured for each of the internal nodes included in the class hierarchical structure created by the clustering unit. , Based on each of the cases belonging to each of the classes included in the set of classes represented by the internal node included in the known data and each of the class labels of the case, a case is a child of the internal node Multiple internal nodes for classification into any one of the set of classes represented by each internal node that is a node, or any one of classes represented by each leaf node that is a child node of the internal node Train a classifier, obtain a hierarchical classifier consisting of an inner node multi-class classifier for each of the trained inner nodes, and the probability meter The unit uses the hierarchical classifier for each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit based on the input classification target cases. The probability that the case to be classified belongs to each of the classes represented by the leaf nodes is calculated, and the probability combining unit performs the hierarchical classifier for each of the classes represented by the leaf nodes by the probability calculating unit. The probability of belonging to the class represented by the leaf node calculated for each of the above is combined, and the output unit selects the class having the highest probability of belonging to the class combined by the probability combining unit as the classification target. Is output as a class to which

第1及び第2の発明によれば、事例分割部により、事例と事例が属するクラスを表すクラスラベルとの複数のペアからなる既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、サブ訓練事例集合と検証事例集合とのペアである事例セットを予め定められた数だけ作成し、事例分割部により作成された事例セットの各々について、多クラス分類器訓練部により、事例セットのサブ訓練事例集合に含まれる事例の各々と、事例のクラスラベルの各々とに基づいて、事例を複数のクラスのうちの何れか1つに分類するための多クラス分類器を訓練し、多クラス分類部により、多クラス分類器訓練部により訓練された多クラス分類器に基づいて、事例セットの検証事例集合に含まれる事例の各々を分類した結果の各々と、検証事例集合に含まれる事例の各々のクラスラベルの各々と、に基づいて、クラスのペアの各々についての、一方のクラスに属する事例が他方のクラスに分類されることを表す各要素からなる混同行列を作成し、クラスタリング部により、多クラス分類部により作成された混同行列に基づいて、複数のクラスを、階層的に分類し、分類されたクラスの集合を表す内部ノードの各々と、クラスを表す葉ノードの各々とを含むノードの各々について、親子関係にあるノード間をエッジで結んだクラス階層構造を作成し、階層型分類器訓練部により、クラスタリング部により作成されたクラス階層構造に含まれる内部ノードの各々について、既知データに含まれる、内部ノードが表すクラスの集合に含まれるクラスの各々に属する事例の各々と、事例のクラスラベルの各々とに基づいて、事例を、内部ノードの子ノードである各内部ノードが表すクラスの集合のうちの何れか1つ、又は内部ノードの子ノードである各葉ノードが表すクラスのうちの何れか1つに分類するための内部ノード多クラス分類器を訓練し、訓練され内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、確率計算部により、入力された分類対象となる事例に基づいて、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記分類対象となる事例が、前記葉ノードが表すクラスの各々に属する確率を計算し、確率結合部により、各葉ノードが表すクラスの各々について、前記確率計算部により前記階層型分類器の各々に対して計算された前記葉ノードが表すクラスに属する確率を結合し、出力部により、確率結合部により結合されたクラスに属する確率が最も高いクラスを、分類対象となる事例が属するクラスとして出力する。   According to the first and second inventions, the case dividing unit divides the known data consisting of a plurality of pairs of a case and a class label representing a class to which the case belongs into a sub-training case set and a verification case set. Perform a predetermined number of times, create a predetermined number of case sets that are a pair of sub-training case set and verification case set, and perform multi-class classifier training for each case set created by the case divider A multi-class classifier for classifying cases into any one of a plurality of classes based on each of the cases included in the sub-training case set of the case set and each of the case class labels Results of classifying each of the cases included in the verification case set of the case set based on the multiclass classifier trained by the multiclass classifier training section. Each element representing that, for each of the pair of classes, the cases belonging to one class are classified into the other class based on each and each class label of each of the cases included in the verification case set A confusion matrix is created, and the clustering unit classifies a plurality of classes hierarchically based on the confusion matrix created by the multi-class classification unit, and each of the internal nodes representing a set of classified classes For each of the nodes including each of the leaf nodes representing the class, a class hierarchy structure is created by connecting the nodes in a parent-child relationship with edges, and the class hierarchy created by the clustering unit by the hierarchical classifier training unit For each of the internal nodes included in the structure, the cases belonging to each of the classes included in the set of classes represented by the internal nodes included in the known data And each leaf that is a child node of an internal node, based on each of the class labels of the case, and the case is represented by any one of a set of classes represented by each internal node that is a child node of the internal node Train an internal node multi-class classifier to classify into any one of the classes represented by the node, obtain a hierarchical classifier consisting of the internal node multi-class classifier for each of the internal nodes trained; The hierarchical classifier is applied to each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit based on the cases to be classified by the probability calculation unit. And calculating the probability that the case to be classified belongs to each of the classes represented by the leaf nodes, and the probability calculating unit for each of the classes represented by the leaf nodes to the probability calculating unit. Further, the class belonging to the class represented by the leaf node calculated for each of the hierarchical classifiers is combined, and the class having the highest probability belonging to the class combined by the probability combining unit is classified by the output unit. Is output as the class to which the case becomes.

このように、第1及び第2の発明によれば、既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、事例セットを予め定められた数だけ作成し、作成された事例セットの各々について、多クラス分類器を訓練し、訓練された多クラス分類器に基づいて、混同行列を作成し、混同行列に基づいて、複数のクラスを、階層的に分類し、クラス階層構造を作成し、内部ノード多クラス分類器を訓練し、訓練され内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、入力された分類対象となる事例に基づいて、事例セットの各々について訓練された階層型分類器を用いて、分類対象となる事例が、葉ノードが表すクラスの各々に属する確率を計算し、各葉ノードが表すクラスの各々について、葉ノードが表すクラスに属する確率を結合し、結合されたクラスに属する確率が最も高いクラスを、分類対象となる事例が属するクラスとして出力することにより、精度良く事例が属するクラスを分類することができる。   Thus, according to the first and second inventions, the process of dividing the known data into the sub-training case set and the verification case set is performed a predetermined number of times, and a predetermined number of case sets are created. For each created case set, train a multi-class classifier, create a confusion matrix based on the trained multi-class classifier, and classify multiple classes hierarchically based on the confusion matrix Create class hierarchy, train internal node multi-class classifiers, train and obtain hierarchical classifiers consisting of internal node multi-class classifiers for each of the internal nodes, and become the input classification target Based on the cases, using the hierarchical classifier trained for each of the case sets, calculate the probability that the case to be classified belongs to each of the classes represented by the leaf nodes, and Classify the class to which the case belongs with high accuracy by combining the probabilities belonging to the class represented by the leaf node and outputting the class with the highest probability belonging to the combined class as the class to which the case to be classified belongs can do.

また、第1の発明において、前記多クラス分類部は、前記混同行列の各要素M(i,j)を、前記検証事例集合に含まれる前記クラスiに属する前記事例の数に対する、前記検証事例集合に含まれる前記クラスiに属する事例のうちの、前記クラスjに分類された事例の数の割合と、前記検証事例集合に含まれる前記クラスjに属する前記事例の数に対する、前記検証事例集合に含まれる前記クラスjに属する事例のうちの、前記クラスiに分類された事例の数の割合との和として作成することができる。   Further, in the first invention, the multi-class classifying unit assigns each element M (i, j) of the confusion matrix to the number of cases belonging to the class i included in the verification case set. The verification case set with respect to the ratio of the number of cases classified into the class j out of the cases belonging to the class i included in the set and the number of cases belonging to the class j included in the verification case set Can be created as the sum of the ratios of the number of cases classified into the class i among the cases belonging to the class j.

また、第1の発明において、前記多クラス分類器訓練部は、サポートベクターマシンである多クラス分類器を訓練し、前記多クラス分類部は、前記混同行列の各要素M(i,j)の各々を、前記検証事例集合に含まれる前記クラスiに属する前記事例の各々についての、前記多クラス分類器訓練部によって訓練された多クラス分類器によりクラスiについて出力される値に基づいて計算される、前記事例がクラスiに属する確率の平均値と、前記検証事例集合に含まれる前記クラスjに属する前記事例の各々についての、前記多クラス分類器訓練部によって訓練された多クラス分類器によりクラスjについて出力される値に基づいて計算される、前記事例がクラスjに属する確率の平均値との和として作成することができる。   In the first invention, the multi-class classifier training unit trains a multi-class classifier that is a support vector machine, and the multi-class classifier is configured to store each element M (i, j) of the confusion matrix. Each is calculated based on the values output for class i by the multi-class classifier trained by the multi-class classifier training unit for each of the cases belonging to the class i included in the verification case set. An average value of the probability that the case belongs to class i and a multi-class classifier trained by the multi-class classifier training unit for each of the cases belonging to the class j included in the verification case set. It can be created as the sum of the average value of the probability that the case belongs to class j, calculated based on the value output for class j.

また、第1の発明において、前記確率計算部は、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記葉ノードが表すクラスの各々について、前記クラス階層構造の前記葉ノードから根ノードまでに存在する前記内部ノードの各々について、前記内部ノードの前記内部ノード多クラス分類器に基づく、前記分類対象の事例が前記クラスを表す葉ノードを子孫に持つ内部ノード又は前記クラスを表す葉ノードに属する条件付き確率を計算し、前記計算した前記条件付き確率の各々の積を、前記葉ノードが表すクラスに属する確率として計算し、前記確率結合部は、各葉ノードが表すクラスの各々について、前記確率計算部により前記事例セットの各々に対して計算された前記葉ノードが表すクラスに属する確率の総和を計算することにより、前記葉ノードが表すクラスに属する確率を結合することができる。   In the first invention, the probability calculation unit uses the hierarchical classifier for each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit, For each of the classes represented by the leaf nodes, for each of the internal nodes that exist from the leaf node to the root node of the class hierarchical structure, the classification target based on the internal node multi-class classifier of the internal node The conditional probability that the case belongs to the internal node having a leaf node representing the class as a descendant or the leaf node representing the class is calculated, and the product of each of the calculated conditional probabilities is calculated as the class represented by the leaf node. The probability combining unit calculates, for each class represented by each leaf node, for each of the case sets by the probability calculating unit. Calculated the leaf node by calculating the sum of the probability of belonging to the class represented, it is possible to combine the probabilities belonging to the class of the leaf node represents.

また、本発明のプログラムは、コンピュータを、上記のクラス分類装置を構成する各部として機能させるためのプログラムである。   Moreover, the program of this invention is a program for functioning a computer as each part which comprises said class classification apparatus.

以上説明したように、本発明のクラス分類装置、方法、及びプログラムによれば、既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、事例セットを予め定められた数だけ作成し、作成された事例セットの各々について、多クラス分類器を訓練し、訓練された多クラス分類器に基づいて、混同行列を作成し、混同行列に基づいて、複数のクラスを、階層的に分類し、クラス階層構造を作成し、内部ノード多クラス分類器を訓練し、訓練され内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、入力された分類対象となる事例に基づいて、事例セットの各々について訓練された階層型分類器を用いて、分類対象となる事例が、葉ノードが表すクラスの各々に属する確率を計算し、各葉ノードが表すクラスの各々について、葉ノードが表すクラスに属する確率を結合し、結合されたクラスに属する確率が最も高いクラスを、分類対象となる事例が属するクラスとして出力することにより、精度良く事例が属するクラスを分類することができる。   As described above, according to the class classification device, method, and program of the present invention, the process of dividing the known data into the sub-training case set and the verification case set is performed a predetermined number of times, and the case set is determined in advance. For each of the generated case sets, train a multi-class classifier, create a confusion matrix based on the trained multi-class classifier, and create multiple classes based on the confusion matrix Classify hierarchically, create a class hierarchy, train internal node multiclass classifiers, obtain a hierarchical classifier consisting of trained internal node multiclass classifiers for each of the internal nodes, and input Probability that the class to be classified belongs to each of the classes represented by the leaf nodes using a hierarchical classifier trained for each of the case sets based on the class to be classified Calculate and combine the probabilities belonging to the class represented by the leaf node for each class represented by each leaf node, and output the class having the highest probability belonging to the combined class as the class to which the case subject to classification belongs Thus, the class to which the case belongs can be classified with high accuracy.

本発明の第1の実施の形態に係るクラス分類装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the class classification apparatus which concerns on the 1st Embodiment of this invention. クラス階層構造の例を示す。An example of class hierarchy is shown. 本発明の第1の実施の形態に係るクラス分類装置における階層型分類器訓練処理ルーチン示すフローチャート図である。It is a flowchart figure which shows the hierarchical classifier training process routine in the class classification apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るクラス分類装置におけるクラス分類処理ルーチンを示すフローチャート図である。It is a flowchart figure which shows the class classification process routine in the class classification apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るクラス分類装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the class classification apparatus which concerns on the 2nd Embodiment of this invention.

以下、図面を参照して本発明の実施の形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<本発明の実施の形態の原理>
まず、本発明の実施の形態の原理について説明する。本実施の形態においては、既知のデータから、ランダム分割により、サブ訓練事例集合と検証事例集合をN対生成し、各対に対し、サブ訓練事例集合と検証事例集合を基に、多数のクラスを、複数のクラス集合に、階層的に分割し、クラス階層を生成する。結果的に、N個のクラス階層が生成される。また、クラス階層の内部ノード(Inner Node)は、クラス集合に相当し、葉ノード(Leaf Node)は、単一のクラスに相当する。
<Principle of Embodiment of the Present Invention>
First, the principle of the embodiment of the present invention will be described. In the present embodiment, N pairs of sub-training case sets and verification case sets are generated from known data by random division, and a large number of classes are created for each pair based on the sub-training case set and the verification case set. Are hierarchically divided into a plurality of class sets to generate a class hierarchy. As a result, N class hierarchies are generated. In addition, an inner node (Inner Node) in the class hierarchy corresponds to a class set, and a leaf node (Leaf Node) corresponds to a single class.

また、各クラス階層において、各内部ノードに確率的な分類器を設定し、また、各クラス階層において、未知のデータを分類する際に、全ての内部ノードに設定した分類器に分類対象を入力し、各内部ノードに対し、分類対象が該内部ノードの各子ノード(Child Node)に属する確率を計算する。さらに、各クラス階層において、各葉ノードに対し、該葉ノードの全ての先祖ノード(Ancestor Node)が出力した確率を結合し、分類対象が該葉ノードに属する確率を計算する。そして、各単一のクラスに対し、N個のクラス階層から計算された、分類対象が該クラスに属する(N個の)確率を結合し、分類対象が該クラスに属する最終的な確率を計算し、最終的な確率が最大となるクラスを最終出力とする。   Also, in each class hierarchy, a probabilistic classifier is set for each internal node, and when classifying unknown data in each class hierarchy, the classification target is input to the classifier set for all internal nodes. Then, for each internal node, the probability that the classification target belongs to each child node (Child Node) of the internal node is calculated. Further, in each class hierarchy, for each leaf node, the probabilities output by all ancestor nodes (Ancestor Node) of the leaf node are combined, and the probability that the classification target belongs to the leaf node is calculated. Then, for each single class, the probability of the classification target belonging to the class (N) calculated from the N class hierarchy is combined, and the final probability that the classification target belongs to the class is calculated. The class with the maximum final probability is set as the final output.

<本発明の第1の実施の形態に係るクラス分類装置の構成>
次に、本発明の第1の実施の形態に係るクラス分類装置の構成について説明する。図1に示すように、本発明の第1の実施の形態に係るクラス分類装置100は、CPUと、RAMと、後述する階層型分類器訓練処理ルーチン及びクラス分類処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このクラス分類装置100は、機能的には図1に示すように入力部10と、演算部20と、を備えている。
<Configuration of Classifying Device According to First Embodiment of the Present Invention>
Next, the configuration of the class classification device according to the first embodiment of the present invention will be described. As shown in FIG. 1, a class classification apparatus 100 according to the first embodiment of the present invention includes a CPU, a RAM, and a program for executing a hierarchical classifier training processing routine and a class classification processing routine described later. And a ROM including various data stored in a ROM. Functionally, the class classification device 100 includes an input unit 10 and a calculation unit 20 as shown in FIG.

入力部10は、事例と事例が属するクラスを表すクラスラベルとの複数のペアからなる既知データを受け付ける。また、入力部10は、分類対象となる事例を受け付ける。なお、クラスラベルは、予め定められ、人手によって既知データの各事例に付与されているものとする。   The input unit 10 receives known data including a plurality of pairs of a case and a class label representing a class to which the case belongs. In addition, the input unit 10 accepts cases that are to be classified. The class label is determined in advance and is manually assigned to each case of known data.

演算部20は、事例分割部22と、事例セット記憶部24と、クラス階層構築部30と、階層型分類器訓練部40と、階層型分類器記憶部50と、確率計算部60と、確率結合部62と、出力部90とを含んで構成されている。   The calculation unit 20 includes a case division unit 22, a case set storage unit 24, a class hierarchy construction unit 30, a hierarchical classifier training unit 40, a hierarchical classifier storage unit 50, a probability calculation unit 60, a probability The coupling unit 62 and the output unit 90 are included.

事例分割部22は、入力部10において受け付けた既知データについて、全事例をランダムにサブ訓練事例集合と検証事例集合とに分割する処理をN回行い、サブ訓練事例集合と前記検証事例集合とのペアである事例セットをN個作成し、事例セット記憶部24に記憶する。   The case dividing unit 22 performs a process of dividing all cases randomly into a sub-training case set and a verification case set for the known data received by the input unit 10, and the sub-training case set and the verification case set N case sets that are pairs are created and stored in the case set storage unit 24.

事例セット記憶部24には、事例分割部22により作成されたN個の事例セットが記憶されている。   The case set storage unit 24 stores N case sets created by the case dividing unit 22.

クラス階層構築部30は、事例セット記憶部24に記憶されているN個の事例セットの各々に基づいて、事例セット毎にクラス階層構造を作成する。また、クラス階層構築部30は、多クラス分類器訓練部32と、多クラス分類部34と、クラスタリング部36と、を備えている。   The class hierarchy construction unit 30 creates a class hierarchical structure for each case set based on each of the N case sets stored in the case set storage unit 24. The class hierarchy construction unit 30 includes a multi-class classifier training unit 32, a multi-class classification unit 34, and a clustering unit 36.

多クラス分類器訓練部32は、事例セット記憶部24に記憶されているN個の事例セット毎に、当該事例セットのサブ訓練事例集合に含まれる事例の各々と、当該事例のクラスラベルの各々とに基づいて、事例を複数のクラスのうちの何れか1つに分類するための多クラス分類器を訓練する。第1の実施の形態においては、線形カーネルや多項式カーネル等に基づくサポートベクターマシンを多クラス分類器として訓練する。   The multi-class classifier training unit 32, for each of the N case sets stored in the case set storage unit 24, each of the cases included in the sub-training case set of the case set and each of the class labels of the case Based on the above, a multi-class classifier is trained to classify cases into any one of a plurality of classes. In the first embodiment, a support vector machine based on a linear kernel, a polynomial kernel, or the like is trained as a multiclass classifier.

多クラス分類部34は、事例セット記憶部24に記憶されているN個の事例セット毎に、多クラス分類器訓練部32において訓練された当該事例セットの多クラス分類器に基づいて、当該事例セットの検証事例集合に含まれる事例の各々を分類した結果と、当該検証事例集合に含まれる事例の各々のクラスラベルの各々とに基づいて混同行列を作成する。具体的には、混同行列Mは、m×mのサイズを持ち、当該混同行列Mの各要素M(i,j)は、i番目のクラスcに属する事例がj番目のクラスcに分類されることを表し、下記(1)式によって定義される。 The multi-class classifying unit 34, for every N case sets stored in the case set storage unit 24, based on the multi-class classifier of the case set trained in the multi-class classifier training unit 32, A confusion matrix is created based on the result of classifying each case included in the set of verification case sets and each class label of each case included in the verification case set. Specifically, the confusion matrix M has a size of m × m, and each element M (i, j) of the confusion matrix M is assigned to the j-th class c j when the instance belonging to the i-th class c i It represents being classified and is defined by the following equation (1).

ここで、i番目のクラスcに属する事例の集合をDv(c)とし、クラスの総数をmとし、Pr(c|x)は、事例xがクラスcに属する確率であり、多クラス分類器であるサポートベクターマシンの分類結果f(c|x)を基に、下記(2)式によって計算する。なお、AとBとは、媒介変数であり、多クラス分類器であるサポートベクターマシンと、当該既知データに含まれる事例及びクラスラベルのペアの各々とに基づいて、最尤法によって計算する(非特許文献4:Hsuan-Tien Lin, Chih-Jen Lin, and Ruby C. Weng. A note on Platt's probabilistic outputs for support vector machines. Machine Learning, Vol. 68, No. 3, pp. 267-276,2007.)。 Here, the set of cases belonging to the i-th class c i is Dv (c i ), the total number of classes is m, and Pr (c i | x) is the probability that the case x belongs to the class c i , Based on the classification result f (c i | x) of the support vector machine which is a multi-class classifier, the calculation is performed by the following equation (2). A and B are parameters, and are calculated by the maximum likelihood method based on the support vector machine, which is a multi-class classifier, and each of the pairs of cases and class labels included in the known data ( Non-Patent Document 4: Hsuan-Tien Lin, Chih-Jen Lin, and Ruby C. Weng. A note on Platt's probabilistic outputs for support vector machines. Machine Learning, Vol. 68, No. 3, pp. 267-276,2007 .).

クラスタリング部36は、事例セット記憶部24に記憶されているN個の事例セット毎に、多クラス分類部34において作成された当該事例セットの混同行列に基づいて、階層クラスタリングを実施することにより、複数のクラスを階層的に分類し、分類されたクラスの集合を表す内部ノードの各々と、単一のクラスを表す葉ノードの各々とを含むノードの各々について、親子関係にあるノード間をエッジで結んだクラス階層構造を作成する。各内部ノードは、当該内部ノードにおけるすべての子ノードの和集合に相当する。図2にクラス階層構造の例を示す。なお、図2はクラス数が8である。また、図2中の点線の円は、葉ノード及び単一のクラスを表し、他のノードは、全て内部ノードを表す。   The clustering unit 36 performs hierarchical clustering for each of the N case sets stored in the case set storage unit 24 based on the confusion matrix of the case set created in the multi-class classification unit 34. Classify multiple classes hierarchically, and for each of the nodes that include each of the internal nodes that represent the set of classified classes and each of the leaf nodes that represent a single class, edge between the nodes in the parent-child relationship Create a class hierarchy connected by. Each internal node corresponds to the union of all child nodes in the internal node. FIG. 2 shows an example of a class hierarchy structure. In FIG. 2, the number of classes is eight. Also, dotted circles in FIG. 2 represent leaf nodes and a single class, and all other nodes represent internal nodes.

具体的には、まず、混同行列の各要素M(i,j)に基づいて、下記(3)式に従って、クラス間の距離D(i,j)の各々を計算し、距離行列Dを作成する。   Specifically, first, based on each element M (i, j) of the confusion matrix, each distance D (i, j) between classes is calculated according to the following equation (3) to create a distance matrix D To do.

そして、階層クラスタリングの一例である、最短距離法(Nearest Neighbor Method)に基づく凝集型階層的クラスタリング(Agglomerative Hierarchical Clustering)を駆使し、計算された距離行列Dに基づいて、二分木(Binary Tree)構造を持つクラス階層構造を作成する。   Then, the binary tree structure based on the calculated distance matrix D, using Agglomerative Hierarchical Clustering based on the Nearest Neighbor Method, which is an example of hierarchical clustering. Create a class hierarchy with

階層型分類器訓練部40は、事例セット記憶部24に記憶されているN個の事例セット毎に、クラスタリング部36において当該事例セットに対して作成したクラス階層構造に含まれる内部ノードの各々について、既知データに含まれる、内部ノードが表すクラスの集合に含まれるクラスの各々に属する事例の各々と、事例のクラスラベルの各々とに基づいて、事例を、内部ノードの子ノードである各内部ノードが表すクラスの集合のうちの何れか1つ、又は内部ノードの子ノードである各葉ノードが表すクラスのうちの何れか1つに分類するための内部ノード多クラス分類器を訓練し、訓練され内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、N個の事例セット毎の階層型分類器を階層型分類器記憶部50に記憶する。なお、階層型分類器は、当該クラス階層構造と同じ階層構造を持つ。また、内部ノードの各々について、内部ノード多クラス分類器を訓練する際に、当該内部ノードの各子ノードに対し、当該子ノードに相当するクラス集合を単一のクラスと見なす。また、上述したように、内部ノード多クラス分類器を訓練する際に、当該既知データに含まれる事例であって、当該内部ノードに含まれるクラスの各々に属する事例の各々を訓練事例集合とし、当該内部ノードに含まれるクラスの各々に属さない既知データに含まれる事例の各々は全てを無視する。   For each of N case sets stored in the case set storage unit 24, the hierarchical classifier training unit 40 performs each of the internal nodes included in the class hierarchical structure created for the case set by the clustering unit 36. , Based on each of the cases belonging to each of the classes included in the set of classes represented by the internal node included in the known data and each of the class labels of the case, the internal is a child node of the internal node Train an internal node multi-class classifier to classify into any one of the set of classes represented by the node, or any one of the classes represented by each leaf node that is a child node of the internal node; Obtain a hierarchical classifier consisting of an internal node multi-class classifier for each of the trained internal nodes, and store the hierarchical classifier for each of the N example sets as a hierarchical classifier And stored in 50. The hierarchical classifier has the same hierarchical structure as the class hierarchical structure. Further, when training an internal node multi-class classifier for each internal node, for each child node of the internal node, a class set corresponding to the child node is regarded as a single class. Further, as described above, when training the internal node multi-class classifier, each of the cases that are included in the known data and belong to each of the classes included in the internal node is a training case set, Each case included in the known data that does not belong to each class included in the internal node is ignored.

具体的には、内部ノードの各々に対し、当該内部ノードに含まれるクラスの各々に属する事例であって、かつ既知データに含まれる事例の各々を訓練事例とし、線形カーネルや多項式カーネル等に基づくサポートベクターマシンを内部ノード多クラス分類器とし、訓練する。なお、クラス階層構造が二分木構造であるため、各内部ノードの内部ノード多クラス分類器は、2クラス分類器となる。   Specifically, for each internal node, each of the cases belonging to each of the classes included in the internal node and included in the known data is a training example, and is based on a linear kernel, a polynomial kernel, or the like. Train the support vector machine as an internal node multi-class classifier. Since the class hierarchical structure is a binary tree structure, the internal node multi-class classifier of each internal node is a 2-class classifier.

確率計算部60は、入力部10において受け付けた分類対象となる事例に基づいて、階層型分類器記憶部50に記憶されている、事例セット毎に訓練されたN個の階層型分類器の各々に対し、当該階層型分類器を用いて、分類対象となる事例が、各葉ノードが表すクラスの各々に属する確率を計算する。当該確率を計算するには、階層型分類器におけるすべての内部ノードの内部ノード多クラス分類器で分類対象となる事例を分類し、各葉ノードについて、内部ノード毎に、分類対象となる事例が当該内部ノードの、当該葉ノードを子孫に持つ子ノードに属する条件付き確率を計算する。各葉ノードに対し、当該葉ノードの先祖ノードとなる全ての内部ノード毎に計算された条件付き確率を結合し、分類対象となる事例が、当該葉ノードが表すクラスに属する確率とする。   The probability calculation unit 60 stores each of the N hierarchical classifiers trained for each case set stored in the hierarchical classifier storage unit 50 based on the cases to be classified received by the input unit 10. On the other hand, using the hierarchical classifier, the probability that the case to be classified belongs to each of the classes represented by the leaf nodes is calculated. To calculate the probability, classify the cases to be classified by the internal node multi-class classifier of all the internal nodes in the hierarchical classifier, and for each leaf node, the cases to be classified are classified for each internal node. A conditional probability of the internal node belonging to a child node having the leaf node as a descendant is calculated. For each leaf node, the conditional probabilities calculated for all the internal nodes that are ancestor nodes of the leaf node are combined, and the probability that the case to be classified belongs to the class represented by the leaf node.

具体的には、事例セット毎に訓練された階層型分類器を用いて、葉ノードが表すクラスの各々について、クラス階層構造の当該葉ノードから根ノードまでに存在する内部ノードの各々について、当該内部ノードの内部ノード多クラス分類器に基づく、分類対象の事例がクラスを表す葉ノードを子孫に持つ内部ノード又はクラスを表す葉ノードに属する条件付き確率を計算し、計算した条件付き確率の各々の積を、葉ノードが表すクラスに属する確率として計算する。当該内部ノードの子ノードをvにし、当該内部ノードをPa(v)にし、事例xのクラスラベルをyにし、サポートベクターマシンの出力値をf(y∈v|x)とし、事例xがクラスyを表す葉ノードを子孫に持つ内部ノードv又はクラスyを表す葉ノードvに属する条件付き確率を、Pr(y∈v|y∈Pa(v),x)と表記し、下記(4)式に従って計算する。なお、AとBとは媒介変数であり、内部ノード多クラス分類器であるサポートベクターマシンと、既知データの事例及びクラスラベルのペアの各々とに基づいて最尤法によって計算する(非特許文献4)。   Specifically, using a hierarchical classifier trained for each case set, for each class represented by a leaf node, for each internal node existing from the leaf node to the root node in the class hierarchy structure, Based on the internal node multi-class classifier of the internal node, each of the calculated conditional probabilities is calculated by calculating a conditional probability that the classification target case belongs to the internal node having the leaf node representing the class or the leaf node representing the class. Is calculated as the probability of belonging to the class represented by the leaf node. The child node of the internal node is v, the internal node is Pa (v), the class label of case x is y, the output value of the support vector machine is f (y∈v | x), and case x is a class A conditional probability belonging to an internal node v having a leaf node representing y or a leaf node v representing class y is expressed as Pr (y∈v | y∈Pa (v), x), and the following (4) Calculate according to the formula. A and B are parametric variables, and are calculated by the maximum likelihood method based on a support vector machine that is an internal node multi-class classifier and each of a pair of known data cases and class labels (Non-Patent Document). 4).

そして、各葉ノードcに対し、当該葉ノードの全ての先祖ノードを下記(5)式のように定義し、 Then, for each leaf node c i , all ancestor nodes of the leaf node are defined as in the following equation (5),

分類対象である事例が当該葉ノードcに属する確率をPr(π(c)|x)と表記し、下記(6)式に従って、計算する。 The probability that the classification target case belongs to the leaf node c i is expressed as Pr (π (c i ) | x), and is calculated according to the following equation (6).

ここで、vは根ノード、vは根ノードから葉ノードまでの全ての内部ノード又は葉ノードを表し、vは葉ノードを表し、v={c}であり、vk−1=Pa(v)である。また、π(c)は、葉ノードから根ノードまでのパスを表す。 Here, v 1 represents the root node, v k represents all internal nodes or leaf nodes from the root node to the leaf node, v K represents the leaf node, v k = {c i }, and v k− 1 = Pa (v k ). Further, π (c i ) represents a path from the leaf node to the root node.

確率結合部62は、各葉ノードが表すクラスの各々について、確率計算部60において階層型分類器毎に計算された、分類対象となる事例が当該クラスに属する確率の総和を計算し、結合する。具体的には、クラスcに対し、l番目の階層型分類器のクラス階層構造から計算された、分類対象となる事例が当該クラスに属する確率をPr(π(l)(c)|x)と表記すると、分類対象となる事例が当該クラスに属する最終確率Pr(π(c)|x)は、下記(7)式に従って計算される。 The probability combining unit 62 calculates, for each class represented by each leaf node, the sum of the probabilities that the classification target cases belong to the class, calculated for each hierarchical classifier in the probability calculating unit 60, and combines them. . Specifically, for a class c i , the probability that the classification target case belongs to the class calculated from the class hierarchy of the l-th hierarchical classifier is Pr (π (l) (c i ) | When expressed as x), the final probability Pr (π (c i ) | x) that the case to be classified belongs to the class is calculated according to the following equation (7).

出力部90は、確率結合部62において結合された分類対象となる事例が各クラスに属する確率のうち、最も高い確率であるクラスを、分類対象となる事例が属するクラスとして出力する。   The output unit 90 outputs the class having the highest probability among the probabilities that the cases to be classified combined by the probability combining unit 62 belong to each class as the class to which the case to be classified belongs.

<本発明の第1の実施の形態に係るクラス分類装置の作用>
次に、本発明の第1の実施の形態に係るクラス分類装置100の作用について説明する。入力部10において既知データを受け付けると、クラス分類装置100は、図3に示す階層型分類器訓練処理ルーチンを実行する。また、階層型分類器訓練処理ルーチン終了後に、入力部10において分類対象である事例を受け付けると、図4に示すクラス分類装置は、クラス分類処理ルーチンを実行する。
<Operation of Classification Device According to First Embodiment of the Present Invention>
Next, the operation of the class classification device 100 according to the first embodiment of the present invention will be described. When the input unit 10 receives known data, the class classification device 100 executes a hierarchical classifier training process routine shown in FIG. When the classifying device shown in FIG. 4 receives a case to be classified in the input unit 10 after completion of the hierarchical classifier training processing routine, the class classification processing routine shown in FIG. 4 executes the class classification processing routine.

まず、ステップS100では、入力部10において受け付けた既知データをN回ランダムに2つに分割し、N個の事例セットを作成し、事例セット記憶部24に記憶する。   First, in step S100, the known data received by the input unit 10 is randomly divided into two N times, N case sets are created, and stored in the case set storage unit 24.

次に、ステップS102では、ステップS100において取得した対象となる事例セットについて、当該事例セットに含まれるサブ訓練事例集合に基づいて、サポートベクターマシンを多クラス分類器として訓練する。   Next, in step S102, the support vector machine is trained as a multi-class classifier for the case set that is the target acquired in step S100, based on the sub-training case set included in the case set.

次に、ステップS104では、対象となる事例セットに含まれる検証事例集合と、ステップS102において取得した当該事例セットに対応する多クラス分類器とに基づいて、検証事例集合に含まれる検証事例の各々について、多クラス分類器による分類を行う。   Next, in step S104, each of the verification cases included in the verification case set based on the verification case set included in the target case set and the multi-class classifier corresponding to the case set acquired in step S102. Is classified by a multi-class classifier.

次に、ステップS106では、ステップS104において取得した対象となる事例セットに含まれる検証事例の各々の分類結果に基づいて、上記(1)式及び(2)式に従って、混同行列を作成する。   Next, in step S106, a confusion matrix is created according to the above equations (1) and (2) based on the classification results of the verification cases included in the target case set acquired in step S104.

次に、ステップS108では、ステップS106において取得した、当該対象となる事例セットの混同行列の各要素M(i,j)に基づいて、上記(3)式に従って、クラス間距離D(i,j)を計算し、距離行列Dを作成する。   Next, in step S108, based on each element M (i, j) of the confusion matrix of the target case set acquired in step S106, the interclass distance D (i, j ) And a distance matrix D is created.

次に、ステップS110では、ステップS108において取得した距離行列Dに基づいて、最短距離法に基づく凝集型階層的クラスタリングを駆使し、二分木(Binary Tree)構造を持つクラス階層構造を作成する。   Next, in step S110, based on the distance matrix D acquired in step S108, a class hierarchical structure having a binary tree structure is created using agglomerative hierarchical clustering based on the shortest distance method.

次に、ステップS112では、ステップS110において取得したクラス階層構造と、既知データとに基づいて、当該クラス階層構造の各内部ノードに対する内部ノード多クラス分類器訓練することによって、当該クラス階層構造と同じ階層構造を持つ階層型分類器を取得する。   Next, in step S112, based on the class hierarchical structure acquired in step S110 and the known data, the internal node multi-class classifier training for each internal node of the class hierarchical structure is performed, so that the same as the class hierarchical structure. Get a hierarchical classifier with a hierarchical structure.

次に、ステップS114では、ステップS100において取得した全ての事例セットについて、ステップS102〜ステップS112の処理を終了したか否かを判定する。全ての事例セットについてステップS102〜ステップS112までの処理を終了している場合には、ステップS116へ移行し、全ての事例セットについてステップS102〜ステップS112の処理を終了していない場合には、処理対象となる事例セットを変更し、ステップS102〜ステップS114の処理を繰り返す。   Next, in step S114, it is determined whether or not the processing in steps S102 to S112 has been completed for all case sets acquired in step S100. If the processing from step S102 to step S112 has been completed for all case sets, the process proceeds to step S116, and if the processing from step S102 to step S112 has not been completed for all case sets, the processing is performed. The target case set is changed, and the processes in steps S102 to S114 are repeated.

ステップS116では、ステップS112において取得した事例セット各々の階層型分類器を、階層型分類器記憶部50に記憶し、階層型分類器訓練処理ルーチンを終了する。   In step S116, the hierarchical classifier of each case set acquired in step S112 is stored in the hierarchical classifier storage unit 50, and the hierarchical classifier training processing routine is terminated.

次に、図4のクラス分類処理ルーチンについて詳細に説明する。   Next, the class classification processing routine of FIG. 4 will be described in detail.

まず、ステップS200では、階層型分類器記憶部50に記憶されている事例セット毎の階層型分類器を読み込む。   First, in step S200, the hierarchical classifier for each case set stored in the hierarchical classifier storage unit 50 is read.

次に、ステップS202では、入力部10において受け付けた分類対象となる事例と、ステップS200において取得した階層型分類器の各々とに基づいて、階層型分類器の各々に対し、当該階層型分類器を用いて、分類対象となる事例が、各葉ノードが表すクラスの各々に属する確率を上記(4)式〜(6)式に従って計算する。   Next, in step S202, based on the case subject to classification received in the input unit 10 and each of the hierarchical classifiers acquired in step S200, for each hierarchical classifier, the hierarchical classifier Is used to calculate the probability that a case to be classified belongs to each class represented by each leaf node according to the above equations (4) to (6).

次に、ステップS204では、各葉ノードが表すクラスの各々について、ステップS202において取得した階層型分類器毎に計算された、入力部10において受け付けた分類対象となる事例が、当該葉ノードが表すクラスに属する確率の総和を計算し、結合する。   Next, in step S204, for each class represented by each leaf node, the case that is the classification target received by the input unit 10 calculated for each hierarchical classifier acquired in step S202 represents the leaf node. Calculate the sum of the probabilities belonging to a class and combine them.

次に、ステップS206では、ステップS204において取得した、各クラスに属する確率のうち、最も高い確率であるクラスを、分類対象となる事例の属するクラスとして決定する。   Next, in step S206, the class having the highest probability among the probabilities belonging to each class acquired in step S204 is determined as the class to which the case to be classified belongs.

次に、ステップS208では、ステップS206において取得したクラスを分類結果として出力部90から出力して、クラス分類処理ルーチンを終了する。   Next, in step S208, the class acquired in step S206 is output from the output unit 90 as a classification result, and the class classification processing routine ends.

以上説明したように、本発明の第1の実施の形態に係るクラス分類装置によれば、既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、事例セットを予め定められた数だけ作成し、作成された事例セットの各々について、サポートベクターマシンである多クラス分類器を訓練し、訓練された多クラス分類器に基づいて、混同行列を作成し、混同行列に基づいて、複数のクラスを、階層的に分類し、クラス階層構造を作成し、内部ノード多クラス分類器を訓練し、訓練され内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、入力された分類対象となる事例に基づいて、事例セットの各々について訓練された階層型分類器を用いて、分類対象となる事例が、葉ノードが表すクラスの各々に属する確率を計算し、各葉ノードが表すクラスの各々について、当該葉ノードが表すクラスに属する確率を結合し、結合されたクラスに属する確率が最も高いクラスを、分類対象となる事例が属するクラスとして出力することにより、精度良く事例が属するクラスを分類することができる。   As described above, according to the class classification device according to the first embodiment of the present invention, the process of dividing the known data into the sub-training case set and the verification case set is performed a predetermined number of times, and the case set For each of the created case sets, train a support vector machine multi-class classifier, create a confusion matrix based on the trained multi-class classifier, and mix Based on the matrix, classify multiple classes hierarchically, create a class hierarchy, train an internal node multiclass classifier, a hierarchy of trained internal node multiclass classifiers for each of the internal nodes Using the hierarchical classifier trained for each of the case sets based on the input cases to be classified, the cases to be classified are For each class represented by each leaf node, the probabilities belonging to the class represented by the leaf node are combined, and the class having the highest probability belonging to the combined class is determined as a classification target. By outputting as a class to which a case belongs, the class to which the case belongs can be classified with high accuracy.

また、未知データを分類する際に、上位レベルの分類器の分類結果を基に下位レベルのクラス集合の選択肢を制限するのではなく、未知データを全ての内部ノードの分類器で分類し、分類確率の伝搬を基に多クラス分類を実現するため、従来技術と比べて、誤差の伝搬に対してより頑健な階層的分類が可能となる。   Also, when classifying unknown data, instead of restricting the choices of lower-level class sets based on the classification results of the higher-level classifier, the unknown data is classified by the classifiers of all internal nodes. Since multi-class classification is realized based on probability propagation, hierarchical classification that is more robust against error propagation is possible than in the prior art.

また、ランダム分割によって多数のクラス階層を構築し、最後に分類確率を結合することによって、従来技術と比べて、過剰適合の影響にもより頑健な階層的分類が可能となる。   Further, by constructing a large number of class hierarchies by random division and finally combining the classification probabilities, hierarchical classification that is more robust against the influence of over-matching is possible compared to the prior art.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

例えば、第1の実施の形態においては、多クラス分類器訓練部32においてサポートベクターマシンを分類器として訓練する場合について説明したが、これに限定されるものではなく、K近傍法(K-Nearest Neighbors Algorithm)、単純ベイズ分類器(Naive Bayes Classifier)、ニューラルネットワーク等を駆使してもよい。   For example, in the first embodiment, the case where the multi-class classifier training unit 32 trains the support vector machine as a classifier has been described. However, the present invention is not limited to this, and the K-neighbor method (K-Nearest Neighbors Algorithm), Naive Bayes Classifier, neural network, etc. may be used.

また、第1の実施の形態においては、クラス階層構造を二分木構造として作成する場合について説明したが、これに限定されるものではない。例えば、四分木や八分木等の多分木構造としてクラス階層構造を作成してもよい。   In the first embodiment, the class hierarchical structure is created as a binary tree structure. However, the present invention is not limited to this. For example, a class hierarchy structure may be created as a multi-tree structure such as a quadtree or an octree.

また、第1の実施の形態においては、内部ノードの分類器、及び階層型分類器をサポートベクターマシンとする場合について説明したが、これに限定されるものではない。例えば、単純ベイズ分類器(Naive Bayes Classifier)、ニューラルネットワーク等を駆使してもよい。   In the first embodiment, the case where the internal node classifier and the hierarchical classifier are used as support vector machines has been described. However, the present invention is not limited to this. For example, a Naive Bayes Classifier or a neural network may be used.

次に、第2の実施の形態に係るクラス分類装置について説明する。   Next, a class classification device according to the second embodiment will be described.

第2の実施の形態においては、クラス分類装置100の、多クラス分類部において混同行列を作成する方法が第1の実施の形態と異なる。なお、第1の実施の形態に係るクラス分類装置100と同様の構成及び作用については、同一の符号を付して説明を省略する。   In the second embodiment, a method of creating a confusion matrix in the multi-class classification unit of the class classification device 100 is different from the first embodiment. In addition, about the structure and effect | action similar to the class classification apparatus 100 which concerns on 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.

<本発明の第2の実施の形態に係るクラス分類装置の構成>
次に、本発明の第2の実施の形態に係るクラス分類装置の構成について説明する。図5に示すように、本発明の第2の実施の形態に係るクラス分類装置200は、CPUと、RAMと、後述する階層型分類器訓練処理ルーチン及びクラス分類処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このクラス分類装置200は、機能的には図5に示すように入力部10と、演算部220と、を備えている。
<Configuration of Classifying Device According to Second Embodiment of the Present Invention>
Next, the configuration of the class classification device according to the second embodiment of the present invention will be described. As shown in FIG. 5, the class classification device 200 according to the second embodiment of the present invention includes a CPU, a RAM, and a program for executing a hierarchical classifier training process routine and a class classification process routine described later. And a ROM including various data stored in a ROM. Functionally, the class classification device 200 includes an input unit 10 and a calculation unit 220 as shown in FIG.

演算部220は、事例分割部22と、事例セット記憶部24と、クラス階層構築部230と、階層型分類器記憶部50と、確率計算部60と、確率結合部62と、出力部90とを備えている。   The calculation unit 220 includes a case division unit 22, a case set storage unit 24, a class hierarchy construction unit 230, a hierarchical classifier storage unit 50, a probability calculation unit 60, a probability combination unit 62, and an output unit 90. It has.

クラス階層構築部230は、事例セット記憶部24に記憶されているN個の事例セットの各々に基づいて、事例セット毎にクラス階層構造を作成する。また、クラス階層構築部230は、多クラス分類器訓練部32と、多クラス分類部234と、クラスタリング部36と、を備えている。   The class hierarchy construction unit 230 creates a class hierarchical structure for each case set based on each of the N case sets stored in the case set storage unit 24. The class hierarchy construction unit 230 includes a multi-class classifier training unit 32, a multi-class classification unit 234, and a clustering unit 36.

多クラス分類部234は、事例セット記憶部24に記憶されているN個の事例セット毎に、多クラス分類器訓練部32において訓練された当該事例セットの多クラス分類器に基づいて、当該事例セットの検証事例集合に含まれる事例の各々を分類した結果と、当該検証事例集合に含まれる事例の各々のクラスラベルの各々とに基づいて混同行列を作成する。具体的には、混同行列Mは、m×mのサイズを持ち、当該混同行列Mの各要素M(i,j)は、i番目のクラスcに属する事例がj番目のクラスcに分類されることを表し、下記(8)式によって定義される。 The multi-class classifier 234 calculates the case based on the multi-class classifier of the case set trained in the multi-class classifier training unit 32 for every N case sets stored in the case set storage unit 24. A confusion matrix is created based on the result of classifying each case included in the set of verification case sets and each class label of each case included in the verification case set. Specifically, the confusion matrix M has a size of m × m, and each element M (i, j) of the confusion matrix M is assigned to the j-th class c j when the instance belonging to the i-th class c i It represents being classified and is defined by the following equation (8).

ここで、cはi番目のクラスであり、yは事例xに付与されているクラスラベルであり、yΘは事例xを多クラス分類器で分類した際に分類されるクラスであり、mはクラスの総数である。また、Prは確率であり、例えば、Pr(yΘ=c|y=c,x)は、cに属する事例に占める、cに分類された事例の割合を表す。 Here, c i is the i th class, y is the class label provided to the case x, Waishita are class classified at the time of classifying the case x in the multi-class classifier, m is The total number of classes. Pr is a probability. For example, Pr (yΘ = c j | y = c i , x) represents the proportion of cases classified as c j in the cases belonging to c i .

なお、第2の実施の形態に係るクラス分類装置の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。   In addition, about the other structure and effect | action of the class classification apparatus which concern on 2nd Embodiment, since it is the same as that of 1st Embodiment, description is abbreviate | omitted.

以上説明したように、本発明の第2の実施の形態に係るクラス分類装置によれば、既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、事例セットを予め定められた数だけ作成し、作成された事例セットの各々について、多クラス分類器を訓練し、訓練された多クラス分類器に基づいて、混同行列を作成し、混同行列に基づいて、複数のクラスを、階層的に分類し、クラス階層構造を作成し、内部ノード多クラス分類器を訓練し、訓練され内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、入力された分類対象となる事例に基づいて、事例セットの各々について訓練された階層型分類器を用いて、分類対象となる事例が、葉ノードが表すクラスの各々に属する確率を計算し、各葉ノードが表すクラスの各々について、葉ノードが表すクラスに属する確率を結合し、結合されたクラスに属する確率が最も高いクラスを、分類対象となる事例が属するクラスとして出力することにより、精度良く事例が属するクラスを分類することができる。   As described above, according to the class classification device according to the second embodiment of the present invention, the process of dividing the known data into the sub-training case set and the verification case set is performed a predetermined number of times, and the case set For each of the created example sets, train a multi-class classifier, create a confusion matrix based on the trained multi-class classifier, and based on the confusion matrix, Classify multiple classes hierarchically, create a class hierarchy, train an internal node multiclass classifier, and obtain a hierarchical classifier consisting of a trained internal node multiclass classifier for each of the internal nodes The probability that a classification target case belongs to each of the classes represented by the leaf nodes using a hierarchical classifier trained for each of the case sets based on the input classification target cases. Calculate and combine the probabilities belonging to the class represented by the leaf node for each class represented by each leaf node, and output the class having the highest probability belonging to the combined class as the class to which the case subject to classification belongs Thus, the class to which the case belongs can be classified with high accuracy.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

例えば、第2の実施の形態においては、多クラス分類器訓練部32においてサポートベクターマシンを多クラス分類器として訓練する場合について説明したが、これに限定されるものではなく、K近傍法(K-Nearest Neighbors Algorithm)、単純ベイズ分類器、ニューラルネットワーク等を駆使してもよい。   For example, in the second embodiment, the case where the multi-class classifier training unit 32 trains the support vector machine as a multi-class classifier has been described. However, the present invention is not limited to this. -Nearest Neighbors Algorithm), naive Bayes classifier, neural network, etc. may be used.

また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。   Further, in the present specification, the embodiment has been described in which the program is installed in advance. However, the program can be provided by being stored in a computer-readable recording medium or provided via a network. It is also possible to do.

10 入力部
20 演算部
22 事例分割部
24 事例セット記憶部
30 クラス階層構築部
32 多クラス分類器訓練部
34 多クラス分類部
36 クラスタリング部
40 階層型分類器訓練部
50 階層型分類器記憶部
60 確率計算部
62 確率結合部
90 出力部
100 クラス分類装置
200 クラス分類装置
220 演算部
230 クラス階層構築部
234 多クラス分類部
DESCRIPTION OF SYMBOLS 10 Input part 20 Calculation part 22 Case division part 24 Case set storage part 30 Class hierarchy construction part 32 Multiclass classifier training part 34 Multiclass classification part 36 Clustering part 40 Hierarchical classifier training part 50 Hierarchical classifier storage part 60 Probability calculator 62 Probability combiner 90 Output unit 100 Class classification device 200 Class classification device 220 Operation unit 230 Class hierarchy construction unit 234 Multi-class classification unit

Claims (6)

事例と前記事例が属するクラスを表すクラスラベルとの複数のペアからなる既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、前記サブ訓練事例集合と前記検証事例集合とのペアである事例セットを予め定められた数だけ作成する事例分割部と、
前記事例分割部により作成された事例セットの各々について、前記事例セットの前記サブ訓練事例集合に含まれる前記事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を複数のクラスのうちの何れか1つに分類するための多クラス分類器を訓練する多クラス分類器訓練部と、
前記事例分割部により作成された事例セットの各々について、前記多クラス分類器訓練部により訓練された多クラス分類器に基づいて、前記事例セットの前記検証事例集合に含まれる前記事例の各々を分類した結果の各々と、前記検証事例集合に含まれる前記事例の各々の前記クラスラベルの各々と、に基づいて、前記クラスのペアの各々についての、一方のクラスに属する事例が他方のクラスに分類されることを表す各要素からなる混同行列を作成する多クラス分類部と、
前記事例分割部により作成された事例セットの各々について、前記多クラス分類部により作成された混同行列に基づいて、前記複数のクラスを、階層的に分類し、分類された前記クラスの集合を表す内部ノードの各々と、前記クラスを表す葉ノードの各々とを含むノードの各々について、親子関係にあるノード間をエッジで結んだクラス階層構造を作成するクラスタリング部と、
前記事例分割部により作成された事例セットの各々について、前記クラスタリング部により作成されたクラス階層構造に含まれる前記内部ノードの各々について、前記既知データに含まれる、前記内部ノードが表す前記クラスの集合に含まれるクラスの各々に属する事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を、前記内部ノードの子ノードである各内部ノードが表す前記クラスの集合のうちの何れか1つ、又は前記内部ノードの子ノードである各葉ノードが表すクラスのうちの何れか1つに分類するための内部ノード多クラス分類器を訓練し、前記訓練され前記内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得する階層型分類器訓練部と、
入力された分類対象となる事例に基づいて、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記分類対象となる事例が、前記葉ノードが表すクラスの各々に属する確率を計算する確率計算部と、
各葉ノードが表すクラスの各々について、前記確率計算部により前記階層型分類器の各々に対して計算された前記葉ノードが表すクラスに属する確率を結合する確率結合部と、
前記確率結合部により結合された前記クラスに属する確率が最も高い前記クラスを、前記分類対象となる事例が属するクラスとして出力する出力部と、
を含む、クラス分類装置。
A process of dividing known data consisting of a plurality of pairs of a case and a class label representing a class to which the case belongs into a sub-training case set and a verification case set is performed a predetermined number of times, and the sub-training case set and the verification A case dividing unit that creates a predetermined number of case sets that are pairs with case sets;
For each of the case sets created by the case dividing unit, a case is classified into a plurality of classes based on each of the cases included in the sub-training case set of the case set and each of the case class labels. A multi-class classifier training unit that trains a multi-class classifier to classify into any one of them,
For each of the case sets created by the case divider, classify each of the cases included in the verification case set of the case set based on the multi-class classifier trained by the multi-class classifier training unit For each of the class pairs, the cases belonging to one class are classified into the other class based on each of the results obtained and each of the class labels of each of the cases included in the verification case set A multi-class classifier that creates a confusion matrix consisting of each element that represents
For each of the case sets created by the case dividing unit, the plurality of classes are classified hierarchically based on the confusion matrix created by the multi-class classifying unit and represent a set of the classified classes For each of the nodes including each of the internal nodes and each of the leaf nodes representing the class, a clustering unit that creates a class hierarchical structure in which nodes in a parent-child relationship are connected by an edge;
For each case set created by the case dividing unit, for each of the internal nodes included in the class hierarchy created by the clustering unit, the set of classes represented by the internal node included in the known data Any one of the set of classes represented by each internal node that is a child node of the internal node, based on each of the cases belonging to each of the classes included in the class and each of the class labels of the case Train an internal node multi-class classifier to classify into any one of the classes represented by one or each leaf node that is a child node of the internal node, and for each of the trained internal nodes A hierarchical classifier training unit for acquiring a hierarchical classifier composed of internal node multi-class classifiers;
For each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit based on the input classification target cases, the classification is performed using the hierarchical classifier. A probability calculator that calculates the probability that the target case belongs to each of the classes represented by the leaf nodes;
For each class represented by each leaf node, a probability combining unit that combines the probabilities belonging to the class represented by the leaf node calculated for each of the hierarchical classifiers by the probability calculating unit;
An output unit that outputs the class having the highest probability belonging to the class combined by the probability combining unit as a class to which the case to be classified belongs;
Classification device including
前記多クラス分類部は、前記混同行列の各要素M(i,j)を、前記検証事例集合に含まれる前記クラスiに属する前記事例の数に対する、前記検証事例集合に含まれる前記クラスiに属する事例のうちの、前記クラスjに分類された事例の数の割合と、前記検証事例集合に含まれる前記クラスjに属する前記事例の数に対する、前記検証事例集合に含まれる前記クラスjに属する事例のうちの、前記クラスiに分類された事例の数の割合との和として作成する請求項1記載のクラス分類装置。   The multi-class classifying unit assigns each element M (i, j) of the confusion matrix to the class i included in the verification case set with respect to the number of cases belonging to the class i included in the verification case set. Of the cases belonging to the class j, the ratio of the number of cases classified into the class j and the number of cases belonging to the class j included in the verification case set belong to the class j included in the verification case set The class classification device according to claim 1, wherein the classification is made as a sum of a ratio of the number of cases classified into the class i among the cases. 前記多クラス分類器訓練部は、サポートベクターマシンである多クラス分類器を訓練し、
前記多クラス分類部は、前記混同行列の各要素M(i,j)の各々を、前記検証事例集合に含まれる前記クラスiに属する前記事例の各々についての、前記多クラス分類器訓練部によって訓練された多クラス分類器によりクラスiについて出力される値に基づいて計算される、前記事例がクラスiに属する確率の平均値と、前記検証事例集合に含まれる前記クラスjに属する前記事例の各々についての、前記多クラス分類器訓練部によって訓練された多クラス分類器によりクラスjについて出力される値に基づいて計算される、前記事例がクラスjに属する確率の平均値との和として作成する請求項1記載のクラス分類装置。
The multi-class classifier training unit trains a multi-class classifier that is a support vector machine,
The multi-class classifier performs each of the elements M (i, j) of the confusion matrix by the multi-class classifier training unit for each of the cases belonging to the class i included in the verification case set. An average value of the probability that the case belongs to class i, calculated based on the value output for class i by a trained multi-class classifier, and the case belonging to class j included in the verification case set Created for each as a sum with an average value of the probability that the case belongs to class j, calculated based on the values output for class j by the multi-class classifier trained by the multi-class classifier training section The classification device according to claim 1.
前記確率計算部は、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記葉ノードが表すクラスの各々について、前記クラス階層構造の前記葉ノードから根ノードまでに存在する前記内部ノードの各々について、前記内部ノードの前記内部ノード多クラス分類器に基づく、前記分類対象の事例が前記クラスを表す葉ノードを子孫に持つ内部ノード又は前記クラスを表す葉ノードに属する条件付き確率を計算し、前記計算した前記条件付き確率の各々の積を、前記葉ノードが表すクラスに属する確率として計算し、
前記確率結合部は、各葉ノードが表すクラスの各々について、前記確率計算部により前記事例セットの各々に対して計算された前記葉ノードが表すクラスに属する確率の総和を計算することにより、前記葉ノードが表すクラスに属する確率を結合する請求項1〜3の何れか1項記載のクラス分類装置。
For each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit, the probability calculation unit uses each of the classes represented by the leaf nodes using the hierarchical classifier. For each of the internal nodes existing from the leaf node to the root node of the class hierarchical structure, a leaf node in which the classification target case represents the class based on the internal node multi-class classifier of the internal node Calculating a conditional probability belonging to an internal node having a descendant or a leaf node representing the class, and calculating a product of each of the calculated conditional probabilities as a probability belonging to the class represented by the leaf node;
The probability combining unit calculates, for each class represented by each leaf node, the sum of the probabilities belonging to the class represented by the leaf node calculated for each of the case sets by the probability calculating unit, The class classification device according to claim 1, which combines probabilities belonging to a class represented by a leaf node.
事例分割部と、多クラス分類器訓練部と、多クラス分類部と、クラスタリング部と、階層型分類器訓練部と、確率計算部と、確率結合部と、出力部と、を含むクラス分類装置におけるクラス分類方法であって、
前記事例分割部は、事例と前記事例が属するクラスを表すクラスラベルとの複数のペアからなる既知データをサブ訓練事例集合と検証事例集合とに分割する処理を予め定められた回数行い、前記サブ訓練事例集合と前記検証事例集合とのペアである事例セットを予め定められた数だけ作成し、
前記事例分割部により作成された事例セットの各々について、
前記多クラス分類器訓練部は、前記事例セットの前記サブ訓練事例集合に含まれる前記事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を複数のクラスのうちの何れか1つに分類するための多クラス分類器を訓練し、
前記多クラス分類部は、前記多クラス分類器訓練部により訓練された多クラス分類器に基づいて、前記事例セットの前記検証事例集合に含まれる前記事例の各々を分類した結果の各々と、前記検証事例集合に含まれる前記事例の各々の前記クラスラベルの各々と、に基づいて、前記クラスのペアの各々についての、一方のクラスに属する事例が他方のクラスに分類されることを表す各要素からなる混同行列を作成し、
前記クラスタリング部は、前記多クラス分類部により作成された混同行列に基づいて、前記複数のクラスを、階層的に分類し、分類された前記クラスの集合を表す内部ノードの各々と、前記クラスを表す葉ノードの各々とを含むノードの各々について、親子関係にあるノード間をエッジで結んだクラス階層構造を作成し、
前記階層型分類器訓練部は、前記クラスタリング部により作成されたクラス階層構造に含まれる前記内部ノードの各々について、前記既知データに含まれる、前記内部ノードが表す前記クラスの集合に含まれるクラスの各々に属する事例の各々と、前記事例のクラスラベルの各々とに基づいて、事例を、前記内部ノードの子ノードである各内部ノードが表す前記クラスの集合のうちの何れか1つ、又は前記内部ノードの子ノードである各葉ノードが表すクラスのうちの何れか1つに分類するための内部ノード多クラス分類器を訓練し、前記訓練され前記内部ノードの各々についての内部ノード多クラス分類器からなる階層型分類器を取得し、
前記確率計算部は、入力された分類対象となる事例に基づいて、前記階層型分類器訓練部により前記事例セットの各々について訓練された前記階層型分類器の各々に対し、前記階層型分類器を用いて、前記分類対象となる事例が、前記葉ノードが表すクラスの各々に属する確率を計算し、
前記確率結合部は、各葉ノードが表すクラスの各々について、前記確率計算部により前記階層型分類器の各々に対して計算された前記葉ノードが表すクラスに属する確率を結合し、
前記出力部は、前記確率結合部により結合された前記クラスに属する確率が最も高い前記クラスを、前記分類対象となる事例が属するクラスとして出力する
クラス分類方法。
A class classification device including a case division unit, a multi-class classifier training unit, a multi-class classification unit, a clustering unit, a hierarchical classifier training unit, a probability calculation unit, a probability coupling unit, and an output unit A classification method in
The case dividing unit performs a predetermined number of times a process of dividing known data including a plurality of pairs of a case and a class label representing a class to which the case belongs into a sub-training case set and a verification case set, Create a predetermined number of case sets that are a pair of the training case set and the verification case set,
For each case set created by the case divider,
The multi-class classifier training unit assigns a case to any one of a plurality of classes based on each of the cases included in the sub-training case set of the case set and each of the class labels of the cases. Train a multi-class classifier to classify
The multi-class classifier, based on the multi-class classifier trained by the multi-class classifier training unit, each of the results of classifying each of the cases included in the verification case set of the case set; and Based on each of the class labels of each of the cases included in the verification case set, each element representing that a case belonging to one class is classified into the other class for each of the pair of classes Create a confusion matrix consisting of
The clustering unit hierarchically classifies the plurality of classes based on the confusion matrix created by the multi-class classifying unit, and each of the internal nodes representing a set of the classified classes and the class For each of the nodes including each of the leaf nodes to represent, create a class hierarchy that connects the nodes in the parent-child relationship with edges,
The hierarchical classifier training unit includes, for each of the internal nodes included in the class hierarchical structure created by the clustering unit, a class included in the set of classes represented by the internal node included in the known data. Based on each case belonging to each and each of the class labels of the case, any one of the set of classes represented by each internal node that is a child node of the internal node, or Train an internal node multiclass classifier to classify into any one of the classes represented by each leaf node that is a child node of the internal node, and train the internal node multiclass classification for each of the trained internal nodes Obtain a hierarchical classifier consisting of
The probability calculation unit is configured to apply the hierarchical classifier to each of the hierarchical classifiers trained for each of the case sets by the hierarchical classifier training unit based on an input classification target case. The probability that the classification target case belongs to each of the classes represented by the leaf nodes is calculated using
The probability combining unit combines, for each class represented by each leaf node, the probabilities belonging to the class represented by the leaf node calculated by the probability calculating unit for each of the hierarchical classifiers,
The classifying method in which the output unit outputs the class having the highest probability belonging to the class combined by the probability combining unit as a class to which the case to be classified belongs.
コンピュータを、請求項1〜請求項4の何れか1項記載のクラス分類装置を構成する各部として機能させるためのプログラム。   The program for functioning a computer as each part which comprises the class classification apparatus of any one of Claims 1-4.
JP2014146173A 2014-07-16 2014-07-16 Classification device, method, and program Active JP6163461B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014146173A JP6163461B2 (en) 2014-07-16 2014-07-16 Classification device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014146173A JP6163461B2 (en) 2014-07-16 2014-07-16 Classification device, method, and program

Publications (2)

Publication Number Publication Date
JP2016024503A JP2016024503A (en) 2016-02-08
JP6163461B2 true JP6163461B2 (en) 2017-07-12

Family

ID=55271244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014146173A Active JP6163461B2 (en) 2014-07-16 2014-07-16 Classification device, method, and program

Country Status (1)

Country Link
JP (1) JP6163461B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542626B2 (en) * 2013-09-06 2017-01-10 Toyota Jidosha Kabushiki Kaisha Augmenting layer-based object detection with deep convolutional neural networks
KR101882743B1 (en) * 2017-04-17 2018-08-30 인하대학교 산학협력단 Efficient object detection method using convolutional neural network-based hierarchical feature modeling
CN107688823B (en) * 2017-07-20 2018-12-04 北京三快在线科技有限公司 A kind of characteristics of image acquisition methods and device, electronic equipment
CN108664927B (en) * 2018-05-10 2021-08-17 武夷学院 Wuyi rock tea leaf image classification method based on full-automatic support vector machine
GB201809345D0 (en) * 2018-06-07 2018-07-25 Five Ai Ltd Image segmentation
CN110362677B (en) * 2019-05-31 2022-12-27 平安科技(深圳)有限公司 Text data category identification method and device, storage medium and computer equipment
CN111402383B (en) * 2020-03-23 2024-02-13 中建八局科技建设有限公司 Revit model processing method applied to Houdini

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963666A (en) * 1995-08-18 1999-10-05 International Business Machines Corporation Confusion matrix mediated word prediction
JP3178406B2 (en) * 1998-02-27 2001-06-18 日本電気株式会社 Hierarchical sentence classification device and machine-readable recording medium recording program

Also Published As

Publication number Publication date
JP2016024503A (en) 2016-02-08

Similar Documents

Publication Publication Date Title
JP6163461B2 (en) Classification device, method, and program
US9002101B2 (en) Recognition device, recognition method, and computer program product
JP6004016B2 (en) Information conversion method, information conversion apparatus, and information conversion program
Nie et al. Clique-graph matching by preserving global & local structure
JP6203077B2 (en) Learning device, density measuring device, learning method, learning program, and density measuring system
JP6566397B2 (en) Recognition device, real matrix decomposition method, recognition method
US20160232254A1 (en) Efficient calculation of all-pair path-based distance measures
US10970313B2 (en) Clustering device, clustering method, and computer program product
JP2013206187A (en) Information conversion device, information search device, information conversion method, information search method, information conversion program and information search program
JP6004015B2 (en) Learning method, information processing apparatus, and learning program
JP5754310B2 (en) Identification information providing program and identification information providing apparatus
CN112651418B (en) Data classification method, classifier training method and system
JP2016095640A (en) Density measurement device, density measurement method and program
Mandlik et al. Mapping the internet: Modelling entity interactions in complex heterogeneous networks
Zhai et al. Direct 0-1 loss minimization and margin maximization with boosting
JP6259671B2 (en) Relevance determination device, relevance determination program, and relevance determination method
US9792561B2 (en) Learning method, information conversion device, and recording medium
Remagnino et al. Machine learning for plant leaf analysis
Li et al. A classifier fusion method based on classifier accuracy
Yellamraju et al. Benchmarks for image classification and other high-dimensional pattern recognition problems
He Analysis of rare categories
JP7395396B2 (en) Information processing device, information processing method and program
Kuncheva et al. Pattern recognition and classification
Baranwal et al. Weighted kernel deterministic annealing: A maximum-entropy principle approach for shape clustering
Moran Learning to hash for large scale image retrieval

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170530

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: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170619

R150 Certificate of patent or registration of utility model

Ref document number: 6163461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150