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
JP6310408B2 - Clustering apparatus, method, and program - Google Patents
[go: Go Back, main page]

JP6310408B2 - Clustering apparatus, method, and program - Google Patents

Clustering apparatus, method, and program Download PDF

Info

Publication number
JP6310408B2
JP6310408B2 JP2015028596A JP2015028596A JP6310408B2 JP 6310408 B2 JP6310408 B2 JP 6310408B2 JP 2015028596 A JP2015028596 A JP 2015028596A JP 2015028596 A JP2015028596 A JP 2015028596A JP 6310408 B2 JP6310408 B2 JP 6310408B2
Authority
JP
Japan
Prior art keywords
cluster
data point
center
distance
unit
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
JP2015028596A
Other languages
Japanese (ja)
Other versions
JP2016151866A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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 Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015028596A priority Critical patent/JP6310408B2/en
Publication of JP2016151866A publication Critical patent/JP2016151866A/en
Application granted granted Critical
Publication of JP6310408B2 publication Critical patent/JP6310408B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、クラスタリング装置、方法、及びプログラムに係り、特に、データ点が所属するクラスタを決定するクラスタリング装置、方法、及びプログラムに関する。   The present invention relates to a clustering device, method, and program, and more particularly, to a clustering device, method, and program for determining a cluster to which a data point belongs.

図28に示すように、分類対象である複数のデータ点の各々を、複数のクラスタに分類する際に、クラスタ中心の探索とクラスタ中心の更新とを交互に行うことにより最適化し、クラスタの各々について、複数のデータを分類し、当該クラスタ中心を出力する。   As shown in FIG. 28, when classifying each of a plurality of data points to be classified into a plurality of clusters, optimization is performed by alternately searching for the cluster center and updating the cluster center. A plurality of data are classified for, and the cluster center is output.

クラスタ中心の探索は、図29に示すように、複数のデータ点の各々について、当該データ点から最も距離が近いクラスタ中心を探索し、当該クラスタに当該データ点を所属させる。図29の例においては、クラスタ(2)のクラスタ中心の方が、処理対象となるデータ点に近いため、クラスタ(1)に所属していたデータ点が1つクラスタ(2)に移動することとなる。   As shown in FIG. 29, the search for the cluster center searches the cluster center closest to the data point for each of a plurality of data points, and assigns the data point to the cluster. In the example of FIG. 29, since the cluster center of cluster (2) is closer to the data point to be processed, one data point belonging to cluster (1) moves to cluster (2). It becomes.

クラスタ中心の更新処理は、各クラスタに所属するデータ点の重心を新たなクラスタ中心として再設定する。そして、上記のクラスタ中心の探索処理と、クラスタ中心の更新処理とを収束するまで交互に最適化する。   In the cluster center update process, the center of gravity of the data points belonging to each cluster is reset as a new cluster center. The cluster center search process and the cluster center update process are alternately optimized until convergence.

従来は、Lloyd法(非特許文献1)、Elkan法(非特許文献2)、及びHamerly法(非特許文献3)等が用いられている。   Conventionally, the Lloyd method (Non-patent document 1), the Elkan method (Non-patent document 2), the Hammerly method (Non-patent document 3), and the like are used.

Least squares quantization in PCM, IEEE Transaction on Information Theory, 1982Least squares quantization in PCM, IEEE Transaction on Information Theory, 1982 Using the Triangle Inequality to Accelerate k-Means, ICML 2003, 2003Using the Triangle Inequality to Accelerate k-Means, ICML 2003, 2003 Making k-means even faster, SDM 2010, 2010Making k-means even faster, SDM 2010, 2010

しかし、所属するクラスタ中心の探索処理における距離計算のコストは、データ数N、クラスタ数C、及びデータ次元数Dに比例する。   However, the cost of the distance calculation in the search process for the cluster center to which it belongs is proportional to the number of data N, the number of clusters C, and the number of data dimensions D.

そのため、データ数、クラスタ数、及びデータ次元数が多ければ多いほど、結果の出力までに多大な計算量、すなわち、計算時間を要するという問題がある。   Therefore, there is a problem that the larger the number of data, the number of clusters, and the number of data dimensions, the greater the amount of calculation, that is, the calculation time, is required until the result is output.

本発明では、上記問題点を解決するために成されたものであり、データ点の数及びクラスタの数が大きな値であっても、複数のデータ点を高速にクラスタリングすることができるクラスタリング装置、方法、及びプログラムを提供することを目的とする。   The present invention has been made to solve the above problems, and a clustering device capable of clustering a plurality of data points at high speed even if the number of data points and the number of clusters are large values, It is an object to provide a method and a program.

上記目的を達成するために、第1の発明のクラスタリング装置は、複数のデータ点を複数のクラスタにクラスタリングするクラスタリング装置であって、前記複数のデータ点の各々について、前記データ点の位置と前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定する所属クラスタ中心探索部と、前記複数のクラスタの各々について、前記所属クラスタ中心探索部により前記クラスタに所属すると決定されたデータ点の位置に基づいて、前記クラスタの中心位置を更新し、前記更新前と更新後の前記クラスタの中心位置の移動距離を計算し、前記複数のデータ点の各々について、前記計算された前記データ点の所属するクラスタの中心位置の移動距離に基づいて、前記データ点についての前記所属クラスタ中心探索部により所属するクラスタを決定する処理を行う頻度を決定するクラスタ中心更新部と、予め定められた収束条件を満たすまで、前記所属クラスタ中心探索部による決定と、前記クラスタ中心更新部による決定とを繰り返す収束判定部と、を含んで構成されており、前記所属クラスタ中心探索部は、前記複数のデータ点の各々について、前記クラスタ中心更新部によって前記データ点について決定された前記頻度に基づいて、所属するクラスタを決定するか否かを判定し、所属するクラスタを決定すると判定された前記データ点の各々について、前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定する。   To achieve the above object, a clustering device of a first invention is a clustering device for clustering a plurality of data points into a plurality of clusters, and for each of the plurality of data points, the position of the data point and the data point Calculate a distance from the center position of each of a plurality of clusters, and determine a cluster to which the data point belongs based on each of the calculated distances, and each of the plurality of clusters , Updating the center position of the cluster based on the position of the data point determined to belong to the cluster by the cluster center search unit, and calculating the movement distance of the center position of the cluster before and after the update For each of the plurality of data points, the calculated movement distance of the center position of the cluster to which the data point belongs Therefore, a cluster center update unit that determines the frequency of performing the process of determining a cluster to which the data point belongs by the belonging cluster center search unit, and the belonging cluster center search unit until a predetermined convergence condition is satisfied And a convergence determination unit that repeats the determination by the cluster center update unit, and the cluster center search unit for each of the plurality of data points by the cluster center update unit Based on the frequency determined for the data point, it is determined whether to determine a cluster to which the data point belongs, and for each of the data points determined to determine the cluster to belong to, the center of each of the plurality of clusters A distance to the position is calculated, and based on each of the calculated distances, a cluster to which the data point belongs is determined. A constant.

第2の発明のクラスタリング方法は、所属クラスタ中心探索部と、クラスタ中心更新部と、収束判定部と、を含む、複数のデータ点を複数のクラスタにクラスタリングするクラスタリング装置における、クラスタリング方法であって、前記所属クラスタ中心探索部は、前記複数のデータ点の各々について、前記データ点の位置と前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定し、前記クラスタ中心更新部は、前記複数のクラスタの各々について、前記所属クラスタ中心探索部により前記クラスタに所属すると決定されたデータ点の位置に基づいて、前記クラスタの中心位置を更新し、前記更新前と更新後の前記クラスタの中心位置の移動距離を計算し、前記複数のデータ点の各々について、前記計算された前記データ点の所属するクラスタの中心位置の移動距離に基づいて、前記データ点についての前記所属クラスタ中心探索部により所属するクラスタを決定する処理を行う頻度を決定し、前記収束判定部は、予め定められた収束条件を満たすまで、前記所属クラスタ中心探索部による決定と、前記クラスタ中心更新部による決定とを繰り返す、ことを含み、前記所属クラスタ中心探索部は、前記複数のデータ点の各々について、前記クラスタ中心更新部によって前記データ点について決定された前記頻度に基づいて、所属するクラスタを決定するか否かを判定し、所属するクラスタを決定すると判定された前記データ点の各々について、前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定する。   A clustering method according to a second aspect of the present invention is a clustering method in a clustering apparatus for clustering a plurality of data points into a plurality of clusters, including an affiliated cluster center search unit, a cluster center update unit, and a convergence determination unit. , The belonging cluster center search unit calculates a distance between the position of the data point and the center position of each of the plurality of clusters for each of the plurality of data points, and based on each of the calculated distances Determining a cluster to which the data point belongs, and the cluster center updating unit, for each of the plurality of clusters, based on the position of the data point determined to belong to the cluster by the belonging cluster center search unit, Update the center position of the cluster and calculate the movement distance of the center position of the cluster before and after the update. For each of the plurality of data points, based on the calculated movement distance of the center position of the cluster to which the data point belongs, a process of determining the cluster to which the data point belongs by the belonging cluster center search unit. Determining the frequency to perform, wherein the convergence determination unit repeats the determination by the belonging cluster center searching unit and the determination by the cluster center updating unit until a predetermined convergence condition is satisfied, The center search unit determines, for each of the plurality of data points, whether to determine a cluster to which the cluster belongs, based on the frequency determined for the data point by the cluster center update unit, For each of the data points determined to be determined, the distance from the center position of each of the plurality of clusters is measured. And, based on each of the calculated distance to determine the cluster to which belongs the data points.

第1及び第2の発明によれば、所属クラスタ中心探索部により、複数のデータ点の各々について、データ点の位置と複数のクラスタの各々の中心位置との距離を計算し、計算された距離の各々に基づいて、データ点の所属するクラスタを決定し、クラスタ中心更新部は、複数のクラスタの各々について、所属クラスタ中心探索部によりクラスタに所属すると決定されたデータ点の位置に基づいて、クラスタの中心位置を更新し、更新前と更新後のクラスタの中心位置の移動距離を計算し、複数のデータ点の各々について、計算されたデータ点の所属するクラスタの中心位置の移動距離に基づいて、データ点についての所属クラスタ中心探索部により所属するクラスタを決定する処理を行う頻度を決定し、収束判定部は、予め定められた収束条件を満たすまで、所属クラスタ中心探索部による決定と、クラスタ中心更新部による決定とを繰り返す。   According to the first and second inventions, the assigned cluster center search unit calculates the distance between the position of the data point and the center position of each of the plurality of clusters for each of the plurality of data points, and the calculated distance Based on each of the above, determine the cluster to which the data point belongs, the cluster center update unit, for each of a plurality of clusters, based on the position of the data point determined to belong to the cluster by the belonging cluster center search unit, Update the center position of the cluster, calculate the movement distance of the cluster center position before and after the update, and for each of multiple data points, based on the calculated movement distance of the cluster center position to which the data point belongs And determining the frequency of performing the process of determining the cluster to which the data point belongs by the cluster center search unit for the data point. To meet, repeat the determination by the cluster membership center search unit, and a decision by the cluster center updating unit.

このように、複数のデータ点の各々について、データ点の所属するクラスタを決定し、複数のクラスタの各々について、クラスタに所属すると決定されたデータ点の位置に基づいて、クラスタの中心位置を更新し、更新前と更新後のクラスタの中心位置の移動距離を計算し、複数のデータ点の各々について、計算されたデータ点の所属するクラスタの中心位置の移動距離に基づいて、データ点についての所属するクラスタを決定する処理を行う頻度を決定し、予め定められた収束条件を満たすまで、所属するクラスタの決定と、データ点についての所属するクラスタを決定する処理を行う頻度の決定とを繰り返すことにより、データ点の数及びクラスタの数が大きな値であっても、複数のデータ点を高速にクラスタリングすることができる。   Thus, for each of a plurality of data points, the cluster to which the data point belongs is determined, and for each of the plurality of clusters, the center position of the cluster is updated based on the position of the data point determined to belong to the cluster. Calculating the movement distance of the center position of the cluster before and after the update, and for each of the plurality of data points, based on the movement distance of the center position of the cluster to which the calculated data point belongs, Determines the frequency of performing the process of determining the cluster to which it belongs, and repeats the determination of the cluster to which it belongs and the determination of the frequency of determining the cluster to which the data point belongs until a predetermined convergence condition is satisfied Thus, even if the number of data points and the number of clusters are large values, a plurality of data points can be clustered at high speed.

また、第1の発明において、前記クラスタ中心更新部は、データ点xの係数をkiとし、前記データ点xの前記決定する処理を行う頻度を In the first invention, the cluster center updating unit sets the coefficient of the data point x i to k i, and sets the frequency of performing the determining process on the data point x i.

とし、前記データ点xの所属するクラスタの中心位置の移動距離を分母とし、予め定められた値を分子とした比率が And the ratio of the movement distance of the center position of the cluster to which the data point x i belongs is the denominator and the predetermined value is the numerator.

以上、かつ前記所属クラスタ中心探索部の処理回数tの値が As described above, the value of the processing count t of the cluster center search unit is

に対して余剰を持たない場合には、前記kiをki+1と更新し、前記比率が If you do not have a surplus with respect to the said k i is updated as k i +1, the ratio

以上であって、かつ、 That's it, and

未満の場合には、前記kiをk−γと更新し、前記比率が、 If less than, update k i to k−γ and the ratio is

以上であって、かつ、 That's it, and

未満の場合には、前記kiを更新しないことにより、前記データ点xについての前記頻度を決定してもよい。 If not, the frequency for the data point x i may be determined by not updating the k i .

また、第1の発明において、前記所属クラスタ中心探索部は、所属するクラスタを決定すると判定された前記データ点の各々について、前記データ点が所属するクラスタの中心位置と、前記所属するクラスタの中心位置と最も近い中心位置を有するクラスタの中心位置との距離が、前記データ点と前記所属するクラスタの中心位置との距離の上限値の2倍以上である場合、前記データ点と前記複数のクラスタの各々の中心位置との距離を計算せずに、前記データ点の所属するクラスタを決定してもよい。 Further, in the first invention, the belonging cluster center search unit, for each of the data points determined to determine the cluster to which the member belongs, the center position of the cluster to which the data point belongs and the center of the cluster to which the member belongs When the distance between the center position of the cluster having the closest center position to the position is at least twice the upper limit of the distance between the data point and the center position of the cluster to which the data point belongs, the data point and the plurality of clusters The cluster to which the data point belongs may be determined without calculating the distance from each center position.

また、第1の発明において、前記所属クラスタ中心探索部は、所属するクラスタを決定すると判定された前記データ点の各々について、前記データ点が所属するクラスタの中心位置と、前記データ点が属さないクラスタの中心位置との距離が、前記データ点と前記所属するクラスタの中心位置との距離の上限値の2倍以上である場合、又は、前記距離の上限値が、前記データ点と、前記属さないクラスタの中心位置との距離の下限値以下の場合、前記データ点と、前記属さないクラスタの中心位置との距離、及び前記データ点と前記データ点が属するクラスタの中心位置との距離を計算せず、前記データ点が所属するクラスタの中心位置と、前記データ点が属さないクラスタの中心位置との距離が、前記データ点と前記所属するクラスタの中心位置との距離の2倍以上である場合、又は、前記データ点と前記所属するクラスタの中心位置との距離が、前記距離の下限値以下である場合、前記データ点と、前記属さないクラスタの中心位置との距離を計算せずに、前記データ点の所属するクラスタを決定してもよい。 Further, in the first invention, the belonging cluster center search unit, for each of the data points determined to determine the cluster to which it belongs, the center position of the cluster to which the data point belongs and the data point does not belong When the distance from the center position of the cluster is at least twice the upper limit value of the distance between the data point and the center position of the cluster to which the cluster belongs, or the upper limit value of the distance is the data point and the attribute If the distance is below the lower limit of the distance from the center position of the non-cluster, the distance between the data point and the center position of the non-belonging cluster and the distance between the data point and the center position of the cluster to which the data point belongs are calculated. The distance between the center position of the cluster to which the data point belongs and the center position of the cluster to which the data point does not belong is the distance between the data point and the cluster to which the data point belongs. If the distance between the data point and the center position of the cluster to which the data point belongs is less than or equal to the lower limit value of the distance, The cluster to which the data point belongs may be determined without calculating the distance from the center position.

また、第1の発明において、前記所属クラスタ中心探索部は、所属するクラスタを決定すると判定された前記データ点の各々について、前記データ点と、前記データ点に2番目に近いクラスタの中心位置との距離の下限値が、前記データ点と前記所属するクラスタの中心位置との距離の上限値以上である場合、又は、前記データ点が所属するクラスタの中心位置と、前記所属するクラスタの中心位置と最も近い中心位置を有するクラスタの中心位置との距離が、前記データ点と、前記データ点が所属するクラスタの中心位置との距離の2倍以上である場合、又は前記データ点と、前記データ点が所属するクラスタの中心位置との距離が、前記距離の下限値以下である場合、前記データ点と前記複数のクラスタの各々の中心位置との距離を計算せずに、前記データ点の所属するクラスタを決定してもよい。 Further, in the first invention, the belonging cluster center search unit, for each of the data points determined to determine the cluster to which it belongs, the data point and the center position of the cluster closest to the data point, Is lower than the upper limit value of the distance between the data point and the center position of the cluster to which the data point belongs, or the center position of the cluster to which the data point belongs and the center position of the cluster to which the data point belongs. And the distance between the center position of the cluster having the closest center position is more than twice the distance between the data point and the center position of the cluster to which the data point belongs, or the data point and the data When the distance from the center position of the cluster to which the point belongs is less than or equal to the lower limit of the distance, the distance between the data point and the center position of each of the plurality of clusters is calculated. Not to may be determined clusters belonging of the data points.

また、本発明のプログラムは、コンピュータを、上記のクラスタリング装置を構成する各部として機能させるためのプログラムである。   Moreover, the program of this invention is a program for functioning a computer as each part which comprises said clustering apparatus.

以上説明したように、本発明のクラスタリング装置、方法、及びプログラムによれば、複数のデータ点の各々について、データ点の所属するクラスタを決定し、複数のクラスタの各々について、クラスタに所属すると決定されたデータ点の位置に基づいて、クラスタの中心位置を更新し、更新前と更新後のクラスタの中心位置の移動距離を計算し、複数のデータ点の各々について、計算されたデータ点の所属するクラスタの中心位置の移動距離に基づいて、データ点についての所属するクラスタを決定する処理を行う頻度を決定し、予め定められた収束条件を満たすまで、所属するクラスタの決定と、データ点についての所属するクラスタを決定する処理を行う頻度の決定とを繰り返すことにより、データ点の数及びクラスタの数が大きな値であっても、複数のデータ点を高速にクラスタリングすることができる。   As described above, according to the clustering apparatus, method, and program of the present invention, a cluster to which a data point belongs is determined for each of a plurality of data points, and each cluster is determined to belong to a cluster. Update the center position of the cluster based on the position of the data point calculated, calculate the distance traveled by the center position of the cluster before and after the update, and assign the calculated data point to each of the multiple data points Based on the movement distance of the center position of the cluster to be determined, determine the frequency of performing the process of determining the cluster to which the data point belongs, and determine the cluster to which the data point belongs and the data point until a predetermined convergence condition is satisfied The number of data points and the number of clusters are large by repeating the process of determining the cluster to which the cluster belongs. Even, it is possible to cluster multiple data points at high speed.

各クラスタ中心の移動距離にはばらつきが生じる一例を示す図である。It is a figure which shows an example in which dispersion | variation arises in the movement distance of each cluster center. 更新頻度におけるクラスタの更新処理と周期との関係の一例を示す図である。It is a figure which shows an example of the relationship between the update process of a cluster in update frequency, and a period. 第1の実施形態に係るクラスタリング装置の機能的構成を示す図である。It is a figure which shows the functional structure of the clustering apparatus which concerns on 1st Embodiment. 第1の実施形態に係るクラスタリング装置におけるクラスタリング処理のフローチャート図である。It is a flowchart figure of the clustering process in the clustering apparatus which concerns on 1st Embodiment. 第1の実施形態に係るクラスタリング装置における初期化処理のフローチャート図である。It is a flowchart figure of the initialization process in the clustering apparatus which concerns on 1st Embodiment. 第1の実施形態に係るクラスタリング装置における所属クラスタ中心探索処理のフローチャート図である。It is a flowchart figure of the affiliation cluster center search process in the clustering apparatus which concerns on 1st Embodiment. 第1の実施形態に係るクラスタリング装置におけるクラスタ中心更新処理のフローチャート図である。It is a flowchart figure of the cluster center update process in the clustering apparatus which concerns on 1st Embodiment. 第1の実施形態に係るクラスタリング装置におけるクラスタ中心更新処理のフローチャート図である。It is a flowchart figure of the cluster center update process in the clustering apparatus which concerns on 1st Embodiment. 省略された回数の一例を示す図である。It is a figure which shows an example of the frequency | count of omission. Elkan法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by Elkan method. Elkan法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by Elkan method. Elkan法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by Elkan method. Elkan法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by Elkan method. Elkan法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by Elkan method. 第2の実施形態に係るクラスタリング装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of the clustering apparatus which concerns on 2nd Embodiment. 第2の実施形態に係るクラスタリング装置におけるクラスタリング処理のフローチャート図である。It is a flowchart figure of the clustering process in the clustering apparatus which concerns on 2nd Embodiment. 第2の実施形態に係るクラスタリング装置における初期化処理のフローチャート図である。It is a flowchart figure of the initialization process in the clustering apparatus which concerns on 2nd Embodiment. 第2の実施形態に係るクラスタリング装置における所属クラスタ中心探索処理のフローチャート図である。It is a flowchart figure of the affiliation cluster center search process in the clustering apparatus which concerns on 2nd Embodiment. 第2の実施形態に係るクラスタリング装置におけるクラスタ中心更新処理のフローチャート図である。It is a flowchart figure of the cluster center update process in the clustering apparatus which concerns on 2nd Embodiment. 第2の実施形態に係るクラスタリング装置におけるクラスタ中心更新処理のフローチャート図である。It is a flowchart figure of the cluster center update process in the clustering apparatus which concerns on 2nd Embodiment. Hamerly法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by the Hammerly method. Hamerly法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by the Hammerly method. Hamerly法により計算を省略する一例を示す図である。It is a figure which shows an example which abbreviate | omits calculation by the Hammerly method. 第3の実施形態に係るクラスタリング装置の機能的構成を示す図である。It is a figure which shows the functional structure of the clustering apparatus which concerns on 3rd Embodiment. 第3の実施形態に係るクラスタリング装置におけるクラスタリング処理のフローチャート図である。It is a flowchart figure of the clustering process in the clustering apparatus which concerns on 3rd Embodiment. 第3の実施形態に係るクラスタリング装置における初期化処理のフローチャート図である。It is a flowchart figure of the initialization process in the clustering apparatus which concerns on 3rd Embodiment. 第3の実施形態に係るクラスタリング装置における所属クラスタ中心探索処理のフローチャート図である。It is a flowchart figure of the member cluster center search process in the clustering apparatus which concerns on 3rd Embodiment. 第3の実施形態に係るクラスタリング装置におけるクラスタ中心更新処理のフローチャート図である。It is a flowchart figure of the cluster center update process in the clustering apparatus which concerns on 3rd Embodiment. クラスタリングの一例を示す図である。It is a figure which shows an example of clustering. クラスタにデータ点を所属させる一例を示す図である。It is a figure which shows an example which makes a data point belong to a cluster.

以下、図面を参照して本発明の実施形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<本実施形態の原理>
データ点が所属するクラスタ中心を探索する処理において、距離計算のコストを削減する方法は、(1)アルゴリズムが収束するまでの周期数を削減する方法、(2)距離計算1回あたりの計算コストを削減する方法、及び(3)1周期あたりの距離計算の回数を削減するという方法がある。なお、本実施形態においては上記(3)の方法を用いる。
<Principle of this embodiment>
In the process of searching the cluster center to which the data point belongs, the method for reducing the distance calculation cost is as follows: (1) a method for reducing the number of periods until the algorithm converges, and (2) a calculation cost per one distance calculation. And (3) a method of reducing the number of distance calculations per cycle. In the present embodiment, the method (3) is used.

本実施形態においては、図1に示すように、各クラスタ中心の移動距離にはばらつきが生じやすく、直前の移動距離が小さいクラスタ中心に所属するデータ点は、所属クラスタ中心が変わる可能性が相対的に低いことに着目する。そのため、本実施形態においては、データ点が所属するクラスタ中心の移動距離に応じて、所属するクラスタ中心が変わるかどうかの判定頻度を調整し、アルゴリズムの効率化を図っている。   In this embodiment, as shown in FIG. 1, the movement distance of each cluster center is likely to vary, and the data point belonging to the cluster center with the shortest movement distance is relatively likely to change the cluster center. Focus on the low. For this reason, in this embodiment, the determination frequency of whether the cluster center to which the data point belongs changes is adjusted according to the movement distance of the cluster center to which the data point belongs, thereby improving the efficiency of the algorithm.

具体的には、データ点xの各々について設定されている更新頻度(階層的時間刻み)Δtに基づいて、各データ点xについてクラスタの所属判定を行う。なお、更新頻度Δtは、下記(1)式に示すように、データ点xの所属するクラスタ中心の1周期前からの移動距離に応じた更新頻度である。クラスタ数はCであるとする。 Specifically, based on the update frequency (hierarchical time step) Delta] t i which is set for each data point x i, performs assignment determination cluster for each data point x i. The update frequency Δt i is an update frequency according to the moving distance from one cycle before the cluster center to which the data point x i belongs, as shown in the following equation (1). Assume that the number of clusters is C.

ここで、移動距離は、   Here, the movement distance is

で表す。また、aは、データ点xが所属するクラスタを表す変数であり、aはCに含まれる。また、係数k(=0,1,...,kmax)は、下記(2)、(3)、及び(4)式によって更新される。なお、γは整数であり、ηは定数、及びtは周期を表す。また、d(e,f)はユークリッド空間上の2点e,fの距離を表す。 Represented by A i is a variable representing the cluster to which the data point x i belongs, and a i is included in C. The coefficient k i (= 0, 1,..., K max ) is updated by the following equations (2), (3), and (4). Γ is an integer, η is a constant, and t is a period. D (e, f) represents the distance between two points e and f in the Euclidean space.

上記(2)〜(4)式は、現在のデータ点xのクラスタの更新処理の頻度は、前回の処理における、前回のデータ点xが所属していたクラスタaの移動距離 (2) - (4), the frequency of updating the clusters of the current data point x i is the moving distance of the cluster a i that in the previous process, the previous data point x i was a member

によって決定されているものであることから、クラスタaの前回の処理における移動距離 The movement distance in the previous processing of cluster a i

と比較して、今回の処理における移動距離が大きくなっていればデータ点xの所属するクラスタの更新処理の頻度を上げ、小さくなっていればデータ点xの所属するクラスタの更新処理の頻度を下げることを表す。図2にΔtが1、2、及び4の値である場合の、クラスタの更新処理を行う頻度と、周期との関係を示す。 Compared to raise the frequency of updating the associated cluster of this data point x i if the movement distance is increased in the process, if smaller data point x i belongs to a cluster of update processing Represents a decrease in frequency. FIG. 2 shows the relationship between the frequency of performing cluster update processing and the period when Δt i is 1, 2, and 4.

以下、第1の実施形態に係るクラスタリング装置について詳細に説明する。なお、第1の実施形態においては、Lloyd法に追加の処理を加える。また、Lloyd法の1周期当たりの計算の回数は、追加の処理を加えない場合には、データ数N、及びクラスタ数CであるとするとNC回となる(非特許文献1:S.P. Lloyd. Least squares quantization in PCM, IEEE Transaction on Information Theory, 1982.)。なお、Lloyd法は、周期毎に全データと全クラスタ中心との距離を計算する手法である。   Hereinafter, the clustering apparatus according to the first embodiment will be described in detail. In the first embodiment, additional processing is added to the Lloyd method. In addition, the number of calculations per cycle in the Lloyd method is NC times when the number of data is N and the number of clusters is C when no additional processing is added (Non-patent Document 1: SP Lloyd. Least). squares quantization in PCM, IEEE Transaction on Information Theory, 1982). The Lloyd method is a method for calculating the distance between all data and all cluster centers for each period.

<第1の実施形態に係るクラスタリング装置の構成>
次に、第1の実施形態に係るクラスタリング装置の構成について説明する。図3に示すように、第1の実施形態に係るクラスタリング装置100は、CPUと、RAMと、後述するクラスタ処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このクラスタリング装置は、機能的には図3に示すように入力部10と、演算部20と、出力部90とを含んで構成されている。
<Configuration of Clustering Device According to First Embodiment>
Next, the configuration of the clustering apparatus according to the first embodiment will be described. As shown in FIG. 3, the clustering apparatus 100 according to the first embodiment includes a computer including a CPU, a RAM, and a ROM that stores a program for executing a cluster processing routine described later and various data. can do. This clustering apparatus is functionally configured to include an input unit 10, a calculation unit 20, and an output unit 90 as shown in FIG.

クラスタリング装置100には、ユークリッド空間上のN個のデータ次元数Dのデータ点の集合Xと、集合Xを分割するクラスタの数C(C<N)とが入力として与えられる。クラスタリング装置100は、入力された集合Xに含まれるデータ点xの各々を、C個のクラスタに分割し、分割結果を出力する。なお、データ点の各々は、データ点x(i=1〜N)で表し、クラスタの各々は、クラスタj(j=1〜C)で表し、クラスタjの中心位置をクラスタ中心cとして表す。 The clustering apparatus 100 is supplied with a set X of data points of N data dimensions D in the Euclidean space and a number C (C <N) of clusters that divide the set X. Clustering apparatus 100, each data point x i included in the input set X, divided into C clusters, and outputs the division result. Each data point is represented by a data point x i (i = 1 to N), each cluster is represented by a cluster j (j = 1 to C), and the center position of the cluster j is defined as a cluster center c j. Represent.

入力部10は、データ点の集合Xと、クラスタの数Cと、更新頻度係数の上限値kmaxとを受け付ける。また、入力部10は、受け付けたデータ点の集合Xに含まれるデータ点xの各々のD次元座標位置と、更新頻度係数の上限値kmaxとをパラメータ記憶部22に記憶する。 The input unit 10 receives a set X of data points, the number C of clusters, and an upper limit value k max of the update frequency coefficient. The input unit 10 stores the D-dimensional coordinates of each data point x i in the set X of the received data point, the update frequency coefficient and the upper limit value k max in the parameter storage unit 22.

演算部20は、パラメータ記憶部22と、初期化部24と、所属クラスタ中心探索部26と、クラスタ中心更新部28と、収束判定部30と、を含んで構成されている。   The calculation unit 20 includes a parameter storage unit 22, an initialization unit 24, a belonging cluster center search unit 26, a cluster center update unit 28, and a convergence determination unit 30.

パラメータ記憶部22には、入力部10において受け付けたデータ点xの各々のD次元座標位置、及び更新頻度係数の上限値kmaxと、後述する初期化部24又はクラスタ中心更新部28により計算されたクラスタ中心cの各々の位置のD次元座標位置と、後述する初期化部24又はクラスタ中心更新部28により計算されたデータ点xの各々の更新頻度Δt、及び更新頻度係数kと、後述するクラスタ中心更新部28により計算されたクラスタ中心cの各々の移動距離pj,tと、後述する所属クラスタ中心探索部26において計算された周期tにおけるデータ点xの各々と、クラスタ中心cとの各々との距離が記憶されている。なお、周期tとは、所属クラスタ中心探索部26による処理、クラスタ中心更新部28の処理、及び収束判定部30の処理の繰り返し回数を表し、周期tの初期値は1となり、当該処理の繰り返し毎に周期tの値に1を加算していくものとする。 The parameter storage unit 22, D-dimensional coordinates of each data point x i accepted in the input unit 10, and calculates the upper limit value k max update frequency coefficients, the initialization unit 24 or cluster centers updating unit 28 will be described later The D-dimensional coordinate position of each position of the cluster center c j and the update frequency Δt i of each data point x i calculated by the initialization unit 24 or the cluster center update unit 28 described later, and the update frequency coefficient k. i , the movement distance p j, t of each of the cluster centers c j calculated by the cluster center updating unit 28 described later , and each of the data points x i in the period t calculated by the belonging cluster center searching unit 26 described later. And the distance from each of the cluster centers c j is stored. The period t represents the number of repetitions of the process by the cluster center search unit 26, the process of the cluster center update unit 28, and the process of the convergence determination unit 30. The initial value of the period t is 1, and the process is repeated. Assume that 1 is added to the value of the period t every time.

初期化部24は、入力部10において受け付けたデータ点xの各々から、ランダムにC個を選択し、選択したデータ点xのD次元座標位置を、クラスタjのクラスタ中心cのD次元座標位置とし、パラメータ記憶部22に記憶する。また、初期化部24は、データ点xの各々についての更新頻度Δtの値を1としてパラメータ記憶部22に記憶する。また、初期化部24は、データ点xの各々についての更新頻度係数kの値を0としてパラメータ記憶部22に記憶する。 The initialization unit 24 randomly selects C data points from each of the data points x i received by the input unit 10, and sets the D-dimensional coordinate position of the selected data points x i to D of the cluster center c j of the cluster j . The dimension coordinate position is set and stored in the parameter storage unit 22. In addition, the initialization unit 24 stores the value of the update frequency Δt i for each data point x i as 1 in the parameter storage unit 22. The initialization unit 24 stores the value of the update frequency coefficient k i for each data point x i as 0 in the parameter storage unit 22.

所属クラスタ中心探索部26は、入力部10において受け付けたデータ点の集合Xに含まれる複数のデータ点xの各々について、当該データ点xについて、パラメータ記憶部22に記憶されている当該データ点xの更新頻度Δtと現在の周期tとに基づいて、当該データ点xの所属するクラスタaを探索するために、当該データ点xとクラスタ中心cの各々との距離を計算する処理を省略できるか否かを判定する。 Cluster membership center searching unit 26, for each of a plurality of data points x i in the set X of the received data points in the input unit 10, for the data points x i, the data stored in the parameter storage section 22 based on the update frequency Delta] t i and the current period t at the point x i, in order to search the cluster a i belonging of the data points x i, a distance between each of the data points x i and the cluster center c j It is determined whether or not the process of calculating can be omitted.

また、所属クラスタ中心探索部26は、計算する処理を省略できないと判定されたデータ点xの各々について、パラメータ記憶部22に記憶されている当該データ点xのD次元座標位置、及びクラスタ中心cの各々のD次元座標位置との距離に基づいて、当該データ点xと、クラスタ中心cとの距離を計算する。そして、データ点xの各々について、所属するクラスタaを決定する。 Moreover, belonging cluster center searching unit 26, for each of the determined can not skip the process of calculating data points x i, D dimension coordinates of the data points x i stored in the parameter storage unit 22, and the cluster based on the distance between each of the D-dimensional coordinate position of the center c j, calculating the corresponding data points x i, the distance between the cluster center c j. Then, for each data point x i , the cluster a i to which it belongs is determined.

具体的には、まず、パラメータ記憶部22に記憶されているデータ点xの更新頻度Δtと、周期tとに基づいて、下記(5)式を満たすか否かを判定する。 Specifically, first, based on the update frequency Δt i of the data point x i stored in the parameter storage unit 22 and the period t, it is determined whether or not the following equation (5) is satisfied.

当該データ点xの更新頻度Δtが、上記(5)式を満たす場合、当該データ点xについて、当該データ点xとクラスタ中心cの各々との距離を計算する処理を省略できないと判定する。一方、当該データ点xの更新頻度Δtが、上記(5)式を満たさない場合、当該データ点xとクラスタ中心cの各々との距離を計算する処理を省略することができると判定し、当該データ点xが現在所属するクラスタaにそのまま属するとする。 Update frequency Delta] t i of the data points x i is if it satisfies the above equation (5), for the data points x i, can not skip the process of calculating the distance between each of the data points x i and the cluster center c j Is determined. On the other hand, the update frequency Delta] t i of the data points x i If the does not satisfy the equation (5), when it is possible to omit the process of calculating the distance between each of the data points x i and the cluster center c j It is determined that the data point x i directly belongs to the cluster a i to which it currently belongs.

次に、当該データ点xとクラスタ中心cの各々との距離を計算する処理を省略できないと判定されたデータ点xの各々について、パラメータ記憶部22に記憶されている当該データ点xのD次元座標位置、及びクラスタ中心cの各々のD次元座標位置に基づいて、当該データ点xと、クラスタ中心cの各々との距離の各々を計算する。ここで、周期tにおけるデータ点xと、クラスタ中心cとの距離をd(x,cj,t)と表す。 Next, for each data point x i determined that the process of calculating the distance between the data point x i and each of the cluster centers c j cannot be omitted, the data point x stored in the parameter storage unit 22 i D-dimensional coordinates, and based on each of D-dimensional coordinate position of the cluster centers c j, calculating the respective distances between the data points x i, with each of the cluster center c j. Here, the distance between the data point x i and the cluster center c j in the period t is expressed as d (x i , c j, t ).

そして、当該データ点xとクラスタ中心cの各々との距離を計算する処理を省略できないと判定されたデータ点xの各々について、計算された距離d(x,cj,t)の各々に基づいて、下記(6)式に従って、当該データ点xが所属するクラスタaを更新する。 Then, the calculated distance d (x i , c j, t ) is calculated for each data point x i determined that the process of calculating the distance between the data point x i and each of the cluster centers c j cannot be omitted. Based on each of the above, the cluster a i to which the data point x i belongs is updated according to the following equation (6).

クラスタ中心更新部28は、所属クラスタ中心探索部26において取得したデータ点xの各々の所属するクラスタaと、パラメータ記憶部22に記憶されているデータ点xの各々のD次元座標位置とに基づいて、クラスタjの各々のクラスタ中心cのD次元座標位置を更新する。また、クラスタ中心更新部28は、クラスタjの各々について、周期t−1から周期tにおいて、クラスタ中心cのD次元座標位置の移動距離pj,tを計算する。また、クラスタ中心更新部28は、データ点xの各々について、所属クラスタ中心探索部26において取得したデータ点xの各々の所属するクラスタaの各々と、計算したクラスタjの各々についての移動距離pj,tとに基づいて、更新頻度係数kを更新し、当該更新した更新頻度係数kに基づいて、更新頻度Δtを更新する。 The cluster center updating unit 28 includes the cluster a i to which each of the data points x i acquired by the belonging cluster center searching unit 26 belongs, and the D-dimensional coordinate position of each of the data points x i stored in the parameter storage unit 22. Then, the D-dimensional coordinate position of each cluster center c j of the cluster j is updated. In addition, the cluster center updating unit 28 calculates the movement distance p j, t of the D-dimensional coordinate position of the cluster center c j from the period t−1 to the period t for each cluster j. Also, the cluster center update unit 28, for each data point x i, and each of the respective single cluster a i data points x i obtained in cluster membership center searching unit 26, for each of the calculated cluster j of The update frequency coefficient k i is updated based on the movement distance p j, t, and the update frequency Δt i is updated based on the updated update frequency coefficient k i .

具体的には、まず、クラスタjの各々について、所属クラスタ中心探索部26において取得したデータ点xの各々の所属するクラスタaに基づいて、当該クラスタjに所属するデータ点xの各々を取得する。次に、クラスタjの各々について、パラメータ記憶部22に記憶されている、取得した当該クラスタjに含まれるデータ点xのD次元座標位置に基づいて、下記(7)式に従って、当該クラスタjの、周期tにおけるクラスタ中心cj,tのD次元座標位置を更新し、パラメータ記憶部22に記憶する。 Specifically, first, for each cluster j, based on the respective single cluster a i data points x i obtained in cluster membership center searching unit 26, each data point x i belonging to the cluster j To get. Next, clusters For each of j, stored in the parameter storage unit 22, based on the D-dimensional coordinate position of the data point x i included in the acquired the cluster j, in accordance with the following equation (7), the cluster j The D-dimensional coordinate position of the cluster center c j, t in period t is updated and stored in the parameter storage unit 22.

次に、クラスタjの各々について、パラメータ記憶部22に記憶されている周期t−1のクラスタ中心cj,t−1のD次元座標位置と、計算した周期tのクラスタ中心cj,tのD次元座標位置とに基づいて、クラスタ中心の移動距離pj,tを計算し、パラメータ記憶部22に記憶する。 Next, for each cluster j, the D-dimensional coordinate position of the cluster center c j, t−1 of the period t−1 stored in the parameter storage unit 22 and the calculated cluster center c j, t of the period t Based on the D-dimensional coordinate position, the movement distance p j, t of the cluster center is calculated and stored in the parameter storage unit 22.

次に、データ点xの各々について、計算された当該データ点xの所属するクラスタaのクラスタ中心 Next, for each data point x i , the calculated cluster center of the cluster a i to which the data point x i belongs

の移動距離 Distance traveled

に基づいて、上記(2)〜(4)式に基づいて、更新頻度係数kを更新し、パラメータ記憶部22に記憶する。ここで、計算された更新頻度係数kの値が、パラメータ記憶部22に記憶されているkmaxよりも大きい値となる場合には、更新頻度係数k=kmaxとし、計算された更新頻度係数kの値が、0より小さくなる場合には、更新頻度係数k=0とする。そして、データ点xの各々について、計算された当該データ点xの更新頻度係数kに基づいて、上記(1)式に従って、当該データ点xの更新頻度Δtを更新し、パラメータ記憶部22に記憶する。 Based on, based on the above (2) to (4), updates the update frequency coefficients k i, are stored in the parameter storage unit 22. Here, when the value of the calculated update frequency coefficient k i is larger than k max stored in the parameter storage unit 22, the update frequency coefficient k i = k max is set and the calculated update is performed. When the value of the frequency coefficient k i is smaller than 0, the update frequency coefficient k i = 0 is set. Then, for each data point x i, based on the update frequency coefficients k i of the calculated the data points x i, according to the above (1), and updates the update frequency Delta] t i of the data points x i, the parameter Store in the storage unit 22.

収束判定部30は、予め定められている収束条件を満たすか否かを判定する。第1の実施の形態においては、周期t−1の評価関数Ft−1と、周期tの評価関数Fとの差の絶対値|F−Ft−1|が予め定められた閾値以下であれば収束条件を満たすと判定する。 The convergence determination unit 30 determines whether or not a predetermined convergence condition is satisfied. In the first embodiment, an evaluation function F t-1 of period t-1, the absolute value of the difference between the evaluation function F t of the period t | F t -F t-1 | is predetermined threshold If it is below, it is determined that the convergence condition is satisfied.

また、収束判定部30は、収束条件を満たすと判定した場合には、周期tにおいて、所属クラスタ中心探索部26で取得した、データ点xの各々の所属するクラスタaの分類結果と、クラスタ中心更新部28で計算されたクラスタjの各々のクラスタ中心cのD次元座標位置とを出力部90に出力する。一方、収束判定部30は、収束条件を満たしていないと判定した場合には、所属クラスタ中心探索部26の処理と、クラスタ中心更新部28の処理と、収束判定部30の処理とを繰り返す。 If the convergence determination unit 30 determines that the convergence condition is satisfied, the classification result of the cluster a i to which each data point x i belongs, obtained by the belonging cluster center search unit 26 in the period t, The D-dimensional coordinate position of each cluster center c j calculated by the cluster center update unit 28 is output to the output unit 90. On the other hand, when it is determined that the convergence condition is not satisfied, the convergence determination unit 30 repeats the process of the belonging cluster center search unit 26, the process of the cluster center update unit 28, and the process of the convergence determination unit 30.

なお、評価関数Ftは、下記(8)式に従って計算されパラメータ記憶部22に記憶される。   The evaluation function Ft is calculated according to the following equation (8) and stored in the parameter storage unit 22.

ここで、データ点xについて、周期tにおける Here, for data point x i in period t

が、パラメータ記憶部22に存在しない場合には、パラメータ記憶部22に記憶されている、当該データ点xについてのtの値が最も大きい Is not present in the parameter storage unit 22, the value of t stored in the parameter storage unit 22 for the data point x i is the largest.

を用いることとする。 Will be used.

<第1の実施形態に係るクラスタリング装置の作用>
次に、第1の実施形態に係るクラスタリング装置100の作用について説明する。まず、入力部10において、データ点の集合Xと、更新頻度係数の上限値kmaxとを受け付け当該データ点の集合Xに含まれるデータ点xの各々のD次元座標位置と、更新頻度係数の上限値kmaxとをパラメータ記憶部22に記憶する。そして、入力部10においてクラスタ数Cを受け付けると、クラスタリング装置100によって図4〜図8に示すクラスタリング処理ルーチンを実行する。
<Operation of Clustering Device According to First Embodiment>
Next, the operation of the clustering apparatus 100 according to the first embodiment will be described. First, the input unit 10, a set X of data points, and D-dimensional coordinates of each data point x i in the set X of the upper limit value k max and the receiving the data point update frequency coefficients, update frequency coefficients Is stored in the parameter storage unit 22. When the cluster number C is received at the input unit 10, the clustering apparatus 100 executes the clustering processing routine shown in FIGS.

まず、図4のステップS100で、初期化部24は、各種パラメータの初期値を設定する。   First, in step S100 of FIG. 4, the initialization unit 24 sets initial values of various parameters.

次に、ステップS102で、所属クラスタ中心探索部26は、入力部10において受け付けたデータ点xの各々について、当該データ点xの所属するクラスタaを探索する。 Next, in step S <b> 102, the belonging cluster center search unit 26 searches for the cluster a i to which the data point x i belongs for each of the data points x i received in the input unit 10.

次に、ステップS104で、クラスタ中心更新部28は、クラスタjの各々について、当該クラスタjのクラスタ中心cj,tを更新する。また、ステップS104で、クラスタ中心更新部28は、データ点xの各々について、当該データ点xの更新頻度係数kを更新し、更新された更新頻度係数kに基づいて、当該データ点xの更新頻度Δtを更新する。 Next, in step S104, the cluster center updating unit 28 updates the cluster center c j, t of the cluster j for each cluster j. Further, in step S104, the cluster centers update unit 28, for each data point x i, and updates the update frequency coefficients k i of the data points x i, based on the updated update frequency coefficients k i, the data to update the update frequency Δt i of a point x i.

次に、ステップS106で、収束判定部30は、パラメータ記憶部22に記憶されているデータ点xの各々についての Next, in step S106, the convergence determining unit 30 for each data point x i stored in the parameter storage section 22

に基づいて、収束条件を満たすか否かを判定する。収束判定部30が、収束条件を満たすと判定した場合には、クラスタリング処理は、ステップS108へ移行する。一方、収束判定部30が、収束条件を満たさないと判定した場合には、クラスタリング処理は、ステップS102へ移行し、ステップS102〜ステップS106までの処理を繰り返す。 Based on the above, it is determined whether or not the convergence condition is satisfied. When the convergence determination unit 30 determines that the convergence condition is satisfied, the clustering process proceeds to step S108. On the other hand, when the convergence determination unit 30 determines that the convergence condition is not satisfied, the clustering process proceeds to step S102 and repeats the processes from step S102 to step S106.

次に、ステップS108で、収束判定部30は、ステップS102において取得したデータ点xの各々の所属するクラスタaの分類結果と、ステップS104において取得したクラスタjの各々のクラスタ中心cのD次元座標位置とを出力部90に出力してクラスタリング処理を終了する。 Next, in step S108, the convergence determining unit 30 determines the classification result of the cluster a i to which each data point x i acquired in step S102 belongs and the cluster center c j of each cluster j acquired in step S104. The D-dimensional coordinate position is output to the output unit 90, and the clustering process is terminated.

上記ステップS100の初期化処理について、図5について詳細に説明する。   The initialization process in step S100 will be described in detail with reference to FIG.

図5のステップS200で、初期化部24は、パラメータ記憶部22に記憶されているデータ点xの各々のD次元座標位置、及び更新頻度係数の上限値kmaxを読み込む。 In step S200 of FIG. 5, the initialization unit 24, each of the D-dimensional coordinate position of the data point x i stored in the parameter storage unit 22, and reads the upper limit value k max update frequency coefficients.

次に、ステップS202で、初期化部24は、周期tの値を0と設定する。   Next, in step S202, the initialization unit 24 sets the value of the period t to 0.

次に、ステップS204で、初期化部24は、入力部10において受け付けたN個のデータ点xから、C個のデータ点xを選択し、ステップS200において取得した、選択されたデータ点の各々のD次元座標位置をクラスタjの各々のクラスタ中心cj,tのD次元座標位置として決定し、パラメータ記憶部22に記憶する。 Next, in step S204, the initialization unit 24, the N data points x i accepted in the input unit 10, select the C-number of data points x i, obtained in step S200, the selected data points Are determined as the D-dimensional coordinate positions of the cluster centers c j, t of the cluster j, and stored in the parameter storage unit 22.

次に、ステップS206で、初期化部24は、iの値を1と設定する。   Next, in step S206, the initialization unit 24 sets the value of i to 1.

次に、ステップS208で、初期化部24は、データ点xの更新頻度Δtを1と設定し、パラメータ記憶部22に記憶する。 Next, in step S208, the initialization unit 24 sets the update frequency Delta] t i data points x i 1 and is stored in the parameter storage unit 22.

次に、ステップS210で、初期化部24は、データ点xの更新頻度係数kを0と設定し、パラメータ記憶部22に記憶する。 Next, in step S210, the initialization unit 24, the update frequency coefficients k i of the data points x i is set to 0, is stored in the parameter storage unit 22.

次に、ステップS212で、初期化部24は、iの値がNであるか否かを判定する。初期化部24が、iの値がN未満であると判定した場合には、初期化処理は、ステップS214へ移行する。一方、初期化部24が、iの値がNであると判定した場合には、初期化処理を終了する。   Next, in step S212, the initialization unit 24 determines whether or not the value of i is N. If the initialization unit 24 determines that the value of i is less than N, the initialization process proceeds to step S214. On the other hand, when the initialization unit 24 determines that the value of i is N, the initialization process ends.

次に、ステップS214で、初期化部24は、iの値をi+1と設定し、ステップS208へ移行する。   Next, in step S214, the initialization unit 24 sets the value of i to i + 1, and proceeds to step S208.

上記ステップS102の所属クラスタ中心探索処理について、図6について詳細に説明する。   The belonging cluster center search process in step S102 will be described in detail with reference to FIG.

図6のステップS300で、所属クラスタ中心探索部26は、iの値を1に設定する。   In step S300 of FIG. 6, the assigned cluster center search unit 26 sets the value of i to 1.

次に、ステップS302で、所属クラスタ中心探索部26は、tの値をt+1と設定する。   Next, in step S302, the assigned cluster center search unit 26 sets the value of t to t + 1.

次に、ステップS304で、所属クラスタ中心探索部26は、jの値を1に設定する。   Next, in step S304, the belonging cluster center search unit 26 sets the value of j to 1.

次に、ステップS306で、所属クラスタ中心探索部26は、iの値がNより大きいか否かを判定する。所属クラスタ中心探索部26が、iの値がN以下であると判定した場合には、所属クラスタ中心探索処理は、ステップS308へ移行する。一方、所属クラスタ中心探索部26が、iの値がNよりも大きいと判定した場合には、所属クラスタ中心探索処理は終了する。   Next, in step S306, the belonging cluster center search unit 26 determines whether or not the value of i is larger than N. If the belonging cluster center search unit 26 determines that the value of i is N or less, the belonging cluster center search process proceeds to step S308. On the other hand, if the belonging cluster center search unit 26 determines that the value of i is greater than N, the belonging cluster center search process ends.

次に、ステップS308で、所属クラスタ中心探索部26は、ステップS302において取得したtの値と、ステップS208、又は前回のクラスタリング処理におけるステップS509において取得したデータ点xの更新頻度Δtとに基づいて、上記(5)式を満たすか否かを判定する。所属クラスタ中心探索部26が、上記(5)式を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS310へ移行する。一方、所属クラスタ中心探索部26が、上記(5)式を満たさないと判定した場合には、データ点xが現在所属するクラスタaにそのまま属するとして、ステップS318へ移行する。 Next, in step S308, the assigned cluster center search unit 26 sets the value of t acquired in step S302 and the update frequency Δt i of the data point x i acquired in step S208 or step S509 in the previous clustering process. Based on this, it is determined whether or not the above equation (5) is satisfied. If the belonging cluster center search unit 26 determines that the above equation (5) is satisfied, the belonging cluster center searching process proceeds to step S310. On the other hand, if the belonging cluster center search unit 26 determines that the above equation (5) is not satisfied, the data point x i is assumed to belong to the cluster a i to which it currently belongs as it is, and the process proceeds to step S318.

次に、ステップS310で、所属クラスタ中心探索部26は、jの値がC以下であるか否かを判定する。所属クラスタ中心探索部26が、jの値がC以下であると判定した場合には、所属クラスタ中心探索処理は、ステップS312へ移行する。一方、所属クラスタ中心探索部26が、jの値がCよりも大きいと判定した場合には、所属クラスタ中心探索処理は、ステップS316へ移行する。   Next, in step S310, the belonging cluster center search unit 26 determines whether the value of j is C or less. If the belonging cluster center search unit 26 determines that the value of j is C or less, the belonging cluster center search process proceeds to step S312. On the other hand, if the belonging cluster center search unit 26 determines that the value of j is greater than C, the belonging cluster center search process proceeds to step S316.

次に、ステップS312で、所属クラスタ中心探索部26は、ステップS200において取得したデータ点xのD次元座標位置と、ステップS202、又は前回のクラスタリング処理のステップS404において取得したクラスタjのクラスタ中心cのD次元座標位置とに基づいて、距離d(x,cj,t)を計算する。 Next, in step S312, the belonging cluster center searching unit 26, a D-dimensional coordinates of the acquired data points x i in step S200, step S202, or cluster centers of the cluster j obtained in step S404 of the previous clustering process based on the D-dimensional coordinate position of c j, the distance d (x i, c j, t) is calculated.

次に、ステップS314で、所属クラスタ中心探索部26は、jの値をj+1に設定し、所属クラスタ中心探索処理は、ステップS310へ移行する。   Next, in step S314, the assigned cluster center search unit 26 sets the value of j to j + 1, and the assigned cluster center search process proceeds to step S310.

ステップS316で、所属クラスタ中心探索部26は、ステップS312において取得した、データ点xと、クラスタ中心cj,tの各々との距離d(x,cj,t)とに基づいて、上記(6)式に従って、当該データ点xの所属するクラスタaを更新する。 In step S316, the belonging cluster center search unit 26, based on the distance d (x i , c j, t ) between the data point x i and each of the cluster centers c j, t acquired in step S312, The cluster a i to which the data point x i belongs is updated according to the above equation (6).

次に、ステップS318で、所属クラスタ中心探索部26は、iの値をi+1に設定し、ステップS304へ移行する。   Next, in step S318, the assigned cluster center search unit 26 sets the value of i to i + 1, and proceeds to step S304.

上記ステップS104のクラスタ中心更新処理について、図7、及び図8について詳細に説明する。   The cluster center update process in step S104 will be described in detail with reference to FIGS.

図7のステップS400で、クラスタ中心更新部28は、jの値を1に設定する。   In step S400 of FIG. 7, the cluster center updating unit 28 sets the value of j to 1.

次に、ステップS402で、クラスタ中心更新部28は、パラメータ記憶部22に記憶されている周期t−1におけるクラスタ中心cj,t−1のD次元座標位置を読み込む。 Next, in step S < b> 402, the cluster center update unit 28 reads the D-dimensional coordinate position of the cluster center c j, t−1 in the period t−1 stored in the parameter storage unit 22.

次に、ステップS404で、クラスタ中心更新部28は、ステップS200において取得した、ステップS308、及びステップS316において取得したクラスタjに所属するデータ点xの各々のD次元座標位置に基づいて、上記(7)式に従って、クラスタ中心cj,tのD次元座標位置を計算し、パラメータ記憶部22に記憶する。 Next, in step S404, the cluster centers updating unit 28 acquired in step S200, step S308, and based on each of D-dimensional coordinate position of the data point x i belonging to the cluster j obtained in step S316, the The D-dimensional coordinate position of the cluster center c j, t is calculated according to the equation (7) and stored in the parameter storage unit 22.

次に、ステップS406で、クラスタ中心更新部28は、ステップS402において取得したクラスタ中心cj,t−1のD次元座標位置と、ステップS404において取得したクラスタ中心cj,tのD次元座標位置とに基づいて、周期t−1から周期tまでにおけるクラスタ中心cの移動距離pj,tを計算する。 Next, in step S406, the cluster center updating unit 28 determines the D-dimensional coordinate position of the cluster center c j, t−1 acquired in step S402 and the D-dimensional coordinate position of the cluster center c j, t acquired in step S404. Based on the above, the movement distance p j, t of the cluster center c j from the period t−1 to the period t is calculated.

次に、ステップS408で、クラスタ中心更新部28は、jの値がCの値よりも小さいか否かを判定する。クラスタ中心更新部28が、jの値がCの値よりも小さいと判定した場合には、ステップS410へ移行する。一方、クラスタ中心更新部28が、jの値がCの値以上であると判定した場合には、ステップS412へ移行する。   Next, in step S408, the cluster center update unit 28 determines whether the value of j is smaller than the value of C. When the cluster center updating unit 28 determines that the value of j is smaller than the value of C, the process proceeds to step S410. On the other hand, if the cluster center updating unit 28 determines that the value of j is greater than or equal to the value of C, the process proceeds to step S412.

ステップS410で、クラスタ中心更新部28は、jの値をj+1としてステップS402へ移行する。   In step S410, the cluster center update unit 28 sets j to j + 1, and proceeds to step S402.

次に、ステップS412で、クラスタ中心更新部28は、iの値を1に設定する。   Next, in step S412, the cluster center updating unit 28 sets the value of i to 1.

次に、ステップS414で、クラスタ中心更新部28は、ステップS406において取得したクラスタaの移動距離が上記(3)の条件を満たすか否かを判定する。クラスタ中心更新部28が、上記(3)の条件を満たすと判定した場合には、クラスタ中心更新処理は、ステップS416へ移行する。一方、クラスタ中心更新部28が、上記(3)の条件を満たしていないと判定した場合には、クラスタ中心更新処理は、ステップS419へ移行する。 Next, in step S414, the cluster center updating unit 28 determines whether or not the movement distance of the cluster a i acquired in step S406 satisfies the above condition (3). When the cluster center updating unit 28 determines that the condition (3) is satisfied, the cluster center updating process proceeds to step S416. On the other hand, when the cluster center updating unit 28 determines that the condition (3) is not satisfied, the cluster center updating process proceeds to step S419.

次に、ステップS416で、クラスタ中心更新部28は、データ点xの更新頻度係数kをk+1に更新する。 Next, in step S416, the cluster centers updating unit 28 updates the update frequency coefficients k i of the data points x i to k i +1.

次に、ステップS417で、クラスタ中心更新部28は、ステップS416において取得したデータ点xの更新頻度係数kがステップS200において取得したkmaxの値より大きいか否かを判定する。クラスタ中心更新部28が、データ点xの更新頻度係数kがステップS200において取得したkmaxの値以下と判定した場合には、クラスタ中心更新処理は、kをパラメータ記憶部22に記憶し、図8のステップS509へ移行する。一方、クラスタ中心更新部28が、データ点xの更新頻度係数kがステップS200において取得したkmaxの値より大きい場合には、クラスタ中心更新処理は、ステップS418へ移行する。 Next, in step S417, the cluster center updating unit 28 determines whether or not the update frequency coefficient k i of the data point x i acquired in step S416 is larger than the value of k max acquired in step S200. Cluster center updating unit 28, when the update frequency coefficients k i of the data points x i is determined to less than the value of the acquired k max in step S200, the cluster centers update processing, stores k i in the parameter storage section 22 Then, the process proceeds to step S509 in FIG. On the other hand, the cluster center updating unit 28, when the update frequency coefficients k i of the data points x i is greater than the value of k max obtained in step S200, the cluster centers updating process proceeds to step S418.

次に、ステップS418で、クラスタ中心更新部28は、ステップS416において取得したデータ点xの更新頻度係数kの値をステップS200において取得したkmaxの値とし、パラメータ記憶部22に記憶する。 Next, in step S418, the cluster center updating unit 28 sets the value of the update frequency coefficient k i of the data point x i acquired in step S416 as the value of k max acquired in step S200, and stores it in the parameter storage unit 22. .

ステップS419で、クラスタ中心更新部28は、ステップS406において取得したクラスタaの移動距離が上記(4)の条件を満たすか否かを判定する。クラスタ中心更新部28が、上記(4)の条件を満たすと判定した場合には、クラスタ中心更新処理は、ステップS420へ移行する。一方、クラスタ中心更新部28が、上記(4)の条件を満たしていないと判定した場合には、クラスタ中心更新処理は、図8のステップS500へ移行する。 In step S419, the cluster center updating unit 28 determines whether or not the movement distance of the cluster a i acquired in step S406 satisfies the condition (4). If the cluster center update unit 28 determines that the condition (4) is satisfied, the cluster center update process proceeds to step S420. On the other hand, when the cluster center updating unit 28 determines that the condition (4) is not satisfied, the cluster center updating process proceeds to step S500 in FIG.

次に、ステップS420で、クラスタ中心更新部28は、データ点xの更新頻度係数kをkとし、パラメータ記憶部22に記憶し、クラスタ中心更新処理は、図8のステップS509へ移行する。 Next, in step S420, the cluster centers updating unit 28, the update frequency coefficients k i of the data points x i and k i, stored in the parameter storage unit 22, the cluster center updating process proceeds to step S509 in FIG. 8 To do.

図8のステップS500で、クラスタ中心更新部28は、γの値を1に設定する。   In step S500 of FIG. 8, the cluster center updating unit 28 sets the value of γ to 1.

次に、ステップS502で、クラスタ中心更新部28は、ステップS406において取得したクラスタaの移動距離が上記(2)の条件を満たすか否かを判定する。クラスタ中心更新部28が、上記(2)の条件を満たすと判定した場合には、クラスタ中心更新処理は、ステップS506へ移行する。一方、クラスタ中心更新部28が、上記(2)の条件を満たしていないと判定した場合には、クラスタ中心更新処理は、ステップS504へ移行する。 Next, in step S502, the cluster center updating unit 28 determines whether or not the movement distance of the cluster a i acquired in step S406 satisfies the above condition (2). When the cluster center update unit 28 determines that the condition (2) is satisfied, the cluster center update process proceeds to step S506. On the other hand, when the cluster center updating unit 28 determines that the condition (2) is not satisfied, the cluster center updating process proceeds to step S504.

次に、ステップS504で、クラスタ中心更新部28は、γの値をγ+1に設定する。   Next, in step S504, the cluster center updating unit 28 sets the value of γ to γ + 1.

次に、ステップS506で、クラスタ中心更新部28は、データ点xの更新頻度係数kをk−γとする。 Next, in step S506, the cluster centers updating unit 28, the update frequency coefficients k i of the data points x i and k i-gamma.

次に、ステップS507で、クラスタ中心更新部28は、ステップS506において取得したデータ点xの更新頻度係数kが0の値より小さいか否かを判定する。クラスタ中心更新部28が、データ点xの更新頻度係数kが0の値より小さいと判定した場合には、クラスタ中心更新処理は、ステップS508へ移行する。一方、クラスタ中心更新部28が、データ点xの更新頻度係数kが0の値以上である場合には、クラスタ中心更新処理は、kをパラメータ記憶部22に記憶し、ステップS509へ移行する。 Next, in step S507, the cluster center updating unit 28 determines whether or not the update frequency coefficient k i of the data point x i acquired in step S506 is smaller than a value of 0. Cluster center updating unit 28, when it is determined that the update frequency coefficients k i of the data points x i is less than the value of zero, cluster centers updating process proceeds to step S508. On the other hand, the cluster center updating unit 28, when the update frequency coefficients k i of the data points x i is a value of 0 or greater, the cluster centers updating process stores the k i in the parameter storage unit 22, to step S509 Transition.

ステップS508で、クラスタ中心更新部28は、ステップS506において取得した、データ点xの更新頻度係数kを0とし、パラメータ記憶部22に記憶する。 In step S508, the cluster center update unit 28 sets the update frequency coefficient k i of the data point x i acquired in step S506 to 0 and stores it in the parameter storage unit 22.

次に、ステップS509で、クラスタ中心更新部28は、ステップS416、ステップS418、ステップS420、ステップS506、又はステップS508において取得したデータ点xの更新頻度係数kに基づいて、上記(1)式にしたがって、データ点xiの更新頻度Δtを更新し、パラメータ記憶部22に記憶する。 Next, in step S509, the cluster center updating unit 28, based on the update frequency coefficient k i of the data point x i acquired in step S416, step S418, step S420, step S506, or step S508, the above (1). The update frequency Δt i of the data point xi is updated according to the equation and stored in the parameter storage unit 22.

次に、ステップS510で、クラスタ中心更新部28は、iの値がNより小さいか否かを判定する。クラスタ中心更新部28が、iの値がNより小さいと判定した場合には、クラスタ中心更新処理は、ステップS512へ移行する。一方、クラスタ中心更新部28が、iの値がNより小さいと判定した場合には、クラスタ中心更新処理は終了する。   Next, in step S510, the cluster center update unit 28 determines whether or not the value of i is smaller than N. When the cluster center update unit 28 determines that the value of i is smaller than N, the cluster center update process proceeds to step S512. On the other hand, when the cluster center updating unit 28 determines that the value of i is smaller than N, the cluster center updating process ends.

ステップS512で、クラスタ中心更新部28は、iの値をi+1に設定し、図7のステップS414へ移行する。   In step S512, the cluster center update unit 28 sets the value of i to i + 1, and proceeds to step S414 in FIG.

以上説明したように、第1の実施形態に係るクラスタリング装置によれば、複数のデータ点の各々について、データ点の所属するクラスタを決定し、複数のクラスタの各々について、クラスタに所属すると決定されたデータ点の位置に基づいて、クラスタの中心位置を更新し、更新前と更新後のクラスタの中心位置の移動距離を計算し、複数のデータ点の各々について、計算されたデータ点の所属するクラスタの中心位置の移動距離に基づいて、データ点についての所属するクラスタを決定する処理を行う頻度を決定し、予め定められた収束条件を満たすまで、所属するクラスタの決定と、データ点についての所属するクラスタを決定する処理を行う頻度の決定とを繰り返すことにより、データ点の数及びクラスタの数が大きな値であっても、複数のデータ点を高速にクラスタリングすることができる。   As described above, according to the clustering device according to the first embodiment, the cluster to which the data point belongs is determined for each of the plurality of data points, and each of the plurality of clusters is determined to belong to the cluster. The center position of the cluster is updated based on the position of the data point, the movement distance of the center position of the cluster before and after the update is calculated, and the calculated data point belongs to each of the plurality of data points. Based on the movement distance of the cluster center position, determine the frequency of performing the process of determining the cluster to which the data point belongs, determine the cluster to which the data point belongs, and Even if the number of data points and the number of clusters are large, by repeating the process of determining the cluster to which they belong, A plurality of data points can be clustered at a high speed.

また、従来のLloyd法の1周期当たりの計算回数はNC回であるのに対し、第1の実施形態に係るクラスタリング装置100を用いることで、1周期当たりの計算回数をNCにすることができる。ただし、 Further, while the number of calculations per cycle of conventional Lloyd method is NC times, using the clustering apparatus 100 according to the first embodiment, to the number of calculations per cycle N I C Can do. However,

とする。図9に従来の方法から省略された回数の例を示す。 And FIG. 9 shows an example of the number of times omitted from the conventional method.

また、アルゴリズムの実行時間の短縮、及び計算の高速化を実現することができる。   In addition, the algorithm execution time can be shortened and the calculation speeded up.

また、所属クラスタ中心の直前の移動距離に応じて、距離計算の対象とするかどうかの制約を加えることで、距離計算を行うデータ点の数を減らし、全体の距離計算の回数削減を実現している。   In addition, by adding a restriction on whether or not to be a distance calculation target according to the movement distance immediately before the cluster center, the number of data points for distance calculation is reduced and the total number of distance calculations is reduced. ing.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

例えば、第1の実施形態においては、収束条件を評価関数に基づいて満たしているか否かを判定する場合について説明したが、これに限定されるものではなく、周期数等、他の収束条件を用いてもよい。   For example, in the first embodiment, the case where it is determined whether or not the convergence condition is satisfied based on the evaluation function has been described. However, the present invention is not limited to this, and other convergence conditions such as the number of periods are set. It may be used.

次に、第2の実施形態に係るクラスタリング装置について説明する。   Next, a clustering apparatus according to the second embodiment will be described.

第2の実施形態においては、三角不等式を利用したk−means高速化手法であるElkan法に追加の処理を加える点が第1の実施形態と異なる。なお、第1の実施形態に係るクラスタリング装置と同様の構成及び作用については、同一の符号を付して説明を省略する。   The second embodiment is different from the first embodiment in that an additional process is added to the Elkan method, which is a k-means speed-up method using a triangle inequality. In addition, about the structure and effect | action similar to the clustering apparatus which concerns on 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.

まず、Elkan法による計算の省略について説明する。   First, the omission of calculation by the Elkan method will be described.

第1の計算の省略については、図10に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the first calculation, as shown in FIG. 10, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ中心 , And cluster center

から最近傍のクラスタ中心cが存在する場合、下記(9)式を満たすならば、所属クラスタaのクラスタ中心 If the nearest cluster center c j is present, if the following equation (9) is satisfied, the cluster center of the belonging cluster a i

が、データ点xに最も近いといえる。そのため、当該データ点xと全てのクラスタ中心間との距離計算を省略することができる。なお、下記(10)式に示すu(i)は、更新前の所属クラスタ中心 There, it can be said that the closest to the data point x i. Therefore, the distance calculation between the data point x i and all cluster centers can be omitted. Note that u (i) shown in the following equation (10) is the cluster center before update.

とデータ点xとの距離に、更新後の所属クラスタ中心 The distance between the data points x i, belonging to the cluster center of the updated

の移動距離を足したものであり、データ点xと所属クラスタ中心間の距離の上限値を表す。 And the upper limit value of the distance between the data point x i and the cluster center of the cluster.





第2の計算の省略については、図11に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the second calculation, as shown in FIG. 11, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ以外の他のクラスタ中心cが存在する場合、下記(11)式を満たすならば、所属クラスタaのクラスタ中心 , And other cluster centers c j other than the belonging cluster, if the following equation (11) is satisfied, the cluster center of the belonging cluster a i

が、他のクラスタ中心cよりもデータ点xに近いといえる。そのため、当該データ点xと他のクラスタ中心間との距離計算を省略することができる。 Is closer to the data point x i than the other cluster centers c j . Therefore, it is possible to omit the distance calculation between the between the data points x i and other cluster center.

第3の計算の省略については、図12に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the third calculation, as shown in FIG. 12, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ以外の他のクラスタ中心cが存在する場合、下記(12)式を満たすならば、所属クラスタaのクラスタ中心 , And other cluster centers c j other than the belonging cluster, if the following equation (12) is satisfied, the cluster center of the belonging cluster a i

が、他のクラスタ中心cよりもデータ点xに近いといえる。そのため、当該データ点xと他のクラスタ中心間との距離計算を省略することができる。なお、下記(13)式に示すl(i,j)は、更新前の他のクラスタ中心cとデータ点xとの距離に、更新後の他のクラスタ中心の移動距離を引いたものであり、データ点xと所属クラスタ中心間の距離の下限値を表す。 Is closer to the data point x i than the other cluster centers c j . Therefore, it is possible to omit the distance calculation between the between the data points x i and other cluster center. Incidentally, what l shown below (13) (i, j) is the distance of the other cluster center c j and the data point x i before updating, by subtracting the moving distance of the other cluster centers the updated , and the representative of the lower limit of the distance between the cluster membership centered data point x i.





第4の計算の省略については、図13に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the fourth calculation, as shown in FIG. 13, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ以外の他のクラスタ中心cが存在する場合、下記(14)式を満たすならば、所属クラスタaのクラスタ中心 , And other cluster centers c j other than the belonging cluster, if the following equation (14) is satisfied, the cluster center of the belonging cluster a i

が、他のクラスタ中心cよりもデータ点xに近いといえる。そのため、当該データ点xと他のクラスタ中心間との距離計算を省略することができる。 Is closer to the data point x i than the other cluster centers c j . Therefore, it is possible to omit the distance calculation between the between the data points x i and other cluster center.

第5の計算の省略については、図14に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the fifth calculation, as shown in FIG. 14, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ以外の他のクラスタ中心cが存在する場合、下記(15)式を満たすならば、所属クラスタaのクラスタ中心 , And other cluster centers c j other than the belonging cluster, if the following equation (15) is satisfied, the cluster center of the belonging cluster a i

が、他のクラスタ中心cよりもデータ点xに近いといえる。そのため、当該データ点xと他のクラスタ中心間との距離計算を省略することができる。 Is closer to the data point x i than the other cluster centers c j . Therefore, it is possible to omit the distance calculation between the between the data points x i and other cluster center.


<第2の実施形態に係るクラスタリング装置の構成>
次に、第2の実施形態に係るクラスタリング装置の構成について説明する。図15に示すように、第2の実施形態に係るクラスタリング装置200は、CPUと、RAMと、後述するクラスタリング処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このクラスタリング装置は、機能的には図15に示すように入力部10と、演算部220と、出力部90とを含んで構成されている。
<Configuration of Clustering Device According to Second Embodiment>
Next, the configuration of the clustering apparatus according to the second embodiment will be described. As shown in FIG. 15, the clustering apparatus 200 according to the second embodiment is configured by a computer including a CPU, a RAM, and a ROM that stores a program for executing a clustering processing routine described later and various data. can do. Functionally, the clustering apparatus includes an input unit 10, a calculation unit 220, and an output unit 90 as shown in FIG.

演算部220は、パラメータ記憶部222と、初期化部224と、所属クラスタ中心探索部226と、クラスタ中心更新部228と、収束判定部30とを含んで構成されている。   The calculation unit 220 includes a parameter storage unit 222, an initialization unit 224, a belonging cluster center search unit 226, a cluster center update unit 228, and a convergence determination unit 30.

パラメータ記憶部222には、入力部10において受け付けたデータ点xの各々のD次元座標位置、及び更新頻度係数の上限値kmaxと、後述する初期化部224又はクラスタ中心更新部228により計算されたクラスタ中心cの各々の位置のD次元座標位置、全てのクラスタの組み合わせのクラスタ中心c間の各々の距離、及び全てのクラスタjの各々についての最近傍のクラスタとのクラスタ中心c間の距離s(j)と、後述する初期化部224又はクラスタ中心更新部228により計算されたデータ点xの各々の更新頻度Δt、更新頻度係数k、所属するクラスタaのクラスタ中心と当該データ点xとの距離の上限値u(i)、及びクラスタjの各々のクラスタ中心と当該データ点xとの距離の下限値l(i,j)の各々と、後述するクラスタ中心更新部228により計算されたクラスタ中心cの各々の周期t−1から周期tまでの移動距離pj,tと、後述する所属クラスタ中心探索部226において計算された周期tにおけるデータ点xの各々と、クラスタ中心cとの各々との距離が記憶されている。 The parameter storage unit 222, each of the D-dimensional coordinate position of the data point x i accepted in the input unit 10, and calculates the upper limit value k max update frequency coefficients, the initialization unit 224 or cluster centers updating unit 228 will be described later has been D-dimensional coordinates of each position of the cluster centers c j, the distance each between cluster centers c j of a combination of all of the clusters, and the cluster center c of the closest clusters for each of all the clusters j distance s and (j) between the j, of each of the calculated data points x i by the initialization unit 224 or cluster centers updating unit 228 to be described later update frequency Delta] t i, update frequency coefficients k i, a cluster a i belonging cluster center and the upper limit value u of the distance between the data point x i (i), and the lower limit value of the distance between each of the cluster center and the data point x i in cluster j (I, j) and each of the moving distance p j from period t-1 for each of the cluster centers c j calculated by the cluster centers updating unit 228 to be described later to the period t, and t, belonging cluster centers the search to be described later The distance between each of the data points x i and the cluster center c j in the period t calculated in the unit 226 is stored.

初期化部224は、入力部10において受け付けたデータ点xの各々から、ランダムにC個を選択し、選択したデータ点xのD次元座標位置を、クラスタjのクラスタ中心cのD次元座標位置とし、パラメータ記憶部222に記憶する。また、初期化部224は、データ点xの各々についての更新頻度Δtの値を1としてパラメータ記憶部222に記憶する。また、初期化部224は、データ点xの各々についての更新頻度係数kの値を0としてパラメータ記憶部222に記憶する。また、初期化部224は、全てのクラスタjの各々のクラスタ間のクラスタ中心距離d(c,cj´)を計算し(j´≠j)、パラメータ記憶部222に記憶する。また、初期化部224は、クラスタjの各々について、計算したクラスタ中心距離d(c,cj´)のうち一番距離が小さいものを当該クラスタjの最近傍のクラスタ中心との距離s(j)としてパラメータ記憶部222に記憶する。また、初期化部224は、データ点xの各々について、所属するクラスタaをランダムに設定する。 The initialization unit 224 randomly selects C from each of the data points x i received by the input unit 10, and sets the D-dimensional coordinate position of the selected data point x i to D of the cluster center c j of the cluster j . The dimension coordinate position is stored in the parameter storage unit 222. The initialization unit 224 stores the value of the update frequency Δt i for each data point x i as 1 in the parameter storage unit 222. Further, the initialization unit 224 stores the value of the update frequency coefficient k i for each data point x i as 0 in the parameter storage unit 222. Further, the initialization unit 224 calculates the cluster center distance d (c j , c j ) between each of all the clusters j ( j ′ ≠ j) and stores it in the parameter storage unit 222. In addition, the initialization unit 224 determines, for each cluster j, the calculated cluster center distance d (c j , c j ) that has the shortest distance to the nearest cluster center of the cluster j. (J) is stored in the parameter storage unit 222. In addition, the initialization unit 224 randomly sets the cluster a i to which the data point x i belongs.

次に、初期化部224は、パラメータ記憶部222に記憶されている入力部10において受け付けたデータ点xの各々のD次元座標位置、及びクラスタjの各々のクラスタ中心cのD次元座標位置に基づいて、データ点xの各々について、当該データ点xとクラスタjの各々との距離d(x,c)を計算する。次に、データ点xの各々について、当該データ点xが所属するクラスタaとの距離d(x,a)を、当該データ点xと所属クラスタ中心間との距離の上限値u(i)としてパラメータ記憶部222に記憶する。次に、データ点xの各々について、当該データ点xとクラスタjのクラスタ中心cとの距離d(x,c)を、当該データ点xとクラスタjの各々のクラスタ中心cとの距離の下限値l(i,j)の各々としてパラメータ記憶部222に記憶する。 Next, the initialization unit 224 receives the D-dimensional coordinate position of each data point x i received by the input unit 10 stored in the parameter storage unit 222 and the D-dimensional coordinate of each cluster center c j of the cluster j. based on the position, for each data point x i, calculate the distance d (x i, c j) and each of the data points x i and cluster j. Then, for each data point x i, the distance d (x i, a i) of the cluster a i of the data points x i belongs to, the upper limit of the distance between the between the affiliation cluster center with the data points x i The value is stored in the parameter storage unit 222 as the value u (i). Then, for each data point x i, of each of the distance d (x i, c j) and the data points x i and the cluster j to the cluster center c j of the data points x i and the cluster j cluster center c : Stored in the parameter storage unit 222 as each lower limit value l (i, j) of the distance to j.

所属クラスタ中心探索部226は、入力部10において受け付けたデータ点の集合Xに含まれる複数のデータ点xの各々について、当該データ点xについて、パラメータ記憶部222に記憶されている当該データ点xの更新頻度Δtと現在の周期tとに基づいて、上記(5)式の条件を満たすか否かを判定する。また、所属クラスタ中心探索部226は、データ点xの各々について、パラメータ記憶部222に記憶されている当該データ点xの当該データ点xと所属クラスタ中心 Cluster membership center search unit 226, for each of a plurality of data points x i in the set X of the received data points in the input unit 10, for the data points x i, the data stored in the parameter storage unit 222 based on the update frequency Delta] t i and the current period t at the point x i, it is judged whether or not the condition equation (5). Moreover, belonging cluster center search unit 226, for each data point x i, belonging cluster center with the data points x i of the data points x i stored in the parameter storage unit 222

との距離の上限値u(i)、及び所属クラスタaの最近傍のクラスタ中心cとの距離s(a)に基づいて、上記(9)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226は、上記(5)式の条件を満たさない、又は上記(9)式の条件を満たすデータ点xについては、当該データ点xと全てのクラスタ中心cとの距離計算を省略することができると判定する。この場合、当該データ点xは、現在所属するクラスタaにそのまま所属する。 Recently, based on the distance between the cluster center c j beside s (a i), determining whether or not the condition (9) below the upper limit value u (i), and cluster membership a i in the distance between the To do. For the data point x i that does not satisfy the condition of the above expression (5) or satisfies the condition of the above expression (9), the belonging cluster center search unit 226 calculates the relationship between the data point x i and all the cluster centers c j . It is determined that the distance calculation can be omitted. In this case, the data point x i belongs to the currently belonging cluster a i as it is.

次に、所属クラスタ中心探索部226は、上記(5)式の条件を満たす、又は上記(9)式の条件を満たさない処理対象となるデータ点xの各々について、取得した当該データ点xの当該データ点xと所属クラスタ中心 Next, the belonging cluster center search unit 226 acquires the data point x i for each data point xi that satisfies the condition of the above expression (5) or does not satisfy the condition of the above expression (9). i data point x i and cluster center

との距離の上限値u(i)、及びパラメータ記憶部222に記憶されている所属クラスタaと特定のクラスタjとの中心位置間の距離 And the distance between the center positions of the cluster a i and the specific cluster j stored in the parameter storage unit 222.

とに基づいて、上記(11)式の条件を満たすか否かを判定する。また、所属クラスタ中心探索部226は、処理対象となるデータ点xの各々について、パラメータ記憶部222に記憶されている当該データ点xの当該データ点xと特定のクラスタ中心との間の距離の下限値l(i,j)と、取得した当該データ点xの当該データ点xと所属クラスタ中心 Based on the above, it is determined whether or not the condition of the above expression (11) is satisfied. Moreover, belonging cluster center search unit 226, for each data point x i to be processed, between the data points x i and a particular cluster center of the data points x i stored in the parameter storage unit 222 The lower limit l (i, j) of the distance, the data point x i of the acquired data point x i and the cluster center

との距離の上限値u(i)とに基づいて、上記(12)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226は、上記(11)式、又は上記(12)式の条件を満たすデータ点xとクラスタjとの組み合わせについては、当該データ点xと、当該クラスタjのクラスタ中心cとの距離計算を省略する。 On the basis of the upper limit value u (i) of the distance between the above and (12). For the combination of the data point x i and the cluster j that satisfy the condition of the expression (11) or the expression (12), the belonging cluster center search unit 226 determines the data point x i and the cluster center of the cluster j. c The distance calculation with j is omitted.

次に、所属クラスタ中心探索部226は、上記(5)式の条件を満たし、かつ、上記(9)式の条件を満たさないデータ点xの各々であって、更に、上記(11)式、及び上記(12)式の条件を満たさないクラスタjとの組み合わせの各々について、パラメータ記憶部222に記憶されている当該データ点xのD次元座標位置、及び当該データ点xの所属しているクラスタaのクラスタ中心 Next, the assigned cluster center search unit 226 is a data point x i that satisfies the condition of the above expression (5) and does not satisfy the condition of the above expression (9), and further includes the above expression (11). , and for each combination of the cluster j that does not satisfy the condition of equation (12), D-dimensional coordinate position of the data point x i stored in the parameter storage unit 222, and belongs to the corresponding data points x i Cluster center of cluster a i

のD次元座標位置に基づいて、データ点と所属クラスタ中心 Based on the D-dimensional coordinate position of the data point and the cluster center

との距離を計算する。ここで、計算した距離を当該データ点xのu(i)としてパラメータ記憶部222に記憶する。 And calculate the distance. Here, stored in the parameter storage unit 222 the calculated distance as u (i) of the data points x i.

次に、所属クラスタ中心探索部226は、上記(5)式を満たし、かつ、上記(9)式の条件を満たさないデータ点xの各々であって、更に、上記(11)式、及び上記(12)式の条件を満たさないクラスタjとの組み合わせの各々について、計算したデータ点xと所属クラスタ中心 Next, the belonging cluster center search unit 226 is each of the data points x i that satisfy the above equation (5) and do not satisfy the condition of the above equation (9), and further, the above equation (11), and For each combination with cluster j that does not satisfy the condition of equation (12) above, the calculated data point x i and the cluster center to which it belongs

との距離と、パラメータ記憶部222に記憶されているデータ点xが所属するクラスタaのクラスタ中心 And the cluster center of the cluster a i to which the data point x i stored in the parameter storage unit 222 belongs

と特定のクラスタ中心cとの距離とに基づいて、上記(14)式の条件を満たすか否かを判定する。また、所属クラスタ中心探索部226は、上記(5)式の条件を満たし、かつ、及び上記(9)式の条件を満たさないデータ点xの各々であって、更に、上記(11)式、及び上記(12)式の条件を満たさないクラスタjとの組み合わせの各々について、計算したデータ点xと所属クラスタ中心 And the distance from the specific cluster center c j , it is determined whether or not the condition of the above expression (14) is satisfied. Further, the belonging cluster center search unit 226 is a data point x i that satisfies the condition of the above expression (5) and does not satisfy the condition of the above expression (9), and further includes the above expression (11). , And for each combination with the cluster j that does not satisfy the condition of the above equation (12), the calculated data point x i and the assigned cluster center

との距離と、パラメータ記憶部222に記憶されている当該データ点xと特定のクラスタ中心cとの間の距離の下限値l(i,l)とに基づいて、上記(15)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226は、上記(14)式、又は上記(15)式の条件を満たすデータ点xとクラスタjとの組み合わせについては、当該データ点xとクラスタ中心cとの間の距離計算を省略する。 And the lower limit value l (i, l) of the distance between the data point x i and the specific cluster center c j stored in the parameter storage unit 222, the above equation (15) It is determined whether or not the above condition is satisfied. For the combination of the data point x i and the cluster j satisfying the condition of the above equation (14) or the above equation (15), the belonging cluster center search unit 226 is between the data point x i and the cluster center c j. The distance calculation of is omitted.

次に、所属クラスタ中心探索部226は、上記において計算処理を省略しないと判定されたデータ点xとクラスタjとの組み合わせの各々について、パラメータ記憶部22に記憶されている当該データ点xのD次元座標位置、及びクラスタ中心cの各々のD次元座標位置とに基づいて、当該データ点xと、クラスタ中心cの各々との距離を計算する。ここで、計算された距離を、当該データ点xと特定のクラスタ中心cとの間の距離の下限値l(i,l)としてパラメータ記憶部222に記憶する。 Next, belonging cluster center search unit 226, for each combination of the determined data points x i and the cluster j and do not skip the computational processing in the above, the data points x i stored in the parameter storage section 22 The distance between the data point x i and each of the cluster centers c j is calculated based on the D-dimensional coordinate positions of the cluster centers and the D-dimensional coordinate positions of the cluster centers c j . Here, the calculated distance is stored in the parameter storage unit 222 as the lower limit value l (i, l) of the distance between the data point x i and the specific cluster center c j .

そして、データ点xの各々のうち、少なくとも1つのクラスタ中心cとの距離を計算したデータ点xの各々について、計算された当該データ点xと、クラスタ中心cの各々との距離、及び当該データ点xと、更新前の所属するクラスタ中心 For each of the data points x i for which the distance from at least one cluster center c j is calculated among each of the data points x i , the calculated data point x i and each of the cluster centers c j Distance, the data point x i and the cluster center to which the data belongs before update

との距離とに基づいて、上記(6)式に基づいて、当該データ点xが所属するクラスタaを更新する。なお、当該データ点xと、更新前の所属するクラスタ中心 And the cluster a i to which the data point x i belongs is updated based on the above equation (6). Note that the data point x i and the cluster center to which the data belongs before update

との距離は、他のクラスタ中心cと当該データ点xとの距離の計算の省略の判定の処理途中において計算した距離を用いる。 Distance between uses distance calculated in the middle of the process of determination of the omission of the calculation of the distance between the other cluster center c j and the data points x i.

クラスタ中心更新部228は、所属クラスタ中心探索部226において取得したデータ点xの各々の所属するクラスタaと、パラメータ記憶部222に記憶されているデータ点xの各々のD次元座標位置に基づいて、クラスタjの各々のクラスタ中心cのD次元座標位置を更新する。また、クラスタ中心更新部228は、クラスタjの各々について、周期t−1から周期tにおいて、クラスタ中心cのD次元座標位置の移動距離を計算する。また、クラスタ中心更新部228は、データ点xの各々について、所属クラスタ中心探索部226において取得したデータ点xの各々の所属するクラスタaと、計算したクラスタjの各々についての移動距離とに基づいて、更新頻度係数kを更新し、当該更新した更新頻度係数kに基づいて、更新頻度Δtを更新する。 The cluster center updating unit 228 includes a cluster a i to which each of the data points x i acquired by the belonging cluster center searching unit 226 belongs and a D-dimensional coordinate position of each of the data points x i stored in the parameter storage unit 222. Based on the above, the D-dimensional coordinate position of each cluster center c j of the cluster j is updated. In addition, the cluster center update unit 228 calculates the movement distance of the D-dimensional coordinate position of the cluster center c j from the period t−1 to the period t for each of the clusters j. Also, the cluster center updating unit 228, for each data point x i, the moving distance for each of the clusters a i for each belonging data point x i obtained in cluster membership center searching unit 226, the calculated cluster j And the update frequency coefficient k i is updated, and the update frequency Δt i is updated based on the updated update frequency coefficient k i .

また、クラスタ中心更新部228は、更新後の全てのクラスタ中心c間の距離を計算し、パラメータ記憶部222に記憶する。また、クラスタ中心更新部228は、クラスタjの各々について、計算された全てのクラスタ中心c間の距離のうち一番小さい距離を当該クラスタjのs(j)としてパラメータ記憶部222に記憶する。また、クラスタ中心更新部228は、データ点xの各々について、当該データ点xのu(i)、及びクラスタ中心cの各々とのl(i,j)を更新する。 Further, the cluster center updating unit 228 calculates the distances between all the cluster centers c j after the update, and stores them in the parameter storage unit 222. Further, the cluster center updating unit 228 stores, for each cluster j, the smallest distance among all the calculated distances between the cluster centers c j in the parameter storage unit 222 as s (j) of the cluster j. . Also, the cluster center updating unit 228, for each data point x i, the data points x i of u (i), and updates the l (i, j) of each cluster center c j.

具体的には、まず、データ点xの各々について、周期t−1と周期tとにおいて所属するクラスタaが変更されたか否かを判定する。ここで、所属するクラスタaが変更されている場合には、当該データ点xのu(i)を、所属クラスタ中心探索部226において計算された当該データ点xと当該所属クラスタ中心 Specifically, first, for each data point x i , it is determined whether or not the cluster a i to which the data point x i belongs is changed in the period t−1 and the period t. Here, when the single cluster a i is changed, the u (i) of the data points x i, calculated the data points x i and the cluster membership center in affiliation cluster center search unit 226

との距離と、計算された所属するクラスタ中心の移動距離 And the distance traveled by the calculated cluster center

との和を、当該データ点xのu(i)と設定し、パラメータ記憶部222に記憶する。一方、所属するクラスタaが変更されていない場合には、パラメータ記憶部222に記憶されている当該データ点xのu(i)と、計算された所属するクラスタ中心 Is set as u (i) of the data point x i and stored in the parameter storage unit 222. On the other hand, if the cluster a i to which the member belongs has not been changed, u (i) of the data point x i stored in the parameter storage unit 222 and the calculated cluster center to which the member belongs.

の移動距離 Distance traveled

との和を、当該データ点xのu(i)としてパラメータ記憶部222に記憶する。次に、データ点xのクラスタ中心cの各々との距離の下限値l(i,j)の各々を、当該下限値l(i,j)から、当該クラスタ中心cの移動距離pj,tを引いた値を当該下限値l(i,l)としてパラメータ記憶部222に記憶する。 Sum of the stores in the parameter storage unit 222 as u (i) of the data points x i. Next, the lower limit value l (i, j) of the distance between each cluster center c j of the data points x i each, from the lower limit value l (i, j), the moving distance p of the cluster center c j The value obtained by subtracting j, t is stored in the parameter storage unit 222 as the lower limit l (i, l).

<第2の実施形態に係るクラスタリング装置の作用>
次に、第2の実施形態に係るクラスタリング装置200の作用について説明する。まず、入力部10において、データ点の集合Xと、更新頻度係数の上限値kmaxとを受け付け当該データ点の集合Xに含まれるデータ点xの各々のD次元座標位置と、更新頻度係数の上限値kmaxとをパラメータ記憶部222に記憶する。そして、入力部10においてクラスタ数Cを受け付けると、クラスタリング装置200によって図16〜図20に示すクラスタリング処理ルーチンを実行する。
<Operation of Clustering Device According to Second Embodiment>
Next, the operation of the clustering apparatus 200 according to the second embodiment will be described. First, the input unit 10, a set X of data points, and D-dimensional coordinates of each data point x i in the set X of the upper limit value k max and the receiving the data point update frequency coefficients, update frequency coefficients Is stored in the parameter storage unit 222. When the cluster number C is received at the input unit 10, the clustering apparatus 200 executes the clustering processing routine shown in FIGS. 16 to 20.

まず、図16のステップS600で、初期化部224は、各種パラメータの初期値を設定する。   First, in step S600 of FIG. 16, the initialization unit 224 sets initial values of various parameters.

次に、ステップS602で、所属クラスタ中心探索部226は、入力部10において受け付けたデータ点xの各々について、当該データ点xの所属するクラスタaを探索する。 Next, in step S <b> 602, the belonging cluster center search unit 226 searches the cluster a i to which the data point x i belongs for each of the data points x i received by the input unit 10.

次に、ステップS604で、クラスタ中心更新部228は、クラスタjの各々について、当該クラスタjのクラスタ中心cj,tを更新する。また、ステップS604で、クラスタ中心更新部228は、データ点xの各々について、当該データ点xの更新頻度係数kを更新し、更新された更新頻度係数kに基づいて、当該データ点xの更新頻度Δtを更新する。 Next, in step S604, the cluster center updating unit 228 updates the cluster center c j, t of the cluster j for each cluster j. Further, in step S604, the cluster centers updating unit 228, for each data point x i, and updates the update frequency coefficients k i of the data points x i, based on the updated update frequency coefficients k i, the data to update the update frequency Δt i of a point x i.

上記ステップS600の初期化処理について、図17について詳細に説明する。   The initialization process in step S600 will be described in detail with reference to FIG.

図17のステップS204で、初期化部224は、入力部10において受け付けたN個のデータ点xから、C個のデータ点xを選択し、ステップS200において取得した、選択されたデータ点の各々のD次元座標位置をクラスタjの各々のクラスタ中心cj,tのD次元座標位置として決定し、パラメータ記憶部22に記憶する。また、データ点xの各々の所属するクラスタa、及び所属クラスタ中心 In step S204 of FIG. 17, the initialization unit 224, the N data points x i accepted in the input unit 10, select the C-number of data points x i, obtained in step S200, the selected data points Are determined as the D-dimensional coordinate positions of the cluster centers c j, t of the cluster j, and stored in the parameter storage unit 22. Further, the cluster a i to which each data point x i belongs and the cluster center to which the data point x i belongs

を決定し、パラメータ記憶部222に記憶する。 Is stored in the parameter storage unit 222.

ステップS700で、初期化部224は、ステップS204において取得したクラスタjの各々のクラスタ中心cj,tのD次元座標位置に基づいて、クラスタjの全てのクラスタ間の組み合わせのクラスタ中心間の距離を計算し、パラメータ記憶部222に記憶する。 In step S700, the initialization unit 224 determines the distance between the cluster centers of the combinations between all the clusters of the cluster j based on the D-dimensional coordinate position of each cluster center c j, t of the cluster j acquired in step S204. Is calculated and stored in the parameter storage unit 222.

次に、ステップS702で、初期化部224は、ステップS700において取得した、クラスタjの全ての組み合わせのクラスタ中心間の距離に基づいて、クラスタjの各々について、当該クラスタjについて最小となる距離をクラスタ中心間の距離s(j)として取得し、パラメータ記憶部222に記憶する。   Next, in step S702, the initialization unit 224 determines a minimum distance for the cluster j for each cluster j based on the distances between the cluster centers of all combinations of the clusters j acquired in step S700. Obtained as a distance s (j) between cluster centers, and stored in the parameter storage unit 222.

ステップS704で、初期化部224は、jの値を1と設定する。   In step S704, the initialization unit 224 sets the value of j to 1.

次に、ステップS706で、初期化部224は、jの値がC以下か否かを判定する。初期化部224が、jの値がC以下であると判定した場合には、ステップS708へ移行する。一方、初期化部224が、jの値がCよりも大きいと判定した場合には、ステップS714へ移行する。   Next, in step S706, the initialization unit 224 determines whether the value of j is C or less. If the initialization unit 224 determines that the value of j is C or less, the process proceeds to step S708. On the other hand, if the initialization unit 224 determines that the value of j is greater than C, the process proceeds to step S714.

次に、ステップS708で、初期化部224は、ステップS200において取得したデータ点xのD次元座標位置と、ステップS204において取得したクラスタjのクラスタ中心cのD次元座標位置とに基づいて、データ点xとクラスタ中心cとの距離d(x,c)を計算する。 Next, in step S 708, the initialization unit 224, based on the D-dimensional coordinates of the acquired data points x i in step S200, to the D-dimensional coordinate position of the cluster centers c j of the cluster j obtained in step S204 , The distance d (x i , c j ) between the data point x i and the cluster center c j is calculated.

次に、ステップS710で、初期化部224は、jの値をj+1に設定し、ステップS706へ移行する。   Next, in step S710, the initialization unit 224 sets the value of j to j + 1, and proceeds to step S706.

次に、ステップS714で、初期化部224は、ステップS708において取得したデータ点xとクラスタ中心cの各々との距離の各々、及びステップS204において取得した当該データ点xの所属するクラスタa、及び所属クラスタ中心 Then, the cluster in step S714, the initialization unit 224, each of the distance between each of the acquired data points x i and the cluster center c j in step S 708, and belonging to the data points x i obtained in step S204 a i and the cluster center

に基づいて、当該データ点xのu(i)を取得し、パラメータ記憶部222に記憶する。 , U (i) of the data point x i is acquired and stored in the parameter storage unit 222.

次に、ステップS716で、初期化部224は、jの値を1に設定する。   Next, in step S716, the initialization unit 224 sets the value of j to 1.

次に、ステップS717で、初期化部224は、j≠aか否かを判定する。初期化部224が、j≠aと判定した場合には、初期化処理は、ステップS718へ移行する。一方、初期化部224は、j=aと判定した場合には、初期化処理は、ステップS722へ移行する。 Next, in step S717, the initialization unit 224 determines whether j ≠ ai . If the initialization unit 224 determines that j ≠ a i , the initialization process proceeds to step S718. On the other hand, if the initialization unit 224 determines that j = a i , the initialization process proceeds to step S722.

次に、ステップS718で、初期化部224はjの値がC以下か否かを判定する。初期化部224が、jの値がC以下であると判定した場合には、初期化処理はステップS720へ移行する。一方、初期化部224が、jの値がCよりも大きいと判定した場合には、初期化処理は、ステップS212へ移行する。   In step S718, the initialization unit 224 determines whether the value of j is C or less. If the initialization unit 224 determines that the value of j is C or less, the initialization process proceeds to step S720. On the other hand, if the initialization unit 224 determines that the value of j is greater than C, the initialization process proceeds to step S212.

ステップS720で、初期化部224は、ステップS708において取得したデータ点xとクラスタ中心cの各々との距離d(x,c)に基づいて、当該データ点xとクラスタjとの組み合わせのl(i,j)を決定する。 In step S720, the initialization unit 224, the distance d (x i, c j) of each of the acquired data points x i and the cluster center c j in step S708 based on, and the data point x i and cluster j L (i, j) of the combinations is determined.

次に、ステップS722で、初期化部224は、jの値をj+1と設定して、ステップS717へ移行する。   Next, in step S722, the initialization unit 224 sets the value of j to j + 1, and proceeds to step S717.

上記ステップS602の所属クラスタ中心探索処理について、図18について詳細に説明する。   The belonging cluster center search process in step S602 will be described in detail with reference to FIG.

図18のステップS800で、所属クラスタ中心探索部226は、ステップS714、又は周期t−1の処理におけるステップS904、若しくはステップS914において取得した当該データ点xのu(i)と、ステップS702、又は周期t−1の処理におけるステップS928において取得したs(a)とに基づいて、上記(9)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226が、上記(9)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、データxの現在所属しているクラスタaにそのまま所属するとして、ステップS318へ移行する。一方、所属クラスタ中心探索部226が、上記(9)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS801へ移行する。 In step S800 of FIG. 18, the assigned cluster center search unit 226 performs u (i) of the data point x i acquired in step S714, step S904 in the process of cycle t−1, or step S914, and step S702, Alternatively, based on s (a i ) acquired in step S928 in the process of cycle t−1, it is determined whether or not the condition of the above expression (9) is satisfied. If the belonging cluster center search unit 226 determines that the condition of the above equation (9) is satisfied, the belonging cluster center searching process is assumed to belong to the cluster a i currently belonging to the data x i as it is. The process proceeds to S318. On the other hand, when the belonging cluster center search unit 226 determines that the condition of the above expression (9) is not satisfied, the belonging cluster center search process moves to step S801.

次に、ステップS801で、所属クラスタ中心探索部226は、jの値がaか否かを判定する。所属クラスタ中心探索部226が、jの値がaでないと判定した場合には、所属クラスタ中心探索処理は、ステップS310へ移行する。一方、所属クラスタ中心探索部226が、jの値がaであると判定した場合には、所属クラスタ中心探索処理は、ステップS314へ移行する。 Next, in step S801, the belonging cluster center search unit 226 determines whether or not the value of j is a i . If the belonging cluster center search unit 226 determines that the value of j is not a i , the belonging cluster center search process proceeds to step S310. On the other hand, if the belonging cluster center search unit 226 determines that the value of j is a i , the belonging cluster center search process proceeds to step S314.

ステップS802で、所属クラスタ中心探索部226は、ステップS700、又は周期t−1の処理におけるステップS926の処理において取得したデータ点xの所属するクラスタ中心 In step S802, the cluster center search unit 226 belongs to the cluster center to which the data point x i acquired in step S700 or the process of step S926 in the process of the period t−1 belongs.

と、クラスタ中心cとの距離 And the distance between the cluster center c j

を取得する。 To get.

次に、ステップS804で、所属クラスタ中心探索部226は、ステップS714、又は周期t−1の処理におけるステップS904、若しくはステップS914において取得した当該データ点xのu(i)と、ステップS802において取得した距離 Next, in step S804, the belonging cluster center search unit 226 performs u (i) of the data point x i acquired in step S714 or step S904 in the process of cycle t−1 or step S914, and in step S802. Obtained distance

とに基づいて、上記(11)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226が、上記(11)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS314へ移行する。一方、所属クラスタ中心探索部226が、上記(11)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS806へ移行する。 Based on the above, it is determined whether or not the condition of the above expression (11) is satisfied. If the belonging cluster center search unit 226 determines that the condition of the above expression (11) is satisfied, the belonging cluster center searching process proceeds to step S314. On the other hand, if the belonging cluster center search unit 226 determines that the condition of the above expression (11) is not satisfied, the belonging cluster center search process moves to step S806.

ステップS806で、所属クラスタ中心探索部226は、ステップS714、又は周期t−1の処理におけるステップS904、若しくはステップS914において取得した当該データ点xのu(i)と、ステップS720、又は周期t−1の処理におけるステップS910、若しくはステップS920において取得したデータ点xとクラスタjとの組み合わせのl(i,j)とに基づいて、上記(12)式を満たすか否かを判定する。所属クラスタ中心探索部226が、上記(12)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS314へ移行する。一方、所属クラスタ中心探索部226が、上記(12)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS808へ移行する。 In step S806, the assigned cluster center search unit 226 determines u (i) of the data point x i acquired in step S714 or step S904 or step S914 in the process of cycle t−1, and step S720 or cycle t. Based on the data point x i acquired in step S910 in step −1 or step S920 and l (i, j) of the combination of cluster j, it is determined whether or not the above equation (12) is satisfied. When the belonging cluster center search unit 226 determines that the condition of the above expression (12) is satisfied, the belonging cluster center searching process proceeds to step S314. On the other hand, if the belonging cluster center search unit 226 determines that the condition of the above expression (12) is not satisfied, the belonging cluster center search process moves to step S808.

ステップS808で、所属クラスタ中心探索部226は、ステップS200において取得したデータ点xのD次元座標位置と、ステップS204、又は周期t−1の処理におけるステップS404において取得した所属クラスタaのクラスタ中心 In step S808, the belonging cluster center search unit 226 determines the D-dimensional coordinate position of the data point x i obtained in step S200 and the cluster of the belonging cluster a i obtained in step S204 or step S404 in the process of cycle t-1. center

のD次元座標位置とに基づいて、データ点xと、当該データ点xの所属するクラスタaのクラスタ中心 Based on the D-dimensional coordinate position of a data point x i, a cluster a i belonging of the data points x i cluster center

との距離 Distance to

を計算する。 Calculate

次に、ステップS810で、所属クラスタ中心探索部226は、ステップS808において取得した距離   Next, in step S810, the belonging cluster center search unit 226 determines the distance acquired in step S808.

を、当該データ点xのu(i)とし、パラメータ記憶部222に記憶する。 Is stored in the parameter storage unit 222 as u (i) of the data point x i .

次に、ステップS812で、所属クラスタ中心探索部226は、ステップS808において取得した距離   Next, in step S812, the cluster center search unit 226 belongs to the distance acquired in step S808.

と、ステップS802において取得した距離 And the distance acquired in step S802

とに基づいて、上記(14)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226が、上記(14)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS314へ移行する。一方、所属クラスタ中心探索部226が、上記(14)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS814へ移行する。 Based on the above, it is determined whether or not the condition of the above expression (14) is satisfied. When the belonging cluster center search unit 226 determines that the condition of the above expression (14) is satisfied, the belonging cluster center searching process proceeds to step S314. On the other hand, if the belonging cluster center search unit 226 determines that the condition of the above expression (14) is not satisfied, the belonging cluster center search process moves to step S814.

次に、ステップS814で、所属クラスタ中心探索部226は、ステップS808で取得した距離   Next, in step S814, the cluster center search unit 226 belongs to the distance acquired in step S808.

と、ステップS720、又は周期t−1の処理におけるステップS910、若しくはステップS920において取得したデータ点xとクラスタjとの組み合わせのl(i,j)とに基づいて、上記(15)式の条件を満たすか否かを判定する。所属クラスタ中心探索部226が、上記(15)式の条件を満たすと判定した場合には、ステップS314へ移行する。一方、所属クラスタ中心探索部226が、上記(15)式の条件を満たさないと判定した場合には、ステップS312へ移行する。 And the above formula (15) based on l (i, j) of the combination of the data point x i and the cluster j acquired in step S720, or in step S910 in step t920 or in step S920. Determine whether the condition is met. If the belonging cluster center search unit 226 determines that the condition of the above equation (15) is satisfied, the process proceeds to step S314. On the other hand, if the belonging cluster center search unit 226 determines that the condition of the above equation (15) is not satisfied, the process proceeds to step S312.

ステップS816で、所属クラスタ中心探索部226は、ステップS312において取得したd(x,cj,t)を当該データ点xとクラスタjとの組み合わせのl(i,j)としてパラメータ記憶部222に記憶する。 In step S816, the assigned cluster center search unit 226 sets the parameter storage unit as d (x i , c j, t ) acquired in step S312 as l (i, j) of the combination of the data point x i and the cluster j. 222.

ステップS818で、所属クラスタ中心探索部226は、ステップS312において取得した距離d(x,cj,t)の各々と、ステップS808において取得した距離 In step S818, the belonging cluster center search unit 226 determines each of the distances d (x i , c j, t ) acquired in step S312 and the distance acquired in step S808.

とに基づいて、上記(6)式に従って、データ点xの所属するクラスタaを決定する。 Based on the above, the cluster a i to which the data point x i belongs is determined according to the above equation (6).

上記ステップS604のクラスタ中心更新処理について、図19、及び図20について詳細に説明する。   The cluster center update process in step S604 will be described in detail with reference to FIGS.

図19のステップS899で、クラスタ中心更新部228は、ステップS200において取得した、ステップS308、ステップS800、及びステップS818において取得したクラスタjに所属するデータ点xの各々のD次元座標位置に基づいて、上記(7)式に従って、クラスタ中心cj,tのD次元座標位置を計算し、パラメータ記憶部222に記憶する。 In step S899 of FIG. 19, the cluster center updating unit 228 acquired in step S200, step S308, based step S800, and each of the D-dimensional coordinate position of the data point x i belonging to the cluster j obtained in step S818 Then, the D-dimensional coordinate position of the cluster center c j, t is calculated according to the above equation (7), and stored in the parameter storage unit 222.

ステップS900で、クラスタ中心更新部228は、iの値がN以下か否かを判定する。クラスタ中心更新部228が、iの値がN以下であると判定した場合には、クラスタ中心更新処理は、ステップS902へ移行する。一方、クラスタ中心更新部228が、iの値がNより大きいと判定した場合には、クラスタ中心更新処理は、ステップS926へ移行する。   In step S900, the cluster center update unit 228 determines whether the value of i is N or less. If the cluster center update unit 228 determines that the value of i is N or less, the cluster center update process proceeds to step S902. On the other hand, if the cluster center updating unit 228 determines that the value of i is greater than N, the cluster center updating process proceeds to step S926.

次に、ステップS902で、クラスタ中心更新部228は、ステップS818においてデータ点xの所属するクラスタaが、周期t−1から変更されたか否かを判定する。クラスタ中心更新部228が、変更されたと判定した場合には、クラスタ中心更新処理は、ステップS904へ移行する。一方、クラスタ中心更新部228が、変更されていないと判定した場合には、クラスタ中心更新処理は、ステップS914へ移行する。 Next, in step S902, the cluster center updating unit 228 determines whether or not the cluster a i to which the data point x i belongs has been changed from the period t−1 in step S818. If the cluster center update unit 228 determines that the cluster center has been changed, the cluster center update process proceeds to step S904. On the other hand, when the cluster center update unit 228 determines that the change has not been made, the cluster center update process proceeds to step S914.

次に、ステップS904で、クラスタ中心更新部228は、ステップS312において取得したデータ点xと所属するクラスタaのクラスタ中心との距離と、ステップS406において取得した当該クラスタaのクラスタ中心の移動距離との和を、当該xのu(i)とし、パラメータ記憶部222に記憶する。 Next, in step S904, the cluster center updating unit 228 determines the distance between the data point x i acquired in step S312 and the cluster center of the cluster a i to which it belongs and the cluster center of the cluster a i acquired in step S406. The sum with the movement distance is set as u (i) of the x i and stored in the parameter storage unit 222.

次に、ステップS906で、クラスタ中心更新部228は、jの値を1に設定する。   Next, in step S906, the cluster center updating unit 228 sets the value of j to 1.

次に、ステップS907で、クラスタ中心更新部228は、jの値がaでないか否かを判定する。クラスタ中心更新部228が、jの値がaでないと判定した場合には、ステップS908へ移行する。一方、クラスタ中心更新部228が、jの値がaであると判定した場合には、ステップS912へ移行する。 Next, in step S907, the cluster center updating unit 228 determines whether the value of j is not a i . If the cluster center updating unit 228 determines that the value of j is not a i , the process proceeds to step S908. On the other hand, if the cluster center updating unit 228 determines that the value of j is a i , the process proceeds to step S912.

次に、ステップS908で、クラスタ中心更新部228は、jの値がC以下であるか否かを判定する。クラスタ中心更新部228が、jの値がC以下であると判定した場合には、クラスタ中心更新処理は、ステップS910へ移行する。一方、クラスタ中心更新部228が、jの値がCよりも大きいと判定した場合には、クラスタ中心更新処理は、ステップS924へ移行する。   Next, in step S908, the cluster center update unit 228 determines whether the value of j is C or less. When the cluster center update unit 228 determines that the value of j is C or less, the cluster center update process proceeds to step S910. On the other hand, when the cluster center updating unit 228 determines that the value of j is larger than C, the cluster center updating process proceeds to step S924.

次に、ステップS910で、クラスタ中心更新部228は、パラメータ記憶部222に記憶されているデータ点xとクラスタjとの組み合わせのl(i,j)と、ステップS406において取得したクラスタjのクラスタ中心cの移動距離とに基づいて、データ点xとクラスタjとの組み合わせのl(i,j)を更新し、パラメータ記憶部222に記憶する。なお、クラスタjがデータ点xの周期t−1における所属クラスタaである場合には、図18のステップ808において取得した距離 Next, in step S910, the cluster centers updating unit 228, the combination of l (i, j) between the data points x i and the cluster j stored in the parameter storage unit 222 and, in the cluster j obtained in step S406 Based on the movement distance of the cluster center c j , the combination l (i, j) of the data point x i and the cluster j is updated and stored in the parameter storage unit 222. If the cluster j is the cluster a i belonging to the data point x i in the period t−1, the distance acquired in step 808 of FIG.

と、ステップS406において取得した対応するクラスタjのクラスタ中心cの移動距離とに基づいて、データ点xとクラスタjとの組み合わせのl(i,j)として、パラメータ記憶部222に記憶する。 Based on the movement distance of the cluster center c j of the corresponding cluster j acquired in step S406, it is stored in the parameter storage unit 222 as l (i, j) of the combination of the data point x i and the cluster j. .

次に、ステップS912で、クラスタ中心更新部228は、jの値をj+1に設定してステップS907へ移行する。   Next, in step S912, the cluster center update unit 228 sets the value of j to j + 1, and proceeds to step S907.

ステップS914で、クラスタ中心更新部228は、パラメータ記憶部222に記憶されているデータ点xの上限値u(i)と、ステップS406において取得したクラスタaの移動距離とに基づいて、データ点xの上限値u(i)を更新し、パラメータ記憶部222に記憶する。 In step S914, the cluster centers updating unit 228, the upper limit value u of the data points x i stored in the parameter storage unit 222 (i), based on the moving distance of the cluster a i obtained at step S406, the data The upper limit value u (i) of the point x i is updated and stored in the parameter storage unit 222.

次に、ステップS916で、クラスタ中心更新部228は、jの値を1に設定する。   Next, in step S916, the cluster center updating unit 228 sets the value of j to 1.

次に、ステップS917で、クラスタ中心更新部228は、jの値がaでないか否かを判定する。クラスタ中心更新部228が、jの値がaでないと判定した場合には、ステップS918へ移行する。一方、クラスタ中心更新部228が、jの値がaであると判定した場合には、ステップS922へ移行する。 Next, in step S917, the cluster center update unit 228 determines whether the value of j is not a i . If the cluster center updating unit 228 determines that the value of j is not a i , the process proceeds to step S918. On the other hand, when the cluster center updating unit 228 determines that the value of j is a i , the process proceeds to step S922.

次に、ステップS918で、クラスタ中心更新部228は、jの値がC以下であるか否かを判定する。クラスタ中心更新部228が、jの値がC以下であると判定した場合には、クラスタ中心更新処理は、ステップS920へ移行する。一方、クラスタ中心更新部228が、jの値がCよりも大きいと判定した場合には、クラスタ中心更新処理は、ステップS924へ移行する。   Next, in step S918, the cluster center update unit 228 determines whether the value of j is C or less. If the cluster center update unit 228 determines that the value of j is C or less, the cluster center update process proceeds to step S920. On the other hand, when the cluster center updating unit 228 determines that the value of j is larger than C, the cluster center updating process proceeds to step S924.

次に、ステップS920で、クラスタ中心更新部228は、パラメータ記憶部222に記憶されているデータ点xとクラスタjとの組み合わせのl(i,j)と、ステップS406において取得したクラスタjのクラスタ中心cの移動距離とに基づいて、データ点xとクラスタjとの組み合わせのl(i,j)を更新し、パラメータ記憶部222に記憶する。 Next, in step S920, the cluster centers updating unit 228, the combination of l (i, j) between the data points x i and the cluster j stored in the parameter storage unit 222 and, in the cluster j obtained in step S406 Based on the movement distance of the cluster center c j , the combination l (i, j) of the data point x i and the cluster j is updated and stored in the parameter storage unit 222.

次に、ステップS922で、クラスタ中心更新部228は、jの値をj+1と設定し、ステップS917へ移行する。   Next, in step S922, the cluster center update unit 228 sets the value of j to j + 1, and proceeds to step S917.

ステップS924で、クラスタ中心更新部228は、iの値をi+1に設定してステップS900へ移行する。   In step S924, the cluster center updating unit 228 sets the value of i to i + 1, and proceeds to step S900.

ステップS926で、クラスタ中心更新部228は、ステップS899において取得したクラスタjの各々のD次元座標位置に基づいて、全てのクラスタjの組み合わせのクラスタ中心間の距離の計算をし、パラメータ記憶部222に記憶する。   In step S926, the cluster center update unit 228 calculates the distance between the cluster centers of all combinations of clusters j based on the D-dimensional coordinate positions of each cluster j acquired in step S899, and the parameter storage unit 222. To remember.

次に、ステップS928で、クラスタ中心更新部228は、クラスタjの各々について、ステップS926において取得した全てのクラスタjの組み合わせのクラスタ中心間の距離に基づいて、s(j)を取得し、パラメータ記憶部222に記憶し、図20のステップS414へ移行する。   Next, in step S928, the cluster center updating unit 228 acquires s (j) for each of the clusters j based on the distances between the cluster centers of all the combinations of clusters j acquired in step S926. It memorize | stores in the memory | storage part 222, and transfers to step S414 of FIG.

以上説明したように、第2の実施形態に係るクラスタリング装置によれば、複数のデータ点の各々について、データ点の所属するクラスタを決定し、複数のクラスタの各々について、クラスタに所属すると決定されたデータ点の位置に基づいて、クラスタの中心位置を更新し、更新前と更新後のクラスタの中心位置の移動距離を計算し、複数のデータ点の各々について、計算されたデータ点の所属するクラスタの中心位置の移動距離に基づいて、データ点についての所属するクラスタを決定する処理を行う頻度を決定し、予め定められた収束条件を満たすまで、所属するクラスタの決定と、データ点についての所属するクラスタを決定する処理を行う頻度の決定とを繰り返すことにより、データ点の数及びクラスタの数が大きな値であっても、複数のデータ点を高速にクラスタリングすることができる。   As described above, according to the clustering apparatus according to the second embodiment, the cluster to which the data point belongs is determined for each of the plurality of data points, and each of the plurality of clusters is determined to belong to the cluster. The center position of the cluster is updated based on the position of the data point, the movement distance of the center position of the cluster before and after the update is calculated, and the calculated data point belongs to each of the plurality of data points. Based on the movement distance of the cluster center position, determine the frequency of performing the process of determining the cluster to which the data point belongs, determine the cluster to which the data point belongs, and Even if the number of data points and the number of clusters are large, by repeating the process of determining the cluster to which they belong, A plurality of data points can be clustered at a high speed.

また、従来のElkan法の1周期当たりの計算回数はND回であるのに対し、第2の実施形態に係るクラスタリング装置200を用いることで、1周期当たりの計算回数をNI,EDにすることができる。ただし、NI,E<N<N、C<Cである。 Further, while the number of calculations per cycle of conventional Elkan methods are N E C E D times, the use of the clustering apparatus 200 according to the second embodiment, the number of calculations per cycle N I , E C E D. However, N I, E <N E <N, C E <C.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

次に、第3の実施形態に係るクラスタリング装置について説明する。   Next, a clustering apparatus according to the third embodiment will be described.

第3の実施形態においては、三角不等式を利用したk−means高速化手法であるHamerly法に追加の処理を加える点が第1、及び第2の実施形態と異なる。なお、第1、及び第2の実施形態に係るクラスタリング装置と同様の構成及び作用については、同一の符号を付して説明を省略する。   The third embodiment is different from the first and second embodiments in that additional processing is added to the Hammerly method, which is a k-means speed-up method using a triangle inequality. In addition, about the structure and effect | action similar to the clustering apparatus which concerns on 1st and 2nd embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted.

まず、Hamerly法による計算の省略について説明する。Hamerly法は、三角不等式を利用しつつ、Elkan法を省メモリ化したk−means高速化手法である。   First, the omission of calculation by the Hammerly method will be described. The Hammerly method is a k-means speed-up method that uses the triangle inequality and saves the memory of the Elkan method.

第1の計算の省略については、図10に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the first calculation, as shown in FIG. 10, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ中心 , And cluster center

から最近傍のクラスタ中心cが存在する場合、上記(9)式を満たすならば、所属クラスタaのクラスタ中心 If the nearest cluster center c j is present, if the above equation (9) is satisfied, the cluster center of the belonging cluster a i

が、データ点xに最も近いといえる。そのため、当該データ点xと全てのクラスタ中心間との距離計算を省略することができる。なお、上記(10)式に示すu(i)は、更新前の所属クラスタ中心 There, it can be said that the closest to the data point x i. Therefore, the distance calculation between the data point x i and all cluster centers can be omitted. Note that u (i) shown in the above equation (10) is the cluster center before update.

とデータ点xとの距離に、更新後の所属クラスタ中心 The distance between the data points x i, belonging to the cluster center of the updated

の移動距離を足したものであり、データ点xと所属クラスタ中心間の距離の上限値を表す。 And the upper limit value of the distance between the data point x i and the cluster center of the cluster.

第2の計算の省略については、図21に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the second calculation, as shown in FIG. 21, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ以外のデータ点xに2番目に近いクラスタ中心cが存在する場合、下記(16)式を満たすならば、所属クラスタaのクラスタ中心 , And the cluster center c j that is second closest to the data point x i other than the cluster belonging to the cluster, and if the following equation (16) is satisfied, the cluster center of the cluster a i belonging

が、2番目に近いクラスタ中心cよりもデータ点xに近いといえる。 Can be said to be closer to the data point x i than the second closest cluster center c j .

そのため、当該データ点xと全てのクラスタ中心間との距離計算を省略することができる。なお、上記(16)式に示すl(i)は、更新前のデータ点xと2番目に近いクラスタ中心cとデータ点xとの距離に、更新後のデータ点xと2番目に近いクラスタ中心の移動距離を引いたものであり、データ点xとデータ点xと2番目に近いクラスタ中心間との距離の下限値を表す。 Therefore, the distance calculation between the data point x i and all cluster centers can be omitted. Incidentally, l shown in the above (16) (i) is the distance between the pre-update data points x i and the cluster center c j and the data points x i second nearest data points x i after updating and 2 th is obtained by subtracting the moving distance of the near cluster center, it represents the lower limit of the distance between the between the data points x i and the data point x i and second close cluster center.

第3の計算の省略については、図22に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the third calculation, as shown in FIG. 22, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及び所属クラスタ中心 , And cluster center

と最近傍のクラスタ中心cが存在する場合、下記(17)式を満たすならば、所属クラスタaのクラスタ中心 And the nearest cluster center c j, if the following equation (17) is satisfied, the cluster center of the belonging cluster a i

が、最近傍のクラスタ中心cよりもデータ点xに近いといえる。そのため、当該データ点xと全てのクラスタ中心間との距離計算を省略することができる。 Can be said to be closer to the data point x i than the nearest cluster center c j . Therefore, the distance calculation between the data point x i and all cluster centers can be omitted.

第4の計算の省略については、図23に示すように、データ点x、当該データ点xが所属するクラスタaのクラスタ中心 The omission of the fourth calculation, as shown in FIG. 23, the cluster centers of the cluster a i data points x i, the data points x i belongs

、及びデータ点xに2番目に近いクラスタ中心cが存在する場合、下記(18)式を満たすならば、所属クラスタaのクラスタ中心 , And the cluster center c j that is second closest to the data point x i , the cluster center of the cluster a i belonging to the cluster a i if the following equation (18) is satisfied

が、2番目に近いクラスタ中心cよりもデータ点xに近いといえる。 Can be said to be closer to the data point x i than the second closest cluster center c j .

そのため、当該データ点xと全てのクラスタ中心間との距離計算を省略することができる。 Therefore, the distance calculation between the data point x i and all cluster centers can be omitted.

<第3の実施形態に係るクラスタリング装置の構成>
次に、第3の実施形態に係るクラスタリング装置の構成について説明する。図24に示すように、第3の実施形態に係るクラスタリング装置300は、CPUと、RAMと、後述するクラスタリング処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。このクラスタリング装置は、機能的には図24に示すように入力部10と、演算部320と、出力部90とを含んで構成されている。
<Configuration of Clustering Device According to Third Embodiment>
Next, the configuration of the clustering apparatus according to the third embodiment will be described. As shown in FIG. 24, the clustering apparatus 300 according to the third embodiment is configured by a computer including a CPU, a RAM, and a ROM that stores a program for executing a clustering processing routine described later and various data. can do. Functionally, the clustering apparatus includes an input unit 10, a calculation unit 320, and an output unit 90 as shown in FIG.

演算部320は、パラメータ記憶部322と、初期化部324と、所属クラスタ中心探索部326と、クラスタ中心更新部328と、収束判定部30とを含んで構成されている。   The calculation unit 320 includes a parameter storage unit 322, an initialization unit 324, an assigned cluster center search unit 326, a cluster center update unit 328, and a convergence determination unit 30.

パラメータ記憶部322には、入力部10において受け付けたデータ点xの各々のD次元座標位置、及び更新頻度係数の上限値kmaxと、後述する初期化部324又はクラスタ中心更新部328により計算されたクラスタ中心cの各々の位置のD次元座標位置、全てのクラスタの組み合わせのクラスタ中心c間の各々の距離、及び全てのクラスタjの各々についての最近傍のクラスタとのクラスタ中心c間の距離s(j)と、後述する初期化部324又はクラスタ中心更新部328により計算されたデータ点xの各々の更新頻度Δt、更新頻度係数k、所属するクラスタaのクラスタ中心と当該データ点xとの距離の上限値u(i)、及びデータ点xと2番目に近いクラスタ中心と当該データ点xとの距離の下限値l(i)の各々と、後述するクラスタ中心更新部328により計算されたクラスタ中心cの各々の周期t−1から周期tまでの移動距離pj,tと、後述する所属クラスタ中心探索部326において計算された周期tにおけるデータ点xの各々と、クラスタ中心cとの各々との距離が記憶されている。 The parameter storage unit 322 calculates the D-dimensional coordinate position of each data point x i received by the input unit 10 and the upper limit value k max of the update frequency coefficient, and the initialization unit 324 or the cluster center update unit 328 described later. has been D-dimensional coordinates of each position of the cluster centers c j, the distance each between cluster centers c j of a combination of all of the clusters, and the cluster center c of the closest clusters for each of all the clusters j distance s and (j) between the j, of each of the calculated data points x i by the initialization unit 324 or cluster centers updating unit 328 to be described later update frequency Delta] t i, update frequency coefficients k i, a cluster a i belonging The upper limit u (i) of the distance between the cluster center and the data point x i and the distance between the data center x i and the second closest cluster center to the data point x i Each of the lower limit value l (i) of each of these, the movement distance p j, t of each of the cluster centers c j calculated by the cluster center updating unit 328, which will be described later, from the period t-1 to the period t , and the cluster to be described later and each data point x i in the calculated period t at the center searching unit 326, the distance between each of the cluster center c j is stored.

初期化部324は、入力部10において受け付けたデータ点xの各々から、ランダムにC個を選択し、選択したデータ点xのD次元座標位置を、クラスタjのクラスタ中心cのD次元座標位置とし、パラメータ記憶部322に記憶する。また、初期化部324は、データ点xの各々についての更新頻度Δtの値を1としてパラメータ記憶部322に記憶する。また、初期化部324は、データ点xの各々についての更新頻度係数kの値を0としてパラメータ記憶部322に記憶する。また、初期化部324は、全てのクラスタjの各々のクラスタ間のクラスタ中心距離d(c,cj´)を計算し(j´≠j)、パラメータ記憶部322に記憶する。また、初期化部324は、クラスタjの各々について、計算したクラスタ中心距離d(c,cj´)のうち一番距離が小さいものを当該クラスタjの最近傍のクラスタ中心との距離s(j)としてパラメータ記憶部322に記憶する。また、初期化部324は、データ点xの各々について、所属するクラスタaをランダムに設定する。 The initialization unit 324 randomly selects C from each of the data points x i received by the input unit 10, and sets the D-dimensional coordinate position of the selected data point x i to D of the cluster center c j of the cluster j . The dimensional coordinate position is stored in the parameter storage unit 322. In addition, the initialization unit 324 stores the value of the update frequency Δt i for each data point x i as 1 in the parameter storage unit 322. In addition, the initialization unit 324 stores the value of the update frequency coefficient k i for each data point x i as 0 in the parameter storage unit 322. Further, the initialization unit 324 calculates a cluster center distance d (c j , c j ) between each of all the clusters j ( j ′ ≠ j) and stores it in the parameter storage unit 322. In addition, the initialization unit 324 determines, for each cluster j, the calculated cluster center distance d (c j , c j ) that has the smallest distance from the nearest cluster center of the cluster j. (J) is stored in the parameter storage unit 322. Further, the initialization unit 324 randomly sets the cluster a i to which each data point x i belongs.

次に、初期化部324は、パラメータ記憶部322に記憶されている入力部10において受け付けたデータ点xの各々のD次元座標位置、及びクラスタjの各々のクラスタ中心cのD次元座標位置に基づいて、データ点xの各々について、当該データ点xとクラスタjの各々との距離d(x,c)を計算する。次に、データ点xの各々について、当該データ点xが所属するクラスタaとの距離d(x,a)を、当該データ点xと所属クラスタ中心間との距離の上限値u(i)としてパラメータ記憶部222に記憶する。次に、データ点xの各々について、当該データ点xと2番目に近いクラスタ中心cとの距離d(x,c)を、当該データ点xと2番目に近いクラスタ中心cとの距離の下限値l(i)としてパラメータ記憶部322に記憶する。 Next, the initialization unit 324 receives the D-dimensional coordinate position of each data point x i received by the input unit 10 stored in the parameter storage unit 322 and the D-dimensional coordinate of each cluster center c j of the cluster j. based on the position, for each data point x i, calculate the distance d (x i, c j) and each of the data points x i and cluster j. Then, for each data point x i, the distance d (x i, a i) of the cluster a i of the data points x i belongs to, the upper limit of the distance between the between the affiliation cluster center with the data points x i The value is stored in the parameter storage unit 222 as the value u (i). Then, for each data point x i, a distance between the data point x i and the cluster center c j close to the second d (x i, c j) and the data points x i and the cluster center closest to the second c : Stored in the parameter storage unit 322 as the lower limit value l (i) of the distance to j .

所属クラスタ中心探索部326は、入力部10において受け付けたデータ点の集合Xに含まれる複数のデータ点xの各々について、当該データ点xについて、パラメータ記憶部322に記憶されている当該データ点xの更新頻度Δtと現在の周期tとに基づいて、上記(5)式の条件を満たすか否かを判定する。また、所属クラスタ中心探索部326は、データ点xの各々について、パラメータ記憶部322に記憶されている当該データ点xの当該データ点xと所属クラスタ中心 For each of a plurality of data points x i included in the data point set X received by the input unit 10, the belonging cluster center search unit 326 stores the data stored in the parameter storage unit 322 for the data point x i. based on the update frequency Delta] t i and the current period t at the point x i, it is judged whether or not the condition equation (5). Moreover, belonging cluster center searching unit 326, for each data point x i, belonging cluster center with the data points x i of the data points x i stored in the parameter storage unit 322

との距離の上限値u(i)、及び所属クラスタaの最近傍のクラスタ中心cとの距離s(a)に基づいて、上記(9)式の条件を満たすか否かを判定する。 Recently, based on the distance between the cluster center c j beside s (a i), determining whether or not the condition (9) below the upper limit value u (i), and cluster membership a i in the distance between the To do.

また、所属クラスタ中心探索部326は、データ点xの各々について、取得した当該データ点xと所属クラスタ中心間の距離の上限値u(i)と、パラメータ記憶部322に記憶されている、初期化部324又は前回の処理のクラスタ中心更新部328において取得したデータ点xと2番目に近いクラスタjと当該データ点xとの距離の下限値l(i)とに基づいて、上記(16)式の条件を満たすか否かを判定する。所属クラスタ中心探索部326は、上記(5)式を満たさない場合、又は、上記(9)式、若しくは上記(16)式の条件を満たすデータ点xについては、全てのクラスタ中心cとの距離計算を省略することができると判定する。この場合、当該データ点xは、現在所属するクラスタaにそのまま所属する。 In addition, the belonging cluster center search unit 326 stores, for each data point x i , the acquired upper limit value u (i) of the distance between the data point x i and the belonging cluster center, and the parameter storage unit 322. , based on the lower limit of the distance between the initial section 324 or the cluster j and the data points x i close to the acquired data points x i and second in cluster center updating unit 328 of the previous process l (i), It is determined whether or not the condition of the above equation (16) is satisfied. The cluster center search unit 326 belongs to all the cluster centers c j for the data point x i that does not satisfy the above expression (5) or satisfies the condition of the above expression (9) or (16). It is determined that the distance calculation can be omitted. In this case, the data point x i belongs to the currently belonging cluster a i as it is.

ここで、2番目に近いクラスタjをどのように特定するかということを説明する。まず、1回目の処理においては、初期化部324において計算され、パラメータ記憶部322に記憶されているデータ点xの各々と、クラスタ中心cの各々との距離のうち2番目に小さい距離に対応するクラスタjがデータ点xに2番目に近いクラスタjとなる。一方、2回目以降の処理においては、特定のデータ点xの2番目に近いクラスタjが変更されるタイミングは、特定のデータ点xの所属するクラスタaが変更されるタイミングである。そのため、当該処理において、当該データ点xと、全てのクラスタ中心cとの距離は計算されるため、計算された特定のデータ点xと、クラスタ中心cとの距離のうち2番目に小さい距離に対応するクラスタjを2番目に近いクラスタjとして特定する。 Here, how to specify the second closest cluster j will be described. First, in the first process, the second smallest distance among the distances between each of the data points x i calculated by the initialization unit 324 and stored in the parameter storage unit 322 and each of the cluster centers c j. corresponding cluster j is the cluster j the second closest to the data point x i on. On the other hand, in the second and subsequent processing, the timing of the cluster j is changed closer to the second particular data point x i is the timing of the cluster a i is changed that belong to a particular data point x i. Therefore, in the processing, since the distance between the data point x i and all the cluster centers c j is calculated, the second of the calculated distances between the specific data point x i and the cluster center c j A cluster j corresponding to a small distance is identified as the second closest cluster j.

次に、所属クラスタ中心探索部326は、上記(5)式の条件を満たし、かつ、上記(9)式及び上記(16)式の条件を満たさないデータ点xの各々について、パラメータ記憶部322に記憶されている、当該データ点xのD次元座標位置、及び当該データ点xの所属しているクラスタaのクラスタ中心のD次元座標位置に基づいて、データ点xと所属クラスタ中心との距離を計算する。ここで、計算した距離を当該データ点xのu(i)としてパラメータ記憶部322に記憶する。 Next, the belonging cluster center search unit 326 performs a parameter storage unit for each data point x i that satisfies the condition of the expression (5) and does not satisfy the conditions of the expression (9) and the expression (16). 322 are stored, D-dimensional coordinate position of the data point x i, and on the basis of the D-dimensional coordinate position of the cluster centers of the cluster a i that belongs of the data points x i, belonging to the data points x i Calculate the distance from the cluster center. Here, stored in the parameter storage unit 322 the calculated distance as u (i) of the data points x i.

次に、所属クラスタ中心探索部326は、上記(5)式の条件を満たし、かつ、上記(9)式及び上記(16)式の条件を満たさないデータ点xの各々について、パラメータ記憶部322に記憶されている、当該データ点xの所属するクラスタaのs(a)と、計算されたデータ点xと所属クラスタ中心 Next, the belonging cluster center search unit 326 performs a parameter storage unit for each data point x i that satisfies the condition of the expression (5) and does not satisfy the conditions of the expression (9) and the expression (16). 322 are stored, and s of cluster a i belonging of the data points x i (a i), belonging cluster center and calculated data points x i

との距離とに基づいて、上記(17)式の条件を満たすか否かを判定する。また、所属クラスタ中心探索部326は、上記(5)式の条件を満たし、かつ、上記(9)式及び上記(16)式の条件を満たさないデータ点xの各々について、パラメータ記憶部322に記憶されている、初期化部324又は前回の処理のクラスタ中心更新部328において取得した当該データ点xと2番目に近いクラスタjと当該データ点xとの距離の下限値l(i)と、計算されたデータ点xと所属クラスタ中心 And whether or not the condition of the above equation (17) is satisfied. In addition, the belonging cluster center search unit 326 satisfies the condition of the above equation (5) and the parameter storage unit 322 for each data point x i that does not satisfy the conditions of the above equation (9) and the above equation (16). the lower limit of the distance between the stored initialization section 324 or the previous process of cluster centers update the data points acquired in the unit 328 x i and the cluster j and the data points x i second closest to the l (i ), The calculated data point x i and the cluster center

との距離とに基づいて、上記(18)式の条件を満たすか否かを判定する。所属クラスタ中心探索部326は、上記(18)式、又は上記(17)式の条件を満たすデータ点xについては、全てのクラスタ中心cとの距離計算を省略することができると判定する。この場合、当該データ点xは、現在所属するクラスタaにそのまま所属する。 And whether or not the condition of the above equation (18) is satisfied. The belonging cluster center search unit 326 determines that the distance calculation with respect to all cluster centers c j can be omitted for the data point x i satisfying the condition of the expression (18) or the expression (17). . In this case, the data point x i belongs to the currently belonging cluster a i as it is.

次に、所属クラスタ中心探索部326は、上記において計算処理を省略しないと判定されたデータ点xについて、パラメータ記憶部22に記憶されている当該データ点xのD次元座標位置、及びクラスタ中心cの各々のD次元座標位置とに基づいて、当該データ点xと、クラスタ中心cの各々との距離を計算する。 Next, the belonging cluster center search unit 326, for the data point x i determined not to omit the calculation processing in the above, the D-dimensional coordinate position of the data point x i stored in the parameter storage unit 22, and the cluster based on the D-dimensional coordinate position of each of the center c j, calculating the corresponding data points x i, a distance between each cluster center c j.

そして、データ点xの各々のうち、クラスタ中心cの各々との距離を計算したデータ点xの各々について、計算された当該データ点xと、クラスタ中心cの各々との距離と、当該データ点xと、更新前の所属するクラスタ中心 Then, of each data point x i, the distance for each of the cluster centers c j data points x i where the distance between each calculated, and the calculated corresponding data points x i, with each of the cluster center c j And the data point x i and the cluster center to which the data belongs before update

との距離とに基づいて、上記(6)式に基づいて、当該データ点xが所属するクラスタaを更新する。なお、当該データ点xと、更新前の所属するクラスタ中心 And the cluster a i to which the data point x i belongs is updated based on the above equation (6). Note that the data point x i and the cluster center to which the data belongs before update

との距離は、他のクラスタ中心cと当該データ点xとの距離の計算の省略の判定の処理途中において計算した距離を用いる。 Distance between uses distance calculated in the middle of the process of determination of the omission of the calculation of the distance between the other cluster center c j and the data points x i.

<第3の実施形態に係るクラスタリング装置の作用>
次に、第3の実施形態に係るクラスタリング装置300の作用について説明する。まず、入力部10において、データ点の集合Xと、更新頻度係数の上限値kmaxとを受け付け当該データ点の集合Xに含まれるデータ点xの各々のD次元座標位置と、更新頻度係数の上限値kmaxとをパラメータ記憶部222に記憶する。そして、入力部10においてクラスタ数Cを受け付けると、クラスタリング装置300によって図20、図25A、図25B、図26、図27に示すクラスタリング処理ルーチンを実行する。
<Operation of Clustering Device According to Third Embodiment>
Next, the operation of the clustering apparatus 300 according to the third embodiment will be described. First, the input unit 10, a set X of data points, and D-dimensional coordinates of each data point x i in the set X of the upper limit value k max and the receiving the data point update frequency coefficients, update frequency coefficients Is stored in the parameter storage unit 222. When the cluster number C is received by the input unit 10, the clustering apparatus 300 executes the clustering processing routine shown in FIGS. 20, 25A, 25B, 26, and 27.

図25AのステップS950で、初期化部324は、各種パラメータの初期値を設定する。   In step S950 of FIG. 25A, the initialization unit 324 sets initial values of various parameters.

次に、ステップS1000で、所属クラスタ中心探索部326は、入力部10において受け付けたデータ点xの各々について、当該データ点xの所属するクラスタaを探索する。 Next, in step S1000, for each data point x i received by the input unit 10, the belonging cluster center search unit 326 searches for the cluster a i to which the data point x i belongs.

次に、ステップS1002で、クラスタ中心更新部328は、クラスタjの各々について、当該クラスタjのクラスタ中心cj,tを更新する。また、ステップS1002で、クラスタ中心更新部328は、データ点xの各々について、当該データ点xの更新頻度係数kを更新し、更新された更新頻度係数kに基づいて、当該データ点xの更新頻度Δtを更新する。 Next, in step S1002, the cluster center updating unit 328 updates the cluster center c j, t of the cluster j for each cluster j. Further, in step S1002, the cluster centers updating unit 328, for each data point x i, and updates the update frequency coefficients k i of the data points x i, based on the updated update frequency coefficients k i, the data to update the update frequency Δt i of a point x i.

上記ステップS950の初期化処理について、図25Bにおいて詳細に説明する。   The initialization process in step S950 will be described in detail with reference to FIG. 25B.

図25BのステップS952で、初期化部324は、ステップS708において取得した距離d(x,c)の各々に基づいて、データ点xとクラスタ中心cが、2番目に近いクラスタcとの距離d(x,c)を当該データ点xのl(i)として、パラメータ記憶部322に記憶する。 In step S952 of FIG. 25B, the initialization unit 324 determines that the data point x i and the cluster center c j are the second closest cluster c based on each of the distances d (x i , c j ) acquired in step S708. the distance between the j d (x i, c j ) as l (i) of the data points x i, stored in the parameter storage unit 322.

上記ステップS1000の所属クラスタ中心探索処理について、図26において詳細に説明する。   The belonging cluster center search process in step S1000 will be described in detail with reference to FIG.

図26のステップS1102で、所属クラスタ中心探索部326は、ステップS714、又は周期t−1の処理におけるステップS904、若しくはステップS914において取得した当該データ点xのu(i)と、パラメータ記憶部322に記憶されている当該データ点xのl(i)とに基づいて、上記(16)式の条件を満たすか否かを判定する。所属クラスタ中心探索部326が、上記(16)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS318へ移行する。一方、所属クラスタ中心探索部326が、上記(16)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS808へ移行する。 In step S1102 of FIG. 26, the cluster center searching unit 326 belongs to u (i) of the data point x i acquired in step S714 or step S904 in the process of cycle t−1 or step S914, and the parameter storage unit. 322 based on the l (i) of the data points x i which is stored in, it is judged whether or not the condition of the above (16). If the belonging cluster center search unit 326 determines that the condition of the above expression (16) is satisfied, the belonging cluster center searching process proceeds to step S318. On the other hand, if the affiliated cluster center search unit 326 determines that the condition of the above expression (16) is not satisfied, the affiliated cluster center search process proceeds to step S808.

ステップS1104で、所属クラスタ中心探索部326は、ステップS808において取得した距離   In step S1104, the cluster center search unit 326 belongs to the distance acquired in step S808.

と、パラメータ記憶部222に記憶されている所属するクラスタaのs(j)とに基づいて、上記(17)式の条件を満たすか否かを判定する。所属クラスタ中心探索部326が、上記(17)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS318へ移行する。一方、所属クラスタ中心探索部326が、上記(17)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS1106へ移行する。 Based on s (j) of the cluster a i to which it belongs stored in the parameter storage unit 222, it is determined whether or not the condition of the above equation (17) is satisfied. If the belonging cluster center search unit 326 determines that the condition of the above expression (17) is satisfied, the belonging cluster center searching process proceeds to step S318. On the other hand, if the belonging cluster center search unit 326 determines that the condition of the above equation (17) is not satisfied, the belonging cluster center search process moves to step S1106.

次に、ステップS1106で、所属クラスタ中心探索部326は、ステップS808において取得した距離   Next, in step S1106, the belonging cluster center search unit 326 determines the distance acquired in step S808.

と、パラメータ記憶部322に記憶されている当該データ点xのl(i)とに基づいて、上記(18)式の条件を満たすか否かを判定する、所属クラスタ中心探索部326が、上記(18)式の条件を満たすと判定した場合には、所属クラスタ中心探索処理は、ステップS318へ移行する。一方、所属クラスタ中心探索部326が、上記(18)式の条件を満たさないと判定した場合には、所属クラスタ中心探索処理は、ステップS801へ移行する。 If, based on the l of the data points x i stored in the parameter storage unit 322 (i), above (18) determines whether the type of conditions are satisfied, belongs cluster center search unit 326, If it is determined that the condition of the above equation (18) is satisfied, the belonging cluster center search process proceeds to step S318. On the other hand, if the belonging cluster center search unit 326 determines that the condition of the above equation (18) is not satisfied, the belonging cluster center search process moves to step S801.

上記ステップS1002のクラスタ中心更新処理について、図27、及び図20について詳細に説明する。   The cluster center update process in step S1002 will be described in detail with reference to FIGS.

図27のステップS1199で、クラスタ中心更新部228は、ステップS200において取得した、ステップS308、ステップS800、ステップS818、ステップS1102、ステップS1104、及びステップS1106において取得したクラスタjに所属するデータ点xの各々のD次元座標位置に基づいて、上記(7)式に従って、クラスタ中心cj,tのD次元座標位置を計算し、パラメータ記憶部322に記憶する。 In step S1199 in FIG. 27, the cluster center updating unit 228 acquires the data point x i belonging to the cluster j acquired in step S308, step S800, step S818, step S1102, step S1104, and step S1106 acquired in step S200. Based on each D-dimensional coordinate position, the D-dimensional coordinate position of the cluster center c j, t is calculated according to the above equation (7) and stored in the parameter storage unit 322.

図27のステップS1200で、クラスタ中心更新部328は、ステップS312において取得した距離d(x,c)のうち2番目に小さい距離となるクラスタjを、当該データ点xに2番目に近いクラスタ中心cとし、ステップS312において取得した当該データ点xと当該クラスタ中心cとの距離d(x,c)と、ステップS406において取得した当該クラスタ中心cの移動距離とに基づいて、当該データ点xのl(i)を更新して、パラメータ記憶部322に記憶する。 In step S1200 of FIG. 27, the cluster center updating unit 328 sets the cluster j that is the second smallest distance among the distances d (x i , c j ) acquired in step S312 to the data point x i second. A near cluster center c j , a distance d (x i , c j ) between the data point x i acquired in step S312 and the cluster center c j, and a movement distance of the cluster center c j acquired in step S406 Based on the above, l (i) of the data point x i is updated and stored in the parameter storage unit 322.

ステップS1202で、クラスタ中心更新部328は、周期t−1のステップS1200、又はステップS1202において取得した当該データ点xのl(i)と、ステップS406において取得した、対応する当該データ点xと2番目に近いクラスタ中心cとの移動距離とに基づいて、当該データ点xのl(i)を更新して、パラメータ記憶部322に記憶する。 In step S1202, the cluster centers updating unit 328 periodically t-1 in step S1200, or the l (i) of the data points x i obtained in step S1202, the acquired in step S406, the corresponding relevant data points x i If based on the moving distance between the cluster center c j close to the second, it updates the l (i) of the data points x i, stored in the parameter storage unit 322.

図27のステップS928で、クラスタ中心更新部328は、クラスタjの各々について、ステップS926において取得した全てのクラスタjの組み合わせのクラスタ中心間の距離に基づいて、s(j)を取得し、パラメータ記憶部222に記憶し、図20のステップS414へ移行する。   In step S928 of FIG. 27, the cluster center updating unit 328 acquires s (j) for each of the clusters j based on the distances between the cluster centers of all the combinations of clusters j acquired in step S926. It memorize | stores in the memory | storage part 222, and transfers to step S414 of FIG.

以上説明したように、第3の実施形態に係るクラスタリング装置によれば、複数のデータ点の各々について、データ点の所属するクラスタを決定し、複数のクラスタの各々について、クラスタに所属すると決定されたデータ点の位置に基づいて、クラスタの中心位置を更新し、更新前と更新後のクラスタの中心位置の移動距離を計算し、複数のデータ点の各々について、計算されたデータ点の所属するクラスタの中心位置の移動距離に基づいて、データ点についての所属するクラスタを決定する処理を行う頻度を決定し、予め定められた収束条件を満たすまで、所属するクラスタの決定と、データ点についての所属するクラスタを決定する処理を行う頻度の決定とを繰り返すことにより、データ点の数及びクラスタの数が大きな値であっても、複数のデータ点を高速にクラスタリングすることができる。   As described above, according to the clustering device according to the third embodiment, the cluster to which the data point belongs is determined for each of the plurality of data points, and each of the plurality of clusters is determined to belong to the cluster. The center position of the cluster is updated based on the position of the data point, the movement distance of the center position of the cluster before and after the update is calculated, and the calculated data point belongs to each of the plurality of data points. Based on the movement distance of the cluster center position, determine the frequency of performing the process of determining the cluster to which the data point belongs, determine the cluster to which the data point belongs, and Even if the number of data points and the number of clusters are large, by repeating the process of determining the cluster to which they belong, A plurality of data points can be clustered at a high speed.

また、従来のHamerly法の1周期当たりの計算回数はNCD回であるのに対し、第3の実施形態に係るクラスタリング装置300を用いることで、1周期当たりの計算回数をNI,HCDにすることができる。ただし、NI,H<N<Nである。 In addition, the number of calculations per cycle in the conventional Hamery method is N H CD, whereas the number of calculations per cycle can be calculated as N I, H by using the clustering apparatus 300 according to the third embodiment. It can be a CD. However, NI , H <N H <N.

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。   Note that the present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the gist of the present invention.

また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。   Further, in the present specification, the embodiment has been described in which the program is installed in advance. However, the program can be provided by being stored in a computer-readable recording medium or provided via a network. It is also possible to do.

10 入力部
20 演算部
22 パラメータ記憶部
24 初期化部
26 所属クラスタ中心探索部
28 クラスタ中心更新部
30 収束判定部
90 出力部
100 クラスタリング装置
200 クラスタリング装置
220 演算部
222 パラメータ記憶部
224 初期化部
226 所属クラスタ中心探索部
228 クラスタ中心更新部
300 クラスタリング装置
320 演算部
322 パラメータ記憶部
324 初期化部
326 所属クラスタ中心探索部
328 クラスタ中心更新部
DESCRIPTION OF SYMBOLS 10 Input part 20 Operation part 22 Parameter storage part 24 Initialization part 26 Affiliation cluster center search part 28 Cluster center update part 30 Convergence determination part 90 Output part 100 Clustering apparatus 200 Clustering apparatus 220 Operation part 222 Parameter storage part 224 Initialization part 226 Affiliated cluster center search unit 228 Cluster center update unit 300 Clustering device 320 Calculation unit 322 Parameter storage unit 324 Initialization unit 326 Affiliated cluster center search unit 328 Cluster center update unit

Claims (7)

複数のデータ点を複数のクラスタにクラスタリングするクラスタリング装置であって、
前記複数のデータ点の各々について、前記データ点の位置と前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定する所属クラスタ中心探索部と、
前記複数のクラスタの各々について、前記所属クラスタ中心探索部により前記クラスタに所属すると決定されたデータ点の位置に基づいて、前記クラスタの中心位置を更新し、前記更新前と更新後の前記クラスタの中心位置の移動距離を計算し、
前記複数のデータ点の各々について、前記計算された前記データ点の所属するクラスタの中心位置の移動距離に基づいて、前記データ点についての前記所属クラスタ中心探索部により所属するクラスタを決定する処理を行う頻度を決定するクラスタ中心更新部と、
予め定められた収束条件を満たすまで、前記所属クラスタ中心探索部による決定と、前記クラスタ中心更新部による決定とを繰り返す収束判定部と、
を含み、
前記所属クラスタ中心探索部は、前記複数のデータ点の各々について、前記クラスタ中心更新部によって前記データ点について決定された前記頻度に基づいて、所属するクラスタを決定するか否かを判定し、所属するクラスタを決定すると判定された前記データ点の各々について、前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定する
クラスタリング装置。
A clustering device for clustering a plurality of data points into a plurality of clusters,
For each of the plurality of data points, the distance between the position of the data point and the center position of each of the plurality of clusters is calculated, and the cluster to which the data point belongs is determined based on each of the calculated distances. A cluster center search unit to be determined;
For each of the plurality of clusters, the center position of the cluster is updated based on the position of the data point determined to belong to the cluster by the belonging cluster center search unit, and the cluster before and after the update is updated. Calculate the movement distance of the center position,
For each of the plurality of data points, based on the calculated movement distance of the center position of the cluster to which the data point belongs, a process of determining the cluster to which the data point belongs by the belonging cluster center search unit. A cluster center updater that determines how often to perform,
A convergence determination unit that repeats the determination by the cluster center search unit and the determination by the cluster center update unit until a predetermined convergence condition is satisfied,
Including
The belonging cluster center search unit determines, for each of the plurality of data points, whether to determine a cluster to belong to based on the frequency determined for the data point by the cluster center update unit, For each of the data points determined to determine a cluster to be determined, a distance from the center position of each of the plurality of clusters is calculated, and based on each of the calculated distances, the cluster to which the data point belongs is calculated. Determine the clustering device.
前記クラスタ中心更新部は、データ点xの係数をkiとし、前記データ点xの前記決定する処理を行う頻度を


とし、前記データ点xの所属するクラスタの中心位置の移動距離を分母とし、予め定められた値を分子とした比率が


以上、かつ前記所属クラスタ中心探索部の処理回数tの値が


に対して余剰を持たない場合には、前記kiをki+1と更新し、前記比率が


以上であって、かつ、


未満の場合には、前記kiをk−γと更新し、前記比率が、


以上であって、かつ、


未満の場合には、前記kiを更新しないことにより、前記データ点xについての前記頻度を決定する請求項1記載のクラスタリング装置。
The cluster center updating unit sets the coefficient of the data point x i to k i, and sets the frequency of performing the determination process on the data point x i.


And the ratio of the movement distance of the center position of the cluster to which the data point x i belongs is the denominator and the predetermined value is the numerator.


As described above, the value of the processing count t of the cluster center search unit is


If you do not have a surplus with respect to the said k i is updated as k i +1, the ratio


That's it, and


If less than, update k i to k−γ and the ratio is


That's it, and


The clustering device according to claim 1, wherein the frequency for the data point x i is determined by not updating the k i if it is less than the value.
前記所属クラスタ中心探索部は、所属するクラスタを決定すると判定された前記データ点の各々について、前記データ点が所属するクラスタの中心位置と、前記所属するクラスタの中心位置と最も近い中心位置を有するクラスタの中心位置との距離が、前記データ点と前記所属するクラスタの中心位置との距離の上限値の2倍以上である場合、前記データ点と前記複数のクラスタの各々の中心位置との距離を計算せずに、前記データ点の所属するクラスタを決定する請求項1又は2記載のクラスタリング装置。 The belonging cluster center search unit has a center position of a cluster to which the data point belongs and a center position closest to the center position of the belonging cluster for each of the data points determined to determine the belonging cluster. The distance between the data point and the center position of each of the plurality of clusters when the distance from the center position of the cluster is at least twice the upper limit of the distance between the data point and the center position of the cluster to which it belongs; The clustering apparatus according to claim 1 or 2, wherein a cluster to which the data point belongs is determined without calculating. 前記所属クラスタ中心探索部は、所属するクラスタを決定すると判定された前記データ点の各々について、
前記データ点が所属するクラスタの中心位置と、前記データ点が属さないクラスタの中心位置との距離が、前記データ点と前記所属するクラスタの中心位置との距離の上限値の2倍以上である場合、又は、前記距離の上限値が、前記データ点と、前記属さないクラスタの中心位置との距離の下限値以下の場合、
前記データ点と、前記属さないクラスタの中心位置との距離、及び前記データ点と前記データ点が属するクラスタの中心位置との距離を計算せず、
前記データ点が所属するクラスタの中心位置と、前記データ点が属さないクラスタの中心位置との距離が、前記データ点と前記所属するクラスタの中心位置との距離の2倍以上である場合、又は、前記データ点と前記所属するクラスタの中心位置との距離が、前記距離の下限値以下である場合、前記データ点と、前記属さないクラスタの中心位置との距離を計算せずに、前記データ点の所属するクラスタを決定する請求項3記載のクラスタリング装置。
The belonging cluster center search unit, for each of the data points determined to determine the cluster to which it belongs,
The distance between the center position of the cluster to which the data point belongs and the center position of the cluster to which the data point does not belong is at least twice the upper limit of the distance between the data point and the center position of the cluster to which the data point belongs. Or if the upper limit of the distance is less than or equal to the lower limit of the distance between the data point and the center position of the cluster that does not belong,
Do not calculate the distance between the data point and the center position of the cluster that does not belong, and the distance between the data point and the center position of the cluster to which the data point belongs,
When the distance between the center position of the cluster to which the data point belongs and the center position of the cluster to which the data point does not belong is more than twice the distance between the data point and the center position of the cluster to which the data point belongs, or If the distance between the data point and the center position of the cluster to which the data point belongs is equal to or less than the lower limit of the distance, the data point and the center position of the cluster that does not belong are not calculated and the data is calculated. The clustering apparatus according to claim 3, wherein a cluster to which a point belongs is determined.
前記所属クラスタ中心探索部は、所属するクラスタを決定すると判定された前記データ点の各々について、
前記データ点と、前記データ点に2番目に近いクラスタの中心位置との距離の下限値が、前記データ点と前記所属するクラスタの中心位置との距離の上限値以上である場合、又は、前記データ点が所属するクラスタの中心位置と、前記所属するクラスタの中心位置と最も近い中心位置を有するクラスタの中心位置との距離が、前記データ点と、前記データ点が所属するクラスタの中心位置との距離の2倍以上である場合、又は前記データ点と、前記データ点が所属するクラスタの中心位置との距離が、前記距離の下限値以下である場合、前記データ点と前記複数のクラスタの各々の中心位置との距離を計算せずに、前記データ点の所属するクラスタを決定する請求項3記載のクラスタリング装置。
The belonging cluster center search unit, for each of the data points determined to determine the cluster to which it belongs,
When the lower limit value of the distance between the data point and the center position of the cluster closest to the data point is not less than the upper limit value of the distance between the data point and the center position of the cluster to which the data point belongs, or The distance between the center position of the cluster to which the data point belongs and the center position of the cluster having the center position closest to the center position of the cluster to which the data point belongs are the data point and the center position of the cluster to which the data point belongs. If the distance between the data point and the center position of the cluster to which the data point belongs is less than or equal to the lower limit of the distance, the data point and the plurality of clusters 4. The clustering apparatus according to claim 3, wherein a cluster to which the data point belongs is determined without calculating a distance from each center position.
所属クラスタ中心探索部と、クラスタ中心更新部と、収束判定部と、を含む、複数のデータ点を複数のクラスタにクラスタリングするクラスタリング装置における、クラスタリング方法であって、
前記所属クラスタ中心探索部は、前記複数のデータ点の各々について、前記データ点の位置と前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定し、
前記クラスタ中心更新部は、前記複数のクラスタの各々について、前記所属クラスタ中心探索部により前記クラスタに所属すると決定されたデータ点の位置に基づいて、前記クラスタの中心位置を更新し、前記更新前と更新後の前記クラスタの中心位置の移動距離を計算し、
前記複数のデータ点の各々について、前記計算された前記データ点の所属するクラスタの中心位置の移動距離に基づいて、前記データ点についての前記所属クラスタ中心探索部により所属するクラスタを決定する処理を行う頻度を決定し、
前記収束判定部は、予め定められた収束条件を満たすまで、前記所属クラスタ中心探索部による決定と、前記クラスタ中心更新部による決定とを繰り返す、
ことを含み、
前記所属クラスタ中心探索部は、前記複数のデータ点の各々について、前記クラスタ中心更新部によって前記データ点について決定された前記頻度に基づいて、所属するクラスタを決定するか否かを判定し、所属するクラスタを決定すると判定された前記データ点の各々について、前記複数のクラスタの各々の中心位置との距離を計算し、前記計算された距離の各々に基づいて、前記データ点の所属するクラスタを決定する
クラスタリング方法。
A clustering method in a clustering apparatus for clustering a plurality of data points into a plurality of clusters, including a belonging cluster center search unit, a cluster center update unit, and a convergence determination unit,
The belonging cluster center search unit calculates a distance between the position of the data point and the center position of each of the plurality of clusters for each of the plurality of data points, and based on each of the calculated distances, Determine the cluster to which the data point belongs;
The cluster center updating unit updates the center position of the cluster based on the position of the data point determined to belong to the cluster by the belonging cluster center search unit for each of the plurality of clusters. And the movement distance of the center position of the updated cluster,
For each of the plurality of data points, based on the calculated movement distance of the center position of the cluster to which the data point belongs, a process of determining the cluster to which the data point belongs by the belonging cluster center search unit. Determine how often,
The convergence determination unit repeats the determination by the belonging cluster center search unit and the determination by the cluster center update unit until a predetermined convergence condition is satisfied,
Including
The belonging cluster center search unit determines, for each of the plurality of data points, whether to determine a cluster to belong to based on the frequency determined for the data point by the cluster center update unit, For each of the data points determined to determine a cluster to be determined, a distance from the center position of each of the plurality of clusters is calculated, and based on each of the calculated distances, the cluster to which the data point belongs is calculated. Determine the clustering method.
コンピュータを、請求項1〜請求項5の何れか1項記載のクラスタリング装置の各部として機能させるためのプログラム。   The program for functioning a computer as each part of the clustering apparatus of any one of Claims 1-5.
JP2015028596A 2015-02-17 2015-02-17 Clustering apparatus, method, and program Expired - Fee Related JP6310408B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028596A JP6310408B2 (en) 2015-02-17 2015-02-17 Clustering apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028596A JP6310408B2 (en) 2015-02-17 2015-02-17 Clustering apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2016151866A JP2016151866A (en) 2016-08-22
JP6310408B2 true JP6310408B2 (en) 2018-04-11

Family

ID=56695397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028596A Expired - Fee Related JP6310408B2 (en) 2015-02-17 2015-02-17 Clustering apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP6310408B2 (en)

Family Cites Families (2)

* 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
JP2013218636A (en) * 2012-04-12 2013-10-24 Nippon Telegr & Teleph Corp <Ntt> Clustering processor, clustering processing method and program

Also Published As

Publication number Publication date
JP2016151866A (en) 2016-08-22

Similar Documents

Publication Publication Date Title
JP6334454B2 (en) Clustering apparatus, method, and program
JP6569497B2 (en) Prediction device, method and program
KR20140119734A (en) A system and method for inputting text
Zheng et al. Incorporating Context Correlation into Context-aware Matrix Factorization.
JP6707946B2 (en) Data clustering method, information processing apparatus, and data clustering program
JPWO2016001998A1 (en) Similarity calculation system, similarity calculation method, and program
CN105975519A (en) Multi-supporting point index-based outlier detection method and system
CN113424180A (en) Short-term community searching method based on time span optimization
CN112598128A (en) Model training and online analysis processing method and device
JP2023113928A (en) Material design method
JP6334455B2 (en) Clustering apparatus, method, and program
CN104182518B (en) A kind of collaborative filtering recommending method and device
JP2025075101A (en) Information processing method and information processing system
JP6310408B2 (en) Clustering apparatus, method, and program
CN110309424A (en) A kind of socialization recommended method based on Rough clustering
CN111177190A (en) Data processing method and device, electronic equipment and readable storage medium
CN109753994A (en) User portrait method, apparatus, computer-readable storage medium, and electronic device
CN116610840A (en) Similar data searching method, system and electronic equipment
JP6601401B2 (en) Tire model creation method, tire model creation device, tire simulation method, and non-transitory computer-readable medium
CN111400314A (en) Method and device for retrieving node vector from database using vector graph index
US20210182672A1 (en) Self-organizing map learning device and method, non-transitory computer readable medium storing self-organizing map learning program and state determination device
JP6414321B2 (en) Number prediction system, number prediction method and number prediction program
JP7045150B2 (en) Global search device and program for continuous optimization problems
CN102577282B (en) Network delay estimation device and network delay estimation method
CN116992318A (en) A user segmentation method based on dimension iterative segmentation and silhouette coefficient clustering

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180316

R150 Certificate of patent or registration of utility model

Ref document number: 6310408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees