◆ 2モデルKY法(二クラス分類)の実施手順について書きます(2/3)。
Detailed execution process of the '2 model KY method for binary classification' will be discussed and explained hear (2/3)
2.「2モデルKY法」で用いられる、
APおよびANのモデル(判別関数)の構築法
「KY法」で用いるAPおよびANモデル(判別関数)はその分類特性がポジおよびネガクラスサンプルに対して正反対の特性を持っています。現在使用可能な既存の判別分析手法はすべてこのような特殊な判別関数を構築する機能は持っていません。では、どのようにすれば通常利用している判別分析ソフトを用いてこのような特殊な分類特性を持つ判別関数を創出することが出来るのでしょうか。
答えは極めて簡単です。
「クラス分布に偏りのあるサンプルデータを分類する時の判別分析の分類特性を利用」
即ち、判別関数作成時の分類特性を利用するだけで、APおよびANの全く正反対の分類特性を有する二本の判別関数を創出できます。従って、「KY法」で用いる特殊な二本のモデル(判別関数)は、現在提供されている既存の手法(線形/非線形を問わない:但し判別関数を用いない分類手法、KNN(最近隣法)等は除きます)を用いて創出することが可能です。「KY法」が従来手法を用いて実施する「メタ解析手法」に分類されるのは、このためです。
多くのデータ解析研究者の方々は二クラス分類の時に「不均衡データ(Imbalanced Data)」(1-4)を扱わざるを得ない場合、特にクラスポピュレーションが99:1のような極端に偏ったサンプルデータを扱う時に起こる現象に悩まされてきたかと思います。
このようにクラスポピュレーションが極端に偏ったサンプル群を扱う場合、現在入手可能な判別分析手法は、必ずポピュレーションの多いクラスに全てのサンプルを帰属してしまいます。即ち、分類率はポピュレーションの多いクラスが100%で、ポピュレーションが少ないクラスは0%となり、全体では99%の分類率となります。通常のクラス分類という観点からは、このような分類はあり得ないもので、両方のクラスに正分類と誤分類が存在することが理想ですが、上記のような極端に偏ったサンプル群を判別関数で分類すると、このような偏った分類結果となります。
(1)http://ibisforest.org/index.php?%E4%B8%8D%E5%9D%87%E8%A1%A1%E3%83%87%E3%83%BC%E3%82%BF
(2)https://www.aaai.org/Papers/Workshops/2000/WS-00-05/WS00-05-003.pdf
(3)http://sci2s.ugr.es/keel/pdf/specific/congreso/guo_on_2008.pdf
(4)http://www.mendeley.com/research/class-imbalances-are-we-focusing-on-the-right-issue/
通常、このような偏りのある分類を避けるために、以下のようなアプローチを取ります。
対応1:学習過程でのペナルテイの強化(Cost-sensitive learning)
対応2:サンプルポピュレーションの調整
これは、従来の判別分析手法はポジとネガの二クラスにしか分類しないために、偏りのある分類は実用にならないため、何とかこの現象を回避しようとするためです。
しかし、「KY法」ではサンプル群をポジ、ネガそして両方が混在するグレー領域に3分割する事が必要で、このためにAPおよびANの分類特性が正反対である極めて特殊な判別関数を利用します。このAPおよびANの特殊な判別関数の創出に、この偏った分類特性を利用します。
2.1 分類に偏りのある判別関数(APモデルおよびANモデル)の構築
何度も述べていますが、「2モデルKY法」実施では分類特性が個々のクラスに対して全く正反対の分類特性を有するAPモデルおよびANモデルの二種類の判別関数が必要となります。この分類に偏りのある判別関数は通常のデータ解析手法を用いることで構築可能です。は、前記の「不均衡データ」を対象とした時に創出される判別関数のクラス分類がサンプル数の多いクラスに有利に働くという特性を利用します。
*一つのクラスサンプルを100%正しく分類する判別関数の作成方法
クラスサンプル数に極端な偏りがある場合、通常の判別分析手法をそのまま適用するとサンプル数が多いクラスのサンプルを正しく分類する判別関数を作成します。例えばサンプル構成が99:1となるような極端な場合、99%のサンプルクラスは100%完全分類されます。しかし、1%の方のクラスサンプルは全て間違いとみなされ、クラス分類率は0%となる判別関数が創出されます。結果として全サンプル中99%が正しく分類されることとなるので、全体の分類率は99%となり極めて高い分類率が達成されます。しかし、このような分類はおかしいので、様々な工夫を行う事で偏りのある分類を修正します。
上記の事実は、極端に偏りのあるサンプルデータを用いて作成された判別関数は特定のクラス(サンプル数が多い方)を100%正しく分類出来る能力を有することを意味します。もう少し一般的に考えると、
通常の判別分析で創出される判別関数は、サンプル数の多いクラスを出来るだけ多くカバーするようにして創出されるという事です。この分類特性は、特定のクラスを100%正しく分類する必要のあるAPおよびANの二本の判別関数の作成に利用できます。
以下に、ポジティブサンプル(O)を100%正しく分類する判別関数(APモデル)の導入について、イメージ図を用いながら説明します。
(1)全サンプルを用いて初期の判別関数を創出する。
最初に全サンプルを用いて最初の判別関数を創出します。ここで創出された判別関数はサンプル分布がポジおよびネガでかなり重複しているため、ポジ(O)およびネガ(X)サンプルについて、両クラスともに100%分類を達成できない判別関数となっています。図1では、グリーンで示されています。
図1.初期判別関数(緑の線)
(2)初期判別関数をポジサンプルを100%分類出来るように、スライドさせる。
初期判別関数ではポジサンプルを完全に分類することは出来ません。従って、次に必要な操作は、この初期判別関数を図2のように右の方にずらしてゆくことが必要となります。
即ち、 図2中で青い領域をカバーする判別関数が出来るように、最初の判別関数をネガクラスの方に移動させます。この操作を行う時に、先に述べたように
「偏りのあるサンプル群を扱うと、サンプルの多いクラスが有利(高い分類率)になるように判別関数が創出される:即ち、判別関数はサンプル数の少ないクラスの方に押し出される」という判別分析の特性を利用します。
このように、判別関数をネガ(X)クラス(図2では右の方)に移動させるのは、ネガのサンプルを減らして強制的にサンプルの偏りを生じさせ、この新しいサンプルセットを用いて判別関数を再創出することで達成されます。この時ポジサンプルは当然ですが全てを用います。ネガサンプルを減らすことで判別関数がネガクラスの方に移動します。この結果、ポジサンプルの分類率が、ネガサンプルを減らす前と比較して少し向上します。
図2.初期判別関数をネガクラスの方(右の方)に移動
ネガサンプルを徐々に減らしてゆくことで判別関数を徐々にネガクラスの方に移動させ、ポジサンプルの分類率を少しずつ向上させる。この操作を、最終的にポジサンプルが100%完全に分類されるまで繰り返します。なお、この時、サンプルを減らすのでサンプル空間の形も変わり、全体のサンプル数も少なくなり、ネガクラスのサンプル数が急速に減ってゆきますので、データ解析の信頼性を維持するためにパラメータ数も減らして、解析信頼性を保ちながら最適なパラメータ群を作成することが必要となります(*1)。すなわち、単にサンプル数を減らすのみならず、同時に解析に用いるパラメータ数も小さくし、選択することが必要であり、このためにパラメータ選択のために特徴抽出を行うことが必要となります。
このような操作を繰り返し、最終的に全てのポジサンプルが100%正しく分類される判別関数が出来た時点でこの操作を止めます。
*1 用いる全サンプル数(N)と解析に用いるパラメータ数(P)にはデータ解析の信頼性を保持するという観点から一定の関係が存在します。通常の二クラス分類では N/P ≧ 4 の関係を保つことが必要です。 また、さらに上位のルールとして、ポピュレーションの少ないクラスサンプルの数(Ns)と用いるパラメータ数(P)との間にも Ns ≧ P の関係も存在します。信頼性の高いデータ解析を保証するためにはこれらの制限条件下で判別関数を構築することが必要となります。
つまり、サンプル総数が4個しかない場合、分類には1個のパラメータしか使えません。二個以上になると「偶然相関」をおこしていることになります。また、全サンプルが100個あったとしても、少ないサンプル数のクラスサンプル数が一個の場合、最初の制限ルールでは25個のパラメータが使えますが、残る一つの制限ルールにより、この場合の分類に使えるパラメータは1個しか使えません。このような制限条件は、データ解析の信頼性を保つためには極めて重要な制限事項となります。
(3)前記(2)の操作を繰り返し、最終的なAPモデル(判別関数)を創出する
全てのポジサンプル(O)が100%正しく分類された時点での判別関数(図3中青い線)が最終的なAPモデルとなります。この最終APモデルを創出する過程は特徴抽出を行いながら実施しますので、最終APモデルを構成するパラメータの種類も数もウェイトベクトルも、最初に創出された判別関数(図1中の緑の線)とは完全に異なったものとなっています。
図3.最終的なAPモデル(判別関数)(図中青い線)
(4)創出されたAPモデルを用いて、全てのサンプルの分類を行う
APモデルを構成するパラメータの種類や数は最初に創出された判別関数のものとは全く異なり、そのウエイトベクトルも異なっています。この時点でAPモデル作成過程で取り除いたネガサンプルをサンプル母集団に戻し、再び全サンプルの分類を行います。この時、最終APモデルを用いているので、当然ながら全てのポジサンプルは100%正しく分類されます。しかし、ネガサンプルの分類率は高くはありませんが、この場合ネガサンプルの分類率は気にしません。
図3からわかるように、このAPモデルで正しく分類されたネガサンプルは純粋にネガサンプルのみ存在する領域に落ち込んでいます(図3中、青い線の右側部分)。このAPモデルで誤分類されたネガサンプルは、この時点(ステップ)ではクラス決定が出来ないグレーゾーンに落ち込んだサンプルとなり、次のステップで再分類されることになります。
即ち、APモデルではネガサンプル群が、純粋にネガサンプルのみで構成される領域に落ち込んだサンプル群と、ポジとネガサンプルが混在する領域(グレーゾーン)に落ち込んだサンプル群の2グループに分類されることがわかります。「KY法」では、このように与えられたサンプル群がポジ/ネガおよびグレーゾーンのどのグループに帰属されたかを明確にすることが最も大事な作業となります。この作業過程での分類率は単に作業上での指標にしかすぎません。全サンプルが完全にポジ/ネガ領域に落ち込んで、グレーゾーンが無くなった時が操作のストップポイントであり、この時点で全サンプルの完全分類が実現されたことになります。
(5)ANモデルの構築によるポジサンプルの帰属領域(純粋およびグレーゾーン)の決定
ポジサンプルは上記(1)-(4)のプロセスで創出したAPモデルでは正しく分類されていますが、このAPモデルでは、個々のポジサンプルが純粋なポジ領域に落ち込んだサンプルであるのか、グレーゾーンに落ち込んだサンプルであるのかのかを区別することは出来ません。これを行うためにはAPモデルと対をなすANモデルを構築することが必要となります。
このANモデルの構築は、上記(1)-(3)のプロセスでポジサンプルとネガサンプルを置き換えて実行する事でAPモデルと同様に創出されます。ちなみに図2中では、初期の緑色の判別関数が図2で示されている方向とは反対方向(左側)に進むことになります。
*用いる判別関数の種類(線形および非線形)
「KY法」で作成される判別関数は、線形でも非線形でも構いません。上記の図では説明の都合上から線形の判別関数を用いて説明していますが、当然のことながら非線形の判別関数でも構いません。また、ANモデルおよびAPモデルがともに線形、非線形、あるいは片方が線形で残る片方が非線形でも構いません。
但し、データ解析の信頼性(特に外挿性)を高く保つという観点からは、両方とも線形であることが望ましいのですが、線形と非線形判別関数の構築しやすさを考えた場合は非線形判別関数の方が構築しやすい事は事実です。しかし、特にサンプル数が少ない時や「KY法」の実施でサンプル数が少なくなってきた時は創出が難しくとも線形判別関数を用いることが「偶然相関」の回避という観点でも望ましいものとなります。
次回は、グレーゾーンに落ち込んだサンプルの扱いに関してまとめます。