WO2020240671A1 - クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム - Google Patents

クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム Download PDF

Info

Publication number
WO2020240671A1
WO2020240671A1 PCT/JP2019/020951 JP2019020951W WO2020240671A1 WO 2020240671 A1 WO2020240671 A1 WO 2020240671A1 JP 2019020951 W JP2019020951 W JP 2019020951W WO 2020240671 A1 WO2020240671 A1 WO 2020240671A1
Authority
WO
WIPO (PCT)
Prior art keywords
clustering
vectors
graph
similarity
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.)
Ceased
Application number
PCT/JP2019/020951
Other languages
English (en)
French (fr)
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
Original Assignee
Nippon Telegraph and Telephone Corp
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 filed Critical Nippon Telegraph and Telephone Corp
Priority to PCT/JP2019/020951 priority Critical patent/WO2020240671A1/ja
Publication of WO2020240671A1 publication Critical patent/WO2020240671A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the disclosed technology relates to a clustering apparatus, a clustering method, and a clustering program.
  • clustering which is a task of grouping together vectors with "similar” tendencies given a large number of vector data (hereinafter, also simply referred to as “vectors")
  • vectors vectors with "similar” tendencies given a large number of vector data
  • the problem of clustering depends on what kind of vector is regarded as a "similar” vector.
  • the types and methods are different. For example, a clustering problem in which data at close positions are used as “similar” vectors becomes a problem called central clustering, which is solved by using an algorithm called k-means.
  • clustering problem in which vectors existing in the same low-dimensional subspace are regarded as “similar” vectors.
  • subspace clustering the method of clustering on the assumption that a set of vectors belonging to the same cluster exists in the same subspace. For example, it is suggested that when a large number of images are collected by continuously shooting the same object while changing only the lighting conditions, it can be approximated that a set of vectors in which the pixel values of each image are arranged exists in a 9-dimensional subspace. Has been done.
  • the inputs and outputs of subspace clustering are as follows.
  • Subspace clustering is a more difficult problem than it seems, and therefore many methods have been proposed in the past.
  • subspace clustering methods based on graph clustering have been proposed. Specifically, for a pair of vectors, the similarity is calculated in terms of whether the two vectors are likely to belong to the same subspace, and the set of vectors is set using the similarity calculated for all the pair of vectors. Compute the adjacent matrix showing the graph constructed from. Then, the obtained adjacency matrix is clustered using the graph clustering method.
  • the calculated adjacency matrix may be noisy. If graph clustering is performed on a noisy adjacency matrix as it is, the accuracy of clustering itself will be reduced.
  • the disclosed technique was made in view of the above points, and aims to improve the accuracy of subspace clustering based on graph clustering.
  • the first aspect of the present disclosure is a clustering apparatus, and for each pair of a plurality of input vectors, the similarity is calculated based on whether or not the two vectors included in the pair belong to the same low-dimensional space.
  • Graph clustering a graph including a similarity calculation unit, nodes corresponding to each of the vectors, and edges connecting the nodes with a strength corresponding to the similarity between the vectors calculated by the similarity calculation unit.
  • the first term is the objective function for which the value increases as the similarity between vectors belonging to the same cluster increases, and the value increases as the likelihood that the vectors belonging to the same cluster belong to the same low-dimensional space.
  • the second aspect of the present disclosure is a clustering apparatus, and the second term can be a likelihood when a vector belonging to each cluster is applied to a Gaussian distribution corresponding to each cluster.
  • a third aspect of the present disclosure is a clustering apparatus, in which the graph clustering unit maximizes the objective function defined so that the domain of the clustering solution changes from a discrete set to a continuous set.
  • the solution of the continuous set can be obtained, and the solution of the continuous set can be converted into the solution of the discrete set.
  • a fourth aspect of the present disclosure is a clustering method executed in a clustering apparatus including a similarity calculation unit and a graph clustering unit, wherein the similarity calculation unit applies to each pair of input plurality of vectors.
  • the similarity is calculated based on whether or not the two vectors included in the pair belong to the same low-dimensional space, and the graph clustering unit calculates with the node corresponding to each of the vectors and the similarity calculation unit.
  • This is an objective function for graph clustering a graph including edges connecting the nodes with a strength corresponding to the similarity between the vectors, and the higher the similarity between the vectors belonging to the same cluster, the larger the value.
  • the plurality of vectors so as to maximize the objective function including the first term and the second term in which the higher the likelihood that the vectors belonging to the same cluster belong to the same low-dimensional space, the larger the value. Is a method of clustering.
  • the fifth aspect of the present disclosure is a clustering program, which is a program for causing a computer to function as each part constituting the above-mentioned clustering apparatus.
  • the accuracy of subspace clustering based on graph clustering can be improved.
  • a graph is defined by a set of nodes and a set of edges showing how strong the two nodes are connected.
  • an adjacency matrix as shown in B of FIG. 1 is often used.
  • the adjacency matrix defines a matrix of N ⁇ N size when there are N nodes in the graph, and the i-th node and the j-th node are set as the (i, j) th element of the matrix. It is a data structure that stores the strength of the edges to be joined.
  • B in FIG. 1 when the i-th node and the j-th node are connected by an edge, "1" is added to the (i, j) -th element of the matrix, and when they are not connected, "1" is added. "0" is stored.
  • Graph clustering is the task of dividing a set of nodes into multiple sets of nodes, with the aim of dividing the set of nodes so that the nodes in the same set of nodes are connected to each other as strongly as possible. ..
  • the graph shown in FIG. 1A is to be divided into two classes.
  • the aim is to divide it into a set of nodes corresponding to the upper left and lower right blocks, that is, ⁇ 1,2,3,4 ⁇ and ⁇ 5,6,7,8,9 ⁇ .
  • Graph clustering is the task of dividing a set of nodes into multiple sets of nodes, with the aim of dividing the set of nodes so that the nodes in the same set of nodes are connected to each other as strongly as possible. ..
  • the aim is to divide it into a set of nodes corresponding to the upper left and lower right blocks, that is, ⁇ 1,2,3,4 ⁇ and ⁇ 5,6,7,8,9 ⁇ .
  • ⁇ (G, M) in the formula (1) is represented by the following formula (2)
  • the domain g of G is represented by the following formula (3).
  • M is a similarity matrix (adjacency matrix) of N vectors
  • D is a diagonal matrix
  • D ii ⁇ j M ij
  • G ij 0 is set.
  • Subspace clustering can be solved by applying the graph clustering described above.
  • each vector is regarded as a node of the graph. Then, for each pair of nodes, if the pair is likely to belong to the same low-dimensional subspace, the strength of the edge between the pair is increased, otherwise the intensity of the edge is increased to decrease the graph.
  • Graph clustering is performed on the constructed graph.
  • the subspace clustering method based on graph clustering is a method of performing clustering in two steps of similarity calculation and graph clustering.
  • the step of similarity calculation it is evaluated whether or not the two vectors are likely to belong to the same subspace with respect to the pair of the i-th vector and the j-th vector, and the magnitude of the evaluation function is evaluated. Is calculated as the degree of similarity between the i-th and j-th vectors. For the evaluation of whether a pair of vectors are likely to belong to the same subspace, a conventionally known method such as the absolute value of cosine for the angle formed by two vectors can be applied.
  • each of the input vectors black circles of D in FIG. 2
  • the strength of the edge between the nodes corresponding to the pair is increased.
  • the strength of the edge between the nodes corresponding to the pair is reduced.
  • the obtained similarity matrix is clustered by, for example, graph clustering using the above-mentioned spectral clustering method.
  • graph clustering is performed with high accuracy even when a noisy similarity matrix is input. Therefore, as in the proposed method shown in the lower figure of FIG. 3, when executing graph clustering, not only the information of the similarity matrix but also the information of the input vector set itself is used. Hereinafter, this embodiment will be described in detail.
  • FIG. 4 is a block diagram showing the hardware configuration of the clustering device 10.
  • the clustering device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication I. It has / F (interface) 17. Each configuration is communicably connected to each other via a bus 19.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 an input unit 15, a display unit 16, and a communication I. It has / F (interface) 17.
  • Each configuration is communicably connected to each other via a bus 19.
  • the CPU 11 is a central arithmetic processing unit that executes various programs and controls each part. That is, the CPU 11 reads the program from the ROM 12 or the storage 14, and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above configurations and performs various arithmetic processes according to the program stored in the ROM 12 or the storage 14. In the present embodiment, the ROM 12 or the storage 14 stores a clustering program for executing the clustering process described later.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores a program or data as a work area.
  • the storage 14 is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used for performing various inputs.
  • the display unit 16 is, for example, a liquid crystal display and displays various types of information.
  • the display unit 16 may adopt a touch panel method and function as an input unit 15.
  • the communication I / F17 is an interface for communicating with other devices, and standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark) are used.
  • FIG. 5 is a block diagram showing an example of the functional configuration of the clustering device 10.
  • the clustering device 10 has a similarity calculation unit 101 and a graph clustering unit 102 as functional configurations.
  • Each functional configuration is realized by the CPU 11 reading the clustering program stored in the ROM 12 or the storage 14, expanding the clustering program in the RAM 13, and executing the program.
  • the similarity calculation unit 101 accepts a vector set as an input.
  • the similarity calculation unit 101 calculates the similarity based on whether or not the two vectors included in the pair belong to the same low-dimensional space for each pair of the input vector set.
  • the similarity calculation unit 101 uses the similarity of each pair of vector sets to include a node corresponding to each of the vectors and an edge connecting the nodes with a strength corresponding to the similarity between the pair of vectors. Create a similarity matrix showing.
  • the similarity calculation unit 101 passes the created similarity matrix to the graph clustering unit 102.
  • the graph clustering unit 102 performs graph clustering on the similarity matrix passed from the similarity calculation unit 101 so as to maximize the objective function described later, and outputs a clustering result in which the input vector set is clustered.
  • the objective function has a first term whose value increases as the similarity between vectors belonging to the same cluster increases, and a second term whose value increases as the likelihood of vectors belonging to the same cluster belonging to the same low-dimensional space increases. Including the section of.
  • the conventional spectral clustering is a method aiming at (i) clustering so that vectors (that is, nodes) belonging to the same cluster are strongly connected to each other.
  • (ii) it aims to cluster so that the vectors belonging to the same cluster belong to the same low-dimensional subspace.
  • graph clustering is performed so as to maximize the objective function of the above equation (1).
  • the objective function of Eq. (1) since clustering is performed by considering only the information of the similarity matrix M and the diagonal matrix D in performing clustering, the effect when the similarity matrix M is noisy. There is a risk that the desired clustering result will not be obtained.
  • the vector newly belonging to the same cluster (ii) belongs to the same low-dimensional subspace in the objective function of the equation (1).
  • An objective function with the term r (G, X) added for clustering is used.
  • is a hyperparameter to balance the first term and the second term.
  • r (G, X) can be, for example, the following equation (5). Note that S in Eq. (5) is Eq. (6) below, and N (x; 0, ⁇ ) is a multivariate Gaussian distribution.
  • R (G, X) is the log-likelihood when Gaussian distribution fitting is performed on the vectors included in each cluster.
  • equation (7) which is a part of equation (5) cut out, corresponds to the likelihood when the i-th vector (that is, the node) is applied to the Gaussian distribution corresponding to the cluster to which the vector is assigned. ..
  • equation (8) in which a part of equation (5) is cut out, corresponds to the logarithm of the likelihood of equation (7) and added by all N vectors.
  • Eq. (5) is obtained when the covariance matrices ⁇ 1 , ..., ⁇ K are fitted so as to maximize the sum of the log-likelihoods of the N vectors of Eq. (8). Corresponds to the sum of log-likelihoods.
  • the domain of G is the above equation (3), finding G that maximizes the objective function of equation (5) is equivalent to solving a problem called a discrete optimization problem.
  • Discrete optimization problems are known to be difficult to solve except in some cases. Therefore, in the present embodiment, the domain of G is extended from the discrete set to the continuous set as shown in the following equation (9), instead of directly solving the discrete optimization problem.
  • the graph clustering unit 102 discretizes the obtained continuous solution after finding the continuous solution in this domain. Find the solution in two steps: do.
  • the graph clustering unit 102 obtains G and ⁇ that increase Eq. (10) by increasing L (q, G, ⁇ 1 , ..., ⁇ K ). For this purpose, the graph clustering unit 102 alternately optimizes the newly emerged probability distribution q (Z) and the parameters G and ⁇ .
  • the modification of the above equation (11) is based on the EM algorithm, and the probability distribution q (Z) is updated by E-Step, and the parameters G and ⁇ are updated by M-Step.
  • the graph clustering unit 102 updates the parameters by alternately performing the E-Step and the M-Step.
  • the graph clustering unit 102 maximizes L in Eq. (11) by setting the probability distribution q (Z) as shown in Eq. (12) below in the state where ⁇ and G are fixed in E-Step. To become.
  • the graph clustering unit 102 updates ⁇ 1 , ..., ⁇ K , and G in the M-Step with the probability distribution q (Z) fixed. This step corresponds to the maximization problem of the following equation (13).
  • the graph clustering unit 102 does not maximize G and ⁇ 1 , ..., ⁇ K at the same time, but first maximizes only ⁇ 1 , ..., ⁇ K , and then maximizes only ⁇ 1 , ..., ⁇ K. Maximize G and return to E-Step. Specifically, the graph clustering unit 102 first updates ⁇ 1 , ..., ⁇ K with G fixed. At this time, the equation (13) is maximized when ⁇ 1 , ..., ⁇ K is set as shown in the equation (14) below.
  • the graph clustering unit 102 updates G with ⁇ 1 , ..., ⁇ K fixed. At this time, the maximization problem of Eq. (13) is reduced to the maximization problem of Eq. (15) below.
  • the proximity gradient method can be used. Specifically, the graph clustering unit 102 obtains G by repeating the procedures shown in the following equations (16) and (17) until convergence.
  • the graph clustering unit 102 converts the continuous solution obtained as described above into a discrete solution.
  • the policy of simply allocating each vector to the cluster having the largest cluster allocation value is adopted.
  • the graph clustering unit 102 converts a continuous solution into a discrete solution using the following equation (18), and determines the cluster allocation of each vector.
  • FIG. 6 is a flowchart showing the flow of the clustering process by the clustering apparatus 10.
  • the clustering process is performed by the CPU 11 reading the clustering program from the ROM 12 or the storage 14, expanding it into the RAM 13 and executing it.
  • step S102 the CPU 11, as the similarity calculation unit 101, calculates the similarity based on whether or not the two vectors included in the pair belong to the same low-dimensional space for each pair of the vector set X. ..
  • the CPU 11 uses the similarity of each pair of vector sets to connect the nodes corresponding to each of the vectors and the edges connecting the nodes with the strength according to the similarity between the pairs of vectors. Create a similarity matrix M showing a graph containing.
  • the similarity calculation unit 101 passes the created similarity matrix M to the graph clustering unit 102.
  • step S103 the CPU 11 sets the variable L max used for the convergence test to ⁇ as the graph clustering unit 102.
  • step S104 the CPU 11 executes the EM algorithm M-Step as the graph clustering unit 102. Specifically, the CPU 11 sets ⁇ 1 , ..., ⁇ K as the graph clustering unit 102 as shown in the equation (14). Then, the CPU 11 updates G as the graph clustering unit 102 by the equations (16) and (17) in a state where ⁇ 1 , ..., ⁇ K are fixed.
  • step S105 the CPU 11 executes the EM algorithm E-Step as the graph clustering unit 102. Specifically, the CPU 11 sets the probability distribution q (Z) as shown in the equation (12) in a state where the graph clustering unit 102 fixes the ⁇ and G updated in step S104. Maximize L in equation (11).
  • step S106 the CPU 11, as the graph clustering unit 102, compares L and L max maximized in step S105, and determines whether or not the EM algorithm has converged. Specifically, the CPU 11 determines that the graph clustering unit 102 has converged when there is no change between L and L max , the process proceeds to step S107, and if L is larger than L max , L is set. A new L max is set, and the process returns to step S104.
  • step S107 the CPU 11, as the graph clustering unit 102, converts the G of the continuous solution updated in the latest step S104 into a discrete solution using the equation (18), and then G of the converted discrete solution. Is output as a clustering result. Then, the clustering process ends.
  • the first term in which the value increases as the similarity between the vectors belonging to the same cluster increases, and the vectors belonging to the same cluster belong to the same low-dimensional space.
  • Graph clustering is performed so as to maximize the objective function including the second term whose value increases as the likelihood increases. As a result, the accuracy of subspace clustering based on graph clustering can be improved.
  • the clustering device according to the present embodiment can be applied to the learning of the classifier. Further, the clustering apparatus according to the present embodiment can also be used in the context of abnormality detection. It is also possible to go back to the basics and use it for unsupervised classification.
  • the clustering apparatus when the data to be clustered is used as an image signal, the clustering apparatus according to this embodiment is used to classify objects and facial images, and to separate objects having the same movement in the image, that is, to move. It can be used for object segmentation, dividing similar areas, i.e. image segmentation, etc.
  • a framework may be used in which the acoustic signal is converted into a feature amount and then identified by a classifier.
  • the clustering apparatus according to the present embodiment can be used when learning the classifier used in this case. Specifically, when it is desired to detect abnormal sound, it can be used for unsupervised classification of acoustic signals.
  • the data to be clustered is used as a biological signal
  • the biological signal or the genetic data is converted into a feature amount and then the classifier
  • the framework of identification by is used.
  • the clustering apparatus according to this embodiment can be used when learning the classifier used in this case. Specifically, when it is desired to detect an abnormality in a biological signal, it can be used for unsupervised classification of the biological signal.
  • various processors other than the CPU may execute the clustering process executed by the CPU reading the software (program) in the above embodiment.
  • the processors include PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing FPGA (Field-Programmable Gate Array), and ASIC (Application Specific Integrated Circuit) for executing ASIC (Application Special Integrated Circuit).
  • An example is a dedicated electric circuit or the like, which is a processor having a circuit configuration designed exclusively for the purpose.
  • the clustering process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs and a combination of a CPU and an FPGA, etc. ) May be executed.
  • the hardware structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the program is a non-temporary storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital entirely Disk Online Memory), and a USB (Universal Serial Bus) memory. It may be provided in the form. Further, the program may be downloaded from an external device via a network.
  • Appendix 1 With memory With at least one processor connected to the memory Including The processor For each pair of a plurality of input vectors, the similarity based on whether or not the two vectors included in the pair belong to the same low-dimensional space is calculated.
  • An objective function for graph clustering a graph including nodes corresponding to each of the vectors and edges connecting the nodes with a strength corresponding to the similarity between the calculated vectors, and vectors belonging to the same cluster.
  • the objective function including a first term whose value increases as the similarity between them increases, and a second term whose value increases as the likelihood that vectors belonging to the same cluster belong to the same low-dimensional space increases.
  • a clustering apparatus configured to cluster the plurality of vectors so as to maximize.
  • a non-temporary recording medium that stores a program that can be executed by a computer to perform a clustering process.
  • the clustering process is For each pair of a plurality of input vectors, the similarity based on whether or not the two vectors included in the pair belong to the same low-dimensional space is calculated.
  • An objective function for graph clustering a graph including nodes corresponding to each of the vectors and edges connecting the nodes with a strength corresponding to the similarity between the calculated vectors, and vectors belonging to the same cluster.
  • the objective function including a first term whose value increases as the similarity between them increases, and a second term whose value increases as the likelihood that vectors belonging to the same cluster belong to the same low-dimensional space increases.
  • a non-temporary recording medium comprising clustering the plurality of vectors so as to maximize.
  • Clustering device 11 CPU 12 ROM 13 RAM 14 Storage 15 Input unit 16 Display unit 17 Communication I / F 19 Bus 101 Similarity calculation unit 102 Graph clustering unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

グラフクラスタリングに基づいた部分空間クラスタリングの精度を向上させる。 類似度計算部(101)が、入力された複数のベクトルの各ペアについて、ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算し、グラフクラスタリング部(102)が、ベクトルの各々に対応するノードと、ベクトル間の類似度に応じた強度でノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む目的関数を最大化するように、複数のベクトルをクラスタリングする。

Description

クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム
 開示の技術は、クラスタリング装置、クラスタリング方法、及びクラスタリングプログラムに関する。
 ベクトルデータ(以下、単に「ベクトル」ともいう)が多数与えられて、“似た”傾向を持つベクトル同士をまとめあげるタスクであるクラスタリングにおいて、どういうベクトルを“似た”ベクトルとするかによってクラスタリング問題の種類及び手法が異なる。例えば、近い位置にあるデータを“似た”ベクトルとするクラスタリング問題は、セントラルクラスタリングと呼ばれる問題になり、k-meansと呼ばれるアルゴリズムなどを用いて解かれる。また、他には、同じ低次元部分空間に存在するベクトル同士を“似た”ベクトルとするクラスタリング問題も存在する。
 このように、同じクラスタに属するベクトルの集合は同じ部分空間上に存在するという仮定が成り立つとしてクラスタリングを行う手法を部分空間クラスタリングという。例えば、同じ物体を照明条件だけを変えながら撮影し続けて画像を多数集めた場合、各画像の画素値を並べたベクトルの集合は9次元の部分空間上に存在すると近似できる、ということが示唆されている。部分空間クラスタリングの入力及び出力は、以下のとおりである。
[入力(1)] ベクトルデータの集合 X={x,x,・・・,x
[入力(2)] クラスタ数 K
[出力] クラスタリングにより得られたKセットのベクトルデータの集合。なお、各クラスタに属するベクトルデータが同一の低次元部分空間上やその近くに存在するようにより分けられる。
Stella X. Yu, Jianbo Shi, "Multiclass Spectral Clustering", ICCV 2003 Ehsan Elhamifar, Rene Vidal, "Sparse Subspace Clustering", CVPR 2009
 部分空間クラスタリングは見かけ以上に困難な問題であり、それゆえ過去多数の手法が提案されてきており、近年では、グラフクラスタリングに基づいた部分空間クラスタリングの手法が提案されている。具体的には、ベクトルのペアに関して、その2つのベクトルが同じ部分空間に属していそうかどうかの観点で類似度を計算し、全てのベクトルのペアに関して計算した類似度を用いて、ベクトルの集合から構築されるグラフを示す隣接行列を計算する。そして、得られた隣接行列を、グラフクラスタリング法を用いてクラスタリングする。
 この場合、実際には、2つのベクトルのペアが同じ部分空間に属していそうかどうかを評価することは難しく、計算される隣接行列はノイジーなものとなってしまう場合がある。ノイジーな隣接行列に対して、そのままグラフクラスタリングを行うと、クラスタリングの精度自体も低下してしまう。
 開示の技術は、上記の点に鑑みてなされたものであり、グラフクラスタリングに基づいた部分空間クラスタリングの精度を向上させることを目的とする。
 本開示の第1態様は、クラスタリング装置であって、入力された複数のベクトルの各ペアについて、前記ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算する類似度計算部と、前記ベクトルの各々に対応するノードと、前記類似度計算部で計算されたベクトル間の類似度に応じた強度で前記ノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む前記目的関数を最大化するように、前記複数のベクトルをクラスタリングするグラフクラスタリング部と、を含む。
 本開示の第2態様は、クラスタリング装置であって、前記第2の項は、各クラスタに属するベクトルを前記各クラスタに相当するガウス分布に当てはめた場合の尤度とすることができる。
 本開示の第3態様は、クラスタリング装置であって、前記グラフクラスタリング部は、クラスタリングの解の定義域が離散的な集合から連続的な集合になるように定義された前記目的関数を最大化することにより前記連続的な集合の解を求め、前記連続的な集合の解を前記離散的な集合の解に変換することができる。
 本開示の第4態様は、類似度計算部と、グラフクラスタリング部とを含むクラスタリング装置において実行されるクラスタリング方法であって、前記類似度計算部が、入力された複数のベクトルの各ペアについて、前記ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算し、前記グラフクラスタリング部が、前記ベクトルの各々に対応するノードと、前記類似度計算部で計算されたベクトル間の類似度に応じた強度で前記ノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む前記目的関数を最大化するように、前記複数のベクトルをクラスタリングする方法である。
 本開示の第5態様は、クラスタリングプログラムであって、コンピュータを、上記のクラスタリング装置を構成する各部として機能させるためのプログラムである。
 開示の技術によれば、グラフクラスタリングに基づいた部分空間クラスタリングの精度を向上させることができる。
グラフクラスタリングを説明するための図である。 グラフクラスタリングに基づいた部分空間クラスタリングを説明するための図である。 従来手法と比較した、本実施形態におけるグラフクラスタリングに基づいた部分空間クラスタリングを説明するための図である。 本実施形態に係るクラスタリング装置のハードウェア構成を示すブロック図である。 本実施形態に係るクラスタリング装置の機能構成の例を示すブロック図である。 本実施形態におけるクラスタリング処理の流れを示すフローチャートである。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 まず、実施形態の詳細を説明する前に、本実施形態の背景となる技術として、「グラフクラスタリングに基づいた部分空間クラスタリング手法」について説明する。以下では、「グラフクラスタリングに基づいた部分空間クラスタリング手法」を説明するために、「グラフクラスタリング」とは何かを説明した上で、「グラフクラスタリングに基づいた部分空間クラスタリング手法」とは何かを説明する。
 グラフとは、図1のAに示すように、ノードの集合と、2つのノードがどの程度の強度で結合されているかを表すエッジの集合とにより定義される。このようなグラフの表現方法として、図1のBに示すような隣接行列がよく用いられる。隣接行列とは、グラフのノードがN個である場合に、N×Nのサイズの行列を定義して、行列の(i,j)番目の要素にi番目のノードとj番目のノードとを結合するエッジの強度を格納したデータ構造である。図1のBの例では、i番目のノードとj番目のノードとがエッジで結合されている場合に行列の(i,j)番目の要素に「1」を、結合されていない場合には「0」を格納している。
 グラフのクラスタリングは、ノードの集合を複数のノード集合に分割するというタスクであり、この際に、同じノード集合内のノード同士がなるべく強く結合し合っているようにノード集合を分割することを目指す。簡単のために、図1のAに示すグラフを2クラスに分割したい場合を考える。図1のBに示す隣接行列は、図1のCの太線枠で示す左上のブロック内及び右下のブロック内の各々のノード同士が高い割合で結合し合っている。このような場合に、左上及び右下のブロックに相当するノード、つまり{1,2,3,4}と{5,6,7,8,9}との集合に分割することを目指すのがグラフクラスタリングである。
 グラフクラスタリングを行う場合、スペクトラルクラスタリング法と呼ばれる手法がよく用いられる。スペクトラルクラスタリング法でN個のベクトルをK個のクラスタに分割する場合、下記(1)式に示す目的関数が大きくなるようなグラフ分割を求める。なお、(1)式内のε(G,M)は下記(2)式で表され、Gの定義域gは下記(3)式で表される。
Figure JPOXMLDOC01-appb-M000001

 
 ここで、MはN個のベクトルの類似度行列(隣接行列)、Dは対角行列で、Dii=Σij、gはG=[g,...,g]を満たすようなN次元ベクトルである。また、GはN×Kのサイズの行列で、各ベクトルのクラスタ割り当てを管理するために用いられる。具体的には、i番目のノードをj番目のクラスタに割り振る場合はGij=1、それ以外はGij=0と定める。スペクトラルクラスタリング法では、(1)式を最大化するようなGを求めることを目指す。そのようなGを求めるためのアルゴリズムは、従来既知の手法を適用することができるため、ここでは説明を省略する。
 部分空間クラスタリングは、上述のグラフクラスタリングを応用することで解くことができる。グラフクラスタリングに基づいた部分空間クラスタリング法では、ベクトルそれぞれをグラフのノードとみなす。そして、それぞれのノードのペアに対し、そのペアが同じ低次元部分空間に属していそうであればそのペアの間のエッジの強度を大きく、そうでなければ小さくなるようにしてグラフを構成し、構成されたグラフに対してグラフクラスタリングを行う。
 すなわち、グラフクラスタリングに基づいた部分空間クラスタリング手法は、大きく分けて、類似度計算及びグラフクラスタリングの2つのステップでクラスタリングを行う手法である。
 具体的には、類似度計算のステップでは、i番目のベクトルとj番目のベクトルとのペアに関して、2つのベクトルが同じ部分空間に属していそうかどうかを評価して、その評価関数の大きさをi番目とj番目のベクトル間の類似度として計算する。ベクトルのペアが同じ部分空間に属していそうかどうかの評価は、例えば2つのベクトルの成す角についてのコサインの絶対値など、従来既知の手法を適用することができる。
 例えば、図2のDに示すように、2次元の部分空間に存在する入力されたベクトルの各々(図2のDの黒丸)が存在するとする。図2のPで示すベクトルのペアは、同じ部分空間に属していそうであるので、そのペアに対応するノード間のエッジの強度を大きめにする。一方、図2のQで示すベクトルのペアは、異なる部分空間に属していそうであるので、そのペアに対応するノード間のエッジの強度を小さめにする。
 上記の類似度を全てのベクトルのペアに関して行って、図2のEに示すように、(i,j)番目の要素に、i番目のノードとj番目のノード間の類似度(エッジの強度)を格納した類似度行列を計算する。
 グラフクラスタリングのステップでは、図2のFに示すように、得られた類似度行列を、例えば上述したスペクトラルクラスタリング法を用いたグラフクラスタリングによってクラスタリングを行う。
 上述したグラフクラスタリングに基づいた部分空間クラスタリング手法では、図3の上図に示す従来手法のように、グラフクラスタリングのステップで、類似度計算のステップで得られた類似度行列の情報だけしか考慮されない。類似度行列が精度良く計算できていれば問題ないが、実際には、2つのベクトルのペアが同じ部分空間に属していそうかどうかを評価することは難しい。そのため、同じ部分空間に属しているベクトルのペアに対して類似度を小さく見積もってしまったり、また異なる部分空間に属するベクトルのペアに対して類似度を大きく見積もってしまったりすることがある。その結果として、類似度行列は大抵ノイジーであり、ノイジーな類似度行列をそのままスペクトラルクラスタリングにかけると望ましくない結果が得られる恐れがある。
 本実施形態では、ノイジーな類似度行列が入力された場合にも、精度良くグラフクラスタリングを行う。そのために、図3の下図に示す提案手法のように、グラフクラスタリングを実行する際に、類似度行列の情報だけでなく、入力されたベクトル集合そのものの情報も用いる。以下、本実施形態について詳述する。
 図4は、クラスタリング装置10のハードウェア構成を示すブロック図である。
 図4に示すように、クラスタリング装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16、及び通信I/F(インタフェース)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、後述するクラスタリング処理を実行するためのクラスタリングプログラムが格納されている。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
 表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能してもよい。
 通信I/F17は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
 次に、クラスタリング装置10の機能構成について説明する。
 図5は、クラスタリング装置10の機能構成の例を示すブロック図である。
 図5に示すように、クラスタリング装置10は、機能構成として、類似度計算部101と、グラフクラスタリング部102とを有する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたクラスタリングプログラムを読み出し、RAM13に展開して実行することにより実現される。
 類似度計算部101は、入力として、ベクトル集合を受け付ける。類似度計算部101は、入力されたベクトル集合の各ペアについて、ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算する。類似度計算部101は、ベクトル集合の各ペアの類似度を用いて、ベクトルの各々に対応するノードと、ベクトルのペア間の類似度に応じた強度でノード間を接続するエッジとを含むグラフを示す類似度行列を作成する。類似度計算部101は、作成した類似度行列をグラフクラスタリング部102へ受け渡す。
 グラフクラスタリング部102は、類似度計算部101から受け渡された類似度行列について、後述する目的関数を最大化するようにグラフクラスタリングを行い、入力されたベクトル集合をクラスタリングしたクラスタリング結果を出力する。目的関数は、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む。
 すなわち、従来のスペクトラルクラスタリングは、(i)同じクラスタに属するベクトル(つまりノード)同士が強く結合し合っているようにクラスタリングすることを目指す手法である。本実施形態では、上記(i)と同時に、(ii)同じクラスタに属するベクトルが同じ低次元部分空間に属するようにクラスタリングすることを目指す。これにより、ノイジーな類似度行列が入力された場合でも、入力されたベクトル集合の情報を直接考慮することで、類似度行列のノイズの影響が緩和されたクラスタリング結果が得られる。
 以下、グラフクラスタリング部102の処理について、より具体的に説明する。
 上述したように、従来手法のスペクトラルクラスタリング法に基づくグラフクラスタリングでは、上記(1)式の目的関数を最大化するようにグラフクラスタリングを行う。しかしながら、(1)式の目的関数では、クラスタリングを行う上で類似度行列M及び対角行列Dの情報だけを考慮してクラスタリングを行うため、類似度行列Mがノイジーである場合に、その影響を直接受けてしまい、望ましいクラスタリング結果が得られない恐れがある。
 そこで、本実施形態におけるグラフクラスタリング部102では、(1)式の目的関数に、下記(4)式に示すように、新たに(ii)同じクラスタに属するベクトルが同じ低次元部分空間に属するようにクラスタリングするための項r(G,X)を追加した目的関数を用いる。
Figure JPOXMLDOC01-appb-M000002
 λは第1の項と第2の項とのバランスを取るためのハイパーパラメータである。また、r(G,X)は、例えば、下記(5)式とすることができる。なお、(5)式中のSは下記(6)式であり、N(x;0,Σ)は多変量ガウス分布である。
Figure JPOXMLDOC01-appb-M000003
 r(G,X)は、それぞれのクラスタに含まれるベクトルでガウス分布フィッティングした場合の対数尤度である。以下、より具体的に説明する。まず、(5)式の一部を切り取った下記(7)式は、i番目のベクトル(すなわちノード)をそのベクトルが割り振られたクラスタに相当するガウス分布に当てはめた際の尤度に相当する。
Figure JPOXMLDOC01-appb-M000004
 これは、Gi1,・・・,GiKは、その定義から、i番目のベクトルがt番目のクラスタに割り振られていればGit=1、そうでなければGit=0が成り立つ。そのため、t番目のクラスタに相当するガウス分布に対してのみ当てはめた尤度だけが選択されるからである。
 そして、(5)式の一部を切り取った下記(8)式は、(7)式の尤度の対数を取ってN個のベクトル全てで足し合わせたものに相当する。
Figure JPOXMLDOC01-appb-M000005
 したがって、(5)式は、(8)式のN個分のベクトルの対数尤度の和を最大化させるように共分散行列Σ,・・・,Σをフィッティングさせた際に得られる対数尤度の和に相当する。
 次に、グラフクラスタリング部102が、どのようにしてGを求めるかを説明する。
 Gの定義域が上記(3)式の場合、(5)式の目的関数を最大化させるGを求めることは、離散最適化問題と呼ばれる問題を解くことに相当する。離散最適化問題は一部の場合を除いて解くのが難しい問題として知られている。そこで、本実施形態では、離散最適化問題を直接解くのではなく、Gの定義域を離散的な集合から、下記(9)式に示すように、連続的な集合に拡張する。
Figure JPOXMLDOC01-appb-M000006
 具体的には、定義域をこのように連続的にすることで比較的解き易い問題にし、グラフクラスタリング部102は、この定義域のなかで連続解を求めた後に、求めた連続解を離散化する、という2つのステップで解を求める。
 はじめに、グラフクラスタリング部102がどのように連続解を求めるかについて説明する。本実施形態では、連続解を求める上で、EMアルゴリズムに基づくアルゴリズムを採用する。まず、(4)式の目的関数は、下記(10)式に示すように変形できる。
Figure JPOXMLDOC01-appb-M000007
 (10)式の最後の式は、下記(11)式に示す不等号の式に変形することができる。
Figure JPOXMLDOC01-appb-M000008
 グラフクラスタリング部102は、L(q,G,Σ,・・・,Σ)を大きくすることで、(10)式を大きくするようなG及びΣを求める。このために、グラフクラスタリング部102は、新しく出てきた確率分布q(Z)と、パラメータG及びΣとを交互に最適化する。ここで、確率分布q(Z)は、Σq(Zik=1)=1、q(Zik=1)≧0であり、変分分布と呼ばれる。
 上記(11)式の変形は、EMアルゴリズムに基づいており、確率分布q(Z)の更新はE-Step、パラメータG及びΣの更新はM-Stepで行われる。グラフクラスタリング部102は、このE-StepとM-Stepとを交互に行うことで、パラメータを更新する。
 グラフクラスタリング部102は、E-Stepにおいて、Σ及びGを固定させた状態で、下記(12)式に示すように確率分布q(Z)を設定することで、(11)式のLを最大化する。
Figure JPOXMLDOC01-appb-M000009
 グラフクラスタリング部102は、M-Stepにおいて、確率分布q(Z)を固定させた状態でΣ,・・・,Σ、及びGを更新する。このステップは下記(13)式の最大化問題に相当する。
Figure JPOXMLDOC01-appb-M000010
 本実施形態では、グラフクラスタリング部102は、G及びΣ,・・・,Σを同時に最大化させるのではなく、先にΣ,・・・,Σだけを最大化させ、その後にGを最大化させてE-Stepに戻る。具体的には、グラフクラスタリング部102は、はじめにGが固定された状態でΣ,・・・,Σを更新する。このとき、(13)式が最大化されるのは、下記(14)式に示すようにΣ,・・・,Σを設定した場合である。
Figure JPOXMLDOC01-appb-M000011
 次に、グラフクラスタリング部102は、Σ,・・・,Σが固定された状態でGを更新する。このとき、(13)式の最大化問題は下記(15)式に示す最大化問題に帰着される。
Figure JPOXMLDOC01-appb-M000012
 ここで、(15)式の2行目最後のτ(G)は、G∈Hならτ(G)=0、そうでなければτ(G)=∞となるような関数である。(15)式の最大化は、例えば近接勾配法を用いることができる。具体的には、グラフクラスタリング部102は、下記(16)式及び(17)式に示す手順を収束まで繰り返すことでGを求める。
Figure JPOXMLDOC01-appb-M000013
 ここで、γは更新式のステップ幅、||a||はaのフロベニウスノルムである。グラフクラスタリング部102は、上記のように求めた連続解を離散解に変換する。ここでは単純に、それぞれのベクトル毎に、最もクラスタ割り当ての値が大きいクラスタに割り当てるという方針を採用する。具体的には、グラフクラスタリング部102は、下記(18)式を用いて連続解を離散解に変換し、各ベクトルのクラスタ割り当てを決定する。
Figure JPOXMLDOC01-appb-M000014
 ここで、<A=B>は、AとBが同じであれば1を、そうでなければ0を返す関数である。これは、ベクトル毎に連続解Gijの値が最も大きいクラスタに割り当てるようにすることに相当する。
 次に、クラスタリング装置10の作用について説明する。
 図6は、クラスタリング装置10によるクラスタリング処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14からクラスタリングプログラムを読み出して、RAM13に展開して実行することにより、クラスタリング処理が行なわれる。
 ステップS101で、CPU11が、類似度計算部101として、ベクトル集合X=[x,・・・,x]、及び確率分布q(Z)の初期値を受け付ける。
 次に、ステップS102で、CPU11が、類似度計算部101として、ベクトル集合Xの各ペアについて、ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算する。CPU11は、類似度計算部101として、ベクトル集合の各ペアの類似度を用いて、ベクトルの各々に対応するノードと、ベクトルのペア間の類似度に応じた強度でノード間を接続するエッジとを含むグラフを示す類似度行列Mを作成する。類似度計算部101は、作成した類似度行列Mをグラフクラスタリング部102へ受け渡す。
 次に、ステップS103で、CPU11が、グラフクラスタリング部102として、収束判定に用いる変数Lmaxに-∞を設定する。
 次に、ステップS104で、CPU11が、グラフクラスタリング部102として、EMアルゴリズムのM-Stepを実行する。具体的には、CPU11が、グラフクラスタリング部102として、(14)式に示すようにΣ,・・・,Σを設定する。そして、CPU11が、グラフクラスタリング部102として、Σ,・・・,Σが固定された状態で、(16)式及び(17)式によりGを更新する。
 次に、ステップS105で、CPU11が、グラフクラスタリング部102として、EMアルゴリズムのE-Stepを実行する。具体的には、CPU11が、グラフクラスタリング部102として、上記ステップS104で更新したΣ及びGを固定させた状態で、(12)式に示すように確率分布q(Z)を設定することで、(11)式のLを最大化する。
 次に、ステップS106で、CPU11が、グラフクラスタリング部102として、上記ステップS105で最大化されたLとLmaxとを比較し、EMアルゴリズムが収束したか否かを判定する。具体的には、CPU11が、グラフクラスタリング部102として、LとLmaxとに変化がない場合には収束したと判定し、処理はステップS107へ移行し、LがLmaxより大きければ、Lを新たなLmaxに設定し、処理はステップS104に戻る。なお、LとLmaxとに変化がない場合とは、L=Lmaxの場合に限らず、LとLmaxとの差が所定値以下の場合を含むようにしてもよい。
 次に、ステップS107で、CPU11が、グラフクラスタリング部102として、直近の上記ステップS104で更新された連続解のGを、(18)式を用いて離散解に変換し、変換した離散解のGをクラスタリング結果として出力する。そして、クラスタリング処理は終了する。
 以上説明したように、本実施形態に係るクラスタリング装置は、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む目的関数を最大化するように、グラフクラスタリングを実行する。これにより、グラフクラスタリングに基づいた部分空間クラスタリングの精度を向上させることができる。
 なお、部分空間クラスタリングの技術は、識別器の半教師有り学習のためにも利用することができるため、本実施形態に係るクラスタリング装置を、識別器の学習に適用することができる。また、本実施形態に係るクラスタリング装置を、異常検知の文脈にも利用することもできる。また、根本に立ち返って、教師なし分類に利用することも可能である。
 上記のような識別器の学習、異常検知、教師なし分類等に本実施形態に係るクラスタリング装置を適用する場合、クラスタリング対象のデータとしては、画像信号、音響信号、生体信号等を扱うことができる。
 より具体的な例では、クラスタリング対象のデータを画像信号とする場合、本実施形態に係るクラスタリング装置を、物体や顔の画像の分類、映像中で動き方が同じ物体をより分けること、すなわち移動物体セグメンテーション、似たような領域を分割すること、すなわち画像のセグメンテーション等のために使うことができる。
 また、クラスタリング対象のデータを音響信号とする場合、環境音認識や音声認識などを行いたい場合に、音響信号を特徴量に変換した上で識別器により識別するという枠組みが用いられる場合がある。この場合に使う識別器を学習する際に本実施形態に係るクラスタリング装置を利用することができる。具体的には、異常音検知をしたい場合、音響信号の教師なし分類等に利用することができる。
 また、クラスタリング対象のデータを生体信号とする場合、生体信号からの健康状態の識別や遺伝子データからの病気予測などを行いたい場合に、生体信号や遺伝子データを特徴量に変換した上で識別器により識別するという枠組みが用いられる場合がある。この場合に使う識別器を学習する際に本実施形態に係るクラスタリング装置を利用することができる。具体的には、生体信号の異常検知をしたい場合、生体信号の教師なし分類等に利用することができる。
 なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したクラスタリング処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、クラスタリング処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、クラスタリングプログラムがROM12又はストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 入力された複数のベクトルの各ペアについて、前記ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算し、
 前記ベクトルの各々に対応するノードと、計算したベクトル間の類似度に応じた強度で前記ノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む前記目的関数を最大化するように、前記複数のベクトルをクラスタリングする
 ように構成されているクラスタリング装置。
 (付記項2)
 クラスタリング処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記録媒体であって、
 前記クラスタリング処理は、
 入力された複数のベクトルの各ペアについて、前記ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算し、
 前記ベクトルの各々に対応するノードと、計算したベクトル間の類似度に応じた強度で前記ノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む前記目的関数を最大化するように、前記複数のベクトルをクラスタリングする
 ことを含む非一時的記録媒体。
10   クラスタリング装置
11   CPU
12   ROM
13   RAM
14   ストレージ
15   入力部
16   表示部
17   通信I/F
19   バス
101 類似度計算部
102 グラフクラスタリング部

Claims (5)

  1.  入力された複数のベクトルの各ペアについて、前記ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算する類似度計算部と、
     前記ベクトルの各々に対応するノードと、前記類似度計算部で計算されたベクトル間の類似度に応じた強度で前記ノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む前記目的関数を最大化するように、前記複数のベクトルをクラスタリングするグラフクラスタリング部と、
     を含むクラスタリング装置。
  2.  前記第2の項は、各クラスタに属するベクトルを前記各クラスタに相当するガウス分布に当てはめた場合の尤度である請求項1に記載のクラスタリング装置。
  3.  前記グラフクラスタリング部は、クラスタリングの解の定義域が離散的な集合から連続的な集合になるように定義された前記目的関数を最大化することにより前記連続的な集合の解を求め、前記連続的な集合の解を前記離散的な集合の解に変換する請求項1又は請求項2に記載のクラスタリング装置。
  4.  類似度計算部と、グラフクラスタリング部とを含むクラスタリング装置において実行されるクラスタリング方法であって、
     前記類似度計算部が、入力された複数のベクトルの各ペアについて、前記ペアに含まれる2つのベクトルが同一の低次元空間に属するか否かに基づく類似度を計算し、
     前記グラフクラスタリング部が、前記ベクトルの各々に対応するノードと、前記類似度計算部で計算されたベクトル間の類似度に応じた強度で前記ノード間を接続するエッジとを含むグラフをグラフクラスタリングするための目的関数であって、同じクラスタに属するベクトル間の類似度が高いほど値が大きくなる第1の項と、同じクラスタに属するベクトルが同一の低次元空間に属する尤度が高いほど値が大きくなる第2の項とを含む前記目的関数を最大化するように、前記複数のベクトルをクラスタリングする
     クラスタリング方法。
  5.  コンピュータを、請求項1~請求項3の何れか1項に記載のクラスタリング装置を構成する各部として機能させるためのクラスタリングプログラム。
PCT/JP2019/020951 2019-05-27 2019-05-27 クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム Ceased WO2020240671A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020951 WO2020240671A1 (ja) 2019-05-27 2019-05-27 クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020951 WO2020240671A1 (ja) 2019-05-27 2019-05-27 クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム

Publications (1)

Publication Number Publication Date
WO2020240671A1 true WO2020240671A1 (ja) 2020-12-03

Family

ID=73552057

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/020951 Ceased WO2020240671A1 (ja) 2019-05-27 2019-05-27 クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム

Country Status (1)

Country Link
WO (1) WO2020240671A1 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ELHAMIFAR, EHSAN ET AL.: "Sparse Subspace Clustering: Algorithm, Theory, and Applications", 5 February 2013 (2013-02-05), pages 1 - 19, XP055764659, Retrieved from the Internet <URL:https://arxiv.org/abs/1203.1005> [retrieved on 20190705] *

Similar Documents

Publication Publication Date Title
Ohata et al. A novel transfer learning approach for the classification of histological images of colorectal cancer: EF Ohata et al.
US10970313B2 (en) Clustering device, clustering method, and computer program product
Zhang et al. Local density adaptive similarity measurement for spectral clustering
CN112639843A (zh) 使用机器学习模型来抑制偏差数据
Delgado et al. A SOM prototype-based cluster analysis methodology
WO2017206936A1 (zh) 基于机器学习的网络模型构造方法及装置
CN111462086A (zh) 图像分割方法及装置、神经网络模型的训练方法及装置
CN115546525A (zh) 多视图聚类方法、装置、电子设备及存储介质
Chaddad et al. Deep radiomic analysis based on modeling information flow in convolutional neural networks
US11551093B2 (en) Resource-aware training for neural networks
CN110176006B (zh) 图像前景物体分割方法及装置
CN116109121B (zh) 基于大数据分析的用户需求挖掘方法及系统
CN114463574A (zh) 一种遥感图像的场景分类方法及装置
Kao et al. Disc-GLasso: Discriminative graph learning with sparsity regularization
CN106503743B (zh) 一种数量多且维数高的图像局部特征点自适应聚类方法
Naveen et al. Meta-heuristic endured deep learning model for big data classification: image analytics
CN106295677B (zh) 一种联合拉斯正则项和特征自学习的水流图像分簇方法
Silvestre et al. Identifying the number of clusters in discrete mixture models
Morkūnas et al. Machine learning based classification of colorectal cancer tumour tissue in whole-slide images
CN104077765A (zh) 图像分割装置、图像分割方法和程序
US20210192362A1 (en) Inference method, storage medium storing inference program, and information processing device
WO2022065278A1 (ja) 統計的距離行列の計算方法、統計的距離行列の可視化方法及び装置及びプログラム
Cipolli III et al. Supervised learning via smoothed Polya trees
WO2020240671A1 (ja) クラスタリング装置、クラスタリング方法、及びクラスタリングプログラム
CN114926721B (zh) 一种场景图像解析方法和系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19930288

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19930288

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP