(57)【要約】【課題】  事前に設定した数のカーネル関数を線形結合してデータ分類に最適なカーネル関数を生成する。【解決手段】  要素カーネル生成部１０２は、予め用意された複数の距離関数(距離尺度) ｄ１〜ｄｐを用いて、複数の要素カーネル関数ｋ１〜ｋｐを生成する。カーネル最適化部１０３は、要素カーネル関数Ｋ１〜Ｋｐを線形結合した統合カーネル関数Kを生成し、教師データzを最適に分離するように結合定数を決定することで、統合カーネル関数Kを最適化する。カーネル成分表示部１０４は、各要素カーネル関数Ｋ１〜Ｋｐと結合定数及び各要素カーネル関数に対応する距離尺度とを表示装置１５０に表示する。【選択図】      図１
2008084842.tif 000002
【特許請求の範囲】
【請求項１】
複数の距離尺度ごとに要素カーネル関数を生成するカーネル生成部と、
前記生成された複数の要素カーネル関数を結合係数で線形結合して生成した統合カーネル関数を生成し、入力する教師データを用いて前記結合係数を決めることで前記統合カーネル関数を最適化するカーネル最適化部とを備えたことを特徴とするカーネル関数生成装置。
【請求項２】
前記カーネル最適化部は、前記統合カーネル関数が前記教師データを最適に分離するように前記結合係数を決定する請求項１に記載のカーネル関数生成装置。
【請求項３】
記憶装置から距離尺度およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力装置に出力するカーネル成分出力部を備える請求項１記載のカーネル関数生成装置。
【請求項４】
前記複数の距離尺度は、複数の属性を持つデータ間の距離を定義するそれぞれ異なる複数の距離関数である請求項１記載のカーネル関数生成装置。
【請求項５】
異なる距離関数は、考慮する属性の種類が相違する請求項４記載のカーネル関数生成装置。
【請求項６】
異なる距離関数は、距離の種類が相違する請求項４記載のカーネル関数生成装置。
【請求項７】
異なる距離関数は、距離のスケールが相違する請求項４記載のカーネル関数生成装置。
【請求項８】
前記教師データは、同じクラスタに属するデータには同じラベルを付加し、異なるクラスタに属するデータには異なるラベルを付加したデータである請求項１記載のカーネル関数生成装置。
【請求項９】
前記カーネル最適化部は、異なるクラスタ間の一致度が最小となるように結合係数の値を決定する請求項８記載のカーネル関数生成装置。
【請求項１０】
前記カーネル最適化部は、異なるラベルを持つデータ間の類似度の和を、等しいラベルを持つデータ間の類似度の和で割った値を最小化する結合係数の値を決定する請求項９記載のカーネル関数生成装置。
【請求項１１】
前記統合カーネル関数を用いて教師無データの分類を行う教師無データ分類部を備請求項９記載のカーネル関数生成装置。
【請求項１２】
統合カーネル関数の結合係数を閾値と比較して閾値以下の結合係数に対応する属性を削除対象属性に決定し、圧縮対象データから前記削除対象属性を削除する次元圧縮を行うデータ圧縮部を備えた請求項９記載のカーネル関数生成装置データ圧縮装置。
【請求項１３】
統合カーネル関数の結合係数を閾値と比較して閾値以上の結合係数に対応する属性を、前記教師データを複数のグループに分類する原因となる属性であると推定する原因推定部を備えた請求項９記載のカーネル関数生成装置。
【請求項１４】
前記複数の要素カーネル関数を結合係数で線形結合して統合カーネル関数を生成し、教師データを用いて前記結合係数を決めることにより前記統合カーネル関数を最適化するカーネル関数生成方法。
【請求項１５】
前記統合カーネル関数が前記教師データを最適に分離するように前記結合係数を決定する請求項１３記載のカーネル関数生成方法。
【請求項１６】
記憶装置から距離尺度およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力する請求項１３記載のカーネル関数生成方法。
【請求項１７】
コンピュータに、
複数の距離尺度ごとに要素カーネル関数を生成する機能と、
前記生成された複数の要素カーネル関数を結合係数で線形結合して統合カーネル関数を生成し、入力する教師データを用いて前記結合係数を決めることで前記統合カーネル関数を最適化する機能とを実行させることを特徴とするカーネル関数生成プログラム。
【請求項１８】
前記コンピュータに、前記統合カーネル関数が前記教師データを最適に分離するように前記結合係数を決定する機能を実行させる請求項１７に記載のカーネル関数生成プログラム。
【請求項１９】
前記コンピュータに、距離尺度およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力する機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【請求項２０】
前記複数の距離尺度を、複数の属性を持つデータ間の距離を定義するそれぞれ異なる複数の距離関数として設定した請求項１７記載のカーネル関数生成プログラム。
【請求項２１】
異なる距離関数は、考慮する属性の種類が相違する請求項２０記載のカーネル関数生成プログラム。
【請求項２２】
異なる距離関数は、距離の種類が相違する請求項２０記載のカーネル関数生成プログラム。
【請求項２３】
異なる距離関数は、距離のスケールが相違する請求項２０記載のカーネル関数生成プログラム。
【請求項２４】
前記教師データは、同じクラスタに属するデータには同じラベルを付加し、異なるクラスタに属するデータには異なるラベルを付加したデータである請求項１７記載のカーネル関数生成プログラム。
【請求項２５】
前記コンピュータに、異なるクラスタ間の一致度が最小となるように結合係数の値を決定する機能を実行させる請求項２４記載のカーネル関数生成プログラム。
【請求項２６】
前記コンピュータに、異なるラベルを持つデータ間の類似度の和を、等しいラベルを持つデータ間の類似度の和で割った値を最小化する結合係数の値を決定する機能を実行させる請求項２５記載のカーネル関数生成プログラム。
【請求項２７】
前記コンピュータに、統合カーネル関数を用いて教師無データの分類を行う機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【請求項２８】
前記コンピュータに、統合カーネル関数の結合係数を閾値と比較して閾値以下の結合係数に対応する属性を圧縮対象属性に決定し、圧縮対象データから前記圧縮対象属性を削除する次元圧縮を行う機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【請求項２９】
前記コンピュータに、統合カーネル関数の結合係数を閾値と比較して閾値以上の結合係数に対応する属性を、前記教師データを複数のグループに分類する原因となる属性と推定する機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カーネル関数の生成装置および生成したカーネル関数を用いてデータを分類する装置に関する。
【背景技術】
【０００２】
複数の属性を持つデータを分類する手法の一種に、データを或る空間上のベクトルと見做した際のベクトル間の内積（類似度）を定義するカーネル関数を用いる方法がある。【０００３】
カーネル関数としては、ガウシアンカーネルや多項式カーネル等が一般的に知られている。しかし、これら既存のカーネル関数はそれぞれ一長一短があるため、目的とするデータの分類に適さない場合がある。【０００４】
そこで、特許文献１では、既存のカーネル関数を複数線形結合して、所望のデータの分類に適したカーネル関数を生成している。【０００５】
以下、特許文献１に記載されたカーネル関数の生成方法を説明する。なお、互いに線形結合される個々のカーネル関数と、線形結合によって生成されるカーネル関数とを区別するために、本明細書では、前者を要素カーネル関数、後者を統合カーネル関数と呼ぶ。【０００６】
特許文献１では、ｉ番目の教師データをｚｉとすると、まず、数１で示されるガウシアン型のカーネル関数を初期生成する。【０００７】
［数１］
Ｋ（ｚｉ，ｚｊ）≡ｅｘｐ（−β｜ｚｉ−ｚｊ｜２）
ここで、β＝１／（２σ２）、σ２は入力ベクトル（教師データ）の共分散行列の最大固有値である。【０００８】
次に、教師データと所定の評価基準とに基づいて、カーネル関数Ｋ（ｚｉ，ｚｊ）が一定の基準を満足するかどうかを調べ、満足しない場合、数２に示すように、現在のカーネル関数Ｋ（ｚｉ，ｚｊ）に、現在のパラメータβを１．５倍にした別のガウシアン型のカーネル関数を加算することにより、統合カーネル関数を更新する。【０００９】
［数２］
Ｋ（ｚｉ，ｚｊ）≡Ｋ（ｚｉ，ｚｊ）＋ｅｘｐ（−β｜ｚｉ−ｚｊ｜２）【００１０】
以上の処理を、所定の評価基準を満足する統合カーネル関数が生成されるまで、繰り返す。【００１１】
他方、カーネルに関する他の文献として、論理カーネルというカーネルを定義して｛0,1｝のビット列のデータを分類する方法を記載した特許文献２、カーネルを指定したときの分離平面の設定の仕方に関する技術を記載した特許文献３があるが、いずれもカーネル自体の最適化には触れていない。【００１２】
【特許文献１】特開2006-085426号公報
【特許文献２】特開2003-256801号公報
【特許文献３】特開2004-341959号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
一般に何れか１つの要素カーネル関数を用いるよりは、それらの線形結合として表現される統合カーネル関数を用いた方が、より高い分類性能が実現される。その理由は、複数の要素カーネル関数の総和に対応する再生核ヒルベルト空間は、個々の要素カーネル関数に対応する再生核ヒルベルト空間すべてを包含するので、個々の要素カーネル関数よりもそれらの和の統合カーネル関数の方が高い表現力を持つからである。従って、特許文献１で提案されているカーネル関数の最適化方法は、所望のデータの分類に適したカーネル関数を生成する上で、それなりに有効な方法と考えられる。しかしながら、以下のような課題がある。【００１４】
第１の課題は、最適なカーネル関数が得られるまでに幾つの要素カーネル関数が線形結合されるか、事前に決まらないことである。線形結合される要素カーネル関数の数が増えれば、それだけ最終的な統合カーネル関数が複雑になり、その分だけ計算コストが増える。計算コストを或る値以下に抑えるために、結合数を制限したくても、その結合数の範囲内でカーネル関数の最適化が行えない。【００１５】
第２の課題は、最適な統合カーネル関数を構成する個々の要素カーネル関数の寄与が不明なことである。例えば、複数の属性を持つデータ間の距離を定義するそれぞれ異なる複数の距離尺度として、考慮する属性の種類が相違する距離尺度を使用し、それらの各距離尺度に対応する要素カーネルを線形結合した統合カーネル関数を考えた場合、個々の要素カーネル関数の寄与の大きさが判明すると、分類に寄与する属性と寄与しない属性の区別が可能になり、次元圧縮などに利用できるが、特許文献１ではその実現は困難である。【００１６】
本発明の目的は、事前に設定した数の要素カーネル関数を線形結合してデータ分類に最適な統合カーネル関数を生成することにある。【００１７】
本発明の別の目的は、最適な統合カーネル関数を構成する個々の要素カーネル関数の寄与を明らかにすることにある。【００１８】
本発明の他の目的は、生成した統合カーネル関数を用いて、データ分類、データ圧縮あるいは原因推定を行うことにある。
【課題を解決するための手段】
【００１９】
前記目的を達成するため、本発明に係るカーネル関数生成装置は、記憶装置から読み出した複数の距離尺度ごとに要素カーネル関数を生成し記憶装置に書き込むカーネル生成部と、前記生成された複数の要素カーネル関数を記憶装置から読み出し線形結合して生成した統合カーネル関数が、教師データを最適に分離するように、その結合係数を決定して記憶装置に書き込むカーネル最適化部とを備えたことを特徴とする。【００２０】
本発明に係るカーネル関数生成方法は、コンピュータを用いてカーネル関数を生成する方法であって、前記コンピュータが、記憶装置から複数の距離尺度を読み出し、各距離尺度ごとに要素カーネル関数を生成し、記憶装置に書き込む第１のステップと、前記コンピュータが、記憶装置から読み出した複数の要素カーネル関数を線形結合して統合カーネル関数を生成し、該生成した統合カーネル関数が、記憶装置から読み出した教師データを最適に分離するように結合係数を決定して記憶装置に書き込む第２のステップとを含むことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、以下のような効果が奏される。【００２２】
第１の効果は、事前に設定した数の要素カーネル関数を使用して最適な統合カーネル関数が生成できることである。その理由は、複数の要素カーネル関数の線形結合が教師データを最適に分離するように結合定数を決定するという方法によって、最適な統合カーネル関数を生成しているからである。【００２３】
第２の効果は、最適な統合カーネル関数における個々の要素カーネル関数の寄与が明らかになることである。その理由は、最適化された統合カーネル関数において、寄与の小さな要素カーネル関数の結合係数は小さく、寄与の大きな要素カーネル関数の結合係数は大きくなるためである。
【発明を実施するための最良の形態】
【００２４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。【００２５】
『第１の実施の形態』
図１を参照すると、本発明の第１の実施の形態にかかるカーネル関数生成装置は、プログラム制御により動作する処理装置１００と、磁気ディスクや半導体メモリ等で構成された教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０および統合カーネル記憶部１４０と、液晶ディスプレイ等で構成された表示装置１５０と、キーボード等で構成された入力装置１６０とを備えている。【００２６】
教師データ記憶部１１０は、複数の教師データzを記憶する。教師データzは、複数の属性ａ１，ａ２，…，ａｍから構成される。すなわち、教師データzはａ１，ａ２，…，ａｍを要素とするベクトルデータとして扱える。複数の教師データのうちのi番目の教師データをziと記す。また、教師データzには、ラベル値yが付加されている。ラベル値yは教師データzがどのクラスタに属するかを示す。本実施の形態の場合、ラベル値は+1と-1の何れかの値をとる。【００２７】
例えば、入退室の回数やwebのアクセス容量などを記録したデータを正常な行動に対応するデータと不正な行動に対応するデータとに分類したい場合、教師データzは入退室の回数やwebのアクセス容量などを記録したデータであり、正常な行動に対応するデータには+1、不正な行動に対応するデータには-1というラベルが付与されているものが考えられる。【００２８】
距離関数記憶部１２０は、複数の距離関数ｄ１〜ｄｐを記憶する。各距離関数ｄ１〜ｄｐは、距離の尺度であり、複数の属性ａ１，ａ２，…，ａｍを持つデータz間の距離を定義する。本実施の形態の場合、それぞれの距離関数ｄ１〜ｄｐは、考慮する属性の種類が相違する。具体的には、距離関数ｄ１は属性ａ１の値に関してデータz間の距離を定義する。また、距離関数ｄ2は属性ａ２の値に関してデータz間の距離を定義する。さらに、距離関数の個数は属性数に等しくなっており（即ちm=p）、距離関数ｄｐは属性ａｍの値に関してデータz間の距離を定義する。【００２９】
一般にデータ間の距離には、ユークリッド距離、ミンコフスキー距離、編集距離、ハミング距離、発生頻度間の差、発生頻度の対数損失間の差など様々な種類がある。本実施の形態の場合、距離関数ｄ１〜ｄｐが示す距離の種類はすべて同じであり、前記のうちの何れか１つが使用される。ここで、データxの発生確率を何らかのモデルで学習しているとして、その発生確率をp(x)としたとき、|p(x)-p(y)|をデータxとデータyとの発生頻度間の差、|-log［p(x)］-(-log［p(y)］)|を発生頻度の対数損失間の差と呼んでいる。【００３０】
また、同じ種類の距離でも、その距離の２倍や２乗をとると言ったようにスケールを変えることができるが、本実施の形態の場合、すべての距離関数ｄ１〜ｄｐのスケールは同じになっている。【００３１】
要素カーネル記憶部１３０は、距離関数ｄ１〜ｄｐのそれぞれに対応して生成された要素カーネル関数K１〜Kｐを記憶する。【００３２】
統合カーネル記憶部１４０は、要素カーネル関数K１〜Kｐを線形結合して生成した統合カーネル関数Kを記憶する。【００３３】
入力装置１６０は、ユーザからの起動指示などの指示やデータを処理装置１００に与えるために使用される。【００３４】
表示装置１５０は、処理装置１００の処理結果や処理過程のデータをユーザに出力するために使用される。ここでは、処理結果等をユーザに出力する装置の一例として表示装置１５０を使用しているが、他の種類の出力装置、たとえばプリンタ等であっても良い。【００３５】
処理装置１００は、教師データ入力部１０１と、要素カーネル生成部１０２と、カーネル最適化部１０３と、カーネル成分表示部１０４とを有する。【００３６】
教師データ入力部１０１は、教師データ記憶部１１０から複数の教師データzを順に読み出し、カーネル最適化部１０３に伝達する。【００３７】
要素カーネル生成部１０２は、距離関数記憶部１２０から複数の距離関数ｄ１〜ｄｐを順に読み出し、各距離関数ｄ１〜ｄｐに１対１に対応する要素カーネル関数K１〜Kｐを生成し、要素カーネル記憶部１３０に保存する。【００３８】
カーネル最適化部１０３は、要素カーネル記憶部１３０から要素カーネル関数K１〜Kｐを読み出し、それらを線形結合して生成した統合カーネル関数Kが、教師データzを最適に分離するように、その結合係数を決定し、最適化した統合カーネル関数Kを統合カーネル記憶部１４０に保存する。【００３９】
カーネル成分表示部１０４は、統合カーネル記憶部１４０から読み出した統合カーネル関数Kにおける各要素関数K１〜Kｐの結合係数、距離関数記憶部１２０から読み出した距離関数ｄ１〜ｄｐ、要素カーネル記憶部１３０から読み出した要素カーネル関数K１〜Kｐを表示装置１５０に表示する。距離関数ｄ１〜ｄｐおよび要素カーネル関数K１〜Kｐの何れか一方は表示を省略しても良い。【００４０】
本発明の実施形態にあっては、予め用意した複数の距離尺度から、複数の要素カーネル関数を生成し、これらを線形結合した統合カーネル関数が、教師データを最適に分離するように結合係数を決定する。結合係数は、個々の要素カーネル関数の重みであり、例えば0以上、1以下の値をとり、その総和が1になる。要素カーネル関数の個数をp個とすると、各々の結合係数の値を変化させることによって、統合カーネル関数の構造が変化する。その取り得る構造の数は、p個の要素カーネル関数を同じ重みで加算する従来方法に比べて増加するため、より最適な統合カーネル関数を生成することが可能になる。また、決定された結合係数によって要素カーネル関数の寄与の度合いが明らかになる。【００４１】
次に本実施の形態にかかるカーネル関数生成装置の動作を説明する。【００４２】
ユーザが、教師データ記憶部１１０に複数の教師データzを、距離関数記憶部１２０に複数の距離関数ｄ１〜ｄｐをそれぞれ格納し、入力装置１６０からカーネル関数の生成指示を入力すると、処理装置１００は、図２に示される処理の実行を開始する。【００４３】
まず、処理装置１００の要素カーネル生成部１０２は、距離関数ｄ１〜ｄｐを距離関数記憶部１２０から入力し、それらに対応する要素カーネル関数K１〜Kｐを生成して、要素カーネル記憶部１３０に記憶する（Ｓ１０１）。距離関数に対応する要素カーネル関数の生成方法としては、例えば数３に示すような方法が挙げられる。【００４４】
［数３］
Ｋ１（ｚｉ，ｚｊ）≡ｅｘｐ［−ｄ１（ｚｉ−ｚｊ）２］
Ｋ２（ｚｉ，ｚｊ）≡ｅｘｐ［−ｄ２（ｚｉ−ｚｊ）２］
…
Ｋｐ（ｚｉ，ｚｊ）≡ｅｘｐ［−ｄｐ（ｚｉ−ｚｊ）２］【００４５】
ここでは、ガウシアン型のカーネルを用いたが、常に正の値をとるようなカーネル関数であれば、他の種類のカーネル関数を用いることも可能である。【００４６】
次に、カーネル最適化部１０３は、要素カーネル関数K１〜Kｐを結合係数ｃ１〜ｃｐで線形結合して、数４に示すような統合カーネル関数Kを生成し、統合カーネル記憶部１４０に記憶する（ステップＳ１０２）。そして、教師データ入力部１０１を通じて入力した教師データzを用いて、結合係数ｃ１〜ｃｐを適切に決めることにより、統合カーネル関数Kを最適化する（ステップＳ１０３）。【００４７】
［数４］
Ｋ（ｚｉ，ｚｊ）≡Σｎ＝１ｐ  ｃｎｋｎ（ｚｉ，ｚｊ）【００４８】
データを或る空間上のベクトルと見做した際のベクトル間の内積（類似度）を定義する関数がカーネル関数で表現される空間をカーネル空間と呼ぶ。すべての結合係数ｃ１〜ｃｐは、カーネル関数が数４で表されるカーネル空間において、ラベルが+1である教師データzのクラスタとラベルが-1である教師データzのクラスタとの一致度が最小となるように決める。一致度としては、大きいほど両者が似ており、小さいほど両者が良く分離されていることを示すような値を用いる。【００４９】
例えば、一致度としては数５に示すQのような量を用いることができる。【００５０】
【数５】
2008084842.tif 000003
【００５１】
このQは、異なるラベルを持つデータ間の類似度の和を、等しいラベルを持つデータ間の類似度の和で割った商であり、Qの値が小さいことは、ラベルが+1であるデータのクラスタとラベルが-1であるデータのクラスタとの類似度が低いことに対応する。この例の場合には、ラベルが+1であるデータの数をM、ラベルが-1であるデータの数をN、要素カーネル関数の数をPとして、数６の２つの条件の下で、数５のQを最小化するｃ１〜ｃｐを求めれば良い。【００５２】
［数６］
Σｎ＝１ｐ  ｃｎ＝１
ｃｎ≧0
ただし、n=1,…,P【００５３】
次にカーネル成分表示部１０４は、カーネル最適化部１０３で求められた結合係数ｃ１〜ｃｐと対応する距離関数ｄ１〜ｄｐおよび要素カーネル関数K１〜Kｐを表示装置１５０に表示する（Ｓ１０４）。【００５４】
次に本実施の形態の効果について説明する。【００５５】
本実施の形態によれば、データ分類に最適な統合カーネル関数を生成することができ、かつ、統合カーネル関数を構成する個々の要素カーネル関数の寄与を明らかにすることができる。【００５６】
また、データの属性と距離関数ｄ１〜ｄｐ、および距離関数ｄ１〜ｄｐと要素カーネル関数K１〜Kｐがそれぞれ１対１に対応しているため、要素カーネル関数の寄与が明らかになることにより、データの各属性がデータ分類に与える寄与を調べることができる。【００５７】
このため、結合係数ｃｎの値が小さい要素カーネル関数ｋｎに対応する属性ａｎは、データの分類には小さな寄与しかしないということなので、その属性ａｎをデータから削除することでデータの次元圧縮を行うことができる。また、大きい値を持つ結合係数ｃｎと対応する距離関数dnおよび要素カーネル関数ｋｎを見ることで、教師データを+1のラベルのクラスタと-1のラベルのクラスタとに分類する際に大きな寄与をする属性が何であるかを認識でき、それらクラスタを分けている原因の推定を行うことができる。【００５８】
『第１の実施の形態の変形』
以上の第１の実施の形態では、距離関数ｄ１〜ｄｐは、データz間の距離をデータ内の１つの属性の値に関しての距離として定義したが、データz内の複数の属性の組み合わせに関しての距離として定義することもできる。また、距離関数ｄ１〜ｄｐは、上記のように属性の組み合わせ方を変えて作る方法（これを第１の方法と言う）以外に、以下のような第２、第３の方法も考えられる。【００５９】
第２の方法は、距離の種類を変えて作る方法で、ユークリッド距離、ミンコフスキー距離、編集距離、ハミング距離、発生頻度間の差、発生頻度の対数損失間の差などの様々な種類の距離を用いて、データ間の距離を定義する。例えば、距離関数ｄ１はデータz間のユークリッド距離、距離関数ｄ2は教師データz間のミンコフスキー距離を定義するといった如きものである。【００６０】
第３の方法は、スケールのとり方を変えて作る方法で、第１または第２の方法で定義した距離の1倍を距離とするか2倍を距離とするか、若しくは2乗を距離とするか3乗を距離とするか、といったスケールの採り方を変えて距離を定義する。【００６１】
また、第１、第２および第３の方法を組み合わせた方法で距離関数を作ることも可能である。【００６２】
『第２の実施の形態』
図３を参照すると、本発明の第２の実施の形態にかかるデータ分類装置は、プログラム制御により動作する処理装置２００と、磁気ディスクや半導体メモリ等で構成された教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０、統合カーネル記憶部１４０、教師無データ記憶部２１０および分類結果記憶部２２０と、液晶ディスプレイ等で構成された表示装置１５０と、キーボード等で構成された入力装置１６０とを備えている。【００６３】
教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０、統合カーネル記憶部１４０、表示装置１５０および入力装置１６０は、第１の実施の形態と同じものである。【００６４】
教師無データ記憶部２１０は、分類対象とする複数の教師無データ２１１を記憶する。教師無データ２１１は、教師データzと同じ型（属性の数と各属性の内容の定義が同じ）のデータであり、かつ、+1、-1のラベルが付いていないデータである。【００６５】
分類結果記憶部２２０は、教師無データ２１１を分類した結果２２１を記憶する。【００６６】
処理装置２００は、第１の実施の形態におけるものと同一の教師データ入力部１０１、要素カーネル生成部１０２、カーネル最適化部１０３およびカーネル成分表示部１０４に加えてさらに、教師無データ入力部２０１と、教師無データ分類部２０２と、分類結果表示部２０３とを有する。【００６７】
教師無データ入力部２０１は、教師無データ記憶部２１０から教師無データ２１１を順に読み出して、教師無データ分類部２０２に伝達する。【００６８】
教師無データ分類部２０２は、統合カーネル記憶部１４０から最適化された統合カーネル関数Kを読み出し、この統合カーネル関数Kに基づいて、教師無データ２１１を分類し、その分類結果２２１を分類結果記憶部２２０に保存する。【００６９】
分類結果表示部２０３は、分類結果記憶部２２０から分類結果２２１を読み出し、表示装置１５０に表示する。【００７０】
次に本実施の形態にかかるデータ分類装置の動作を説明する。教師データ入力部１０１、要素カーネル生成部１０２、カーネル最適化部１０３およびカーネル成分表示部１０４によって、距離関数ｄ１〜ｄｐから教師データzを用いて最適な統合カーネル関数Kを生成する際の動作は第１の実施の形態と同じなので、その説明は省略する。生成された統合カーネル関数Kを用いて教師無データ２１１を分類する際の動作は以下のようになる。【００７１】
教師無データ分類部２０２は、統合カーネル記憶部１４０から統合カーネルKを読み出し、また教師無データ入力部２０１を通じて教師無データ記憶部２１０から教師無データ２１１を読み出し、教師無データの２クラス分類問題を解き、その結果を分類結果２２１として保存する。【００７２】
ここで行う２クラス分類は、カーネル関数を用いて行える手法を用いる。用いる手法としては、教師無の分類手法と教師付の分類手法とがあり、本実施の形態では、教師無の分類手法を用いる。教師無の分類手法としては、例えばカーネルk-means法が挙げられる。教師無の分類手法では、教師無データ２１１が２つのグループに分けられる。【００７３】
分類結果表示部２０３は、分類結果記憶部２２０から分類結果２２１を読み出し、表示装置１５０に表示する。【００７４】
次に本実施の形態の効果を説明する。【００７５】
本実施の形態によれば、第１の実施の形態と同様にして生成された最適化された統合カーネル関数Kを用いて、教師無データ２１１を分類することができる。【００７６】
また本実施の形態によれば、教師無の分類手法を用いているので、データ分類時に教師データzを必要としない利点がある。【００７７】
『第３の実施の形態』
図４を参照すると、本発明の第３の実施の形態にかかるデータ分類装置は、処理装置２００の教師無データ分類部２０２が教師無データ分類部２０４に置き換えられている点で、図３に示した第２の実施の形態にかかるデータ分類装置と相違する。【００７８】
教師無データ分類部２０４は、統合カーネル記憶部１４０から読み出した最適化された統合カーネル関数Kと、教師データ入力部１０１を通じて教師データ記憶部１１０から読み出した教師データzと、教師無データ入力部２０１を通じて教師無データ記憶部２１０から読み出した教師無データ２１１とに基づいて、教師無データ２１１を分類し、その分類結果２２１を分類結果記憶部２２０に保存する。すなわち、教師無データ分類部２０４は、教師無データの２クラス分類問題を教師付の分類手法を用いて解く点で、第２の実施の形態の教師無データ分類部２０２と相違する。【００７９】
教師付の分類手法としては、例えばSVM(Support Vector Machine)やカーネル判別分析が挙げられる。教師付の分類手法では、教師無データ２１１が+1のラベルの付いたデータのグループと-1のラベルの付いたデータのグループに分けられる。【００８０】
次に本実施の形態の効果を説明する。【００８１】
本実施の形態によれば、第１の実施の形態と同様にして生成された最適化された統合カーネル関数Kを用いて、教師無データ２１１を分類することができる。【００８２】
また本実施の形態によれば、教師付の分類手法を用いているので、教師無データ２１１を+1のラベルの付いたデータのグループと-1のラベルの付いたデータのグループに分類することができる。【００８３】
『第４の実施の形態』
図５を参照すると、本発明の第４の実施の形態にかかるデータ圧縮装置は、プログラム制御により動作する処理装置３００と、磁気ディスクや半導体メモリ等で構成された教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０、統合カーネル記憶部１４０、圧縮対象データ記憶部３１０および圧縮結果記憶部３２０と、液晶ディスプレイ等で構成された表示装置１５０と、キーボード等で構成された入力装置１６０とを備えている。【００８４】
教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０、統合カーネル記憶部１４０、表示装置１５０および入力装置１６０は、第１の実施の形態と同じものである。【００８５】
圧縮対象データ記憶部３１０は、圧縮対象とする複数のデータ３１１を記憶する。圧縮対象データ３１１は、教師データzと同じ型（属性の数と各属性の内容の定義が同じ）のデータである。+1、-1のラベルが付いているか否かは問わない。【００８６】
圧縮結果記憶部３２０は、圧縮対象データ３１１を圧縮した結果３２１を記憶する。【００８７】
処理装置３００は、第１の実施の形態におけるものと同一の教師データ入力部１０１、要素カーネル生成部１０２、カーネル最適化部１０３およびカーネル成分表示部１０４に加えてさらに、圧縮対象データ入力部３０１と、データ圧縮部３０２と、圧縮結果表示部３０３とを有する。【００８８】
圧縮対象データ入力部３０１は、圧縮対象データ記憶部３１０から圧縮対象データ３１１を順に読み出して、データ圧縮部３０２に伝達する。【００８９】
データ圧縮部３０２は、統合カーネル記憶部１４０から最適化された統合カーネル関数Kの結合係数ｃ１〜ｃｐを読み出し、予め設定された閾値と比較することにより削除する属性を決定し、この決定した属性を圧縮対象データ３１１から削除することで次元圧縮を行い、その結果３２１を圧縮結果記憶部３２０に保存する。【００９０】
圧縮結果表示部３０３は、圧縮結果記憶部３２０から圧縮結果３２１を読み出し、表示装置１５０に表示する。【００９１】
次に本実施の形態にかかるデータ圧縮装置の動作を説明する。教師データ入力部１０１、要素カーネル生成部１０２、カーネル最適化部１０３およびカーネル成分表示部１０４によって、距離関数ｄ１〜ｄｐから教師データzを用いて最適な統合カーネル関数Kを生成する際の動作は第１の実施の形態と同じなので、その説明は省略する。生成された統合カーネル関数Kを用いて圧縮対象データ３１１の次元圧縮を行う際の動作は以下のようになる。【００９２】
データ圧縮部３０２は、まず、統合カーネル関数Kの結合係数ｃ１〜ｃｐを予め設定された閾値と比較することにより、削除する属性を決定する。第１の実施の形態で説明したように、教師データzの各属性ａ１,ａ2,…,ａmと、各距離関数ｄ１,ｄ2,…,ｄｐと、要素カーネル関数ｋ１，ｋ２，…，ｋｐと、結合係数ｃ１,ｃ2,…,ｃｐとが１対１の関係にある場合、閾値より小さな結合係数に対応する属性は一意に定まる。今、閾値より小さな結合係数が例えばｃ１，ｃ２の２つであるとすると、ａ１，ａ２の２つの属性が削除対象になる。【００９３】
次にデータ圧縮部３０２は、圧縮対象データ入力部３０１を通じて圧縮対象データ記憶部３１０から圧縮対象データ３１１を順に読み出し、圧縮対象データ３１１から削除対象の属性を削除したデータを圧縮結果３２１として圧縮結果記憶部３２０へ保存する。【００９４】
圧縮結果表示部３０３は、圧縮結果記憶部３２０から圧縮結果３２１を読み出し、表示装置１５０に表示する。【００９５】
次に本実施の形態の効果を説明する。【００９６】
本実施の形態によれば、第１の実施の形態と同様にして生成された最適化された統合カーネル関数Kを用いて、圧縮対象データ３１１の次元圧縮を行うことができる。【００９７】
『第５の実施の形態』
図６を参照すると、本発明の第５の実施の形態にかかる原因推定装置は、プログラム制御により動作する処理装置４００と、磁気ディスクや半導体メモリ等で構成された教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０、統合カーネル記憶部１４０および推定結果記憶部４１０と、液晶ディスプレイ等で構成された表示装置１５０と、キーボード等で構成された入力装置１６０とを備えている。【００９８】
教師データ記憶部１１０、距離関数記憶部１２０、要素カーネル記憶部１３０、統合カーネル記憶部１４０、表示装置１５０および入力装置１６０は、第１の実施の形態と同じものである。【００９９】
推定結果記憶部４１０は、教師データ記憶部１１０に記憶されている教師データzを、+1のラベルの付いたデータのグループと-1のラベルの付いたデータのグループとの２つのグループに分類する原因となった属性の推定結果４１１を記憶する。【０１００】
処理装置４００は、第１の実施の形態におけるものと同一の教師データ入力部１０１、要素カーネル生成部１０２、カーネル最適化部１０３およびカーネル成分表示部１０４に加えてさらに、原因推定部４０１と推定結果表示部４０２とを有する。【０１０１】
原因推定部４０１は、統合カーネル記憶部１４０から最適化された統合カーネル関数Kの結合係数c1〜cpを読み出し、予め設定された閾値と比較することにより、教師データzを２つのグループに分類する原因となった属性を決定し、この決定した属性を推定結果４１１として推定結果記憶部４１０に保存する。【０１０２】
推定結果表示部４０２は、推定結果記憶部４１０から推定結果４１１を読み出し、表示装置１５０に表示する。【０１０３】
次に本実施の形態にかかる原因推定装置の動作を説明する。教師データ入力部１０１、要素カーネル生成部１０２、カーネル最適化部１０３およびカーネル成分表示部１０４によって、距離関数ｄ１〜ｄｐから教師データzを用いて最適な統合カーネル関数Kを生成する際の動作は第１の実施の形態と同じなので、その説明は省略する。生成された統合カーネル関数Kを用いて原因の推定を行う際の動作は以下のようになる。【０１０４】
原因推定部４０１は、統合カーネル関数Kの結合係数ｃ１〜ｃｐを予め設定された閾値と比較し、閾値以上の結合係数に対応する属性を原因属性とする。第１の実施の形態で説明したように、教師データzの各属性ａ１,ａ2,…,ａmと、各距離関数ｄ１,ｄ2,…,ｄｐと、要素カーネル関数ｋ１,ｋ2,…,ｋｐと、結合係数ｃ１,ｃ2,…,ｃｐとが１対１の関係にある場合、閾値より大きな結合係数に対応する属性は一意に定まる。原因推定部４０１は、推定結果４１１を推定結果記憶部４１１へ保存する。【０１０５】
推定結果表示部４０２は、推定結果記憶部４１０から推定結果４１１を読み出し、表示装置１５０に表示する。【０１０６】
次に本実施の形態の効果を説明する。【０１０７】
本実施の形態によれば、第１の実施の形態と同様にして生成された最適化された統合カーネル関数Kを用いて、教師データzを２つのグループに分類する原因となった属性を推定することができる。【０１０８】
さらに、本発明の他の実施形態について説明する。本発明のの他の実施形態に係るカーネル関数生成装置は、記憶装置から読み出した複数の距離尺度ごとに要素カーネル関数を生成し記憶装置に書き込むカーネル生成部と、前記生成された複数の要素カーネル関数を記憶装置から読み出し線形結合して生成した統合カーネル関数が、教師データを最適に分離するように、その結合係数を決定して記憶装置に書き込むカーネル最適化部とを備えた構成としてもよいものである。【０１０９】
前記カーネル関数生成装置において、記憶装置から距離尺度およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力装置に出力するようにしてもよいものである。また、前記複数の距離尺度は、複数の属性を持つデータ間の距離を定義するそれぞれ異なる複数の距離関数であることが望ましい。異なる距離関数は、考慮する属性の種類が相違することが望ましい。異なる距離関数は、距離の種類が相違することが望ましい。異なる距離関数は、距離のスケールが相違することが望ましい。【０１１０】
前記教師データは、同じクラスタに属するデータには同じラベルを付加し、異なるクラスタに属するデータには異なるラベルを付加したデータであることが望ましい。前記カーネル最適化部は、異なるクラスタ間の一致度が最小となるように結合係数の値を決定するようにしてもよい。前記カーネル最適化部は、異なるラベルを持つデータ間の類似度の和を、等しいラベルを持つデータ間の類似度の和で割った値を最小化する結合係数の値を決定するようにしてもよい。【０１１１】
生成された統合カーネル関数を用いて教師無データの分類を行う教師無データ分類部を備えるようにしてもよいものである。統合カーネル関数の結合係数を閾値と比較して閾値以下の結合係数に対応する属性を削除対象属性に決定し、圧縮対象データから前記削除対象属性を削除する次元圧縮を行うデータ圧縮部を備えるようにしてもよい。統合カーネル関数の結合係数を閾値と比較して閾値以上の結合係数に対応する属性を、前記教師データを複数のグループに分類する原因となる属性であると推定する原因推定部を備えるようにしてもよい。【０１１２】
本発明の他の実施形態に係るカーネル関数生成方法は、コンピュータを用いてカーネル関数を生成する方法であって、前記コンピュータが、記憶装置から複数の距離尺度を読み出し、各距離尺度ごとに要素カーネル関数を生成し、記憶装置に書き込む第１のステップと、前記コンピュータが、記憶装置から読み出した複数の要素カーネル関数を線形結合して統合カーネル関数を生成し、該生成した統合カーネル関数が、記憶装置から読み出した教師データを最適に分離するように結合係数を決定して記憶装置に書き込む第２のステップとを含む構成としてもよいものである。【０１１３】
前記コンピュータが、記憶装置から距離尺度およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力装置に出力する第３のステップを含むようにしてもよい。【０１１４】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。また、本発明のカーネル関数生成装置、データ分類装置、データ圧縮装置、原因推定装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるカーネル関数生成装置、データ分類装置、データ圧縮装置、原因推定装置として機能させ、前述した処理を行わせる。【０１１５】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１１６】
この出願は２００７年１月１２日に出願された日本出願特願２００７−００４３０６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図面の簡単な説明】
【０１１７】
【図１】本発明の第１の実施の形態にかかるカーネル関数生成装置のブロック図である。
【図２】本発明の第１の実施の形態にかかるカーネル関数生成装置の動作を示すフローチャートである。
【図３】本発明の第２の実施の形態にかかるデータ分類装置のブロック図である。
【図４】本発明の第３の実施の形態にかかるデータ分類装置のブロック図である。
【図５】本発明の第４の実施の形態にかかるデータ圧縮装置のブロック図である。
【図６】本発明の第５の実施の形態にかかる原因推定装置のブロック図である。
【符号の説明】
【０１１８】
１００…処理装置
１０１…教師データ入力部
１０２…要素カーネル生成部
１０３…カーネル最適化部
１０４…カーネル成分表示部
１１０…教師データ記憶部
１２０…距離関数記憶部
１３０…要素カーネル記憶部
１４０…統合カーネル記憶部
１５０…表示装置
１６０…入力装置
【図１】
2008084842.tif 000004
【図２】
2008084842.tif 000005
【図３】
2008084842.tif 000006
【図４】
2008084842.tif 000007
【図５】
2008084842.tif 000008
【図６】
2008084842.tif 000009
【手続補正書】
【提出日】平成20年11月11日(2008.11.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の属性をもつデータ間の距離を定義する複数の距離関数ごとに要素カーネル関数を生成するカーネル生成部と、
前記生成された複数の要素カーネル関数を結合係数で線形結合し統合カーネル関数を生成し、入力する教師データを用いて前記結合係数を決めることで前記統合カーネル関数を最適化するカーネル最適化部とを備えたことを特徴とするカーネル関数生成装置。
【請求項２】
前記カーネル最適化部は、前記統合カーネル関数が前記教師データを最適に分離するように前記結合係数を決定する請求項１に記載のカーネル関数生成装置。
【請求項３】
記憶装置から複数の属性をもつデータ間の距離を定義する複数の距離関数およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力装置に出力するカーネル成分出力部を備える請求項１記載のカーネル関数生成装置。
【請求項４】
（削除）
【請求項５】
異なる距離関数は、考慮する属性の種類が相違する請求項１記載のカーネル関数生成装置。
【請求項６】
異なる距離関数は、距離の種類が相違する請求項１記載のカーネル関数生成装置。
【請求項７】
異なる距離関数は、距離のスケールが相違する請求項１記載のカーネル関数生成装置。
【請求項８】
前記教師データは、同じクラスタに属するデータには同じラベルを付加し、異なるクラスタに属するデータには異なるラベルを付加したデータである請求項１記載のカーネル関数生成装置。
【請求項９】
前記カーネル最適化部は、異なるクラスタ間の一致度が最小となるように結合係数の値を決定する請求項８記載のカーネル関数生成装置。
【請求項１０】
前記カーネル最適化部は、異なるラベルを持つデータ間の類似度の和を、等しいラベルを持つデータ間の類似度の和で割った値を最小化する結合係数の値を決定する請求項９記載のカーネル関数生成装置。
【請求項１１】
前記統合カーネル関数を用いて教師無データの分類を行う教師無データ分類部を備えた請求項９記載のカーネル関数生成装置。
【請求項１２】
統合カーネル関数の結合係数を閾値と比較して閾値以下の結合係数に対応する属性を削除対象属性に決定し、圧縮対象データから前記削除対象属性を削除する次元圧縮を行うデータ圧縮部を備えた請求項９記載のカーネル関数生成装置。
【請求項１３】
統合カーネル関数の結合係数を閾値と比較して閾値以上の結合係数に対応する属性を、前記教師データを複数のグループに分類する原因となる属性であると推定する原因推定部を備えた請求項９記載のカーネル関数生成装置。
【請求項１４】
複数の要素カーネル関数を結合係数で線形結合して統合カーネル関数を生成し、教師データを用いて前記結合係数を決めることにより前記統合カーネル関数を最適化するカーネル関数生成方法。
【請求項１５】
前記統合カーネル関数が前記教師データを最適に分離するように前記結合係数を決定する請求項１４記載のカーネル関数生成方法。
【請求項１６】
記憶装置から複数の属性をもつデータ間の距離を定義する複数の距離関数およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力する請求項１５記載のカーネル関数生成方法。
【請求項１７】
コンピュータに、
複数の属性をもつデータ間の距離を定義する複数の距離関数ごとに要素カーネル関数を生成する機能と、
前記生成された複数の要素カーネル関数を結合係数で線形結合して統合カーネル関数を生成し、入力する教師データを用いて前記結合係数を決めることで前記統合カーネル関数を最適化する機能とを実行させることを特徴とするカーネル関数生成プログラム。
【請求項１８】
前記コンピュータに、前記統合カーネル関数が前記教師データを最適に分離するように前記結合係数を決定する機能を実行させる請求項１７に記載のカーネル関数生成プログラム。
【請求項１９】
前記コンピュータに、距離尺度およびそれに対応する要素カーネル関数の少なくとも一方とそれに対応する結合係数とを読み出して出力する機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【請求項２０】
（削除）
【請求項２１】
異なる距離関数は、考慮する属性の種類が相違する請求項１９記載のカーネル関数生成プログラム。
【請求項２２】
異なる距離関数は、距離の種類が相違する請求項１９記載のカーネル関数生成プログラム。
【請求項２３】
異なる距離関数は、距離のスケールが相違する請求項１９記載のカーネル関数生成プログラム。
【請求項２４】
前記教師データは、同じクラスタに属するデータには同じラベルを付加し、異なるクラスタに属するデータには異なるラベルを付加したデータである請求項１７記載のカーネル関数生成プログラム。
【請求項２５】
前記コンピュータに、異なるクラスタ間の一致度が最小となるように結合係数の値を決定する機能を実行させる請求項２４記載のカーネル関数生成プログラム。
【請求項２６】
前記コンピュータに、異なるラベルを持つデータ間の類似度の和を、等しいラベルを持つデータ間の類似度の和で割った値を最小化する結合係数の値を決定する機能を実行させる請求項２５記載のカーネル関数生成プログラム。
【請求項２７】
前記コンピュータに、統合カーネル関数を用いて教師無データの分類を行う機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【請求項２８】
前記コンピュータに、統合カーネル関数の結合係数を閾値と比較して閾値以下の結合係数に対応する属性を圧縮対象属性に決定し、圧縮対象データから前記圧縮対象属性を削除する次元圧縮を行う機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【請求項２９】
前記コンピュータに、統合カーネル関数の結合係数を閾値と比較して閾値以上の結合係数に対応する属性を、前記教師データを複数のグループに分類する原因となる属性と推定する機能を実行させる請求項１７記載のカーネル関数生成プログラム。
【国際調査報告】
2008084842.tif 000010
2008084842.tif 000011