JP5733229B2 - 分類器作成装置、分類器作成方法、及びコンピュータプログラム - Google Patents

分類器作成装置、分類器作成方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP5733229B2
JP5733229B2 JP2012023418A JP2012023418A JP5733229B2 JP 5733229 B2 JP5733229 B2 JP 5733229B2 JP 2012023418 A JP2012023418 A JP 2012023418A JP 2012023418 A JP2012023418 A JP 2012023418A JP 5733229 B2 JP5733229 B2 JP 5733229B2
Authority
JP
Japan
Prior art keywords
learning data
weight
class
value
classifier
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
JP2012023418A
Other languages
English (en)
Other versions
JP2013161298A (ja
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 Steel Corp
Original Assignee
Nippon Steel 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 Steel Corp filed Critical Nippon Steel Corp
Priority to JP2012023418A priority Critical patent/JP5733229B2/ja
Publication of JP2013161298A publication Critical patent/JP2013161298A/ja
Application granted granted Critical
Publication of JP5733229B2 publication Critical patent/JP5733229B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、分類器作成装置、分類器作成方法、及びコンピュータプログラムに関し、特に、与えられたデータが、2つのクラスの何れに属するのかを判断するための分類器を、クラスが既知である学習データを用いて自動的に構築するために用いて好適なものである。
従来から、与えられたデータが、あるルールに基づいて2つのクラスの何れに属するのかを判断するための装置である分類器が様々な産業で利用されている。製造業では、例えば、センサによる製品の計測データ等から製品が良品であるか否かを自動的に判断するために分類器が利用される。また、医療分野では、例えば、検査結果から或る病気の疑いが高い否かを自動的に判断するために分類器が利用される。
このような分類器におけるルールを、クラスが既知である多数の学習データを用いて自動的に作成することを教師付き学習という。教師付き学習により分類器を作成する場合、学習データが属するクラスの構成比率が極端に偏っていると、高精度の分類器が作成されないことが多い。例えば、センサによる製品の計測データから製品が良品であるか否かを判断するためのルールを、正解率(予測したクラスが実際のクラスと一致する割合)が高くなるように作成すると、一般に不良品の個数は良品の個数よりも極端に少ないため、常に相対的に多数の学習データが属するクラス(良品)と予測する分類器、若しくは、相対的に多数の学習データが属するクラス(良品)と予測する頻度が極端に高い分類器となってしまうことがある。以下の説明では、「相対的に少数の学習データが属するクラス」を必要に応じて「少数クラス」と称し、「相対的に多数の学習データが属するクラス」を必要に応じて「多数クラス」と称する。
このようにクラスの構成比率が極端に偏っている学習データを用いて分類器を作成する場合には、少数クラスに属するはずのデータを多数クラスに属すると判断してしまうこと(所謂少数クラスのとりこぼし)をなるべく回避したいというケースが多い。例えば、多少は良品を不良品と判断することは許容するが、不良品を良品と判断してしまうことを回避したいというケースが、このようなケースに該当する。
しかしながら、前述したように、分類器のルールの学習アルゴリズムは、通常、正解率が極力高くなるように作られる。少数クラスのとりこぼしと、多数クラスのとりこぼしを同じ尺度で考慮することになるため、前記ケースのような要望に対応できず、高精度の分類器が得られないことが多い。
そこで、学習データを加工(サンプリング)して分類器を作成することが行われている。具体的には、少数クラスの学習データの数が、当該少数クラスの学習データの数のN倍(N>1)になるように少数クラスの学習データの少なくとも一部を複製して少数クラスの学習データの数を増やし、このようにして数を増やした少数クラスの学習データと、多数クラスの学習データとを用いて、分類器のルールを作成するオーバーサンプリング法と称される方法がある。また、オーバーサンプリング法とは逆に、多数クラスの学習データの数が、当該多数クラスの学習データの数の1/M倍(M>1)になるように多数クラスの学習データの一部を削除して多数クラスの学習データの数を減らし、このようにして数を減らした多数クラスの学習データと、少数クラスの学習データとを用いて、分類器のルールを作成するアンダーサンプリング法と称される方法がある。ここで、前述したNやMは「重み」と称されるものである。
このようなオーバーサンプリング法やアンダーサンプリング法を用いて分類器を構成する場合、前述した重みN、Mの値により、分類器の性能が異なるので、重みの値を適切に決定することが必要となる。
非特許文献1に記載の技術では、多数クラスの学習データの個数を少数クラスに属する学習データの個数で割った値を、オーバーサンプリング法における重みNとしている(N=多数クラスに属する学習データの個数/少数クラスに属する学習データの個数)。非特許文献1に記載の技術では、このようにして少数クラスの学習データの個数と多数クラスの学習データの個数とを同じにすることで、学習データが属するクラスの構成比率の偏りを補正する。
また、特許文献1に記載の技術では、少数クラスと多数クラスの平均個数Pを算出し、平均個数Pを少数クラスに属する学習データの個数で割った値を、重みNとすると共に(N=P/少数クラスに属する学習データの個数)、平均個数Pを多数クラスに属する学習データの個数で割った値の逆数を、重みM(1/M=P/多数クラスに属する学習データの個数)としている。
特許文献1に記載の技術では、少数クラスに属する学習データの個数と、多数クラスに属する学習データの個数とを、共に、それらの平均個数Pに揃えることで、学習データが属するクラスの構成比率の偏りを補正する。
特開2010−204966号公報
亀井靖高、門田暁人、松本健一著、「Fault-proneness モデルへのオーバーサンプリング法の適用」、ソフトウェア信頼性研究会 第3回ワークショップ、pp.97-103、July 2006. 山口和範、高橋淳一著、「よくわかる多変量解析の基本と仕組み」、秀和システム、2004年
前述した特許文献1や非特許文献1では、少数クラスに属する学習データの個数と多数クラスに属する学習データの個数との偏りを無くせば、性能の高い分類器が得られるという仮定に基づいている。
しかしながら、この仮定が成り立つことは少ない。クラスの構成比率に偏りがある学習データを用いて分類器を作成するときには、それらの属性の分布を調べると、多数クラスの学習データの中に少数クラスの学習データが分布している場合が多い。よって、多数クラスの中から少数クラスを正確に抜き出すような分類器を作成する必要がある。
図9は、クラスの構成比率に偏りがある各学習データの属性の一例を示す図である。
図9において、○は、少数クラスの学習データを示し、×は、多数クラスの学習データを示す。
図9に示す例では、少数クラスは、点線の円内にしか分布していない。したがって、この点線の円から遠い位置にある多数クラスのデータ(図9の紙面に向かって左側に位置する×で示される多数クラスのデータ)は分類器の学習にとっては不必要なデータである。よって、多数クラスに属する学習データの個数と等しくなるように少数クラスの学習データをオーバーサンプリングにより増やすのは明らかに冗長である。
一方、少数クラスに属する学習データの個数と等しくなるように多数クラスの学習データをアンダーサンプリングにより一律に減らすのも、点線の円内にある多数クラスの学習データを不必要に削除することになるため、行き過ぎである。すなわち、点線の円内にある多数クラスの学習データは、少数クラスの学習データとの境界を定めるために必要な学習データであるのにも関わらず、このような学習データを削除することになる。
本発明者らは、このような新たな知見に基づき、サンプリング後の少数クラスに属する学習データの個数は、多数クラスに属する学習データの個数以下で良いという認識に至った。すなわち、「1」以上、「多数クラスに属する学習データの個数/少数クラスに属する学習データの個数」以下の間に、重みN、Mの最適値が存在するという認識に至った。
本発明は、このような認識を基にしてなされたものであり、与えられたデータが、2つのクラスの何れに属するのかを判断するための分類器を、クラスが付与された学習データを用いて自動的に構築する際に、一方のクラスに属する学習データの個数が他方のクラスの個数よりも極端に少ない場合でも、過不足なく学習データをサンプリングし、データを高精度に分類できる分類器を構築することを目的とする。
本発明の分類器作成装置は、2つのクラスの何れのクラスに属するのかが既知である学習データのうち、相対的に少数の学習データが属するクラスである少数クラスの学習データの個数を重みに応じた倍率で増やすことと、相対的に多数の学習データが属するクラスである多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行うことにより、前記学習データの数を変更して新学習データを作成し、当該新学習データを用いて、与えられたデータが2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成装置であって、前記多数クラスの学習データの個数を前記少数クラスの学習データの個数で割った値以下で、1以上の値の範囲の中から、前記重みの上限値と下限値を定め、前記上限値と下限値の範囲から値が相互に異なる複数の仮の重みを決定する仮重み決定手段と、前記少数クラスの学習データの個数を前記仮の重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記仮の重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成する学習データサンプリング手段と、前記学習データサンプリング手段により学習データの個数が変更された後の前記新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための仮の分類器を作成することを、前記新学習データのセット毎に行って、複数の前記仮の分類器を得る学習手段と、前記仮の分類器により前記学習データを前記2つのクラスの何れかに分類した結果に基づいて、前記学習手段により得られた仮の分類器の性能を評価する評価値を算出することを、前記複数の仮の分類器毎に行って、複数の前記評価値を得る評価値算出手段と、前記評価値算出手段により得られた評価値と、当該評価値を得る際に用いられた仮の重みとを用いて、評価値と重みとの関係を求め、求めた関係において、前記下限値から前記上限値までの範囲で最も大きな値を有する評価値に対応する重みを、重みの最適値として導出する最適重み導出手段と、前記重みの最適値を前記重みとして用いて、前記少数クラスの学習データの個数を前記重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行って、前記新学習データを作成し、当該新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成手段と、を有することを特徴とする。
本発明の分類器作成方法は、2つのクラスの何れのクラスに属するのかが既知である学習データのうち、相対的に少数の学習データが属するクラスである少数クラスの学習データの個数を重みに応じた倍率で増やすことと、相対的に多数の学習データが属するクラスである多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行うことにより、前記学習データの数を変更して新学習データを作成し、当該新学習データを用いて、与えられたデータが2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成方法であって、前記多数クラスの学習データの個数を前記少数クラスの学習データの個数で割った値以下で、1以上の値の範囲の中から、前記重みの上限値と下限値を定め、前記上限値と下限値の範囲から値が相互に異なる複数の仮の重みを決定する仮重み決定工程と、前記少数クラスの学習データの個数を前記仮の重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記仮の重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成する学習データサンプリング工程と、前記学習データサンプリング工程により学習データの個数が変更された後の前記新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための仮の分類器を作成することを、前記新学習データのセット毎に行って、複数の前記仮の分類器を得る学習工程と、前記仮の分類器により前記学習データを前記2つのクラスの何れかに分類した結果に基づいて、前記学習工程により得られた仮の分類器の性能を評価する評価値を算出することを、前記複数の仮の分類器毎に行って、複数の前記評価値を得る評価値算出工程と、前記評価値算出工程により得られた評価値と、当該評価値を得る際に用いられた仮の重みとを用いて、評価値と重みとの関係を求め、求めた関係において、前記下限値から前記上限値までの範囲で最も大きな値を有する評価値に対応する重みを、重みの最適値として導出する最適重み導出工程と、前記重みの最適値を前記重みとして用いて、前記少数クラスの学習データの個数を前記重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行って、前記新学習データを作成し、当該新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成工程と、を有することを特徴とする。
本発明のコンピュータプログラムは、前記分類器作成装置の各手段としてコンピュータを機能させることを特徴とする。
本発明によれば、多数クラスの学習データの個数を少数クラスの学習データの個数で割った値以下で、1以上の値の範囲の中から、重みの上限値と下限値を定め、その上限値と下限値の範囲の中から、分類器に対する評価値として最も高い値を有する評価値に対応する重みを重みの最適値とし、当該重みの最適値を用いて学習データをサンプリングして分類器を作成するようにした。よって、一方のクラスに属する学習データの個数が他方のクラスに属する学習データの個数よりも極端に少ない場合でも、過不足なく学習データをサンプリングし、データを高精度に分類できる分類器を構築することができる。
分類器作成装置の構成の一例を示す図である。 決定木の一例を示す図である。 混合行列の一例を説明する図である。 F値と重みNとの関係の一例を示す図である。 分類器作成装置の処理の一例を説明するフローチャートである。 学習データサンプリング処理の詳細を説明するフローチャートである。 最適重み導出処理を説明するフローチャートである。 実施例、比較例における混合行列を示す図である。 クラスの構成比率に偏りがある各学習データの属性の一例を示す図である。
以下、図面を参照しながら、本発明の一実施形態を説明する。
[第1の実施形態]
まず、本発明の第1の実施形態について説明する。
(分類器作成装置100の構成)
図1は、分類器作成装置100の構成の一例を示す図である。図1に示す分類器作成装置100は、例えば、CPU、ROM、RAM、HDD、及び各種のインターフェースを備えたコンピュータシステム(情報処理装置)を用いることにより実現される。分類器作成装置100が作成する分類器は、与えられたデータの属性をルールに当てはめて、当該データが2つのクラスの何れに属するのかを判断するものである。以下に、分類器作成装置100が有する機能の一例を説明する。尚、本実施形態では、決定木により、分類器のルールを構築する場合を例に挙げて説明する。決定木とは、データの分析手法の一つであって、図2に示すように、データを様々な条件に従って木の枝葉のように分類していく分析手法である。図2に示す例では、最終的に良品及び不良品の何れかのクラスにデータが分類される。
<学習データ入力部101>
学習データ入力部101は、オペレータ(分類器の作成者)による操作等に基づいて、複数の学習データを入力する。複数の学習データのそれぞれは、正しいクラスが分かっている実績データである。学習データは、例えば、センサによる製品の計測データであり、クラスは、例えば、製品が良品であるか否かである。この場合、複数の学習データのそれぞれには、その学習データの基となる製品が良品又は不良品の何れであるのかを示す情報がクラスの情報として付与(内包)されている。学習データの数については、作成しようとする分類器に対して期待する性能や、分類器を作成する際の計算負荷等によって、適宜決定することができる。
学習データ入力部101は、例えば、CPUが、オペレータによるユーザインタフェースの操作に基づいて学習データを入力してRAM等に記憶することにより実現される。この他、例えばCPUが、通信インターフェースを介して外部装置から学習データを入力してRAM等に記憶するようにしてもよい。さらに、CPUが、可搬型の記憶媒体に記憶された学習データを入力して(読み出して)RAM等に記憶するようにしてもよい。
<重み範囲入力部102>
重み範囲入力部102は、オペレータによる操作等に基づいて、重みNの範囲を入力する。前述したように、本発明者らは、「1」以上、「多数クラスに属する学習データの個数/少数クラスに属する学習データの個数」以下の間に、重みの最適値が存在するという新たな知見を得た。よって、重み範囲入力部102により入力される重みNの範囲の下限値Nminが、「1」以上となり(Nmin≧1)、且つ、重み範囲入力部102により入力される重みNの範囲の上限値Nmaxが、「(多数クラスに属する学習データの個数/少数クラスに属する学習データの個数)Nr」以下となるように(Nmax≦Nr)、重みNの範囲がオペレータによって定められる。
重み範囲入力部102は、例えば、CPUが、オペレータによるユーザインタフェースの操作に基づいて重みNの範囲を入力してRAM等に記憶することにより実現される。この他、例えばCPUが、通信インターフェースを介して外部装置から重みNの範囲を入力してRAM等に記憶するようにしてもよい。さらに、CPUが、可搬型の記憶媒体に記憶された重みNの範囲を入力して(読み出して)RAM等に記憶するようにしてもよい。
<仮重み決定部103>
仮重み決定部103は、重み範囲入力部102により入力された重みNの範囲の中から、予め設定された方法で、予め設定された数の仮の重みN´を、値が重ならないように決定する。本実施形態では、以下の(1)式〜(3)式により、3つの仮の重みN´1、N´2、N´3を決定する場合を例に挙げて説明する。
仮の重みN´1=Nmin ・・・(1)
仮の重みN´2=(Nmin+Nmax)/2 ・・・(2)
仮の重みN´3=Nmax ・・・(3)
前述したように、本実施形態では、重みNの範囲の下限値Nminが「1」以上であり、上限値Nmaxが「Nr」以下である。よって、Nmin=1かつNmax=Nrのときには、(1)〜(3)式を用いて仮の重みを定めると、仮の重みN´1は、「1」となり、仮の重みN´2は、「(1+Nr)/2」となり、仮の重みN´3は、「Nr」となる。
仮の重みの決定方法は、(1)〜(3)式以外でも構わない。本発明は、NminからNmaxの範囲内で、複数の仮の重みと各々の評価値から、重みNの最適値を予測する手法であるため、仮の重みの値の選択方法は、それぞれの仮の重みの値が重複せず、NminからNmaxの範囲を広くカバーするように選択すれば良い。例えば、以下の(1)'式〜(3)'式を用いて仮の重みを決定しても良い。
仮の重みN´1=Nmin+1×(Nmax−Nmin)/4 ・・・(1)'
仮の重みN´2=Nmin+2×(Nmax−Nmin)/4 ・・・(2)'
仮の重みN´3=Nmin+3×(Nmax−Nmin)/4 ・・・(3)' 仮重み決定部103は、例えば、CPUが、RAM等から、重みNの範囲を読み出して、(1)式〜(3)式等の計算を行うことにより仮の重みN´の値を求めてRAM等に記憶することにより実現される。
<学習データサンプリング部104>
学習データサンプリング部104は、仮重み決定部103で決定された複数の仮の重みN´のそれぞれを用いて、学習データ入力部101により入力された学習データのうち、少数クラスに属する学習データをオーバーサンプリングして、少数クラスに属する学習データの数を増加させた新学習データを作成する。
学習データサンプリング部104により、仮の重みN´のそれぞれについて新学習データが得られる。本実施形態では、3つの仮の重みN´1、N´2、N´3に対応して、学習データサンプリング部104により、新学習データのセットが3つ得られる。本実施形態では、学習データサンプリング部104は、これら新学習データのセットを個別に求めるために、3つの学習データサンプリング部(第1の学習データサンプリング部104a、第2の学習データサンプリング部104b、第3の学習データサンプリング部104c)を有する。第1、第2、第3の学習データサンプリング部104a、104b、104cは、それぞれ、仮の重みN´1、N´2、N´3を用いて少数クラスに属する学習データをオーバーサンプリングする。
尚、使用する仮の重みN´の値が異なる他は、第1、第2、第3の学習データサンプリング部104a、104b、104cの機能は同じである。よって、ここでは、仮の重みN´2を用いて少数クラスに属する学習データをサンプリングする第2の学習データサンプリング部104bについて説明し、その他の第1、第3の学習データサンプリング部104a、104cについての詳細な説明を省略する。
第2の学習データサンプリング部104bは、多数クラスの学習データを必ず新学習データに追加する。また、第2の学習データサンプリング部104bは、少数クラスに属する学習データを、平均的に仮の重みN´2の回数だけ繰り返し複製して新学習データに追加する。
具体的に、第2の学習データサンプリング部104bは、学習データを識別するデータ番号i(i=0、1、2、・・・)が付与された各学習データのそれぞれについて、データ番号iが小さい学習データから順に以下の処理を行う。
まず、第2の学習データサンプリング部104bは、データ番号iの学習データが、少数クラスに属する学習データであるか否かを判定する。この判定の結果、データ番号iの学習データが、少数クラスに属する学習データでない場合(多数クラスに属する学習データである場合)、第2の学習データサンプリング部104bは、データ番号iの学習データを新学習データとして採用する。
一方、データ番号iの学習データが、少数クラスに属する学習データである場合、第2の学習データサンプリング部104bは、学習データの累積追加個数p(p=0、1、2、・・・)の値が、その上限値q(qの初期値は仮の重みN´2とする)以上となるまで、データ番号iの学習データを繰り返し新学習データとして採用する。そして、第2の学習データサンプリング部104bは、現在の上限値qに仮の重みN´2を加えた値を新たな上限値qとする。
例えば、仮の重みN´2の値が「2.5」である場合、少数クラスに属する学習データは、データ番号iが小さいものから順に3回、2回ずつ交互に繰り返し新学習データとして採用される。
学習データサンプリング部104は、例えば、CPUが、以上の処理を行うことにより、仮の重みN´のそれぞれに基づいて、少数クラスに属する学習データをオーバーサンプリングして新学習データを作成し、新学習データをRAM等に記憶することにより実現される。
<学習部105>
学習部105は、学習データサンプリング部104で得られた新学習データのセットを、新学習データのセット毎に学習して、正解率(分類器で予測したクラスが実際のクラスと一致する割合)が最も高くなるような仮の分類器を、新学習データのセットの数と同じ数だけ作成する。
本実施形態では、学習データサンプリング部104により、新学習データのセットが3つ得られる。よって、学習部105により3つの仮の分類器が得られる。学習部105は、これら3つの仮の分類器を個別に作成するために、3つの学習部(第1の学習部105a、第2の学習部105b、第3の学習部105c)を有する。第1、第2、第3の学習部105a、105b、105cは、それぞれ、第1、第2、第3の学習データサンプリング部104a、104b、104cにより得られた新学習データを学習して仮の分類器を作成する。
分類器である決定木を作成するための学習アルゴリズムは、例えば、非特許文献2等に記載されている公知の技術を用いて実現することができる。よって、ここでは、分類器を作成するための学習アルゴリズムの詳細な説明を省略する。
学習部105は、例えば、CPUが、新学習データの組毎に新学習データを学習し、新学習データの組の数と同数の仮の分類器を作成し、作成した仮の分類器の情報をRAM等に記憶することにより実現される。
<評価値算出部106>
評価値算出部106は、学習部105で得られた複数の仮の分類器のそれぞれを、元の学習データを用いて評価し、評価値を算出する。本実施形態では、学習部105により、3つの仮の分類器が作成されるので、3つの評価値が得られる。これら3つの評価値を求めるために、評価値算出部106は、3つの評価値算出部(第1の評価値算出部106a、第2の評価値算出部106b、第3の評価値算出部106c)を有する。第1、第2、第3の評価値算出部106a、106b、106cは、それぞれ、第1、第2、第3の学習部105a、105b、105cにより得られた分類器の評価値を算出する。
本実施形態では、分類器の評価値として、非特許文献1等に記載されているF値を用いる場合を例に挙げて説明する。尚、評価の対象となる分類器が異なる他は、第1、第2、第3の評価値算出部106a、106b、106cの機能は同じである。よって、ここでは、第1の評価値算出部106aについて説明を行い、その他の第2、第3の評価値算出部106b、106cについての詳細な説明を省略する。
まず、第1の評価値算出部106aは、学習データ入力部101により入力された元の学習データを、第1の学習部105aにより作成された仮の分類器に入力して分類し、混合行列を作成する。
図3は、混合行列の一例を説明する図である。図3において、n11は、実績(実際のクラス)が多数クラスである学習データを正しく予測した個数であり、n12は、実績が多数クラスである学習データを間違って予測した個数である。また、n22は、実績が少数クラスである学習データを正しく予測した個数であり、n21は、実績が少数クラスである学習データを間違って予測した個数である。
第1の評価値算出部106aは、これらの値n11、n12、n21、n22を用いて、以下の(4)式に示す適合率と、以下の(5)式に示す再現率を計算する。
適合率=n22/(n12+n22) ・・・(4)
再現率=n22/(n21+n22) ・・・(5)
適合率とは、少数クラスと予測された学習データのうち、実際に少数クラスに属する学習データの割合である。例えば、学習データが、センサによる製品の計測データであり、クラスが、製品が良品であるか否かである場合、この適合率は、不良品と予測された製品の中に、本当に不良品の製品がどのくらい割合で含まれているのかを示すものである。
再現率とは、実際に少数クラスに属する学習データのうち、少数クラスと予測された学習データの割合である。前述した例では、この再現率は、本当に不良品の製品の中に、不良品であると予測された製品がどのくらいの割合で含まれているのかを示すものである。
再現率と適合率は、何れも、値が大きい程、評価が高いことを表すものである。
次に、第1の評価値算出部106aは、これらの適合率及び再現率と、予め値が設定されている調整係数β(通常は1)とを用いて、以下の(6)式に示すF値を計算する。
Figure 0005733229
(6)式に示すように、F値は、適合率と再現率との重み付き調和平均値である。
以上のようにして、第1、第2、第3の評価値算出部106a、106b、106cは、第1、第2、第3の学習部105a、105b、105cにより得られた分類器の評価値としてF値F1、F2、F3を得る。
評価値算出部106は、例えば、CPUが、複数の仮の分類器のそれぞれに対する評価値(F値)を算出してRAM等に記憶することにより実現される。
<最適重み導出部107>
最適重み導出部107は、仮重み決定部103で得られた複数の仮の重みN´と、それらに対応して評価値算出部106で得られた複数の評価値Fとを用いて、重みの最適値Noptを算出する。本実施形態では、3つの仮の重みN´1、N´2、N´3と、それらに対応する3つのF値F1、F2、F3とを用いて、重みの最適値Noptが得られる。
本実施形態では、重みNとF値との関係F(N)を、以下の(7)式に示す2次関数で近似する。最適重み導出部107は、3つの仮の重みとF値との組(N´1,F1)、(N´2,F2)、(N´3,F3)から、以下の(7)式に示す2次関数の係数a、b、cを、以下の(8)式〜(10)式により算出する。
Figure 0005733229
(7)式において、F(N)は、F値がNの関数で表されることを示し、Nは、重み変数(重み)を示す。
最適重み導出部107は、(8)式〜(10)式により算出した係数a、b、cと、重みNの範囲の下限値である「Nmin」とを(7)式に代入して、重みNの値がNminであるときのF値F(Nmin)を算出する。また、最適重み導出部107は、(8)式〜(10)式により算出した係数a、b、cと、重みNの範囲の上限値である「Nmax」とを(7)式に代入して、重みNの値がNmaxであるときのF値F(Nmax)を算出する。
最適重み導出部107は、前述したようにして算出した係数a、b、cに基づいて、(7)式に示す2次関数が上に凸の関数であるか否かを判定する。具体的に、以下の(11)式の関係を満たす場合に、(7)式に示す2次関数が上に凸の関数となる。
a+b+c<0 ・・・(11)
ここで、3つの異なる点を通る2次関数が(7)式のように表せることと、以下の(11)式の関係を満たす場合に(7)式に示す2次関数が上に凸の関数となることと、を説明する。
まず、任意の3つの異なる点(x1,y1)、(x2,y2)、(x3,y3)を通る2次関数は、係数a、b、cを用いると以下の(12)式で表される。
Figure 0005733229
点(x1,y1)を(12)式に代入すると、以下の(13)式が得られる。さらに、点(x2,y2)、点(x3,y3)をそれぞれ(12)式に代入すると、以下の(14)式、(15)式が得られる。
Figure 0005733229
以上より、3つの異なる点(x1,y1)、(x2,y2)、(x3,y3)を通る2次関数は、(13)式、(14)式、(15)式で算出される係数a、b、cを持つ(12)式の関数となる。ここで、x1をN´1、y1をF1、x2をN´2、y2をF2、x3をN´3、y3をF3に置き換えれば、(12)式が(7)式に、(13)式が(8)式に、(14)式が(9)式に、(15)式が(10)式に対応することになる。このように、3つの異なる点を通る2次関数は、(7)式のように表すことができる。
次に、(12)式をxで微分すると、以下の(16)式が得られる。したがって、2次関数yの極値xoptは、(16)式の右辺の値が0(ゼロ)であるときのxの値であるため、以下の(17)式のようにして求められる。
Figure 0005733229
極値xoptにおいて2次関数yが上に凸である条件は、(12)式の2階微分の値が極値xoptにおいて負ということであるから、以下の(18)式、(19)式のようになる。
Figure 0005733229
よって、前述したように、(11)式の関係を満たす場合に(7)式に示す2次関数が上に凸の関数となる。
以上のように(11)式の関係を満たす場合((7)式に示す2次関数が上に凸の関数である場合)、最適重み導出部107は、以下の(20)式により、(7)式に示す2次関数の極大値に対応する重みNoptを算出する。
Figure 0005733229
最適重み導出部107は、(20)式により算出した重みNの値が、重みNの範囲の下限値である「Nmin」以上、重みNの範囲の上限値である「Nmax」以下の範囲にあるか否かを判定する。
この判定の結果、(20)式により算出した重みNの値が、「Nmin」以上、「Nmax」以下の範囲内である場合、最適重み導出部107は、(20)式により算出した重みNを重みの最適値Noptとする。
一方、(20)式により算出した重みNの値が、「Nmin」以上、「Nmax」以下の範囲内でない場合、最適重み導出部107は、重みNの範囲の下限値である「Nmin」に対応するF値F(Nmin)と、重みNの範囲の上限値である「Nmax」に対応するF値F(Nmax)とのうち、値が大きい方のF値に対応する重みN(「Nmin」又は「Nmax」)を重みの最適値Noptとして選択する。
また、(11)式の関係を満たさない場合((7)式に示す2次関数が上に凸の関数でない場合)も同様に、最適重み導出部107は、F(Nmin)とF(Nmax)とのうち、値が大きい方のF値に対応する重みN(「Nmin」又は「Nmax」)を重みの最適値Noptとして選択する。
図4は、F値と重みNとの関係の一例を示す図である。図4では、(7)式に示す2次関数が上に凸の関数である場合を例に挙げて示している。F値の値が大きいほど、分類器の評価は高くなるので、図4に示す例では、F値が極大値となるときの重みNが重みの最適値Noptとなる。
最適重み導出部107は、例えば、CPUが、重みの最適値Noptを算出してRAM等に記憶することにより実現される。
<学習データサンプリング部108>
学習データサンプリング部108は、最適重み導出部107で得られた重みの最適値Noptを用いて、学習データ入力部101により入力された学習データのうち、少数クラスに属する学習データをオーバーサンプリングして、少数クラスに属する学習データを増加させた新学習データを作成する。少数クラスに属する学習データをオーバーサンプリングする方法は、学習データサンプリング部104の説明で示した方法と同じ方法で実現されるので、ここでは、その詳細な説明を省略する。
学習データサンプリング部108は、例えば、CPUが、重みの最適値Noptに基づいて、少数クラスに属する学習データをオーバーサンプリングして新学習データを作成し、新学習データをRAM等に記憶することにより実現される。
<学習部109、分類器格納部110>
学習部109は、学習データサンプリング部108で得られた新学習データを学習して、正解率が最も高くなるような分類器を(1つ)作成し、分類器格納部110に格納する。前述したように、分類器である決定木を作成するための学習アルゴリズムは、公知の技術を用いて実現することができるので、ここでは、分類器を作成するための学習アルゴリズムの詳細な説明を省略する。
学習部109は、例えば、CPUが、新学習データを学習して分類器を作成し、作成した分類器の情報をHDD等に記憶することにより実現される。分類器格納部110は、例えば、HDD等により実現される。
分類器作成装置100は、以上のようにして得られた分類器を用いて、評価の対象となるデータが2つのクラスの何れに属するのかを判断し、判断した結果を出力する。出力の形態としては、例えば、表示装置への表示、記憶媒体への記憶、外部装置への送信等がある。尚、このように、分類器作成装置100が、分類器を作成することと、分類器を使用したデータの分類との双方を行うようにしても、分類器作成装置100が作成した分類器を、分類器作成装置100とは異なる別の情報処理装置に移管し、当該情報処理装置が、当該分類器を用いてデータの分類を行うようにしてもよい。
(動作フローチャート)
次に、図5のフローチャートを参照しながら、分類器作成装置100の処理の一例を説明する。
まず、ステップS501において、学習データ入力部101は、オペレータによる操作等に基づいて、複数の学習データを入力する。
次に、ステップS502において、重み範囲入力部102は、重みNの範囲を入力する。重み範囲入力部102は、入力した重みNの範囲の下限値Nminが、「1」以上であり、且つ、重みNの範囲の上限値Nmaxが、「Nr」以下である場合に限り、入力した重みNの範囲を受け付け、それ以外の場合には、表示画面等を使用して、重みNの範囲の再度の入力をオペレータに促すようにする。
次に、ステップS503において、仮重み決定部103は、ステップS502で入力された重みNの範囲の中から、3つの仮の重みN´1、N´2、N´3を決定する。
次に、ステップS504において、学習データサンプリング部104は、ステップS503で決定された仮の重みN´1、N´2、N´3をこの順番で1つずつ選択する。
次に、ステップS505において、学習データサンプリング部104は、ステップS504で選択された仮の重みN´を用いて少数クラスに属する学習データをオーバーサンプリングし、新学習データを作成する学習データサンプリング処理を行う。尚、学習データサンプリング処理の詳細については、図6を参照しながら後述する。
次に、ステップS506において、学習部105は、ステップS505で得られた新学習データを学習して、正解率が最も高くなるような仮の分類器を作成する。
次に、ステップS507において、評価値算出部106は、ステップS506で得られた仮の分類器に対する評価値であるF値を、ステップS501で入力された学習データを用いて算出する。
次に、ステップS508において、学習データサンプリング部104は、ステップS503で決定された仮の重みN´1、N´2、N´3の全て(すなわちN´3)を選択したか否かを判定する。この判定の結果、ステップS503で決定された仮の重みN´1、N´2、N´3の全てを選択していない場合には、ステップS504に戻る。そして、ステップS503で決定された仮の重みN´1、N´2、N´3の全てについて、仮の分類器の作成と、その評価値(F値)の導出とが終了するまで、ステップS504〜S508の処理を繰り返し行う。
ステップS508において、ステップS503で決定された仮の重みN´1、N´2、N´3の全てを選択したと判定されると、ステップS509に進む。
ステップS509に進むと、最適重み導出部107は、ステップS503で得られた仮の重みN´1、N´2、N´3と、それらに対応して評価値算出部106で得られた複数のF値F1、F2、F3とを用いて、重みの最適値Noptを導出する最適重み導出処理を行う。尚、最適重み導出処理の詳細については、図7を参照しながら後述する。
次に、ステップS510において、学習データサンプリング部108は、ステップS505と同様の学習データサンプリング処理を行って、ステップS509で得られた重みの最適値Noptを用いて少数クラスに属する学習データをオーバーサンプリングし、新学習データを作成する。
次に、ステップS511において、学習部109は、ステップS510で得られた新学習データを学習して、正解率が最も高くなるような分類器を(1つ)作成し、分類器格納部110に格納する。
そして、図5のフローチャートによる処理を終了する。
次に、図6のフローチャートを参照しながら、図5のステップS505、S510の学習データサンプリング処理の詳細を説明する。尚、図5のステップS505の学習データサンプリング処理においては、第1、第2、第3の学習データサンプリング部104a、104b、104cの順に、以下の処理を行うものとする。また、図5のステップS510の学習データサンプリング処理は、仮の重みN´を重みの最適値Noptにすることが、ステップS505の学習データサンプリング処理と異なるだけである。よって、ここでは、図5のステップS510の学習データサンプリング処理の詳細についてのみ説明する。
まず、ステップS601において、学習データサンプリング部104は、データ番号iの値を初期値(=0(ゼロ))、学習データの累積追加個数pの値を初期値(=0(ゼロ))、学習データの累積追加個数pの上限値qを初期値(=図5のステップS504で選択された仮の重みN´)とする。
次に、ステップS602において、学習データサンプリング部104は、図5のステップS501で入力された学習データの中から、データ番号iの学習データを選択する。
次に、ステップS603において、学習データサンプリング部104は、データ番号iの学習データが少数クラスに属する学習データであるか否かを判定する。
この判定の結果、データ番号iの学習データが少数クラスに属する学習データである場合には、後述するステップS607に進む。一方、データ番号iの学習データが少数クラスに属する学習データでない場合(多数クラスである場合)には、ステップS604に進む。
ステップS604に進むと、学習データサンプリング部104は、データ番号iの学習データを新学習データとして採用する。
次に、ステップS605において、学習データサンプリング部104は、図5のステップS501で入力された学習データの全てを選択したか否かを判定する。この判定の結果、学習データの全てを選択した場合には、図6のフローチャートによる処理を終了する。
一方、学習データの全てを選択していない場合には、ステップS606に進む。
ステップS606に進むと、学習データサンプリング部104は、データ番号iに「1」を加算し、データ番号iを更新する。
そして、次のデータ番号iの学習データに対して、ステップS602以降の処理を行う。
前述したように、ステップS603の判定の結果、データ番号iの学習データが少数クラスに属する学習データである場合には、ステップS607に進む。
ステップS607に進むと、学習データサンプリング部104は、学習データの累積追加個数pの値が、その上限値q未満(p<q)であるか否かを判定する。この判定の結果、学習データの累積追加個数pの値が、その上限値q未満である場合には、ステップS608に進む。
ステップS608に進むと、学習データサンプリング部104は、データ番号iの学習データを新学習データとして採用する。
次に、ステップS609において、学習データサンプリング部104は、学習データの累積追加個数pに「1」を加算し、学習データの累積追加個数pの値を更新する。
そして、ステップS607に進み、学習データの累積追加個数pの値が、その上限値q以上となるまで、ステップS607〜S609の処理を繰り返し行う。
そして、学習データの累積追加個数pの値が、その上限値q以上になると(p≧q)、ステップS610に進む。ステップS610に進むと、学習データサンプリング部104は、学習データの累積追加個数pの上限値qに、図5のステップS504で選択された仮の重みN´を加算して、学習データの累積追加個数pの上限値qを更新する。そして、前述したステップS605に進む。
以上のステップS607〜S610の処理により、少数クラスに属する学習データが、平均的に仮の重みN´の回数だけ繰り返し新学習データとして採用される。
次に、図7のフローチャートを参照しながら、図5のステップS509の最適重み導出処理を説明する。
まず、ステップS701において、最適重み導出部107は、3つの仮の重みとF値との組(N´1,F1)、(N´2,F2)、(N´3,F3)から、(7)式に示す2次関数の係数a、b、cを算出する(算出式は(8)式〜(10)式を参照)。
次に、ステップS702において、最適重み導出部107は、ステップS701で得られた係数a、b、cと、重みNの範囲の下限値である「Nmin」とを(7)式に代入して、重みNの値がNminであるときのF値F(Nmin)を算出する。また、最適重み導出部107は、ステップS701で得られた係数a、b、cと、重みNの範囲の上限値である「Nmax」とを(7)式に代入して、重みNの値がNmaxであるときのF値F(Nmax)を算出する。
次に、ステップS703において、最適重み導出部107は、ステップS701で得られた係数a、b、cに基づいて、(7)式に示す2次関数が上に凸の関数であるか否かを判定する。ステップS701で得られた係数a、b、cが(11)式の関係を満たす場合に、(7)式に示す2次関数が上に凸の関数であると判定される。
この判定の結果、(7)式に示す2次関数が上に凸の関数である場合には、ステップS704に進む。
ステップS704に進むと、最適重み導出部107は、(7)式に示す2次関数の極大値に対応する重みNを算出する((20)式を参照)。
次に、ステップS705において、最適重み導出部107は、ステップS704で得られた重みNの値が、重みNの範囲の下限値である「Nmin」以上、重みNの範囲の上限値である「Nmax」以下の範囲にあるか否かを判定する。
この判定の結果、ステップS704で得られた重みNの値が、「Nmin」以上、「Nmax」以下の範囲にある場合には、ステップS706に進む。
ステップS706に進むと、最適重み導出部107は、ステップS704で得られた重みNを、重みの最適値Noptとして採用する。そして、図7のフローチャートによる処理を終了する。
ステップS703において、(7)式に示す2次関数が上に凸の関数でないと判定された場合と、ステップS705において、ステップS704で得られた重みNの値が、「Nmin」以上、「Nmax」以下の範囲にないと判定された場合には、ステップS707に進む。
ステップS707に進むと、最適重み導出部107は、重みNの範囲の下限値である「Nmin」に対応するF値F(Nmin)が、重みNの範囲の上限値である「Nmax」に対応するF値F(Nmax)未満であるか否かを判定する。
この判定の結果、前記条件が成り立つ場合には、ステップS708に進む。
ステップS708に進むと、最適重み導出部107は、重みNの範囲の上限値である「Nmax」を、重みの最適値Noptとして採用する。そして、図7のフローチャートによる処理を終了する。
一方、ステップ707の判定条件が成り立たない場合には、ステップS709に進む。ステップS709に進むと、最適重み導出部107は、重みNの範囲の下限値である「Nmin」を、重みの最適値Noptとして採用する。そして、図7のフローチャートによる処理を終了する。
(実施例)
次に、本発明の実施例について説明する。本実施例では、鉄鋼製品を製造した後又は製造する過程で得られるデータから、当該鉄鋼製品が製造プロセスにおいて発生工程を通過するか否かを判断するための分類器を作成する場合について説明する。
鉄鋼製品を製造するプロセスでは、圧延・冷却した鉄鋼製品を作業者が検査する。そして、鉄鋼製品の曲がりが大きければ矯正工程にてその曲がりを矯正したり、鉄鋼製品の表面に疵があれば、手入工程にてグラインダーでその疵を研磨したりする等、鉄鋼製品を製造した後に通過の有無が判明する工程が存在する。このような工程は発生工程と呼ばれる。製品が発生工程を通過すると製造工期が延びる。このため、注文された製品を製造する際には、発生工程の通過の有無を製造前に予測して、客先の納期に間に合うように製造着手する必要がある。しかし、発生工程の通過の有無は製品のスペック(サイズや硬度等)から一意に決まるものではない。このため、過去の操業実績データから発生工程の通過の有無を予測して、その予測を元に製造着手日を決定することが行われる。
本実施例に対する比較例として、或る鉄鋼製造プロセスにおける発生工程の通過の有無を予測する決定木を、重みを付けずに(重み=1に相当)作成した。決定木学習アルゴリズムとして、非特許文献2に記載のC5.0と呼ばれる情報エントロピーのゲイン比に基づく方法を利用した。図8(a)は、この決定木の性能を表す混同行列である。図8(a)に示すように、実績では51510枚の鉄鋼製品が発生工程を通過しているにも関わらず、この発生工程を通過すると予測した鉄鋼製品の枚数は1467枚となった。また、F値は2.44[%]であった。
これと同じ決定木学習アルゴリズムを用いて、本実施形態で説明した手法で決定木を作成した。ここで、F値を算出する際の調整係数βの値を「1」とした(β=1)。また、重みNの範囲の下限値Nminを「1」とし、重みNの範囲の上限値Nmaxを「10」とした。また、仮の重みN´の数を「3」とした。また、仮の重みN´1、N´2、N´3を、(1)式、(2)式、(3)式により求めた。すなわち、仮の重みN´1の値を「1」とし(N´1=1)、仮の重みN´2の値を「5.5」とし(N´2=5.5)、仮の重みN´3の値を「10」とした(N´3=10)。
これらの仮の重みN´1、N´2、N´3を用いて、本実施形態で説明した手法で少数クラスに属する学習データをオーバーサンプリングして新学習データのセットを3つ得た。そして、これらの3つの新学習データのセットを、前述した決定木学習アルゴリズムに適用して3つの決定木(仮の分類器)を作成した。仮の重みN´1、N´2、N´3を用いて作成した3つの仮の分類器の評価値であるF値F1、F2、F3は、2.44[%](=0.0244)、28.9[%](=0.289)、25.4[%](=0.254)であった(F1=0.0244、F2=0.289、F3=0.254)。
そして、重みNとF値(F(N))との関係を、(7)式に示す2次関数で近似して重みの最適値Noptを求めた。その結果、重みの最適値Noptの値は、7.2243となった。この重みの最適値Noptを用いて、本実施形態で説明した手法で、少数クラスに属する学習データをオーバーサンプリングして新学習データを得た。これらの新学習データを、前述した決定木学習アルゴリズムに適用して決定木(分類器)を作成した。このようにして得られた決定木(分類器)の性能を表す混同行列を計算した結果、混同行列は、図8(b)に示すようになった。本実施例では、99533枚の鉄鋼製品が発生工程を通過すると予測しており、そのうち、22561枚の鉄鋼製品が実際に発生工程を通過している。このため、図8(a)に示す重みを付けない方法(比較例)よりも明らかに本実施例の方が優れた結果が得られた。また、図8(a)に示す比較例では、F値は2.44[%]であったのに対し、本実施例では、F値は29.9[%]まで向上した。
また、重みNの範囲の上限値である「Nr」は、「多数クラスに属する学習データの個数/少数クラスに属する学習データの個数」で表されるので、本実施例においては、約12.7(=51510/652623)となる。すなわち、重みの最適値Nopt(=7.2243)は、重みNの範囲の上限値である「1」と、重みNの範囲の上限値である「Nr(=12.7)」との間にある。よって、F値を最も高くするには、少数クラスに属する学習データが、多数クラスに属する学習データの個数よりも少ない個数になるようにサンプリングする必要があることが分かる。
(まとめ)
以上のように本実施形態では、下限値を「Nmin(≧1)」、上限値を「Nmax(≦Nr)」として指定された重みNの範囲の中から、3つの仮の重みN´1、N´2、N´3を決定する。これらの仮の重みN´1、N´2、N´3のそれぞれを用いて少数クラスに属する学習データをオーバーサンプリングして新学習データのセットを3つ作成する。作成した新学習データの3つのセットを用いて3つの仮の分類器を作成し、その評価値であるF値F1、F2、F3を求める。3つの仮の重みとF値との組(N´1,F1)、(N´2,F2)、(N´3,F3)から、重みNとF値との関係を表す2次関数の係数a、b、cを算出し、当該2次関数の極大値に対応する重みNを求め、当該重みNが、「Nmin」以上「Nmax」以下である場合には、当該重みNを重みの最適値Noptとし、この重みの最適値Noptに基づいて作成した新学習データを用いて分類器を構築する。一方、当該重みNが、「Nmin」以上「Nmax」以下でない場合には、「Nmin」と「Nmax」のうち、対応するF値の値が大きい方を重みの最適値Noptとし、重みの最適値Noptに基づいて作成した新学習データを用いて分類器を構築する。
すなわち、可及的に高精度の予測が可能な分類器を作成するために、F値が最も高くなる重みの最適値Noptを用いて少数クラスに属する学習データをサンプリングする。よって、一方のクラスに属する学習データの個数が他方のクラスに属する学習データの個数よりも極端に少ない場合でも、過不足なく学習データをサンプリングし、高精度の分類器を構築することができる。
また、本実施形態では、重みNとF値との関係が2次関数であると近似して、複数の仮の重みN´と、それらに対応するF値とから、重みの最適値Noptを算出するようにした。このようにすれば収束計算を行う必要がなくなるので、重みの最適値Noptを算出する際の計算負荷を可及的に少なくすることができる。
(変形例)
本実施形態では、重みNの範囲を入力し、その範囲内で複数の仮の重みN´の値が等間隔になるように決定した。しかしながら、必ずしもこのようにする必要はない。例えば、複数の仮の重みN´の値を、オペレータの操作等に基づいて直接的に入力するようにしてもよい。ただし、このようにする場合には、複数の仮の重みN´の値として、「Nmin」以上、「Nmax」以下の値のみを受け付けるようにする必要がある。
また、重みNの範囲の下限値Nminは「1」に限定されない。例えば、最適な重みNoptの大凡の値の存在範囲が、過去の経験から分かっている場合には、重みNの範囲の下限値Nminとして「1」を上回る値を採用してもよい。また、重みNの範囲の上限値Nmaxも「(多数クラスに属する学習データの個数/少数クラスに属する学習データの個数)Nr」に限定されない。例えば、適正な重みNの大凡の値の存在範囲が、過去の経験から分かっている場合には、重みNの範囲の上限値Nmaxとして「Nr」を下回る値を採用してもよい。また、「Nr」の値が所定値(例えば10)より大きい場合には、重みNの範囲の上限値Nmaxとして所定値(例えば10)を採用してもよい。
このように、重みNの範囲(Nmin〜Nmax)を1〜Nr以外にする必要性に関して説明する。本発明は連続した関数である重みNと評価値との関係を、複数の仮の重みと評価値で近似することで最適な重みNoptを予測する手法であるため、最適な重みNoptの存在範囲が過去の経験から分かっている場合には、重みNの範囲を前記最適な重みNoptの存在範囲に設定した方が、最適な重みNoptの予測精度が高くなり、性能の高い分類器を作成することが可能となる。また、学習データの偏りが大きい場合には、Nrが過大になり、少数データを重みNrでオーバーサンプリングをすると、新しい学習データの個数が膨大になり、コンピュータシステムの記憶装置(RAM等)に格納できず、分類器を計算できなかったり、記憶装置に格納できたとしても、分類器の計算時間が膨大に掛ってしまうことがある。このような場合、分類器を作成する学習アルゴリズムやコンピュータシステムの記憶装置の容量に応じて、重みNの範囲の上限値Nmaxを「Nr」より小さな値に設定することで、このような計算上の問題を防ぐことが出来る。
また、仮の重みN´のそれぞれについて少数クラスに属する学習データをオーバーサンプリングする方法は、前述した方法に限定されない。例えば、仮の重みN´の値が整数部と小数部を有する場合(例えば「2.5」の場合)には、次のようにして新学習データを決定することができる。まず、元の学習データの全てを新学習データとして採用する。次に、少数クラスに属する学習データを、整数部の値から1を減じた回数(例えば1回(=2−1))だけ、新学習データとして(繰り返し)採用する。最後に、少数クラスに属する学習データの数に、小数点以下の値を乗じた数(例えば、少数クラスに属する学習データの数に0.5を乗じた数)の学習データを、乱数等を用いて、少数クラスに属する学習データから、値が重ならないようにランダムに選択し、選択した少数クラスに属する学習データを、新学習データとして採用する。このようにしても、少数クラスに属する学習データをサンプリングすることができる。
また、仮の分類器に対する評価値はF値に限定されない。例えば、適合率と再現率とを用いた評価値として、適合率と再現率との重み付き平均値を採用してもよい。また、以下の(21)式で表されるTN率と、TP率(前述した再現率と同じ)との相乗平均(幾何平均)であるG平均を以下の(22)式により評価値として算出してもよい。
Figure 0005733229
また、仮の重みN´の数は、複数であれば、幾つであってもよい。仮の重みN´の数が4以上である場合には、重みNとF値との関係F(N)を、以下の(23)式に示す2次関数で近似し、この2次関数のNに、仮の重みN´kを代入したときのF値(F(N´k))と、当該仮の重みN´に対して評価値算出部106で算出されたF値(Fk)との誤差の二乗和Jの値が最小となるように((24)式を参照)、最小二乗法を用いて係数a、b、cを計算し、計算した係数a、b、cを用いて前述したようにして重みの最適値Noptを求めることができる。また、仮の重みN´の値が4つ以上であれば、重みNとF値との関係(F(N))を、2次関数ではなく、n次関数(nは3以上の整数)に近似して、重みNの範囲の下限値である「Nmin」と、重みNの範囲の上限値である「Nmax」との間の最大値を重みの最適値Noptとして求めることができる。また、重みNとF値との関係F(N)が1次関数であってもよい。この場合は、図7のステップS703でNOとなった後の処理を行うことにより、重みの最適値Noptを求めることができる。ただし、重みNとF値との関係F(N)がn次関数(nは2以上の整数)であるのが望ましい。なぜなら、一般に重みNとF値との関係F(N)は直線式にならないからである。
Figure 0005733229
また、本実施形態では、分類器が決定木である場合を例に挙げて説明したが、分類器は決定木に限定されない。例えば、SVM(Support Vector Machine)、ニューラルネットワーク、線形判別等を分類器としてもよい。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、少数クラスに属する学習データをオーバーサンプリングして、少数クラスに属する学習データの数を増やす場合を例に挙げて説明した。これに対し、本実施形態では、多数クラスに属する学習データをアンダーサンプリングして、多数クラスに属する学習データの数を減らす場合を例に挙げて説明する。このように本実施形態と第1の実施形態とは、主として、学習データサンプリング処理の一部が異なる。よって、本実施形態の説明において、第1の実施形態と同一の部分については、図1〜図8に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、図6のフローチャートにおいて、「少数クラス」を「多数クラス」に、「N´」を「1/N´」にすることにより、学習データサンプリング処理が実現される。このようにした場合には、少数クラスに属する学習データは、そのまま新学習データに追加される(ステップS603、S604を参照)。一方、多数クラスに属する学習データは、平均的に1/N´回だけ新学習データとして採用される。
以上のようにすれば、必ずしも、多数クラスに属する学習データの個数と、少数クラスに属する学習データの個数とが等しくなるように多数クラスに属する学習データをアンダーサンプリングしてしまい、多数クラスに属する学習データのうち、精度の高い分類器を作成する上で重要となる学習データが新学習データに含まれなくなることを可及的に抑制することができる。よって、一方のクラスに属する学習データの個数が他方のクラスに属する学習データの個数よりも極端に少ない場合でも、過不足なく学習データをサンプリングし、高精度の分類器を構築することができる。
本実施形態においても、第1の実施形態で説明した種々の変形例を採用することができる。尚、多数クラスに属する学習データをランダムに選択する場合には、多数クラスに属する学習データの数の1/N´倍の学習データを、乱数等を用いて、多数クラスに属する学習データのから、値が重ならないようにランダムに選択すればよい。
[第3の実施形態]
次に、第3の実施形態について説明する。前述した第1の実施形態では、オーバーサンプリングをする場合を例に挙げて説明し、前述した第2の実施形態では、アンダーサンプリングする場合を例に挙げて説明した。これに対し、本実施形態では、オーバーサンプリングとアンダーサンプリングとの双方を行う場合を例に挙げて説明する。このように本実施形態と第1、2の実施形態とは、主として、学習データサンプリング処理の一部が異なる。よって、本実施形態の説明において、第1、2の実施形態と同一の部分については、図1〜図8に付した符号と同一の符号を付す等して詳細な説明を省略する。
本実施形態では、多数クラスに属する学習データの個数の減少に対して、少数クラスに属する学習データの増加を優先する割合を表す優先度rの値が、例えば、オペレータによる操作に基づき設定される。この優先度rの値は、0以上1以下の範囲の値である(0≦r≦1)。
少数クラスに属する学習データの増加率を表す仮の重みN´+(以下の説明では「少数クラス用の仮の重みN´+」と称する)を以下の(25)式のように定めると共に、多数クラスに属する学習データの減少率を表す仮の重みN´-(以下の説明では「多数クラス用の仮の重みN´-」と称する)を以下の(26)式のように定める。
N´+=r×N´+(1−r) ・・・(25)
N´-=N´/N´+ ・・・(26)
(25)式、(26)式において、N´は、第1、第2の実施形態で説明した仮の重みである。
そして、例えば、第1の実施形態で説明した学習データサンプリング処理(図6を参照)において、「N´」の代わりに、「少数クラス用の仮の重みN´+」を用いて、少数クラスの学習データをオーバーサンプリングする。その後、第2の実施形態で説明した学習データサンプリング処理(図6を参照)において、「1/N´」の代わりに、「1/N´-」を用いて、オーバーサンプリングした後の学習データに含まれる多数クラスの学習データをアンダーサンプリングする。このようにして得られた学習データが新学習データとなる。尚、少数クラス用の仮の重みN´+と、多数クラス用の仮の重みN´-は、それぞれ仮の重みN´の数(第1の実施形態では「3」)だけ得られるということは勿論である。
(25)式、(26)式のようにして少数クラス用の仮の重みN´+と、多数クラス用の仮の重みN´-を定めると、優先度rの値が「1」のときには、少数クラス用の仮の重みN´+は、第1の実施形態で示した仮の重みN´と等しくなると共に(N´+=N´)、多数クラス用の仮の重みN´-の値は、「1」となる(N´-=1)。よって、優先度rの値が「1」のときには、オーバーサンプリングのみを行って新学習データを作成することになる(すなわち、第1の実施形態と同じ処理を行うことになる)。
一方、優先度rの値が「0」のときには、少数クラス用の仮の重みN´+は、「1」になると共に(N´-=1)、多数クラス用の仮の重みN´-の値は、第2の実施形態で示した仮の重みN´と等しくなる(N´-=N´)。よって、優先度rの値が「0」のときには、アンダーサンプリングのみを行って新学習データを作成することになる(すなわち、第2の実施形態と同じ処理を行うことになる)。
また、新学習データの、少数クラスに属する学習データの個数と多数クラスに属する学習データの個数は、それぞれ、以下の(27)式、(28)式のようになる。
新学習データの少数クラスに属する学習データの個数
=元の学習データの少数クラスに属する学習データの個数×N´+ ・・・(27)
新学習データの多数クラスに属する学習データの個数
=元の学習データの多数クラスに属する学習データの個数×N´+/N´ ・・・(28)
したがって、仮の重みN´の値が、重みNの範囲の上限値である「Nr(=元の学習データの多数クラスに属する学習データの個数/元の学習データの少数クラスに属する学習データの個数)」と等しいときに(N´=Nr)、新学習データの少数クラスに属する学習データの個数と、新学習データの多数クラスに属する学習データの個数とが等しくなる。また、仮の重みN´の値が重みNの範囲の下限値である「1」と等しいときは(N´=1)、N´+=N´-=1となるため、オーバーサンプリングもアンダーサンプリングも行われないことになる。よって、優先度rの値に関わらず、第1の実施形態で説明したオーバーサンプリングのみを行う場合や、第2の実施形態で説明したアンダーサンプリングのみを行う場合と同様に、重みNの範囲は「1」〜「Nr」で設定すれば良い。
さらに、重みの最適値Noptを用いて分類器を作成する際には、(25)式、(26)式における「N´」の代わりに重みの最適値Noptを代入して少数クラス用の重みN+と、多数クラス用の重みN-とを導出し、少数クラス用の重みN+を用いて少数クラスの学習データをオーバーサンプリングした後、多数クラス用の重みN-を用いて多数クラスの学習データをアンダーサンプリングすればよい。
以上のようにすれば、第1、第2の実施形態で説明した効果を得ることができる。また、本実施形態においても、第1、第2の実施形態で説明した種々の変形例を採用することができる。
本実施形態では、多数クラスに属する学習データの個数の減少に対する、少数クラスに属する学習データの増加の優先度rを用いた場合を例に挙げて説明した。しかしながら、少数クラスに属する学習データの増加に対する、多数クラスに属する学習データの個数の減少の優先度rを用いるようにしてもよい。このようにする場合には、(25)式、(26)式の代わりに、(29)式、(30)式を用いればよい。
N´+=N´/N´- ・・・(29)
N´-=r×N´+(1−r) ・・・(30)
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
[請求項との関係]
<請求項1、9>
仮重み決定手段は、例えば、重み範囲入力部102及び仮重み決定部103を用いることにより実現され、仮重み決定工程は、例えば、ステップS502、S503の処理を行うことにより実現される。ここで、下限値は、例えばNminに対応し、上限値はNmaxに対応する。
学習データサンプリング手段は、例えば、学習データサンプリング部104を用いることにより実現され、学習データサンプリング工程は、例えば、ステップS505(図6)の処理を行うことにより実現される。
学習手段は、例えば、学習部105を用いることにより実現され、学習工程は、例えば、ステップS506の処理を行うことにより実現される。
評価値算出手段は、例えば、評価値算出部106を用いることにより実現され、評価値算出工程は、例えば、ステップS507の処理を行うことにより実現される。
最適重み導出手段は、例えば、最適重み導出部107を用いることにより実現され、最適重み導出工程は、例えば、ステップS509(図7)の処理を行うことにより実現される。
分類器作成手段は、例えば、学習データサンプリング部108及び学習部109を用いることにより実現され、分類器作成工程は、例えば、ステップS409〜S411の処理を行うことにより実現される。
<請求項3、11>
請求項3、11の記載は、例えば、第1の実施形態における学習データサンプリング処理に対応する。
<請求項4、12>
請求項4、12の記載は、例えば、第2の実施形態における学習データサンプリング処理に対応する。
<請求項5、13>
請求項5、13の記載は、例えば、第3の実施形態における学習データサンプリング処理に対応する。
100 分類器作成装置
101 学習データ入力部
102 重み範囲入力部
103 仮重み決定部
104 学習データサンプリング部
105 学習部
106 評価値算出部
107 最適重み算出部
108 学習データサンプリング部
109 学習部
110 分類器格納部

Claims (17)

  1. 2つのクラスの何れのクラスに属するのかが既知である学習データのうち、相対的に少数の学習データが属するクラスである少数クラスの学習データの個数を重みに応じた倍率で増やすことと、相対的に多数の学習データが属するクラスである多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行うことにより、前記学習データの数を変更して新学習データを作成し、当該新学習データを用いて、与えられたデータが2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成装置であって、
    前記多数クラスの学習データの個数を前記少数クラスの学習データの個数で割った値以下で、1以上の値の範囲の中から、前記重みの上限値と下限値を定め、前記上限値と下限値の範囲から値が相互に異なる複数の仮の重みを決定する仮重み決定手段と、
    前記少数クラスの学習データの個数を前記仮の重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記仮の重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成する学習データサンプリング手段と、
    前記学習データサンプリング手段により学習データの個数が変更された後の前記新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための仮の分類器を作成することを、前記新学習データのセット毎に行って、複数の前記仮の分類器を得る学習手段と、
    前記仮の分類器により前記学習データを前記2つのクラスの何れかに分類した結果に基づいて、前記学習手段により得られた仮の分類器の性能を評価する評価値を算出することを、前記複数の仮の分類器毎に行って、複数の前記評価値を得る評価値算出手段と、
    前記評価値算出手段により得られた評価値と、当該評価値を得る際に用いられた仮の重みとを用いて、評価値と重みとの関係を求め、求めた関係において、前記下限値から前記上限値までの範囲で最も大きな値を有する評価値に対応する重みを、重みの最適値として導出する最適重み導出手段と、
    前記重みの最適値を前記重みとして用いて、前記少数クラスの学習データの個数を前記重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行って、前記新学習データを作成し、当該新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成手段と、
    を有することを特徴とする分類器作成装置。
  2. 前記仮の重みの数は、3以上であることを特徴とする請求項1に記載の分類器作成装置。
  3. 前記学習データサンプリング手段は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記仮の重みを乗じた個数になるように、前記少数クラスの学習データの少なくとも一部を複製することを、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成し、
    前記分類器作成手段は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記重みの最適値を乗じた個数になるように、前記少数クラスの学習データを複製して新学習データを生成し、生成した新学習データを用いて前記分類器を作成することを特徴とする請求項1又は2に記載の分類器作成装置。
  4. 前記学習データサンプリング手段は、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記仮の重みの逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除することを、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成し、
    前記分類器作成手段は、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記重みの最適値の逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除して新学習データを生成し、生成した新学習データを用いて前記分類器を作成することを特徴とする請求項1又は2に記載の分類器作成装置。
  5. 前記多数クラスの学習データの個数の減少に対する前記少数クラスの学習データの個数の増加の優先度、又は、前記少数クラスの学習データの個数の増加に対する前記多数クラスの学習データの個数の減少の優先度であって、0以上1以下の値をとる優先度をあらかじめ定め、前記仮の重みを用いて、前記少数クラスの学習データに対する仮の重みである少数クラス用の仮の重みと、前記多数クラスの学習データに対する仮の重みである多数クラス用の仮の重みとを導出する仮重み導出手段と、
    前記優先度と、前記重みの最適値とを用いて、前記少数クラスの学習データに対する重みである少数クラス用の重みと、前記多数クラスの学習データに対する重みである少数クラス用の重みとを導出する重み導出手段と、を有し、
    前記学習データサンプリング手段は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記少数クラス用の仮の重みを乗じた個数になるように、前記少数クラスの学習データの少なくとも一部を複製することと、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記多数クラス用の仮の重みの逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除することと、を、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成し、
    前記分類器作成手段は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記少数クラス用の重みの最適値を乗じた個数になるように、前記少数クラスの学習データを複製することと、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記多数クラス用の重みの最適値の逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除することと、を行って新学習データを生成し、生成した新学習データを用いて前記分類器を作成し、 前記優先度が、前記多数クラスの学習データの個数の減少に対する前記少数クラスの学習データの個数の増加の優先度である場合には、前記優先度の値が1であるときに、前記少数クラスの仮の重みが、前記仮の重みと同じになり、且つ、前記優先度の値が0であるときに、前記多数クラスの仮の重みが、前記仮の重みと同じになり、
    前記優先度が、前記少数クラスの学習データの個数の増加に対する前記多数クラスの学習データの個数の減少の優先度である場合には、前記優先度の値が1であるときに、前記多数クラスの仮の重みが、前記仮の重みと同じになり、且つ、前記優先度の値が0であるときに、前記少数クラスの仮の重みが、前記仮の重みと同じになるようにしたことを特徴とする請求項1又は2に記載の分類器作成装置。
  6. 前記評価値算出手段は、前記仮の分類器により前記学習データを前記2つのクラスの何れかに分類した結果に基づいて、少数クラスに分類した学習データの中に、実際に少数クラスに属する学習データが含まれている割合を表す適合率と、実際に少数クラスに属する学習データの中に、少数クラスに分類した学習データが含まれている割合である再現率と、を算出し、前記適合率と前記再現率との重み付き調和平均であるF値を前記評価値として算出することを特徴とする請求項1〜5の何れか1項に記載の分類器作成装置。
  7. 前記仮重み決定手段は、それぞれが、前記上限値、前記下限値、前記上限値と下限値との和の1/2の値、を有する3つの仮の重みを導出し、
    前記最適重み導出手段は、前記評価値が、前記重みの2次関数で表されると見なして前記評価値と重みとの関係を求めることを特徴とする請求項1〜6の何れか1項に記載の分類器作成装置。
  8. 前記分類器は、決定木であることを特徴とする請求項1〜7の何れか1項に記載の分類器作成装置。
  9. 2つのクラスの何れのクラスに属するのかが既知である学習データのうち、相対的に少数の学習データが属するクラスである少数クラスの学習データの個数を重みに応じた倍率で増やすことと、相対的に多数の学習データが属するクラスである多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行うことにより、前記学習データの数を変更して新学習データを作成し、当該新学習データを用いて、与えられたデータが2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成方法であって、
    前記多数クラスの学習データの個数を前記少数クラスの学習データの個数で割った値以下で、1以上の値の範囲の中から、前記重みの上限値と下限値を定め、前記上限値と下限値の範囲から値が相互に異なる複数の仮の重みを決定する仮重み決定工程と、
    前記少数クラスの学習データの個数を前記仮の重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記仮の重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成する学習データサンプリング工程と、
    前記学習データサンプリング工程により学習データの個数が変更された後の前記新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための仮の分類器を作成することを、前記新学習データのセット毎に行って、複数の前記仮の分類器を得る学習工程と、
    前記仮の分類器により前記学習データを前記2つのクラスの何れかに分類した結果に基づいて、前記学習工程により得られた仮の分類器の性能を評価する評価値を算出することを、前記複数の仮の分類器毎に行って、複数の前記評価値を得る評価値算出工程と、
    前記評価値算出工程により得られた評価値と、当該評価値を得る際に用いられた仮の重みとを用いて、評価値と重みとの関係を求め、求めた関係において、前記下限値から前記上限値までの範囲で最も大きな値を有する評価値に対応する重みを、重みの最適値として導出する最適重み導出工程と、
    前記重みの最適値を前記重みとして用いて、前記少数クラスの学習データの個数を前記重みに応じた倍率で増やすことと、前記多数クラスの学習データの個数を前記重みの逆数に応じた倍率で減らすことと、の少なくとも何れか一方を行って、前記新学習データを作成し、当該新学習データを用いて、与えられた学習データが前記2つのクラスの何れに属するのかを判断するための分類器を作成する分類器作成工程と、
    を有することを特徴とする分類器作成方法。
  10. 前記仮の重みの数は、3以上であることを特徴とする請求項9に記載の分類器作成方法。
  11. 前記学習データサンプリング工程は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記仮の重みを乗じた個数になるように、前記少数クラスの学習データの少なくとも一部を複製することを、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成し、
    前記分類器作成工程は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記重みの最適値を乗じた個数になるように、前記少数クラスの学習データを複製して新学習データを生成し、生成した新学習データを用いて前記分類器を作成することを特徴とする請求項9又は10に記載の分類器作成方法。
  12. 前記学習データサンプリング工程は、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記仮の重みの逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除することを、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成し、
    前記分類器作成工程は、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記重みの最適値の逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除して新学習データを生成し、生成した新学習データを用いて前記分類器を作成することを特徴とする請求項9又は10に記載の分類器作成方法。
  13. 前記多数クラスの学習データの個数の減少に対する前記少数クラスの学習データの個数の増加の優先度、又は、前記少数クラスの学習データの個数の増加に対する前記多数クラスの学習データの個数の減少の優先度であって、0以上1以下の値をとる優先度をあらかじめ定め、前記仮の重みを用いて、前記少数クラスの学習データに対する仮の重みである少数クラス用の仮の重みと、前記多数クラスの学習データに対する仮の重みである多数クラス用の仮の重みとを導出する仮重み導出工程と、
    前記優先度と、前記重みの最適値とを用いて、前記少数クラスの学習データに対する重みである少数クラス用の重みと、前記多数クラスの学習データに対する重みである少数クラス用の重みとを導出する重み導出工程と、を有し、
    前記学習データサンプリング工程は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記少数クラス用の仮の重みを乗じた個数になるように、前記少数クラスの学習データの少なくとも一部を複製することと、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記多数クラス用の仮の重みの逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除することと、を、前記複数の仮の重み毎に行って、前記新学習データの複数のセットを作成し、
    前記分類器作成工程は、前記少数クラスの新学習データの個数が、前記少数クラスの学習データの個数に、前記少数クラス用の重みの最適値を乗じた個数になるように、前記少数クラスの学習データを複製することと、前記多数クラスの新学習データの個数が、前記多数クラスの学習データの個数に、前記多数クラス用の重みの最適値の逆数を乗じた個数になるように、前記多数クラスの学習データの一部を削除することと、を行って新学習データを生成し、生成した新学習データを用いて前記分類器を作成し、
    前記優先度が、前記多数クラスの学習データの個数の減少に対する前記少数クラスの学習データの個数の増加の優先度である場合には、前記優先度の値が1であるときに、前記少数クラスの仮の重みが、前記仮の重みと同じになり、且つ、前記優先度の値が0であるときに、前記多数クラスの仮の重みが、前記仮の重みと同じになり、
    前記優先度が、前記少数クラスの学習データの個数の増加に対する前記多数クラスの学習データの個数の減少の優先度である場合には、前記優先度の値が1であるときに、前記多数クラスの仮の重みが、前記仮の重みと同じになり、且つ、前記優先度の値が0であるときに、前記少数クラスの仮の重みが、前記仮の重みと同じになるようにしたことを特徴とする請求項9又は10に記載の分類器作成方法。
  14. 前記評価値算出工程は、前記仮の分類器により前記学習データを前記2つのクラスの何れかに分類した結果に基づいて、少数クラスに分類した学習データの中に、実際に少数クラスに属する学習データが含まれている割合を表す適合率と、実際に少数クラスに属する学習データの中に、少数クラスに分類した学習データが含まれている割合である再現率と、を算出し、前記適合率と前記再現率との重み付き調和平均であるF値を前記評価値として算出することを特徴とする請求項9〜13の何れか1項に記載の分類器作成方法。
  15. 前記仮重み決定工程は、それぞれが、前記上限値、前記下限値、前記上限値と下限値との和の1/2の値、を有する3つの仮の重みを導出し、
    前記最適重み導出工程は、前記評価値が、前記重みの2次関数で表されると見なして前記評価値と重みとの関係を求めることを特徴とする請求項9〜14の何れか1項に記載の分類器作成方法。
  16. 前記分類器は、決定木であることを特徴とする請求項9〜15の何れか1項に記載の分類器作成方法。
  17. 請求項1〜8の何れか1項に記載の分類器作成装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
JP2012023418A 2012-02-06 2012-02-06 分類器作成装置、分類器作成方法、及びコンピュータプログラム Active JP5733229B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012023418A JP5733229B2 (ja) 2012-02-06 2012-02-06 分類器作成装置、分類器作成方法、及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012023418A JP5733229B2 (ja) 2012-02-06 2012-02-06 分類器作成装置、分類器作成方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2013161298A JP2013161298A (ja) 2013-08-19
JP5733229B2 true JP5733229B2 (ja) 2015-06-10

Family

ID=49173479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012023418A Active JP5733229B2 (ja) 2012-02-06 2012-02-06 分類器作成装置、分類器作成方法、及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5733229B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6493154B2 (ja) * 2015-10-26 2019-04-03 トヨタ自動車株式会社 情報提供装置および情報提供方法
JP6385914B2 (ja) * 2015-12-16 2018-09-05 三菱重工業株式会社 品質モニタリングシステムおよび品質モニタリング方法
JP6567488B2 (ja) * 2016-12-22 2019-08-28 日本電信電話株式会社 学習データ生成装置、開発データ生成装置、モデル学習装置、それらの方法、及びプログラム
JP6374573B1 (ja) * 2017-06-08 2018-08-15 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP6845125B2 (ja) * 2017-12-08 2021-03-17 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
JP7073171B2 (ja) * 2018-04-02 2022-05-23 キヤノン株式会社 学習装置、学習方法及びプログラム
US11372893B2 (en) * 2018-06-01 2022-06-28 Ntt Security Holdings Corporation Ensemble-based data curation pipeline for efficient label propagation
JP6987721B2 (ja) * 2018-08-31 2022-01-05 富士フイルム株式会社 画像処理装置、方法およびプログラム
CN113168421A (zh) * 2018-12-13 2021-07-23 株式会社半导体能源研究所 内容的分类方法及分类模型的生成方法
EP3936224A4 (en) * 2019-03-08 2022-04-27 FUJIFILM Corporation DATA GENERATING DEVICE, DATA GENERATING METHOD, LEARNING DEVICE AND LEARNING METHOD
US11593716B2 (en) * 2019-04-11 2023-02-28 International Business Machines Corporation Enhanced ensemble model diversity and learning
JP7271827B2 (ja) * 2021-09-17 2023-05-12 大連理工大学 音声感情予測方法及びシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204966A (ja) * 2009-03-03 2010-09-16 Nippon Telegr & Teleph Corp <Ntt> サンプリング装置、サンプリング方法、サンプリングプログラム、クラス判別装置およびクラス判別システム。

Also Published As

Publication number Publication date
JP2013161298A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
JP5733229B2 (ja) 分類器作成装置、分類器作成方法、及びコンピュータプログラム
US20200183355A1 (en) Methods and apparatus for machine learning predictions of manufacture processes
US10606862B2 (en) Method and apparatus for data processing in data modeling
WO2018227800A1 (zh) 一种神经网络训练方法及装置
AU2019210306A1 (en) Systems and methods for preparing data for use by machine learning algorithms
CN111768285A (zh) 信贷风控模型构建***、方法、风控***及存储介质
JP5867349B2 (ja) 品質予測装置、操業条件決定方法、品質予測方法、コンピュータプログラムおよびコンピュータ読み取り可能な記憶媒体
JP4391506B2 (ja) 評価装置、評価方法及び評価プログラム
CN106022631B (zh) 一种指标权重分析方法
CN112418387A (zh) 量子数据处理方法及设备
US10635078B2 (en) Simulation system, simulation method, and simulation program
JP2007249354A (ja) 指標推計装置、指標推計方法、及び指標推計プログラム
WO2017071369A1 (zh) 一种预测用户离网的方法和设备
CN115082920A (zh) 深度学习模型的训练方法、图像处理方法和装置
CN110782181A (zh) 一种低压台区线损率的计算方法及可读存储介质
WO2021085188A1 (ja) バイアス調整装置、情報処理装置、情報処理方法及び情報処理プログラム
JP2013033450A (ja) 製造工期予測装置、製造工期予測方法、及びコンピュータプログラム
CN115952426B (zh) 基于随机采样的分布式噪音数据聚类方法及用户分类方法
CN116993548A (zh) 基于增量学习的LightGBM-SVM的教育培训机构信用评估方法及***
CN105608460A (zh) 多分类器融合方法和***
JP2015038709A (ja) モデルパラメータ推定方法、装置、及びプログラム
JP2014146161A (ja) モデル推定装置およびその方法
Araujo et al. Hybrid intelligent design of morphological-rank-linear perceptrons for software development cost estimation
CN111177644A (zh) 模型参数的优化方法、装置、设备及存储介质
JP7438615B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R151 Written notification of patent or utility model registration

Ref document number: 5733229

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350