(57)【特許請求の範囲】
【請求項１】
コンピュータの機能により、変化を比較すべき２つのデータセットの変化分析を行うための変化分析システムであって、
第１のデータセットの各々のデータに第１の仮想ラベルを付与し、第２のデータセットの各々のデータに、該第１の仮想ラベルとは異なる第２の仮想ラベルを付与して、ラベル付きデータセットを用意するための仮想ラベル付与部と、
前記仮想ラベルを使用して分類を行う分類器と、
前記ラベル付きデータセットによって、前記分類器を訓練し、該分類器の分類に寄与する属性の寄与度を出力するための変化分析部とを有する、
変化分析システム。
【請求項２】
前記分類器が、ロジスティック回帰である、請求項１のシステム。
【請求項３】
前記分類器が、ＳＶＭ（support vector machine）である、請求項１のシステム。
【請求項４】
前記分類器が、決定木である、請求項１のシステム。
【請求項５】
前記第１及び第２の仮想ラベルが、それぞれ、+1と-1である、請求項１のシステム。
【請求項６】
コンピュータの機能により、変化を比較すべき２つのデータセットの変化分析を行うための変化分析システムであって、
第１のデータセットの各々のデータに第１の仮想ラベルを付与し、第２のデータセットの各々のデータに、該第１の仮想ラベルとは異なる第２の仮想ラベルを付与して、ラベル付きデータセットを用意するための仮想ラベル付与部と、
前記ラベル付きデータセットの間の有意な変化を検出するための変化検出部と、
前記仮想ラベルを使用して分類を行う分類器と、
前記変化検出部が有意な変化を検出したことに応答して、前記ラベル付きデータセットによって、前記分類器を訓練し、該分類器の分類に寄与する属性の寄与度を出力するための変化分析部とを有する、
変化分析システム。
【請求項７】
前記分類器が、ロジスティック回帰である、請求項６のシステム。
【請求項８】
前記分類器が、ＳＶＭである、請求項６のシステム。
【請求項９】
前記分類器が、決定木である、請求項６のシステム。
【請求項１０】
前記第１及び第２の仮想ラベルが、それぞれ、+1と-1である、請求項６のシステム。
【請求項１１】
コンピュータの機能により、変化を比較すべき２つのデータセットの変化分析を行うための変化分析方法であって、
第１のデータセットの各々のデータに第１の仮想ラベルを付与し、第２のデータセットの各々のデータに、該第１の仮想ラベルとは異なる第２の仮想ラベルを付与して、ラベル付きデータセットを用意するステップと、
前記ラベル付きデータセットの間の有意な変化を検出する変化検出ステップと、
前記変化検出ステップで有意な変化が検出されたことに応答して、前記ラベル付きデータセットによって、前記仮想ラベルを使用して分類を行う分類器を訓練し、該分類器の分類に寄与する属性の寄与度を出力するためのステップとを有する、
変化分析方法。
【請求項１２】
前記分類器が、ロジスティック回帰である、請求項１１の方法。
【請求項１３】
前記分類器が、ＳＶＭである、請求項１１の方法。
【請求項１４】
前記分類器が、決定木である、請求項１１の方法。
【請求項１５】
前記第１及び第２の仮想ラベルが、それぞれ、+1と-1である、請求項１１の方法。
【請求項１６】
コンピュータの機能により、変化を比較すべき２つのデータセットの変化分析を行うための変化分析プログラムあって、
前記コンピュータに、
第１のデータセットの各々のデータに第１の仮想ラベルを付与し、第２のデータセットの各々のデータに、該第１の仮想ラベルとは異なる第２の仮想ラベルを付与して、ラベル付きデータセットを用意するステップと、
前記ラベル付きデータセットの有意な変化を検出する変化検出ステップと、
前記変化検出ステップで有意な変化が検出されたことに応答して、前記ラベル付きデータセットによって、前記仮想ラベルを使用して分類を行う分類器を訓練し、該分類器の分類に寄与する属性の寄与度を出力するためのステップとを実行させる、
変化分析プログラム。
【請求項１７】
前記分類器が、ロジスティック回帰である、請求項１６のプログラム。
【請求項１８】
前記分類器が、ＳＶＭである、請求項１６のプログラム。
【請求項１９】
前記分類器が、決定木である、請求項１６のプログラム。
【請求項２０】
前記第１及び第２の仮想ラベルが、それぞれ、+1と-1である、請求項１６のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ解析技法、特に、変化分析を行うためのシステムに関するものである。
【背景技術】
【０００２】
データ解析の１つの分野に、変化検出問題がある。変化検出は伝統的には、注目しているデータセットの確率分布についての統計的検定の問題として定式化される。すなわち、ある基準となる分布と比べて、注目しているデータの分布が違っているか否かを判定することになる。
【０００３】
データの変化を知ることは工学的に重要な意味を持つ。１つの例として、自動車の障害診断がある。すなわち、正常時の自動車のセンサーデータを保存しておき、何か不具合があったときのデータと比較して、どの部品を換えればよいかについての知見を得たい。この場合、知りたいのは、取得したデータが基準データと比べて全体として異なっているかどうかではなく、「変化があるとすれば、どの変数が悪さをしているのか」という詳細情報である。
【０００４】
別の例としては、顧客プロファイルリストの変化分析がある。例えば、本年の１〜３月期の顧客プロファイルリストと、前年の１〜３月期の顧客プロファイルリストと比較して、どのようなマーケティング戦略を立てればよいかについての知見を得たいという要望がある。つまり、ある種の属性を持つ顧客が失われているとすれば、それをどう食い止めればよいかについての知見を得たい、ということである。
【０００５】
このように、データ解析の分野では、データの裏側に潜む構造をモデル化し、そこからなんらかの知見を得たり、意思決定を行ったりする。例えば、マーケティングの顧客プロファイル分析を行うとしよう。この場合、価値があるのは、知りたいのは２つのリストに変化があるか否かというよりは、「変化があることを前提にした時、どの属性がその変化に関与しているか」という情報である。
【０００６】
すなわち、実用上、「変化があったかどうか」というバルクの情報よりは、「何がどう変化したか」という詳細情報が必要となることが多い。本願明細書の文脈では、「何がどう変化したか」という詳細情報を知ることを、変化分析と呼ぶことにする。
【０００７】
ここで、形式的に問題を定義すると、NA個のベクトルの集合からなるデータセットＸAと、NB個のベクトルの集合からなるデータセットＸBを考える。式として書くと次のとおりである。
【０００８】
【数１】
0005159368.tif 000002
ここで、各集合の要素はどれも、同一次元（ｄ次元）のベクトルであると仮定する。変化検出問題が、ＸAとＸBの相違度を与え、その有意さを判定する問題であるのに対し、変化分析問題とは、ＸAとＸBとが与えられたとき、その相違を説明する規則を、データの属性で書き表すという問題である。このどちらの問題も、相違の有無についての事前情報は与えられていないから、機械学習の言葉で言えば、教師なし学習のクラスに分類される。本発明は特に、変化分析問題に関連する。
【０００９】
上述のような問題は、統計学的には、２標本検定によって扱われることが普通である。２標本検定にはいくつかの種類があるが、例として、正規母集団に対する２標本検定を考えてみる。これは、ＸAが、平均μA、分散共分散行列ΣAの多次元正規分布に従うと仮定したとき、ＸBが同じ正規分布に従うか否かに答えるものである。このとき、両者の共分散行列が同一であると仮定できるような特別の場合（すなわち、ΣA = ΣB）を除けば、データのどの属性が両者の差異に効いているかを調べるのは、容易ではない。データが１０次元以上になれば、有限の共分散の値を考慮に入れた上で、差異に関与する属性を特定するのは、ほぼ絶望的になる。すなわち、２標本検定は、二つの分布が違うかどうかについて仮説検定の形で解を与えるが、変化分析問題という観点では、特に指針は与えない。このことは、確率分布の何らかの距離（尤度比、Kolmogorov-Smirnov統計量、Bregman距離など）を用いる他の定式化についても、同様である。
【００１０】
特開２００１−２２７７６は、データベースの時間変化を検知する目的で、異なる時点で抽出された相関ルールの集合を比較するという手法を教示する。しかし、この相関ルールは、単に２つのアイテムの共起を数えるだけのルールであり、前記自動車の障害診断や、顧客プロファイルリストの変化分析などに適用することはできない。しかも、この手法だと、重要なルールが、どうでもよいルールの山に埋もれてしまう、という原理的な問題もある。
【００１１】
特開２００３−３１６７９７は、多次元データの集合に対して、ある特定の次元もしくはデータ項目が変化を起こした集合に着目して、その集合の特徴分析を行うことを開示する。特に、この技法は、変化を捉える次元もしくはデータ項目を保存する指定テーブルと、データ抽出処理機能を備えておき、データ抽出処理機能では指定テーブルで指定された次元もしくはデータ項目のデータが前回の抽出段階から変化したかどうかを判別し、変化していた場合には、当該のデータを通常分析用多次元分析用とは別の変化分析用多次元データベースに蓄積し、その変化分析用多次元データベースを分析する。しかし、変化分析という用語が言及されているものの、特開２００３−３１６７９７には、具体的な変化分析の技法は、何も記述されていない。
【００１２】
下記非特許文献１と、非特許文献２は、変化分析において、教師付き学習により、特徴選択を行うことを開示する。この開示技法によれば、処理変数を入力として、時間を出力とする教師付き学習に、変化分析問題が帰着される。そうして、教師付き学習により、多変数のうち平均値が変化した変数が探し出される。
【００１３】
しかし、非特許文献１と、非特許文献２の技法も、多変数のうちの平均値の変化という、比較的単純な変化しか検出できず、複雑な対象に適用するには限界がある。
【００１４】
なお、ラベル付きデータが与えられており、問題が最初から教師あり学習（分類問題）に落ちるような状況であれば、変化検出と分類学習を結びつけることは技術的にさほど困難ではない。例えば、下記に示す非特許文献３は、コールセンターでの会議録を対象に、分類器を使ってデータの変化点を調べる方法を提案する。しかし、ここで扱われているのは、予約成立または不成立といったラベルが付されたデータであり、その変化の様相を調べるために使われている技法はχ2統計量に基づいている。よって、頻度ベースのデータ以外には直接適用できない。
【特許文献１】特開２００１−２２７７６
【特許文献２】特開２００３−３１６７９７
【非特許文献１】Fang Li, George C. Runge, Eugene Tuv, "Supervised learning for change-point detection", International Journal of Production Research, Vol.44, No.14, 15 July 2006, 2853-2868
【非特許文献２】Victor Eruhimov, Vladimir Martyanov, Eugene Tuv, George C. Runger, "CHANGE-POINT DETECTION WITH SUPERVISED LEARNING AND FEATURE SELECTION", ICINCO 2007 - International Conference on Information in Control, Automation and Robotics
【非特許文献３】Hironori Takeuchi, Venkata Subramaniam, Tetsuya Nasukawa, and Shourya Roy, "Automatic Identification of Important Segments and Expressions for Mining of Business- Oriented Conversations at Contract Centers', Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 458-467, Prague, June 2007.
【発明の開示】
【発明が解決しようとする課題】
【００１５】
この発明の目的は、変化分析問題を解くために、問題を教師付き学習に帰着させて、上記従来技術よりも汎用性が高く、複雑な問題にも適用可能な技法を提供することにある。
【課題を解決するための手段】
【００１６】
本願発明者は、変化分析問題を解くために、仮想ラベルに対する分類器（以下、仮想分類器と称する）を用いる技法に想到した。すなわち、この技法によれば、２つのデータセットＸA、ＸBに対して、仮想分類器を用いて、好適には、変化検出問題と変化分析問題とが同時に解かれる。
【００１７】
更に、本発明の好適な実施例によれば、
・変化の度合いを、仮想ラベルに対する分類器の精度を使って評価する方法、
・その変化の度合いを、２項分布の信頼区間から導かれる閾値と比較することで、変化の有意さを評価する方法、
・仮想ラベルに対する分類器の属性選択機能により、変化分析問題を解く方法、
が提供される。
【００１８】
より具体的な手順は、次のとおりである。すなわち先ず、本発明によれば、適当な２値分類器Lが用意される。２値分類器Lとしては、ロジスティック回帰、決定木、ＳＶＭ（support vector machine）などの既知のものでよい。
【００１９】
次に、２つのデータセットＸA、ＸBが用意され、この各々に対して、仮想ラベル付与部で、仮想ラベルが付与される。仮想ラベルは、識別可能な値であれば何でもよいが、例えば、データセットＸAのデータに対しては、+1というラベルを付与し、データセットＸBのデータに対しては、-1というラベルを付与する。データセットＸA、ＸBのサイズがそれぞれ、NA、NBとすると、こうして、ラベルを付与したデータセットを合わせて、サイズNA + NBのラベル付きデータセットを作る。
【００２０】
次に、サイズNA + NBのラベル付きデータセットに対して、分割数kの交差検定法を利用して、仮想分類器Lの分類精度pを求める（kはパラメターとして事前に与える）。また、事前に与えた有意水準αから、後述の方法で精度の許容幅γを求める。
そうして、p >= pbi(1+γ) のとき変化は有意とみなし、そうでなければ、変化なし、と判定する。
なお、pbiは、下記の式で与えられる。
【数２】
0005159368.tif 000003
【００２１】
変化分析部では、サイズNA + NBのラベル付きデータセットを使って、仮想分類器Lを訓練する。次に、仮想分類器Lの特徴選択機能を用いて、分類に寄与する属性を、その寄与度とともにランク付けして出力する。
【発明の効果】
【００２２】
この発明によれば、もともと教師なし学習の問題である変化分析問題が、仮想分類器を用いることによって、教師あり学習の問題に帰着され、従来の技法では極めて困難であるか、実質的に無理であった、多数の変数を有する対象の変化分析問題、例えば自動車の障害診断や、顧客プロファイルリストの変化分析などの問題を、現実的な時間と信頼性で解くことができるシステムが提供される。
【発明を実施するための最良の形態】
【００２３】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【００２４】
図１を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図１において、システム・バス１０２には、ＣＰＵ１０４と、主記憶（ＲＡＭ）１０６と、ハードディスク・ドライブ（ＨＤＤ）１０８と、キーボード１１０と、マウス１１２と、ディスプレイ１１４が接続されている。ＣＰＵ１０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、インテル社のＣｏｒｅ（商標）  ２  ＤＵＯ、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶１０４は、好適には、５１２ＫＢ以上の容量、より好ましくは、１ＧＢ以上の容量をもつものである。
【００２５】
ハードディスク・ドライブ１０８には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラムなどが、予め格納されている。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ１０４に適合する任意のものでよい。
【００２６】
キーボード１１０及びマウス１１２は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ１１４に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード１１０及びマウス１１２はまた、変化分析のためのデータが格納されたファイルを指定するためにも使用される。
【００２７】
ディスプレイ１１４は、これには限定されないが、好適には、１０２４×７６８以上の解像度をもち、３２ビットtrue colorのＬＣＤモニタである。ディスプレイ１１４は、変化分析の結果のグラフなどを表示するために使用される。
【００２８】
ハードディスク・ドライブ１０８にはさらに、本発明に関する変化分析処理を行うためのプログラムが格納されている。このプログラムは、Ｃ＋＋、Ｃ＃、Ｊａｖａ（商標）、Ｐｅｒｌ、Ｒｕｂｙなどの既存の任意のプログラム言語で書くことができる。オペレーティング・システムとして、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００などを使用する場合には、Ｗｉｎ３２  ＡＰＩの機能を利用して、ＧＵＩも含むアプリケーション・プログラムとして実装することができる。しかし、本発明に関する変化分析処理を行うためのプログラムは、ＣＵＩとしても実装することが可能である。
【００２９】
図２は、本発明に関する変化分析処理を行うためのプログラムの概要機能ブロック図を示す。すなわち、このプログラムは、大きく分けて、データ入力部２０２と、仮想ラベル付与部２０４と、変化検出部２０６と、変化分析部２０８と、表示部２１０からなる。これらは、個別のモジュールとして実装してもよく、１つまたは複数からなる機能ブロック内のサブモジュールとして実装することもでき、この分野の熟練した当業者ならば、さまざまな実装について考え付くであろう。
【００３０】
データ入力部２０２は、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢ接続されたハードディスク・ドライブ（図示しない）、ＬＡＮ接続されたドライブ、Ｗｅｂサーバなどから、分析するためのデータを受け取り、必要に応じて、仮想ラベル付与部２０４、変化検出部２０６及び変化分析部２０８で処理される内部データ形式に変換する機能をもつ。データ入力部２０２に入力されるデータの好適な１つの形式は、カンマで区切ったＣＳＶ形式であるが、ＸＭＬ、Ｅｘｃｅｌ形式など、複数の数値データを表現できる、コンピュータ可読な任意の形式をもちいることができる。
【００３１】
仮想ラベル付与部２０４は、データ入力部２０２によって取り込まれた、変化を比較すべき２つのデータセットの各々に、異なる仮想ラベルを付与する機能をもつ。
【００３２】
変化検出部２０６は、変化の有意水準を決定し、この有意水準をみたす変化があった場合に、変化ありと判断する機能をもつ。尚、もともと２つのデータセットで変化があったことが明らかであるような場合、変化検出部２０６での検出をスキップすることもできる。
【００３３】
変化分析部２０８は、変化検出部２０６によって変化あり、と判断された場合に、分類に寄与する属性を、その寄与度と共に、ランク付けして出力する機能をもつ。
【００３４】
表示部２１０は、変化分析部２０８の出力結果を、好適にはグラフィックイメージとして、ディスプレイ１１４に表示する。
【００３５】
なお、ここでは、仮想ラベル付与部２０４と、変化検出部２０６と、変化分析部２０８の機能の概要を述べただけであって、それらの詳細な機能については、後述する。
【００３６】
図３は、図２の機能ブロック図に対応する全体のフローチャートを示す。図３において処理部３１０が、データ入力部２０２及び仮想ラベル付与部２０４に対応し、処理部３２０が、変化検出部２０６に対応し、処理部３３０が、変化分析部２０８に対応する。
【００３７】
なお、以下では、説明の便宜上、下記の表記を、Ｘバーとも称する。特に別途断わらない限り、この実施例での記述では、Ｘバーは、データセットＸに、仮想ラベルを付与したデータセットをあらわすものとする。
【数３】
0005159368.tif 000004
【００３８】
図３の処理部３１０において、データ入力部２０２によってデータセットＸA３１１と、データセットＸB３１２が、好適にはハードディスク・ドライブ１０８に取り込まれ、その各々に、仮想ラベル付与部２０４によって、別個のラベルが付与される。ラベルは、任意の値でよいが、例えば、データセットＸA３１１には+1が、データセットＸA３１２には、-1が付与される。ラベルとしては、{+2,-2}, {A,B}なども使うことができる。こうして、データセットＸAバー３１３、データセットＸBバー３１４となる。データセットＸAバー３１３、データセットＸBバー３１４は、さらに合一されて、データセットＸバー３１５となる。
【００３９】
データセットＸバー３１５は、処理部３２０の処理ステップ３２２と、処理部３３０の処理ステップ３３２の両方で使用される。
【００４０】
処理部３２０のステップ３２２では、交差検定(cross validation)関数またはサブルーチンCVを用いて、分類精度pが求められる。すなわち、p = CV(L, k, Ｘバー)  である。Lは、適当な分類器、kは適当な分割数、Ｘバーは、データセットＸバー３１５である。サブルーチンCVの処理の詳細は、後述する。
【００４１】
ステップ３２２で、分類精度pが求められると、このpの値が、所定の閾値より大きいかどうかが、ステップ３２４で判断される。もしそうなら、有意な変化であるとして、ステップ３３２に進み、そこで、Ｘバーを用いて、分類器Lの学習が行われる。
【００４２】
ステップ３３４では、分類器Lの特徴選択機能を用いて、分類に寄与する属性を、その寄与度とともにランク付けして出力される。図３には示さないが、この出力は、必要に応じて、表示部２１０によって、ディスプレイ１１４に表示される。
【００４３】
次に、図３のステップの処理内容を、より詳細に説明する前に、前提として分類器の一般的な機能について説明する。
【００４４】
＜分類器の一般的な説明＞
分類器とは、一般的に、yを予測する関数F(x,w)とあらわされる。
ここで、xは、ある多次元ベクトル、
yは、データのクラス（ラベル）で、例えば、集合{-1, +1}
wは、分類器のパラメータで、多次元ベクトル、行列などであらわされる。
【００４５】
そこで、訓練集合Xt: {(x1,y1), ..., (xn,yn)}を使って、予測誤差を表す関数、例えば２乗誤差関数
【数４】
0005159368.tif 000005
を最小とするようにwを変更することが、分類器の学習である。
【００４６】
このように学習された分類器が用意されたとき、
テスト集合訓練集合Xs: {(x'1,y'1), ..., (x'm,y'm)}に対して、分類器の性能を測るのが、次のステップである。すなわち、２乗誤差関数の例で言えば、
【数５】
0005159368.tif 000006
が最小となるwが最良とみなす。
【００４７】
数式とフローチャートで説明すると、次のとおりである。すなわち、図４のフローチャートにおいて、ステップ４０２では、訓練集合Xtと、初期パラメータwが用意され、入力される。このとき、分類器の関数F(x,w)も用意される。
【００４８】
関数F(x,w)とは、例えば：
F(x,w) < 0なら、xのクラスを-1と予測し、
F(x,w) >= 0なら、xのクラスを+1と予測するようなものである。
【００４９】
ステップ４０４では、訓練データxiが、順次選ばれる。次に、ステップ４０６では、F(x,w)が計算され、yiと照合される。
【００５０】
ステップ４０８では、yiがF(x,w)に近づくように、wが更新される。この更新の例は、下記のとおである。すなわち：
w' = w + yi * xi
この式の意味は、次のようにしてみると理解しやすい。
【００５１】
すなわち、その両辺にxiを掛けてみると、
w'*xi = w*xi + yi * |xi|2
この式において、yi = -1の場合、w'*xiから値が|xi|2だけ減り、
F(x,w) < 0になりやすく、
yi = +1の場合、w'*xiから値が|xi|2だけ増え、
F(x,w) >= 0になりやすい。
【００５２】
このように計算されたw'で、wを置き換えることにより、wが更新される。
【００５３】
ステップ４１０では、終了条件を満たすかどうかが、判断される。終了条件とは例えば、
【数６】
0005159368.tif 000007
の値が、ある閾値以下になることである。
【００５４】
こうして、終了条件が満たされていないなら、ステップ４０４に戻って、次の訓練データxiを入力し、終了条件が満たされていると判断されたなら、ステップ４１２に移って、パラメータwをもつ分類器が出力されて、完了する。
【００５５】
以上は、一般的な分類器の説明であるので、より具体的な例をいくつか、以下に示す。
【００５６】
＜線形判別器＞
これは、最も単純な線形判別器の例である。この例の場合、パラメータwは、スカラーではなく、データxと同じ、ｄ次元のベクトルである。
【００５７】
図５のフローチャートを参照すると、ステップ５０２では、訓練集合Xtと、初期パラメータwが用意され、入力される。このとき、分類器の関数F(x,w)も用意される。wは、上述のように、ベクトルである。
【００５８】
この線形判別器では、F(x,w) = sgn(w・x)と定義される。w・xは、ベクトルwと、ベクトルxの内積であり、sgn()は、符号をあらわす関数である。
すなわち、w・x < 0なら、xのクラスを-1と予測し、
w・x >= 0なら、xのクラスを、+1と予測する。
【００５９】
ステップ５０４では、訓練データxiが、順次選ばれる。次に、ステップ５０６では、F(x,w)が計算され、yiと照合される。
【００６０】
ステップ５０８では、w・xiの正負が、yiと揃うように、w = w + yi*xiに従い、ベクトルwの値が更新される。このような更新を行う意味は、図４に関連して既に説明したのとほぼ同じように、w = w + yi*xiの両辺にxiを、内積的に掛けてみれば分かる。
【００６１】
ステップ５１０では、このように更新されたwを以って、終了条件を満たすかどうかが判断される。終了条件の判断の式は、図４のフローチャートに係る処理の場合と同様でよい。ステップ５１０で終了条件を満たさないと判断されると、処理は、ステップ５０４に戻る。
【００６２】
ステップ５１０で終了条件を満たすと判断されると、ステップ５１２で、パラメータwを持つ分類器が出力される。
【００６３】
＜ロジスティック回帰＞
ロジスティック回帰は、線形判別器の確率版の拡張と考えることもできる。ここでも、パラメータwは、スカラーではなく、データxと同じ、次元数のベクトルである。
【００６４】
図６のフローチャートを参照すると、ステップ６０２では、訓練集合Xtと、初期パラメータwが用意され、入力される。このとき、分類器の関数F(x,w)も用意される。wは、上述のように、ベクトルである。
【００６５】
ここでは、F(x,w) = 1 / (1 + exp(w・x)) で与えられる。w・xは、ベクトルの内積計算である。
【００６６】
ステップ６０４では、訓練データxiが、順次選ばれる。ステップ６０６では、F(x,w)が、上記式に従い計算されて、その確率値をyiと照合する。
【００６７】
すなわち、具体的には、F(x,w) < 0.5なら、xのクラスを-1と判断し、F(x,w) >= 0.5なら、xのクラスを+1と判断する。
【００６８】
ここで、P(y = +1)という関数を、括弧内が正しければ1、そうでなければ0という関数であると定義する。そこで、ステップ６０８では、下記の式を最小にするように、wを更新する。
【数７】
0005159368.tif 000008
【００６９】
ステップ６１０では、このように更新されたwを以って、終了条件を満たすかどうかが判断される。終了条件は、この場合、ステップ６０８で計算された結果が、ある閾値よりも小さいかどうか、である。
【００７０】
ステップ６１０で終了条件を満たさないと判断されると、処理は、ステップ６０４に戻る。
【００７１】
ステップ６１０で終了条件を満たすと判断されると、ステップ６１２で、パラメータwを持つ分類器が出力される。
【００７２】
＜ＳＶＭ＞
ＳＶＭ（Support Vector Machine）は、訓練データ同士の類似度に基づいてパラメータwを決定し、F(x, w)の符号でテストデータの分類を行う。類似度の計算部分において、データの内積の代わりに何らかの非線形関数用いるカーネル・トリックにより、非線形な境界面による判別が可能となる。パラメータwは任意の非線形関数のパラメータであり、データxと同じ次元とは限らない。
【００７３】
図７のフローチャートを参照すると、ステップ７０２では、訓練集合Xtと、初期パラメータwが用意され、入力される。このとき、分類器の関数F(x,w)が用意されている。
【００７４】
関数F(x,w)は、一例として、sgn(x・W1・ｘ + w1・x)で与えられる。
ここでは、w = {W1(行列), w1(ベクトル)}である。
F(x,w)は、非線形であり、好適には、二次関数である。
【００７５】
ステップ７０４では、訓練データxiが、順次選ばれる。ステップ７０６では、F(x,w)が、上記式に従い計算されて、その符号値が、yiと照合される。
【００７６】
F(x,w)の値は-1または+1で、クラスそのものを表しており、その点で、線形判別器と共通している。
すなわち、
x・W1・ｘ + w1・x < 0なら、xのクラスを-1と予測し、
x・W1・ｘ + w1・x >= 0なら、xのクラスを+1と予測する。
【００７７】
ステップ７０８では、F(x,w)の正負がyiの正負と揃うように、wが更新される。なお、上述のように、wとは、行列であるW1と、ベクトルであるw1の両方を含み、wを更新するとは、この両方を適宜更新することを意味する。このような逐次更新以外にも、全訓練データを含む凸２次計画問題として、最適なパラメータwを求める方法もある。
【００７８】
ステップ７１０では、このように更新されたwを以って、終了条件を満たすかどうかが判断される。終了条件の判断の式は、図４のフローチャートに係る処理の場合と同様でよい。ステップ７１０で終了条件を満たさないと判断されると、処理は、ステップ７０４に戻る。
【００７９】
ステップ７１０で終了条件を満たすと判断されると、ステップ７１２で、パラメータwを持つ分類器が出力される。
【００８０】
＜決定木＞
決定木は、上述の、線形判別器を変形または拡張した分類器とは、全く異なる概念の分類器である。すなわち、wは、各データxを２分割するルールの集合である。書き表すと次のとおりである。
w = {(次元数、閾値、クラス),(次元数、閾値、クラス),...}
ここで、次元数とは、ベクトルであるデータxの成分の番号である。閾値とは、その成分の値を判断するための値であり、すなわち、(次元数、閾値、クラス)とは、データxの対応する次元数の成分が、その閾値より小さいとき、当該クラスに属する、という意味である。すなわち、wがそのまま、決定木の形に対応している。
【００８１】
決定木の場合、関数F(x,w)が返す値は、決定木の終端ノードのクラスである。
【００８２】
図８のフローチャートを参照すると、ステップ８０２では、訓練集合Xtと、初期パラメータwが用意され、入力される。このとき、分類器の関数F(x,w)が用意されている。
【００８３】
ステップ８０４では、訓練データxiが、順次選ばれる。ステップ８０６では、wに従ってxiにルールを適用することによってラベルを予測し、yiと照合する。
【００８４】
ステップ８０８では、F(x,w)のラベルが、yiと揃うように、wに新たな要素が追加される。
【００８５】
ステップ８１０では、終了条件を満たすかどうかが、判断される。終了条件を満たすとは、これ以上要素を増やしても精度が改善しないか、決定木の大きさが、規定値を超えた、のどちらかである。ステップ８１０で終了条件を満たさないと判断されると、処理は、ステップ８０４に戻る。
【００８６】
以上の準備のもとで、再び図３を参照して、本発明のこの実施例に係る処理を詳細に説明する。この処理のために、適当な２値分類器Lが用意される。この２値分類器Lとして、それに限定されないが、上述したロジスティック回帰、決定木、ＳＶＭのどれかを使用することができる。
【００８７】
図３において、データセットＸA３１１と、データセットＸB３１２は、図２のデータ入力部２０２によって、ＣＳＶなどの形式で、主記憶１０６または、ハードディスク・ドライブ１０８に取り込まれる。
【００８８】
そのデータセットＸA３１１と、データセットＸB３１２を、下記のように書き表す。
【数８】
0005159368.tif 000009
【００８９】
＜仮想ラベル付与部＞
次に、図２の仮想ラベル付与部２０４の処理を説明する。仮想ラベル付与部２０４では、下記の式に示すように、データセットＸA３１１の各データに、+1のラベルが付与され、データセットＸB３１２の各データに、-1のラベルが付与される。
【数９】
0005159368.tif 000010
こうして、図３に示すデータセットＸAバー３１３と、データセットＸBバー３１４が用意される。
【００９０】
次に、下記の式により、マージされたデータセットＸバーが用意される。
【数１０】
0005159368.tif 000011
【００９１】
なお、２つのデータセットＸA３１１と、データセットＸB３１２の各々には、+1と-1というラベルがそれぞれ与えられたが、これらに限定されず、データセット毎に別であるなら、異なる任意のラベルを用いることができる。
【００９２】
＜変化検出部＞
次に、図２の変化検出部２０６の処理を説明する。変化検出部２０６には予め、分割数kと有意水準αが与えられる。
【００９３】
そして、αから、許容幅γを求めるのであるが、この計算は、後で説明する。
【００９４】
次に、分類器Lの分類精度pを、サブルーチンCVにより計算し記録する。
p = CV(L,k,Xバー)
【００９５】
そうして、次の条件が満たされれば変化あり、そうでなければ、変化なし、と判定する。
p >= pbi(1 + γ)
【００９６】
ここで、pbiとは、下記の式で与えられるものである。
【数１１】
0005159368.tif 000012
【００９７】
また、サブルーチンCVの計算は、下記のような処理からなる。
(1) Ｘバーを、上記分割数kで、k等分する。Ｘバーのデータ数が、kで割り切れないとき、k番目の分割されたグループのデータ数が半端になっても構わないが、なるべく均一な分割数になるように、上記分割数kは選ばれる。
そうして、そのそれぞれを、
Ｘ(1)バー、Ｘ(2)バー、・・・Ｘ(k)バーとする。
(2) ある 1 <= j <= kについて、Ｘ(j)バーを選び、
残りの{Ｘ(i)バー | i≠j, 1 <= i <= k}を用いて、分類器Lを訓練する。分類器Lの学習または訓練については、上述のとおりである。
(3) こうして訓練された分類器Lに、Ｘ(j)バーを通し、その分類精度pjを計算する。ここでいう分類精度pjとは、Ｘ(j)バーの個々のデータを通した結果、分類器Lによって予測されるラベルと、そのデータのラベルが一致する度合いである。
(4) こうして、k通りのjに対して、pjを求める。
(5) 下記の式で、戻り値pを求める。
【数１２】
0005159368.tif 000013
【００９８】
＜変化分析部＞
変化分析部２０８では、図３のステップ３３２に示すように、Ｘバーを使って、分類器Lを訓練する。ステップ３３４では、分類器Lの特徴選択機能を用いて、分類に寄与する属性を、その寄与度と共にランク付けして出力する。
【００９９】
分類器Lの特徴選択機能について追加の説明を行うと、各データxiがｄ次元ベクトルだとした時に、どの次元（特徴・属性と同義）の値の大小が、分類結果を大きく左右するかを分析し、その影響度が少ない次元の値を省いてしまうことを「特徴選択」と呼ぶ。すなわち、分類に寄与度の高い特徴のみを選択して、好適には他は削除することである。広義には、その寄与度を計算する手段のことを指す。
【０１００】
さらに具体的に述べると、決定木の例で言えば、出力された木構造のうち上位のノードで分割基準として使われている次元ほど、テスト時にそこで判別されるデータ数が多く、分類結果に対して大きな影響を持つことが分かる。一方、決定木に一度も出現しない次元は、どのような値であっても分類には無意味な、寄与度の低い次元と言うことができる。このような場合に、何らかの基準（たとえば木構造の上から何番目かなど）で各次元をランク付けして出力することが、分類器Lの特徴選択である。
【０１０１】
線形判別やロジスティック回帰では、wというxと同じｄ次元ベクトルのパラメータが特徴選択で重要になる。wの各次元の絶対値が大きいほど、対応する次元のxの値の僅かな差が出力w・xの値に大きく反映されることがわかる。反対に、wのある次元の値が0であれば、対応する次元のxの値は出力にはまったく関係が無いということになる。つまり、wの絶対値をそのまま各次元の寄与度ランクとして扱うことが可能である。
【０１０２】
どんな分類器構築アルゴリズムにも明示的な特徴選択機能がある訳ではないが、例えば全データ集合Xのあるj次元目を削除し、d-1次元ベクトルデータ集合X'として学習した場合に精度が低下すればj次元目は寄与度が高く、特に悪化しなければj次元目の寄与度は低い、というような原始的な方法を用いることにより、アルゴリズムによらず特徴選択を行うことは可能である。よって、仮想的に分類器Lでは何らかの特徴選択を行ってランク付けが可能である、と考えてよい。
【０１０３】
上記の説明を補足するために、以下の説明を追加する。
＜分布の一致の条件＞
ＸAとＸBの分布が同一であるという条件は、「２値分類器の分類精度がPbi(1+γ)未満である」という条件に言い換えられる。このことを説明する。
ＸAとＸBが同一の分布に従うと考え、先に定義した仮想ラベル付きデータで2値分類器を訓練した時の精度がどうなるかを考える。仮定より、ラベルy を与えた時のデータの分布について、p(x|y=+1) = p(x|y=-1)が成り立つ。この関数をf(x)と表す。生成モデルの観点で見れば、分類器を学習するとは、本質的にはデータxを与えた時のラベルyの確率分布を与えることである。
【０１０４】
ベイズの定理から
【数１３】
0005159368.tif 000014
が成り立つ。すなわち、この場合は、ラベルの分布は、ラベルの事前分布だけから決まる。それはAまたはBの占める割合から決まり、
ＮA/(ＮA + ＮB)もしくはＮB/(ＮA + ＮB)となる。分類精度としてはこれらのうち大きいほうを取るべきだから、結局、数１２で定義されたpbiを得る。
【０１０５】
あるいは、もっと素朴に、両者の分布が同一であることから、分類をコイン投げ（＝ベルヌイ試行）と同一視し、「表」が出る確率qを最尤推定から求めることもできる。「表」がNA回、「裏」がNB回出たと考えれば対数尤度は
【数１４】
0005159368.tif 000015
となるから、これをqで微分して0と等値すると、直ちに、
q = NA / (NA + NB) を得る。分類精度としては、qと(1-q) のうち大きい方を取るべきだから、結局は上と同様に、数１２で定義されたpbiを得る。
【０１０６】
＜精度のぶれ幅パラメータγの与え方＞
変化検出部のp >= pbi(1 + γ)における、パラメータγの値は、有意水準αを適当に定めることにより合理的に決めることができるので、そのことを説明する。
【０１０７】
いままでの説明から、変化が有意かどうかは、分類精度pが、pbiからどれだけ隔たっているか、したがって、分類がベルヌイ試行にどれだけ遠いかにより判断できる。
話を簡単にするため、以下NA > NBと仮定する。変化検出部における分岐条件は、Aの出現回数NAを確率変数にした２項検定により実現できる。すなわちpが
【数１５】
0005159368.tif 000016
を満たせば、帰無仮説「NAが２項分布に従う」は棄却される。すなわち、その分類結果は２項分布モデルにの下では照らしてほとんどありえないと判定される。ただし、N = NA + NBであり、Binは２項分布の確率関数
【数１６】
0005159368.tif 000017
である。
【０１０８】
例えばN = 1000、pbi = 0.5ならば、5％有意水準（α=0.05）だと分類精度0.527以上で２項分布モデルは棄却（つまり変化ありと判定）され、1％有意水準（α=0.01）ならば、分類精度0.538以上でモデルは棄却される。γの値としては、それぞれ0.054、0.076となる。
なお、一般に、正例もしくは負例の出現回数の期待値が5以上ならば2項分布の正規近似が妥当とされるので、正規分布
NA 〜 N(NA|Npbi,Npbi(1-pbi))
を用いて、検定を行ってもよい。
【０１０９】
精度のぶれ幅自体はかならずしも直感的に分かりやすい量ではないので、実用上はその値を決めるのはさほど簡単ではない。しかし有意信頼水準αの方は普遍的な意味を持つパラメータであり、容易に設定できる。有意水準とパラメータγの関係が、データ自体にパラメトリックな確率モデルを仮定することなくもたらされたことに注意したい。今は、分類器の分類精度に対して仮説検定を行うので、XAとXBに対してあらわに確率モデルを記述する必要はない。高次元データでは、データの確率密度推定は非常に困難となるが、分類の方は、属性選択機能を備えた分類器を用いればさほどの困難とはならない。密度推定を回避できるという点では、ノンパラメトリックな2標本検定、たとえば最近傍検定と同じであるが、それだと変化分析問題への指針が得られない。また、最近傍検定にせよ多次元Kolmogorov-Smirnov検定にせよ、かなり理想的な条件の下で漸近分布が理論的に得られているに過ぎず、多くの実用的な状況では信頼区間を求めるのは難しい現状がある。
なお、最近傍検定については、Norbert Henze, "A multivariate two-sample test based on the number of nearest neighbor type coincidences," Annals of Statistics Vol.16, No.2, pp.772-783 (1988)などの文献を参照されたい。
【０１１０】
＜ラベル付きデータへの応用＞
今まで説明した例の手順は、基本的に、ラベルなしデータに対する変化解析を行うものである。しかし、以下に説明する前処理とともに用いることにより、本発明は、離散ラベル付きデータの変化分析にも適用できる。離散ラベル付きデータの変化分析は、２つの、仮想分類器ではない本物の分類器があったとき、その差異の詳細を得る目的にも使うことができるため、実用上重要である。コンセプトドリフトに関する従来研究の多くは、ドリフトを検知することに主眼が置かれ、変化の質を説明する能力に難があった。本発明によれば、ラベル付きデータの比較問題を、ラベルなしのデータの比較問題に帰着させることにより、分類器に対する変化分析問題を解くことができる。
【０１１１】
以下では、ラベル付きデータＤt及びＤsを考える。すなわち、
【数１７】
0005159368.tif 000018
ここで、ys(i)などは、データセットsのi番目のデータである。ここでは、ラベルは、２値と仮定する。また、２値分類器L'を用意しておく。
【０１１２】
下記の前処理は、２つのラベル付きデータＤt及びＤsの各々に対して、ラベルなしデータセットＸAバーとＸBバーに変換する。このうち、ＸAバーは、元の２つのデータセットの相違を特徴付けるものとなり、ＸBバーは、元の２つのデータセットの共通性を特徴づける。すなわち、データセットＸAバーとＸBバーは、元のラベルを取り去り、仮想ラベルを付与したものとなる。
【０１１３】
この前処理サブルーチンを記述すると、
(1) データセットＸAバーと、ＸBバーを、空に初期化する。
(2) Ｄtを用いてL'を訓練し、分類器Mtを作る。
(3) Ｄsを用いてL'を訓練し、分類器Msを作る。
(4) ＤtをMsで分類し、誤分類したxをＸAバーに加え、正答したものをＸBバーに加える。
(5) ＤsをMtで分類し、誤分類したxをＸAバーに加え、正答したものをＸBバーに加える。
(6) ＸAバーのサイズをNA、ＸBバーのサイズをNBとしたとき、誤分類率ρ = NA/(NA + NB)が、所定の値以下なら、「相違なし」を出力。それ以外なら、ＸAバーと、ＸBバーを出力。
【０１１４】
これ以外にも、例えば、クラス毎にデータを分けて、分けたデータをラベルなしデータとして、入力に使うこともできる。
【０１１５】
＜３つ以上のデータセットの同時比較＞
本発明は、３つ以上のデータセットの比較にも使うことができる。例えば、データセットＸAバー、ＸBバー、ＸCバーがあったとすると、３値分類器を使うことによって、３つのデータセットの違いを特徴付けることができる。これは、上述の分類器同士の比較問題で重要である。なぜなら、例えば+1を-1と誤ったものをＸA1バー、-1を+1と誤ったものをＸA2バーのように分け、３クラス問題とすれば、より詳細な変化分析ができるからである。
【０１１６】
ところで、３値を含む任意の多値分類器を原理的に構築できるアルゴリズムが存在する。この実施例では、決定木がそれに当たり、単に最後のクラス判別結果のところがAであったりBであったりCであったりするだけである。ロジスティック回帰も、内部的に複数のwを持つことで３値化できる。
【０１１７】
一方、線形判別やＳＶＭなど、そのままでは３値分類に適さない分類器も存在する。そのような場合、３値問題を、ある1クラスとそれ以外のクラスという組み合わせで、{A vs. (B or C)} {B vs. (A or C)} {C vs. (A or B)}という３つの２値分類問題に分割することで、２値分類器の組み合わせで解くことができる。例えば、上記の３つの問題において２値分類器を３つ構築し、あるデータに対する分類結果が(B or C), (A or C), Cであったとする。この場合、最終的な出力はCとなる。AやBを出力とする場合も同様である。
【０１１８】
＜実験１：人工データによる変化分析＞
データセットＸAバーとして、d =10次元正規分布から抽出した500個のサンプルを考える。ただし平均はゼロ（d 次元ゼロベクトル）とし、第1番目の変数（Attr1と表す）は標準偏差4、他は標準偏差1である。一方、データセットＸBバーは、同じく、d=10次元のゼロ平均正規分布から抽出した500個のサンプルであるが、今度は第2番目の変数（Attr2と表す）だけが標準偏差4、他は標準偏差1である。
【０１１９】
この実験の目的は、このような生成モデルに関する情報なしに、データだけを見て「ＸAバーとＸBバーの相違に効いているのがAttr1とAttr2である」と同定することである。実験では、説明能力の観点から、分類器Lとして決定木（C4.5）を用いた。また、k=10、γ=0.05と置いた（有意水準約5%に相当）。
実験によれば、サブルーチンCVにより得られた分類精度は約80％であり、大幅に有意水準を越えた。変化分析部で生成された変化モデルを図９に示す。四角の内部の177/3などは、（そのノードに入ったサンプル数）/（誤分類されたサンプル数）を表している。図は、明らかに、最上位の4つまでの分岐規則がAtt1とAttr2によることを示しており、正しく二つの属性が同定されていることが分かる。
【０１２０】
＜実験２：ある破綻した会社のデータの変化分析＞
実データの例として、ある破綻した会社の電子メールデータの変化分析を行った。この会社は、2001年末に破綻した。その過程の電子メールのデータが研究用に公開されている。データセットは約27万件の電子メールを含み、各電子メールはいわゆるBag-Of-Words表現で表されている。頻度の多い順に100ないし150の単語を選び、そのいわゆるTF-IDF（term frequency-inverse document frequency）のヒューリスティックスを用いて頻度を特徴ベクトルとを生成した。
【０１２１】
ここでの問題は、2001年の下半期の中の前半と後半、（すなわち、2001年第3四半期と（3Q）と第4四半期（４Q））の間で、電子メール集合にどういう差異が検出されるかを調べることである。分類器としてはやはり決定木（C4.5）を用い、k = 10と設定した。
【０１２２】
サブルーチンCVにより分類精度を調べると、d =100の方が各半期の中で比べた、最初のQとあとのQを比べた。62.8％、d =150の方が64.1％であった。これは５％有意水準をはるかに越えており、第3四半期（3Q）と第4四半期（4Q）の間で有意に差があることを示している。
【０１２３】
その差についての詳細情報を調べるため、変化分析器を用いた。結果を図１０に示す。四角の中の数字の意味は図９と同様である。図では上位の５個のノードのみを示しており、各ノードの(44)等の数字は、頻度のランクを示している。
実験では素朴に頻度上位の語から特徴ベクトルを作ったので、emailやWeektodayといった一般語が見かけ上分類に大きく寄与しているように見える。この傾向はd =100の分析でより強い。これはd が小さいと、一般語の占める割合が相対的に高く、それゆえ、変化分析モデルにもそのような傾向が現れるためと理解できる。一方、dを大きく取ると、より限定的な意味を持つ語の数が増える。
【０１２４】
この観点から図を眺めると興味深い事実がわかる。d =150の方の変化分析モデルでは、position、Jeff、Davisといった非一般語がデータセットの差異をよく説明するものとして選択されている。破綻が現実味を帯びてくるにつれ、3Qあたりにpositionについてのメールが多く飛び交ったという可能性はありえる。ではJeffやDavisは誰かというと、実は、当該の破綻した会社の元ＣＥＯはJeffrey K. Skilling という名前であった。一方、当該会社破綻当時のカリフォルニア州知事の名前はGray Davisであった。おそらく、破綻寸前の当該会社内部では、これらの人物に対する怨嗟の声が渦巻いていたという可能性は高い。
【０１２５】
以上の結果は、本発明が、会社内部のダイナミックスに関する分析的情報を、直接的な内部的情報を使うことなく見出し得たことを示しており、本発明の有用性の直接の実証例となっている。
【０１２６】
＜実験３：データベースの変化分析＞
以下、＜ラベル付きデータへの応用＞の節で述べた、ラベル付きデータの変化解析問題について、具体例を示す。ある組織における学会活動を管理するデータベースにおいて、各活動の重要度の変化分析を考える。このデータベースには、入力された各活動について（ある観点から）重要であるか否かという２値のラベルが付与されている。入力される各活動は、レコードＩＤ、日付、社員番号、社員名、タイトル、カテゴリー、組織、グループなど１５次元（d =15）で表現される。重要性というカラムには、入力された活動データが重要度の高いデータであるか否かという情報が含まれている。ここで、重要性カラムに入力される値は、Yes または No の2値であるとし、この値は機械的に入力されるのではなく、データベース管理担当者が年度毎に変更されるガイドラインやこれまでの慣例に従い入力しているものとする。従って、同じ内容の活動を行った場合であっても入力された時期により、Yes と入力されるか No と入力されるかが異なるということが発生する（ＤＢ管理担当者の交代なども原因の一つである）。
【０１２７】
この実施例における目的は、担当者の交代による重要性の入力基準に関するして、どのような変化が発生したのかを知ることである。
【表１】
0005159368.tif 000019
【０１２８】
[仮想ラベルの付与]  上記データベースより、担当者が交代した時期(2006/09/01)の前後の4半期分のデータをそれぞれ抽出する。これらの二つのデータセットは＜ラベル付きデータへの応用＞節で説明したＤtおよびＤsに該当する。ここでは、変化のバリエーションとして、重要度の変化を  「Yes->Yes」, 「Yes->No」, 「No->No」, 「No->Yes」の4値として仮想ラベルの付与を行う。
【０１２９】
前処理として、＜ラベル付きデータへの応用＞節でに示した手順に従い、はじめに、空にして初期化したデータセット  ＸAバー、ＸBバー、ＸCバー、ＸDバーを用意した。そうして、
(1) Ｄtを用いて２値分類器L'を訓練して分類器Mtを作成し、
(2) Ｄsに対して、L'を訓練し、分類器Msを作成する。具体的にはMt、Msとして決定木を作成した。続けて、
(3) Ｄtに対して、Mｓで分類を行った。但し、ここでは、2値ではなく４値に分類するので、正しい値Yesに対してNoと誤分類したデータをＸAバーに、Yesと分類したデータをＸBバーに加え、また、正しい値Ｎｏに対して、Yesと誤分類したデータをＸCバーに、Noと分類したデータをＸDバーに加えた。同様に、
(4) ＤsをMtで分類し、それぞれ、ＸAバー、ＸBバー、ＸCバー、ＸDバーに加えた。得られたサイズNA、NB、NC、NDのＸAバー、ＸBバー、ＸCバー、ＸDバーを加えたものをＸバーとする。
【０１３０】
[変化検出]  本来は、誤分類率ρ=（NA+NC)/(NA+NB+NC+ND) を計算して閾値と比較して、相違の有無を検定するべきであるが、担当者の変化によりラベル付与のポリシーに何らかの変化が存在することを前提にするものとして、変化の度合いの有意性の評価については議論を省略する。
【０１３１】
[変化分析]  仮想ラベルが付与されたデータＸバーを使って、分類器Lを訓練する。具体的には、図１１に示す決定木を生成した。
【０１３２】
生成された決定木上において、”SAMEY2Y”が Yes→Yes、”SAMEN2N” が No→No を表しており、”DIFFY2N” が Yes→No、 “DIFFN2Y”がNo→Yes に対応している。まず、決定木の各ノードで用いられているテストには、説明変数である ORG が多く用いられていることがわかる。さらに、決定木を細かく分析して見るために、DIFFY2N、あるいは、DIFFN2Y に落ちるパスを見つけることで、何が重要度の判断基準の変化の要因になったのかを知ることができる。例えば、DIFFY2N （”Yes→No”） となるノードを見つける。この例では、ノード1.2.2が、Yes→No へ変化したデータを多く含んでおり、決定木上で、ノード1．2．2 に降りてくるテストを見ることで、コンセプトドリフトの要因が分かる。 生成された決定木より、ノード1.2.2 は、最初のテスト（ノード1のテスト） ORG is in { "JAPAN", "PPL", "ARTIFICIAL INTELLIGENCE", "DATABASE SOCIETY OF JAPAN", "HPC", "SSME", "ACM SIGMOD JAPAN"} が False であり、かつ、次のテスト （ノード1.2 のテスト） ORG is in { "JAPAN SOCIETY OF MECHANICAL ENGINEERING", "INFORMATION SECURITY"} が False であるデータが集まったノードであることがわかる。この例では、即ち、ノード１とノード1.2のテストに出現しなかった ORG の値 については、2006年3Qでは Yes となっていたのに対し、2006年4Qでは No になったことを意味している。 また、その変化は全体のデータのうちの 77% にも達していることが読み取れる。
【０１３３】
続いて、DIFFN2Y（”No→Yes”）と変化したデータを見つけることを考える。この例では、ノード1.1.1 が該当する。同様に、ノード1 とノード1.1のテストを調べることで、コンセプトドリフトの内容を知ることができる。また、このルールによる変化は、全体で2%程度しか存在していないこともわかる。
【０１３４】
このように、決定木を分析することで、旧担当者が入力していた２００６年３Ｑと、新担当者が入力していた２００６年４Ｑの間で発生した変化の内容を知ることができた。
【図面の簡単な説明】
【０１３５】
【図１】ハードウェア構成の概要ブロック図である。
【図２】機能論理構成の概要ブロック図である。
【図３】本発明の処理のフローチャートである。
【図４】分類器の一般的な処理を示すフローチャートである。
【図５】単純な線形判別器の処理を示すフローチャートである。
【図６】ロジスティック回帰の処理を示すフローチャートである。
【図７】ＳＶＭの処理を示すフローチャートである。
【図８】決定木の処理を示すフローチャートである。
【図９】人工データによる変化分析の場合の決定木を示す図である。
【図１０】企業のメールの変化分析の場合の決定木を示す図である。
【図１１】データベースの変化分析の場合の決定木を示す図である。
【図１】
0005159368.tif 000020
【図２】
0005159368.tif 000021
【図３】
0005159368.tif 000022
【図４】
0005159368.tif 000023
【図５】
0005159368.tif 000024
【図６】
0005159368.tif 000025
【図７】
0005159368.tif 000026
【図８】
0005159368.tif 000027
【図９】
0005159368.tif 000028
【図１０】
0005159368.tif 000029
【図１１】
0005159368.tif 000030