Cluster analysis device and cluster analysis method
The cluster analysis device improves k-means clustering by performing multiple random analyses to identify common clusters, determining input conditions from these, and executing a final clustering process, thereby achieving consistent and accurate results.
Patent Information
- Application Number
- JP2023110975
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2043-07-05
Smart Images

Figure 0007813747000001 
Figure 0007813747000002 
Figure 0007813747000003
Abstract
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) with similarities, and is useful for analyzing big data, etc. The following two types of cluster analysis methods are typical. Hierarchical cluster analysis is a method that forms clusters with data points that are closest to each other, and gradually reduces 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 (hereinafter referred to as "k-means clustering"), which is one of the non-hierarchical cluster analyses, 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] Japanese Patent Application Laid-Open No. 2005-222138 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, which means that users have to go through the trouble of trial and error to set input conditions that are appropriate for each individual data point group.
[0006] FIG. 13 is an explanatory diagram of a data space in which a group of data points to be subjected to k-means clustering is arranged. The data point cloud 300 is a collection of data points, each represented by 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 of 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. Furthermore, the initial center of gravity positions 311H, 312H, and 313H of each cluster specified as the input condition are appropriate positions spaced approximately equidistant from one another. Therefore, the cluster 311 formed from the initial center of gravity position 311H, the cluster 312 formed from the initial center of gravity position 312H, and the cluster 313 formed from the 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 a good result.
[0008] FIG. 15 is an explanatory diagram showing a second example of the result of k-means clustering on the data point group 300 of 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, and 323. However, there is a bias in the arrangement of the initial center of gravity positions 321H, 322H, and 323H of each cluster centroid specified as the input condition, and the distance between the initial center of gravity positions 322H and 323H is too short. Therefore, cluster 321 has too much data, while cluster 322 has too little data, so the results can be said to be poor.
[0009] As such, even when using the same k-means clustering method, 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 output accuracy is affected by the accuracy of the input conditions. Furthermore, 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 value of the number of data constituting a cluster must be set as an input condition, which means that 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 value 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 device 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 cloud into clusters, The processing unit performing the non-hierarchical cluster analysis multiple times using the randomly set initial center of gravity position as a first input condition each time, thereby obtaining multiple first clusters; forming a common cluster based on the data point groups that belong in common to the plurality of first clusters, and creating the number of common clusters and the initial positions of the centers of gravity of the data point groups that belong 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. [Effects 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 explanation of the drawings]
[0013] [Figure 1] 1 is a block diagram showing an outline of an example of a cluster analysis apparatus according to an embodiment of the present invention. [Figure 2] 10 is a flowchart showing a main process of the cluster analysis apparatus according to the present embodiment. [Figure 3] FIG. 1 is an explanatory diagram of a data space in which data points that are the subject of random clustering and output clustering according to this 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. [Figure 5] FIG. 4 is an explanatory diagram showing the results of a first random clustering run on the data points of FIG. 3 according to this embodiment. [Figure 6] FIG. 4 is an explanatory diagram showing the results of a second random clustering run on the data points of FIG. 3 according to this embodiment. [Figure 7] FIG. 7 is an explanatory diagram showing the results of forming common clusters based on the results of random clustering in FIGS. 5 and 6 according to this embodiment. [Figure 8] 8 is an explanatory diagram showing input conditions for output clustering created from the common clusters of FIG. 7 and the results of the output clustering process according to this 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] 10 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 the 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 results of k-means clustering on the data point group of FIG. 13. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, an 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 recording 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. 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] The cluster analysis apparatus 100 performs clustering in the following steps (Step 1) to (Step 3), thereby improving the accuracy of the clustering results that are output even if the accuracy of the parameters input by the user is low. (Step 1) A plurality of random clusters are obtained by performing non-hierarchical cluster analysis (hereinafter referred to as "random clustering") multiple times, with the initial position of the center of gravity set randomly 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 "common point group") that belong 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 that belong to each common cluster are created as second input conditions. (Step 3) Based on the created second input conditions, a non-hierarchical cluster analysis (hereinafter referred to as "output clustering") is performed to obtain and output the output cluster. 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 characteristic that the amount of calculation is small but the output results are significantly affected by the accuracy of the input conditions, the cluster analysis device 100 can automatically generate the input conditions for the output clustering described above instead of having the user input them directly, 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, the cluster analysis apparatus 100 extracts parameters from the random clusters by performing the following processing. The number of clusters in the common cluster is the number of clusters that is the input condition for output clustering. The centroid position of the common points belonging to each common cluster is set as the initial centroid position, 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 memory 15 or recording device 12 and can be referenced in 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 recording device 12.
[0021] In S11, the CPU 13 performs random clustering multiple times to obtain multiple random clusters (see FIG. 9 for details). For example, if the number of pre-classification times N1 = 2 is input, random clustering is performed twice. The more times random clustering is performed, the fewer outliers there are in the output clusters, but the number of output clusters also decreases.
[0022] In S12, the CPU 13 extracts common point groups from the random clusters obtained in 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. For 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 considered 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 (details in FIG. 11), and stores and outputs the resulting output cluster as calculation result data 23.
[0024] The main processing in FIG. 2 will be explained 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 represented by a black circle, scattered within a data space. For ease of explanation, the data space shown in the drawings is a two-dimensional space, but the present invention can also be applied to an n-dimensional space (n≧1).
[0025] FIG. 4 is an explanatory diagram showing the results 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 points constituting a cluster, four clusters 211 to 214 are output. Here, the data point group 215 above cluster 211 is located away from the data point group below it, and it is expected to 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 the 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 of gravity positions (indicated by stars in the drawing) as input conditions. Based on these input conditions, the CPU 13 executes k-means clustering and outputs four clusters 221 to 224 as the clustering result 220. In this case, since only one initial center of gravity position was placed in the upper right corner of the data space, the upper right cluster 223 ended up with a slightly larger 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 input conditions. Based on these input conditions, the CPU 13 executes k-means clustering and outputs four clusters 231 to 234 as the clustering result 230. In this case, the arrangement of the four initial center positions is appropriately distributed within the data space, resulting in good results 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 random clustering in FIGS. 7, clusters 221 to 224 of clustering result 220 are shown as solid ovals, and clusters 231 to 234 of clustering result 230 are shown 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) all 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 common point group belonging to common clusters 242 to 245.
[0029] FIG. 8 is an explanatory diagram showing the 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 determines an initial center of gravity position 241H, which is an input condition for output clustering, from the common point group (the five data point groups at the upper left of the data space) belonging to the common cluster 241. Similarly, the CPU 13 determines 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 can output clusters with high output accuracy without being affected by the accuracy of the input conditions.
[0030] The main processing of 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 S101, the CPU 13 sets 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 per k-means clustering run in each random clustering run, N3.
[0031] In S102, the CPU 13 reads a set of data points p[1] to p[N] (where p[i] is the i-th data point and N is the number of data) to be clustered from the recording device 12. Then, the CPU 13 stores a set of data points P[1] to P[N] resulting from the following standardization of the set of data points p[1] to p[N] of the input data 22 in 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 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 of gravity position. As an example of a random setting method, data points (number of clusters: N2) are randomly selected from the data point group P[1] to P[N] and set as the initial center of gravity positions. At this time, the random number used to set the initial center of gravity position can be changed for each loop variable J. In S105, the CPU 13 executes the k-means clustering of FIG. 12 using the initial center of gravity position randomly set in S104 and the upper limit value N3 of the number of trials as arguments, thereby obtaining N2 random clusters.
[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 that Jth loop. The cluster ID to which each data point P[i] of the data point groups P[1] to P[N] belongs (for example, data point P[1] belongs to random cluster A1 the first time, and to 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 The unbiased variance calculated from N2 random clusters is S^2=Σ(P[i]-M)^2 / (N-1)
[0034] Here, the cluster ID is an ID used to distinguish between random clusters. For example, cluster ID = "A1" is a combination of "A" indicating the result of the J=1st random clustering and "1" indicating the first cluster within that. Similarly, cluster ID = "B2" is a combination of "B", which indicates the result of the second random clustering (J = 2), 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 cluster IDs (2 x 5 = 10), "A1 to A5" and "B1 to B5", will be issued.
[0035] In S107, if the loop variable J has reached the pre-sorting count N1, the CPU 13 ends the process of Fig. 9. Otherwise, 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 groups P[1] to P[N].
[0037] In S202, the CPU 13 reads the following from the recording device 12 as the result of the random clustering in S11: The input conditions for random clustering, set in S101, are the number of pre-classifications N1 and the number of clusters N2. The random clustering results for each run 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 K = 1. Here, the CPU 13 also initializes a common cluster number counter indicating the number of common clusters to 0. In S212, the CPU 13 acquires a combination of cluster IDs to which the data point [K] belongs from the results of each random clustering read in S202. As an example, the CPU 13 acquires the combination of cluster IDs to which the data point [K] belongs, that is, A1, B2.
[0039] In S213, if the combination of cluster IDs acquired in S212 has already been registered in the calculation result data 23, the CPU 13 proceeds to S219. 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 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 by multiple random clusters but that become noise because the number of data points is extremely small.
[0041] If the answer to S214 is Yes, 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 cluster ID combination (between A1 and B2) is set to common cluster C, and the following statistical values 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, where P[i] is the data point set contained in the corresponding cluster, which is equal to the initial position of the center of gravity, and N is the number of data points. ·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 population central limit theorem. 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 matches both the random clusters A1 and B2 in a superior way (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 1 for the newly created common cluster C, and registers the 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] represents the sum of the data point group P[i] included in the common cluster C, and N_{C} represents the number of data included in the common cluster C.
[0044] In S218, the CPU 13 determines whether or not the loop variable K has reached the number of data N. If the result in S218 is Yes, meaning that the loop processing 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 adds +1 to the loop variable K.
[0045] In S221, the CPU 13 stores the latest value of the common cluster number counter calculated in S216 and the centroid position of each common cluster calculated in S217 from the calculation result data 23 in the recording device 12 as input conditions for output clustering. In this way, the CPU 13 calculates the input conditions for output clustering using common terms (common elements) of the results of multiple random clusterings. Furthermore, the method of calculating the common clusters and their parameters described in the loop processing 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 position using the common cluster 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 run, which is executed in each output clustering run, 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] to be subjected to output clustering 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 (number of clusters and initial positions of the center of gravity) for output clustering saved in S221, and sets them as input conditions for output clustering in S304. In S304, the CPU 13 executes the k-means clustering of FIG. 12 using the input conditions of S303 as arguments, thereby obtaining output clusters of the number of clusters set by the input conditions.
[0049] In S305, the CPU 13 stores the cluster IDs of the output clusters to which the data point groups P[1] to P[N] belong and the centroid positions of the output clusters as calculation result data 23 in the recording device 12 as the results of the output clustering in S304. In S306, the CPU 13 outputs the calculation result data 23 stored in S305 to the output device 14.
[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 as input conditions for the current k-means clustering, from the arguments notified at the time of calling in FIG. 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 centroid M[j].
[0051] In S404, the CPU 13 sets a cluster to which each data point P[i] belongs so that each data point P[i] is classified into cluster j having the closest distance L[i][j]. In S405, the CPU 13 registers the cluster to which each piece of 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] using the number of data N[j] included in the cluster j. In S407, if the loop variable L reaches the upper limit N3 of the number of trials, the CPU 13 ends the process, otherwise the CPU 13 moves the process to S408.
[0053] In S408, if the clustering result matches the previous result (there is no change in the cluster to which all data belongs), the CPU 13 ends the process. Otherwise, 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 this embodiment described above is configured to determine input conditions for output clustering to be executed subsequently through 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 multiple random clusters by performing random clustering multiple times based on input conditions for initial center positions that are randomly set for the input data 22. Then, the cluster analysis device 100 determines input conditions for output clustering from the common clusters and performs output clustering.
[0055] As a result, the cluster analysis apparatus 100 can achieve the following effects. (Effect 1) Both the k-means clustering process and the common cluster calculation process require small amounts of calculation, so clustering can be performed quickly. (Effect 2) The calculation of common clusters does not require arbitrary parameters created 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 those 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) Calculation of 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 spaces 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 spirit of the present invention as defined in the claims. For example, the above-described embodiments provide detailed and specific descriptions of the configuration of the cluster analysis device 100 in order to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described components. Furthermore, it is possible to replace part of the configuration of one embodiment with components of another embodiment. It is also possible to add components of another embodiment to the configuration of one embodiment. It is also possible to add, replace, or delete other components from part of the configuration of each embodiment.
[0058] Furthermore, the above-described configurations, functions, processing units, etc. may be partially or entirely realized in hardware, for example, by designing them as integrated circuits, etc. 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 apparatus 100 according to the above-described embodiment may be implemented in any hardware as long as the respective hardware can transmit and receive information to and from each other via a network. Furthermore, the processing performed 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 non-hierarchical cluster analysis to classify the data point cloud into clusters, The processing unit performing the non-hierarchical cluster analysis a plurality of times using a randomly set initial center of gravity position as a first input condition each time, thereby obtaining a plurality of first clusters; forming a common cluster based on the data point groups that belong in common to the plurality of first clusters, and creating the number of common clusters and the initial positions of the centers of gravity of the data point groups that belong 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 equipment.
2. The processing unit performs clustering using a k-means method as the non-hierarchical cluster analysis. The cluster analysis device according to claim 1 .
3. In the process of forming the common cluster from the plurality of first clusters, if the 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 being formed. The cluster analysis device 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 device according to claim 3 .
5. The cluster analysis device has a processing unit that performs non-hierarchical cluster analysis to classify the data point cloud into clusters, The processing unit 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, to obtain a plurality of first clusters; forming a common cluster based on the data point groups that belong in common to the plurality of first clusters, and creating the number of common clusters and the initial positions of the centers of gravity of the data point groups that belong 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
Apparatus, method and program for cluster analysis using k-means method, and recording medium recording the same program
JP2005222138A
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