# US 2017/0255656 A1 · Clustering apparatus, clustering method, and storage medium

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0255656 A1
- Document ID: US20170255656A1
- Status: Published application
- Kind: A1
- Application number: 15/506,179
- Filed: 2015-08-24
- Published: 2017-09-07
- Earliest claimed: 2014-08-29
- Assignees: Nippon Control System Corporation
- Applicants: Nippon Control System Corporation
- Inventors: Yoshihiro FUJIMOTO; Satoaki SAWADA; Hidena KAMOI; Yoriko MORISAKI
- Web page: https://patentgrep.com/patent/US20170255656A1

## CPC

- G06N 20/00: Machine learning
- G06F 16/212: {with details for data modelling support}
- G06F 16/2237: {Vectors, bitmaps or matrices}
- G06F 16/285: {Clustering or classification}
- G06F 17/16: Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)}
- G06F 18/21: Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F 18/23213: with fixed number of clusters, e.g. K-means clustering
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06N 3/126: Evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06V 2201/06: Recognition of objects for industrial automation
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A clustering apparatus includes: an accepting unit that accepts pieces of target data, each of which is a vector; a slime mold information constructing unit that constructs, using the pieces of target data, slime mold information, which is information having one piece of hub cell information corresponding to a central cell of a slime mold and one or more pieces of branch cell information corresponding to a cell that is divided from the central cell for predation; and a clustering unit that associates each of the pieces of target data with branch cell information having the shortest distance from a vector contained in the branch cell information to the target data, among the one or more pieces of branch cell information contained in the constructed slime mold information, thereby clustering the target data into clusters in the same number as that of the pieces of branch cell information.

## Claims

### Claim 1

A clustering apparatus, comprising:
an accepting unit that accepts two or more pieces of target data, each of which is data targeted for clustering and is a vector having two or more elements;
a slime mold information constructing unit that constructs, using the two or more pieces of target data, slime mold information, which is information obtained by modeling a predation behavior by a slime mold, and is information having two or more pieces of cell information consisting of one piece of hub cell information corresponding to a central cell of the slime mold and one or more pieces of branch cell information each corresponding to a cell that is divided from the central cell for predation, the hub cell information and the branch cell information each having a vector in the same number of dimensions as that of the target data;
a clustering unit that associates each of the two or more pieces of target data with branch cell information having the shortest distance from the vector contained in the branch cell information to the target data, among the one or more pieces of branch cell information contained in the slime mold information constructed by the slime mold information constructing unit, thereby clustering the target data into clusters in the same number as that of the pieces of branch cell information; and
an output unit that outputs a clustering result obtained by the clustering unit,
wherein the slime mold information constructing unit includes:
a hub cell information constructing part that acquires representative data, which is a vector representing the two or more pieces of target data, and constructs hub cell information having a vector that is the representative data; and
a branch cell information constructing part that performs processing that constructs new branch cell information, and processing that updates the vector contained in the constructed branch cell information so as to reduce a distance to any one piece of target data among the two or more pieces of target data, using the two or more pieces of target data and the constructed slime mold information.

### Claim 2 (depends on 1)

The clustering apparatus according to claim 1, wherein the branch cell information constructing part selects one piece of target data once or more from among the two or more pieces of target data, specifies winner cell information, which is cell information having a vector having the shortest distance to the one piece of target data, from the constructed slime mold information, and, in a case where the winner cell information is hub cell information, constructs new branch cell information, and, in a case where the winner cell information is branch cell information, updates a vector contained in the branch cell information so as to reduce a distance to the one piece of target data.

### Claim 3 (depends on 1)

The clustering apparatus according to claim 1, wherein the branch cell information constructing part selects one piece of target data once or more from among the two or more pieces of target data, and, in a case where cell information having a vector having the shortest distance to the one piece of target data is hub cell information, calculates a vector that internally divides a vector contained in the hub cell information and the one piece of target data, and constructs new branch cell information having the calculated vector.

### Claim 4 (depends on 1)

The clustering apparatus according to claim 1,
wherein the branch cell information has a learning coefficient, which is a coefficient that is used to update a vector contained in the branch cell information, and
the branch cell information constructing part selects one piece of target data once or more from among the two or more pieces of target data, and, in a case where cell information having a vector having the shortest distance to the one piece of target data is branch cell information, updates a vector contained in the branch cell information so as to reduce a distance to the one piece of target data using the learning coefficient contained in the branch cell information, the vector contained in the branch cell information, and the one piece of target data.

### Claim 5 (depends on 1)

The clustering apparatus according to claim 1, wherein the branch cell information constructing part selects one piece of target data once or more from among the two or more pieces of target data, counts the number of times of learning, which is the number of times that the selection was performed, each time the selection was performed, and, in a case where the number of times of learning is large enough to satisfy a predetermined condition, ends the construction of the branch cell information.

### Claim 6 (depends on 1)

The clustering apparatus according to claim 1, wherein the branch cell information constructing part selects one piece of target data once or more from among the two or more pieces of target data, counts the number of times of learning, which is the number of times that the selection was performed, each time the selection was performed, and, in a case where a difference between the current number of times of learning and the number of times of learning in which new branch cell information was constructed is larger than a value obtained by dividing the number of pieces of target data by the number of pieces of branch cell information contained in the constructed slime mold information, ends the construction of the branch cell information.

### Claim 7 (depends on 1)

The clustering apparatus according to claim 1, wherein, each time a vector contained in the constructed branch cell information is updated, the branch cell information constructing part calculates a movement amount, which is a distance between a vector before update and a vector after the update, for the branch cell information, acquires a largest movement amount, which is a movement amount with the largest value among calculated movement amounts, and, in a case where the calculated movement amount is 5% or less of the largest movement amount successively for a predetermined number of times, ends the construction of the branch cell information.

### Claim 8

A clustering apparatus, comprising:
an accepting unit that accepts two or more pieces of target data, each of which is data targeted for clustering and is a vector having two or more elements;
a slime mold information constructing unit that constructs, using the two or more pieces of target data, slime mold information, which is information having two or more pieces of cell information consisting of one piece of hub cell information having a vector in the same number of dimensions as that of the target data and one or more pieces of branch cell information each having a vector in the same number of dimensions as that of the target data;
a clustering unit that associates each of the two or more pieces of target data with branch cell information having the shortest distance from the vector contained in the branch cell information to the target data, among the one or more pieces of branch cell information contained in the slime mold information constructed by the slime mold information constructing unit, thereby clustering the target data into clusters in the same number as that of the pieces of branch cell information; and
an output unit that outputs a clustering result obtained by the clustering unit,
wherein the slime mold information constructing unit includes:
a hub cell information constructing part that acquires representative data, which is a vector representing the two or more pieces of target data, and constructs hub cell information having a vector that is the representative data; and
a branch cell information constructing part that performs processing that constructs new branch cell information, and processing that updates the vector contained in the constructed branch cell information so as to reduce a distance to any one piece of target data among the two or more pieces of target data, using the two or more pieces of target data and the constructed slime mold information.

### Claim 9

A clustering method performed using an accepting unit, a slime mold information constructing unit, a clustering unit, an output unit, a hub cell information constructing part included in the slime mold information constructing unit, and a branch cell information constructing part included in the slime mold information constructing unit, comprising:
an accepting step of the accepting unit accepting two or more pieces of target data, each of which is data targeted for clustering and is data having two or more elements;
a slime mold information constructing step of the slime mold information constructing unit constructing, using the two or more pieces of target data, slime mold information, which is information obtained by modeling a predation behavior by a slime mold, and is information having two or more pieces of cell information consisting of one piece of hub cell information corresponding to a central cell of the slime mold and one or more pieces of branch cell information each corresponding to a cell that is divided from the central cell for predation, the hub cell information and the branch cell information each having a vector in the same number of dimensions as that of the target data;
a clustering step of the clustering unit associating each of the two or more pieces of target data with branch cell information having the shortest distance from the vector contained in the branch cell information to the target data, among the one or more pieces of branch cell information contained in the slime mold information constructed by the slime mold information constructing unit, thereby clustering the target data into clusters in the same number as that of the pieces of branch cell information; and
an output step of the output unit outputting a clustering result obtained by the clustering unit,
wherein the slime mold information constructing step includes:
a hub cell information constructing step of the hub cell information constructing part acquiring representative data, which is a vector representing the two or more pieces of target data, and constructing hub cell information having a vector that is the representative data; and
a branch cell information constructing step of the branch cell information constructing part performing processing that constructs new branch cell information, and processing that updates the vector contained in the constructed branch cell information so as to reduce a distance to any one piece of target data among the two or more pieces of target data, using the two or more pieces of target data and the constructed slime mold information.

### Claim 10

A storage medium in which a program is stored, the program causing a computer to function as:
an accepting unit that accepts two or more pieces of target data, each of which is data targeted for clustering and is a vector having two or more elements;
a slime mold information constructing unit that constructs, using the two or more pieces of target data, slime mold information, which is information obtained by modeling a predation behavior by a slime mold, and is information having two or more pieces of cell information consisting of one piece of hub cell information corresponding to a central cell of the slime mold and one or more pieces of branch cell information each corresponding to a cell that is divided from the central cell for predation, the hub cell information and the branch cell information each having a vector in the same number of dimensions as that of the target data;
a clustering unit that associates each of the two or more pieces of target data with branch cell information having the shortest distance from the vector contained in the branch cell information to the target data, among the one or more pieces of branch cell information contained in the slime mold information constructed by the slime mold information constructing unit, thereby clustering the target data into clusters in the same number as that of the pieces of branch cell information; and
an output unit that outputs a clustering result obtained by the clustering unit,
wherein the program causes the slime mold information constructing unit to function as:
a hub cell information constructing part that acquires representative data, which is a vector representing the two or more pieces of target data, and constructs hub cell information having a vector that is the representative data; and
a branch cell information constructing part that performs processing that constructs new branch cell information, and processing that updates the vector contained in the constructed branch cell information so as to reduce a distance to any one piece of target data among the two or more pieces of target data, using the two or more pieces of target data and the constructed slime mold information.
