特許第6907772号(P6907772)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許6907772-情報処理装置およびプログラム 図000019
  • 特許6907772-情報処理装置およびプログラム 図000020
  • 特許6907772-情報処理装置およびプログラム 図000021
  • 特許6907772-情報処理装置およびプログラム 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6907772
(24)【登録日】2021年7月5日
(45)【発行日】2021年7月21日
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20210708BHJP
   G06F 17/18 20060101ALI20210708BHJP
   G06F 16/906 20190101ALI20210708BHJP
   G06N 7/00 20060101ALI20210708BHJP
【FI】
   G06N20/00 160
   G06F17/18 Z
   G06F16/906
   G06N7/00 150
【請求項の数】10
【全頁数】14
(21)【出願番号】特願2017-136075(P2017-136075)
(22)【出願日】2017年7月12日
(65)【公開番号】特開2019-20806(P2019-20806A)
(43)【公開日】2019年2月7日
【審査請求日】2020年6月19日
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】岡本 洋
【審査官】 稲葉 崇
(56)【参考文献】
【文献】 特開2013−156960(JP,A)
【文献】 特開2009−211429(JP,A)
【文献】 特開2017−27509(JP,A)
【文献】 川谷 隆彦 Takahiko KAWATANI,共通性分析による文書クラスタリングの評価 Evaluation of the Document Clustering Method Based on Commonality Analysis of Multiple Documents,情報処理学会研究報告 Vol.2003 No.108 IPSJ SIG Technical Reports,日本,社団法人情報処理学会 Information Processing Society of Japan,第2003巻
【文献】 邱 シュウレ Xule Qiu,一般社団法人 人工知能学会 第30回全国大会論文集CD−ROM [CD−ROM] 2016年度 人工知能学会全国大会(第30回)論文集 The 30th Annual Conference of the Japan Society of Artificial Intelligence
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00−3/12
G06N7/08−99/00
G06N5/00−7/06
G06F16/00−16/958
G06F17/00−17/18
(57)【特許請求の範囲】
【請求項1】
複数の成分がベクトルで表現されるベクトルデータを取得する取得手段と、
前記ベクトルデータをパラメトリック手法によりクラスタリングする第1クラスタリング手段と、
前記ベクトルデータを表すデータ点と前記第1クラスタリング手段により得られた各クラスタの特徴点をノードとする二部ネットワークを生成する生成手段と、
前記データ点のノードと、前記特徴点のノードとを結ぶリンク重みを算出する算出手段と、
前記二部ネットワークにおけるリンクを介するノード間の遷移確率を前記リンク重みに応じて決定し、前記ノード間の遷移の確率過程の繰り返し計算を実行することにより、前記ノードのクラスタリングを行う第2クラスタリング手段と
を備える情報処理装置。
【請求項2】
前記第1クラスタリング手段は、k平均法でクラスタリングを行い、
前記第1クラスタリング手段により得られたクラスタの中心を前記特徴点とする
請求項1に記載の情報処理装置。
【請求項3】
前記リンクの重みを、前記特徴点と前記データ点との間のユークリッド距離が短いほど正の値として大きくする活性化関数により算出する
請求項2に記載の情報処理装置。
【請求項4】
前記データ点をxn、前記特徴点をmkとした場合、前記ユークリッド距離を式(1)により算出する、
請求項3に記載の情報処理装置。
【数1】
【請求項5】
前記第1クラスタリング手段は、K−medoids法でクラスタリングを行い、
前記第1クラスタリング手段により得られたクラスタの代表点を前記特徴点とする
請求項1に記載の情報処理装置。
【請求項6】
前記第1クラスタリング手段は、混合ガウスモデルによりクラスタリングを行い、
複数のガウス分布の各々を前記特徴点とし、
前記データ点の前記クラスタへの寄与度を前記リンク重みとする
請求項1に記載の情報処理装置。
【請求項7】
前記混合ガウスモデルは、前記ベクトルデータの分布を楕円体で近似する
請求項6に記載の情報処理装置。
【請求項8】
前記第2クラスタリング手段は、前記クラスタの重要度を算出し、
重要度が予め定められた条件を満たすクラスタを抽出する
請求項1から請求項7のいずれか一項に記載の情報処理装置。
【請求項9】
前記算出手段は、
前記特徴点と前記データ点との間のユークリッド距離を算出し、
前記データ点との前記ユークリッド距離が近い順に、予め定められた個数の前記特徴点のノードを選択し、
選択した特徴点のノードと前記データ点との前記リンク重みを正の値とし、選択した特徴点以外の特徴点のノードと前記データ点との前記リンク重みを0とする
請求項1に記載の情報処理装置。
【請求項10】
コンピュータを、
複数の成分がベクトルで表現されるベクトルデータを取得する取得手段と、
前記ベクトルデータをパラメトリック手法によりクラスタリングする第1クラスタリング手段と、
前記ベクトルデータを表すデータ点と前記第1クラスタリング手段により得られた各クラスタの特徴点をノードとする二部ネットワークを生成する生成手段と、
前記データ点のノードと、前記特徴点のノードとを結ぶリンク重みを算出する算出手段と、
前記二部ネットワークにおけるリンクを介するノード間の遷移確率を前記リンク重みに応じて決定し、前記ノード間の遷移の確率過程の繰り返し計算を実行することにより、前記ノードのクラスタリングを行う第2クラスタリング手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
発明者は、クラスタリングについて、「マルコフ連鎖のモジュール分解」に基づいて、ネットワークから重なりと階層を持つクラスタ構造を検出する方法を特許文献1にて提案した。マルコフ連鎖のモジュール分解に基づくクラスタリング(コミュニティ抽出)の計算では、ネットワークの各ノードが持つ確率がリンクを経由して他のリンクに遷移(ランダムウォーク)するというモデルで各ノードの確率の変化を繰り返し計算し、定常状態に達したときの情報に基づき、各ノードがどのクラスタに属するのかを判定した。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−168127号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
二種類のノードから構成されるネットワーク(以下、二部ネットワーク)で扱うベクトルデータは、文書の特徴表現の場合だけでなく、例えば、各種の測定による物理量や、各種診断における検査値を表す場合も考えられる。この場合、例えば、温度の値は、ゼロあるいはマイナスの値となることもあるが、文書の特徴表現とは異なり、値の大小は、ノードとデータ点を結ぶリンクの重みを表すものとはならないため、このようなベクトルデータを二部ネットワークで表現しようとする場合、値の大小からリンクの重みを得る方法は採用できない。
【0005】
また負の値を含むベクトルデータを扱うクラスタリングの方法としては、例えばデータ間の相対的な位置関係に基づいて行うノンパラメトリックな方法があるが、この場合、事前にデータペア間の距離を求める必要があり、データ数が多くなると計算量が増え、クラスタリングに時間がかかることとなる。
【0006】
本発明は、負の値を含むベクトルデータを、ノンパラメトリックな方法よりも少ない計算量でクラスタリングする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の請求項1に係る情報処理装置は、複数の成分がベクトルで表現されるベクトルデータを取得する取得手段と、前記ベクトルデータをパラメトリック手法によりクラスタリングする第1クラスタリング手段と、前記ベクトルデータを表すデータ点と前記第1クラスタリング手段により得られた各クラスタの特徴点をノードとする二部ネットワークを生成する生成手段と、前記データ点のノードと、前記特徴点のノードとを結ぶリンク重みを算出する算出手段と、前記二部ネットワークにおけるリンクを介するノード間の遷移確率を前記リンク重みに応じて決定し、前記ノード間の遷移の確率過程の繰り返し計算を実行することにより、前記ノードのクラスタリングを行う第2クラスタリング手段とを備える。
【0008】
本発明の請求項2に係る情報処理装置においては、前記第1クラスタリング手段は、k平均法でクラスタリングを行い、前記第1クラスタリング手段により得られたクラスタの中心を前記特徴点とする。
【0009】
本発明の請求項3に係る情報処理装置においては、前記リンクの重みを、前記特徴点と前記データ点との間のユークリッド距離が短いほど正の値として大きくする活性化関数により算出する。
【0010】
本発明の請求項4に係る情報処理装置においては、前記データ点をxn、前記特徴点をmkとした場合、前記ユークリッド距離を式(1)により算出する。
【数1】
【0011】
本発明の請求項5に係る情報処理装置においては、前記第1クラスタリング手段は、K−medoids法でクラスタリングを行い、前記第1クラスタリング手段により得られたクラスタの代表点を前記特徴点とする。
【0012】
本発明の請求項6に係る情報処理装置においては、前記第1クラスタリング手段は、混合ガウスモデルによりクラスタリングを行い、複数のガウス分布の各々を前記特徴点とし、前記データ点の前記クラスタへの寄与度を前記リンク重みとする。
【0013】
本発明の請求項7に係る情報処理装置においては、前記混合ガウスモデルは、前記ベクトルデータの分布を楕円体で近似する。
【0014】
本発明の請求項8に係る情報処理装置においては、前記第2クラスタリング手段は、前記クラスタの重要度を算出し、重要度が予め定められた条件を満たすクラスタを抽出する。
【0015】
本発明の請求項9に係る情報処理装置においては、前記算出手段は、前記特徴点と前記データ点との間のユークリッド距離を算出し、前記データ点との前記ユークリッド距離が近い順に、予め定められた個数の前記特徴点のノードを選択し、選択した特徴点のノードと前記データ点との前記リンク重みを正の値とし、選択した特徴点以外の特徴点のノードと前記データ点との前記リンク重みを0とする。
【0016】
本発明の請求項10に係るプログラムは、コンピュータを、複数の成分がベクトルで表現されるベクトルデータを取得する取得手段と、前記ベクトルデータをパラメトリック手法によりクラスタリングする第1クラスタリング手段と、前記ベクトルデータを表すデータ点と前記第1クラスタリング手段により得られた各クラスタの特徴点をノードとする二部ネットワークを生成する生成手段と、前記データ点のノードと、前記特徴点のノードとを結ぶリンク重みを算出する算出手段と、前記二部ネットワークにおけるリンクを介するノード間の遷移確率を前記リンク重みに応じて決定し、前記ノード間の遷移の確率過程の繰り返し計算を実行することにより、前記ノードのクラスタリングを行う第2クラスタリング手段として機能させるためのプログラムである。
【発明の効果】
【0017】
本発明の請求項1に係る情報処理装置によれば、負の値を含むベクトルデータを、計算量を抑えてクラスタリングすることができる。
本発明の請求項2に係る情報処理装置によれば、ノンパラメトリックの手法でクラスタリングを行う構成と比較して、早くクラスタリングを行うことができる。
本発明の請求項3に係る情報処理装置によれば、リンクの重みを負の値とせずにクラスタリングを行うことができる。
本発明の請求項4に係る情報処理装置によれば、ベクトルデータに負の値が含まれていても、リンクの重みが負の値にならないようにすることができる。
本発明の請求項5に係る情報処理装置によれば、クラスタの中心に最も近いデータを特徴点とすることができる。
本発明の請求項6に係る情報処理装置によれば、混合ガウスモデルを用いない構成と比較して、特徴点の数を少なくすることができる。
本発明の請求項7に係る情報処理装置によれば、クラスタリングの計算量を抑えることができる。
本発明の請求項8に係る情報処理装置によれば、重要なクラスタを抽出することができうる。
本発明の請求項9に係る情報処理装置によれば、クラスタリングの精度を良くすることができる。
本発明の請求項10に係るプログラムによれば、負の値を含むベクトルデータを、計算量を抑えてクラスタリングすることができる。
【図面の簡単な説明】
【0018】
図1】本発明の一実施形態に係る情報処理装置の構成を示した図。
図2】制御部10が行う処理の流れを示したフローチャート。
図3】二部ネットワークの一例を示した図。
図4】制御部10が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【0019】
[実施形態]
図1は、本発明に係る情報処理装置1の構成の一例を示した図である。情報処理装置1は、コンピュータ装置であり、制御部10、記憶部11、操作部12、表示部13および通信部14を備える。
【0020】
通信部14は、通信回線に接続されており、他のコンピュータ装置と通信を行う通信インターフェースの機能を有する。表示部13は、ディスプレイ装置であり、制御部10が行った処理の結果を表示する。操作部12は、例えば情報処理装置1を操作するためのキーボードやマウス等である。
【0021】
記憶部11は、データを永続的に記憶する記憶装置を含み、データ点を表すベクトルデータを記憶する。ここで記憶されるベクトルデータは、数2のように実数値である複数の成分で表現されるデータである。複数の各成分は、例えば、画像形成装置内の各種センサの測定値(実数値)を表し、負の値を含むことができる。複数の各成分においては、例えば温度センサの測定値が含まれ、測定値は、正の値だけでなくゼロや負の値をとることがある。
【0022】
【数2】
【0023】
データ全体がN個のデータ点x1、・・・、xnからなるとき、これを数3に示したN×Dの設計行列で表す。
【0024】
【数3】
【0025】
また、記憶部11は、制御部10が実行するプログラムを記憶する。記憶部11が記憶するプログラムは、ベクトルデータからクラスタリングを行うプログラムである。記憶部11に記憶されるプログラムは、通信部14により電気通信回線を介して取得したものや、コンピュータ読み取り可能な記録媒体から取得したものであってもよい。
【0026】
制御部10は、CPU(Central Processing Unit)とRAM(Random Access Memory)を備えており、記憶部11に記憶されているプログラムを実行する。記憶部11に記憶されているプログラムを制御部10が実行すると、取得部101、第1クラスタリング部102、生成部103、算出部104、第2クラスタリング部105が実現し、ベクトルデータに対してクラスタリングを行う機能が実現する。
【0027】
本発明に係る取得手段の一例である取得部101は、記憶部11からベクトルデータを取得する。本発明に係る第1クラスタリング手段の一例である第1クラスタリング部102は、パラメトリックな方法でベクトルデータをクラスタリングする。本発明に係る生成手段の一例である生成部103は、ベクトルデータの個々のデータ点と、第1クラスタリング部102によるクラスタリングで得た個々のクラスタの平均をノードとする二部ネットワークを生成する。本発明に係る算出手段の一例である算出部104は、二部ネットワークにおける個々のデータ点のノードと、クラスタの平均のノードとを結ぶリンクの重みを算出する。本発明に係る第2クラスタリング手段の一例である第2クラスタリング部105は、生成部103が生成した二部ネットワークにおけるリンクを介するノード間の遷移確率を前記リンク重みに応じて決定し、ノード間の遷移の確率過程の繰り返し計算を実行することにより、二部ネットワークのノードのクラスタリングを行う。
【0028】
図2は、プログラムを実行した制御部10が行う処理の流れを示したフローチャートである。まず制御部10(取得部101)は、記憶部11に記憶されているベクトルデータを取得する(ステップSA1)。次に制御部10(第1クラスタリング部102)は、取得したベクトルデータを予め定められた方法でクラスタリングする(ステップSA2)。ここでベクトルデータをクラスタリングする方法は、パラメトリックなクラスタリング方法であり、例えば、k平均法(K−means法)である。k平均法は、ベクトルデータを情報処理装置1のユーザが指定したK個の個数のクラスタに分割する。k平均法でベクトルデータを分割し、数4の式によりK個のクラスタの中心mkが、各クラスタに属するベクトル点の平均として得られる。この中心mkは、クラスタの仮の中心でクラスタの特徴点となる。数4の式においてCkは、クラスタk(k=1,・・・,K)を表し、Nkは、クラスタkに属する要素(データ点)の個数を表す。k平均法でクラスタリングを行い、中心mkをクラスタの特徴点とすることにより、ここでパラメトリックなクラスタリングを行わない構成と比較して、精度よく特徴点をデータ分布が局所的に密になっている部分の中心として選ぶこととなる。
【0029】
【数4】
【0030】
ステップSA2の処理においては、各クラスタにおけるデータ点が特定のモデルに従って分布すると仮定し、各クラスタにおいてデータ点が球状あるいは楕円状に分布すると仮定する。パラメトリックなクラスタリング方法の場合、ノンパラメトリックな方法のように全てのデータペア間の距離を求める必要がないため、ノンパラメトリックな方法と比較すると少ない計算量でクラスタリングが行われる。
【0031】
制御部10は、ステップSA2の処理を行うことにより、各クラスタの平均で特徴点となる中心mkを特徴ノードとして特定する。制御部10(生成部103)は、特徴ノードを特定すると、個々のデータ点と、ステップSA2で得た個々のクラスタ平均をノードとする二部ネットワークを生成する(ステップSA3)。二部ネットワークとは、二部グラフとも呼ばれ、ノードの集合が2つの部分集合に分割されており、同じ部分集合内のノード同士の間にリンクがないネットワーク(グラフ)のことである。二部ネットワークの一例を図3に例示する。図3では、三角形がデータ点に対応するデータ点ノードnを表し、円形がクラスタの平均に対応する特徴ノードmを表す。また、データ点ノードnと特徴ノードmを結ぶ直線がリンクである。
【0032】
次に制御部10(算出部104)は、データ点ノードnと特徴ノードmを結ぶリンクの重みwnkを算出する(ステップSA4)。ここで制御部10は、例えば、数5に示したクラスタの平均mkを中心とする活性化関数を通じて重みwnkを定める。数5の(1)の式は、各クラスタの中心mkと各データ点xnとの間のユークリッド距離である。数5の(2)の式は、データ点のノードnと特徴ノードmとを結ぶリンクの重みを、ユークリッド距離が短いほど正の値として大きくする活性化関数である。数5の式により、ベクトルデータの成分あるいは特徴点の成分に負の値があってもリンクの重みwnkを正または0にし、負の値にならないようにすることができる。
【0033】
【数5】
【0034】
次に制御部10(第2クラスタリング部105)は、ステップSA3で生成した二部ネットワークを対象として、ネットワークのモジュール分解の手法によるコミュニティ分解を行う(ステップSA5)。このネットワークのモジュール分解は、次の数6の式で表現される。
【0035】
【数6】
【0036】
数6の式において、p(n)はノードnが持つ確率(そのノードにランダムウォーカーが存在する確率)である。またπkは、クラスタkの事前確率であり、そのクラスタkの重要度を示す。πkのkについての総和は1である。またp(n|k)は、クラスタkにおけるノードnの確率である。Kはクラスタkの総数である。数6の式は、ノードnの確率p(n)が、各クラスタkにおける当該ノードnの確率p(n|k)の組み合わせに分解できることを表している。
【0037】
制御部10(第2クラスタリング部105)が行う具体的な計算手法は、特願2017−034888に記載された方法と同様でよい。以下では、具体的な計算処理として、特願2017−034888に記載された方法に基づく処理の例を、図4のフローチャートを用いて説明する。
【0038】
図4の手順では、まず制御部10は、生成した二部ネットワークについての遷移確率行列Tnmを生成する(ステップSB1)。遷移確率行列Tnmは、ネットワーク内のノードmからノードnへリンクを辿ってエージェント(言い換えれば、ノードmが持つ確率値)が遷移(ランダムウォーク)する確率(即ち遷移確率)を行列として表現したものである。本実施形態においては、制御部10は、例えばノードから出る1以上のリンクを、ステップSA4で設定した重みwnkに応じた確率でエージェントが選択するとみなして遷移確率行列Tnmを求める。即ち、制御部10は、重みwnkの値が大きいほど、そのリンクについての遷移確率の値を高くする。遷移確率行列については、更に特開2013−168127号公報、特開2016−029526号公報、特開2016−218531号公報も参照されたい。
【0039】
次に、制御部10は、定常リンク確率を計算する(ステップSB2)。この計算では、まずステップSB1で得られた二部ネットワークの遷移確率行列Tnmを用いて、その二部ネットワークにおける確率遷移(ランダムウォーク)の定常状態において各ノードが持つ確率(定常状態のノード確率)を計算する。この計算では、例えば次の数7の式の計算を定常状態となるまで繰り返す。
【0040】
【数7】
【0041】
数7の式において、pt(n)は、離散的な時刻tにおいてノードnが持つ確率である。数7の式を繰り返し計算して定常状態となったときのpt(n)が、ノードnの定常状態でのノード確率pstead(n)である。
【0042】
次に制御部10は、各ノードnの定常状態でのノード確率pstead(n)から、定常状態でのリンク確率を次の数8の式に従って計算する。
【0043】
【数8】
【0044】
リンク確率とは、ノード確率pt(n)に対してそのノードから出るリンクl(エル)の遷移確率を乗じたものである。リンクlについての定常状態のリンク確率(数8の式の左辺)は、そのリンクlの起点のノードの定常状態のノード確率に対して、遷移確率行列Tnmに含まれる、そのリンクlの起点ノードから終点ノードへの遷移確率を乗じたものである。
【0045】
特開2016−029526号公報および特開2016−218531号公報では、D回の仮想的な観測で得られる観測データである通過情報τn(d)(dは1からDまでの整数。nはノードの識別番号)を学習データとして用いた。これに対して以下に説明する例では、観測回数Dが十分大きい(ノード数Nよりもはるかに多い)という妥当な想定の下、τn(d)の代わりに実リンクlに関する通過情報として、数9の式を用いる。
【0046】
【数9】
【0047】
ここでnはノードの識別番号である。またδはクロネッカーのδである。即ち、数9の式が定義するノードnの実リンクlに関する通過情報(学習データ)は、そのノードnがその実リンクlの終点ノード(terminal end of link l)または起点ノード(initial end of link l)に一致する場合に値が1となり、それ以外の場合は値が0となる。制御部10は、二部ネットワークの情報からこのような通過情報を学習用のデータとして生成する。生成した通過情報は、後述するEM(Expectation Maximization)アルゴリズムの計算で用いる。
【0048】
また、本実施形態では、特開2016−029526号公報での仮想的な観測の各回dにおける複数のクラスタ(成分)全体に対するクラスタkが占める割合γ(d)(k)の代わりに、実リンクlに関して後述する数11の(3)の式で定義される割合γlk(チルダ付き)を用いる。
【0049】
また、このような観測回数dから実リンクの番号lへの置き換えにより、関数の総和の表現は以下のように置き換えられる。
【0050】
【数10】
【0051】
後述する数11の(1)の式の右辺第2項は、特開2016−029526号公報等に説明した同様の式に対してこのような置き換えを行ったものである。
【0052】
図4の手順の説明に戻ると、次に制御部10は、確率pt(n|k)および重要度πknew、および割合γlkの初期値を仮決めし、繰り返し回数のカウンタgの値を0に初期化する(ステップSB3)。確率pt(n|k)は、クラスタkにおけるノードnの確率である。また、重要度πknewは、クラスタkの重要度である。またγlkは、リンクlにおける、複数のクラスタ全体に対するクラスタkが占める割合である。
【0053】
次に制御部10は、下記の数11の(1)、(2)および(3)の式を用いてEMアルゴリズムの繰り返し計算を行う。
【0054】
【数11】
【0055】
すなわちまず制御部10は、(3)の式を用いて割合γlkを計算する(ステップSB4)(EMアルゴリズムのEステップ)。この計算の最初の繰り返しでは、ステップSB3で仮決めした初期値を用いる。
【0056】
次に制御部10は、現在の確率pt(n|k)および重要度πknewを一時刻前の値pt-1(n|k)および重要度πkoldとする置き換えを行う(ステップSB5)。そして、(1)の式および(2)の式に従って、確率pt(n|k)および重要度πknewを計算する(ステップSB6)(EMアルゴリズムのMステップ)。より詳しくは、ステップSB6では、まず(2)の式に従って新たな重要度πknewを計算し、その後、この新たな重要度を用いて(1)の式の計算を行うことで、確率pt(n|k)を求める。ここでαは、正の実数であって、クラスタの大きさを定めるパラメータであり、予め定めた値を用いればよい。
【0057】
そして、制御部10は、繰り返し計算の回数のカウンタgをインクリメントし(ステップSB7)、そのカウンタgが予め定めた値Gに達したかどうかを判定し(ステップSB8)、達していなければステップSB4〜SB7の処理を繰り返す。値Gは、本実施形態の計算手法においてステップSB4〜ステップSB6の計算が収束するのに必要な繰り返し回数であり、実験や経験的知識等により予め定めておく。
【0058】
制御部10は、ステップSB8で、カウンタgが値Gに達したと判定した場合は、繰り返し計算が収束したものとして、図4の処理を終了する。制御部10は、ステップSB8の判定結果がYesとなった後、数12の式に従ってノードnのクラスタkへの所属度γ(k|n)を計算する(ステップSA6)。
【数12】
【0059】
この式のうちπkおよびp(n|k)は、EMアルゴリズムの計算(ステップSB4〜ステップSB6)の繰り返しにより最終的に求められたπknewおよびpt(n|k)である。数12の式は、πkおよびp(n|k)から、ベイズの定理により、ノードnがクラスタkに所属する度合い(所属度)を示すγ(k|n)を計算する式である。制御部10は、このようにして求めた所属度γ(k|n)をクラスタリング結果として出力する(ステップSA7)。所属度γ(k|n)は、ノードnのソフトクラスタリングの結果を表す情報である。
【0060】
なお、別の例として、制御部10は、求めた所属度γ(k|n)を予め定めた閾値で二値化したものをクラスタリング結果として出力してもよい。このクラスタリング結果は、ノードnが、所属度γ(k|n)の値が閾値以上となるクラスタkに対して所属する(二値化結果の値が1)ことを表す。定めた閾値の値によっては、ノードnについて二値化結果が1となるクラスタkが複数ある場合もあるが、これは一種のソフトクラスタリングの結果とみなせる。
【0061】
また制御部10は、繰り返し計算で用いたk=1〜K(クラスタ総数)のK個のクラスタ全部についてのクラスタリング結果のうち、重要ないくつかのクラスタについてのクラスタリング結果のみを抽出し、最終的なクラスタリング結果として出力してもよい。重要なクラスタは、重要度πkに基づき判定すればよい。例えば、繰り返し計算が収束したときに得られた最終的な重要度πkが予め定めた閾値以上となるクラスタkを重要なクラスタとして抽出したり、その重要度πkが上位から所定順位以内にあるクラスタkを重要なクラスタとして抽出したりすればよい。
【0062】
なお、ステップSB8における収束の判定では、図4に例示した方法の代わりに、特開2013−168127号公報、特開2016−029526号公報および特開2016−218531号公報で説明したものと同様の、繰り返し毎の評価値Qtの変化量が微小な値(閾値未満)となったときに、繰り返し計算が収束したと判定してもよい。
【0063】
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態および以下の変形例は、各々を組み合わせてもよい。
【0064】
上述した実施形態においては、重みwnkのパラメータを、データから求める構成としてもよい。例えば、制御部10は、数5の式のパラメータdk2を数13の式に従って求めてもよい。
【0065】
【数13】
【0066】
数13の式において、Ckは、ステップSA2においてk平均法で求めたクラスタを表し、Nkは、Ckに属するデータ点の数を表す。この構成によれば、数5の活性化関数のパラメータをベクトルデータから得ることができる。
【0067】
上述した実施形態においては、リンクの重みを数5の式で求めているが、リンクの重みを求める方法は、実施形態の方法に限定されるものではない。例えば、逆べき関数である数14の式によりリンクの重みwnkを求めてもよい。数14の式においては、Cは、C>0の定数であり、γ>0である。
【0068】
【数14】
【0069】
また、データ点xnとのユークリッド距離が近い順に予め定められたM個の特徴ノードを選び、選んだノードとデータ点との間のリンクの重みを例えばwnk=1として正の値とし、選んだ特徴ノード以外の特徴ノードとデータ点とのリンクの重みをwnk=0としてもよい。本発明においては、複数の特徴点(あるいは、それらに対応する特徴ノード)を選ぶ必要があり、クラスタリングの精度はこれらをどのように選ぶかに依存する。データ点の分布が密なところに特徴点を選ぶのは、クラスタリングの精度を良くする方法の一つである。本変形例によれば、特徴点をデータ分布が局所的に密になっている部分の中心として選ぶため、クラスタリングの精度が良くなる。
【0070】
上述した実施形態においては、ステップSA2において、ベクトルデータをk平均法でクラスタリングしているが、ステップSA2においてベクトルデータをクラスタリングする方法は、k平均法に限定されるものではない。例えば、k平均法に替えて、K−medoids法でクラスタリングしてもよい。K−medoids法は、ベクトルデータをユーザが指定したK個のクラスタに分割する点ではk平均法と同様であるが、クラスタの中心をデータ点の平均で定める替わりに、各クラスタに属するデータ点の中からそのクラスタの代表点を定める。k平均法でクラスタリングを行った場合、特徴点は、データ点と必ずしも一致しないが、K−medoids法でクラスタリングした場合、データ分布が局所的に密になっている部分の中心に最も近いデータ点を特徴点として選ぶこととなる。
【0071】
そして、K−medoids法でクラスタリングして得られたクラスタkの代表点をrkとし、K個のクラスタの代表点のそれぞれに特徴ノードを対応させる。代表点は、クラスタ内の点であり、その点以外のクラスタ内の点との非類似度の総和が最少となる点とする。そして、ステップSA2においてK−medoids法でクラスタリングを行った場合、ステップSA4で求めるリンクの重みwnkを数15の式により算出する。数15の(1)の式は、各クラスタの代表点rkと各データ点xnとの間のユークリッド距離である。数15の(2)の式は、データ点のノードnと特徴ノードrとを結ぶリンクの重みを、ユークリッド距離が短いほど正の値として大きくする活性化関数である。なお、リンクの重みは、ベクトルデータをK−medoids法でクラスタリングした場合、逆べき関数である数15の(3)の式により求めてもよい。数15の(3)式においては、Cは、C>0の定数であり、γ>0である。また、ベクトルデータをK−medoids法でクラスタリングした場合、データ点xnとの距離が近い順に予め定められたM個の特徴ノードを選び、選んだノードとデータ点との間のリンクの重みを例えばwnk=1として正の値とし、選んだ特徴ノード以外の特徴ノードとデータ点とのリンクの重みをwnk=0としてもよい。
【0072】
【数15】
【0073】
また、ステップSA2においては、混合ガウスモデルを用いてベクトルデータをクラスタリングしてもよい。混合ガウスモデルについては、例えば、Bishop, C.M. Pattern Recognition and Machine Learning (Springer)の9章を参照されたい。混合ガウスモデルを用いてベクトルデータをクラスタリングする方法では、K個のガウス分布が得られる。制御部10は、得られたK個のガウス分布のそれぞれに特徴ノードを対応させる。そして、ステップSA2において混合ガウスモデルを用いてベクトルデータをクラスタリングした場合、ステップSA4で求めるリンクの重みwnkを数16の式により算出する。数16の式は、ガウス分布に対応する特徴ノードkとデータ点のノードnとの間のリンクの重みを、データ点xnのクラスタkへの寄与度として定めている。そして、例えば、寄与度γnkをリンクの重みwnkとする。
【0074】
【数16】
【0075】
混合ガウスモデルは、データの分布の濃淡を、局所的に楕円体で近似する。楕円体の各軸の長さは、例えば、データに合わせて情報処理装置1のユーザが操作部12で指定することにより設定される。一方、k平均法あるいはK−medoids法は、局所的なデータの分布が球であると仮定している。混合ガウスモデルを用いた場合の方がより特徴点の数を少なくなり、特徴点の数が少なくなることにより、クラスタリングの計算量が抑えられる。
【符号の説明】
【0076】
1…情報処理装置、10…制御部、11…記憶部、12…操作部、13…表示部、14…通信部、101…取得部、102…第1クラスタリング部、103…生成部、104…算出部、105…第2クラスタリング部。
図1
図2
図3
図4