Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6707946B2 - Data clustering method, information processing apparatus, and data clustering program - Google Patents
[go: Go Back, main page]

JP6707946B2 - Data clustering method, information processing apparatus, and data clustering program - Google Patents

Data clustering method, information processing apparatus, and data clustering program Download PDF

Info

Publication number
JP6707946B2
JP6707946B2 JP2016064660A JP2016064660A JP6707946B2 JP 6707946 B2 JP6707946 B2 JP 6707946B2 JP 2016064660 A JP2016064660 A JP 2016064660A JP 2016064660 A JP2016064660 A JP 2016064660A JP 6707946 B2 JP6707946 B2 JP 6707946B2
Authority
JP
Japan
Prior art keywords
representative
representative point
point
points
data
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.)
Expired - Fee Related
Application number
JP2016064660A
Other languages
Japanese (ja)
Other versions
JP2016224915A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to US15/165,428 priority Critical patent/US20160357840A1/en
Publication of JP2016224915A publication Critical patent/JP2016224915A/en
Application granted granted Critical
Publication of JP6707946B2 publication Critical patent/JP6707946B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、データクラスタリング方法などに関する。 The present invention relates to a data clustering method and the like.

クラスタリング処理は、画像処理、音声認識、自然言語処理、センサデータ処理、DNAのシーケンスマイニング等、人工知能的な情報処理の基礎となる重要な手法である。かかるクラスタリング処理は、自己組織化写像やWard法に代表される階層型クラスタリング手法と、k−means法に代表される非階層型クラスタリング手法に大別される。 The clustering process is an important technique that is the basis of artificial intelligence information processing, such as image processing, voice recognition, natural language processing, sensor data processing, and DNA sequence mining. Such clustering processing is roughly classified into a hierarchical clustering method represented by the self-organizing map and the Ward method and a non-hierarchical clustering method represented by the k-means method.

階層型クラスタリング手法に関し、自己組織化写像は演算の収束保障が得られず取扱いが困難であるという欠点があり、Ward法は全てのデータ点どうしの距離を演算する必要があり、特に大規模なデータに対しては計算困難であるという欠点がある。 Regarding the hierarchical clustering method, the self-organizing map has a drawback that the convergence of the operation cannot be guaranteed and it is difficult to handle, and the Ward method needs to calculate the distance between all the data points, which is especially large scale. It has the drawback of being difficult to calculate for data.

他方、非階層型クラスタリング手法に関し、k−means法は、クラスタ数を事前に与えておく必要があり、未知の環境に対して適用が困難であるという問題があった。近年、確率モデルであるノンパラメトリックベイズ法を基とし、データの複雑さに応じてクラスタ数を自動的に決定するDP−means法が提案された。かかる手法は、非階層型クラスタリング手法でありながら、クラスタ数を動的に決定でき、かつ階層型クラスタリング方法とは異なり取扱いが容易であるという利点がある。 On the other hand, regarding the non-hierarchical clustering method, the k-means method has a problem that it is difficult to apply it to an unknown environment because it is necessary to give the number of clusters in advance. In recent years, based on the non-parametric Bayes method which is a probabilistic model, a DP-means method has been proposed which automatically determines the number of clusters according to the complexity of data. Although such a method is a non-hierarchical clustering method, it has the advantages that the number of clusters can be dynamically determined and that it is easy to handle unlike the hierarchical clustering method.

ここで、DP−means法の概要を、図35を参照して説明する。図35は、DP−means法の概要を示す図である。図35に示すように、DP−means法は、それぞれのデータ点を最近傍のクラスタに割り振る。そして、データ点と最近傍クラスタとの距離がλ以上であるならば、新規クラスタを生成する。そして、クラスタ毎、割り振られたデータ点の重心を計算し、各クラスタの重心を更新する。 Here, an outline of the DP-means method will be described with reference to FIG. FIG. 35 is a diagram showing an outline of the DP-means method. As shown in FIG. 35, the DP-means method allocates each data point to the nearest cluster. Then, if the distance between the data point and the nearest cluster is λ or more, a new cluster is generated. Then, the centroid of the assigned data points is calculated for each cluster, and the centroid of each cluster is updated.

DP−means法は、以下の式(1)で示す目的関数値φ(x,λ)を最適化するように、クラスタの重心を更新し、クラスタ数を更新する。但し、xは入力されるd次元のデータ点群、kはクラスタ数、λはクラスタ数を決定するハイパーパラメータである。
φ(x,λ)=ΣD(x,u)+λk・・・(1)
D(x,u)は、距離関数であり、例えば、以下の式(2)で示す二乗ユークリッド距離が該当する。

Figure 0006707946
The DP-means method updates the center of gravity of clusters and the number of clusters so as to optimize the objective function value φ(x, λ) shown in the following equation (1). Here, x is an input d-dimensional data point group, k is the number of clusters, and λ is a hyperparameter that determines the number of clusters.
φ(x, λ)=ΣD(x, u)+λ 2 k (1)
D(x,u) is a distance function, and for example, the squared Euclidean distance represented by the following equation (2) corresponds to it.
Figure 0006707946

ところが、DP−means法は、目的関数値φ(x,λ)の最適化を行う際に、全てのデータ点を使うため、全てのデータ点を保持しておく必要がある。また、計算処理の計算量は、保持するデータ点の数に比例して増大するため、大量のデータ点に対してクラスタリング処理を行う場合、計算量が非常に大きくなってしまう。このように全てのデータ点を保持した状態でクラスタリング処理を行う方法は、「バッチクラスタリング」と称する。 However, since the DP-means method uses all data points when optimizing the objective function value φ(x, λ), it is necessary to hold all data points. In addition, since the calculation amount of the calculation process increases in proportion to the number of held data points, when the clustering process is performed on a large number of data points, the calculation amount becomes very large. The method of performing the clustering process with all the data points held in this way is referred to as "batch clustering".

これに対して、全てのデータ点から代表点を抽出し、代表点を使ってクラスタリング処理を行う方法は、「ストリーミングクラスタリング」と称する。 On the other hand, a method of extracting representative points from all data points and performing clustering processing using the representative points is called "streaming clustering".

国際公開第2011/142225号International Publication No. 2011/142225 特開2002−304626号公報JP, 2002-304626, A 特開2010−134632号公報JP, 2010-134632, A 特開2013−182341号公報JP, 2013-182341, A 特開平10−171823号公報Japanese Patent Laid-Open No. 10-171823

B.Kulis and M.Jordan,“Revisiting k-means: New Algorithms via Bayesian Nonparametrics”,In ICML2012.B. Kulis and M. Jordan, “Revisiting k-means: New Algorithms via Bayesian Nonparametrics”, In ICML2012.

しかしながら、ストリーミングクラスタリングを行うためには、何らかの手段で代表点を選択することが必要であるが、単純にランダムに代表点を選択(ランダムサンプリング)すると、クラスタリングの精度が低下するという問題がある。これは、ランダムサンプリングでは、入力されるデータ点に不均衡が生じ、データ点が少ないクラスタが存在する場合、このクラスタの情報が失われやすいからである。 However, in order to perform the streaming clustering, it is necessary to select the representative points by some means, but if the representative points are simply selected at random (random sampling), there is a problem that the accuracy of clustering decreases. This is because random sampling causes imbalance in input data points, and when there is a cluster with a small number of data points, information of this cluster is easily lost.

ストリーミングクラスタリングでクラスタリング精度が低下する例を、図36を参照して説明する。図36は、ストリーミングクラスタリングでクラスタリング精度が低下する例を示す図である。図36では、各クラスタに含まれるデータ点が不均衡に存在する場合であり、各クラスタが898点、100点、2点のデータ点を保持する場合とする。ここでは、全てのクラスタに対して等しい割合で1/10のデータ点を代表点として選択した場合とする。すると、2点しかデータ点を含まないクラスタは、1点も選択されず、クラスタの情報が失われる。したがって、バッチクラスタリングを行った場合と異なるクラスタ数が出力されてしまい、クラスタリングの精度が大きく低下してしまう。 An example in which the clustering accuracy is reduced by streaming clustering will be described with reference to FIG. FIG. 36 is a diagram illustrating an example in which the clustering accuracy is reduced in streaming clustering. In FIG. 36, it is assumed that the data points included in each cluster exist unbalanced, and each cluster holds 898 points, 100 points, and 2 data points. Here, it is assumed that 1/10 data points are selected as representative points at the same rate for all clusters. Then, in a cluster including only two data points, none of the points is selected, and the cluster information is lost. Therefore, the number of clusters different from the case where batch clustering is performed is output, and the accuracy of clustering is greatly reduced.

本発明は、1つの側面では、ストリーミングクラスタリングにおいて、精度の低下を抑制することを目的とする。 In one aspect, the present invention aims at suppressing a decrease in accuracy in streaming clustering.

1つの態様では、データクラスタリング方法は、ストリーミングクラスタリングにおけるデータクラスタリングの方法において、入力データ点を配置する特徴量空間を局所領域に分割し、データ点が1点以上存在する局所領域に対し、それぞれ独立に代表点を決定し、次に代表点が存在する局所領域にデータ点が追加された場合に、代表点と追加されたデータ点に基づいて重み付けを行い新たな代表点を決定し、新たな代表点を用いてクラスタ数を制御する、各処理を実行する。 In one aspect, the data clustering method is the method of data clustering in streaming clustering, in which a feature amount space in which input data points are arranged is divided into local regions, and the local regions in which one or more data points exist are independent of each other. When a data point is added to the local area where the representative point exists next, weighting is performed based on the representative point and the added data point, a new representative point is determined, and a new representative point is determined. Each process that controls the number of clusters using the representative points is executed.

1実施態様によれば、ストリーミングクラスタリングにおいて、精度の低下を抑制することができる。 According to the one embodiment, it is possible to suppress a decrease in accuracy in streaming clustering.

図1は、実施例1に係る情報処理装置の構成を示す機能ブロック図である。FIG. 1 is a functional block diagram of the configuration of the information processing apparatus according to the first embodiment. 図2は、グリッドを説明する図である。FIG. 2 is a diagram illustrating a grid. 図3は、グリッドリストのデータ構造の一例を示す図である。FIG. 3 is a diagram showing an example of the data structure of the grid list. 図4は、実施例1に係る代表点リストのデータ構造の一例を示す図である。FIG. 4 is a diagram illustrating an example of the data structure of the representative point list according to the first embodiment. 図5は、実施例1に係る代表点更新処理を説明する図である。FIG. 5 is a diagram illustrating the representative point update process according to the first embodiment. 図6は、実施例1に係る代表点更新処理を用いたクラスタリングを説明する図である。FIG. 6 is a diagram illustrating clustering using the representative point updating process according to the first embodiment. 図7Aは、グリッドの一例を示す図である。FIG. 7A is a diagram showing an example of a grid. 図7Bは、グリッドの別の例を示す図である。FIG. 7B is a diagram showing another example of the grid. 図8は、最大保持点数の決定方法の一例を示す図である。FIG. 8 is a diagram showing an example of a method of determining the maximum number of points to be held. 図9は、実施例1に係る代表点更新処理のフローチャートを示す図である。FIG. 9 is a diagram illustrating a flowchart of the representative point updating process according to the first embodiment. 図10は、実施例1に係る代表点圧縮処理のフローチャートを示す図である。FIG. 10 is a diagram illustrating a flowchart of representative point compression processing according to the first embodiment. 図11は、実施例1に係る代表点更新処理を用いたクラスタリング処理のフローチャートを示す図である。FIG. 11 is a diagram illustrating a flowchart of the clustering process using the representative point update process according to the first embodiment. 図12は、実施例1に係るクラスタリング処理のフローチャートを示す図である。FIG. 12 is a diagram illustrating a flowchart of the clustering process according to the first embodiment. 図13は、実施例1に係る代表点更新処理を用いたオンラインクラスタリングを説明する図である。FIG. 13 is a diagram illustrating online clustering using the representative point updating process according to the first embodiment. 図14は、代表点を分割する場合を説明する図である。FIG. 14 is a diagram illustrating a case where the representative point is divided. 図15は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。FIG. 15 is a functional block diagram of the configuration of the information processing apparatus according to the second embodiment. 図16は、実施例2に係る代表点リストのデータ構造の一例を示す図である。FIG. 16 is a diagram illustrating an example of the data structure of the representative point list according to the second embodiment. 図17は、実施例2に係る代表点範囲を説明する図である。FIG. 17 is a diagram illustrating a representative point range according to the second embodiment. 図18は、実施例2に係る代表点を分割する条件を説明する図である。FIG. 18 is a diagram illustrating conditions for dividing the representative point according to the second embodiment. 図19は、実施例2に係る代表点分割処理のフローチャートを示す図である。FIG. 19 is a diagram illustrating a flowchart of representative point division processing according to the second embodiment. 図20は、実施例2に係るクラスタリング処理のフローチャートを示す図である。FIG. 20 is a diagram illustrating a flowchart of the clustering process according to the second embodiment. 図21は、実施例3に係る情報処理装置の構成を示す機能ブロック図である。FIG. 21 is a functional block diagram of the configuration of the information processing apparatus according to the third embodiment. 図22は、実施例3に係るコスト関数表のデータ構造の一例を示す図である。FIG. 22 is a diagram illustrating an example of the data structure of the cost function table according to the third embodiment. 図23は、実施例3に係る代表点/クラスタ対応表のデータ構造の一例を示す図である。FIG. 23 is a diagram illustrating an example of the data structure of the representative point/cluster correspondence table according to the third embodiment. 図24は、実施例3に係るクラスタ中心集合のデータ構造の一例を示す図である。FIG. 24 is a diagram illustrating an example of the data structure of the cluster center set according to the third embodiment. 図25は、実施例3に係るクラスタリング処理の流れの一例を示す図である。FIG. 25 is a diagram illustrating an example of the flow of clustering processing according to the third embodiment. 図26は、実施例3に係る代表点を統合する条件を説明する図である。FIG. 26 is a diagram illustrating conditions for integrating representative points according to the third embodiment. 図27は、実施例3に係るコスト関数の導出の前提を示す図である。FIG. 27 is a diagram illustrating a premise for deriving the cost function according to the third embodiment. 図28は、実施例3に係るクラスタリング処理のフローチャートを示す図である。FIG. 28 is a diagram illustrating a flowchart of the clustering process according to the third embodiment. 図29は、実施例4に係るクラスタリング処理の概要を示す図である。FIG. 29 is a diagram illustrating an outline of the clustering process according to the fourth embodiment. 図30は、実施例4に係るクラスタリング処理の流れの一例を示す図である。FIG. 30 is a diagram illustrating an example of the flow of clustering processing according to the fourth embodiment. 図31は、実施例4に係るコスト関数の導出の前提を示す図である。FIG. 31 is a diagram illustrating a premise for deriving the cost function according to the fourth embodiment. 図32は、実施例4に係るクラスタリング処理のフローチャートを示す図である。FIG. 32 is a diagram illustrating a flowchart of the clustering process according to the fourth embodiment. 図33は、データクラスタリングプログラムを実行するコンピュータの一例を示す図である。FIG. 33 is a diagram illustrating an example of a computer that executes a data clustering program. 図34は、DP−means法の概要を示す図である。FIG. 34 is a diagram showing an outline of the DP-means method. 図35は、ストリーミングクラスタリングでクラスタリング精度が低下する例を示す図である。FIG. 35 is a diagram showing an example in which the clustering accuracy is reduced by streaming clustering.

以下に、本願の開示するデータクラスタリング方法、情報処理装置およびデータクラスタリングプログラムの実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。 Hereinafter, embodiments of a data clustering method, an information processing apparatus, and a data clustering program disclosed in the present application will be described in detail with reference to the drawings. The present invention is not limited to the examples.

[実施例1に係る情報処理装置の構成]
図1は、実施例1に係る情報処理装置の構成を示す機能ブロック図である。図1に示す情報処理装置1は、入力されたデータ点を配置する特徴量空間を局所領域(以降、「グリッド」という)に分割し、データ点が存在するグリッド領域で最低1点以上の代表点を保持する。情報処理装置1は、局所領域毎に、代表点が一定個数を超えているか否かを判定し、代表点が一定個数を超えている局所領域内の代表点を圧縮する(間引く)。これにより、情報処理装置1は、各クラスタが存在する箇所において最低1点が確保されるため、点の数が少ないクラスタの情報が失われることを防ぐことができる。さらに、情報処理装置1は、各クラスタが存在する箇所において代表点が一定個数を超えないため、保持する代表点数を一定個数に抑えられる。この結果、情報処理装置1は、全てのデータ点を常時保持することなく、精度良いクラスタリングを行うことができる。
[Configuration of Information Processing Device According to First Embodiment]
FIG. 1 is a functional block diagram of the configuration of the information processing apparatus according to the first embodiment. The information processing apparatus 1 shown in FIG. 1 divides a feature amount space in which input data points are arranged into local areas (hereinafter referred to as “grids”), and represents at least one or more representative points in a grid area in which data points exist. Hold the points. The information processing device 1 determines whether or not the number of representative points exceeds a certain number for each local area, and compresses (thinning out) the representative points in the local area where the number of the representative points exceeds a certain number. As a result, the information processing device 1 secures at least one point at the location where each cluster exists, and thus it is possible to prevent the loss of information of the cluster having a small number of points. Further, in the information processing device 1, since the number of representative points does not exceed a certain number at the location where each cluster exists, the number of representative points held can be suppressed to a certain number. As a result, the information processing device 1 can perform accurate clustering without always holding all data points.

情報処理装置1は、制御部10と、記憶部20とを有する。 The information processing device 1 includes a control unit 10 and a storage unit 20.

制御部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、データ取得部11と、代表点更新部12と、代表点圧縮部13と、クラスタリング部14とを有する。 The control unit 10 corresponds to an electronic circuit such as a CPU (Central Processing Unit). The control unit 10 has an internal memory for storing programs and control data that define various processing procedures, and executes various processing by these. The control unit 10 includes a data acquisition unit 11, a representative point updating unit 12, a representative point compressing unit 13, and a clustering unit 14.

記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、グリッドリスト21と、代表点リスト22とを有する。グリッドリスト21は、代表点を保持するグリッドの情報を示す。代表点リスト22は、グリッドに保持される代表点の情報を示す。代表点の情報には、例えば、代表点の座標と重みが含まれる。なお、グリッドリスト21および代表点リスト22のデータ構造は、後述するものとする。 The storage unit 20 is, for example, a RAM, a semiconductor memory device such as a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 20 has a grid list 21 and a representative point list 22. The grid list 21 shows information on the grid holding the representative points. The representative point list 22 shows information on the representative points held in the grid. The information on the representative point includes, for example, the coordinates of the representative point and the weight. The data structures of the grid list 21 and the representative point list 22 will be described later.

ここで、グリッドを、図2を参照して説明する。図2は、グリッドを説明するための図である。図2に示すように、グリッドは、入力されたデータ点が配置された特徴量空間を所定の大きさで分割された局所領域である。グリッドは、データ点が存在する部分に生成される。生成されたグリッドは、後述するグリッドリスト21に記憶される。入力されたデータ点の中から代表点が選択される。代表点の座標とは、入力されたデータ点の中から選択された代表点の特徴量としてのパラメータのことをいう。代表点の重みとは、他のデータ点が代表点にマージされるときに増加するパラメータである。代表点の座標および代表点の重みは、後述する代表点リスト22に記憶される。一例として、代表点p1では、代表点の座標が(xi、yi)であり、代表点の重みが10.0である。 Here, the grid will be described with reference to FIG. FIG. 2 is a diagram for explaining the grid. As shown in FIG. 2, the grid is a local area obtained by dividing the feature amount space in which the input data points are arranged into a predetermined size. The grid is created where the data points reside. The generated grid is stored in the grid list 21 described later. A representative point is selected from the input data points. The coordinate of the representative point means a parameter as a feature amount of the representative point selected from the input data points. The weight of the representative point is a parameter that increases when other data points are merged into the representative point. The coordinates of the representative points and the weights of the representative points are stored in the representative point list 22 described later. As an example, at the representative point p1, the coordinates of the representative point are (xi, yi) and the weight of the representative point is 10.0.

代表点の重みは、代表点圧縮処理を行っても処理の前後で重心位置が変わらないようにするためのパラメータであり、代表点の情報に付加される。図2の例では、p21,p22,p23,p24を圧縮する際に、圧縮されるデータ点の情報として代表点p2(p22)の情報に重みを示すパラメータが付加される。重みは、一例として、データ点の個数に相当する。したがって、ここでは、代表点p2の情報には、重みwのパラメータとして「4」が付加される。この重みのパラメータを用いることで、データ点を圧縮(間引き)した後の重心位置は、全データ点を用いた重心位置とほぼ変わらない。 The weight of the representative point is a parameter for preventing the center of gravity position from changing before and after the representative point compression processing, and is added to the representative point information. In the example of FIG. 2, when compressing p21, p22, p23, and p24, a parameter indicating a weight is added to the information of the representative point p2 (p22) as the information of the data point to be compressed. The weight corresponds, for example, to the number of data points. Therefore, here, “4” is added to the information of the representative point p2 as a parameter of the weight w. By using this weight parameter, the center of gravity position after compressing (thinning) the data points is almost the same as the center of gravity position using all the data points.

ここで、グリッドリスト21のデータ構造を、図3を参照して説明する。図3は、グリッドリストのデータ構造の一例を示す図である。図3に示すように、グリッドリスト21は、グリッドID21aおよびグリッド座標21bを対応付けて記憶する。グリッドID(IDentfier)21aは、グリッドを一意に識別する識別子である。グリッド座標21bは、グリッドの特徴量空間における局所領域の位置(座標)を示す。 Here, the data structure of the grid list 21 will be described with reference to FIG. FIG. 3 is a diagram showing an example of the data structure of the grid list. As shown in FIG. 3, the grid list 21 stores a grid ID 21a and a grid coordinate 21b in association with each other. The grid ID (IDentfier) 21a is an identifier that uniquely identifies the grid. The grid coordinate 21b indicates the position (coordinate) of the local area in the feature amount space of the grid.

代表点リスト22のデータ構造を、図4を参照して説明する。図4は、代表点リストのデータ構造の一例を示す図である。図4に示すように、代表点リスト22は、代表点座標22bおよび代表点重み22cをグリッドID22aに対応付けて記憶する。グリッドID22aは、グリッドの識別IDである。代表点座標22bは、代表点の座標である。代表点重み22cは、代表点の重みである。 The data structure of the representative point list 22 will be described with reference to FIG. FIG. 4 is a diagram showing an example of the data structure of the representative point list. As shown in FIG. 4, the representative point list 22 stores the representative point coordinates 22b and the representative point weights 22c in association with the grid ID 22a. The grid ID 22a is a grid identification ID. The representative point coordinates 22b are the coordinates of the representative point. The representative point weight 22c is the weight of the representative point.

図1に戻って、データ取得部11は、クラスタリングの対象となるデータ点を取得する。例えば、データ取得部11は、外部から入力されたデータ点を取得する。クラスタリングの対象となるデータ点は、一例として、16kHz、16bitで量子化された音響信号(以降、音データという)であるが、音データに限定されるものではない。 Returning to FIG. 1, the data acquisition unit 11 acquires data points to be clustered. For example, the data acquisition unit 11 acquires a data point input from the outside. The data points to be clustered are, for example, acoustic signals quantized at 16 kHz and 16 bits (hereinafter referred to as sound data), but are not limited to sound data.

代表点更新部12は、グリッドに代表点が一定個数を超えないように、代表点を更新する。ここでいう一定個数とは、グリッドに保持可能なデータ点の個数を示し、以降、「最大保持点数」というものとする。例えば、代表点更新部12は、データ取得部11によって取得されたデータ点を受け付ける。受け付けるデータ点は、1点でも良いし、複数点でも良い。代表点更新部12は、グリッドリスト21に記憶されたグリッドの中に、受け付けたデータ点の座標を含むグリッドが存在するか否かを判定する。代表点更新部12は、グリッドリスト21に記憶されたグリッドの中に、データ点の座標を含むグリッドが存在すると判定した場合には、当該グリッドにこのデータ点を追加する。このとき、代表点更新部12は、データ点の重みを1に設定する。代表点更新部12は、グリッドリスト21に記憶されたグリッドの中に、データ点の座標を含むグリッドが存在しないと判定した場合には、このデータ点の座標を含むグリッドを新たに生成し、生成したグリッドにこのデータ点を追加する。このとき、代表点更新部12は、データ点の重みを1に設定するとともに、新たに生成されたグリッドをグリッドリスト21に追加する。代表点更新部12は、受け付けたデータ点をグリッドに追加した後、グリッドリスト21に記憶されたそれぞれのグリッドに対して、代表点の個数が最大保持点数を超えているか否かを判定する。代表点更新部12は、代表点の個数が最大保持点数を超えている場合には、対象のグリッドに代表点の個数が最大保持点数を超えないように、代表点圧縮処理を実行し、代表点を更新する。代表点圧縮処理は、代表点圧縮部13によって実行される。 The representative point updating unit 12 updates the representative points so that the number of representative points on the grid does not exceed a certain number. The fixed number here indicates the number of data points that can be held in the grid, and will be referred to as the “maximum number of held points” hereinafter. For example, the representative point update unit 12 receives the data points acquired by the data acquisition unit 11. The number of data points to be accepted may be one or plural. The representative point updating unit 12 determines whether or not the grid stored in the grid list 21 includes a grid including the coordinates of the received data points. If the representative point updating unit 12 determines that a grid including the coordinates of the data points exists in the grids stored in the grid list 21, the representative point updating unit 12 adds the data points to the grid. At this time, the representative point updating unit 12 sets the weight of the data point to 1. If the representative point updating unit 12 determines that the grid stored in the grid list 21 does not include a grid including the coordinates of the data points, a new grid including the coordinates of the data points is generated, Add this data point to the generated grid. At this time, the representative point updating unit 12 sets the weight of the data point to 1 and adds the newly generated grid to the grid list 21. After adding the received data points to the grid, the representative point updating unit 12 determines whether or not the number of representative points exceeds the maximum number of held points for each grid stored in the grid list 21. If the number of representative points exceeds the maximum number of held points, the representative point updating unit 12 executes the representative point compression processing so that the number of representative points does not exceed the maximum number of held points in the target grid, and the representative point compression processing is performed. Update points. The representative point compression processing is executed by the representative point compression unit 13.

代表点圧縮部13は、グリッドに代表点の個数が最大保持点数を超えた場合には、グリッドに代表点の個数が最大保持点数を超えないように代表点を圧縮する。例えば、代表点圧縮部13は、グリッドに含まれる代表点の中から新規の代表点を選択する。代表点圧縮部13は、グリッドに含まれる代表点の中から、新規の代表点に最も近い代表点を選択する。代表点圧縮部13は、新規の代表点の重みを1加算し、最も近い代表点を削除する。すなわち、代表点圧縮部13は、新規の代表点と新規の代表点に最も近い代表点とを圧縮していくことで、最終的に、グリッドに代表点の個数が最大代表点個数以下となるようにする。なお、新規の代表点の選択方法としては、グリッドに含まれる代表点をランダムにサンプリングする方法や、k−means法のようなクラスタ数を固定値とした場合の代表点の選択方法を用いても良い。また、最大保持点数は、グリッド毎に異なる固定数にしても良いし、グリッド毎に同じ固定数にしても良い。最大保持点数の決定方法の例は、後述するものとする。 When the number of representative points in the grid exceeds the maximum number of holding points, the representative point compressing unit 13 compresses the representative points so that the number of representative points in the grid does not exceed the maximum number of holding points. For example, the representative point compression unit 13 selects a new representative point from the representative points included in the grid. The representative point compression unit 13 selects a representative point closest to the new representative point from the representative points included in the grid. The representative point compression unit 13 adds 1 to the weight of the new representative point and deletes the closest representative point. That is, the representative point compressing unit 13 compresses the new representative point and the representative point closest to the new representative point, so that the number of representative points in the grid finally becomes equal to or less than the maximum number of representative points. To do so. As a method of selecting a new representative point, a method of randomly sampling the representative points included in the grid or a method of selecting the representative point when the number of clusters is a fixed value, such as the k-means method, is used. Is also good. The maximum number of points to be held may be a fixed number that differs for each grid or the same fixed number for each grid. An example of the method of determining the maximum holding score will be described later.

ここで、代表点更新部12による代表点更新処理を、図5を参照して説明する。図5は、実施例1に係る代表点更新処理を説明する図である。図5に示すように、代表点更新部12は、新規のデータ点を、代表点リスト22に記憶されている代表点のグリッドに併合(マージ)する。代表点更新部12は、グリッドがない部分に新規データ点が入ったら、新しくグリッドを生成する。 Here, the representative point updating process by the representative point updating unit 12 will be described with reference to FIG. FIG. 5 is a diagram illustrating the representative point update process according to the first embodiment. As shown in FIG. 5, the representative point updating unit 12 merges the new data points with the grid of the representative points stored in the representative point list 22. The representative point updating unit 12 newly generates a grid when a new data point is entered in a portion where there is no grid.

すなわち、代表点更新部12は、グリッドリスト21に記憶されたグリッドの中に、新規のデータ点の座標を含むグリッドが存在すれば、当該グリッドに新規のデータ点を追加する。そして、代表点更新部12は、グリッドリスト21に記憶されたグリッドの中に、新規のデータ点の座標を含むグリッドが存在しなければ、新たにグリッドを生成し、新たに生成されたグリッドに新規のデータ点を追加する。ここでは、符号p100の新規データ点群は、グリッドg1にマージされ、符号p200の新規データ群は、グリッドg2にマージされる。そして、符号p300の新規データ点群は、新たに生成されるグリッドg4に追加される。 That is, the representative point updating unit 12 adds a new data point to the grid stored in the grid list 21 if a grid including the coordinates of the new data point exists in the grid. Then, the representative point updating unit 12 generates a new grid if the grid stored in the grid list 21 does not include a grid including the coordinates of the new data point, and creates a new grid. Add a new data point. Here, the new data point group with the code p100 is merged into the grid g1, and the new data group with the code p200 is merged into the grid g2. Then, the new data point group with the code p300 is added to the newly generated grid g4.

そして、代表点更新部12は、新規のデータ点をグリッドにマージした後、それぞれのグリッドに対して、代表点の個数が最大保持点数を超えているか否かを判定し、最大保持点数を超えているグリッドを選択する。ここでは、最大保持点数は、グリッド毎に同じ固定数である10点であるとする。グリッドg1、g3、g4は、最大保持点数10を超えていないと判定されるとする。グリッドg2は、20点であり、最大保持点数10を超えていると判定されるとする。すると、最大保持点数を超えているグリッドとして、グリッドg2が選択される。 After merging the new data points into the grid, the representative point updating unit 12 determines whether or not the number of representative points exceeds the maximum number of retained points for each grid, and exceeds the maximum number of retained points. Select the grid you are viewing. Here, it is assumed that the maximum number of holding points is 10 points, which is the same fixed number for each grid. It is assumed that it is determined that the grids g1, g3, and g4 do not exceed the maximum number of holding points of 10. The grid g2 has 20 points, and it is assumed that it is determined that the maximum number of held points 10 is exceeded. Then, the grid g2 is selected as the grid that exceeds the maximum number of holding points.

そして、代表点圧縮部13は、最大代表点数を超えているグリッドで代表点を選択し、選択された代表点と、選択された代表点に最も近い代表点とを圧縮する。代表点圧縮部13は、選択された代表点の重みを1加算し、最も近い代表点を削除する。代表点圧縮部13は、グリッド内の代表点の数が最大代表点数になるまで圧縮処理を繰り返す。ここでは、代表点圧縮部13は、グリッドg4内の代表点p4を選択し、選択された代表点p4と、代表点p4に最も近い代表点p5とを圧縮する。代表点圧縮部13は、代表点p4の重みを1加算し、代表点p5を削除する。この結果、代表点p4の重みは2となる。 Then, the representative point compressing unit 13 selects representative points in a grid exceeding the maximum number of representative points, and compresses the selected representative point and the representative point closest to the selected representative point. The representative point compression unit 13 adds 1 to the weight of the selected representative point and deletes the closest representative point. The representative point compression unit 13 repeats the compression process until the number of representative points in the grid reaches the maximum number of representative points. Here, the representative point compression unit 13 selects the representative point p4 in the grid g4 and compresses the selected representative point p4 and the representative point p5 closest to the representative point p4. The representative point compression unit 13 adds 1 to the weight of the representative point p4 and deletes the representative point p5. As a result, the weight of the representative point p4 is 2.

図1に戻って、クラスタリング部14は、グリッドリスト21の中のグリッドに含まれる代表点を入力としてバッチクラスタリング処理を実行する。例えば、クラスタリング部14は、グリッドリスト21の中のグリッドに含まれる代表点を代表点リスト22から取得し、取得した代表点を入力としてDP−means法を実行する。DP−means法は、重みが付けられた代表点を使用するので、ここでいうDP−means法を「重み付きDP−means法」というものとする。なお、クラスタリング部14は、クラスタリング処理としてDP−means法を適用するものとしたが、DP−means法に限定されるものではなく、クラスタ数を可変とするクラスタリング方法に適用可能である。例えば、ハードクラスタリング方法として、例えばK−means法のようなクラスタ数を固定とするクラスタリング方法を複数のクラスタ数に対して適用し、それらの中の一つを結果として採用する方法が適用可能である。また、クラスタの階層関係を仮定するHDP−means法が適用可能である。確率的なソフトクラスタリング方法として、DPM(Dirichlet Process Mixture)、HDP(Hierarchical Dirichlet Process)やNDP(Nested Dirichlet Process)が適用可能である。 Returning to FIG. 1, the clustering unit 14 executes the batch clustering process using the representative points included in the grid in the grid list 21 as input. For example, the clustering unit 14 acquires the representative points included in the grid in the grid list 21 from the representative point list 22, and executes the DP-means method using the acquired representative points as an input. Since the DP-means method uses weighted representative points, the DP-means method here is referred to as a “weighted DP-means method”. Although the clustering unit 14 uses the DP-means method as the clustering process, it is not limited to the DP-means method and can be applied to a clustering method in which the number of clusters is variable. For example, as a hard clustering method, a method in which a clustering method with a fixed number of clusters such as the K-means method is applied to a plurality of cluster numbers and one of them is adopted as a result is applicable. is there. Further, the HDP-means method that assumes a hierarchical relationship of clusters can be applied. As the stochastic soft clustering method, DPM (Dirichlet Process Mixture), HDP (Hierarchical Dirichlet Process), and NDP (Nested Dirichlet Process) can be applied.

ここで、クラスタリング部14によるクラスタリング処理を、図6を参照して説明する。図6は、実施例1に係るクラスタリング処理を説明する図である。図6に示すように、まず、代表点更新部12が、データ点の一部を取得して代表点を更新し、再度データ点の一部を取得して代表点を更新する処理を繰り返す。そして、クラスタリング部14は、最終的に更新された代表点に対してバッチクラスタリング処理を行う。クラスタリング部14は、クラスタ中心集合に、全代表点の重心を代入する。クラスタリング部14は、代表点がクラスタ中心集合の中で最も距離が近い中心を取り出す。なお、ここで述べる「距離」とは、例えばユークリッド距離を指す。クラスタリング部14は、代表点と取りだした中心との距離が閾値λ(クラスタの粒度を定めるパラメータ)より小さければ、この中心を有するクラスタにこの代表点を割り振る。クラスタリング部14は、代表点と取りだした中心との距離が閾値λ以上であれば、新規のクラスタ中心としてこの代表点をクラスタ中心集合に代入する。そして、クラスタリング部14は、クラスタ中心集合からクラスタ中心を取り出し、取り出したクラスタ中心の座標値を代表点の重み付きの重心値に更新する。 Here, the clustering processing by the clustering unit 14 will be described with reference to FIG. FIG. 6 is a diagram illustrating a clustering process according to the first embodiment. As shown in FIG. 6, first, the representative point updating unit 12 repeats the processing of acquiring a part of the data points and updating the representative points, and again acquiring a part of the data points and updating the representative points. Then, the clustering unit 14 performs batch clustering processing on the finally updated representative points. The clustering unit 14 substitutes the centroids of all representative points into the cluster center set. The clustering unit 14 extracts the center whose representative point is the closest in the cluster center set. The “distance” described here refers to, for example, the Euclidean distance. If the distance between the representative point and the extracted center is smaller than the threshold λ (parameter that determines the granularity of the cluster), the clustering unit 14 allocates the representative point to the cluster having this center. If the distance between the representative point and the extracted center is greater than or equal to the threshold λ, the clustering unit 14 substitutes this representative point into the cluster center set as a new cluster center. Then, the clustering unit 14 extracts the cluster center from the cluster center set, and updates the extracted coordinate value of the cluster center to the weighted center of gravity value of the representative point.

ここで、グリッドの一例を、図7Aを参照して説明する。図7Aは、グリッドの一例を示す図である。図7Aに示すグリッドの例は、特徴量空間におけるd次元の超立方体である。すなわち、2次元の場合には、グリッドは正方形となり、3次元の場合には、グリッドは立方体となり、4次元の場合には、グリッドは正八胞体となる。λがクラスタの粒度を定めるパラメータ、例えばクラスタの直径であるとすると、グリッドの一辺の長さはλ/√d以下とするのが望ましい。前提条件として、データ点同士の距離がλ以上離れた場合に新規のクラスタが生成されるとする。すると、グリッドの一辺の長さがλ/√d以下であれば、同一のグリッドに含まれるデータ点同士が取り得る距離はλ以下であることが保証される。つまり、グリッドに含まれる点で最大距離となる点は対角線上に位置する場合であり、このときの対角線の長さは、(超立方体の一辺の長さλ√d×√d=)λとなる。したがって、1つのグリッドに含まれるデータ点同士はλ以下であるので、1つのクラスタに含まれることとなり、別のクラスタに含まれない。この結果、代表点圧縮部13がそれぞれのグリッドで代表点圧縮処理を行っても、クラスタリング処理でクラスタが消失しないことが保証される。すなわち、グリッドの一辺の長さはλ/√d以下であれば、グリッドにデータ点を1点残しておけば、クラスタが消失しない。 Here, an example of the grid will be described with reference to FIG. 7A. FIG. 7A is a diagram showing an example of a grid. The example of the grid shown in FIG. 7A is a d-dimensional hypercube in the feature space. That is, in the case of two dimensions, the grid is square, in the case of three dimensions, the grid is a cube, and in the case of four dimensions, the grid is a regular octahedron. If λ is a parameter that determines the grain size of the cluster, for example, the diameter of the cluster, then the length of one side of the grid is preferably λ/√d or less. As a precondition, it is assumed that a new cluster is generated when the distance between data points is λ or more. Then, if the length of one side of the grid is λ/√d or less, it is guaranteed that the possible distance between the data points included in the same grid is λ or less. In other words, the point that has the maximum distance among the points included in the grid is located on the diagonal line, and the length of the diagonal line at this time is (length of one side of hypercube λ√d×√d=)λ Become. Therefore, since the data points included in one grid are λ or less, they are included in one cluster and not included in another cluster. As a result, even if the representative point compressing unit 13 performs the representative point compressing process on each grid, it is guaranteed that the cluster will not disappear in the clustering process. That is, if the length of one side of the grid is λ/√d or less, leaving one data point on the grid does not cause the cluster to disappear.

グリッドの別の例を、図7Bを参照して説明する。図7Bは、グリッドの別の例を示す図である。図7Bに示すグリッドの例は、特徴量空間におけるd次元の超球である。λがクラスタの粒度を定めるパラメータ、例えばクラスタの直径であるとすると、グリッドの直径がλ以下とするのが望ましい。前提条件として、データ点同士がλ以上離れた場合に新規のクラスタが生成されるとする。すると、グリッドの直径がλ以下であれば、同一のグリッドに含まれるデータ点同士が取り得る距離はλ以下であることが保証される。つまり、グリッドに含まれる点で最大距離となる点は直径上に位置する場合であり、このときの直径の長さはλとなる。したがって、1つのグリッドに含まれるデータ点同士はλ以下であるので、1つのクラスタに含まれることとなり、別のクラスタに含まれない。この結果、代表点圧縮部13がそれぞれのグリッドで代表点圧縮処理を行っても、クラスタリング処理でクラスタが消失しないことが保証される。すなわち、グリッドの直径はλ以下であれば、グリッドにデータ点を1点残しておけば、クラスタが消失しない。 Another example of the grid will be described with reference to FIG. 7B. FIG. 7B is a diagram showing another example of the grid. An example of the grid shown in FIG. 7B is a d-dimensional hypersphere in the feature amount space. If λ is a parameter that determines the grain size of the cluster, for example, the diameter of the cluster, it is desirable that the diameter of the grid be λ or less. As a precondition, it is assumed that a new cluster is generated when data points are separated by λ or more. Then, if the diameter of the grid is λ or less, it is guaranteed that the data points included in the same grid can have a distance of λ or less. That is, the point having the maximum distance among the points included in the grid is located on the diameter, and the length of the diameter at this time is λ. Therefore, since the data points included in one grid are λ or less, they are included in one cluster and not included in another cluster. As a result, even if the representative point compressing unit 13 performs the representative point compressing process on each grid, it is guaranteed that the cluster will not disappear in the clustering process. That is, if the diameter of the grid is λ or less, leaving one data point on the grid does not cause the cluster to disappear.

次に、最大保持点数の決定方法の一例を、図8を参照して説明する。図8は、最大保持点数の決定方法の一例を示す図である。各グリッドの最大保持点数は、任意の数として定めることができるが、特徴量空間における次元数dが1であれば2、次元数dが2以上であればd(次元数)とすることが望ましい。図8に示すように、2次元以上であれば、グリッドに含まれるクラスタの最大の中心個数は次元数d+1個未満であることが保証されるからである。但し、1次元の場合には、2個以下、すなわち次元数d+1個以下である。これは、以下のように再帰的に示すことができる。まず、次元数dが1である場合には、数値直線上にd離してクラスタの中心をおく場合が最適であるため、自明である。次元数dが2以上である場合には、d次元で仮定(クラスタの中心がdであること)が成立し、d+1次元でクラスタの中心がd+2個以上含まれる場合があるとする。すると、ある部分空間でクラスタの中心個数がd+1個以上存在してしまい、仮定に矛盾する。したがって、各グリッドに次元数個の代表点が保持されれば良い。 Next, an example of a method of determining the maximum holding score will be described with reference to FIG. FIG. 8 is a diagram showing an example of a method of determining the maximum number of points to be held. The maximum number of holding points of each grid can be set as an arbitrary number, but if the dimension number d in the feature amount space is 1, it may be 2, and if the dimension number d is 2 or more, it may be d (the number of dimensions). desirable. This is because, as shown in FIG. 8, if the dimension is two or more, it is guaranteed that the maximum number of cluster centers included in the grid is less than the dimension number d+1. However, in the case of one dimension, the number is two or less, that is, the number of dimensions d+1 or less. This can be shown recursively as follows: First, when the dimension number d is 1, it is optimal to set the center of the cluster at a distance d on the numerical straight line, which is self-evident. When the number of dimensions d is 2 or more, it is assumed that the assumption is made in the d dimension (the center of the cluster is d), and the number of the center of the cluster is d+2 or more in the d+1 dimension. Then, the number of cluster centers is d+1 or more in a certain subspace, which is inconsistent with the assumption. Therefore, it suffices that each grid holds a number of representative points in the number of dimensions.

言い換えると、図8に示すように、2次元の場合は、1個のグリッドに正三角形の3頂点をクラスタの中心とするクラスタが配置し得る。ところが、かかる場合には、クラスタが重なってしまう。したがって、クラスタが重ならないようするために、グリッドに含まれる最大のクラスタの中心は3個未満、すなわち2個以下である必要がある。これは、2次元以上であっても同様である。したがって、2次元以上の場合には、グリッドに最大保持点数として次元数dだけ代表点を残しておけば、代表点圧縮処理を行っても、クラスタが消失しないことが保証される。この結果、クラスタリング処理の精度悪化を防ぐことができる。 In other words, as shown in FIG. 8, in the case of two dimensions, a cluster having three vertices of an equilateral triangle as the center of the cluster can be arranged in one grid. However, in such a case, the clusters will overlap. Therefore, in order to prevent the clusters from overlapping, the center of the largest cluster included in the grid needs to be less than 3, that is, 2 or less. This is the same even if it is two-dimensional or more. Therefore, in the case of two or more dimensions, it is guaranteed that the cluster will not disappear even if the representative point compression processing is performed, if the representative points are left in the grid by the number of dimensions d as the maximum number of retained points. As a result, it is possible to prevent deterioration of the accuracy of the clustering process.

なお、さらに、上記で示したように、グリッド内で保持される代表点の最大保持点数はd個であれば十分であることから、グリッド内にd個の固定クラスタが存在すると仮定したクラスタリング処理を行うことで、クラスタ重心の精度悪化を防ぐことができる。例えば、k−means法など、クラスタ数を固定とした場合にはクラスタの重心位置の誤差が定数倍に抑えられる方法が既知であるため、一例として圧縮アルゴリズムとしてk−means法を用い、クラスタの個数をd個として圧縮処理を行えば、精度良くクラスタリング処理を行うことができる。このとき、k−means法で保持される代表点の最大保持点数は3d×log(d)個とすれば良い。 Furthermore, as described above, since the maximum number of representative points held in the grid is sufficient to be d, it is sufficient to perform a clustering process assuming that d fixed clusters exist in the grid. By doing so, it is possible to prevent the accuracy of the cluster centroid from deteriorating. For example, when a fixed number of clusters such as the k-means method is known, the error of the position of the center of gravity of the cluster can be suppressed to a constant multiple. Therefore, the k-means method is used as a compression algorithm and the cluster If the compression process is performed with the number d, the clustering process can be performed with high accuracy. At this time, the maximum number of representative points held by the k-means method may be 3d×log(d).

[代表点更新処理のフローチャート]
次に、実施例1に係る代表点更新処理のフローチャートを、図9を参照して説明する。図9は、実施例1に係る代表点更新処理のフローチャートを示す図である。なお、代表点更新部12は、入力パラメータとして、データ点群X、クラスタの粒度を定めるパラメータλ、グリッドリスト21を取得する。なお、ここでのデータ点群Xとは、最終的なクラスタリング処理に用いるデータ全てであるとは限らず、最終的なクラスタリング処理に用いるデータの一部分であってもよい。
[Flowchart of representative point update processing]
Next, a flowchart of the representative point updating process according to the first embodiment will be described with reference to FIG. FIG. 9 is a diagram illustrating a flowchart of the representative point updating process according to the first embodiment. The representative point updating unit 12 acquires the data point group X, the parameter λ that determines the granularity of the cluster, and the grid list 21 as input parameters. The data point group X here is not limited to all the data used for the final clustering process, and may be a part of the data used for the final clustering process.

まず、代表点更新部12は、データ点群Xからデータ点xを取り出す(ステップS11)。代表点更新部12は、グリッドリスト21中にデータ点xを範囲に含むグリッドがあるか否かを判定する(ステップS12)。データ点xを範囲に含むグリッドがないと判定した場合には(ステップS12;No)、代表点更新部12は、データ点xを範囲に含む新たなグリッドを生成し、生成したグリッドのグリッド座標21bをグリッドリスト21に追加する(ステップS13)。そして、代表点更新部12は、ステップS14に移行する。 First, the representative point updating unit 12 extracts the data point x from the data point group X (step S11). The representative point updating unit 12 determines whether or not there is a grid that includes the data point x in the grid list 21 (step S12). When it is determined that there is no grid including the data point x in the range (step S12; No), the representative point updating unit 12 generates a new grid including the data point x in the range, and the grid coordinates of the generated grid. 21b is added to the grid list 21 (step S13). Then, the representative point updating unit 12 moves to step S14.

一方、データ点xを範囲に含むグリッドがあると判定した場合には(ステップS12;Yes)、代表点更新部12は、当該グリッドに重みを1.0としたデータ点xを追加する(ステップS14)。代表点更新部12は、データ点群Xから全てのデータ点xを取り出したか否かを判定する(ステップS15)。全てのデータ点xを取り出していないと判定した場合には(ステップS15;No)、代表点更新部12は、次のデータ点を取り出すべく、ステップS11に移行する。 On the other hand, when it is determined that there is a grid including the data point x in the range (step S12; Yes), the representative point updating unit 12 adds the data point x having a weight of 1.0 to the grid (step S12). S14). The representative point updating unit 12 determines whether all the data points x have been extracted from the data point group X (step S15). When it is determined that all the data points x have not been extracted (step S15; No), the representative point updating unit 12 proceeds to step S11 to extract the next data point.

一方、全てのデータ点xを取りだしたと判定した場合には(ステップS15;Yes)、代表点更新部12は、必要であれば、グリッドの最適化処理を行う(ステップS16)。代表点更新部12がグリッドを生成する際に、グリッドの中心が最適でない場合がある。そうすると、グリッドが多く保存されてしまうことがあり、不必要に記憶領域を必要とする可能性があるからである。 On the other hand, when it is determined that all the data points x have been extracted (step S15; Yes), the representative point updating unit 12 performs grid optimization processing if necessary (step S16). When the representative point updating unit 12 generates a grid, the center of the grid may not be optimum. This is because a large number of grids may be saved, which may unnecessarily require a storage area.

続いて、代表点更新部12は、グリッドリスト21からグリッドを取り出す(ステップS17)。代表点更新部12は、グリッドに含まれる代表点の個数が最大保持点数以下であるか否かを判定する(ステップS18)。グリッドに含まれる代表点の個数が最大保持点数以下であると判定した場合には(ステップS18;Yes)、代表点更新部12は、代表点圧縮処理を実行しないで、ステップS20に移行する。 Subsequently, the representative point updating unit 12 extracts a grid from the grid list 21 (step S17). The representative point updating unit 12 determines whether the number of representative points included in the grid is less than or equal to the maximum number of held points (step S18). When it is determined that the number of representative points included in the grid is equal to or less than the maximum number of retained points (step S18; Yes), the representative point updating unit 12 does not execute the representative point compression processing, and proceeds to step S20.

グリッドに含まれる代表点の個数が最大保持点数以下でない、すなわち最大保持点数より大きいと判定した場合には(ステップS18;No)、代表点更新部12は、代表点圧縮処理を実行する(ステップS19)。なお、代表点圧縮処理のフローチャートは、後述する。そして、代表点更新部12は、ステップS20に移行する。 If it is determined that the number of representative points included in the grid is not less than or equal to the maximum number of retained points, that is, greater than the maximum number of retained points (step S18; No), the representative point updating unit 12 executes representative point compression processing (step S18). S19). The flowchart of the representative point compression processing will be described later. Then, the representative point updating unit 12 moves to step S20.

ステップS20において、代表点更新部12は、グリッドリスト21から全てのグリッドを取り出したか否かを判定する(ステップS20)。全てのグリッドを取り出していないと判定した場合には(ステップS20;No)、代表点更新部12は、次のグリッドを取り出すべく、ステップS17に移行する。 In step S20, the representative point updating unit 12 determines whether or not all grids have been extracted from the grid list 21 (step S20). If it is determined that all grids have not been extracted (step S20; No), the representative point updating unit 12 proceeds to step S17 to extract the next grid.

一方、全てのグリッドを取り出したと判定した場合には(ステップS20;Yes)、代表点更新部12は、代表点更新処理を終了し、出力パラメータとしてグリッドリスト21を出力する。 On the other hand, when it is determined that all the grids have been extracted (step S20; Yes), the representative point updating unit 12 ends the representative point updating process and outputs the grid list 21 as an output parameter.

[代表点圧縮処理のフローチャート]
次に、実施例1に係る代表点圧縮処理のフローチャートを、図10を参照して説明する。図10は、実施例1に係る代表点圧縮処理のフローチャートを示す図である。なお、代表点圧縮部13は、入力パラメータとして、最大保持点数より大きいと判定されたグリッドに含まれる代表点の座標、代表点の重みおよび最大保持点数を取得する。
[Flowchart of representative point compression processing]
Next, a flowchart of representative point compression processing according to the first embodiment will be described with reference to FIG. FIG. 10 is a diagram illustrating a flowchart of representative point compression processing according to the first embodiment. The representative point compression unit 13 acquires, as input parameters, the coordinates of the representative points included in the grid determined to be larger than the maximum number of retained points, the weight of the representative point, and the maximum number of retained points.

代表点圧縮部13は、入力パラメータとして取得された代表点から、最大保持点数の新規代表点を選択する(ステップS21)。新規代表点の選択方法には、例えば、ランダムサンプリング、k−means法などが挙げられる。そして、代表点圧縮部13は、新規代表点の重みを0にクリアする(ステップS22)。 The representative point compression unit 13 selects a new representative point having the maximum number of held points from the representative points acquired as the input parameters (step S21). Examples of the method of selecting a new representative point include random sampling and the k-means method. Then, the representative point compressing unit 13 clears the weight of the new representative point to 0 (step S22).

続いて、代表点圧縮部13は、グリッドに保持されていた旧代表点xを順次選択する(ステップS23)。代表点圧縮部13は、選択された旧代表点xに最も近い新規代表点を選択する(ステップS24)。代表点圧縮部13は、選択された新規代表点の代表点の重みを1加算する(ステップS25)。そして、代表点圧縮部13は、選択された旧代表点xを代表点リスト22から削除する(ステップS26)。 Then, the representative point compressing unit 13 sequentially selects the old representative points x held in the grid (step S23). The representative point compression unit 13 selects a new representative point closest to the selected old representative point x (step S24). The representative point compressing unit 13 adds 1 to the weight of the representative point of the selected new representative point (step S25). Then, the representative point compression unit 13 deletes the selected old representative point x from the representative point list 22 (step S26).

続いて、代表点圧縮部13は、全ての旧代表点を選択したか否かを判定する(ステップS27)。全ての旧代表点を選択していないと判定した場合には(ステップS27;No)、代表点圧縮部13は、次の旧代表点を選択すべく、ステップS23に移行する。一方、全ての旧代表点を選択したと判定した場合には(ステップS27;Yes)、代表点圧縮部13は、代表点圧縮処理を終了し、出力パラメータとして新規代表点の座標、重みを出力する。 Subsequently, the representative point compression unit 13 determines whether or not all the old representative points have been selected (step S27). If it is determined that all the old representative points have not been selected (step S27; No), the representative point compression unit 13 proceeds to step S23 to select the next old representative point. On the other hand, when it is determined that all the old representative points have been selected (step S27; Yes), the representative point compression unit 13 ends the representative point compression processing and outputs the coordinates and weights of the new representative point as output parameters. To do.

[クラスタリング処理のフローチャート]
次に、実施例1に係る代表点更新処理を用いたクラスタリング処理のフローチャートを、図11を参照して説明する。図11は、実施例1に係る代表点更新処理を用いたクラスタリング処理のフローチャートを示す図である。なお、情報処理装置1は、入力パラメータとして、データ点群X、クラスタの粒度を定めるパラメータλを取得する。
[Flowchart of clustering process]
Next, a flowchart of the clustering process using the representative point updating process according to the first embodiment will be described with reference to FIG. FIG. 11 is a diagram illustrating a flowchart of the clustering process using the representative point update process according to the first embodiment. The information processing apparatus 1 acquires the data point group X and the parameter λ that determines the granularity of the cluster as input parameters.

まず、情報処理装置1は、グリッドリスト21を空集合に設定する(ステップS31)。そして、情報処理装置1は、代表点更新処理でグリッドリスト21を更新する(ステップS32)。なお、代表点更新処理のフローチャートは、図9で示したものである。 First, the information processing device 1 sets the grid list 21 to an empty set (step S31). Then, the information processing device 1 updates the grid list 21 in the representative point update process (step S32). The flowchart of the representative point updating process is the one shown in FIG.

そして、情報処理装置1は、グリッドリスト21中の代表点(座標、重み)を入力としてクラスタリング処理を実行する(ステップS33)。クラスタリング処理は、例えば、重み付きDP−means法を適用する。なお、クラスタリング処理のフローチャートは、後述する。 Then, the information processing device 1 executes the clustering process using the representative points (coordinates, weights) in the grid list 21 as input (step S33). For the clustering process, for example, the weighted DP-means method is applied. The flowchart of the clustering process will be described later.

そして、情報処理装置1は、代表点更新処理を用いたクラスタリング処理を終了し、出力パラメータとしてクラスタリング結果を出力する。 Then, the information processing device 1 ends the clustering process using the representative point update process, and outputs the clustering result as an output parameter.

図12は、実施例1に係るクラスタリング処理のフローチャートを示す図である。なお、図12では、重み付きDP−means法を適用し、クラスタの追加を判定する際に用いる距離関数として二乗ユークリッド距離を用いた場合について説明する。クラスタリング部14は、入力パラメータとして、代表点群X、代表点の重みwおよびクラスタの粒度を定めるパラメータλを取得する。 FIG. 12 is a diagram illustrating a flowchart of the clustering process according to the first embodiment. Note that FIG. 12 illustrates a case where the weighted DP-means method is applied and the squared Euclidean distance is used as the distance function used when determining addition of a cluster. The clustering unit 14 acquires, as input parameters, the representative point group X, the representative point weight w, and the parameter λ that determines the cluster granularity.

クラスタリング部14は、クラスタの中心集合Uに全ての代表点の重心を代入する(ステップS41)。クラスタリング部14は、収束したか否かを判定する(ステップS42)。収束していないと判定した場合には(ステップS42;No)、クラスタリング部14は、代表点群Xから代表点xを取り出す(ステップS43)。そして、クラスタリング部14は、クラスタの中心集合Uの中で最も距離が近い中心uを取り出す(ステップS44)。 The clustering unit 14 substitutes the centroids of all the representative points into the center set U of the cluster (step S41). The clustering unit 14 determines whether or not they have converged (step S42). When it is determined that they have not converged (step S42; No), the clustering unit 14 extracts the representative point x from the representative point group X (step S43). Then, the clustering unit 14 extracts the center u having the shortest distance from the cluster center set U (step S44).

クラスタリング部14は、代表点xと中心uとの距離がλ以上であるか否かを判定する(ステップS45)。代表点xと中心uとの距離がλ以上であると判定した場合には(ステップS45;Yes)、クラスタリング部14は、クラスタの中心集合Uに代表点xを追加する(ステップS46)。そして、クラスタリング部14は、ステップS47に移行する。 The clustering unit 14 determines whether or not the distance between the representative point x and the center u is λ 2 or more (step S45). When it is determined that the distance between the representative point x and the center u is λ 2 or more (step S45; Yes), the clustering unit 14 adds the representative point x to the center set U of the cluster (step S46). Then, the clustering unit 14 proceeds to step S47.

一方、代表点xと中心uとの距離がλ以上でない、すなわちλより小さいと判定した場合には(ステップS45;No)、クラスタリング部14は、ステップS47に移行する。ステップS47において、クラスタリング部14は、代表点xのラベルを最近傍クラスタのラベルに更新する(ステップS47)。 On the other hand, the distance between the representative point x and the center u is not lambda 2 or more, i.e. when it is determined that lambda 2 smaller (step S45; No), the clustering unit 14 proceeds to step S47. In step S47, the clustering unit 14 updates the label of the representative point x to the label of the nearest cluster (step S47).

続いて、クラスタリング部14は、代表点群から全ての代表点xを取り出したか否かを判定する(ステップS48)。全ての代表点xを取り出していないと判定した場合には(ステップS48;No)、クラスタリング部14は、次の代表点を取り出すべく、ステップS43に移行する。 Then, the clustering unit 14 determines whether or not all the representative points x have been extracted from the representative point group (step S48). When it is determined that all the representative points x have not been extracted (step S48; No), the clustering unit 14 proceeds to step S43 in order to extract the next representative point.

一方、全ての代表点xを取り出したと判定した場合には(ステップS48;Yes)、クラスタリング部14は、クラスタの中心集合Uからクラスタの中心uを取り出す(ステップS49)。クラスタリング部14は、取り出したuの座標値を、uに対応するラベルがついた代表点の重み付き重心値に更新する(ステップS50)。 On the other hand, when it is determined that all the representative points x have been extracted (step S48; Yes), the clustering unit 14 extracts the cluster center u from the cluster center set U (step S49). The clustering unit 14 updates the extracted coordinate value of u to the weighted centroid value of the representative point labeled with u (step S50).

そして、クラスタリング部14は、クラスタの中心集合Uから全てのクラスタの中心uを取り出したか否かを判定する(ステップS51)。全てのクラスタの中心uを取り出していないと判定した場合には(ステップS51;No)、クラスタリング部14は、次のクラスタの中心を取り出すべく、ステップS49に移行する。一方、全てのクラスタの中心uを取り出したと判定した場合には(ステップS51;Yes)、クラスタリング部14は、収束判定をすべく、ステップS42に移行する。 Then, the clustering unit 14 determines whether the centers u of all the clusters have been extracted from the center set U of the clusters (step S51). When it is determined that the centers u of all the clusters are not extracted (step S51; No), the clustering unit 14 proceeds to step S49 to extract the centers of the next clusters. On the other hand, when it is determined that the centers u of all the clusters have been extracted (step S51; Yes), the clustering unit 14 proceeds to step S42 to make a convergence determination.

ステップS42において、収束したと判定した場合には(ステップS42;Yes)、クラスタリング部14は、クラスタの中心集合Uを出力し(ステップS52)、クラスタリング処理を終了する。 When it is determined in step S42 that the clusters have converged (step S42; Yes), the clustering unit 14 outputs the central set U of clusters (step S52), and ends the clustering process.

なお、情報処理装置1は、実施例1に係る代表点更新処理によって更新される代表点を用いて、一定時間ごとに(独立して)クラスタリング処理を行えば、オンラインのクラスタリング処理を行うことができる。実施例1に係る代表点更新処理を用いたオンライクラスタリングを、図13を参照して説明する。図13は、実施例1に係る代表点更新処理を用いたオンラインクラスタリングを説明する図である。 Note that the information processing apparatus 1 may perform online clustering processing by performing clustering processing at regular time intervals (independently) using the representative points updated by the representative point updating processing according to the first embodiment. it can. Online clustering using the representative point update processing according to the first embodiment will be described with reference to FIG. FIG. 13 is a diagram illustrating online clustering using the representative point updating process according to the first embodiment.

図13に示すように、時点tが0であるとき、情報処理装置1は、入力データ点を受け付ける。受け付けた入力データ点について、情報処理装置1は、代表点更新処理を行う。すなわち、情報処理装置1は、入力データ点を範囲に含むグリッドが既に存在すれば、このグリッドにこの入力データ点を代表点として追加する。情報処理装置1は、入力データ点を範囲に含むグリッドが存在しなければ、新たなグリッドを生成し、新たに生成したグリッドにこの入力データ点を代表点として追加する。情報処理装置1は、それぞれのグリッドに代表点の個数が最大保持点数を超えないように、代表点圧縮処理を行い、代表点を更新する。そして、情報処理装置1は、更新された代表点を入力としてバッチクラスタリング処理を行う。 As shown in FIG. 13, when the time point t is 0, the information processing device 1 receives the input data point. The information processing apparatus 1 performs representative point update processing on the received input data points. That is, the information processing apparatus 1 adds this input data point as a representative point to this grid if a grid including the input data point already exists. If there is no grid including the input data point in the range, the information processing apparatus 1 creates a new grid and adds this input data point to the newly created grid as a representative point. The information processing apparatus 1 performs representative point compression processing and updates the representative points so that the number of representative points in each grid does not exceed the maximum number of held points. Then, the information processing device 1 performs the batch clustering process using the updated representative point as an input.

時が経過し、時点tが1になったとき、情報処理装置1は、入力データ点を受け付ける。受け付けた入力データ点と、時点tが0であったときに更新された代表点とについて、情報処理装置1は、代表点更新処理を行う。すなわち、情報処理装置1は、入力データ点を範囲に含むグリッドが既に存在すれば、このグリッドにこの入力データ点を代表点として追加する。情報処理装置1は、入力データ点を範囲に含むグリッドが存在しなければ、新たなグリッドを生成し、新たに生成したグリッドにこの入力データ点を代表点として追加する。情報処理装置は、それぞれのグリッドに代表点の個数が最大保持点数を超えないように、代表点圧縮処理を行い、代表点を更新する。そして、情報処理装置1は、更新された代表点を入力としてバッチクラスタリング処理を行う。 When the time passes and the time point t becomes 1, the information processing device 1 receives the input data point. The information processing apparatus 1 performs a representative point update process on the received input data points and the representative points updated when the time point t was 0. That is, the information processing apparatus 1 adds this input data point as a representative point to this grid if a grid including the input data point already exists. If there is no grid including the input data point in the range, the information processing apparatus 1 creates a new grid and adds this input data point to the newly created grid as a representative point. The information processing device performs representative point compression processing and updates the representative points so that the number of representative points in each grid does not exceed the maximum number of held points. Then, the information processing device 1 performs the batch clustering process using the updated representative point as an input.

時が経過し、時点tが2になったとき、情報処理装置1は、入力データ点を受け付ける。受け付けた入力データ点と、時点tが1であったときに更新された代表点とについて、情報処理装置1は、代表点更新処理を行う。すなわち、情報処理装置1は、入力データ点を範囲に含むグリッドが既に存在すれば、このグリッドにこの入力データ点を代表点として追加する。情報処理装置1は、入力データ点を範囲に含むグリッドが存在しなければ、新たなグリッドを生成し、新たに生成したグリッドにこの入力データ点を代表点として追加する。情報処理装置は、それぞれのグリッドに代表点の個数が最大保持点数を超えないように、代表点圧縮処理を行い、代表点を更新する。そして、情報処理装置1は、更新された代表点を入力としてバッチクラスタリング処理を行う。 When the time passes and the time point t reaches 2, the information processing device 1 receives the input data point. The information processing apparatus 1 performs representative point update processing on the received input data points and the representative points updated when the time point t was 1. That is, the information processing apparatus 1 adds this input data point as a representative point to this grid if a grid including the input data point already exists. If there is no grid including the input data point in the range, the information processing apparatus 1 creates a new grid and adds this input data point to the newly created grid as a representative point. The information processing device performs representative point compression processing and updates the representative points so that the number of representative points in each grid does not exceed the maximum number of held points. Then, the information processing device 1 performs the batch clustering process using the updated representative point as an input.

このように、情報処理装置1は、時分割して入力されるデータ点について、各時点で独立してクラスタリング処理を行うことで、オンラインのクラスタリング処理を行うことができる。 In this way, the information processing device 1 can perform online clustering processing by independently performing clustering processing at each time point on data points input in a time-division manner.

[実施例1の効果]
上記実施例1によれば、情報処理装置1は、ストリーミングクラスタリングを以下のように行う。すなわち、情報処理装置1は、入力データ点を配置する特徴量空間をグリッドに分割する。情報処理装置1は、データ点が1点以上存在するグリッドに対し、それぞれ独立に代表点を決定し、次に代表点が存在するグリッドにデータ点が追加された場合に、代表点と追加されたデータ点に基づいて重み付けを行い新たな代表点を決定する。そして、情報処理装置1は、新たな代表点を用いてクラスタ数を制御する。かかる構成によれば、情報処理装置1は、ストリーミングクラスタリングにおいて、クラスタリング精度の低下を抑制できる。すなわち、情報処理装置1は、ランダムにデータ点を減らす場合と比べて、入力データ点の代表として重みを付けた代表点を決定し、クラスタリングを行うことで、クラスタリングの精度の低下が抑制可能となる。
[Effect of Example 1]
According to the first embodiment, the information processing device 1 performs streaming clustering as follows. That is, the information processing device 1 divides the feature amount space in which the input data points are arranged into grids. The information processing device 1 independently determines a representative point for a grid having one or more data points, and when the data point is added to the grid having the representative point next, the information point is added as the representative point. A new representative point is determined by weighting based on the data points. Then, the information processing device 1 controls the number of clusters using the new representative point. According to such a configuration, the information processing device 1 can suppress deterioration of clustering accuracy in streaming clustering. That is, the information processing device 1 determines a representative point weighted as a representative of the input data points and performs clustering, as compared with the case where the number of data points is randomly reduced, and thus it is possible to suppress a decrease in clustering accuracy. Become.

また、上記実施例1によれば、情報処理装置1は、特徴量空間を、λ/√d(λ:クラスタの粒度を定める閾値、d:特徴量空間の次元数)を一辺の長さとするd次元超立方体であるグリッドに分割する。かかる構成によれば、情報処理装置1は、d次元超立方体の対角線の長さが(クラスタの粒度を定める閾値)λとなるので、グリッドにデータ点が含まれれば、クラスタが消えないこととなる。この結果、情報処理装置1は、ランダムに代表点を決定した場合に、クラスタが消失してしまい、クラスタ個数の誤差が大きくなることを回避できる。 Further, according to the first embodiment, the information processing apparatus 1 sets the feature amount space to λ/√d (λ: a threshold value that determines the granularity of the cluster, d: the number of dimensions of the feature amount space) as the length of one side. Divide into a grid that is a d-dimensional hypercube. According to this configuration, the information processing apparatus 1 determines that the length of the diagonal line of the d-dimensional hypercube is (threshold value that determines the granularity of the cluster) λ, so that the cluster does not disappear if the grid includes data points. Become. As a result, the information processing apparatus 1 can prevent the cluster from disappearing and the error in the number of clusters becoming large when the representative points are randomly determined.

また、上記実施例1によれば、情報処理装置1は、特徴量空間を、クラスタの粒度を定める閾値λを直径としたd次元超球(d:前記特徴量空間の次元数)であるグリッドに分割する。かかる構成によれば、情報処理装置1は、d次元超球の直径の長さが(クラスタの粒度を定める閾値)λとなるので、グリッドにデータ点が含まれれば、クラスタが消失しないことが保証される。この結果、情報処理装置1は、ランダムに代表点を決定した場合に、クラスタが消失してしまい、クラスタ個数の誤差が大きくなることを回避できる。 Moreover, according to the first embodiment, the information processing apparatus 1 is a grid that is a d-dimensional hypersphere (d: the number of dimensions of the feature amount space) whose feature amount space has a diameter of a threshold λ that determines the granularity of the cluster. Split into. According to this configuration, the information processing apparatus 1 has the diameter length of the d-dimensional hypersphere as (threshold value that determines the granularity of the cluster) λ. Therefore, if the grid includes data points, the cluster may not disappear. Guaranteed. As a result, the information processing apparatus 1 can prevent the cluster from disappearing and the error in the number of clusters becoming large when the representative points are randomly determined.

また、上記実施例1によれば、情報処理装置1は、グリッドに保持する最大保持点数を次元数dとする。かかる構成によれば、情報処理装置1は、グリッドに最大保持点数として次元数dだけ代表点を残しておけば、代表点圧縮処理を行っても、代表点が残るので、クラスタが消失しないことが保証される。この結果、情報処理装置1は、ランダムに代表点を決定した場合に、クラスタが消失してしまい、クラスタ個数の誤差が大きくなることを回避できる。 Further, according to the first embodiment, the information processing device 1 sets the maximum number of points held in the grid to the dimension number d. According to this configuration, if the information processing apparatus 1 leaves the representative points by the dimension number d as the maximum number of holding points in the grid, the representative points remain even if the representative point compression processing is performed, so that the cluster does not disappear. Is guaranteed. As a result, the information processing apparatus 1 can prevent the cluster from disappearing and the error in the number of clusters becoming large when the representative points are randomly determined.

また、上記実施例1によれば、情報処理装置1は、時分割されたデータ点に対して、既に決定された代表点と時分割されたデータ点に基づいて新たな代表点を決定する。かかる構成によれば、情報処理装置1は、代表点更新処理を用いたオンラインクラスタリング処理を行うことができ、オンラインクラスタリングの精度の低下を抑制できる。 Further, according to the first embodiment, the information processing apparatus 1 determines a new representative point for the time-divided data point based on the already-represented representative point and the time-divided data point. According to such a configuration, the information processing device 1 can perform the online clustering process using the representative point update process, and can suppress the decrease in the accuracy of the online clustering.

また、上記実施例1によれば、情報処理装置1は、グリッドに保持する最大の保持点数を3×d×log(d)とする。かかる構成によれば、情報処理装置1は、k−means法で保持される代表点の最大保持点数を3d×log(d)個とすれば、精度良くクラスタリング処理を行うことができる。 Further, according to the first embodiment, the information processing device 1 sets the maximum number of points held in the grid to 3×d×log(d). According to this configuration, the information processing apparatus 1 can perform clustering processing with high accuracy if the maximum number of representative points held by the k-means method is 3d×log(d).

ところで、実施例1では、情報処理装置1は、代表点同士の距離がλ以上離れた場合に新規のクラスタを生成する場合を説明した。しかしながら、情報処理装置1は、これに限定されず、局所解に陥る場合には、代表点を分割し、クラスタが分割されるようにしても良い。局所解とは、最適解に辿り着かない状態のことをいう。 By the way, in the first embodiment, the case where the information processing apparatus 1 generates a new cluster when the distance between the representative points is λ or more is described. However, the information processing apparatus 1 is not limited to this, and when falling into a local solution, the representative points may be divided and the cluster may be divided. The local solution is a state in which the optimum solution cannot be reached.

[代表点を分割する場合]
ここで、代表点を分割する場合を、図14を参照して説明する。図14は、代表点を分割する場合を説明する図である。まず、DP−means法は、目的関数の値が最小値になるように、クラスタの重心を更新し、クラスタ数を更新する。ここでいう目的関数は、以下の式(3)で表わされる。なお、xは入力されるd次元のデータ点群Xに属するデータ点、uはクラスタ中心集合Cに属するクラスタ中心、kはクラスタ数、λはクラスタの粒度を定めるパラメータである。λは、図14ではクラスタの直径であるとする。

Figure 0006707946
[When splitting representative points]
Here, the case of dividing the representative point will be described with reference to FIG. FIG. 14 is a diagram illustrating a case where the representative point is divided. First, in the DP-means method, the center of gravity of clusters is updated and the number of clusters is updated so that the value of the objective function becomes the minimum value. The objective function here is expressed by the following equation (3). Note that x is a data point belonging to the input d-dimensional data point group X, u is a cluster center belonging to the cluster center set C, k is the number of clusters, and λ is a parameter that determines the granularity of the cluster. Let λ be the diameter of the cluster in FIG.
Figure 0006707946

なお、クラスタ中心uとデータ点xで表わされる距離関数は、二乗ユークリッド距離を用いているが、これに限定されるものではない。例えば、距離関数は、マンハッタン距離、L∞距離のような対称性を満たすものや、KLダイバージェンス、マハラノビス距離または板倉斉藤距離などの対称性を満たさないものであっても良い。 The distance function represented by the cluster center u and the data point x uses the squared Euclidean distance, but the distance function is not limited to this. For example, the distance function may be one that satisfies symmetry such as Manhattan distance or L∞ distance, or one that does not satisfy symmetry such as KL divergence, Mahalanobis distance, or Itakura Saito distance.

図14に示すように、クラスタが1個の場合、クラスタ中心uは(0,0)になるので、入力データ点(−1,0)とクラスタ中心uとの距離は1であり、入力データ点(1,0)のクラスタ中心uとの距離は1である。入力データ点(−1,0)の重みは10000であり、入力データ点(1,0)の重みは10000である。すると、目的関数L(X,C)(=20000×1+10×1)は、20100となる。 As shown in FIG. 14, when there is one cluster, the cluster center u is (0,0), so the distance between the input data point (-1,0) and the cluster center u is 1, and the input data is The distance between the point (1,0) and the cluster center u is 1. The input data point (-1,0) has a weight of 10,000, and the input data point (1,0) has a weight of 10,000. Then, the objective function L(X, C) (=20000×1 2 +10 2 ×1) becomes 20100.

これに対して、クラスタが2個の場合、クラスタ中心uは(−1,0),(1,0)になる。入力データ点としての(−1,0),(1,0)はそれぞれ最近傍クラスタに割り振られるので、入力データ点(−1,0)とクラスタ中心uとの距離は0であり、入力データ点(1,0)とクラスタ中心uとの距離は0である。すると、目的関数L(X,C)(=20000×0+10×2)は、200となる。クラスタが2個の場合は、クラスタが1個の場合より目的関数値は小さくなる。クラスタが1個の場合は、目的関数が最小値に辿り着かず、局所解に陥っている。 On the other hand, when there are two clusters, the cluster center u is (-1,0), (1,0). Since (-1,0) and (1,0) as the input data points are assigned to the nearest clusters, the distance between the input data point (-1,0) and the cluster center u is 0, and the input data point is The distance between the point (1,0) and the cluster center u is 0. Then, the objective function L(X,C) (=20000×0 2 +10 2 ×2) becomes 200. When there are two clusters, the objective function value is smaller than when there is one cluster. When the number of clusters is one, the objective function does not reach the minimum value and falls into a local solution.

仮に、入力データ点(−1,0)の重みが10であり、入力データ点(1,0)の重みが10であるとする。すると、クラスタが1個の場合、目的関数L(X,C)(=20×1+10×1)は、120となる。これに対して、クラスタが2個の場合、目的関数L(X,C)(=200×0+10×2)は、200となる。クラスタが1個の場合は、クラスタが2個の場合より目的関数値は小さくなる。クラスタが1個の場合に、最適解に辿り着く。つまり、クラスタに含まれる代表点の重みが増えると、局所解に陥る場合があるので、クラスタを分割する方が良い場合がある。 It is assumed that the input data point (-1,0) has a weight of 10 and the input data point (1,0) has a weight of 10. Then, when there is one cluster, the objective function L(X,C) (=20×1 2 +10 2 ×1) becomes 120. On the other hand, when there are two clusters, the objective function L(X,C) (=200×0 2 +10 2 ×2) is 200. When there is one cluster, the objective function value is smaller than when there are two clusters. When there is one cluster, the optimal solution is reached. In other words, if the weight of the representative points included in the cluster increases, a local solution may occur, so it may be better to divide the cluster.

そこで、実施例2では、情報処理装置1が、重み付き代表点を用いたクラスタリングにおいて、代表点の重みが増えてきたら、代表点を分割する場合について説明する。 Therefore, in the second embodiment, a case will be described in which the information processing device 1 divides the representative points when the weight of the representative points increases in the clustering using the weighted representative points.

[実施例2に係る情報処理装置の構成]
図15は、実施例2に係る情報処理装置の構成を示す機能ブロック図である。なお、図1に示す情報処理装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、代表点分割部31を追加した点にある。また、実施例1と実施例2とが異なるところは、クラスタリング部14をクラスタリング部14Aに変更した点にある。さらに、実施例1と実施例2とが異なるところは、代表点リスト22を代表点リスト22Aに変更した点にある。
[Configuration of Information Processing Device According to Second Embodiment]
FIG. 15 is a functional block diagram of the configuration of the information processing apparatus according to the second embodiment. The same components as those of the information processing device 1 shown in FIG. 1 are designated by the same reference numerals, and the description of the overlapping components and operations will be omitted. The difference between the first embodiment and the second embodiment is that a representative point dividing unit 31 is added. Further, the difference between the first embodiment and the second embodiment is that the clustering unit 14 is changed to the clustering unit 14A. Further, the difference between the first embodiment and the second embodiment is that the representative point list 22 is changed to the representative point list 22A.

代表点リスト22Aのデータ構造を、図16を参照して説明する。図16は、代表点リストのデータ構造の一例を示す図である。図16に示すように、代表点リスト22Aは、代表点座標22b、代表点重み22cおよび代表点範囲22dをグリッドID22aに対応付けて記憶する。グリッドID22aは、グリッドの識別IDである。代表点座標22bは、代表点の座標である。代表点重み22cは、代表点の重みである。そして、代表点範囲22dは、代表点に含まれるデータ点の範囲を示す。代表点範囲22dは、代表点の次元の最大値/最小値であっても良いし、分散であっても良い。以降では、代表点範囲22dを、代表点の次元の最大値/最小値として説明する。 The data structure of the representative point list 22A will be described with reference to FIG. FIG. 16 is a diagram showing an example of the data structure of the representative point list. As shown in FIG. 16, the representative point list 22A stores the representative point coordinates 22b, the representative point weight 22c, and the representative point range 22d in association with the grid ID 22a. The grid ID 22a is a grid identification ID. The representative point coordinates 22b are the coordinates of the representative point. The representative point weight 22c is the weight of the representative point. The representative point range 22d indicates the range of data points included in the representative point. The representative point range 22d may be the maximum value/minimum value of the dimension of the representative point, or may be the variance. Hereinafter, the representative point range 22d will be described as the maximum value/minimum value of the dimension of the representative point.

ここで、代表点範囲22dを、図17を参照して説明する。図17は、実施例2に係る代表点範囲を説明する図である。図17に示すように、データ点から代表点が選択される際に、代表点に対して、座標および重み以外に代表点に含まれる複数のデータ点の範囲(代表点範囲)が代表点リスト22Aに追加される。ここでは、一例として、代表点に対して、中心として(0,0)、重みとして5点、範囲としてx軸方向では−5〜5、y軸方向では−2〜2が設定される。すなわち、代表点は、x軸方向では−5〜5、y軸方向では−2〜2のデータ点を含んでいる。なお、代表点は、後述する代表点分割部31によって代表点リスト22Aに追加される。 Here, the representative point range 22d will be described with reference to FIG. FIG. 17 is a diagram illustrating a representative point range according to the second embodiment. As shown in FIG. 17, when the representative point is selected from the data points, the range of a plurality of data points included in the representative point (representative point range) other than the coordinates and the weight is the representative point list. 22A is added. Here, as an example, with respect to the representative point, (0, 0) is set as the center, 5 points are set as the weight, -5 to 5 are set in the x-axis direction, and -2 to 2 are set in the y-axis direction. That is, the representative point includes data points of −5 to 5 in the x-axis direction and −2 to 2 in the y-axis direction. The representative point is added to the representative point list 22A by the representative point dividing unit 31 described later.

図15に戻って、代表点分割部31は、重みがwの代表点に対し、次元nでの範囲が以下の式(4)の条件を満たした場合に、この次元nで代表点を2つに分割する。なお、wは重み、λはクラスタの粒度を定めるパラメータであるとする。σは、n次元での範囲であり、σ=p−qであるとする(p,q:次元nでの最大値、最小値)。
w≧16(λ/σ・・・(4)
Returning to FIG. 15, the representative point dividing unit 31 determines the number of representative points in the dimension n to be 2 when the range in the dimension n satisfies the condition of the following Expression (4) with respect to the representative point having the weight w. Divide into two. It is assumed that w is a weight and λ is a parameter that determines the cluster grain size. σ n is an n-dimensional range, and σ n = pn −q n ( pn , q n : maximum value and minimum value in dimension n).
w≧16 (λ/σ n ) 2 (4)

代表点を分割する条件を式(4)とする理由は、かかる条件が満たされたとき、目的関数の期待値について、分割後の方が分割前より小さくなるためである。ここで、代表点を分割する条件を、図18を参照して説明する。図18は、代表点を分割する条件を説明する図である。 The reason why the condition for dividing the representative point is set to Expression (4) is that the expected value of the objective function after the division becomes smaller than that before the division when the condition is satisfied. Here, the conditions for dividing the representative point will be described with reference to FIG. FIG. 18 is a diagram illustrating conditions for dividing the representative point.

図18に示すように、左図は、代表点を分割する前の状態であり、代表点が1個の場合である。かかる場合では、クラスタに含まれるデータ点が一様分布であるとすると、各次元の誤差項の期待値は、σ /12となる。ここでいう誤差項とは、式(18)で示す目的関数のΣmin(x−u)の部分項を示す。誤差項の期待値は、以下の一様分布の期待値の公式で求められる。
V(x)=(b−a)/12(a:下限,b:上限)
As shown in FIG. 18, the left diagram shows the state before dividing the representative point, and the case where there is one representative point. In such a case, assuming that the data points included in the cluster have a uniform distribution, the expected value of the error term in each dimension is σ n 2 /12. The term “error term” as used herein refers to a partial term of Σmin(x−u) 2 of the objective function shown in Expression (18). The expected value of the error term is obtained by the following formula of the expected value of uniform distribution.
V (x) = (b- a) 2/12 (a: lower limit, b: upper limit)

右図は、代表点を分割した後の状態であり、代表点が2個の場合である。かかる場合では、クラスタに含まれるデータ点が一様分布であるとすると、一様分布の期待値の公式を用いると、分割された方向の誤差項の期待値は、σ /48(=(σ/2)/12)となる。代表点が2個の場合の誤差項の期待値が、代表点が1個の場合の期待値より小さくなる条件は、以下の式(5)より、上記の式(4)となる。なお、式(5)では、各次元の誤差項の期待値を加算している。
w(σ /12+・・・+σ /12+・・・)+λ≧w(σ /12+・・・+σ /48+・・・)+2λ・・・(5)
The right figure shows a state after the representative point is divided, and there are two representative points. In such a case, assuming that the data points included in the cluster have a uniform distribution, the expected value of the error term in the divided direction is σ n 2 /48(= It becomes (σ n / 2) 2/ 12). The condition that the expected value of the error term when the number of representative points is two is smaller than the expected value when the number of representative points is one is the above formula (4) from the following formula (5). In addition, in the equation (5), the expected values of the error terms of each dimension are added.
w (σ 1 2/12 + ··· + σ n 2/12 + ···) + λ 2 ≧ w (σ 1 2/12 + ··· + σ n 2/48 + ···) + 2 ··· (5)

なお、上記の式(5)は、以下の式(32)により表わせる。式(32)において、wは、分割された場合の一方のクラスタの代表点1の重みであり、wは、分割された場合の他方のクラスタの代表点2の重みである。
w(データ点と代表点との距離の期待値)≧w(分割後の代表点1に含まれるデータ点の距離の期待値)+w(分割後の代表点2に含まれるデータ点の距離の期待値)+λ・・・(32)
The above equation (5) can be expressed by the following equation (32). In Expression (32), w 1 is the weight of the representative point 1 of one cluster in the case of being divided, and w 2 is the weight of the representative point 2 of the other cluster in the case of being divided.
w (expected value of distance between data point and representative point)≧w 1 (expected value of distance of data point included in representative point 1 after division)+w 2 (of data point included in representative point 2 after division) Expected value of distance) + λ 2 (32)

図15に戻って、代表点分割部31が式(4)の条件を満たした場合に、条件が満たされた次元nで、代表点を中心に代表点を2つに分割する例を以下に示す。例えば、元の代表点の(中心,重み,最大値,最小値)が(uold,wold,pold,qold)であるとする。uoldは、1次元の値u(1)〜d次元の値u(d)を含む。poldは、1次元の値p(1)〜d次元の値p(d)を含む。qoldは、1次元の値q(1)〜d次元の値q(d)を含む。 Returning to FIG. 15, in the case where the representative point dividing unit 31 satisfies the condition of Expression (4), an example in which the representative point is divided into two around the representative point with the dimension n satisfying the condition will be described below. Show. For example, it is assumed that the (center, weight, maximum value, minimum value) of the original representative point is (u old , w old , p old , q old ). u old includes a one-dimensional value u(1) to a d-dimensional value u(d). p old includes one-dimensional value p(1) to d-dimensional value p(d). q old includes a one-dimensional value q(1) to a d-dimensional value q(d).

n次元目で代表点を2つに分割したとする。このとき、分割後の2つの代表点の値(u,w,p,q)、(u,w,p,q)は、それぞれn次元目の値だけ以下の式(6)〜式(13)に更新され、n次元目以外では元の代表点の値を引き継ぐ。
(n)=(u(n)+q(n))/2・・・(6)
=wold(u(n)−q(n))/(p(n)−q(n))・・・(7)
(n)=u(n)・・・(8)
(n)=q(n)・・・(9)
(n)=(u(n)+p(n))/2・・・(10)
=wold(p(n)−u(n))/(p(n)−q(n))・・・(11)
(n)=p(n)・・・(12)
(n)=u(n)・・・(13)
It is assumed that the representative point is divided into two in the nth dimension. At this time, the values (u 1 , w 1 , p 1 , q 1 ) and (u r , w r , p r , q r ) of the two representative points after the division are equal to or less than the values of the nth dimension, respectively. The equations (6) to (13) are updated, and the values of the original representative points are inherited except for the n-th dimension.
u 1 (n)=(u(n)+q(n))/2 (6)
w 1 = w old (u ( n) -q (n)) / (p (n) -q (n)) ··· (7)
p 1 (n)=u(n) (8)
q 1 (n)=q(n) (9)
u r (n) = (u (n) + p (n)) / 2 ··· (10)
w r =w old (p(n)-u(n))/(p(n)-q(n)) (11)
pr (n)=p(n)...(12)
q r (n)=u(n) (13)

また、代表点分割部31は、ある代表点にデータ点を追加する場合、代表点の逐次更新を行う。例えば、代表点の(中心,重み,最大値,最小値)が(uold,wold,pold,qold)であるとする。入力データ点がxであるとする。すると、更新後の代表点の(中心,重み,最大値,最小値)は(unew,wnew,pnew,qnew)となる。unew,wnew,pnew,qnewは、それぞれ以下の式(14)〜式(17)で表わされる。
new=(woldold+x)/(wold+1)・・・(14)
new=wold+1・・・(15)
new=max(pold,x)・・・(16)
new=min(qold,x)・・・(17)
Further, when adding a data point to a certain representative point, the representative point dividing unit 31 sequentially updates the representative point. For example, it is assumed that the (center, weight, maximum value, minimum value) of the representative point is (u old , w old , p old , q old ). Let the input data point be x. Then, the (center, weight, maximum value, minimum value) of the updated representative point becomes (u new , w new , p new , q new ). u new , w new , p new , and q new are represented by the following equations (14) to (17), respectively.
u new =(w old u old +x)/(w old +1) (14)
w new =w old +1 (15)
p new =max(p old ,x) (16)
q new =min(q old , x) (17)

クラスタリング部14Aは、グリッドリスト21の中のグリッドに含まれる重み付きの代表点を入力としてバッチクラスタリング処理を実行する。ただし、重み付きの代表点の場合、目的関数が式(3)から以下の式(18)に変化する。なお、xは入力されるd次元のデータ点群、uはクラスタ中心、kはクラスタ数、λはクラスタの粒度を定めるパラメータである。そして、wは、重みである。

Figure 0006707946
The clustering unit 14A executes the batch clustering process using the weighted representative points included in the grid in the grid list 21 as input. However, in the case of a weighted representative point, the objective function changes from Expression (3) to Expression (18) below. Note that x is an input d-dimensional data point group, u is the center of the cluster, k is the number of clusters, and λ is a parameter that determines the granularity of the cluster. And w is a weight.
Figure 0006707946

このように、目的関数が変化するので、新規クラスタを生成する条件が、ユークリッド距離がλ/√w以上離れた時に新規クラスタを生成するように変わる。すなわち、クラスタリング部14Aは、代表点と、クラスタの中心集合の中の最も距離が近い中心との距離がλ/√w以上の場合に、クラスタの中心集合にこの代表点を追加する。すなわち、クラスタリング14Aは、この代表点を中心とした新規クラスタを生成する。なお、上記条件は、クラスタ追加条件を判定する距離関数としてユークリッド距離を用いた場合であり、他関数を用いた場合でも等価な条件が存在する。例えば、距離関数として二乗ユークリッド距離を用いた場合には新規クラスタを生成する条件はλ/wとなるが、二乗ユークリッド距離はユークリッド距離の二乗を取ったものであるので、上記のユークリッド距離を用いた条件と等価である。 In this way, since the objective function changes, the condition for generating a new cluster changes so as to generate a new cluster when the Euclidean distance is λ/√w or more. That is, the clustering unit 14A adds the representative point to the central set of the cluster when the distance between the representative point and the center having the shortest distance in the central set of the cluster is λ/√w or more. That is, the clustering 14A generates a new cluster centered on this representative point. Note that the above condition is the case where Euclidean distance is used as the distance function for determining the cluster addition condition, and equivalent conditions exist even when other functions are used. For example, when the square Euclidean distance is used as the distance function, the condition for generating a new cluster is λ 2 /w, but the square Euclidean distance is the square of the Euclidean distance. It is equivalent to the conditions used.

[代表点分割処理のフローチャート]
次に、実施例2に係る代表点分割処理のフローチャートを、図19を参照して説明する。図19は、実施例2に係る代表点分割処理のフローチャートを示す図である。なお、代表点分割部31は、入力パラメータとして、代表点点群X、代表点重みw、代表点範囲R、クラスタの粒度を定めるパラメータλ、入力データ点xを取得する。
[Flowchart of representative point division processing]
Next, a flowchart of representative point division processing according to the second embodiment will be described with reference to FIG. FIG. 19 is a diagram illustrating a flowchart of representative point division processing according to the second embodiment. It should be noted that the representative point dividing unit 31 acquires a representative point point group X, a representative point weight w, a representative point range R, a parameter λ defining the cluster granularity, and an input data point x as input parameters.

まず、代表点分割部31は、対応代表点候補x_aを初期値としてnullに設定し、最近傍距離d_aをλに設定する(ステップS61)。なお、対応代表点候補とは、分割対応すべき代表点の候補を意味する。 First, the representative point dividing unit 31 sets the corresponding representative point candidate x_a to null as an initial value, and sets the nearest distance d_a to λ 2 (step S61). The corresponding representative point candidate means a representative point candidate to be divided and corresponding.

代表点分割部31は、代表点群Xから全ての代表点を取り出したか否かを判定する(ステップS62)。全ての代表点を取り出していないと判定した場合には(ステップS62;No)、代表点分割部31は、代表点群Xから1つの代表点の座標x_c、重みw_c、範囲r_cを取り出す(ステップS63)。 The representative point dividing unit 31 determines whether or not all the representative points have been extracted from the representative point group X (step S62). When it is determined that all the representative points have not been extracted (step S62; No), the representative point dividing unit 31 extracts the coordinate x_c, weight w_c, and range r_c of one representative point from the representative point group X (step S62). S63).

代表点分割部31は、代表点の座標x_cと入力データ点xとの距離を算出し、算出した距離をd_cに設定する(ステップS64)。代表点分割部31は、距離d_cが最近傍距離d_aより小さいか否かを判定する(ステップS65)。距離d_cが最近傍距離d_aより小さくないと判定した場合には(ステップS65;No)、代表点分割部31は、次の代表点を取り出すべく、ステップS62に移行する。 The representative point dividing unit 31 calculates the distance between the coordinate x_c of the representative point and the input data point x, and sets the calculated distance to d_c (step S64). The representative point dividing unit 31 determines whether or not the distance d_c is smaller than the nearest distance d_a (step S65). When it is determined that the distance d_c is not smaller than the nearest distance d_a (step S65; No), the representative point dividing unit 31 proceeds to step S62 to retrieve the next representative point.

一方、距離d_cが最近傍距離d_aより小さいと判定した場合には(ステップS65;Yes)、代表点分割部31は、現在の代表点に入力データ点xを加えたもので、更新後の範囲r_aを計算する(ステップS66)。例えば、代表点分割部31は、式(16)、式(17)を利用して、現在の代表点を更新した場合の更新後の範囲を算出する。 On the other hand, when it is determined that the distance d_c is smaller than the nearest distance d_a (step S65; Yes), the representative point dividing unit 31 adds the input data point x to the current representative point, and updates the range. Calculate r_a (step S66). For example, the representative point dividing unit 31 uses Equation (16) and Equation (17) to calculate the updated range when the current representative point is updated.

代表点分割部31は、更新後の範囲r_aから代表点の直径σ_aを計算し(ステップS67)、計算した直径σ_aの中から最大直径を取り出す(ステップS68)。そして、代表点分割部31は、w_c+1≧16(λ/σ_a) 且つ 入力データ点xが現在の代表点の範囲r_cの外部であるか否かを判定する(ステップS69)。w_c+1≧16(λ/σ_a) 且つ 入力データ点xが現在の代表点の範囲r_cの外部であると判定した場合には(ステップS69;Yes)、代表点分割部31は、次の代表点を取り出すべく、ステップS62に移行する。すなわち、代表点分割部31は、w_c+1≧16(λ/σ_a)であっても、現在の代表点の範囲r_cが外部であれば、対応代表点候補としないようにすべく、ステップS62に移行する。 The representative point dividing unit 31 calculates the diameter σ_a of the representative point from the updated range r_a (step S67), and extracts the maximum diameter from the calculated diameter σ_a (step S68). Then, the representative point dividing unit 31 determines whether w_c+1≧16(λ/σ_a) 2 and the input data point x is outside the current representative point range r_c (step S69). If it is determined that w_c+1≧16(λ/σ_a) 2 and the input data point x is outside the current representative point range r_c (step S69; Yes), the representative point dividing unit 31 determines the next representative point. In order to take out, the process proceeds to step S62. That is, even if w_c+1≧16(λ/σ_a) 2 is satisfied, the representative point dividing unit 31 does not consider it as a corresponding representative point candidate if the current representative point range r_c is outside. Transition.

一方、w_c+1<16(λ/σ_a) または 入力データ点xが現在の代表点の範囲r_cの外部でないと判定した場合には(ステップS69;No)、代表点分割部31は、対応代表点候補x_aを現在の代表点x_cに設定する(ステップS70)。そして、代表点分割部31は、次の代表点を取り出すべく、ステップS62に移行する。 On the other hand, if it is determined that w_c+1<16(λ/σ_a) 2 or the input data point x is not outside the current representative point range r_c (step S69; No), the representative point dividing unit 31 determines that the corresponding representative point is the corresponding representative point. The candidate x_a is set to the current representative point x_c (step S70). Then, the representative point dividing unit 31 proceeds to step S62 to retrieve the next representative point.

ステップS62において、全ての代表点を取り出したと判定した場合には(ステップS62;Yes)、代表点分割部31は、対応代表点候補x_aがnullであるか否かを判定する(ステップS71)。対応代表点候補x_aがnullであると判定した場合には(ステップS71;Yes)、代表点分割部31は、代表点群Xに入力データ点xを代表点として追加する。このとき、代表点分割部31は、この代表点の重みwを1に設定し、この代表点の範囲Rを最大値としてx、最小値としてxに設定する(ステップS72)。そして、代表点分割部31は、代表点分割処理を終了する。 When it is determined in step S62 that all the representative points have been extracted (step S62; Yes), the representative point dividing unit 31 determines whether the corresponding representative point candidate x_a is null (step S71). When it is determined that the corresponding representative point candidate x_a is null (step S71; Yes), the representative point dividing unit 31 adds the input data point x to the representative point group X as a representative point. At this time, the representative point dividing unit 31 sets the weight w of the representative point to 1, and sets the range R of the representative point to x as the maximum value and x as the minimum value (step S72). Then, the representative point dividing unit 31 ends the representative point dividing process.

一方、対応代表点候補x_aがnullでないと判定した場合には(ステップS71;No)、代表点分割部31は、対応代表点候補x_aの座標、重み、範囲を更新する(ステップS73)。すなわち、代表点分割部31は、対応代表点候補x_aに入力データ点xを追加する。例えば、代表点分割部31は、式(14)を利用して、対応代表点候補x_aに入力データ点xを追加し、対応代表点候補x_aの座標を更新する。代表点分割部31は、式(15)を利用して、対応代表点候補x_aに入力データ点xを追加し、対応代表点候補x_aの重みw_aを更新する。代表点分割部31は、式(16)を利用して、対応代表点候補x_aに入力データ点xを追加し、対応代表点候補x_aの最大値を更新する。代表点分割部31は、式(17)を利用して、対応代表点候補x_aに入力データ点xを追加し、対応代表点候補x_aの最小値を更新する。 On the other hand, when it is determined that the corresponding representative point candidate x_a is not null (step S71; No), the representative point dividing unit 31 updates the coordinates, weight, and range of the corresponding representative point candidate x_a (step S73). That is, the representative point dividing unit 31 adds the input data point x to the corresponding representative point candidate x_a. For example, the representative point dividing unit 31 adds the input data point x to the corresponding representative point candidate x_a and updates the coordinates of the corresponding representative point candidate x_a by using Expression (14). Using the equation (15), the representative point dividing unit 31 adds the input data point x to the corresponding representative point candidate x_a and updates the weight w_a of the corresponding representative point candidate x_a. Using the equation (16), the representative point dividing unit 31 adds the input data point x to the corresponding representative point candidate x_a and updates the maximum value of the corresponding representative point candidate x_a. Using the equation (17), the representative point dividing unit 31 adds the input data point x to the corresponding representative point candidate x_a and updates the minimum value of the corresponding representative point candidate x_a.

そして、代表点分割部31は、更新後の重みw_a、直径σ_aが、w_a≧16(λ/σ_a)を満たすか否かを判定する(ステップS74)。更新後の重みw_a、直径σ_aが、w_a≧16(λ/σ_a)を満たすと判定した場合には(ステップS74;Yes)、代表点分割部31は、対応代表点候補x_aの代表点を分割する(ステップS75)。例えば、代表点分割部31は、式(6)〜式(13)を利用して、対応代表点候補x_aの代表点を分割する。そして、代表点分割部31は、代表点分割処理を終了する。 Then, the representative point division unit 31 determines whether the updated weight w_a and diameter σ_a satisfy w_a≧16(λ/σ_a) 2 (step S74). When it is determined that the updated weight w_a and the diameter σ_a satisfy w_a≧16(λ/σ_a) 2 (step S74; Yes), the representative point dividing unit 31 determines the representative point of the corresponding representative point candidate x_a. Divide (step S75). For example, the representative point dividing unit 31 divides the representative point of the corresponding representative point candidate x_a by using the equations (6) to (13). Then, the representative point dividing unit 31 ends the representative point dividing process.

更新後の重みw_a、直径σ_aが、w_a≧16(λ/σ_a)を満たさないと判定した場合には(ステップS74;No)、代表点分割部31は、対応代表点候補x_aの代表点を分割しないで、代表点分割処理を終了する。 When it is determined that the updated weight w_a and the diameter σ_a do not satisfy w_a≧16(λ/σ_a) 2 (step S74; No), the representative point dividing unit 31 determines the representative point of the corresponding representative point candidate x_a. The representative point dividing process is terminated without dividing the.

[クラスタリング処理のフローチャート]
図20は、実施例2に係るクラスタリング処理のフローチャートを示す図である。なお、図20では、重み付きDP−means法を適用し、クラスタの追加を判定する際に用いる距離関数としてユークリッド距離を用いた場合について説明する。クラスタリング部14Aは、入力パラメータとして、代表点群X、代表点の重みwおよびクラスタの粒度を定めるパラメータλを取得する。
[Flowchart of clustering process]
FIG. 20 is a diagram illustrating a flowchart of the clustering process according to the second embodiment. Note that FIG. 20 illustrates a case where the weighted DP-means method is applied and the Euclidean distance is used as the distance function used when determining addition of a cluster. The clustering unit 14A acquires, as input parameters, the representative point group X, the representative point weight w, and the parameter λ that defines the cluster granularity.

クラスタリング部14Aは、クラスタの中心集合Uに全ての代表点の重心を代入する(ステップS81)。クラスタリング部14Aは、収束したか否かを判定する(ステップS82)。収束していないと判定した場合には(ステップS82;No)、クラスタリング部14Aは、代表点群から代表点xを取り出す(ステップS83)。そして、クラスタリング部14Aは、クラスタの中心集合Uの中で最も距離が近い中心uを取り出す(ステップS84)。 The clustering unit 14A substitutes the centroids of all the representative points into the center set U of the cluster (step S81). The clustering unit 14A determines whether or not they have converged (step S82). When it is determined that they have not converged (step S82; No), the clustering unit 14A extracts the representative point x from the representative point group (step S83). Then, the clustering unit 14A extracts the center u having the shortest distance from the cluster center set U (step S84).

クラスタリング部14Aは、代表点xとuとの距離がλ/√w以上であるか否かを判定する(ステップS85)。代表点xとuとの距離がλ/√w以上であると判定した場合には(ステップS85;Yes)、クラスタリング部14Aは、クラスタの中心集合Uに代表点xを追加する(ステップS86)。そして、クラスタリング部14Aは、ステップS87に移行する。 The clustering unit 14A determines whether or not the distance between the representative points x and u is λ/√w or more (step S85). When it is determined that the distance between the representative points x and u is λ/√w or more (step S85; Yes), the clustering unit 14A adds the representative points x to the central set U of the clusters (step S86). .. Then, the clustering unit 14A proceeds to step S87.

一方、代表点xとuとの距離がλ/√w以上でない、すなわちλ/√wより小さいと判定した場合には(ステップS85;No)、クラスタリング部14Aは、ステップS87に移行する。ステップS87において、クラスタリング部14Aは、代表点xのラベルを最近傍クラスタのラベルに更新する(ステップS87)。 On the other hand, when it is determined that the distance between the representative points x and u is not greater than or equal to λ/√w, that is, less than λ/√w (step S85; No), the clustering unit 14A proceeds to step S87. In step S87, the clustering unit 14A updates the label of the representative point x to the label of the nearest cluster (step S87).

続いて、クラスタリング部14Aは、代表点群から全ての代表点xを取り出したか否かを判定する(ステップS88)。全ての代表点xを取り出していないと判定した場合には(ステップS88;No)、クラスタリング部14Aは、次の代表点を取り出すべく、ステップS83に移行する。 Subsequently, the clustering unit 14A determines whether all representative points x have been extracted from the representative point group (step S88). When it is determined that all the representative points x have not been extracted (step S88; No), the clustering unit 14A proceeds to step S83 in order to extract the next representative point.

一方、全ての代表点xを取り出したと判定した場合には(ステップS88;Yes)、クラスタリング部14Aは、クラスタの中心集合Uからクラスタの中心uを取り出す(ステップS89)。クラスタリング部14Aは、取り出したuの座標値を、uに対応するラベルがついた代表点の重み付き重心値に更新する(ステップS90)。 On the other hand, when it is determined that all the representative points x have been extracted (step S88; Yes), the clustering unit 14A extracts the cluster center u from the cluster center set U (step S89). The clustering unit 14A updates the extracted coordinate value of u to the weighted centroid value of the representative point labeled with u (step S90).

そして、クラスタリング部14Aは、クラスタの中心集合Uから全てのクラスタの中心uを取り出したか否かを判定する(ステップS91)。全てのクラスタの中心uを取り出していないと判定した場合には(ステップS91;No)、クラスタリング部14Aは、次のクラスタの中心を取り出すべく、ステップS89に移行する。一方、全てのクラスタの中心uを取り出したと判定した場合には(ステップS91;Yes)、クラスタリング部14Aは、収束判定をすべく、ステップS82に移行する。 Then, the clustering unit 14A determines whether the centers u of all clusters have been extracted from the cluster center set U (step S91). When it is determined that the centers u of all the clusters have not been extracted (step S91; No), the clustering unit 14A proceeds to step S89 in order to extract the centers of the next clusters. On the other hand, when it is determined that the centers u of all the clusters have been extracted (step S91; Yes), the clustering unit 14A proceeds to step S82 to make a convergence determination.

そして、クラスタリング部14Aは、収束判定をすべく、ステップS82に移行する。ステップS82において、収束したと判定した場合には(ステップS82;Yes)、クラスタリング部14Aは、クラスタの中心集合Uを出力し(ステップS92)、クラスタリング処理を終了する。 Then, the clustering unit 14A proceeds to step S82 so as to make a convergence determination. When it is determined in step S82 that the values have converged (step S82; Yes), the clustering unit 14A outputs the central set U of clusters (step S92) and ends the clustering process.

[実施例2の効果]
上記実施例2によれば、情報処理装置1は、新たな代表点に含まれるデータ点の範囲を保持する。情報処理装置1は、新たな代表点の重み付けが、新たな代表点が含むデータ点の範囲を示すパラメータの2乗に反比例する値を超えた場合に、前記新たな代表点を異なるクラスタとなるように分割する。かかる構成によれば、情報処理装置1は、データ点の数値が所定値を超えた場合に、代表点を異なるクラスタとなるように分割することで、目的関数値が小さくなるようなクラスタリングを行うことができる。すなわち、情報処理装置1は、代表点を利用した場合であっても、精度を下げないで、クラスタリングを行うことができる。
[Effect of Embodiment 2]
According to the second embodiment, the information processing device 1 holds the range of data points included in the new representative point. When the weighting of the new representative point exceeds a value that is inversely proportional to the square of the parameter indicating the range of data points included in the new representative point, the information processing apparatus 1 sets the new representative point as a different cluster. To divide. According to such a configuration, the information processing apparatus 1 performs clustering such that the objective function value becomes small by dividing the representative points into different clusters when the numerical value of the data points exceeds a predetermined value. be able to. That is, the information processing device 1 can perform clustering without lowering the accuracy even when using the representative points.

また、上記実施例2によれば、情報処理装置1は、重み付け代表点を用いてクラスタリング処理を行う際に、同一のクラスタとして許容するクラスタ中心との距離の閾値を、代表点の重み付けの平方根に反比例した値とする。かかる構成によれば、情報処理装置1は、重み付けクラスタリングを行う場合に、同一のクラスタとして許容するクラスタ中心との距離の閾値を、重み付けを考慮した閾値にすることで、精度の良いクラスタリングを行うことができる。 Further, according to the second embodiment, the information processing apparatus 1 sets the threshold of the distance from the cluster center that is allowed as the same cluster when performing the clustering processing using the weighted representative points, as the square root of the weight of the representative points. The value is inversely proportional to. With this configuration, when performing the weighted clustering, the information processing apparatus 1 performs the clustering with high accuracy by setting the threshold value of the distance from the cluster center that is allowed as the same cluster in consideration of the weighting. be able to.

ところで、実施例2では、クラスタリング部14Aは、重み付きの代表点を入力として、目的関数を式(3)から式(18)に変えてバッチクラスタリング処理を実行すると説明した。すなわち、クラスタリング部14Aは、それぞれの代表点を最近傍のクラスタに割り振り、入力された重み付きの代表点と最近傍のクラスタの中心との距離がλ/√w以上ならば、新規クラスタを生成する。なお、wは入力された代表点の重み、λはクラスタの粒度を定めるパラメータである。しかしながら、クラスタリング部14Aは、これに限定されず、近くの2つの重み付きの代表点をクラスタリング(統合)しても良い。 By the way, in the second embodiment, the clustering unit 14A has been described as executing the batch clustering process by inputting the weighted representative points and changing the objective function from Expression (3) to Expression (18). That is, the clustering unit 14A allocates each representative point to the nearest cluster, and if the distance between the input weighted representative point and the center of the nearest cluster is λ/√w or more, a new cluster is generated. To do. Note that w is the weight of the input representative point, and λ is a parameter that determines the granularity of the cluster. However, the clustering unit 14A is not limited to this, and may cluster (integrate) two nearby weighted representative points.

そこで、実施例3では、重み付き代表点を用いたクラスタリングにおいて、近くにある重み付きの代表点をクラスタリング(統合)する場合を説明する。 Therefore, in a third embodiment, in clustering using weighted representative points, a case will be described in which nearby weighted representative points are clustered (integrated).

[実施例3に係る情報処理装置の構成]
図21は、実施例3に係る情報処理装置の構成を示す機能ブロック図である。なお、図15に示す情報処理装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例2と実施例3とが異なるところは、クラスタリング部14Aをクラスタリング部14Bに変更した点にある。実施例2と実施例3とが異なるところは、記憶部20にコスト関数表23、代表点/クラスタ対応表24およびクラスタ中心集合25を追加した点にある。
[Configuration of Information Processing Device According to Third Embodiment]
FIG. 21 is a functional block diagram of the configuration of the information processing apparatus according to the third embodiment. The same components as those of the information processing device 1 shown in FIG. 15 are designated by the same reference numerals, and the description of the overlapping components and operations will be omitted. The difference between the second embodiment and the third embodiment is that the clustering unit 14A is changed to the clustering unit 14B. The difference between the second embodiment and the third embodiment is that a cost function table 23, a representative point/cluster correspondence table 24, and a cluster center set 25 are added to the storage unit 20.

クラスタリング部14Bは、複数の代表点の中から2つの代表点を選択して統合する。例えば、クラスタリング部14Bは、複数の代表点の中からコスト関数を用いて2つの代表点を選択し、2つの代表点を統合する条件に合致する場合には、この2つの代表点を統合する。ここでいうコスト関数とは、2つの代表点を仮に統合した場合の改善幅を計算する関数である。なお、コスト関数および2つの代表点を統合する条件の詳細は、後述するものとする。また、2つの対象を選択して統合する処理は、Mergeアルゴリズムにより実現できる。Mergeアルゴリズムは、一例として、「J.Lee et al.,“Online video segmentation by Bayesian split-merge clustering”,In ECCV2012.」に記載の技術を用いることができる。 The clustering unit 14B selects and integrates two representative points from the plurality of representative points. For example, the clustering unit 14B selects two representative points from the plurality of representative points using the cost function, and integrates the two representative points when the condition for integrating the two representative points is met. . The cost function here is a function for calculating the improvement width when the two representative points are provisionally integrated. The details of the cost function and the condition for integrating the two representative points will be described later. Further, the process of selecting and integrating two objects can be realized by the Merge algorithm. As an example, the Merge algorithm can use the technique described in “J. Lee et al., “Online video segmentation by Bayesian split-merge clustering”, In ECCV 2012.”.

ここで、コスト関数表23のデータ構造を、図22を参照して説明する。図22は、実施例3に係るコスト関数表のデータ構造の一例を示す図である。図22に示すように、コスト関数表23は、2つの代表点IDに対するコスト関数値を記憶する。代表点IDは、代表点を識別するID(Identifier)である。一例として、「1」および「2」の2つの代表点IDに対するコスト関数値は、−0.5である。「1」および「3」の2つの代表点IDに対するコスト関数値は、0.3である。コスト関数値は、コスト関数の設計によるが、例えば、小さい程、改善幅が大きい。 Here, the data structure of the cost function table 23 will be described with reference to FIG. FIG. 22 is a diagram illustrating an example of the data structure of the cost function table according to the third embodiment. As shown in FIG. 22, the cost function table 23 stores cost function values for two representative point IDs. The representative point ID is an ID (Identifier) for identifying the representative point. As an example, the cost function value for two representative point IDs “1” and “2” is −0.5. The cost function value for the two representative point IDs “1” and “3” is 0.3. The cost function value depends on the design of the cost function. For example, the smaller the cost function value, the larger the improvement range.

代表点/クラスタ対応表24のデータ構造を、図23を参照して説明する。図23は、実施例3に係る代表点/クラスタ対応表のデータ構造の一例を示す図である。図23に示すように、代表点/クラスタ対応表24は、代表点IDおよびクラスタIDを対応付けて記憶する。代表点IDは、代表点を識別するIDである。クラスタIDは、クラスタを識別するIDである。一例として、代表点IDが「1」である場合に、クラスタIDとして「1」と記憶している。代表点IDが「2」である場合に、クラスタIDとして「1」と記憶している。すなわち、代表点IDが「1」と「2」のクラスタは、同一であることを示す。 The data structure of the representative point/cluster correspondence table 24 will be described with reference to FIG. FIG. 23 is a diagram illustrating an example of the data structure of the representative point/cluster correspondence table according to the third embodiment. As shown in FIG. 23, the representative point/cluster correspondence table 24 stores representative point IDs and cluster IDs in association with each other. The representative point ID is an ID for identifying the representative point. The cluster ID is an ID that identifies a cluster. As an example, when the representative point ID is “1”, “1” is stored as the cluster ID. When the representative point ID is "2", "1" is stored as the cluster ID. That is, the clusters having the representative point IDs “1” and “2” are the same.

クラスタ中心集合25のデータ構造を、図24を参照して説明する。図24は、実施例3に係るクラスタ中心集合のデータ構造の一例を示す図である。図24に示すように、クラスタ中心集合25は、クラスタIDおよびクラスタ中心を対応付けて記憶する。クラスタIDは、クラスタを識別するIDである。クラスタ中心は、クラスタの中心座標である。一例として、クラスタIDが「1」である場合に、クラスタ中心として(0.1,0.2,0.3,・・・)と記憶している。 The data structure of the cluster center set 25 will be described with reference to FIG. FIG. 24 is a diagram illustrating an example of the data structure of the cluster center set according to the third embodiment. As shown in FIG. 24, the cluster center set 25 stores cluster IDs and cluster centers in association with each other. The cluster ID is an ID that identifies a cluster. The cluster center is the center coordinate of the cluster. As an example, when the cluster ID is “1”, (0.1, 0.2, 0.3,...) Is stored as the center of the cluster.

[クラスタリング処理の流れの一例]
図25は、実施例3に係るクラスタリング処理の流れの一例を示す図である。なお、改善幅が大きければ大きい程、コスト関数の値は小さくなるように設計されているとする。
[One Example of Flow of Clustering Processing]
FIG. 25 is a diagram illustrating an example of the flow of clustering processing according to the third embodiment. It is assumed that the larger the improvement width, the smaller the value of the cost function.

図25左図に示すように、クラスタリング部14Bは、2つの代表点を仮に統合した場合のコスト関数の改善幅を計算する。一例として、クラスタリング部14Bは、代表点番号として「1」の代表点d11と「3」の代表点d13を選択し、選択した2つの代表点を統合した場合のコスト関数の改善幅を計算する。ここでは、代表点番号「1」の代表点d11および代表点番号「3」の代表点d13のコスト関数の値は、0.3である。クラスタリング部14Bは、代表点番号として「1」の代表点d11と「2」の代表点d12を選択し、選択した2つの代表点を統合した場合のコスト関数の改善幅を計算する。ここでは、代表点番号「1」の代表点d11および代表点番号「2」の代表点d12のコスト関数の値は、−0.5である。同様に、クラスタリング部14Bは、他の2つの代表点を仮に統合した場合のコスト関数の改善幅を計算する。 As shown in the left diagram of FIG. 25, the clustering unit 14B calculates the improvement width of the cost function when the two representative points are temporarily integrated. As an example, the clustering unit 14B selects the representative point d 11 of “1” and the representative point d 13 of “3” as the representative point numbers, and shows the improvement range of the cost function when the two selected representative points are integrated. calculate. Here, the value of the cost function of the representative point d 11 of the representative point number “1” and the representative point d 13 of the representative point number “3” is 0.3. Clustering unit 14B selects a representative point d 11 of "1" representative points d 12 of "2" as the representative point number, to calculate the improved width of the cost function in the case of integrating the two representative points selected. Here, the value of the cost function of the representative point d 11 of the representative point number “1” and the representative point d 12 of the representative point number “2” is −0.5. Similarly, the clustering unit 14B calculates the improvement width of the cost function when the other two representative points are temporarily integrated.

図25中図に示すように、クラスタリング部14Bは、コスト関数の改善幅が最大の2つの代表点を選択する。ここでは、コスト関数の改善幅が最大の2つの代表点は、代表点番号「1」の代表点d11および代表点番号「2」の代表点d12で示される2つの代表点である。 As shown in the middle diagram of FIG. 25, the clustering unit 14B selects two representative points with the largest improvement in the cost function. Here, the two representative points having the largest improvement in the cost function are the two representative points indicated by the representative point d 11 of the representative point number “1” and the representative point d 12 of the representative point number “2”.

図25右図に示すように、クラスタリング部14Bは、選択した2つの代表点が統合する条件に合致する場合には、この2つの代表点を統合する。ここでは、クラスタリング部14Bは、代表点番号「1」の代表点d11と代表点番号「2」の代表点d12を統合し、代表点番号「2」の代表点d12を代表点番号「1」の代表点d11に統合するとする。すると、クラスタリング部14Bは、代表点番号「1」の代表点d11を、2つの代表点の重み付き重心であってクラスタIDが「1」となる重み付き重心d11´に更新する。そして、クラスタリング部14Bは、統合を行った代表点d11´と、その他の代表点のコスト関数を再計算する。 As shown in the right diagram of FIG. 25, the clustering unit 14B integrates two selected representative points when the selected two representative points meet the integration condition. Here, the clustering section 14B integrates the representative point d 11 and the representative point representative point d 12 of number "2" of the representative point number "1", representative point number representative points d 12 of the representative point number "2" It is assumed that the representative point d 11 of “1” is integrated. Then, the clustering unit 14B is a representative point d 11 of the representative point number "1", a weighted center of gravity of the two representative points cluster ID is updated to "1" and the weighted center of gravity d 11 to be '. Then, the clustering unit 14B recalculates the integrated representative point d 11 ′ and the cost functions of the other representative points.

そして、クラスタリング部14Bは、再計算した結果を用いて、コスト関数の改善幅が最大の2つの代表点を選択し、選択した2つの代表点が統合条件を満たさなくなるまで、クラスタリング処理を継続する。 Then, the clustering unit 14B uses the recalculated result to select two representative points with the largest improvement in the cost function, and continues the clustering process until the selected two representative points do not satisfy the integration condition. ..

[代表点を統合する条件]
ここで、代表点を統合する条件を、図26を参照して説明する。図26は、実施例3に係る代表点を統合する条件を説明する図である。
[Conditions for integrating representative points]
Here, the conditions for integrating the representative points will be described with reference to FIG. FIG. 26 is a diagram illustrating conditions for integrating representative points according to the third embodiment.

図26に示すように、左図は、代表点を統合する前の状態であり、代表点が2個の場合である。右図は、代表点を統合した後の状態であり、代表点が1個の場合である。かかる場合に、代表点を統合する条件は、代表点を分割する条件と同様の議論により、目的関数の期待値について、代表点を統合した方が代表点を統合する前より小さくなることである。すなわち、2つの代表点を1個に統合した場合の目的関数の期待値が、2つの代表点そのままの目的関数の期待値より小さければ、2つの代表点を統合した方が良い。 As shown in FIG. 26, the left diagram shows a state before the representative points are integrated, and the case where there are two representative points. The right figure shows the state after the representative points are integrated, and the case where there is one representative point. In such a case, the condition for integrating the representative points is that the expected value of the objective function is smaller when the representative points are integrated than before the representative points are integrated, due to the same discussion as the condition for dividing the representative points. .. That is, if the expected value of the objective function when the two representative points are integrated into one is smaller than the expected value of the objective function of the two representative points as they are, it is better to integrate the two representative points.

なお、代表点が重み付きである場合には、目的関数の期待値は、式(18)により、代表点の重みと距離の期待値の積を用いて計算される。すなわち、2つの代表点を1点に統合した場合の目的関数の期待値は、2つの代表点の重みの和と、2つの代表点に含まれるデータ点および統合先の代表点の距離の期待値との積と、クラスタ粒度を定めるパラメータから計算される項とを用いて計算される。2つの代表点を1点に統合しない場合の目的関数の期待値は、一方の代表点(第1代表点)の重みおよび第1代表点に含まれるデータ点と第1代表点との距離の期待値の積と、他方の代表点(第2代表点)の重みおよび第2代表点に含まれるデータ点と第2代表点との距離の期待値の積との和と、クラスタ粒度を定めるパラメータから計算される項とを用いて計算される。 When the representative point is weighted, the expected value of the objective function is calculated by the formula (18) using the product of the weight of the representative point and the expected value of the distance. That is, the expected value of the objective function when the two representative points are integrated into one is the sum of the weights of the two representative points and the expectation of the distance between the data points included in the two representative points and the representative point of the integration destination. It is calculated using the product of the value and the term calculated from the parameters that define the cluster granularity. When the two representative points are not integrated into one point, the expected value of the objective function is the weight of one representative point (first representative point) and the distance between the data point included in the first representative point and the first representative point. The cluster granularity is determined by summing the product of the expected values, the weight of the other representative point (second representative point) and the product of the expected values of the distances between the data points included in the second representative point and the second representative point. And the term calculated from the parameters.

[コスト関数]
ここで、代表点が一様分布である場合のコスト関数は、例えば、以下の式(19)で表される。なお、CおよびCは、それぞれ代表点である。wは、Cの重みであり、wは、Cの重みである。dは、統合後の代表点(CおよびCの重み付き重心)とCとの距離であり、dは、統合後の代表点(CおよびCの重み付き重心)とCとの距離である。λは、クラスタの粒度を定めるパラメータである。
COST(C,C)=w×d +w×d −λ・・・(19)
[Cost function]
Here, the cost function when the representative points have a uniform distribution is represented by, for example, the following Expression (19). Note that C 1 and C 2 are representative points, respectively. w 1 is the weight of C 1 and w 2 is the weight of C 2 . d 1 is the distance between the representative point after integration (weighted center of gravity of C 1 and C 2 ) and C 1, and d 2 is the representative point after integration (weighted center of gravity of C 1 and C 2 ) It is the distance from C 2 . λ is a parameter that determines the granularity of the cluster.
S COST (C 1, C 2 ) = w 1 × d 1 2 + w 2 × d 2 2 -λ 2 ··· (19)

式(19)で表されるコスト関数の導出を、図27を参照して説明する。図27は、実施例3に係るコスト関数の導出の前提を示す図である。 Derivation of the cost function represented by Expression (19) will be described with reference to FIG. FIG. 27 is a diagram illustrating a premise for deriving the cost function according to the third embodiment.

図27に示すように、左図は、代表点を統合する前の状態であり、代表点が2個の場合である。Cは、重みをwとする代表点である。σ1nは、代表点Cのn次元での範囲である。Cは、重みをwとする代表点である。σ2nは、代表点Cのn次元での範囲である。このような前提の下、代表点Cに含まれるデータ点の誤差の期待値は、以下の式(20)で表される。なお、式(20)では、各次元の誤差項の期待値を加算している。
データ点の誤差の期待値k=(σ11 /12+・・・+σ1n /12+・・・)・・・(20)
As shown in FIG. 27, the left diagram shows a state before the representative points are integrated, and the case where there are two representative points. C 1 is a representative point having a weight of w 1 . σ 1n is an n-dimensional range of the representative point C 1 . C 2 is a representative point having a weight of w 2 . σ 2n is an n-dimensional range of the representative point C 2 . Under such a premise, the expected value of the error of the data point included in the representative point C 1 is represented by the following formula (20). In addition, in Expression (20), the expected values of the error terms of each dimension are added.
Expected value of data point error k 1 =(σ 11 2 /12+...+σ 1n 2 /12+...) (20)

同様に、代表点Cに含まれるデータ点の誤差の期待値は、以下の式(21)で表される。なお、式(21)では、各次元の誤差項の期待値を加算している。
データ点の誤差の期待値k=(σ21 /12+・・・+σ2n /12+・・・)・・・(21)
Similarly, the expected value of the error of the data point included in the representative point C 2 is expressed by the following equation (21). In addition, in the expression (21), the expected values of the error terms of each dimension are added.
Expected value of data point error k 2 =(σ 21 2 /12+...+σ 2n 2 /12+...) (21)

右図は、代表点を統合した後の状態であり、代表点が1個の場合である。CおよびCは、左図と同様である。σ’1nは、n次元の統合後の代表点と代表点Cとの間の範囲であり、dは、統合後の代表点とCとの距離である。σ’2nは、n次元の統合後の代表点と代表点Cとの間の範囲であり、dは、統合後の代表点とCとの距離である。このような前提の下、代表点Cに含まれるデータ点のある次元nの誤差の期待値は、以下の式(22)で表される。

Figure 0006707946
The right figure shows the state after the representative points are integrated, and the case where there is one representative point. C 1 and C 2 are the same as in the left figure. σ′ 1n is a range between the representative point after the n-dimensional integration and the representative point C 1 , and d 1 is the distance between the representative point after the integration and C 1 . σ′ 2n is the range between the representative point and the representative point C 2 after the n-dimensional integration, and d 2 is the distance between the representative point and the C 2 after the integration. Under such a premise, the expected value of the error of the dimension n with the data point included in the representative point C 1 is represented by the following formula (22).
Figure 0006707946

したがって、代表点Cに含まれるデータ点の誤差の期待値は、以下の式(23)で表される。なお、式(23)では、各次元の誤差項の期待値を加算している。
データ点の誤差の期待値g=(σ‘11 +・・・+σ‘1n +・・・)+(σ11 /12+・・・+σ1n /12+・・・)・・・(23)
なお、(σ‘11 +・・・+σ‘1n +・・・)は、統合後の代表点とCとの距離を示すd に対応する。
Therefore, the expected value of the error of the data point included in the representative point C 1 is expressed by the following equation (23). Note that in the equation (23), the expected values of the error terms of each dimension are added.
Expected value of the error data points g 1 = (σ '11 2 + ··· + σ' 1n 2 + ···) + (σ 11 2/12 + ··· + σ 1n 2/12 + ···) ··· (23)
Incidentally, (σ '11 2 + ··· + σ' 1n 2 + ···) correspond to d 1 2 illustrating the distance between the representative point and C 1 after integration.

同様に、代表点Cに含まれるデータ点の誤差の期待値は、以下の式(24)で表される。なお、式(24)では、各次元の誤差項の期待値を加算している。
データ点の誤差の期待値g=(σ‘21 +・・・+σ‘2n +・・・)+(σ21 /12+・・・+σ2n /12+・・・)・・・(24)
なお、(σ‘21 +・・・+σ‘2n +・・・)は、統合後の代表点とCとの距離を示すd に対応する。
Similarly, the expected value of the error of the data point included in the representative point C 2 is expressed by the following equation (24). Note that in the equation (24), the expected values of the error terms of each dimension are added.
Expected value of the error data points g 2 = (σ '21 2 + ··· + σ' 2n 2 + ···) + (σ 21 2/12 + ··· + σ 2n 2/12 + ···) ··· (24)
Note that (σ′ 21 2 +... +σ′ 2n 2 +...) Corresponds to d 2 2 indicating the distance between the representative point after integration and C 2 .

代表点が1点の場合の目的関数の期待値Mは、式(23)および式(24)を式(18)で示した重み付きの代表点の場合の目的関数に代入すると、式(25)で表される。
=w×g+w×g+λ={d +(σ11 /12+・・・+σ1n /12+・・・)}+w×{d +(σ21 /12+・・・+σ2n /12+・・・)}+λ・・・(25)
The expected value M 1 of the objective function when the number of the representative points is 1 is obtained by substituting the equations (23) and (24) into the objective function for the weighted representative point shown in the equation (18). 25).
M 1 =w 1 ×g 1 +w 2 ×g 22 ={d 1 2 +(σ 11 2 /12+...+σ 1n 2 /12+...)}+w 2 ×{d 2 2 +(σ 21 2/12 + ··· + σ 2n 2/12 + ···)} + λ 2 ··· (25)

代表点が2点の場合の目的関数の期待値Mは、式(20)および式(21)を式(18)で示した重み付きの代表点の場合の目的関数に代入すると、式(26)で表される。
=w×k+w×k+2λ=w×(σ11 /12+・・・+σ1n /12+・・・)}+w×(σ21 /12+・・・+σ2n /12+・・・)+2λ・・・(26)
The expected value M 2 of the objective function when the number of representative points is 2 can be obtained by substituting Equation (20) and Equation (21) into the objective function for the weighted representative point shown in Equation (18). 26).
M 2 = w 1 × k 1 + w 2 × k 2 + 2λ 2 = w 1 × (σ 11 2/12 + ··· + σ 1n 2/12 + ···)} + w 2 × (σ 21 2/12 + ··· +σ 2n 2 /12+...) +2λ 2 ... (26)

コスト関数SCOST(C,C)は、代表点が1点の場合の目的関数の期待値M式(25)から代表点が2点の場合の目的関数の期待値M式(26)を減じて得られる式であるから、式(19)で表すことができる。すなわち、コスト関数SCOST(C,C)が0以下であれば、2つの代表点CおよびCを統合した方が良い。 The cost function S COST (C 1 , C 2 ) is calculated from the expected value M 1 of the objective function when the number of representative points is 1 (25) to the expected value M 2 of the objective function when the number of representative points is 2 ( Since it is a formula obtained by subtracting 26), it can be expressed by formula (19). That is, if the cost function S COST (C 1 , C 2 ) is 0 or less, it is better to integrate the two representative points C 1 and C 2 .

なお、データ点の誤差の期待値は、統合後の代表点と代表点Kとの距離dを用いて計算すると説明した。データ点の誤差の期待値は、これに限定されず、統合前の代表点の情報を記憶しておき、代表点Kおよび統合前の代表点の距離と代表点Kおよび統合後の代表点の距離との誤差を計算するようにしても良い。このようなデータ点の誤差の期待値を用いる場合のコスト関数SCOST(C,C)は、以下の式(27)で表される。なお、dold,Kは、代表点Kと統合前の代表点(クラスタ中心)との距離を示し、dnew,Kは、代表点Kと統合後の代表点(クラスタ中心)との距離を示す。

Figure 0006707946
Note that it has been described that the expected value of the error of the data point is calculated using the distance d between the representative point after integration and the representative point K. The expected value of the error of the data point is not limited to this, and the information of the representative point before integration is stored, and the distance between the representative point K and the representative point before integration and the representative point K and the representative point after integration are stored. An error with the distance may be calculated. Such cost function in the case of using the expected value of the error data points S COST (C 1, C 2 ) is expressed by the following equation (27). It should be noted that d old,K indicates the distance between the representative point K and the representative point before integration (cluster center), and d new,K indicates the distance between the representative point K and representative point after integration (cluster center). Show.
Figure 0006707946

これにより、データ点の誤差の期待値として、統合された場合の統合前後の代表点の情報を利用することにより、統合前の代表点が失われることにより誤差が蓄積してしまうことを防止できる。 As a result, by using the information of the representative points before and after the integration when the data is integrated as the expected value of the error of the data points, it is possible to prevent the error from accumulating due to the loss of the representative points before the integration. ..

[クラスタリング処理のフローチャート]
図28は、実施例3に係るクラスタリング処理のフローチャートを示す図である。なお、図28では、Mergeアルゴリズムを適用し、クラスタの追加を判定する際に用いる距離関数としてユークリッド距離を用いた場合について説明する。クラスタリング部14Bは、入力パラメータとして、代表点群X、代表点の重みwおよび最大許容クラスタ径λを取得する。最大許容クラスタ径は、クラスタの粒度を定めるパラメータに対応する。
[Flowchart of clustering process]
FIG. 28 is a diagram illustrating a flowchart of the clustering process according to the third embodiment. Note that FIG. 28 illustrates a case where the Merge algorithm is applied and the Euclidean distance is used as the distance function used when determining addition of a cluster. The clustering unit 14B acquires the representative point group X, the representative point weight w, and the maximum allowable cluster diameter λ as input parameters. The maximum allowable cluster diameter corresponds to a parameter that defines the cluster grain size.

クラスタリング部14Bは、代表点x,xを統合した場合のコスト関数値SCOSTを計算し、計算した結果をコスト関数表23に代入する(ステップS101)。なお、i,jは、代表点ID(代表点番号)である。クラスタリング部14Bは、クラスタの中心集合Uに代表点群Xを代入する(ステップS102)。そして、クラスタリング部14Bは、代表点/クラスタ対応表24の各クラスタIDの値を代表点IDで初期化する(ステップS103)。 The clustering unit 14B calculates the cost function value S COST when the representative points x i and x j are integrated, and substitutes the calculated result into the cost function table 23 (step S101). Note that i and j are representative point IDs (representative point numbers). The clustering unit 14B substitutes the representative point group X into the center set U of the cluster (step S102). Then, the clustering unit 14B initializes the value of each cluster ID in the representative point/cluster correspondence table 24 with the representative point ID (step S103).

続いて、クラスタリング部14Bは、コスト関数表23からコスト関数が最小となる時の代表点IDのペア(i,j)を取得する(ステップS104)。クラスタリング部14Bは、コスト関数値(i,j)が0以上であるか否かを判定する(ステップS105)。コスト関数値(i,j)が0以上であると判定した場合には(ステップS105;Yes)、クラスタリング部14Bは、ステップS110に移行する。 Subsequently, the clustering unit 14B acquires the pair (i, j) of the representative point IDs when the cost function becomes the minimum from the cost function table 23 (step S104). The clustering unit 14B determines whether the cost function value (i, j) is 0 or more (step S105). When it is determined that the cost function value (i, j) is 0 or more (step S105; Yes), the clustering unit 14B proceeds to step S110.

一方、コスト関数値(i,j)が0未満であると判定した場合には(ステップS105;No)、クラスタリング部14Bは、代表点/クラスタ対応表24の中で、代表点IDが「j」であるクラスタIDを「i」に変更する(ステップS106)。なお、クラスタリング部14Bは、代表点IDが「i」であるクラスタIDを「j」に変更しても良い。 On the other hand, when determining that the cost function value (i, j) is less than 0 (step S105; No), the clustering unit 14B determines that the representative point ID is “j” in the representative point/cluster correspondence table 24. The cluster ID that is "" is changed to "i" (step S106). The clustering unit 14B may change the cluster ID whose representative point ID is "i" to "j".

そして、クラスタリング部14Bは、クラスタ中心集合25の中のクラスタIDが「i」となるクラスタの重心を、代表点/クラスタ対応表24でクラスタIDが「i」となる代表点の重み付き重心に更新する(ステップS107)。クラスタリング部14Bは、クラスタ中心集合25の中のクラスタIDが「j」となるクラスタ(代表点)を削除する(ステップS108)。 Then, the clustering unit 14B sets the centroid of the cluster having the cluster ID “i” in the cluster center set 25 as the weighted centroid of the representative points having the cluster ID “i” in the representative point/cluster correspondence table 24. Update (step S107). The clustering unit 14B deletes the cluster (representative point) whose cluster ID is "j" in the cluster center set 25 (step S108).

そして、クラスタリング部14Bは、更新されたクラスタ情報からコスト関数値SCOSTを再計算し、コスト関数表23の値を更新する(ステップS109)。そして、クラスタリング部14Bは、ステップS104に移行する。 Then, the clustering unit 14B recalculates the cost function value S COST from the updated cluster information, and updates the value of the cost function table 23 (step S109). Then, the clustering unit 14B moves to step S104.

ステップS110において、クラスタリング部14Bは、クラスタ中心集合25を出力する(ステップS110)。そして、クラスタリング部14Bは、クラスタリング処理を終了する。 In step S110, the clustering unit 14B outputs the cluster center set 25 (step S110). Then, the clustering unit 14B ends the clustering process.

[実施例3の効果]
上記実施例3によれば、情報処理装置1は、代表点を用いてクラスタリング処理を行う際に、2つの代表点を選択し、2つの代表点を1点に統合した場合の目的関数の期待値が、2つの代表点を1点に統合しない場合の目的関数の期待値より小さくなる場合に、2つの代表点を1点に統合する。かかる構成によれば、情報処理装置1は、代表点を利用した場合であっても、精度を下げないで、クラスタリングを行うことができる。
[Effect of Example 3]
According to the third embodiment, the information processing apparatus 1 selects two representative points when performing the clustering process using the representative points, and expects the objective function when the two representative points are integrated into one point. When the value is smaller than the expected value of the objective function when the two representative points are not integrated into one point, the two representative points are integrated into one point. With such a configuration, the information processing device 1 can perform clustering without lowering the accuracy even when using the representative points.

ところで、実施例3では、クラスタリング部14Bは、2つの代表点が統合する条件に合致する場合には、この2つの代表点を統合し、統合先の代表点を2つの代表点の重み付き重心に更新する。しかしながら、クラスタリング部14Bは、これに限定されず、2つの代表点が統合する条件に合致する場合には、統合先の代表点をどちらか一方の代表点に更新しても良い。 By the way, in the third embodiment, the clustering unit 14B integrates the two representative points, when the two representative points meet the condition of integration, and sets the integration-destination representative point to the weighted center of gravity of the two representative points. To update. However, the clustering unit 14B is not limited to this, and may update the integration-destination representative point to either one of the representative points when the two representative points meet the integration condition.

そこで、実施例4に係るクラスタリング部14Bは、2つの代表点が統合する条件に合致する場合には、この2つの代表点を統合し、統合先の代表点をどちらか一方の代表点に更新する場合を説明する。 Therefore, the clustering unit 14B according to the fourth embodiment integrates these two representative points and updates the representative point of the integration destination to either one of the representative points when the two representative points meet the condition of integration. A case will be described.

[実施例4に係る情報処理装置の構成]
実施例4に係る情報処理装置1の構成は、実施例3に係る情報処理装置1と同一の構成であるので、同一符号を示すことで、その重複する構成の説明については省略する。
[Configuration of Information Processing Device According to Fourth Embodiment]
Since the configuration of the information processing device 1 according to the fourth embodiment is the same as that of the information processing device 1 according to the third embodiment, the same reference numerals are used and the description of the overlapping configuration is omitted.

[クラスタリング処理の概要]
図29は、実施例4に係るクラスタリング処理の概要を示す図である。図29に示すように、クラスタリング部14Bは、2つの代表点を統合する際、2つの代表点の重心に統合するのではなく、2つの代表点のうちどちらか一方の代表点に統合する。ここでは、クラスタリング部14Bは、代表点d21および代表点d22を統合する場合に、代表点d21,d22のうち代表点d21に統合する。これにより、クラスタリング部14Bは、統合を行っても、統合先の代表点は動かないので、統合により代表点の座標が移動してしまい本来統合されるべき代表点が統合されないという問題を生じない。すなわち、クラスタリング部14Bは、統合操作で代表点が移動すると、仮に移動しなければ統合条件が満たされていたところ、移動することにより満たされなくなるという問題が生じない。
[Overview of clustering process]
FIG. 29 is a diagram illustrating an outline of the clustering process according to the fourth embodiment. As shown in FIG. 29, when the two representative points are integrated, the clustering unit 14B does not integrate them into the center of gravity of the two representative points, but integrates into one of the two representative points. Here, the clustering section 14B, when integrating the representative point d 21 and the representative point d 22, integrated into the representative point d 21 of the representative point d 21, d 22. As a result, the clustering unit 14B does not move the representative point of the integration destination even if the integration is performed, so that there is no problem that the coordinates of the representative points move due to the integration and the representative points that should be originally integrated are not integrated. .. That is, when the representative point moves in the integration operation, the clustering unit 14B does not have the problem that the integration condition is satisfied if it is not moved, but the moving point is not satisfied.

[クラスタリング処理の流れの一例]
図30は、実施例4に係るクラスタリング処理の流れの一例を示す図である。なお、改善幅が大きければ大きい程、コスト関数の値は小さくなるように設計されているとする。
[One Example of Flow of Clustering Processing]
FIG. 30 is a diagram illustrating an example of the flow of clustering processing according to the fourth embodiment. It is assumed that the larger the improvement width, the smaller the value of the cost function.

図30上段左図に示すように、クラスタリング部14Bは、2つの代表点を仮に統合した場合のコスト関数の改善幅を計算する。一例として、クラスタリング部14Bは、代表点番号として「1」の代表点d11と「3」の代表点d13を選択し、選択した2つの代表点を統合した場合のコスト関数の改善幅を計算する。ここでは、代表点番号「1」の代表点d11および代表点番号「3」の代表点d13のコスト関数の値は、0.3である。クラスタリング部14Bは、代表点番号として「1」の代表点d11と「2」の代表点d12を選択し、選択した2つの代表点を統合した場合のコスト関数の改善幅を計算する。ここでは、代表点番号「1」の代表点d11および代表点番号「2」の代表点d12のコスト関数の値は、−0.5である。同様に、クラスタリング部14Bは、他の2つの代表点を仮に統合した場合のコスト関数の改善幅を計算する。 As shown in the upper left diagram of FIG. 30, the clustering unit 14B calculates the improvement width of the cost function when the two representative points are provisionally integrated. As an example, the clustering unit 14B selects the representative point d 11 of “1” and the representative point d 13 of “3” as the representative point numbers, and shows the improvement range of the cost function when the two selected representative points are integrated. calculate. Here, the value of the cost function of the representative point d 11 of the representative point number “1” and the representative point d 13 of the representative point number “3” is 0.3. Clustering unit 14B selects a representative point d 11 of "1" representative points d 12 of "2" as the representative point number, to calculate the improved width of the cost function in the case of integrating the two representative points selected. Here, the value of the cost function of the representative point d 11 of the representative point number “1” and the representative point d 12 of the representative point number “2” is −0.5. Similarly, the clustering unit 14B calculates the improvement width of the cost function when the other two representative points are temporarily integrated.

図30上段中図に示すように、クラスタリング部14Bは、コスト関数の改善幅が最大の2つの代表点を選択する。ここでは、コスト関数の改善幅が最大の2つの代表点は、代表点番号「1」の代表点d11および代表点番号「2」の代表点d12で示される2つの代表点である。 As shown in the middle diagram in the upper part of FIG. 30, the clustering unit 14B selects two representative points with the largest improvement in the cost function. Here, the two representative points having the largest improvement in the cost function are the two representative points indicated by the representative point d 11 of the representative point number “1” and the representative point d 12 of the representative point number “2”.

図30上段右図に示すように、クラスタリング部14Bは、選択した2つの代表点が統合する条件に合致する場合には、この2つの代表点を統合する。ここでは、クラスタリング部14Bは、代表点番号「1」の代表点d11および代表点番号「2」の代表点d12を統合し、代表点番号「2」の代表点d12を代表点番号「1」の代表点d11に統合するとする。すると、クラスタリング部14Bは、コスト関数表23において、統合により消滅する代表点番号「2」の代表点をどちらか一方とするコスト関数の値だけを更新する。ここでは、コスト関数表23で、代表点番号「2」の代表点をどちらか一方とするコスト関数の値が「∞」に更新される。すなわち、クラスタリング部14Bは、このタイミングで、代表点番号「1」の代表点d11を、2つの代表点の重み付き重心であってクラスタIDが「1」となる重み付き重心に更新しない。そして、クラスタリング部14Bは、さらに、コスト関数の改善幅が最大の2つの代表点を選択し、選択した2つの代表点が統合条件に満たさなくなるまで、クラスタリング処理を継続する。 As shown in the upper right diagram of FIG. 30, the clustering unit 14B integrates two selected representative points when the selected two representative points meet the integration condition. Here, the clustering unit 14B integrates the representative point d 11 having the representative point number “1” and the representative point d 12 having the representative point number “2”, and the representative point d 12 having the representative point number “2” is used as the representative point number. It is assumed that the representative point d 11 of “1” is integrated. Then, the clustering unit 14B updates, in the cost function table 23, only the value of the cost function having one of the representative points of the representative point number “2” that disappears due to the integration. Here, in the cost function table 23, the value of the cost function having one of the representative points with the representative point number “2” is updated to “∞”. That is, the clustering section 14B is in this timing, the representative point d 11 of the representative point number "1", a weighted center of gravity of the two representative points cluster ID does not update the weighted centroid becomes "1". Then, the clustering unit 14B further selects two representative points with the largest improvement in the cost function, and continues the clustering process until the selected two representative points do not satisfy the integration condition.

図30下段左図に示すように、クラスタリング部14Bは、統合が1回でも起こった場合には、同一の代表点に統合された代表点の重み付き重心を新しい代表点の座標として採用する。ここでは、クラスタリング部14Bは、同一の代表点に統合された、代表点番号「1」の代表点d11の重み付き重心を、クラスタIDが「1」となる座標gに更新する。 As shown in the lower left diagram in FIG. 30, the clustering unit 14B adopts the weighted center of gravity of representative points integrated into the same representative point as the coordinates of a new representative point, even if the integration occurs even once. Here, the clustering unit 14B updates the weighted center of gravity of the representative point d 11 of the representative point number “1” integrated into the same representative point to the coordinate g 0 at which the cluster ID is “1”.

[コスト関数]
ここで、実施例4に係る、代表点が一様分布である場合のコスト関数は、例えば、以下の式(28)で表される。なお、CおよびCは、それぞれ代表点である。wは、Cの重みであり、wは、Cの重みである。dは、代表点Cと代表点Cとの距離である。λは、クラスタの粒度を定めるパラメータである。
mCOST(C,C)=w×d−λ・・・(28)
[Cost function]
Here, the cost function when the representative points have a uniform distribution according to the fourth embodiment is represented by, for example, the following Expression (28). Note that C 1 and C 2 are representative points, respectively. w 1 is the weight of C 1 and w 2 is the weight of C 2 . d is the distance between the representative point C 1 and the representative point C 2 . λ is a parameter that determines the granularity of the cluster.
S mCOST (C 1 , C 2 )=w 2 ×d 2 −λ 2 (28)

式(28)で表されるコスト関数の導出を、図31を参照して説明する。図31は、実施例4に係るコスト関数の導出の前提を示す図である。 Derivation of the cost function represented by Expression (28) will be described with reference to FIG. FIG. 31 is a diagram illustrating a premise for deriving the cost function according to the fourth embodiment.

図31に示すように、左図は、代表点を統合する前の状態であり、代表点が2個の場合である。Cは、重みをwとする代表点である。σ1nは、代表点Cのn次元での範囲である。Cは、重みをwとする代表点である。σ2nは、代表点Cのn次元での範囲である。このような前提の下、代表点Cに含まれるデータ点の誤差の期待値は、式(20)と同様である。同様に、代表点Cに含まれるデータ点の誤差の期待値は、式(21)と同様である。 As shown in FIG. 31, the left diagram shows a state before the representative points are integrated, and the case where there are two representative points. C 1 is a representative point having a weight of w 1 . σ 1n is an n-dimensional range of the representative point C 1 . C 2 is a representative point having a weight of w 2 . σ 2n is an n-dimensional range of the representative point C 2 . Under such a premise, the expected value of the error of the data point included in the representative point C 1 is the same as in Expression (20). Similarly, the expected value of the error of the data point included in the representative point C 2 is the same as that in Expression (21).

右図は、代表点を統合した後の状態であり、代表点が1個の場合である。CおよびCは、左図と同様である。σ’は、n次元における代表点Cと代表点Cとの間の範囲であり、dは、代表点Cと代表点Cとの距離である。このような前提の下、代表点Cに含まれるデータ点のある次元nの誤差の期待値は、以下の式(29)で表される。

Figure 0006707946
The right figure shows the state after the representative points are integrated, and the case where there is one representative point. C 1 and C 2 are the same as in the left figure. σ′ n is the range between the representative point C 1 and the representative point C 2 in the n-dimensional dimension, and d is the distance between the representative point C 1 and the representative point C 2 . Under such a premise, the expected value of the error of the dimension n having the data point included in the representative point C 2 is represented by the following formula (29).
Figure 0006707946

したがって、代表点Cに含まれるデータ点の誤差の期待値は、以下の式(30)で表される。なお、式(30)では、各次元の誤差項の期待値を加算している。
データ点の誤差の期待値g=(σ‘ +・・・+σ‘ +・・・)+(σ21 /12+・・・+σ2n /12+・・・)・・・(30)
なお、(σ‘ +・・・+σ‘ +・・・)は、代表点Cと代表点Cとの距離を示すdに対応する。
Therefore, the expected value of the error of the data point included in the representative point C 2 is represented by the following formula (30). In addition, in the expression (30), the expected values of the error terms of each dimension are added.
Expected value of the error data points g 3 = (σ '1 2 + ··· + σ' n 2 + ···) + (σ 21 2/12 + ··· + σ 2n 2/12 + ···) ··· (30)
It should be noted that (σ′ 1 2 +... +σ′ n 2 +...) Corresponds to d 2 indicating the distance between the representative point C 1 and the representative point C 2 .

代表点Cに含まれるデータ点の誤差の期待値は、式(20)と同様である。 The expected value of the error of the data point included in the representative point C 1 is the same as that in Expression (20).

代表点が1点の場合の目的関数の期待値Mは、式(30)および式(20)を式(18)で示した重み付きの代表点の場合の目的関数に代入すると、式(31)で表される。
=w×k+w×g=w×(σ11 /12+・・・+σ1n /12+・・・)}+w×{d+(σ21 /12+・・・+σ2n /12+・・・)}+λ・・・(31)
The expected value M 3 of the objective function when the number of the representative points is 1 is obtained by substituting the equation (30) and the equation (20) into the objective function for the weighted representative point shown in the equation (18). 31).
M 3 =w 1 ×k 1 +w 2 ×g 3 =w 1 ×(σ 11 2 /12+...+σ 1n 2 /12+...)}+w 2 ×{d 2 +(σ 21 2 /12+・) ·· + σ 2n 2/12 + ···)} + λ 2 ··· (31)

代表点が2点の場合の目的関数の期待値は、式(26)で表わされるMと同様である。 The expected value of the objective function when the number of representative points is 2 is the same as that of M 2 represented by the equation (26).

コスト関数SmCOST(C,C)は、代表点が1点の場合の目的関数の期待値M(式(31)から代表点が2点の場合の目的関数の期待値M式(26)を減じて得られる式であるから、式(28)で表すことができる。すなわち、コスト関数SmCOST(C,C)が0以下であれば、2つの代表点CおよびCを統合した方がよい。 The cost function S mCOST (C 1 , C 2 ) is the expected value M 3 of the objective function when the number of representative points is 1 (from the equation (31), the expected value M 2 of the objective function when the number of representative points is 2) Since it is an expression obtained by subtracting (26), it can be expressed by Expression (28), that is, if the cost function S mCOST (C 1 , C 2 ) is 0 or less, two representative points C 1 and It is better to integrate C 2 .

[クラスタリング処理のフローチャート]
図32は、実施例4に係るクラスタリング処理のフローチャートを示す図である。なお、図32では、Mergeアルゴリズムを適用し、クラスタの追加を判定する際に用いる距離関数としてユークリッド距離を用いた場合について説明する。クラスタリング部14Bは、入力パラメータとして、代表点群X、代表点の重みwおよび最大許容クラスタ径λを取得する。最大許容クラスタ径は、クラスタの粒度を定めるパラメータに対応する。
[Flowchart of clustering process]
FIG. 32 is a diagram illustrating a flowchart of the clustering process according to the fourth embodiment. Note that, in FIG. 32, a case will be described in which the Merge algorithm is applied and the Euclidean distance is used as the distance function used when determining addition of a cluster. The clustering unit 14B acquires the representative point group X, the representative point weight w, and the maximum allowable cluster diameter λ as input parameters. The maximum allowable cluster diameter corresponds to a parameter that defines the cluster grain size.

クラスタリング部14Bは、代表点x,xを統合した場合のコスト関数値SmCOSTを計算し、計算した結果をコスト関数表23に代入する(ステップS121)。なお、i,jは、代表点ID(代表点番号)である。クラスタリング部14Bは、クラスタの中心集合Uに代表点群Xを代入する(ステップS122)。そして、クラスタリング部14Bは、代表点/クラスタ対応表24の各クラスタIDの値を代表点IDで初期化する(ステップS123)。 The clustering unit 14B calculates the cost function value S mCOST when the representative points x i and x j are integrated, and substitutes the calculated result into the cost function table 23 (step S121). Note that i and j are representative point IDs (representative point numbers). The clustering unit 14B substitutes the representative point group X into the center set U of the cluster (step S122). Then, the clustering unit 14B initializes the value of each cluster ID in the representative point/cluster correspondence table 24 with the representative point ID (step S123).

続いて、クラスタリング部14Bは、コスト関数表23からコスト関数が最小となる時の代表点IDのペア(i,j)を取得する(ステップS124)。クラスタリング部14Bは、コスト関数値(i,j)が0以上であるか否かを判定する(ステップS125)。コスト関数値(i,j)が0以上であると判定した場合には(ステップS125;Yes)、クラスタリング部14Bは、ステップS129に移行する。 Subsequently, the clustering unit 14B acquires the pair (i, j) of the representative point IDs when the cost function becomes the minimum from the cost function table 23 (step S124). The clustering unit 14B determines whether the cost function value (i, j) is 0 or more (step S125). When it is determined that the cost function value (i, j) is 0 or more (step S125; Yes), the clustering unit 14B proceeds to step S129.

一方、コスト関数値(i,j)が0未満であると判定した場合には(ステップS125;No)、クラスタリング部14Bは、代表点/クラスタ対応表24の中で、代表点IDが「j」であるクラスタIDを「i」に変更する(ステップS126)。なお、クラスタリング部14Bは、代表点IDが「i」であるクラスタIDを「j」に変更しても良い。 On the other hand, when it is determined that the cost function value (i, j) is less than 0 (step S125; No), the clustering unit 14B determines that the representative point ID is “j” in the representative point/cluster correspondence table 24. The cluster ID which is "" is changed to "i" (step S126). The clustering unit 14B may change the cluster ID whose representative point ID is "i" to "j".

そして、クラスタリング部14Bは、クラスタ中心集合25の中のクラスタIDが「j」となるクラスタを削除する(ステップS127)。クラスタリング部14Bは、コスト関数表23で添字の何れかに「j」が含まれるものの値を「∞」に更新する(ステップS128)。そして、クラスタリング14Bは、ステップS124に移行する。 Then, the clustering unit 14B deletes the cluster having the cluster ID “j” in the cluster center set 25 (step S127). The clustering unit 14B updates the value of the cost function table 23 whose subscript includes "j" to "∞" (step S128). Then, the clustering 14B moves to step S124.

ステップS129において、クラスタリング部14Bは、統合が1回以上起こったか否かを判定する(ステップS129)。統合が1回以上起こったと判定した場合には(ステップS129;Yes)、クラスタリング部14Bは、統合が起こった代表点に対応するクラスタについて、以下の処理を行う。すなわち、クラスタリング部14Bは、クラスタ中心集合25の中のクラスタ中心を、代表点/クラスタ対応表24でそのクラスタに割振られた代表点の重み付き重心に更新する(ステップS130)。 In step S129, the clustering unit 14B determines whether the integration has occurred once or more (step S129). When it is determined that the integration has occurred once or more (step S129; Yes), the clustering unit 14B performs the following process on the cluster corresponding to the representative point where the integration has occurred. That is, the clustering unit 14B updates the cluster centers in the cluster center set 25 to the weighted center of gravity of the representative points assigned to the cluster in the representative point/cluster correspondence table 24 (step S130).

そして、クラスタリング部14Bは、更新されたクラスタ情報からコスト関数値SmCOSTを再計算し、コスト関数表23の値を更新する(ステップS131)。そして、クラスタリング部14Bは、ステップS124に移行する。 Then, the clustering unit 14B recalculates the cost function value S mCOST from the updated cluster information, and updates the values in the cost function table 23 (step S131). Then, the clustering unit 14B moves to step S124.

一方、統合が1回以上起こらなかったと判定した場合には(ステップS129;No)、クラスタリング部14Bは、クラスタリング部14Bは、クラスタ中心集合25を出力する(ステップS132)。そして、クラスタリング部14Bは、クラスタリング処理を終了する。 On the other hand, when it is determined that the integration has not occurred once or more (step S129; No), the clustering unit 14B outputs the cluster center set 25 (step S132). Then, the clustering unit 14B ends the clustering process.

[実施例4の効果]
上記実施例4によれば、情報処理装置1は、2つの代表点のうちいずれかの代表点を統合先の代表点として選択し、さらに、統合操作が終了すると、統合先の代表点の情報を用いて、統合先の代表点の座標を再計算する。かかる構成によれば、情報処理装置1は、統合操作が終了するまで、統合先の代表点の座標を移動しない。この結果、情報処理装置1は、統合操作で代表点の座標を移動してしまうと、本来統合されたであろう代表点が統合されなくなることを防止できる。また、情報処理装置1は、代表点を利用した場合であっても、精度を下げないで、クラスタリングを行うことができる。
[Effect of Embodiment 4]
According to the fourth embodiment, the information processing apparatus 1 selects one of the two representative points as the representative point of the integration destination, and further, when the integration operation ends, the information of the representative point of the integration destination. Is used to recalculate the coordinates of the representative point of the integration destination. According to this configuration, the information processing device 1 does not move the coordinates of the representative point of the integration destination until the integration operation ends. As a result, the information processing apparatus 1 can prevent the representative points that should have been originally integrated from being unintegrated if the coordinates of the representative points are moved by the integration operation. Further, the information processing device 1 can perform clustering without lowering the accuracy even when using the representative points.

ここで、実施例3〜4で説明したそれぞれのクラスタリング処理により最適化される目的関数の値は、実験により、以下のように計算される。まず、DP−means法によるクラスタリング処理により最適化される目的関数の値は、7.33×1011であり、計算時間は、321.1219秒である。実施例3に係るクラスタリング処理により最適化される目的関数の値は、3.32×1011であり、計算時間は、435.4864秒である。実施例4に係るクラスタリング処理により最適化される目的関数の値は、3.24×1011であり、計算時間は、434.2837秒である。 Here, the value of the objective function optimized by each clustering process described in Examples 3 to 4 is calculated as follows by an experiment. First, the value of the objective function optimized by the clustering process by the DP-means method is 7.33×10 11 , and the calculation time is 321.1219 seconds. The value of the objective function optimized by the clustering process according to the third embodiment is 3.32×10 11 , and the calculation time is 435.4864 seconds. The value of the objective function optimized by the clustering process according to the fourth embodiment is 3.24×10 11 , and the calculation time is 434.2837 seconds.

これにより、実施例3および実施例4のクラスタリング処理により最適化される目的関数の値が、他の方法と比べて小さくなる。すなわち、Mergeアルゴリズムを利用した統合操作を行った場合の方が小さい目的関数が得られる。つまり、Mergeアルゴリズムを利用した統合操作を行った場合の方が目的関数の値が改善される。 As a result, the value of the objective function optimized by the clustering processing of the third and fourth embodiments becomes smaller than that of other methods. That is, a smaller objective function is obtained when the integration operation using the Merge algorithm is performed. That is, the value of the objective function is improved when the integration operation using the Merge algorithm is performed.

[その他]
なお、実施例1では、クラスタリング部14は、グリッドリスト21中の重み付きの代表点を入力としてバッチクラスタリング処理を実行する。このとき、クラスタリング部14は、目的関数を式(3)として実行すると説明した。しかしながら、クラスタリング部14は、これに限定されず、目的関数を式(18)として実行しても良い。
[Other]
In the first embodiment, the clustering unit 14 executes the batch clustering process using the weighted representative points in the grid list 21 as input. At this time, the clustering unit 14 has been described as executing the objective function as Expression (3). However, the clustering unit 14 is not limited to this, and may execute the objective function as Expression (18).

また、実施例1では、代表点圧縮部13は、グリッドに代表点の個数が最大保持点数を超えないようにするために、グリッドに含まれる代表点の中から選択された代表点に他の代表点をマージして、新規の代表点とすると説明した。しかしながら、代表点圧縮部13は、これに限定されず、近傍の代表点を選択し、選択した代表点の位置の平均を算出して、平均の位置を新規の代表点としても良い。 In addition, in the first embodiment, the representative point compressing unit 13 sets another representative point selected from the representative points included in the grid in order to prevent the number of representative points in the grid from exceeding the maximum number of held points. It has been explained that the representative points are merged into a new representative point. However, the representative point compressing unit 13 is not limited to this, and may select neighboring representative points, calculate an average of the positions of the selected representative points, and use the average position as a new representative point.

また、図示した情報処理装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報処理装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、代表点更新部12と、代表点圧縮部13とを1つの部として統合しても良い。また、代表点更新部12をグリッドを生成する生成部と、データ点をグリッドに追加する追加部と、代表点圧縮部13にデータを圧縮させる圧縮部とに分散しても良い。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。 Further, each component of the illustrated information processing device 1 does not necessarily have to be physically configured as illustrated. That is, the specific mode of distribution/integration of the information processing device 1 is not limited to that shown in the drawings, and all or part of the information processing device 1 may be functionally or physically arranged in arbitrary units according to various loads and usage conditions. It can be distributed and integrated. For example, the representative point updating unit 12 and the representative point compressing unit 13 may be integrated as one unit. Further, the representative point updating unit 12 may be dispersed into a generating unit that generates a grid, an adding unit that adds data points to the grid, and a compressing unit that causes the representative point compressing unit 13 to compress data. The storage unit 20 may be connected as an external device of the information processing device 1 via a network.

また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現するデータクラスタリングプログラムを実行するコンピュータの一例を説明する。図33は、データクラスタリングプログラムを実行するコンピュータの一例を示す図である。 The various processes described in the above embodiments can be realized by executing a prepared program on a computer such as a personal computer or a workstation. Therefore, an example of a computer that executes a data clustering program that realizes the same function as the information processing device 1 illustrated in FIG. 1 will be described below. FIG. 33 is a diagram illustrating an example of a computer that executes a data clustering program.

図33に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。 As shown in FIG. 33, the computer 200 includes a CPU 203 that executes various types of arithmetic processing, an input device 215 that receives data input from a user, and a display control unit 207 that controls the display device 209. The computer 200 also includes a drive device 213 that reads a program and the like from a storage medium, and a communication control unit 217 that exchanges data with another computer via a network. The computer 200 also has a memory 201 for temporarily storing various information and an HDD 205. The memory 201, the CPU 203, the HDD 205, the display control unit 207, the drive device 213, the input device 215, and the communication control unit 217 are connected by the bus 219.

ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、データクラスタリングプログラム205aおよびデータクラスタリング関連情報205bを記憶する。 The drive device 213 is, for example, a device for the removable disk 211. The HDD 205 stores a data clustering program 205a and data clustering related information 205b.

CPU203は、データクラスタリングプログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置1の各機能部に対応する。データクラスタリング関連情報205bは、グリッドリスト21および代表点リスト22に対応する。そして、例えばリムーバブルディスク211が、データクラスタリングプログラム205aなどの各情報を記憶する。 The CPU 203 reads the data clustering program 205a, expands it in the memory 201, and executes it as a process. Such a process corresponds to each functional unit of the information processing device 1. The data clustering related information 205b corresponds to the grid list 21 and the representative point list 22. Then, for example, the removable disk 211 stores each information such as the data clustering program 205a.

なお、データクラスタリングプログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらからデータクラスタリングプログラム205aを読み出して実行するようにしても良い。 Note that the data clustering program 205a does not necessarily have to be stored in the HDD 205 from the beginning. For example, the program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, or an IC card that is inserted into the computer 200. Then, the computer 200 may read the data clustering program 205a from these and execute it.

1 情報処理装置
10 制御部
11 データ取得部
12 代表点更新部
13 代表点圧縮部
14,14A、14B クラスタリング部
20 記憶部
21 グリッドリスト
22,22A 代表点リスト
23 コスト関数表
24 代表点/クラスタ対応表
25 クラスタ中心集合
31 代表点分割部
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 10 Control part 11 Data acquisition part 12 Representative point update part 13 Representative point compression part 14,14A, 14B Clustering part 20 Storage part 21 Grid list 22,22A Representative point list 23 Cost function table 24 Representative point/cluster correspondence Table 25 Cluster center set 31 Representative point division unit

Claims (19)

ストリーミングクラスタリングにおけるデータクラスタリングの方法において、コンピュータが、
入力データ点を配置する特徴量空間を局所領域に分割し、
データ点が1点以上存在する局所領域に対し、それぞれ独立に代表点を決定し、
次に代表点が存在する局所領域にデータ点が追加された場合に、代表点と追加されたデータ点に基づいて重み付けを行い新たな代表点を決定し、
新たな代表点を用いてクラスタ数を制御する
各処理を実行することを特徴とするデータクラスタリング方法。
In the method of data clustering in streaming clustering, the computer
The feature space where the input data points are placed is divided into local regions,
The representative point is independently determined for each local area where one or more data points exist,
Next, when a data point is added to the local area where the representative point exists, a new representative point is determined by weighting based on the representative point and the added data point,
A data clustering method characterized by executing each process for controlling the number of clusters using a new representative point.
前記分割する処理は、前記特徴量空間を、λ/√d(λ:クラスタの粒度を定める閾値、d:前記特徴量空間の次元数)を一辺の長さとするd次元超立方体である局所領域に分割する
ことを特徴とする請求項1に記載のデータクラスタリング方法。
In the dividing process, the feature space is a local region that is a d-dimensional hypercube having a side length of λ/√d (λ: a threshold value that determines the granularity of the cluster, d: the number of dimensions of the feature space). The data clustering method according to claim 1, wherein the data clustering method is divided into
前記分割する処理は、前記特徴量空間を、クラスタの粒度を定める閾値λを直径としたd次元超球(d:前記特徴量空間の次元数)である局所領域に分割する
ことを特徴とする請求項1に記載のデータクラスタリング方法。
The dividing process divides the feature amount space into local regions that are d-dimensional hyperspheres (d: the number of dimensions of the feature amount space) having a diameter of a threshold λ that determines the granularity of clusters. The data clustering method according to claim 1.
前記代表点を決定する処理および前記新たな代表点を決定する処理は、前記局所領域に保持する最大の保持点数を、前記次元数dとする
ことを特徴とする請求項2または請求項3に記載のデータクラスタリング方法。
In the process of determining the representative point and the process of determining the new representative point, the maximum number of holding points held in the local area is set to the dimension number d. The described data clustering method.
前記新たな代表点を決定する処理は、時分割されたデータ点に対して、既に決定された代表点と前記時分割されたデータ点に基づいて前記新たな代表点を決定する
ことを特徴とする請求項1から請求項4のいずれか1つに記載のデータクラスタリング方法。
The process of determining the new representative point is to determine the new representative point based on the already-represented representative point and the time-divided data point with respect to the time-divided data point. The data clustering method according to any one of claims 1 to 4.
前記代表点を決定する処理および前記新たな代表点を決定する処理は、前記局所領域に保持する最大の保持点数を3×d×log(d)とする
ことを特徴とする請求項2または請求項3に記載のデータクラスタリング方法。
The process for determining the representative point and the process for determining the new representative point are such that the maximum number of points held in the local area is 3×d×log(d). The data clustering method according to Item 3.
前記新たな代表点に含まれるデータ点の範囲を保持し、
新たな代表点の重み付けが、前記新たな代表点が含むデータ点の範囲を示すパラメータの2乗に反比例する値以上となった場合に、前記新たな代表点を異なるクラスタとなるように分割する
ことを特徴とする請求項1に記載のデータクラスタリング方法。
Retain the range of data points included in the new representative point,
When the weighting of the new representative point becomes equal to or larger than the value inversely proportional to the square of the parameter indicating the range of the data points included in the new representative point, the new representative point is divided into different clusters. The data clustering method according to claim 1, wherein:
前記新たな代表点に対し、前記代表点を1点とした場合の目的関数の期待値が、前記代表点を2点に分割した場合の目的関数の期待値以上となった場合に、前記代表点を分割する
ことを特徴とする請求項1に記載のデータクラスタリング方法。
If the expected value of the objective function when the representative point is set to 1 with respect to the new representative point is equal to or larger than the expected value of the objective function when the representative point is divided into two points, The data clustering method according to claim 1, wherein the points are divided.
前記新たな代表点に対し、前記代表点の重み付けおよび前記代表点に含まれるデータ点と前記代表点との距離の期待値の積から得られる値が、前記代表点を分割した場合の第1代表点の重み付けおよび前記第1代表点に含まれるデータ点と前記第1代表点との距離の期待値の積と、前記代表点を分割した場合の第2代表点の重み付けおよび前記第2代表点に含まれるデータ点と前記第2代表点との距離の期待値の積と、クラスタの粒度を定める閾値から計算される項との和から得られる値以上となった場合に、前記代表点を分割する
ことを特徴とする請求項1に記載のデータクラスタリング方法。
For the new representative point, a value obtained by weighting the representative point and a product of an expected value of a distance between the data point included in the representative point and the representative point is a first value obtained when the representative point is divided. Weighting of representative points, product of expected value of distance between data points included in the first representative point and the first representative point, weighting of the second representative point when the representative point is divided, and the second representative If the product of the expected value of the distance between the data point included in the point and the second representative point and the sum of the term calculated from the threshold value that determines the cluster granularity is greater than or equal to the representative point, the representative point The data clustering method according to claim 1, wherein
前記分割する処理によって分割された代表点を含む代表点群を用いてクラスタリング処理を行う際に、同一のクラスタとして許容するクラスタ中心との距離の閾値を、代表点の重み付けの平方根に反比例した値とする
ことを特徴とする請求項7〜請求項9のいずれか1つに記載のデータクラスタリング方法。
When performing the clustering process using the representative point group including the representative points divided by the dividing process, the threshold value of the distance from the cluster center allowed as the same cluster is a value inversely proportional to the square root of the weighting of the representative points. The data clustering method according to any one of claims 7 to 9.
前記分割する処理によって分割された代表点を含む代表点群を用いてクラスタリング処理を行う際に、2つの代表点を選択し、前記2つの代表点を1点に統合した場合の目的関数の期待値が、前記2つの代表点を1点に統合しない場合の目的関数の期待値より小さくなる場合に、前記2つの代表点を1点に統合する
ことを特徴とする請求項7〜請求項9のいずれか1つに記載のデータクラスタリング方法。
Expectation of the objective function when two representative points are selected and the two representative points are integrated into one point when performing the clustering processing using the representative point group including the representative points divided by the dividing processing The two representative points are integrated into one point when the value is smaller than the expected value of the objective function when the two representative points are not integrated into one point. The data clustering method according to any one of 1.
前記2つの代表点を選択する処理は、前記2つの代表点を1点に統合した場合の目的関数の期待値から、前記2つの代表点を1点に統合しない場合の目的関数の期待値を減じた値を持つコスト関数を定義し、前記コスト関数の値が最小値となる前記2つの代表点を選択する
ことを特徴とする請求項11に記載のデータクラスタリング方法。
In the process of selecting the two representative points, the expected value of the objective function when the two representative points are not integrated into one point is calculated from the expected value of the objective function when the two representative points are integrated into one point. The data clustering method according to claim 11, wherein a cost function having a subtracted value is defined, and the two representative points having the minimum value of the cost function are selected.
前記選択する処理によって選択された前記2つの代表点の前記コスト関数の値が0以下の場合に、前記2つの代表点を1点に統合する
ことを特徴とする請求項12に記載のデータクラスタリング方法。
The data clustering according to claim 12, wherein when the value of the cost function of the two representative points selected by the selecting process is 0 or less, the two representative points are integrated into one point. Method.
前記2つの代表点を1点に統合した場合の目的関数の期待値として、前記2つの代表点の重みの和と、前記2つの代表点に含まれるデータ点および統合先の代表点の距離の期待値との積と、クラスタ粒度を定める閾値から計算される項とを用い、前記2つの代表点を1点に統合しない場合の目的関数の期待値として、第1代表点の重み付けおよび前記第1代表点に含まれるデータ点と前記第1代表点との距離の期待値の積と、第2代表点の重み付けおよび前記第2代表点に含まれるデータ点と前記第2代表点との距離の期待値の積との和と、前記クラスタ粒度を定める閾値から計算される項と、を用いる
ことを特徴とする請求項11または請求項12に記載のデータクラスタリング方法。
As the expected value of the objective function when the two representative points are integrated into one point, the sum of the weights of the two representative points and the distance between the data points included in the two representative points and the representative point of the integration destination are calculated. Using the product of the expected value and the term calculated from the threshold value that determines the cluster granularity, as the expected value of the objective function when the two representative points are not integrated into one point, the weighting of the first representative point and the first representative point are performed. The product of the expected value of the distance between the data point included in one representative point and the first representative point, the weighting of the second representative point, and the distance between the data point included in the second representative point and the second representative point. 13. The data clustering method according to claim 11 or 12, wherein a sum calculated from a product of expected values of and a term calculated from a threshold value that determines the cluster granularity is used.
前記コスト関数は、前記2つの代表点の重みと、前記2つの代表点の座標および前記2つの代表点の統合を行った場合の代表点の座標の距離との積から、閾値から計算される項を減じるものである
ことを特徴とする請求項12に記載のデータクラスタリング方法。
The cost function is calculated from a threshold value by multiplying the weight of the two representative points by the product of the coordinates of the two representative points and the distance of the coordinates of the representative points when the two representative points are integrated. The data clustering method according to claim 12, wherein the number of terms is reduced.
前記代表点の重みと、前記代表点および所定のデータ点との距離の期待値との積の計算方法として、統合が生じた場合でも、ある代表点に統合された統合前の代表点の情報を記憶し、前記統合前の代表点および前記所定のデータ点の距離と統合後の代表点および前記所定のデータ点の距離との誤差を用いる
ことを特徴とする請求項14または請求項15に記載のデータクラスタリング方法。
As a method of calculating the product of the weight of the representative point and the expected value of the distance between the representative point and a predetermined data point, information of the representative point before integration, which is integrated into a certain representative point, even if integration occurs Is stored, and an error between the distance between the representative point before the integration and the predetermined data point and the distance between the representative point after the integration and the predetermined data point is used. The described data clustering method.
前記2つの代表点を1点に統合した場合の目的関数の期待値として、前記2つの代表点の重みの和と、前記2つの代表点に含まれるデータ点および統合先の代表点の距離の期待値との積と、クラスタ粒度を定める閾値から計算される項とを用い、前記2つの代表点を1点に統合しない場合の目的関数の期待値として、第1代表点の重み付けおよび前記第1代表点に含まれるデータ点と前記第1代表点との距離の期待値の積と、第2代表点の重み付けおよび前記第2代表点に含まれるデータ点と前記第2代表点との距離の期待値の積との和と、前記クラスタ粒度を定める閾値から計算される項と、を用い、As the expected value of the objective function when the two representative points are integrated into one point, the sum of the weights of the two representative points and the distance between the data points included in the two representative points and the representative point of the integration destination are calculated. Using the product of the expected value and the term calculated from the threshold value that determines the cluster granularity, as the expected value of the objective function when the two representative points are not integrated into one point, the weighting of the first representative point and the first representative point are performed. The product of the expected value of the distance between the data point included in one representative point and the first representative point, the weighting of the second representative point, and the distance between the data point included in the second representative point and the second representative point. And a term calculated from a threshold value that defines the cluster grain size,
前記コスト関数は、統合される代表点の重みと、前記統合される代表点と前記統合先の代表点との距離との積から、閾値から計算される項を減じるものであり、The cost function is to subtract the term calculated from the threshold from the product of the weight of the representative point to be integrated and the distance between the representative point to be integrated and the representative point of the integration destination,
選択される前記2つの代表点のうちいずれかの代表点を統合先の代表点として選択し、さらに、統合操作が終了すると、前記統合先の代表点の情報を用いて、前記統合先の代表点の座標を再計算するOne of the selected two representative points is selected as the representative point of the integration destination, and when the integration operation is completed, the representative of the integration destination is used by using the information of the representative point of the integration destination. Recalculate point coordinates
ことを特徴とする請求項12に記載のデータクラスタリング方法。The data clustering method according to claim 12, wherein:
入力データ点を配置する特徴量空間を局所領域に分割する分割部と、
データ点が1点以上存在する局所領域に対し、それぞれ独立に代表点を決定する第1の決定部と、
次に代表点が存在する局所領域にデータ点が追加された場合に、代表点と追加されたデータ点に基づいて重み付けを行い新たな代表点を決定する第2の決定部と、
新たな代表点を用いてクラスタ数を制御する制御部と、を
有することを特徴とする情報処理装置。
A dividing unit that divides the feature amount space in which the input data points are arranged into local regions,
A first determining unit that independently determines a representative point for a local region having one or more data points;
Next, when a data point is added to the local area where the representative point exists, a second deciding unit that decides a new representative point by weighting based on the representative point and the added data point,
An information processing apparatus, comprising: a control unit that controls the number of clusters using a new representative point.
ストリーミングクラスタリングにおけるデータクラスタリングプログラムにおいて、コンピュータに、
入力データ点を配置する特徴量空間を局所領域に分割し、
データ点が1点以上存在する局所領域に対し、それぞれ独立に代表点を決定し、
次に代表点が存在する局所領域にデータ点が追加された場合に、代表点と追加されたデータ点に基づいて重み付けを行い新たな代表点を決定し、
新たな代表点を用いてクラスタ数を制御する
処理を実行させることを特徴とするデータクラスタリングプログラム。
In the data clustering program in streaming clustering, in the computer,
The feature space where the input data points are placed is divided into local regions,
The representative point is independently determined for each local area where one or more data points exist,
Next, when a data point is added to the local area where the representative point exists, a new representative point is determined by weighting based on the representative point and the added data point,
A data clustering program that executes a process for controlling the number of clusters using a new representative point.
JP2016064660A 2015-06-03 2016-03-28 Data clustering method, information processing apparatus, and data clustering program Expired - Fee Related JP6707946B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/165,428 US20160357840A1 (en) 2015-06-03 2016-05-26 Apparatus and method for clustering data in streaming clustering without reducing precision

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015113462 2015-06-03
JP2015113462 2015-06-03

Publications (2)

Publication Number Publication Date
JP2016224915A JP2016224915A (en) 2016-12-28
JP6707946B2 true JP6707946B2 (en) 2020-06-10

Family

ID=57745903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016064660A Expired - Fee Related JP6707946B2 (en) 2015-06-03 2016-03-28 Data clustering method, information processing apparatus, and data clustering program

Country Status (1)

Country Link
JP (1) JP6707946B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7119349B2 (en) * 2017-11-22 2022-08-17 富士通株式会社 Determination device, determination program, determination method
TWI798314B (en) * 2017-12-28 2023-04-11 日商東京威力科創股份有限公司 Data processing device, data processing method, and data processing program
JP7373700B2 (en) * 2018-03-05 2023-11-06 株式会社アールティ Image processing device, bin picking system, image processing method, image processing program, control method and control program
CN111125469B (en) * 2019-12-09 2022-06-10 重庆邮电大学 User clustering method and device of social network and computer equipment
US20220198229A1 (en) * 2020-12-21 2022-06-23 Genesys Telecommunications Laboratories, Inc. Systems and methods related to applied anomaly detection and contact center computing environments
US11847443B2 (en) * 2021-09-07 2023-12-19 International Business Machines Corporation Constraints-based refactoring of monolith applications through attributed graph embeddings
CN119884275B (en) * 2025-03-26 2025-06-10 江西省交通投资集团有限责任公司 Map navigation data efficient processing system based on cloud storage

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983224A (en) * 1997-10-31 1999-11-09 Hitachi America, Ltd. Method and apparatus for reducing the computational requirements of K-means data clustering
JP3478967B2 (en) * 1998-03-04 2003-12-15 日本電信電話株式会社 Two-phase data cluster method and apparatus and recording medium recording two-phase data cluster program
JP4451332B2 (en) * 2005-03-07 2010-04-14 日本電信電話株式会社 Similar time series data calculation device and similar time series data calculation program

Also Published As

Publication number Publication date
JP2016224915A (en) 2016-12-28

Similar Documents

Publication Publication Date Title
JP6707946B2 (en) Data clustering method, information processing apparatus, and data clustering program
US20160357840A1 (en) Apparatus and method for clustering data in streaming clustering without reducing precision
US10102038B2 (en) Data mining method and node
JP5792747B2 (en) Text classification method and system
JP6751376B2 (en) Optimal solution search method, optimal solution search program, and optimal solution search device
US20120101822A1 (en) Biometric speaker identification
US9058540B2 (en) Data clustering method and device, data processing apparatus and image processing apparatus
JP2011243088A (en) Data processor, data processing method and program
JPWO2016001998A1 (en) Similarity calculation system, similarity calculation method, and program
JP2015203946A (en) Method for calculating center of gravity of histogram
CN112988275B (en) A task-aware multi-user computing offloading method for mobile edge computing
CN112633457A (en) Hyperspectral image band selection method based on multi-target rice breeding algorithm
US7991617B2 (en) Optimum design management apparatus from response surface calculation and method thereof
US20190025803A1 (en) Computer system and control method
EP3067804A1 (en) Data arrangement program, data arrangement method, and data arrangement apparatus
WO2015180340A1 (en) Data mining method and device
WO2018168695A1 (en) Distributed machine learning device, distributed machine learning method, and distributed machine learning recording medium
JP2019053491A (en) Neural network evaluation apparatus, neural network evaluation method, and program
CN116339932A (en) Resource scheduling method, device and server
Covantes Osuna et al. Analysis of the clearing diversity-preserving mechanism
JP6334455B2 (en) Clustering apparatus, method, and program
CN114093448A (en) Construction method of disease risk prediction model
JP7659766B2 (en) Information processing device, information processing method, and program
US20210072909A1 (en) Information processing apparatus, control method, and storage medium
TW202328984A (en) Control method and system based on layer-wise adaptive channel pruning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200504

R150 Certificate of patent or registration of utility model

Ref document number: 6707946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees