Cluster analyzer and method for analyzing cluster

The cluster analysis device improves k-means clustering accuracy by performing random initial centroid placement multiple times, forming common clusters, and using these to set input conditions, thus enhancing output accuracy and reducing computational effort.

JP2025008642AActive Publication Date: 2025-01-20HITACHI LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023110975
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-05
Publication Date
2025-01-20
Estimated Expiration
2043-07-05

AI Technical Summary

Technical Problem

Non-hierarchical cluster analysis methods, such as k-means clustering, are highly dependent on the accuracy of input conditions, leading to varying output accuracy and requiring time-consuming trial and error to set suitable conditions.

Method used

A cluster analysis device that performs non-hierarchical cluster analysis by randomly setting initial centroids multiple times, forming common clusters based on shared data points, and using these common clusters to determine input conditions for subsequent analysis, thereby reducing reliance on precise initial settings.

Benefits of technology

This approach enhances output accuracy by minimizing the impact of input condition accuracy and automating the determination of optimal parameters, resulting in high-quality clusters with reduced computational effort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025008642000001_ABST
    Figure 2025008642000001_ABST
Patent Text Reader

Abstract

To provide a non-hierarchical cluster analysis which can output a custer with a high output accuracy without being affected by the accuracy of an input condition.SOLUTION: A CPU13 of a cluster analyzer 100 acquires a plurality of random clusters by executing a non-hierarchical cluster analysis more than one time on the basis of a center-of-gravity initial position as a first input condition set randomly each time, forms a common cluster on the basis of a data point group which belongs to a plurality of random clusters in common, prepares a second input condition from the number of the common clusters and the center-of-gravity initial position of the data point group which belongs to each common cluster, and executes a non-hierarchical cluster analysis on the basis of the prepared second input condition to acquire an output cluster, thereby outputting the output cluster.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a cluster analysis device and a cluster analysis method. [Background technology]

[0002] Cluster analysis is a method for classifying multiple samples (data points) into sets (clusters) that have similarities, and is useful for analyzing big data, etc. There are two main types of cluster analysis methods: Hierarchical cluster analysis is a method of forming clusters with data points that are closest to each other, and gradually reducing the number of clusters. Non-hierarchical cluster analysis is a method that automatically groups data after determining the final number of clusters.

[0003] When using clustering using the k-means method, which is one of the non-hierarchical cluster analyses (hereinafter referred to as "k-means clustering"), the number of clusters after classification and the initial position of the center of gravity of each cluster (hereinafter referred to as "initial position of the center of gravity") are specified as input conditions (initial conditions). Patent Document 1 describes a cluster analysis device that specifies only the lower limit of the number of data constituting a cluster as an input condition. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2005-222138 A Summary of the Invention [Problem to be solved by the invention]

[0005] In non-hierarchical cluster analysis such as k-means clustering, the accuracy of the output clusters varies greatly depending on the quality of the input conditions. Therefore, users have to go through the trouble of setting input conditions suitable for individual data point groups through trial and error.

[0006] FIG. 13 is an explanatory diagram of a data space in which a group of data points that are the subject of k-means clustering are arranged. The data point cloud 300 is a collection of data points, each of which is illustrated as a black circle, scattered within a data space.

[0007] FIG. 14 is an explanatory diagram showing a first example of the result of k-means clustering on the data point group 300 in FIG. According to the input condition of the number of clusters=3, each data point constituting the data point group of the clustering result 310 is included in one of the clusters 311, 312, and 313. In addition, the initial center of gravity positions 311H, 312H, and 313H of each cluster specified as the input condition are appropriate positions spaced at approximately equal distances from each other. Therefore, cluster 311 formed from initial center of gravity position 311H, cluster 312 formed from initial center of gravity position 312H, and cluster 313 formed from initial center of gravity position 313H each have little variation in the number of data points between the clusters, which can be said to be good results.

[0008] FIG. 15 is a diagram illustrating a second example of the result of k-means clustering on the data point group 300 in FIG. According to the input condition of the number of clusters=3, each data point constituting the data point group of the clustering result 320 is included in one of the clusters 321, 322, 323. However, there is a bias in the arrangement of the initial center positions 321H, 322H, 323H of the clusters specified as the input condition, and the distance between the initial center positions 322H, 323H is too short. Therefore, cluster 321 has too much data, while cluster 322 has too little data, and so the results can be said to be poor.

[0009] In this way, even when using the same method, k-means clustering, the output accuracy varies, so a non-hierarchical cluster analysis method that is not affected by the accuracy of the input conditions is required. However, with conventional k-means clustering, the initial position of the center of gravity of each cluster must be an input condition, so the accuracy of the input conditions affects the results. In addition, in the method of Patent Document 1, the initial position of the center of gravity of each cluster is not obtained as an input condition, but instead the lower limit of the number of data constituting a cluster must be set as an input condition, and therefore the method is dependent on the accuracy of the input condition. For example, clusters cannot be formed well with a data point group that can form many clusters that are one less than the lower limit of the number of data, which is an input condition.

[0010] Therefore, a main object of the present invention is to provide a non-hierarchical cluster analysis that is not affected by the accuracy of the input conditions and is capable of outputting clusters with high output accuracy. [Means for solving the problem]

[0011] In order to solve the above problems, the cluster analysis apparatus of the present invention has the following features. The present invention provides a cluster analysis device having a processing unit that performs non-hierarchical cluster analysis to classify a data point group into clusters, The processing unit, performing the non-hierarchical cluster analysis a plurality of times using a randomly set initial position of the center of gravity each time as a first input condition, thereby obtaining a plurality of first clusters; forming a common cluster based on the data points belonging in common to the plurality of first clusters, and creating the number of the common clusters and an initial position of a center of gravity of the data points belonging to each of the common clusters as second input conditions; The method is characterized in that a second cluster obtained by performing the non-hierarchical cluster analysis based on the created second input condition is output. Other means will be described later. Effect of the Invention

[0012] According to the present invention, it is possible to provide a non-hierarchical cluster analysis that is not affected by the accuracy of the input conditions and is capable of outputting clusters with high output accuracy. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a block diagram showing an outline of an example of a cluster analysis apparatus according to an embodiment of the present invention. [Diagram 2] 4 is a flowchart showing a main process of the cluster analysis apparatus according to the present embodiment. [Diagram 3] FIG. 2 is an explanatory diagram of a data space in which data points that are the subject of random clustering and output clustering according to the present embodiment are arranged. [Figure 4] FIG. 4 is an explanatory diagram showing the results of k-means clustering on the data points in FIG. 3 as a comparative example. [Diagram 5] FIG. 4 is an explanatory diagram showing the result of a first random clustering run on the data points in FIG. 3 according to the present embodiment. [Figure 6] FIG. 4 is an explanatory diagram showing the result of a second random clustering run on the data points in FIG. 3 according to the present embodiment. [Figure 7] FIG. 7 is an explanatory diagram showing the results of forming a common cluster based on the results of random clustering in FIGS. 5 and 6 according to the present embodiment. [Figure 8] 8 is an explanatory diagram showing input conditions for output clustering created from the common clusters in FIG. 7 and results of the output clustering process according to the present embodiment. FIG. [Figure 9] 10 is a flowchart showing details of a random clustering process according to the present embodiment. [Figure 10] 10 is a flowchart showing details of a process for forming a common cluster from random clusters according to the present embodiment; [Figure 11] 13 is a flowchart showing details of a clustering process based on an initial position of a center of gravity using a common cluster according to the present embodiment. [Figure 12]1 is a flowchart showing a k-means clustering process according to the present embodiment. [Figure 13] FIG. 1 is an explanatory diagram of a data space in which a group of data points that are the subject of k-means clustering are arranged. [Figure 14] FIG. 14 is an explanatory diagram showing a first example of a result of k-means clustering on the data point group of FIG. 13. [Figure 15] FIG. 14 is an explanatory diagram showing a second example of the result of k-means clustering on the data point group in FIG. 13. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Hereinafter, one embodiment of the present invention will be described with reference to the drawings.

[0015] 1 is a block diagram showing an outline of an example of a cluster analysis device 100 according to the present invention. The cluster analysis device 100 includes the following components. An input device 11 for providing input data 22. A storage device 12 for storing input data 22 and clustering results. A CPU 13 that performs a non-hierarchical cluster analysis to classify the data points of the input data 22 into clusters. An output device 14 for outputting the clustering results. A memory 15 for storing program data 21, input data 22 and calculation result data 23.

[0016] The CPU 13 controls the processing unit by executing a program (also called an application or its abbreviation, app) loaded into the memory 15. This program can be distributed via a communication line or recorded on a recording medium such as a CD-ROM and distributed. Furthermore, each piece of data in memory 15 (program data 21, input data 22, calculation result data 23) may be stored in recording device 12 inside cluster analysis device 100, or may be stored in a storage unit outside cluster analysis device 100.

[0017] Cluster analysis apparatus 100 performs clustering in the following (step 1) to (step 3) to improve the accuracy of the output clustering result even if the accuracy of the parameters input by the user is low. (Step 1) A number of random clusters are obtained by performing non-hierarchical cluster analysis (hereinafter referred to as "random clustering") multiple times, using the initial center of gravity position randomly set each time as the first input condition. (Step 2) A common cluster is formed based on a group of data points (hereinafter referred to as the "common group of points") that belong in common to multiple random clusters, and the number of common clusters and the initial position of the center of gravity of the group of data points belonging to each common cluster are created as the second input conditions. (Step 3) Based on the created second input condition, a non-hierarchical cluster analysis (hereinafter referred to as "output clustering") is performed to obtain an output cluster and output it. In other words, random clustering is a preparatory process (pre-classification process) for preparing parameters necessary for the output clustering process.

[0018] In the following description, an example will be described in which the CPU 13 executes clustering using the k-means method as the non-hierarchical cluster analysis for random clustering and output clustering. As a result, for clustering using the k-means method, which has a small amount of calculation but a characteristic in which the output result is significantly affected by the accuracy of the input conditions, instead of having the user directly input the input conditions for the output clustering, the cluster analysis device 100 automatically generates them, thereby covering up the weaknesses. On the other hand, cluster analysis apparatus 100 may perform calculations for one or both of the random clustering and the output clustering using a non-hierarchical clustering method involving randomness other than k-means clustering.

[0019] As input conditions for output clustering, cluster analysis device 100 extracts parameters from the random clusters by carrying out the following processes. The number of clusters in the common cluster is set as the number of clusters, which is the input condition for output clustering. The center of gravity of the common points belonging to each common cluster is set as the initial center of gravity, which is the input condition for output clustering.

[0020] FIG. 2 is a flowchart showing the main processing of the cluster analysis device 100. The calculation results at each step of the flowchart are stored in the memory 15 or the recording device 12 and can be referred to at the subsequent steps. The order of execution of each step of the flowchart is not limited to the procedure shown in FIG. 2, and each step can be executed independently by reading data from the recording device 12.

[0021] In S11, the CPU 13 executes random clustering multiple times to obtain multiple random clusters (see FIG. 9 for details). As an example, when the number of pre-classification times N1=2 is input, random clustering is executed twice. The more the number of times random clustering is executed, the fewer the outliers in the output clusters, but the number of output clusters also decreases.

[0022] In S12, the CPU 13 extracts common points from the random clusters obtained by S11, and forms a common cluster for each common point group (see FIG. 10 for details). The CPU 13 then determines the input conditions for output clustering from the common cluster. As an example, if a data point belongs to two random clusters, and the centroid positions of the random clusters to which the data point belongs are within a predetermined distance (for example, the confidence interval of the population mean), the data point is determined to be a common point group. Then, for each common point group, a common cluster to which the common point group belongs is formed.

[0023] In S13, the CPU 13 executes output clustering using the input conditions for output clustering extracted in S12 (see FIG. 11 for details), and stores and outputs the resulting output cluster as calculation result data 23.

[0024] The main processing in FIG. 2 will be described below with reference to FIGS. 3 to 8 based on a specific example using the data space. FIG. 3 is an explanatory diagram of a data space in which data points that are the subject of random clustering and output clustering are arranged. A data point group 200 of the input data 22 is a collection of data points, each of which is illustrated as a black circle, scattered in a data space. In the following, for ease of explanation, the data space illustrated is a two-dimensional space, but the present invention is of course applicable to an n-dimensional space (n≧1).

[0025] FIG. 4 is an explanatory diagram showing the result of k-means clustering on the data point group 200 of FIG. 3 as a comparative example. By applying the method of Patent Document 1 with a lower limit of 6 for the number of data constituting a cluster, four clusters 211 to 214 are output. Here, the upper data point group 215 of cluster 211 is located away from the lower data point group, and it is expected that it can be further divided into another cluster. However, since the number of data points in data point group 215 is 5, it does not satisfy the input condition "lower limit of the number of data points = 6", and therefore cannot be divided into another cluster. On the other hand, in the cluster analysis method executed by cluster analysis device 100 described with reference to FIGS. 5 to 8, even such a data point group 215 can be clustered.

[0026] FIG. 5 is an explanatory diagram showing the result of the first random clustering (S11) performed on the data point group 200 of FIG. Based on the input condition of the number of clusters N2=4, the CPU 13 sets four random initial center positions (stars in the figure) as the input conditions. Based on these input conditions, the CPU 13 executes k-means clustering and outputs four clusters 221-224 as the clustering result 220. This time, since only one initial center position was placed in the upper right corner of the data space, the upper right cluster 223 ended up with a slightly large range.

[0027] FIG. 6 is an explanatory diagram showing the result of the second random clustering (S11) performed on the data point group 200 of FIG. Based on the input condition of the number of clusters N2=4, the CPU 13 sets four random (positions different from the first time) initial center positions (indicated by stars in the drawing) as the input conditions. Based on these input conditions, the CPU 13 executes k-means clustering and outputs four clusters 231-234 as the clustering result 230. This time, the arrangement of the four initial center positions is appropriately distributed within the data space, and good results have been obtained with little variation in the range of each cluster.

[0028] FIG. 7 is an explanatory diagram showing the results of forming a common cluster (S12) based on the results of the random clustering in FIGS. 7, clusters 221 to 224 of clustering result 220 are illustrated as solid ovals, and clusters 231 to 234 of clustering result 230 are illustrated as thin wavy ovals. CPU 13 extracts a group of common points that belong in common to each random cluster between clustering result 220 and clustering result 230. For example, the five data point groups at the top left of the data space (data point groups belonging to common cluster 241) have common points that belong to cluster 221 and cluster 231, and are therefore extracted as common point groups belonging to the same common cluster 241. Similarly, CPU 13 extracts each of the common point groups belonging to common clusters 242 to 245.

[0029] FIG. 8 is an explanatory diagram showing input conditions for output clustering created from the common clusters in FIG. 7 and the results of the output clustering process (S13). The CPU 13 obtains an initial center of gravity position 241H, which is an input condition for output clustering, from a common point group (a group of five data points at the upper left of the data space) belonging to the common cluster 241. Similarly, the CPU 13 obtains initial center of gravity positions 242H to 245H for the common clusters 242 to 245. The CPU 13 also sets the total number of the common clusters 241 to 245, which is 5, as the number of clusters, which is an input condition for output clustering. Then, the CPU 13 executes k-means clustering based on the calculated input conditions for output clustering, and outputs five clusters 251 to 255 as a clustering result 250. 4 can be made into cluster 251. In other words, it is possible to provide a non-hierarchical cluster analysis that is not affected by the accuracy of the input conditions and can output clusters with high output accuracy.

[0030] The main processing in FIG. 2 will be described in detail below with reference to FIGS. FIG. 9 is a flowchart showing the details of the random clustering process (S11 in FIG. 2). In step S101, the CPU 13 sets each of the following parameters as input conditions via the input device 11. Each parameter can be set by the user using the input device 11, or a preset value can be read from the recording device 12. · The input condition for random clustering is the number of pre-classifications N1, which indicates the number of times random clustering is performed. The input condition for random clustering is the number of clusters N2 to be generated in each round of random clustering. The upper limit of the number of trials N3 per k-means clustering run in each random clustering run.

[0031] In S102, the CPU 13 reads a data point group p[1] to p[N] (where p[i] is the i-th data point, and N is the number of data) for which clustering is to be performed from the recording device 12. Then, the CPU 13 stores in the input data 22 a data point group P[1] to P[N] resulting from performing the following standardization on the data point group p[1] to p[N] of the input data 22. Average M=Σp[i] / N Variance S^2=Σ(p[i]-M)^2 / N (where S^2 is S squared) Data point P[i]=(p[i]-M) / S This standardization process converts the data values ​​so that the mean of each dimension of the data read in is 0 and the variance is 1, so that the distance from the cluster center is not weighted depending on the magnitude of the value of each dimension of the data.

[0032] In S103, the CPU 13 initializes a loop variable J, which indicates that the Jth random clustering is being executed, to J=1. In S104, the CPU 13 randomly sets the J-th initial center position. As an example of a random setting method, data points corresponding to the number of clusters N2 are randomly selected from the data point group P[1] to P[N] and are set as the initial center positions. At this time, the random number used to set the initial center position can be changed for each loop variable J. In S105, the CPU 13 executes the k-means clustering in FIG. 12 using the initial center of gravity position randomly set in S104 and the trial count upper limit N3 as arguments, thereby obtaining random clusters with the number of clusters being N2.

[0033] In S106, the CPU 13 stores the following in the recording device 12 as the J-th clustering result in S105: "J" for the Jth loop variable, and the cluster IDs of each random cluster generated by random clustering in the Jth loop. The cluster ID to which each data point P[i] of the data points P[1]~P[N] belongs (for example, data point P[1] belongs to the random cluster A1 the first time, and to the random cluster B2 the second time) The number of data points in each random cluster, N · The center of gravity of the data points contained in each random cluster M=ΣP[i] / N · Unbiased variance S^2 calculated from N2 random clusters = Σ(P[i]-M)^2 / (N-1)

[0034] Here, the cluster ID is an ID for distinguishing between random clusters. For example, the cluster ID "A1" is a combination of "A", which indicates the result of the J=1st random clustering, and "1", which indicates the first cluster within that result. Similarly, cluster ID="B2" is a combination of "B", which indicates the result of J=2nd random clustering, and "2", which indicates the second cluster within that. In other words, if the number of pre-classifications N1=2 and the number of clusters N2=5, a total of 10 (2×5=10) cluster IDs, "A1-A5" and "B1-B5", are issued.

[0035] In S107, if the loop variable J reaches the pre-sorting count N1, the CPU 13 ends the process of Fig. 9. If not, the CPU 13 adds +1 to the loop variable J (S108) and returns the process to S104.

[0036] FIG. 10 is a flowchart showing the details of the process of forming a common cluster from random clusters (S12 in FIG. 2). In S201, the CPU 13 sets a similarity threshold N4 for determining the similarity between random clusters via the input means. The similarity threshold N4 is a parameter that does not depend on the number of data N in the data point group P[1] to P[N].

[0037] In S202, the CPU 13 reads the following from the recording device 12 as a result of the random clustering in S11: The number of pre-classifications N1 and the number of clusters N2, which are input conditions for random clustering, set in S101. The random clustering results for each round are stored in the recording device 12 in S106.

[0038] In S211, the CPU 13 initializes a loop variable K for selecting data points P[K] of the data point group P[1] to P[N] one by one to 1. In addition, here, a common cluster number counter indicating the number of common clusters is initialized to 0. In S212, the CPU 13 acquires a combination of cluster IDs to which the data point [K] belongs from the random clustering results of each round read in S202. As an example, the combination of cluster IDs to which the data point [K] belongs, A1, B2, is acquired.

[0039] In S213, the CPU 13 proceeds to S219 if the combination of cluster IDs acquired in S212 has already been registered in the calculation result data 23. If not, the CPU 13 registers the combination of cluster IDs in the calculation result data 23 and proceeds to S214.

[0040] In S214, the CPU 13 determines whether the combination of cluster IDs (between A1 and B2) acquired in S212 is similar. If the clusters (between A1 and B2) are not similar (the similarity is less than the similarity threshold N4) (No in S214), it is determined that there is no common cluster between the clusters (between A1 and B2), and the process proceeds to S219. That is, in the process of forming a common cluster from a plurality of random clusters, if the degree of similarity between the plurality of random clusters is lower than a predetermined value, the CPU 13 excludes the common cluster between the plurality of random clusters from the clusters to be formed. This makes it possible to appropriately exclude clusters that are extracted as common clusters shared among a plurality of random clusters but that become noise due to an extremely small amount of data.

[0041] If the answer is Yes in S214, it is assumed that a common cluster exists between the clusters, and the process moves to S215. As an example, the common cluster for the combination of cluster IDs (A1, B2) is set as common cluster C, and the following statistics are calculated. ·Let MA1 and MB2 be the sample means of random clusters A1 and B2. Here, the sample mean can be expressed as M=ΣP[i] / N, using the data point set P[i] and the number of data N contained in the corresponding cluster, which is equal to the initial position of the center of gravity. ·Let MC be the sample mean of the common cluster C. ·Let the unbiased variances of random clusters A1 and B2 be SA1^2 and SB2^2.

[0042] The CPU 13 calculates the similarity between a plurality of random clusters by using the confidence interval of the population mean from the central limit theorem of the population. That is, the CPU 13 determines the numbers of data included in the random clusters A1 and B1 to be NA1 and NB2 in accordance with the central limit theorem of the population. If both the following (Decision Formula 1) and (Decision Formula 2) are satisfied (AND condition), the CPU 13 determines Yes in S214, creates a new common cluster C that coincides favorably with both the random clusters A1 and B2 (S215), and proceeds to S216. (Decision formula 1) |MC-MA1|<=similarity threshold N4*SA1 / sqrt(NA1) (Judgment formula 2) |MC-MB2|<=similarity threshold N4*SB2 / sqrt(NB2) Note that sqrt(NA1) is the square root of NA1, and "*" is the multiplication symbol. Alternatively, when calculating the similarity between a plurality of random clusters, the CPU 13 may use another calculation method, such as increasing the similarity as the overlapping area between the random clusters in the data space increases.

[0043] In step S216, the CPU 13 increments the common cluster number counter by one for the newly created common cluster C, and registers the incremented common cluster number counter in the calculation result data 23. In S217, the CPU 13 calculates the center of gravity of the common cluster newly created in S215, and registers it in the calculation result data 23. As an example, the CPU 13 calculates the center of gravity M of the common cluster C=Σ_{C}P[i] / N_{C}, where Σ_{C}P[i] is the sum of the data point group P[i] included in the common cluster C, and N_{C} is the number of data included in the common cluster C.

[0044] In S218, the CPU 13 judges whether or not the loop variable K has reached the number of data N. If the result in S218 is Yes, that is, the loop process from S212 to S217 has been completed for all data points in the data point group P[1] to P[N], the process proceeds to S221. If not, the process proceeds to S219. In S219, the CPU 13 increments the loop variable K by +1.

[0045] In S221, the CPU 13 stores in the recording device 12 the latest value of the common cluster number counter calculated in S216 and the centroid positions of each common cluster calculated in S217 from the calculation result data 23 as input conditions for output clustering. In this way, the CPU 13 calculates the input conditions for output clustering by using the common terms (common elements) of the results of multiple random clusterings. Also, the method of calculating the common clusters and their parameters described in the loop process from S212 to S217 is merely an example, and is not limited to the above procedure.

[0046] FIG. 11 is a flowchart showing the details of the clustering process based on the initial center of gravity positions using the common clusters in S13 (S13 in FIG. 2). In S301, the CPU 13 sets an upper limit value N3 of the number of trials per k-means clustering to be executed in each output clustering via the input device 11. The upper limit value N3 of the number of trials can be set by the user using the input device 11, or a preset value can be read from the recording device 12.

[0047] In S302, the CPU 13 reads the data point group p[1] to p[N] for which output clustering is to be performed from the recording device 12, and, as in S102, registers the result of standardizing the data point group P[1] to P[N] in the input data 22.

[0048] In S303, the CPU 13 reads the input conditions (the number of clusters and the initial positions of the center of gravity) of the output clustering stored in S221, and sets them as the input conditions of the output clustering in S304. In S304, the CPU 13 executes the k-means clustering in FIG. 12 with the input condition of S303 included in the arguments, thereby obtaining output clusters of the number of clusters set by the input condition.

[0049] In S305, the CPU 13 stores in the recording device 12, as the calculation result data 23, the cluster IDs of the output clusters to which the data point groups P[1] to P[N] belong and the center of gravity positions of the output clusters as the results of the output clustering in S304. In S306, the CPU 13 outputs to the output device 14 the calculation result data 23 stored in S305.

[0050] FIG. 12 is a flowchart showing the k-means clustering process called from S105 and S304. In S401, the CPU 13 sets the number of clusters N2, the N2 initial positions M of the center of gravity, and the upper limit N3 of the number of trials from the arguments notified at the time of calling in FIG. 12 as input conditions for the current k-means clustering. In S402, the CPU 13 initializes a loop variable L=1, which indicates that the Lth k-means clustering is being executed. In S403, the CPU 13 calculates the distance L[i][j]=√(P[i]-M[j])^2 between each data point P[i] and each cluster center of gravity M[j].

[0051] In step S404, the CPU 13 sets a cluster to which each data point P[i] belongs so that the data point P[i] is classified into the cluster j having the closest distance L[i][j]. In S405, the CPU 13 registers the cluster to which each data belongs in the calculation result data 23 as the k-means clustering result as the result of S404.

[0052] In S406, the CPU 13 updates each cluster centroid M[j]=Σ_{j}P[i] / N[j] by using the number of data N[j] included in the cluster j. In S407, if the loop variable L reaches the trial count upper limit value N3, the CPU 13 ends the process, otherwise the CPU 13 shifts the process to S408.

[0053] In S408, if the clustering result is the same as the previous one (there is no change in the cluster to which all data belongs), the CPU 13 ends the process. If not, the CPU 13 shifts the process to S409. Note that, if the loop variable L=1, there is no previous k-means clustering result, so the CPU 13 shifts the process to S409. In S409, the CPU 13 increments the loop variable L by +1, and returns the process to S403.

[0054] The cluster analysis apparatus 100 of the present embodiment described above is adapted to determine input conditions for output clustering to be executed subsequently by performing a pre-classification process such as random clustering for cluster analysis using a non-hierarchical method. The cluster analysis device 100 acquires a common cluster that is common to a plurality of random clusters by performing random clustering multiple times based on the input condition of the initial center position randomly set for the input data 22. Then, the cluster analysis device 100 obtains the input condition of output clustering from the common cluster, and performs the output clustering.

[0055] As a result, the cluster analysis apparatus 100 can achieve the following effects. (Effect 1) The k-means clustering process and the common cluster calculation process both require small amounts of calculation, so clustering can be performed quickly. (Effect 2) The calculation of common clusters does not require arbitrary parameters determined by humans. Therefore, even if the number of data or dimensions changes, there is no need for humans to prepare highly accurate input conditions that can follow the changes. Using appropriately calculated input conditions improves the accuracy of the output clustering. (Effect 3) Even if the accuracy of the number of clusters N2 set by a human as an input condition for random clustering is poor, the number of clusters in the output clusters may change from N2, so the accuracy of the output clustering does not decrease.

[0056] On the other hand, in Patent Document 1, in order to determine an appropriate number of clusters and an initial position of the center of gravity, it is necessary to execute the following (Process 1) to (Process 5), which reduces the effect of reducing the amount of calculation, which is an advantage of k-means clustering. (Process 1) Sorting data (Process 2) Calculate the distance between data points (Process 3) Determine the space division width from the distance between data points (Process 4) Divide the analysis space into small grid spaces (Process 5) Calculation of cluster center positions using small lattice space However, in this embodiment, as explained in (Effect 1), the effect of reducing the amount of calculation can be obtained.

[0057] Furthermore, the present invention is not limited to the above-described embodiments, and various other applications and modifications are possible without departing from the gist of the present invention as described in the claims. For example, the above-described embodiments are detailed and specific descriptions of the configuration of the cluster analysis device 100 in order to easily explain the present invention, and are not necessarily limited to those including all of the components described. In addition, it is possible to replace a part of the configuration of one embodiment with a component of another embodiment. It is also possible to add a component of another embodiment to the configuration of one embodiment. It is also possible to add, replace, or delete other components from a part of the configuration of each embodiment.

[0058] In addition, the above-mentioned configurations, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. As the hardware, a broad processor device such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) may be used. Furthermore, each component of the cluster analysis device 100 according to the above-described embodiment may be implemented in any hardware as long as each piece of hardware can transmit and receive information to and from each other via a network. Furthermore, the process executed by a certain processing unit may be realized by a single piece of hardware, or may be realized by distributed processing using multiple pieces of hardware. [Explanation of symbols]

[0059] 11 Input Devices 12 Recording Devices 13 CPU 14 Output Devices 15 Memory 21 Program Data 22 Input Data 23 Calculation result data 100 Cluster Analysis Instrument 221~224, 231~234 Cluster (1st Cluster) 241~245 Common Cluster 251~255 Cluster (Second Cluster)

Claims

1. The cluster analysis device has a processing unit that performs a non-hierarchical cluster analysis to classify a group of data points into clusters, The processing unit includes: performing the non-hierarchical cluster analysis a plurality of times using an initial center of gravity position randomly set each time as a first input condition, thereby obtaining a plurality of first clusters; forming a common cluster based on the data points belonging in common to the plurality of first clusters, and creating, as second input conditions, the number of the common clusters and an initial position of a center of gravity of the data points belonging to each of the common clusters; and outputting a second cluster obtained by executing the non-hierarchical cluster analysis based on the created second input condition. Cluster analysis instrument.

2. The processing unit is characterized in that it executes clustering using a k-means method as the non-hierarchical cluster analysis. The cluster analysis apparatus according to claim 1 .

3. In the process of forming the common cluster from the plurality of first clusters, if a similarity between the plurality of first clusters is lower than a predetermined value, the processing unit excludes the common cluster between the plurality of first clusters from a target to be formed. The cluster analysis apparatus according to claim 1 .

4. The processing unit calculates the similarity between the plurality of first clusters by using a confidence interval of a population mean from the central limit theorem of a population. The cluster analysis apparatus according to claim 3 .

5. The cluster analysis device has a processing unit that performs a non-hierarchical cluster analysis to classify a group of data points into clusters, The processing unit includes: performing the non-hierarchical cluster analysis a plurality of times using an initial center of gravity position randomly set each time as a first input condition, thereby obtaining a plurality of first clusters; forming a common cluster based on the data points belonging in common to the plurality of first clusters, and creating the number of the common clusters and an initial position of a center of gravity of the data points belonging to each of the common clusters as second input conditions; and outputting a second cluster obtained by performing the non-hierarchical cluster analysis based on the created second input condition. Cluster analysis methods.

Citation Information

Patent Citations

  • Distributed computer system and control method of the same

    JP2013073301A

  • Gene-expression profiling with reduced numbers of transcript measurements

    JP2016165286A

  • Methods and uses of dissolved organic matter fractions for binding metal ions - Patents.com

    JP2019530577A

  • Gene-expression profiling with reduced numbers of transcript measurements

    US20130090254A1

  • Apparatus, method and program for cluster analysis using k-means method, and recording medium recording the same program

    JP2005222138A