JP2010272053A - データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム - Google Patents

データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム Download PDF

Info

Publication number
JP2010272053A
JP2010272053A JP2009125157A JP2009125157A JP2010272053A JP 2010272053 A JP2010272053 A JP 2010272053A JP 2009125157 A JP2009125157 A JP 2009125157A JP 2009125157 A JP2009125157 A JP 2009125157A JP 2010272053 A JP2010272053 A JP 2010272053A
Authority
JP
Japan
Prior art keywords
data
classifier
correct
classification
classifiers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009125157A
Other languages
English (en)
Other versions
JP5353443B2 (ja
Inventor
Masaaki Makino
正明 牧野
Ichiro Shishido
一郎 宍戸
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2009125157A priority Critical patent/JP5353443B2/ja
Publication of JP2010272053A publication Critical patent/JP2010272053A/ja
Application granted granted Critical
Publication of JP5353443B2 publication Critical patent/JP5353443B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】1つの入力データに対し複数の評価者もしくは複数の判断基準が扱えるようにすること。
【解決手段】データ分類器作成装置1では、まず、1対1データ作成部20は、事例データ格納部11に格納されたデータを基に、分類器を作成するための1対1データの集合である1対1データ集合を作成し、1対1データ格納部12に格納する。分類器作成部30は、1対1データ格納部12に格納された1対1データ集合を基に複数の分類器を作成し、分類器格納部13に格納する。分類器出力部40は、分類器格納部13から複数の分類器を読み出し、外部接続部100を介して複数の分類器を出力する。
【選択図】図1

Description

本発明は、デジタルコンテンツの分類技術、及び検索技術に係り、デジタルコンテンツをクラスに分類するための分類器を作成するデータ分類器作成装置、データ分類器作成方法、データ分類器作成プログラムと、作成された分類器に基づきデジタルコンテンツを分類するデータ分類装置、データ分類方法、データ分類プログラムに関する。
近年、デジタルコンテンツに関する圧縮技術の発展や、大容量記憶媒体の普及を背景にして、大量のデジタルコンテンツを大容量記憶媒体やコンピュータ等に格納して活用することが広く行われている。このようにデジタルコンテンツの格納数が増大するに伴い、所望のデジタルコンテンツを検索する技術への要求も高まっている。その検索方法の一つとして、デジタルコンテンツをカテゴリに予め分類することで、ユーザがそのカテゴリ情報を利用して、所望のデジタルコンテンツを取得するといった方法がある。デジタルコンテンツをカテゴリに分類する手法としては、ユーザ自身が直接分類する方法の他、入力信号から演算処理によってカテゴリ分類を行う分類器を利用する方法がある。更に、複数の分類器を組み合わせて、分類性能を向上させる技術が、特許文献1および特許文献2において開示されている。
特許文献1には、概念学習部により生成される複数のルール/判別木の出力を多数決部に入力し、多数決部の出力を最終的な分類結果とする技術が記載されている。
また、特許文献2には、学習データを基に複数の決定木を構築し、それら決定木を加重多数決法によって線形結合する際に、経験誤り確率から推定される誤り確率が小さくなるように学習するという分類器の作成システムが記載されている。
特開平7−064793号公報 特開平2001−195379号公報
ところで、上記従来技術に記載されているように、決定木などの分類器を作成する場合、デジタルコンテンツと、それに対応する望ましい分類カテゴリとの組を複数格納した学習データセットを予め用意しておく必要がある。デジタルコンテンツを分類する場合に、正解となる分類結果が評価者によって異なるような、いわゆる主観的な分類が必要になることが少なくない。特に、人間の感性や嗜好に関わる分類を行う場合には、この傾向が顕著であり、正解となる分類結果が評価者によって異なることは、むしろ当り前である。例えば、あるデジタルコンテンツの印象についての正解を付与する場合、ある評価者は『美しい』というカテゴリを正解であるとしたが、ある別の評価者は『かわいい』というカテゴリを正解であるとしたといった場合である。これは、評価者の判断基準に個人差が存在することによって発生するものであるため、どちらのカテゴリも間違いであるとは言えない。
しかしながら、上記従来技術においては、学習データセットが複数の評価者によって作成され、同一の入力データに対して複数の「正解」が存在するような場合に、どの学習データを用いて分類器を作成すればよいかといったことは、十分には考慮されていなかった。
そこで、本発明は、1つの入力データに対し複数の評価者もしくは複数の判断基準を扱うことができるデータ分類器作成装置、データ分類器作成方法、データ分類器作成プログラムと、1つの入力データに対し複数の評価者もしくは複数の判断基準を扱かってデジタルコンテンツを分類することができるデータ分類装置、データ分類方法、データ分類プログラムを提供することを目的とする。
上記課題を解決するため、本発明のデータ分類器作成装置は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合を格納する事例データ格納部と、前記事例データ格納部から事例データの集合を読み出して、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数作成する1対1データ作成部と、前記作成された複数個数の1対1データの集合を参照しながら、1つの1対1データの集合から1つの分類器を作成するように制御して、複数の分類器を作成する分類器作成部と、を有するデータ分類器作成装置である。
ここで、前記分類器作成部は、前記作成された複数個数の1対1データの集合に2種類以上の学習アルゴリズムを適用して、前記複数の分類器を作成する、データ分類器作成装置でも良い。
また、前記分類器作成部は、前記作成された複数個数の1対1データの集合に、2つ以上の異なる学習パラメータを用いた学習アルゴリズムを適用して、前記複数の分類器を作成する、データ分類器作成装置でも良い。
また、前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納する、データ分類器作成装置でも良い。
また、前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、前記1対1データ作成部は、前記複数の評価者ごとに前記1対1データの集合を複数個数作成する1対1データ作成部と、を有するデータ分類器作成装置でも良い。
また、前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、前記1対1データ作成部は、1つの1対1データの集合に前記複数の評価者の正解データが含まれるように、前記1対1データの集合を複数個数作成する、データ分類器作成装置でも良い。
また、前記分類器作成部は、さらに、遺伝的アルゴリズムを用いて、入力データを構成する変数を選択し、前記分類器を作成する、データ分類器作成装置でも良い。
また、次の発明のデータ分類装置は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数用いて、各々の前記1対1データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力する第1の分類部と、前記第1の分類部を構成する複数の分類器からの複数の出力データを用いて、最終的なクラスを出力する第2の分類部と、を有するデータ分類装置である。
ここで、前記第1の分類部は、前記第2の分類部が出力対象とするクラスの内、一部の種類のクラスのみ出力可能な専用分類器と、前記第2の分類部が出力対象とするクラスの全種類のクラスを出力可能な一般分類器とにより構成される、データ分類装置である。
また、次の発明のデータ分類器作成方法は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数作成するステップと、前記作成された複数個数の1対1データの集合を参照しながら、1つの1対1データの集合から1つの分類器を作成するように制御して、複数の分類器を作成するステップと、を有するデータ分類器作成方法である。
また、次の発明のデータ分類方法は、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数用いて、各々の前記1対1データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、を有するデータ分類方法である。
また、次の発明のデータ分類器作成プログラムは、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数作成するステップと、前記作成された複数個数の1対1データの集合を参照しながら、1つの1対1データの集合から1つの分類器を作成するように制御して、複数の分類器を作成するステップと、をコンピュータに実行させるデータ分類器作成プログラムである。
また、次の発明のデータ分類プログラムは、入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数用いて、各々の前記1対1データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、をコンピュータに実行させるデータ分類プログラムである。
本発明によれば、1つの入力データに対し複数の評価者もしくは複数の判断基準を扱うことができると共に、1つの入力データに対し複数の評価者もしくは複数の判断基準を扱かってデジタルコンテンツを分類することができる。
その結果、1つの入力データに対し、複数の正解データが割り当てられているようなデータ集合で分類器を構築しても、分類精度の良い分類器を作成することが出来る。
また、1つの入力データに対して、複数の評価者が作成した正解データであっても、精度の良い分類器を作成することができるため、特定の評価者の評価に偏らない、バランスの良い分類器を作成することが出来る。
また、複数の評価者からなる学習データから分類器を複数構築し、その複数の分類器から得られる分類結果を統合して最終的な分類結果を取得するようにすれば、従来よりも精度の良い分類結果を取得することが出来る。
実施の形態1,2におけるデータ分類器作成装置1の構成を示すブロック図である。 実施の形態1,2におけるデータ分類器作成装置1の処理の流れを示すフローチャートである。 実施の形態1〜4における事例データ格納部の一例を示す図である。 実施の形態1,2における1対1データ作成部の処理の流れを示すフローチャートである。 実施の形態1,2における1対1データ格納部の一例を示す図である。 実施の形態1〜4におけるシャッフル処理の流れを示すフローチャートである。 実施の形態1〜4における分類器作成部の処理の流れを示すフローチャートである。 実施の形態1〜4における分類器ペアの一例を示す図である。 実施の形態1,2における分類器格納部の一例を示す図である。 実施の形態1〜4における遺伝子個体の一例を示す図である。 実施の形態1〜4における遺伝的アルゴリズムを適用して分類器を作成する処理の流れを示すフローチャートである。 実施の形態1〜4における世代交代処理の流れを示すフローチャートである。 実施の形態1〜4における一点交叉の一例を示す図である。 実施の形態2におけるデータ分類装置2の構成を示すブロック図である。 実施の形態2におけるデータ分類装置2の処理の流れを示すフローチャートである。 実施の形態3,4におけるデータ分類器作成装置3の構成を示すブロック図である。 実施の形態3,4における1対1データ作成部の処理の流れを示すフローチャートである。 実施の形態3,4における1対1データ格納部の一例を示す図である。 実施の形態3,4における分類器格納部の一例を示す図である。 実施の形態4におけるデータ分類装置4の構成を示すブロック図である。 実施の形態4におけるデータ分類装置4の処理の流れを示すフローチャートである。
まず、本発明の特徴を示すと、次の5つの特徴がある。
[1]同一の入力データに対して複数の正解データがある事例集合を、1つの入力データが1つの正解データに対応するように複数の集合に分割し、分割した集合ごとに分類器を作成する点。
[2]分割した集合ごとに異なる学習アルゴリズムを適用する点。
[3]分割した集合ごとに異なる学習パラメータを適用する点。
[4]複数の評価者の正解データを用意し、評価者ごとに集合を作成し、評価者に対応した分類器を複数作成する点。
[5]複数の評価者の正解データを用意し、複数の評価者の正解データが混在した集合を作成し、複数の分類器を作成する点。
以上の5つの特徴をそれぞれ1つずつ備えてる実施の形態でも、2以上の特徴を任意に選択して適当に組み合わせた実施の形態でも良い。
以下、本発明を実施するための形態について、下記のように、幾つか一例を示して説明する。
実施の形態1.
図1は、本発明の実施の形態1におけるデータ分類器作成装置の構成例を示す。
図1において、本実施の形態1のデータ分類器作成装置1は、データ格納部10と、1対1データ作成部20と、分類器作成部30と、分類器出力部40とによって構成されている。データ格納部10は、さらに、事例データ格納部11と、1対1データ作成部12と、分類器格納部13とを有している。なお、図1では、機能ブロック図によりハードウエア的に構成して示しているが、このデータ分類器作成装置1は、CPUや、メモリ、ハードディスクドライブを具備する通常のコンピュータを使って、ソフトウェア的に構成するようにしてもよい。
図2は、図1に示すデータ分類器作成装置1の動作の一例を示すフローチャートである。
図1に示すデータ分類器作成装置1の動作を、図2のフローチャートを参照して説明する。
まず、1対1データ作成部20は、事例データ格納部11に格納されたデータを基に、分類器を作成するための1対1データの集合である1対1データ集合を作成し、1対1データ格納部12に格納する(ステップS10)。
次に、分類器作成部30は、1対1データ格納部12に格納された1対1データ集合を基に、分類器を作成し、分類器格納部13に格納する(ステップS20)。次に、分類器出力部40は、分類器格納部13から複数の分類器を読み出し、外部接続部100を介して分類器を出力する(ステップS30)。
なお、データ格納部10は、例えば、ハードディスクやメモリのような高速アクセスが可能な大容量記録媒体である。データ格納部10は、さらに、事例データ格納部11と、1対1データ作成部12と、分類器格納部13とで構成される。
事例データ格納部11は、1つの入力データに対し、正解の分類(クラス)を示す1つ以上の正解データを対応付けた事例データの集合、すなわち事例データ集合を格納する。事例データ格納部11には、さらに、正解データを与えた評価者を識別する評価IDも、その正解データに対応付けて格納する。入力データとは、連続値、あるいは離散値で構成されるデータの集合である。具体的な例を示すと、データのソースが楽曲に関する音響データであれば、ビートの強さや周波数特性などを数値とした特徴量やテンポ、音楽ジャンルを示すジャンル番号などであり、画像データであれば、画像データをグレースケール化し、20X20ピクセルにサイズを縮小した画像の各画素値などである。また、複数の正解データを同じ評価者が与えた場合は、それぞれ別の評価IDを用意する。
図3は、事例データ格納部11に格納したm個の事例データの一例を示す図である。
図3において、事例データ格納部11に格納された各事例データは、入力データと、正解データと、その正解データを与えた評価IDとを対応付けて格納した様子を示すものである。例えば、変数がn個である入力データ(A11,…,A1n)に対する正解データとして、(C1,C1,C2)が割り振られており、それらの正解データを与えた評価者を識別する評価IDは、順に(M1,M2,F1)であることを示す。
図1に戻り、1対1データ作成部20は、事例データ格納部11に格納された事例データ集合を基に、1つの入力データが1つの正解データに対応する1対1データの集合、すなわち1対1データ集合を複数作成し、作成した1対1データ集合を1対1データ格納部12に格納する。
入力データと正解データが1対1である1対1データの集合を作成する理由は、事例データのような同一の入力データに複数の正解が存在する状態で分類器を作成すると、分類器の分類精度が低下するためである。
図4は、1対1データ作成部20が、評価IDごとの1対1データ集合を作成するための処理例を示すフローチャートである。
まず、1対1データ作成部20は、事例データ格納部11から、事例データを1つ読み出す(ステップS110)。
次に、1対1データ作成部20は、読み出した事例データから、入力データと、正解データとを1対1に対応付けた1対1データを、正解データの数だけ作成する(ステップS120)。すなわち、図3に示す、入力データが{A11,…,A1n}である事例データから1対1データを作成すると、入力データ{A11,…,A1n}と正解データ{C1]、入力データ{A11,…,A1n}と正解データ{C1}、入力データ{A11,…,A1n}と正解データ{C2}、の3つの1対1データが作成される。
次に、1対1データ作成部20は、作成した1対1データそれぞれを、1対1データの正解データを与えた評価IDと同様の識別名を有する1対1データ集合に格納する(ステップS130)。
その際、1対1データ作成部20は、その評価IDに対応する1対1データ集合が存在しない場合、その評価IDを識別名とする1対1データ集合を1対1データ格納部12に作成し、その1対1データ集合に1対1データを格納する。
次に、1対1データ作成部20は、事例データ格納部11から全てデータを読み終えたか否かを判断する(ステップS140)。ここで、未読の事例データがあれば(ステップS140“NO”)、ステップS110に戻り、ステップS110以降の処理を行なう。これに対し、全ステップの事例データを読み出している場合には(ステップS140“YES”)、1対1データ作成部20は、以上の処理を終了する。
図5(a)〜(c)それぞれ、1対1データ集合の識別名である1対1データラベルと、複数の1対1データとで構成される1対1データ集合を格納した1対1データ格納部12の状態の一例を示す図である。
1対1データ集合の1対1データラベルには、評価IDと同一の識別名が割り振られており、同一の評価IDによって正解データを与えられた1対1データを格納する。
図5(a)は、評価ID「M1」のみで作成された1対1データ集合であり、1対1データラベルとして「M1」が割り振られている。
同様に、図5(b)は,評価ID「M2」のみで作成された1対1データ集合であり、図5(c)は,評価ID「F1」のみで作成された1対1データ集合である。
以上が、1対1データ作成部20による評価ID別に1対1データ集合を作成する方法である。なお、評価IDを混合した1対1データ集合を作成することもできる。評価IDを混合した1対1データ集合を作成する場合、1対1データ作成部20は、図4に示すステップS140の処理の後に、1対1データ集合間で、同一の入力データ同士の1対1データを交換するシャッフル処理を行うようにする。
図6は、1対1データ作成部20のシャッフル処理の動作の一例を示すフローチャートである。
まず、1対1データ作成部20は、評価ID別に作成された複数の1対1データ集合から、まだシャッフル処理を行っていない1組の1対1データ集合のペアを選択する(ステップS151)。
次に、1対1データ作成部20は、前記1対1データ集合のペアの中から、入力データが同一である1対1データ同士を、所定の確率p(0.0<p<1.0)で交換する(ステップS152)。この処理は、全ての入力データに対して行う。
次に、1対1データ作成部20は、全ての1対1データ集合のペアでシャッフル処理を行ったか否かの判断を行う(ステップS420)。もし、全て完了した場合(ステップS420“Yes”)、シャッフル処理を終了し、まだシャッフル処理を行っていないペアが存在する場合(ステップS420“No”)、ステップS400へ戻る。以上がステップS150のシャッフル処理の説明である。上記シャッフル処理は、複数回繰り返して行っても良い。
以上が、評価IDを混合した1対1データ集合を作成する方法であるが、他の方法、例えば、予め所定の個数だけ空の1対1データ集合を作成しておき、事例データから作成した1対1データを、前記1対1データ集合にランダムに格納するようにしても良い。
以上が、1対1データ作成部20の説明である。
次に、分類器作成部30について説明する。
分類器作成部30は、1対1データ作成部20によって作成された1対1データ集合を用いて学習アルゴリズムを適用することで、新たな分類器を作成する。分類器とは、データが入力されると、そのデータに基づいて少なくとも1つのクラスに分類するものである。学習アルゴリズムの公知の技術としては、“決定木”、“k−最近傍法(k−NN)”、“ニューラルネットワーク、サポートベクタマシン”、“ベイズモデル”などが知られている。学習アルゴリズムとは、学習用データを基に分類器自体を構築するためのアルゴリズムや、学習用データの変数選択を行うアルゴリズムである。
図7は、分類器作成部30が、1対1データ集合を用いて、複数の分類器を作成する動作の一例を示すフローチャートである。
分類器作成部30は、まず、1対1データ作成部20によって作成された1対1データ集合群を、1対1データ格納部12から読み込み、その1対1データ集合群の中で、まだ学習用データ集合として用いられていない1対1データ集合を1つ選択する(ステップS21)。1対1データ集合群とは、1対1データ格納部12に格納された、1対1データ集合の集合である。
図5の1対1データ集合の例であれば、1対1データ集合「M1」と、1対1データ集合「M2」と、1対1データ集合「F1」の3つをまとめたものである。
次に、分類器作成部30は、選択された1対1データ集合から、分類器自体の構築に用いるための学習用データ集合と、作成した分類器の評価に用いるための評価用データ集合を選択する(ステップS22)。
具体的には、分類器作成部30は、選択された1対1データ集合を均等に2分割して、一方を学習用データ集合、もう一方を評価用データ集合として選択する。例えば、奇数行を学習用データ、偶数行を評価用データとすることで、均等にデータを2分割する。また、評価用データ集合を、学習用データ集合ではない別の1対1データ集合から選択しても良い。すなわち、学習用データ集合を、まだ学習用データ集合として選択されていない1対1データ集合を、1対1データ集合群の中から1つ選択し、評価用データ集合は、1対1データ集合群の中から、前記学習用データ集合として選択された1対1データ集合以外をランダムに1つ選び出す。
図5に示す1対1データ集合群から、学習用データ集合と評価用データ集合を選択する例を示すと、1対1データ集合「M1」を学習用データ集合として選択した場合、残る2つの1対1データ集合「M2」と「F1」のいずれかをランダムに1つ選択し、選択された1対1データ集合を評価用データ集合とする。
次に、分類器作成部30は、新たに作成する分類器と、その分類器を作成するための構築パラメータと、学習アルゴリズムを選択する(ステップS23)。そのため、分類器作成部30は、予め、分類器と、構築パラメータと、学習アルゴリズムを組み合わせた分類器ペアを保持しておく。構築パラメータとは、分類器の構築に用いる関数や、しきい値などである。
図8は、分類器ペアの一例であって、分類器と、その分類器の構築パラメータ、及び学習のためのアルゴリズムを組み合わせ、それぞれのペアに、識別子である分類器ペアIDを割り振って格納した状態の一例を示している。
分類器作成部30は、このような分類器ペアの中で、現在選択されている学習用データ集合から、分類器の作成を行っていないものを分類器ペアID順に1つ選択する。構築パラメータが特に指定されていない場合、最も標準的な構築パラメータで分類器を構築する。
また、図8では、分類器ペアID「AlgoID1」と「AlgoID2」は、どちらも同様の分類器k−NNであり、学習アルゴリズムも、等しく遺伝的アルゴリズムであるが、構築パラメータが、それぞれ「k=3」と「k=5」とで異なっている。同じ分類器であっても、このように構築パラメータが異なれば、別の分類器として扱ってよい。
また、図8では、分類器ペアID「AlgoID2」と「AlgoID3」は、どちらも同様の分類器k−NNであるが、学習アルゴリズムが、それぞれ「遺伝的アルゴリズム」と「主成分分析」とで異なっている。同じ分類器であっても、このように学習アルゴリズムが異なれば、別の分類器として扱ってよい。
次に、分類器作成部30は、ステップS22で選択された学習用データ集合と、評価用データ集合と、ステップS23で選択された分類器ペアとを基に、新しい分類器を作成する(ステップS24)。もし、前記選択された学習用データ集合で、全ての分類器ペアで分類器を作成したのであれば(ステップS25“YES”)、ステップS26に進み、そうでなければ(ステップS25“NO”)、ステップS23に戻る(ステップS25)。
次に、分類器作成部30は、作成した分類器を、分類器格納部13に格納する(ステップS26)。分類器格納部13には、学習用データ集合として用いた1対1データ集合の識別子と、評価用データの分類結果が正解データと一致した割合である正答率と、分類器構築情報とを組み合わせて格納する。ここで、分類器構築情報とは、作成した分類器を再度構築するために必要な情報である。例えば、決定木やk−NNといった分類器の種類や、しきい値、重み、教師データ、分岐条件などを格納する。
図9は、分類器格納部13に格納された6つの分類器の一例を示す図である。
図9では、分類器1つ分の情報として、作成した分類器の識別子(分類器識別子)と、学習用データ集合として用いた1対1データ集合の識別子と、正答率と、分類器構築情報とを組み合わせて格納した様子を示している。例えば、分類器識別子「分類器1」は、1対1データ集合の識別子が「M1」であり、正答率が「0.80」であることを示している。
また、分類器構築情報として、分類器名「k−NN」と、その分類器を構築するために必要なパラメータを格納している。
次に、分類器作成部30は、全ての1対1データ集合を学習用データ集合として利用したか否かの判断を行う(ステップS27)。ここで、まだ学習用データ集合として利用していない1対1データ集合がある場合(ステップS27“NO”)、分類器作成部30は、ステップS21へ戻る一方、全て終えたのであれば(ステップS27“YES”)、分類器作成部30は、処理を終了する。
ここで、ステップS24の分類器作成処理の具体例として、分類器の1つである“k−NN”を作成し、学習アルゴリズムとして遺伝的アルゴリズム(GA)を用いて変数選択を行う方法を示す。
“k−NN”とは、クラスが不明なノードXに対してクラスを割り当てる場合、そのノードXから距離の近い順にk個のノードのクラスを参照し、最頻出クラスを、ノードXのクラスとする方法である。ノード間の距離は、入力データ同士のユークリッド距離を計算することで取得するが、ユークリッド距離ではなく、マハラノビスの汎距離などを用いても構わない。
ところで、この距離の算出に入力データの全ての変数を用いると、分類精度が低下することがある。例えば、変数の中には、分類にほとんど影響しないノイズデータが含まれていたり、重複した事象を説明したりすると、分類の精度が低下する。そのため、どの変数を用いるかを、取捨選択する必要がある。その組み合わせは、変数がN個あるとすると、2のN乗である。つまり、1つの組み合わせの評価に1ミリ秒かかる計算機上で、全ての組み合わせについて評価した場合、入力データの変数が高々20個の場合、17分ほどで処理が終了するが、50個の場合は、数万年以上処理を続けなければ終了しない。
そのため、変数の数がある程度大きい場合、どの変数を用いるかの選択に、学習アルゴリズムを適用する必要がある。そこで、その変数選択の学習アルゴリズムとして、遺伝的アルゴリズム(GA)を利用する。GAの詳細なアルゴリズムに関しては、David E. Goldberg著、"Genetic Algorithms in Searching, Optimization, and Machine Learning"に開示されている。
遺伝的アルゴリズム(GA)は、遺伝子の淘汰や交叉、突然変異、世代交代といった、生物進化から着想を得たアルゴリズムである。遺伝的アルゴリズム(GA)では、解くべき課題を遺伝子として、ビット列で表現する。
図10に、変数の取捨選択問題を遺伝子(ビット列)として表現した例を示す。
図10は、Z個の遺伝子個体に、n個の変数(A1,…,An)について[1:用いる、0:用いない]をそれぞれ設定した状態を示している。分類器作成部30は、これらZ個の遺伝子個体の初期集団は、最初はランダムに設定する。遺伝子数Zは、1世代当たりの遺伝子個体の数である。Z値に関しての規定は特にないが、5以上が望ましい。
図11は、遺伝的アルゴリズム(GA)による学習の手順の一例を示すフローチャートである。図11に示すように、評価関数の実行を行うステップS32から、世代交代処理を行うステップS37までを繰り返し実行する。この繰り返し処理を、遺伝的アルゴリズム(GA)では世代と呼ぶ。
まず、分類器作成部30は、Z個分の初期遺伝子個体を生成する(ステップS31)。遺伝子個体の各ビットは、ランダムに生成する。
次に、分類器作成部30は、評価用データ集合に対して、Z個それぞれの遺伝子個体の設定に基づいて”k−NN”を実行し、適応度を算出する(ステップS32)。適応度は、学習用データ集合を基に作成した”k−NN”を用いて、評価用データの分類を実際に行うことで算出する。学習用データ集合をT、評価用データ集合をEとし、i番目の遺伝子の値をGi、x番目の学習用データにおけるi番目の変数をt(x,i)、y番目の評価用データにおけるi番目の変数をE(y,i)とすると、学習用データxと評価用データyとのユークリッド距離D(x,y)は、次の式である数1によって求められる。
Figure 2010272053
分類器作成部30は、この距離計算を、x∈Tである全ての学習用データに対して行う。全ての学習用データとの距離を算出した後、算出されたユークリッド距離D(x,y)の小さい順にk個の学習用データを取得し、その正解データの最頻値を算出する。前記最頻値がy番目の評価用データに対応する正解データと一致しているか否かを調べ、一致していた場合、正解数cを1増加させる。以上の処理を、y∈Eである全ての評価用データに対して行い、正解データとの正答率を計算する。すなわち、j番目の遺伝子個体の正答率Rjは、評価用データの総データ数をMとすると、次の式である数2によって求められる。
Figure 2010272053
分類器作成部30は、ここで求められた正答率Rjを、遺伝子個体jの適応度とする。この適応度の計算を、Z個の遺伝子個体全てに対して行う。
次に、分類器作成部30は、ステップS32で求められたこの世代最大の適応度が、これまでの世代においても最大の適応度であったか否かを判断する(ステップS33)。もし、適応度がこれまでで最大である、もしくは1世代目である場合(ステップS33“YES”)、ステップS34に進む。そうでなければ(ステップS33“No”)、ステップS35に進む。
次に、分類器作成部30は、最も優秀な適応度が得られた遺伝子個体のビット配列と、その適応度とを対応付けて、格納部20に一時記憶する(ステップS34)。
次に、分類器作成部30は、学習を終了するか否かの判断を行う(ステップS35)。学習終了は、世代数が所定のしきい値を超えた場合や、最大の適応度が所定のしきい値を超えた場合や、全ての遺伝子個体の平均適応度が規定のしきい値を超えた場合などで判断する。全ての条件を判断しても良いし、どれか一つを判断するだけでも良い。もし、学習を終了する判断した場合(ステップS35“YES”)は、分類器作成処理を終了する。そうでなければ(ステップS35“No”)、ステップS36に進む。
次に、分類器作成部30は、次世代の遺伝子個体を設定する処理を行う(ステップS36)。この処理は遺伝的アルゴリズム(GA)の本質な部分であって、具体的には、遺伝子個体の交叉と突然変異、次世代に残す遺伝子個体の選択の処理を行う。
図12は、遺伝的アルゴリズム(GA)における一般的な世代交代処理の動作の一例を示すフローチャートである。
まず、分類器作成部30は、親となる遺伝子のペアから、子の遺伝子個体を作成するために、親のペアを選択する(ステップS40)。次に、分類器作成部30は、ステップS40で選択された親のペアの遺伝子個体を交叉させ、子の遺伝子個体を作成する(ステップS41)。次に、分類器作成部30は、作成された子の遺伝子個体に対し、突然変異処理を行う(ステップS42)。次に、分類器作成部30は、親の世代の中から、どの遺伝子個体を次の世代へ残すか、生存選択を行う(ステップS43)。以上が世代交代処理の流れである。複製選択や交叉、突然変異、生存選択には様々な方法があって、どの手法や組み合わせを用いても構わない。
ここで、単純GAモデルと呼ばれる方法を例に挙げて、世代交代処理の説明を行う。単純GAモデルでは、複製選択として、ルーレット選択を行う。ルーレット選択とは、遺伝子個体の適応度に比例した確率で遺伝子個体を選択する方法である。遺伝子個体jの選択確率p(j)は、次の式である数3によって求められる。
Figure 2010272053
分類器作成部30は、ここで求められたp(j)に従うように、乱数を用いて確率的に遺伝子個体を選択する。選択された遺伝子個体をペアとして子の遺伝子個体を作成するため、選択する数は最低2個である。
次に、分類器作成部30は、ステップS40で選択された遺伝子対を用いて子の遺伝子個体を作成するために、一点交叉を行う。一点交叉とは、ビット配列の任意の切断箇所を1カ所指定し、その箇所で、親の遺伝子ペアを交叉させる方法である。
図13は、{100101}のビット列を有する遺伝子個体Aと、{000111}のビット列を有する遺伝子個体Bとを親のペアとし、切断箇所を3ビット目に指定して一点交叉させることによって、新たな遺伝子個体Cと遺伝子個体Dを作成する様子を示したものである。
すなわち、切断箇所より左の遺伝子個体Aのビット列をA1={100}、右のビット列をA2={101}、切断箇所より左の遺伝子個体Bのビット列をB1={000}、右のビット列をB2=[111]とおくと、一点交叉によって新たに作成される遺伝子個体Cのビット列は{A1}{B2}={100111}、遺伝子個体Dのビット列は{B1}{A2}={000101}となる様子を示す。
次に、単純GAモデルにおける突然変異の処理の例を示す。新たに作成された遺伝子個体の各々のビットに対して、所定の割合でビットを反転させる。ビット反転の発生確率は、0.1%程度の小さい値に設定する。
次に、単純GAモデルにおける生存選択であるが、新たに作成された遺伝子個体のみを次世代に残し、旧世代の遺伝子個体は全て淘汰する方法を取る。1世代の遺伝子個体数に満たない分は、遺伝子個体のビット列をランダムで生成して新たに作成する。
以上が世代交代処理の一例である。世代交代処理を終えると、ステップS32に戻り、新しい世代の遺伝子個体に対し、適応度を計算する。
以上が学習アルゴリズムにGAを適用して”k−NN”を作成する例である。
“k−NN”の作成処理について詳述したが、もちろん、他の分類器や学習アルゴリズムを用いて分類器を作成することができる。例えば、分類器の1つである決定木を作成することもできる。決定木では、学習アルゴリズムとしてCARTやC4.5などが知られている。これらの学習アルゴリズムに従って、決定木を作成することができる。また、学習用データの変数の選択にGAを適用し、決定木を構築することもできる。
また、学習用データ集合と、評価用データ集合を用いて、多層パーセプトロンなどのニューラルネットワークを作成することもできる。
また、分類器としてサポートベクタマシン(SVM)を利用することも出来る。また、SVMでは、非線形の分離問題に対応するために、カーネル関数を用いた非線形SVMが知られている。この時用いられるカーネル関数として、多項式型カーネルや、ガウシアン型カーネルなどが知られているが、これらを異なる構築パラメータとしてSVMを作成しても良い。
また、入力データの正規化処理を行って分類器を作成しても良い。
また、本実施の形態では、”k−NN”で用いる変数の選択を遺伝的アルゴリズムを用いて行ったが、これに限定されるものではなく、決定木やサポートベクタマシンなど他の種類の分類器を作成する場合にも、遺伝的アルゴリズムを用いて入力データを構成する変数の選択を行っても良い。
分類器出力部40は、分類器格納部13に格納された分類器を、正答率の高い順に、所定の個数だけ選び出し、外部接続部100を介して出力する。例えば、図9に示す分類器格納部13に格納された分類器の例において、正答率の高い分類器の上位3つを選択する場合、正答率0.85の「分類器5」と、正答率0.80の「分類器1」と、正答率0.75の「分類器6」とを選択する。
また、同一の学習用データ集合によって作成された分類器ごとに、正答率の高い順に所定の個数ずつ取得するようにしても良い。例えば、図9の例では、1対1データ集合の識別子は「M1」と、「M2」と、「F1」の3種類である。これらの識別子ごとに、正答率の高い分類器を1つ選択する場合、「M1」から作成された分類器では、正答率0.80の「分類器1」を、「M2」から作成された分類器では、正答率0.68の「分類器4」を、「F1」から作成された分類器では、正答率0.85の「分類器5」を、それぞれ選択する。
また、所定値よりも正答率の高い分類器を選択するようにしても良い。例えば、正答率が0.80以上である分類器を選択するとした場合、図9の例では、正答率0.80の分類器1と、正答率0.85の分類器5を、それぞれ選択する。
また、出力する分類器の個数は、分類器出力部40に予め定める所定個数を基本とするが、外部から指定された個数を出力するようにしても良い。また、全ての分類器を出力するようにしても良い。
分類器出力部40によって選択された分類器は、外部接続部100を介して出力される。外部接続部100は、データの通信経路であって、バスやネットワークケーブルなどである。
以上がデータ分類器作成装置1の説明である。
従って、本実施形態1のデータ分類器作成装置1によれば、複数の分類器を作成して格納するので、1つの入力データに対し複数の評価者もしくは複数の判断基準を扱うことができると共に、1つの入力データに対し複数の評価者もしくは複数の判断基準を扱かってデジタルコンテンツを分類することができる。
その結果、1つの入力データに対し、複数の正解データが割り当てられているようなデータ集合で分類器を構築しても、分類精度の良い分類器を作成することが出来る。
また、本実施形態1のデータ分類器作成装置1では、1つの入力データに対して、複数の評価者によって複数の正解データが与えられた場合であっても、入力データと正解データとが1対1である1対1データを集めた1対1データ集合によって分類器を作成しているので、精度の良い分類器を作成することができ、特定の評価者の評価に偏らない、バランスの良い分類器を作成することが出来る。
実施の形態2.
図14は、本発明の実施の形態2におけるデータ分類装置2の構成例を示すブロック図である。
図14において、実施の形態2のデータ分類装置2は、分類器取得部60と、分類器保存部70と、分類実行部80と、分類結果統合部90とを備える。また、このデータ分類装置2は、外部接続部100を介して図1に示す実施の形態1のデータ分類器作成装置1と接続されている。このデータ分類装置2も、図1に示す実施形態1のデータ分類装置2と同様に、ソフトウェア的に構成するようにしてもよい。
図15は、図14に示すデータ分類装置2の動作の一例を示すフローチャートである。
図15を参照して、図14に示す実施の形態2におけるデータ分類装置2の動作を説明する。
まず、データ分類装置2の分類器取得部60は、データ分類器作成装置1から外部接続部100を介して分類器を取得し、取得した分類器を、分類器保存部70に格納する(ステップS200)。
次に、データ分類装置2の分類実行部80は、外部装置200から、入力データが入力されたか否かの判断を行う(ステップS210)。そして、入力データが入力されたのであれば(ステップS210“YES”)、ステップS220に進み、そうでなければ(ステップS210“NO”)、入力データが入力されるまで待機する。なお、外部装置200とは、バスやLANなどのケーブルや、マウスなどの入力装置で接続されている。
次に、データ分類装置2の分類実行部80は、分類器保存部70に格納された分類器を利用して、前記入力された入力データの分類を行う。(ステップS220)。
次に、データ分類装置2の分類結果統合部90は、複数の分類器から出力された分類結果を統合し、最終的な分類結果を決定する(ステップS230)。
次に、データ分類装置2の分類実行部80は、データを入力した外部装置200に、前記最終的な分類結果を出力する(ステップS240)。以上が、データ分類装置2の動作概要である。
次に、データ分類装置2の各部の説明を詳細に行う。
分類器取得部60は、外部接続部100を介して、データ分類器作成装置1から、データ分類器作成装置1に設定された個数だけ、分類器を取得し、取得した分類器を分類器保存部70に格納する。分類器保存部70は、データ分類器作成装置1の分類器格納部13と同様のデータを格納する。すなわち、図9に示すように、学習用データ集合として用いた1対1データ集合の識別子と、正答率と、分類器構築情報とを組み合わせて格納する。
分類器取得部60は、データ分類器作成装置1に、取得する分類器の個数を指定して、その個数だけ分類器を取得するようにしても良い。また、全ての分類器をデータ分類器作成装置1から取得するようにしても良い。また、正答率が所定値以上である分類器を、データ分類器作成装置1から取得するようにしても良い。
分類実行部80は、外部から入力データが入力されると、分類器保存部70に格納された複数の分類器に入力データを与え、複数の分類結果を得る。例えば、6つの分類器に入力データを与えて分類結果を取得する場合、{C1,C1,C1,C2,C2,C3}といったように、それぞれの分類器から1つずつ、合計6個の分類結果を取得する。
前記分類例{C1,C1,C1,C2,C2,C3}では、ユニークなクラスがC1,C2,C3と3つ存在するため、最終的な分類結果を1つのクラスとするためには、それらの分類結果をまとめて1つのクラスにする統合処理が必要である。
分類結果統合部90は、分類実行部80によって得られた複数の分類結果を統合し、最終的な分類結果となるクラスを1つ決定する。分類結果統合部90は、分類器から取得した分類結果の中で、最も多くの分類器から出力されたクラスを、最終分類結果として選択する多数決方式を用いる。例えば、分類結果が、{C1,C1,C1,C2,C2,C3}であったとする。この分類結果の例で多数決処理を行うと、C1が3票、C2が2票、C3が1票であるので、最大の得票数を獲得したC1を最終分類結果として選択する。
また、分類器それぞれの1票の大きさを正答率の値とするなど、分類器の1票に重み付けをして、得票数を計算しても良い。例えば、正答率が0.8の分類器と、正答率が0.7の分類器とが、同一のクラスを分類結果として出力した場合、0.8と0.7を足した1.5を、そのクラスの得票数とする。
以上が、データ分類装置2の説明である。
従って、本実施形態2のデータ分類装置2によれば、実施形態1のデータ分類器作成装置1によって作成され格納された複数の分類器を取得し、複数の分類器にて分類を実行し、その分類結果を統合して、最適な最終分類結果を選択することができ、その結果、従来よりも精度の良い分類結果を取得することが出来る。
実施の形態3.
実施の形態3のデータ分類器作成装置3は、実施の形態1のデータ分類器作成装置1で作成されるものと同様の分類器(一般分類器)に加え、限定された種類の正解データのみで構成された部分1対1データ集合からも、複数の分類器(専用分類器)を作成するようにしたものである。専用分類器は、限定された種類の正解データのみで構成された部分1対1データ集合から作成されるため、出力されるデータも、作成に用いられた正解データと同じ種類のクラスに限定される。このような専用分類器は、一般分類器による分類の結果、得票数が上位であるクラス間に所定以上の得票差が見られないなどの場合において、最終的なクラスへの分類を、より高い精度で行なうための決選投票に用いられる。例えば、C1とC2の2つのクラスについて決選投票を行う場合には、C1とC2のみを正解データとして含む1対1データ集合に基づいて作成された専用分類器を用いる。この専用分類器は、C1とC2のみを正解データとして含む1対1データ集合から作成された分類器であるため、出力される分類結果は、必ずC1かC2のどちらかのクラスとなる。
図16は、実施の形態3のデータ分類器作成装置3の構成例を示すブロック図である。
図16において、データ分類作成装置3は、データ分類器作成装置1と同様の構成であるが、1対1データ格納部12と、分類器格納部13が格納する内容と、1対1データ作成部20と、分類器作成部30の動作内容が異なるため、本実施の形態3においては、それぞれ1対1データ格納部12A、分類器格納部13A、1対1データ作成部20A、分類器作成部30Aとする。このデータ分類器作成装置3も、実施形態1のデータ分類器作成装置1と同様に、ソフトウェア的に構成するようにしてもよい。
ここで、実施の形態3のデータ分類器作成装置3の1対1データ作成部20Aは、データ分類器作成装置1の1対1データ集合の作成処理に加えて、特定の正解データが設定された1対1データのみで構成される部分1対1データ集合を1つ以上作成し、1対1データ格納部12Aに格納する。この部分1対1データ集合は、2種類の正解データの組み合わせを子の要素とし、その組み合わせの数だけ作成されることを基本とする。なお、2種類ではなく、2より大きな数であれば良い。また、全ての組み合わせで部分1対1データ集合を作成せずに、設計者側が部分1対1データ集合を作成する組み合わせを予め指定しても良い。
図17は、1対1データ作成部20Aの動作の一例を示すフローチャートである。1対1データ作成部20と同様の処理を行うステップに関しては、同様のステップ番号を割り振っている。
まず、1対1データ作成部20Aは、2種類のクラスを構成要素とする空の部分1対1データ集合を、1対1データ格納部12に作成する(ステップS100)。部分1対1データ集合は、2種類のクラスの組み合わせ全てについて、評価IDのユニーク数だけ作成される。例えば、クラスの組み合わせが10通りあって、評価IDのユニーク数が3である場合、10×3=30で、30個の部分1対1データ集合を作成する。また、それぞれの部分1対1データ集合の識別子として、構成要素と、評価IDを組み合わせたものを与える。例えば、構成要素のクラスが「C1」と「C2」であり、評価IDが「M1」である場合、その部分1対1データ集合の識別子として「M1 {C1,C2}」などを与える。
続くステップS110と、ステップS120と、ステップS130は、実施の形態1の1対1データ作成部20と同様である。
次に、1対1データ作成部20Aは、前記作成した1対1データの正解データと、評価IDとを基に、対応する部分1対1データ集合に、1対1データを追加する(ステップS135)。該当する部分1対1データ集合が複数存在する場合は、該当する部分1対1データ集合全てに1対1データを追加する。
図18(a)〜(c)は、それぞれ、評価ID「M1,M2,F1」ごとに、クラスC1,C2のみを要素とする部分1対1データ集合に1対1データを格納した状態を示すものである。
図18に示す3つの部分1対1データ集合は、正解データC1,C2が割り振られた1対1データのみを格納したものであって、さらに、図18(a)は、評価ID「M1」によって、図18(b)は評価ID「M2」によって、図18(c)は評価ID「F1」によって割り振られたものを格納している。
次のステップS140は、データ分類器作成装置1の1対1データ作成部20と同様である。以上の1対1データ作成部20Aによって、1対1データ格納部12Aには、図5に示す1対1データ集合に加えて、図18に示す部分1対1データ集合も格納される。
また、データ分類器作成装置1の1対1データ作成部20と同様に、シャッフル処理を行うことで、評価IDを混合した部分1対1データ集合を作成することもできる。シャッフル処理は、1対1データ作成部20と同様に、ステップS140の後に行われる。動作の流れも図6に示すフローチャートとほぼ同様であるが、ステップS151の処理が若干異なる。具体的には、部分1対1データ集合の評価IDを混合するために、1対1データを交換する部分1対1データ集合のペアを、まだシャッフル処理を行っていないものの中から選択する。部分1対1データ集合のペアは、1対1データの有する正解データの組み合わせが同一であって、評価IDが異なるものとする。その他のステップS152、ステップS153に関しては、実施の形態1と同様である。
以上が、1対1データ作成部20Aの説明である。
分類器作成部30Aの動作の流れは、図7に示すデータ分類器作成装置1の分類器作成部30と同様であるが、ステップS21と、ステップS22と、ステップS26の動作の内容が異なる。
まず、分類器作成部30Aは、1対1データ格納部12Aに格納された1対1データ集合群の中から、まだ選択されていない1対1データ集合を1つ選び出すと共に、各部分1対1データ集合群からも、部分1対1データ集合を1つ選び出す(ステップS21)。部分1対1データ集合群とは、構成要素を同一とする部分1対1データ集合をまとめたものである。例えば、図18に示す、部分1対1データ集合M1{C1,C2}と、部分1対1データ集合M2{C1,C2}と、部分1対1データ集合M3{C1,C2}は、同一の構成要素{C1,C2}を有する部分1対1データ集合であるので、これらをまとめたものが部分1対1データ集合群である。部分1対1データ集合群は、構成要素の組み合わせの数だけ存在し、部分1対1データ集合は、その部分1対1データ集合群ごとに1つずつ選択される。
次に、分類器作成部30Aは、ステップS21で選択された1対1データ集合と、部分1対1データ集合から、学習用データ集合と、評価用データ集合とを選択する(ステップS22)。1対1データ集合から学習用データ集合と、評価用データ集合とを選択する処理については、実施の形態1と同様である。
分類器作成部30Aでは、さらに、部分1対1データ集合からも、学習用データ集合と、評価用データ集合とを選択する。その場合は、ステップS21で選択された部分1対1データ集合を均等に2分割して、一方を学習用データ集合、もう一方を評価用データ集合とする。例えば、奇数行を学習用データ、偶数行を評価用データとすると、均等にデータを2分割することができる。この処理を、選択された全ての部分1対1データ集合に対して行う。
また、部分1対1データ集合の評価用データ集合は、前記学習用データ集合と同じ部分1対1データ集合群に属する部分1対1データ集合の中から、前記学習用データ集合として選ばれた以外の部分1対1データ集合を、ランダムに1つ選び出すようにしても良い。
続くステップS23と、ステップS24と、ステップS25は、実施の形態1と同様である。
次に、分類器作成部30Aは、作成した分類器を分類器格納部13Aに格納する(ステップS26)。分類器作成部30Aは、1対1データ集合を学習用データとして作成した分類器である一般分類器と、部分1対1データ集合を学習用データとして作成した分類器である専用分類器とを分けて、分類器格納部13Aに格納する。
図19は、分類器格納部13Aに格納された分類器の一例である。図19(a)は一般分類器の格納例であり、図19(b)は、専用分類器の格納例である。図19(a)の一般分類器のフォーマットは、実施の形態1で説明の図9と同様である。図19(b)は、分類器識別子と、部分1対1データ集合の識別子と、構成要素と、正答率と、分類器構築情報とを格納している。分類器識別子と、正答率と、分類器構築情報は、(a)の一般分類器と同様である。部分1対1データ集合の識別子は、専用分類器の作成に用いられた学習用データ集合の識別子である。構成要素は、専用分類器の構築に用いた部分1対1データ集合の構成要素を示す。例えば、図19(b)に示す3つの専用分類器では、構成要素{C1, C2}が格納されている。これは、正解データがC1とC2である1対1データのみの部分1対1データ集合から作成された、C1とC2を分類するための専用分類器であることを示す。
次のステップS27は、実施の形態1と同様である。
以上がデータ分類器作成装置3の説明である。
従って、実施の形態3のデータ分類器作成装置3によれば、実施の形態1のデータ分類器作成装置1で作成されるものと同様の分類器(一般分類器)を複数作成することができると共に、いくつかのクラスの正解データのみで構成された部分1対1データ集合から複数の分類器(専用分類器)を作成することができる。
実施の形態4.
図20は、本発明の実施の形態4におけるデータ分類装置4の構成例を示すブロック図である。
図20において、データ分類装置4は、分類器取得部60Aと、分類器保存部70と、分類実行部80Aと、分類結果統合部90とを備え、外部接続部100を介して図16に示す実施の形態3のデータ分類作成装置3と接続されている。分類器保存部70と、分類結果統合部90は、実施の形態2におけるデータ分類装置2のものと同様であるため、説明を省略する。
ここで、実施の形態4のデータ分類装置4では、実施の形態2のデータ分類装置2の分類器取得部60と分類実行部80の動作が異なるため、データ分類装置4では、それぞれ分類器取得部60A、分類実行部80Aとする。また、データ分類装置4の分類器取得部60は、外部接続部100を介して、データ分類器作成装置3と連結されている。また、分類実行部80は、外部装置200と接続されている。このデータ分類装置4も、実施形態1〜3のデータ分類装置1〜3と同様に、ソフトウェア的に構成するようにしてもよい。
データ分類装置4における分類器取得部60Aは、データ分類装置2の分類器取得部60と同様に、一般分類器をデータ分類器作成装置3から取得し、さらに、専用分類器も、データ分類器作成装置3から取得する処理を行う。
データ分類装置4における分類実行部80Aは、データ分類装置2の分類実行部80と同様に、複数の一般分類器を用いて分類を行い、さらに、前記一般分類器の分類結果が所定の条件を満たさない場合は、分類器取得部60Aに専用分類器を取得させ、その専用分類器を用いて決選投票を行う。
図21は、データ分類装置4の動作の一例を示すフローチャートである。
まず、データ分類装置4の分類器取得部60Aは、一般分類器を、外部接続部100を介して、データ分類器作成装置3から取得し、分類器保存部70に格納する(ステップS200)。この処理は、実施の形態2の分類器取得部60と同様である。
次のステップS210は、実施の形態2と同様である。
次に分類実行部80Aは、ステップS200で取得した一般分類器を基に、分類を行う(ステップS220)。この処理は、実施の形態2の分類実行部80と同様である。
次に、分類実行部80Aは、最大の票数を得たクラスの得票数が、所定値を上回ったか否かを判断する(ステップS221)。もし、所定値を上回っている場合、ステップS230に進み、そうでなければステップS222に進む。
次に、最大得票数が所定値を上回らなかった場合、分類器取得部60Aは、得票数上位2つのクラスから作成された専用分類器を、データ分類器作成装置3から取得する(ステップS222)。例えば、得票数上位2つのクラスがC1とC2である場合、C1とC2のみを構成要素とする学習用データ集合から作成された専用分類器を取得する。専用分類器も、一般分類器の取得処理と同様に、データ分類器作成装置3に設定された個数だけ、専用分類器を取得する。もしくは、取得する専用分類器の個数を指定して、その個数だけ専用分類器を取得するようにしても良い。
次に、分類実行部80Aは、以上のようにして取得した専用分類器で、同一の入力データに対して再び分類を行う(ステップS223)。つまり、ステップS223では、分類実行部80Aは、分類を行う分類器が専用分類器であること以外は、ステップS220と同様の処理を行う。もし、C1とC2の専用分類器で分類を行う場合、C1かC2、いずれかの分類結果が専用分類器によって出力される。
次に、分類結果統合部90は、分類結果を統合して、最終的な分類結果を決定し、分類実行部80Aに返す(ステップS230)。この処理は、実施の形態2と同様である。
次のステップS230は、実施の形態2と同様である。
以上が、実施の形態4のデータ分類装置4の動作の流れである。
なお、ステップS200において、分類器取得部60Aは、全ての専用分類器を取得して分類器保存部70に格納しておき、ステップS222で、分類器保存部70に格納された専用分類器から、決選投票に必要な分類器を読み出すようにしても良い。
また、得票数上位2つのクラスでの決選投票としたが、所定の得票率を超えるクラスによる決選投票など、2つ以上のクラスで決選投票を行っても良い。
従って、本実施の形態4のデータ分類装置4によると、上記実施の形態2のデータ分類装置2と同様の効果が得られると共に、さらに、実施の形態3のデータ分類器作成装置3によって作成された特定のクラス同士を専門に分類する専用分類器を用いることによって、分類の精度をさらに向上させることが出来る。
1,3 データ分類器作成装置
2,4 データ分類装置
10 格納部
11 事例データ格納部
12,12A 1対1データ格納部
13,13A 分類器格納部
20,20A 1対1データ作成部
30,30A 分類器作成部
40 分類器出力部
60,60A 分類器取得部
70 分類器保存部
80,80A 分類実行部
90 分類結果統合部
100 外部接続部
200 外部装置

Claims (13)

  1. 入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合を格納する事例データ格納部と、
    前記事例データ格納部から事例データの集合を読み出して、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数作成する1対1データ作成部と、
    前記作成された複数個数の1対1データの集合を参照しながら、1つの1対1データの集合から1つの分類器を作成するように制御して、複数の分類器を作成する分類器作成部と、
    を有するデータ分類器作成装置。
  2. 前記分類器作成部は、前記作成された複数個数の1対1データの集合に2種類以上の学習アルゴリズムを適用して、前記複数の分類器を作成する、請求項1に記載のデータ分類器作成装置。
  3. 前記分類器作成部は、前記作成された複数個数の1対1データの集合に、2つ以上の異なる学習パラメータを用いた学習アルゴリズムを適用して、前記複数の分類器を作成する、請求項1または請求項2に記載のデータ分類器作成装置。
  4. 前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納する、請求項1〜請求項3のいずれか一項に記載のデータ分類器作成装置。
  5. 前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、
    前記1対1データ作成部は、前記複数の評価者ごとに前記1対1データの集合を複数個数作成する1対1データ作成部と、
    を有する請求項4に記載のデータ分類器作成装置。
  6. 前記事例データ格納部は、同一の入力データに対して、複数の評価者によって付与された複数の正解データが対応する事例を含む事例データの集合を格納すると共に、
    前記1対1データ作成部は、1つの1対1データの集合に前記複数の評価者の正解データが含まれるように、前記1対1データの集合を複数個数作成する、請求項4に記載のデータ分類器作成装置。
  7. 前記分類器作成部は、さらに、遺伝的アルゴリズムを用いて、入力データを構成する変数を選択し、前記分類器を作成する、請求項1〜請求項6のいずれか一項に記載のデータ分類器作成装置。
  8. 入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数用いて、各々の前記1対1データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力する第1の分類部と、
    前記第1の分類部を構成する複数の分類器からの複数の出力データを用いて、最終的なクラスを出力する第2の分類部と、
    を有するデータ分類装置。
  9. 前記第1の分類部は、前記第2の分類部が出力対象とするクラスの内、一部の種類のクラスのみ出力可能な専用分類器と、前記第2の分類部が出力対象とするクラスの全種類のクラスを出力可能な一般分類器とにより構成される、
    請求項8に記載のデータ分類装置。
  10. 入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数作成するステップと、
    前記作成された複数個数の1対1データの集合を参照しながら、1つの1対1データの集合から1つの分類器を作成するように制御して、複数の分類器を作成するステップと、
    を有するデータ分類器作成方法。
  11. 入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数用いて、各々の前記1対1データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、
    前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、
    を有するデータ分類方法。
  12. 入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データに対して複数の正解データが対応する事例を含む事例データの集合から事例データの集合を読み出して、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数作成するステップと、
    前記作成された複数個数の1対1データの集合を参照しながら、1つの1対1データの集合から1つの分類器を作成するように制御して、複数の分類器を作成するステップと、
    をコンピュータに実行させるデータ分類器作成プログラム。
  13. 入力データと、前記入力データの正解の分類を示す正解データとが対応した事例データであって、同一の入力データが複数の正解データに対応する事例を含む事例データの集合から抽出された、1つの入力データが1つの正解データに対応する1対1データの集合を複数個数用いて、各々の前記1対1データの集合から作成された、複数の分類器によりそれぞれ分類して複数のデータを出力するステップと、
    前記複数の分類器からの複数の出力データを用いて、最終的なクラスを出力するステップと、
    をコンピュータに実行させるデータ分類プログラム。
JP2009125157A 2009-05-25 2009-05-25 データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム Active JP5353443B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009125157A JP5353443B2 (ja) 2009-05-25 2009-05-25 データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009125157A JP5353443B2 (ja) 2009-05-25 2009-05-25 データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム

Publications (2)

Publication Number Publication Date
JP2010272053A true JP2010272053A (ja) 2010-12-02
JP5353443B2 JP5353443B2 (ja) 2013-11-27

Family

ID=43420005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009125157A Active JP5353443B2 (ja) 2009-05-25 2009-05-25 データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム

Country Status (1)

Country Link
JP (1) JP5353443B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171327A (ja) * 2012-02-17 2013-09-02 Kddi Corp サポートベクトルマシンを構築する方法及び装置
JP2014115685A (ja) * 2012-12-06 2014-06-26 Nippon Telegr & Teleph Corp <Ntt> プロファイル解析装置及び方法及びプログラム
JP2019095968A (ja) * 2017-11-21 2019-06-20 日本電信電話株式会社 印象推定モデル学習装置、印象推定装置、印象推定モデル学習方法、印象推定方法、およびプログラム
JP2019148566A (ja) * 2018-02-28 2019-09-05 株式会社Screenホールディングス 教師データ作成支援方法および教師データ作成支援装置
JP2020512633A (ja) * 2017-03-22 2020-04-23 マイクロン テクノロジー,インク. ニューラルネットワークを動作させる装置及び方法
JP2020077158A (ja) * 2018-11-07 2020-05-21 オムロン株式会社 画像処理装置及び画像処理方法
WO2020153001A1 (ja) * 2019-01-24 2020-07-30 株式会社荏原製作所 情報処理システム、情報処理方法、プログラム及び基板処理装置
JP2020137005A (ja) * 2019-02-22 2020-08-31 株式会社ビデオリサーチ データ処理装置及びデータ処理方法
JP2020154513A (ja) * 2019-03-19 2020-09-24 ネクスティシステムデザイン株式会社 判定装置、判定方法及び判定プログラム
WO2021059375A1 (ja) * 2019-09-25 2021-04-01 日本電気株式会社 学習装置、学習方法、及び、記録媒体
JP7483005B2 (ja) 2019-11-26 2024-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ラベル検証

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNB201100560001; 元田 浩: データマイニングの基礎 第1版, 20061220, p.21-26,54-55,63, 株式会社オーム社 *
CSNG200500701004; 上田 修功: 'アンサンブル学習' 電子情報通信学会技術研究報告 Vol.104 No.291, 20040904, p.25-32, 社団法人電子情報通信学会 *
CSNG200600277007; 賀沢 秀人: '最大マージン原理に基づく多重ラベリング学習' 電子情報通信学会論文誌 第J88-D-II巻 第11号, 20051101, p.2246-2259, 社団法人電子情報通信学会 *
JPN6013026604; 元田 浩: データマイニングの基礎 第1版, 20061220, p.21-26,54-55,63, 株式会社オーム社 *
JPN6013026606; 上田 修功: 'アンサンブル学習' 電子情報通信学会技術研究報告 Vol.104 No.291, 20040904, p.25-32, 社団法人電子情報通信学会 *
JPN6013026608; 賀沢 秀人: '最大マージン原理に基づく多重ラベリング学習' 電子情報通信学会論文誌 第J88-D-II巻 第11号, 20051101, p.2246-2259, 社団法人電子情報通信学会 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171327A (ja) * 2012-02-17 2013-09-02 Kddi Corp サポートベクトルマシンを構築する方法及び装置
JP2014115685A (ja) * 2012-12-06 2014-06-26 Nippon Telegr & Teleph Corp <Ntt> プロファイル解析装置及び方法及びプログラム
JP2020512633A (ja) * 2017-03-22 2020-04-23 マイクロン テクノロジー,インク. ニューラルネットワークを動作させる装置及び方法
JP2019095968A (ja) * 2017-11-21 2019-06-20 日本電信電話株式会社 印象推定モデル学習装置、印象推定装置、印象推定モデル学習方法、印象推定方法、およびプログラム
JP2019148566A (ja) * 2018-02-28 2019-09-05 株式会社Screenホールディングス 教師データ作成支援方法および教師データ作成支援装置
JP2020077158A (ja) * 2018-11-07 2020-05-21 オムロン株式会社 画像処理装置及び画像処理方法
JP7123306B2 (ja) 2018-11-07 2022-08-23 オムロン株式会社 画像処理装置及び画像処理方法
CN113329845A (zh) * 2019-01-24 2021-08-31 株式会社荏原制作所 信息处理系统、信息处理方法、程序以及基板处理装置
JP2020120004A (ja) * 2019-01-24 2020-08-06 株式会社荏原製作所 情報処理システム、情報処理方法、プログラム及び基板処理装置
WO2020153001A1 (ja) * 2019-01-24 2020-07-30 株式会社荏原製作所 情報処理システム、情報処理方法、プログラム及び基板処理装置
JP7220573B2 (ja) 2019-01-24 2023-02-10 株式会社荏原製作所 情報処理システム、情報処理方法、プログラム及び基板処理装置
JP2020137005A (ja) * 2019-02-22 2020-08-31 株式会社ビデオリサーチ データ処理装置及びデータ処理方法
JP2020154513A (ja) * 2019-03-19 2020-09-24 ネクスティシステムデザイン株式会社 判定装置、判定方法及び判定プログラム
WO2021059375A1 (ja) * 2019-09-25 2021-04-01 日本電気株式会社 学習装置、学習方法、及び、記録媒体
JPWO2021059375A1 (ja) * 2019-09-25 2021-04-01
JP7310904B2 (ja) 2019-09-25 2023-07-19 日本電気株式会社 学習装置、学習方法、及び、プログラム
JP7483005B2 (ja) 2019-11-26 2024-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ラベル検証

Also Published As

Publication number Publication date
JP5353443B2 (ja) 2013-11-27

Similar Documents

Publication Publication Date Title
JP5353443B2 (ja) データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム
US11023806B2 (en) Learning apparatus, identifying apparatus, learning and identifying system, and recording medium
Chen et al. Efficient ant colony optimization for image feature selection
JP4948118B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN113366494A (zh) 用于少样本无监督图像到图像转换的方法
CN108140133A (zh) 程序生成装置、程序生成方法及生成程序
CN110751188B (zh) 基于多标记学习的用户标签预测方法、系统及存储介质
Chien et al. Learning discriminant functions with fuzzy attributes for classification using genetic programming
US20210019635A1 (en) Group specific decision tree
Rutkowski et al. On explainable fuzzy recommenders and their performance evaluation
WO2005048184A1 (ja) 能動学習方法およびシステム
CN116521908A (zh) 一种基于人工智能的多媒体内容个性化推荐方法
CN112541530B (zh) 针对聚类模型的数据预处理方法及装置
Farooq Genetic algorithm technique in hybrid intelligent systems for pattern recognition
Nickerson et al. Creating diverse ensembles for classification with genetic programming and neuro-map-elites
JPWO2012002215A1 (ja) 論理演算システム
Jabeen et al. Two layered Genetic Programming for mixed-attribute data classification
Banga Computational hybrids towards software defect predictions
Debie et al. On Taxonomy and Evaluation of Feature Selection‐Based Learning Classifier System Ensemble Approaches for Data Mining Problems
Liang et al. Improving generative adversarial network with multiple generators by evolutionary algorithms
Muni et al. Evolution of fuzzy classifiers using genetic programming
Peterson et al. Model and feature selection in microarray classification
EP4328801A2 (en) Determination program, determination apparatus, and determination method
WO2023073967A1 (ja) 精度判定プログラム、精度判定装置、および精度判定方法
CN113177604B (zh) 一种基于改进l1正则化和聚类的高维数据特征选择方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20111012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Ref document number: 5353443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150