JP7659766B2 - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP7659766B2 JP7659766B2 JP2024504118A JP2024504118A JP7659766B2 JP 7659766 B2 JP7659766 B2 JP 7659766B2 JP 2024504118 A JP2024504118 A JP 2024504118A JP 2024504118 A JP2024504118 A JP 2024504118A JP 7659766 B2 JP7659766 B2 JP 7659766B2
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- edge
- learning result
- learning
- clusters
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
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)
Description
本開示は、情報処理装置、情報処理方法及びプログラムに関し、例えば任意のクラスに属する入力ベクトルを順次入力して当該入力ベクトルの入力分布構造を学習する情報処理装置、情報処理方法及びプログラムに関する。 The present disclosure relates to an information processing device, an information processing method, and a program, for example, an information processing device, an information processing method, and a program that sequentially inputs input vectors belonging to an arbitrary class and learns the input distribution structure of the input vectors.
学習中に必要に応じてニューロンを増殖させる学習手法として、自己組織化ニューラルネットワーク(SOINN:Self-Organizing Incremental Neural Network)と呼ばれる手法が提案されている(特許文献1)。SOINNでは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、複雑な分布形状を有するクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を有する。SOINNの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。A method called Self-Organizing Incremental Neural Network (SOINN) has been proposed as a learning method that grows neurons as needed during learning (Patent Document 1). SOINN has many advantages, such as being able to learn non-stationary inputs by autonomously managing the number of nodes, and being able to extract an appropriate number of classes and topological structures even for classes with complex distribution shapes. As an example of an application of SOINN, for example, in pattern recognition, after learning classes of hiragana characters, it is possible to additionally learn classes of katakana characters, etc.
このようなSOINNの一例として、E-SOINN(Enhanced SOINN)と称される手法が提案されている。E-SOINNでは、学習を随時追加するオンライン追加学習が可能であり、バッチ学習ではなく学習効率が良いという利点を有している。このため、E-SOINNでは、学習環境が新しい環境に変化した場合においても追加学習が可能である。また、E-SOINNでは、入力データに対するノイズ耐性が高いという利点をも有している。 As an example of such SOINN, a method called E-SOINN (Enhanced SOINN) has been proposed. E-SOINN allows for online additional learning, which adds learning at any time, and has the advantage of being more efficient than batch learning. Therefore, E-SOINN allows additional learning even when the learning environment changes to a new environment. E-SOINN also has the advantage of being highly resistant to noise in the input data.
ところが、E-SOINNを含むSOINNにおいては、入力データの入力順序によって学習結果が異なってしまうという問題や、例えば1000次元以上の高次元データを入力データとする場合に学習精度が低下するという問題が有った。こうした問題を解決するため、LB-SOINN(Load Balance Self-Organizing Incremental Neural Network)と称される手法が提案された(特許文献2)。LB-SOINNは、ネットワークにおけるノードの負荷をノード学習時間として扱い、ノード学習時間が大きなノードを検出し、検出したノードとこれに隣接するノードを接続する辺上に、検出したノードの重みベクトルに基づいて決定された重みベクトルを有する新たなノード生成する。これにより、検出したノードの学習時間の増大を緩和し、かつ、その付近に新たなノードを生成することで、入力データの構造をより正確に学習することができる。However, SOINNs including E-SOINN have problems such as the learning results differing depending on the input order of the input data, and the learning accuracy decreasing when high-dimensional data of 1000 dimensions or more is used as the input data. To solve these problems, a method called LB-SOINN (Load Balance Self-Organizing Incremental Neural Network) has been proposed (Patent Document 2). LB-SOINN treats the load of a node in the network as a node learning time, detects a node with a large node learning time, and generates a new node on the edge connecting the detected node to an adjacent node, the new node having a weight vector determined based on the weight vector of the detected node. This alleviates the increase in the learning time of the detected node, and by generating a new node in its vicinity, the structure of the input data can be learned more accurately.
しかしながら、上述のようなSOINNによって入力ベクトルを学習する場合、ノイズの影響によって、本来分離されるべきクラスタが辺で接続されてしまい、入力ベクトルの分布を正確に学習できないという問題が生じうることが見出された。However, it was found that when learning input vectors using SOINN as described above, the influence of noise can cause clusters that should be separated to be connected by edges, resulting in the problem that the distribution of input vectors cannot be accurately learned.
図13に、ノイズが少ない入力データの例を示す。図13に示す入力データは、2次元の入力ベクトルが円弧状に分布した部分を2つ合わせたデータである。図14に、図13の入力データを上述のSOINNで学習して取得したネットワーク構造を示す。この場合には、ノイズが少ないため、ほぼ正確に入力ベクトルの分布を学習できている。 Figure 13 shows an example of input data with little noise. The input data shown in Figure 13 is a combination of two parts of two-dimensional input vectors distributed in an arc shape. Figure 14 shows the network structure obtained by learning the input data in Figure 13 using the above-mentioned SOINN. In this case, since there is little noise, the distribution of the input vectors can be learned almost accurately.
しかし、ノイズが多い入力データでは、入力データが分布する領域(クラスタ)の間でノイズに起因する入力ベクトルの影響が大きくなる。図15に、図13の入力データにノイズを付与した入力データの例を示す。図15に示す入力データは、2次元の入力ベクトルが円弧状に分布した部分を2つ有するものの、ノイズの影響によって境界が不明瞭になっている。図16に、図15の入力データを上述のSOINNで学習して取得したネットワーク構造を示す。この場合には、ノイズの影響により、本来分離されるべき2つのクラスタがノイズに起因する辺によって接続され、1つのクラスタになってしまっている。そのため、入力ベクトルの分布を正確に学習できないことがわかる。However, in noisy input data, the influence of the input vectors caused by the noise becomes large between the regions (clusters) in which the input data is distributed. Figure 15 shows an example of input data in which noise has been added to the input data in Figure 13. The input data shown in Figure 15 has two parts in which the two-dimensional input vectors are distributed in an arc shape, but the boundaries are unclear due to the influence of noise. Figure 16 shows the network structure obtained by learning the input data in Figure 15 using the above-mentioned SOINN. In this case, due to the influence of noise, two clusters that should be separated are connected by an edge caused by the noise and become one cluster. Therefore, it can be seen that the distribution of the input vectors cannot be learned accurately.
このように、本来分離すべきクラスタが分離していない場合でも、不要な辺を削除することで、クラスタを好適に分離することが考え得る。例えば、削除する辺の長さを指定する長さ閾値を与え、長さ閾値よりも長い辺を削除すればよい。しかし、長さ閾値として好適な値を決定するには、長さ閾値を変更しながら辺削除処理を繰り返して辺削除後の学習結果を観察し、好適な長さ閾値を発見するための試行錯誤が求められる。 In this way, even if clusters that should be separated are not, it may be possible to appropriately separate the clusters by deleting unnecessary edges. For example, a length threshold that specifies the length of the edges to be deleted can be given, and edges longer than the length threshold can be deleted. However, determining an appropriate value for the length threshold requires trial and error to find an appropriate length threshold by repeating the edge deletion process while changing the length threshold and observing the learning results after edge deletion.
例えば、辺の長さの平均値を長さ閾値として用いて辺を削除したとしても、辺の削除が十分ではない場合があり得る。図17に、辺の削除の例を示す。図17に示すように、上側の辺削除前のネットワークにおいて辺の長さの平均値を長さ閾値として用いて辺を削除したものの、辺削除後の中央のネットワークのように不要な辺が残存することが有る。このような場合、人手によって、長さ閾値をより短い値に調整して再度辺削除を行うことで、図17の下側のネットワークのように、不要な辺を削除できる。しかしながら、人手による作業を要するため、時間を要してしまい、非効率的である。For example, even if edges are deleted using the average edge length as the length threshold, there may be cases where the edges are not deleted sufficiently. Figure 17 shows an example of edge deletion. As shown in Figure 17, in the network before edge deletion at the top, edges are deleted using the average edge length as the length threshold, but unnecessary edges may remain as in the central network after edge deletion. In such cases, unnecessary edges can be deleted as in the lower network in Figure 17 by manually adjusting the length threshold to a shorter value and performing edge deletion again. However, this requires manual work, which is time-consuming and inefficient.
このように、単一の長さ閾値を用いるとクラスタが分離できない場合が多いが、ある長さ閾値を用いて辺削除処理を行ってクラスタを分離した後に、別の長さ閾値を用いて再度辺削除処理を行う、多段階の辺削除処理も考え得る。しかし、この場合でも長さ閾値として好適な値、及び、辺削除の繰り返しの好適な回数は、試行錯誤により求めるよりない。 In this way, using a single length threshold often makes it impossible to separate clusters, but it is also possible to use a multi-stage edge removal process in which an edge removal process is performed using one length threshold to separate clusters, and then an edge removal process is performed again using a different length threshold. Even in this case, however, the optimal length threshold and the optimal number of times to repeat the edge removal process must be found by trial and error.
本発明は、上記の事情に鑑みて成されたものであり、自動的に辺削除処理を行うことで入力データの構造を正確に学習できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。 The present invention has been made in consideration of the above circumstances, and aims to provide an information processing device, information processing method, and program that can accurately learn the structure of input data by automatically performing edge deletion processing.
一実施の形態にかかる情報処理装置は、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理装置において、同じ入力データに対して複数の教師なし学習方法によって学習して得られた複数の初期学習結果を取得する学習処理部と、前記複数の初期学習結果から1つの初期学習結果を順に選択し、選択された前記初期学習結果に含まれる複数の辺のそれぞれを順に注目辺として選択し、前記注目辺よりも長い辺を前記選択された初期学習結果から削除した場合と、前記注目辺以上の長さの辺を前記選択された初期学習結果から削除した場合と、におけるクラスタの分離度合いを算出する分離度合い算出部と、前記複数の辺について算出したクラスタ分離度合いのうちでM番目に大きなクラスタ分離度合いに対応する注目辺の長さである長さ閾値以上の辺を前記選択された初期学習結果から削除する辺削除処理部と、前記辺削除処理部による辺削除後の前記複数の初期学習結果である複数の中間学習結果から選択可能な2つの中間学習結果からなる学習結果ペアを選択し、選択した前記学習結果ペアの前記2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタからなるクラスタペアを選択し、選択可能なクラスタペアの全てについて、一方のクラスタに属するノードと他方のクラスタに属するノードとの間の距離を示す距離行列を算出する距離行列算出部と、各距離行列について各列及び各行の最小値を取得し、取得した前記最小値のうちで所定条件を満たすものの個数に基づいて各距離行列にかかる評価指数を算出する評価指数算出部と、全ての前記学習結果ペアについて算出した距離行列の評価指数に基づいて、各中間学習結果の各クラスタについて、1つの中間学習結果に含まれる1つのクラスタと、他の中間学習結果のクラスタとが類似している度合いを示す得点を算出する得点算出部と、各中間学習結果の各クラスタについて算出した前記得点のうちの最小値を取得し、取得した複数の前記最小値のうちの最大値を画一度として算出する画一度算出部と、前記画一度が画一度閾値よりも大きい場合にMに1を加算してMの値を更新し、前記画一度が画一度閾値よりも小さい場合に辺を削除する処理を終了する終了判定部と、前記終了判定部が辺を削除する処理を終了すると判定した場合に、前記得点算出部で算出された各中間学習結果の各クラスタの得点に基づいて、前期複数の中間学習結果から最終学習結果を選択する学習結果選択部と、前記最終学習結果をクラスタリングするクラスタリング部と、を有し、前記Mの値が更新されるごとに、前記辺削除処理部、前記距離行列算出部、前記得点算出部、前記画一度算出部及び前記終了判定部は処理を繰り返すものである。 In one embodiment, an information processing device is an information processing device that sequentially inputs input vectors and learns the input distribution structure of the input vectors as a network structure in which multiple nodes described by multidimensional vectors and multiple edges connecting two of the nodes are arranged, the information processing device includes a learning processing unit that acquires multiple initial learning results obtained by learning the same input data using multiple unsupervised learning methods, and sequentially selects one initial learning result from the multiple initial learning results, sequentially selects each of the multiple edges included in the selected initial learning result as an edge of interest, and performs a process of deleting an edge longer than the edge of interest from the selected initial learning result and deleting an edge longer than the edge of interest from the selected initial learning result. a separation degree calculation unit that calculates a degree of cluster separation in a case where an edge is deleted from the initial learning result that has been selected, and a degree of cluster separation in a case where an edge is deleted from the initial learning result that has been selected, an edge deletion processing unit that deletes from the selected initial learning result an edge that is equal to or greater than a length threshold that is a length of an edge of interest corresponding to the Mth largest degree of cluster separation among the degrees of cluster separation calculated for the multiple edges, and a learning result pair consisting of two selectable intermediate learning results from a plurality of intermediate learning results that are the multiple initial learning results after the edge deletion by the edge deletion processing unit, a cluster pair consisting of two clusters selected one by one from each of the two intermediate learning results of the selected learning result pair, and ... a distance matrix calculation unit that calculates a distance matrix indicating the distance between a node belonging to one cluster and a node belonging to another cluster; an evaluation index calculation unit that obtains the minimum value of each column and row for each distance matrix and calculates an evaluation index for each distance matrix based on the number of the obtained minimum values that satisfy a predetermined condition; a score calculation unit that calculates, for each cluster of each intermediate learning result, a score indicating the degree of similarity between one cluster included in one intermediate learning result and a cluster of another intermediate learning result, based on the evaluation index of the distance matrix calculated for all the learning result pairs; and a score calculation unit that obtains the minimum value of the scores calculated for each cluster of each intermediate learning result, and calculates the maximum of the obtained multiple minimum values. a termination determination unit that updates the value of M by adding 1 to M if the stroke count is greater than a stroke count threshold, and terminates the process of deleting edges if the stroke count is less than the stroke count threshold; a learning result selection unit that selects a final learning result from a plurality of intermediate learning results based on the scores of each cluster of each intermediate learning result calculated by the score calculation unit when the termination determination unit determines that the process of deleting edges is to be terminated; and a clustering unit that clusters the final learning results. Each time the value of M is updated, the edge deletion processing unit, the distance matrix calculation unit, the score calculation unit, the stroke count calculation unit, and the termination determination unit repeat the process.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記クラスタの分離度合いは、前記注目辺が属するクラスタが辺を削除した後に2つのクラスタに分離しないときは0であり、分離するときは0以外の値を持つことが望ましい。In one embodiment of the information processing device, in the above information processing device, the degree of separation of the clusters is preferably 0 when the cluster to which the target edge belongs does not separate into two clusters after the edge is deleted, and has a value other than 0 when the cluster is separated.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記クラスタの分離度合いは、前記注目辺が属するクラスタが2つのクラスタに分離したときは、正又は負の値を持つことが望ましい。In one embodiment of the information processing device, in the above information processing device, it is desirable that the degree of separation of the clusters has a positive or negative value when the cluster to which the target edge belongs is separated into two clusters.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記クラスタの分離度合いは、前記注目辺が属するクラスタが2つのクラスタに分離したときに、分離した2つのクラスタのノード数が近似しているほど、正の値の場合には値が大きくなり、負の値の場合には値が小さくなることが望ましい。In one embodiment of the information processing device, in the above information processing device, when the cluster to which the target edge belongs is separated into two clusters, it is desirable that the degree of separation of the clusters is larger in the case of a positive value and is smaller in the case of a negative value, the closer the numbers of nodes in the two separated clusters are.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記クラスタの分離度合いは、前記注目辺が属するクラスタが2つのクラスタに分離したときに、分離した2つのクラスタに含まれるノード数が多いほど、正の値の場合には値が大きくなり、負の値の場合には値が小さくなることが望ましい。In one embodiment of the information processing device, in the above information processing device, when the cluster to which the target edge belongs is separated into two clusters, it is desirable that the degree of separation of the clusters is such that, when the number of nodes contained in the two separated clusters is greater, the value becomes larger in the case of a positive value, and the value becomes smaller in the case of a negative value.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、
nk1を注目する辺よりも長い辺を削除した場合に存在するクラスタk1のそれぞれのノード数、nk2を注目する辺以上の長さの辺を削除した場合に存在するクラスタk2のそれぞれのノード数としたときに、前記クラスタの分離度合いDは以下の式で定義されることが望ましい。
When n k1 is the number of nodes in cluster k1 that exists when an edge longer than the edge of interest is deleted, and n k2 is the number of nodes in cluster k2 that exists when an edge longer than the edge of interest is deleted, it is desirable that the degree of separation D of the clusters be defined by the following formula.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記得点算出部は、全ての距離行列について算出した評価指数に基づいて、前記2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタ間の全てのペアについての評価指数で構成される評価指数行列を生成し、前記評価指数行列に含まれる評価指数に基づいて、1つの学習結果に含まれるクラスタが他の学習結果のクラスタに似ているかを示す得点を算出し、全ての学習結果に属するクラスタについての得点を含む得点行列を生成し、前記学習結果選択部は、前記得点行列に基づいて、前記複数の学習結果から最終学習結果を選択することが望ましい。In one embodiment of the information processing device, in the above information processing device, the score calculation unit generates an evaluation index matrix composed of evaluation indexes for all pairs between two clusters selected one from each of the two intermediate learning results based on the evaluation indexes calculated for all distance matrices, calculates a score indicating whether a cluster included in one learning result is similar to a cluster of another learning result based on the evaluation indexes included in the evaluation index matrix, and generates a score matrix including scores for clusters belonging to all learning results, and it is desirable that the learning result selection unit selects a final learning result from the multiple learning results based on the score matrix.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記評価指数算出部は、前記2つのクラスタのそれぞれに属するノード間の平均的距離を求め、求めた2つの平均的距離の平均値を求め、各距離行列の各列及び各行の前記最小値のうちで、前記平均値以上のものの個数に基づいて各距離行列にかかる評価指数を算出することが望ましい。In one embodiment of the information processing device, in the above information processing device, it is desirable that the evaluation index calculation unit calculates the average distance between nodes belonging to each of the two clusters, calculates the average of the two average distances calculated, and calculates an evaluation index for each distance matrix based on the number of minimum values in each column and each row of each distance matrix that are equal to or greater than the average value.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記評価指数は、各距離行列の各列及び各行の前記最小値のうちで、前記平均値以上のものの個数を、前記2つのクラスタに属するノードの総数で除算した値であることが望ましい。In one embodiment of the information processing device, in the above information processing device, it is desirable that the evaluation index is a value obtained by dividing the number of minimum values in each column and each row of each distance matrix that are greater than or equal to the average value by the total number of nodes belonging to the two clusters.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記得点算出部は、評価指数行列に含まれる各評価指数を閾値と比較し、比較結果に基づいて得点を与え、各クラスタの合計得点を算出することが望ましい。In one embodiment of the information processing device, in the above information processing device, it is desirable that the score calculation unit compares each evaluation index included in the evaluation index matrix with a threshold value, assigns a score based on the comparison result, and calculates a total score for each cluster.
一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記学習結果選択部は、各中間学習結果に属するクラスタの合計得点のうちで最小値を取得し、取得した最小値のうちで最大の値に対応する前記中間学習結果を選択することが望ましい。In one embodiment of the information processing device, in the above information processing device, it is desirable that the learning result selection unit obtains the minimum value among the total scores of the clusters belonging to each intermediate learning result, and selects the intermediate learning result corresponding to the maximum value among the obtained minimum values.
一実施の形態にかかる情報処理方法は、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理方法において、同じ入力データに対して複数の教師なし学習方法によって学習して得られた複数の初期学習結果を取得し、前記複数の初期学習結果から1つの初期学習結果を順に選択し、選択された前記1つの初期学習結果から順に1つのクラスタを選択し、選択されたクラスタ含まれる複数の辺のそれぞれを順に注目辺として選択し、前記注目辺よりも長い辺を前記ネットワーク構造から削除した場合と、前記注目辺以上の長さの辺を前記ネットワーク構造から削除した場合と、におけるクラスタの分離度合いを算出し、各注目辺について算出したクラスタ分離度合いに基づいて、M番目に大きなクラスタ分離度合いに対応する注目辺の長さである長さ閾値以上の辺を前記選択されたクラスタから削除し、辺削除後の前記複数の初期学習結果である複数の中間学習結果から選択可能な2つの中間学習結果からなる学習結果ペアを選択し、選択した2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタからなるクラスタペアを選択し、選択可能なクラスタペアの全てについて、一方のクラスタに属するノードと他方のクラスタに属するノードとの間の距離を示す距離行列を算出し、各距離行列について各列及び各行の最小値を取得し、取得した前記最小値のうちで所定条件を満たすものの個数に基づいて各距離行列にかかる評価指数を算出し、全ての前記学習結果ペアについて算出した距離行列の評価指数に基づいて、各中間学習結果の各クラスタについて、1つの中間学習結果に含まれる1つのクラスタと、他の中間学習結果のクラスタとが類似している度合いを示す得点を算出し、各中間学習結果の各クラスタについて算出した前記得点のうちの最小値を取得し、取得した複数の前記最小値のうちの最大値を画一度として算出し、前記画一度が画一度閾値よりも大きい場合にMに1を加算してMの値を更新し、前記画一度が画一度閾値よりも小さい場合に辺を削除する処理を終了し、辺を削除する処理を終了すると判定した場合に、算出された各中間学習結果の各クラスタの得点に基づいて、前期複数の中間学習結果から最終学習結果を選択し、前記最終学習結果をクラスタリングするクラスタリングし、前記Mの値が更新されるごとに、前記辺の削除、前記距離行列の算出、前記得点の算出、前記画一度の算出及び前記終了の判定を繰り返すものである。In one embodiment of the information processing method, an input vector is input sequentially, and an input distribution structure of the input vector is learned as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of edges connecting two of the nodes are arranged, in the information processing method, a plurality of initial learning results obtained by learning the same input data using a plurality of unsupervised learning methods are obtained, one initial learning result is selected from the plurality of initial learning results in order, one cluster is selected from the one selected initial learning result in order, each of a plurality of edges included in the selected cluster is selected in order as an edge of interest, the degree of separation of the cluster is calculated in a case where an edge longer than the edge of interest is deleted from the network structure, and in a case where an edge having a length equal to or longer than the edge of interest is deleted from the network structure, and an edge having a length equal to or longer than the edge of interest is deleted from the selected cluster based on the degree of cluster separation calculated for each edge of interest, an edge having a length equal to or greater than a length threshold, which is the length of the edge of interest corresponding to the Mth largest degree of cluster separation, is selected from a plurality of intermediate learning results that are the plurality of initial learning results after the edge deletion, a learning result pair consisting of two selectable intermediate learning results is selected, a cluster pair consisting of two clusters selected one from each of the two selected intermediate learning results is selected, and a cluster pair consisting of the selectable clusters is selected from the plurality of intermediate learning results after the edge deletion. For all raster pairs, a distance matrix indicating the distance between a node belonging to one cluster and a node belonging to the other cluster is calculated, the minimum value of each column and row of each distance matrix is obtained, and an evaluation index for each distance matrix is calculated based on the number of the obtained minimum values that satisfy a predetermined condition, and a score indicating the degree of similarity between a cluster included in one intermediate learning result and a cluster of another intermediate learning result is calculated for each cluster of each intermediate learning result based on the evaluation index of the distance matrix calculated for all the learning result pairs, and the minimum of the scores calculated for each cluster of each intermediate learning result is calculated. the distance matrix calculation, ...
一実施の形態にかかるプログラムは、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する処理をコンピュータに行わせるプルグラムにおいて、同じ入力データに対して複数の教師なし学習方法によって学習して得られた複数の初期学習結果を取得する処理と、前記複数の初期学習結果から1つの初期学習結果を順に選択し、選択された前記1つの初期学習結果から順に1つのクラスタを選択する処理と、選択されたクラスタ含まれる複数の辺のそれぞれを順に注目辺として選択し、前記注目辺よりも長い辺を前記ネットワーク構造から削除した場合と、前記注目辺以上の長さの辺を前記ネットワーク構造から削除した場合と、におけるクラスタの分離度合いを算出する処理と、各注目辺について算出したクラスタ分離度合いに基づいて、M番目に大きなクラスタ分離度合いに対応する注目辺の長さである長さ閾値以上の辺を前記選択されたクラスタから削除する処理と、辺削除後の前記複数の初期学習結果である複数の中間学習結果から選択可能な2つの中間学習結果からなる学習結果ペアを選択し、選択した2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタからなるクラスタペアを選択し、選択可能なクラスタペアの全てについて、一方のクラスタに属するノードと他方のクラスタに属するノードとの間の距離を示す距離行列を算出する処理と、各距離行列について各列及び各行の最小値を取得し、取得した前記最小値のうちで所定条件を満たすものの個数に基づいて各距離行列にかかる評価指数を算出する処理と、全ての前記学習結果ペアについて算出した距離行列の評価指数に基づいて、各中間学習結果の各クラスタについて、1つの中間学習結果に含まれる1つのクラスタと、他の中間学習結果のクラスタとが類似している度合いを示す得点を算出する処理と、各中間学習結果の各クラスタについて算出した前記得点のうちの最小値を取得し、取得した複数の前記最小値のうちの最大値を画一度として算出する処理と、前記画一度が画一度閾値よりも大きい場合にMに1を加算してMの値を更新し、前記画一度が画一度閾値よりも小さい場合に辺を削除する処理を終了する処理と、辺を削除する処理を終了すると判定した場合に、算出された各中間学習結果の各クラスタの得点に基づいて、前期複数の中間学習結果から最終学習結果を選択する処理と、前記最終学習結果をクラスタリングするクラスタリングする処理と、をコンピュータに実行させ、前記Mの値が更新されるごとに、前記辺を削除する処理、前記距離行列を算出する処理、前記得点を算出する処理、前記画一度を算出する処理及び前記終了を判定する処理が繰り返されるものである。 In one embodiment, a program causes a computer to sequentially input an input vector and learn the input distribution structure of the input vector as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of edges connecting two of the nodes are arranged, the program includes a process of acquiring a plurality of initial learning results obtained by learning the same input data using a plurality of unsupervised learning methods, a process of sequentially selecting one initial learning result from the plurality of initial learning results and sequentially selecting one cluster from the selected one initial learning result, and a process of sequentially selecting each of a plurality of edges included in the selected cluster as an edge of interest and selecting an edge longer than the edge of interest. a process of calculating a degree of cluster separation in a case where an edge having a length equal to or greater than the edge of interest is deleted from the network structure and a process of deleting an edge having a length equal to or greater than a length threshold, which is the length of the edge of interest corresponding to the Mth largest degree of cluster separation, from the selected clusters based on the degree of cluster separation calculated for each edge of interest; a process of selecting a learning result pair consisting of two selectable intermediate learning results from a plurality of intermediate learning results which are the plurality of initial learning results after the edge deletion, selecting a cluster pair consisting of two clusters selected one from each of the two selected intermediate learning results, and selecting one of the clusters for each of the selectable cluster pairs. A process of calculating a distance matrix indicating the distance between a node belonging to a raster and a node belonging to another cluster, a process of obtaining a minimum value for each column and row of each distance matrix, and calculating an evaluation index for each distance matrix based on the number of the obtained minimum values that satisfy a predetermined condition, a process of calculating, for each cluster of each intermediate learning result, a score indicating the degree of similarity between one cluster included in one intermediate learning result and a cluster of another intermediate learning result, based on the evaluation index of the distance matrix calculated for all the learning result pairs, and a process of obtaining a minimum value of the scores calculated for each cluster of each intermediate learning result, and unifying the maximum value of the obtained multiple minimum values. a process of calculating a distance matrix based on the score of each cluster of each intermediate learning result, a process of adding 1 to M to update the value of M if the stroke count is greater than a stroke count threshold, and terminating the process of deleting edges if the stroke count is less than the stroke count threshold; and a process of selecting a final learning result from a plurality of intermediate learning results based on the calculated scores of each cluster of each intermediate learning result if it is determined that the process of deleting edges is to be terminated; and a process of clustering the final learning results. Each time the value of M is updated, the process of deleting edges, the process of calculating the distance matrix, the process of calculating the score, the process of calculating the stroke count, and the process of determining the termination are repeated.
本発明によれば、自動的に辺削除処理を行うことで入力データの構造を正確に学習できる情報処理装置、情報処理方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide an information processing device, an information processing method and a program that can accurately learn the structure of input data by automatically performing edge deletion processing.
以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In each drawing, the same elements are given the same reference numerals, and duplicate explanations will be omitted as necessary.
実施の形態1
図1は、実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置100は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータ1000により実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図1に示すように、コンピュータ1000は、CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002及びRAM(Random Access Memory)1003を有し、これらがバス1004を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然有しているものとする。
First embodiment
FIG. 1 is a diagram showing an example of a system configuration for realizing an information processing device according to the first embodiment. The
バス1004には、入出力インターフェイス1005も接続されている。入出力インターフェイス1005には、例えば、キーボード、マウス、センサなどよりなる入力部1006、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部1007、ハードディスクなどより構成される記憶部1008、モデム、ターミナルアダプタなどより構成される通信部1009などが接続されている。An input/
CPU1001は、ROM1002に記憶されている各種プログラム、又は記憶部1008からRAM1003にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行する。なお、GPU(Graphics Processing Unit)を設けて、CPU1001と同様に、ROM1002に記憶されている各種プログラム、又は記憶部1008からRAM1003にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を行ってもよい。なお、GPUは、定型的な処理を並列的に行う用途に適しており、後述するニューラルネットワークにおける処理などに適用することで、CPU1001に比べて処理速度を向上させることも可能である。RAM1003には又、CPU1001及びGPUが各種の処理を実行する上において必要なデータなども適宜記憶される。The
通信部1009は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU1001から提供されたデータを送信したり、通信相手から受信したデータをCPU1001、RAM1003、記憶部1008に出力したりする。記憶部1008はCPU1001との間でやり取りし、情報の保存・消去を行う。通信部1009は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。The
入出力インターフェイス1005はまた、必要に応じてドライブ1010が接続され、例えば、磁気ディスク1011、光ディスク1012、フレキシブルディスク1013、又は半導体メモリ1014などが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部1008にインストールされる。The input/
続いて、本実施の形態にかかる情報処理装置100における各処理について説明する。情報処理装置100は、多次元ベクトルで記述されるノードが配置される非階層構造のニューラルネットワークを有し、ニューラルネットワークは、例えばRAM1003などの記憶部に格納されている。Next, each process in the
本実施の形態におけるニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、自己増殖型ニューラルネットワークを用いることで、ノードを自動的に増加させることができるため、入力ベクトル空間からランダムに入力ベクトルが与えられる定常的な環境に限られず、例えば一定期間毎に入力ベクトルの属するクラスが切替えられて、切替後のクラスからランダムに入力ベクトルが与えられる非定常的な環境にも対応することができる。 The neural network in this embodiment is a self-replicating neural network that inputs an input vector into the neural network and automatically increases the number of nodes placed in the neural network based on the input vector. By using a self-replicating neural network, the number of nodes can be automatically increased, so it is not limited to stationary environments in which input vectors are given randomly from the input vector space, but can also be used in non-stationary environments in which, for example, the class to which the input vector belongs is switched at regular intervals and an input vector is given randomly from the class after the switch.
本実施の形態におけるニューラルネットワークは、非階層構造を有するものである。非階層構造を採用することで、他の層での学習を開始するタイミングを指定せずに追加学習を実施することができる。すなわち、オンラインでの追加学習を実施することができる。 The neural network in this embodiment has a non-hierarchical structure. By adopting a non-hierarchical structure, additional learning can be performed without specifying the timing to start learning in other layers. In other words, additional learning can be performed online.
入力データは、任意のクラスに属する多次元の入力ベクトルとして入力される。例えば、入力ベクトルは一時記憶部(例えばRAM1003)に格納され、一時記憶部に格納されたニューラルネットワークに対して順次入力される。The input data is input as a multidimensional input vector belonging to an arbitrary class. For example, the input vector is stored in a temporary storage unit (e.g., RAM 1003) and is input sequentially to the neural network stored in the temporary storage unit.
なお、以下では、簡略化のため、本実施の形態におけるニューラルネットワークを、単にネットワークとも称する。 In the following, for simplicity, the neural network in this embodiment will also be referred to simply as the network.
以下、実施の形態1にかかる情報処理装置100について具体的に説明する。情報処理装置100は、複数の多次元ベクトルをデータ要素として含む入力データを教師なし学習手法、例えば上述の各種のSOINN法によって学習(クラスタリング)し、複数のノードと2つのノード間を接続する辺とで構成されるネットワークとして表される学習結果を取得する。そして、情報処理装置100は、自動的に辺削除の基準となる長さ閾値を求めて、この長さ閾値以上の辺を削除することでより好適な構造のネットワークを有する学習結果を取得することができる。The
図2に、実施の形態1にかかる情報処理装置100の構成を模式的に示す。情報処理装置100は、学習処理部1、分離度合い算出部2、辺削除処理部3、距離行列算出部4、評価指数算出部5、得点算出部6、画一度算出部7、終了判定部8、学習結果選択部9及びクラスタリング部10を有する。なお、ハードウェア上においては、ソフトウェアと上記のCPU1001などのハードウェア資源とが協働して、図2に示す機能構成が実現される。
Figure 2 shows a schematic configuration of the
学習処理部1は、例えば上述のE-SOINNやLB-SOINNなどによって複数の入力ベクトルを学習して、ノード及び辺で構成されるネットワーク構造を取得する。本実施の形態では、学習処理部1は、複数の多次元ベクトルを含む入力データを、異なる複数の教師なし学習条件で学習(クラスタリング)して、ネットワーク構造が異なる複数の学習結果を取得するものとして構成される。以下では、学習処理部1が取得する、ネットワーク構造が異なる複数の学習結果を、複数の初期学習結果と称する。The
分離度合い算出部2は、選択したクラスタの辺を削除したときに、辺の削除によってクラスタが分離される度合いを算出する。The separation
辺削除処理部3は、算出されたクラスタ分離度合いに基づいて辺削除に用いる長さ閾値を決定し、決定した長さ閾値に基づいて選択したクラスタ中の辺を削除する処理を行う。なお、辺の削除は、学習結果を取得した後に一括して行えるため、比較的簡便な処理で済み、容易に導入することが可能である。また、ノードと辺とで構成されるネットワークであれば学習手法に依存することなく適用することが可能である。なお、以下では、初期学習結果に対して辺の削除を行った後に得られるネットワーク構造を、中間学習結果と称する。The edge
距離行列算出部4は、全ての初期学習結果に含まれる全てのクラスタの辺削除処理が完了して複数の中間学習結果を取得した後に、2つの異なる中間学習結果のそれぞれから選択した2つのクラスタを選択して、それらに含まれるノード間の距離を成分とする距離行列を算出する。After the edge deletion process for all clusters included in all initial learning results has been completed and multiple intermediate learning results have been obtained, the distance matrix calculation unit 4 selects two clusters from each of two different intermediate learning results and calculates a distance matrix whose components are the distances between the nodes included therein.
評価指数算出部5は、距離行列に基づいて、選択された2つのクラスタの類似度を示す評価指数を算出する。評価指数算出部5は、選択した2つの異なる中間学習結果から選択可能な2つのクラスタのペアの全てについて評価指数を算出した後で、2つの異なる中間学習結果の間でのクラスタの類似度を成分とする評価指数行列を出力してもよい。The evaluation
得点算出部6は、評価行列指数に基づいて、選択した2つの異なる中間学習結果の類似度を示す得点を算出する。得点算出部6は、選択可能な2つの異なる中間学習結果のペアの全てについて得点を算出した後で、2つの異なる中間学習結果の得点を成分とする得点行列を出力してもよい。The
画一度算出部7は、複数の中間学習結果の類似度を示す画一度を算出する。
The stroke
終了判定部8は、算出された画一度に基づいて、辺削除処理を繰り返すかを判定する。
The
学習結果選択部9は、辺削除処理が完了したと判定された場合には、所定の条件にしたがって、辺削除処理が行われた後の複数の中間学習結果から、1つの中間学習結果を選択する。
When the learning
クラスタリング部10は、選択された1つの初期学習結果をクラスタリングし、最終学習結果を出力する。
The
以下、情報処理装置100が行う処理について具体的に説明する。図3及び図4に、実施の形態1にかかる情報処理装置100における処理のフローチャートを示す。Below, the processing performed by the
ステップSA1
学習処理部1は、以下のステップSA11及びSA12により、入力データの学習を行う。
Step SA1
The
ステップSA11
学習処理部1は、入力データを読み込む。入力データは、例えば上述のRAM1003や記憶部1008などに格納され、学習処理部1は、入力データを適宜読み込むことができる。
Step SA11
The
ステップSA12
学習処理部1は、入力データの要素である多次元入力ベクトルを順次入力、学習して、ノードとノード間を接続する辺とによって構成されるネットワーク構造を有する学習結果を取得する。本実施の形態では、学習処理部1は、同じ入力データを複数の異なる教師なし学習条件で学習することで、複数の異なる初期学習結果を取得する。ここでいう複数の異なる教師なし学習条件とは、同じ教師なし学習手法において学習に用いるパラメータなどを変更したものでもよいし、それぞれ異なる教師なし学習手法を用いてもよいし、両者を混合した条件であってもよい。上述したように、学習処理部1によって得られた学習結果を、初期学習結果と称する。なお、言うまでもないが、複数の異なる教師なし学習条件にて学習することで得られた複数の初期学習結果のネットワーク構造は、それぞれ異なっている。
Step SA12
The
ステップSA2
分離度合い算出部2は、以下のステップSA21~SA27により、クラスタ分離度合いであるクラスタ多様性変化量を算出する。
Step SA2
The separation
ステップSA21
分離度合い算出部2は、複数の初期学習結果のうちで未だ選択学習結果SRとして選択されていないものが有るかを判定する。
Step SA21
The degree of
ステップSA22
選択学習結果SRとして選択されていない初期学習結果が有る場合には、分離度合い算出部2は、その中から1つの初期学習結果を選択学習結果SRとして選択する。
Step SA22
When there are initial learning results that have not been selected as the selected learning result SR, the separation
ステップSA23
分離度合い算出部2は、選択学習結果SRに含まれる辺のうちで、注目辺として選択されていないものが有るかを判定する。注目辺として選択されていない辺が無い場合には、処理をステップSA21へ戻す。
Step SA23
The separation
ステップSA24
選択クラスタに含まれる辺のうちで、注目辺として選択されていない辺が有る場合には、分離度合い算出部2は、その中から1本の辺を注目辺として選択する。
Step SA24
If there is an edge that has not been selected as the edge of interest among the edges included in the selected cluster, the separation
ステップSA25
分離度合い算出部2は、注目辺よりも長い辺を除去した場合のクラスタ多様性量S1と、注目辺以上の長さの辺を除去した場合のクラスタ多様性量S2とを算出する。
Step SA25
The separation
次いで、本実施の形態で、長さ閾値の決定に用いるクラスタ分離度合いについて説明する。長さ閾値を決定するにあたっては、クラスタ間を接続する辺の中で最も短い辺の長さを長さ閾値として選択できることが望ましい。言い換えれば、クラスタ間の辺を長い順に削除していったときに、初めてクラスタが分離したときに削除した辺の長さを、長さ閾値として選択できることが望ましい。このように設定できれば、クラスタ間に辺が残存することもなく、また、クラスタ内の辺をむやみに削除することなく、クラスタを分離できる。しかしながら、ノイズノードやノイズクラスタ(ノイズノードが集合してできたクラスタ)の辺を削除しても一種のクラスタ分離として認識されるが、この種のクラスタ分離を起こす長さ閾値は適切とは言えない。そのため、長さ閾値の決定にあたり、分離してできたクラスタの状態(特に、クラスタに属するノードの個数及び分割したノード割合)を考慮に入れる必要がある。 Next, the degree of cluster separation used in determining the length threshold in this embodiment will be described. When determining the length threshold, it is desirable to select the length of the shortest edge among the edges connecting the clusters as the length threshold. In other words, it is desirable to select the length of the edge deleted when the clusters are first separated when the edges between the clusters are deleted in order of length as the length threshold. If it can be set in this way, the clusters can be separated without any edges remaining between the clusters and without needlessly deleting edges within the clusters. However, even if edges of noise nodes or noise clusters (clusters formed by gathering noise nodes) are deleted, it is recognized as a kind of cluster separation, but the length threshold that causes this kind of cluster separation cannot be said to be appropriate. Therefore, when determining the length threshold, it is necessary to take into account the state of the clusters formed by separation (especially the number of nodes belonging to the cluster and the ratio of divided nodes).
そこで、本実施の形態では、各辺に対して、その辺長さ以上の辺を削除したときに、初めてクラスタが分離するかどうか、かつ、その分離したクラスタがノイズクラスタではないかを判定するため、クラスタ分離度合い(本実施の形態においては、後述するクラスタ多様性変化量)を導入している。これにより、本実施の形態では、クラスタ分離度合いに基づいて決定した適切な長さ閾値を用いて、辺を削除することが可能となる。Therefore, in this embodiment, the degree of cluster separation (in this embodiment, the amount of change in cluster diversity, described later) is introduced to determine whether clusters will separate and whether the separated cluster is a noise cluster only when an edge longer than the edge length is deleted. This makes it possible to delete edges using an appropriate length threshold determined based on the degree of cluster separation.
本実施の形態では、クラスタ分離度合いは各辺が有する値であり、各辺についてその辺よりも長い辺を削除した場合(場合1と称する)と、その辺以上の長さの辺を削除した場合(場合2と称する)とを比較して、場合1に比べて場合2でクラスタ数が増えていれば第1の方向に有限の値を取り、変わらなければ0となる性質を有する指標である。In this embodiment, the degree of cluster separation is a value that each edge has, and when comparing the case where an edge longer than that edge is deleted (referred to as case 1) with the case where an edge longer than that edge is deleted (referred to as case 2), if the number of clusters is increased in
以下、場合1と場合2とを比較した場合のクラスタの変化について、図を参照して説明する。図5に、ある辺についてその辺よりも長い辺を削除した場合(場合1)とその辺以上の長さの辺を削除した場合(場合2)との間におけるクラスタの変化の第1の例を模式的に示す。この例では、辺E2を注目辺として辺の削除を行っているが、場合1及び場合2のいずれにおいても辺削除前のクラスタは辺が減少しながらも分離することなく、1つのクラスタとして残存している。本実施の形態では、上述の通り、このときのクラスタ分離度合いは0となる。
Below, the change in clusters when comparing
次いで、図6に、ある辺についてその辺よりも長い辺を削除した場合(場合1)とその辺以上の長さの辺を削除した場合(場合2)との間におけるクラスタの変化の第2の例を模式的に示す。この例では、辺E1を注目辺として辺の削除を行っているが、場合1では辺削除前のクラスタは辺が減少しながらも分離することなく1つのクラスタとして残存しているが、場合2では2つのクラスタに分離している。本実施の形態では、上述の通り、このときのクラスタ分離度合いは第1の方向の有限の値となる。
Next, Figure 6 shows a second example of the change in clusters between deleting an edge longer than the edge (Case 1) and deleting an edge longer than the edge (Case 2). In this example, edge E1 is the edge of interest and is deleted. In
図5及び図6のいずれにおいても、場合1の辺の接続構造と場合2の辺の接続構造との間で異なるのは、注目辺が削除されずに残っているか否かである。クラスタ変化のモードとしては、この注目辺を削除したとしても元のクラスタが分離しない非分離モード(図5)と、注目辺を削除することで元のクラスタが新たな2つのクラスタに分離する分離モード(図6)と、の2つのモードが存在することが理解できる。上述のように、非分離モードでは注目辺(図5の辺E2)が有するクラスタ分離度合いは0となり、分離モード(図6の辺E1)ではクラスタ分離度合いは第1の方向の有限の値となる。したがって、ある注目辺についてクラスタ分離度合いを取得することで、その注目辺状の辺を削除することで、元のクラスタが分離しない(非分離モード)か、又は、元のクラスタが2つのクラスタに分離するか、を判定することが可能となる。
In both Figs. 5 and 6, the difference between the edge connection structure in
本実施の形態では、クラスタ分離度合いDを、以下のように定義したものを使用した。
上述したように、式[2]及び[3]に示したクラスタ分離度合いは、クラスタが増えなければ0であり、クラスタが増えると第1の方向に有限の値(本実施の構成では正の値)をとる。As described above, the degree of cluster separation shown in equations [2] and [3] is 0 if the number of clusters does not increase, and takes a finite value in the first direction (a positive value in the configuration of this embodiment) if the number of clusters increases.
これにより、どの辺の長さを閾値に用いればクラスタが分離するかを検出することができる。また、後述するように、クラスタ分離度合いは、それに対応する分離前のクラスタが分離する場合、新クラスタ1と新クラスタ2のノード割合が近似しているほど第1の方向(本実施の構成では正方向)に大きくなり、さらに古クラスタのノード数が多いほど第1の方向(本実施の構成では正方向)に大きくなる性質を有している。よって、クラスタ分離度合いの大きさに基づいて、元のクラスタが好適なクラスタに分離する長さ閾値を検出することができる。This makes it possible to detect which edge length should be used as the threshold to separate the clusters. As described below, the degree of cluster separation has the property that when the corresponding pre-separation cluster separates, the closer the node ratios of
式[2]及び[3]はクラスタ分離度合いの一例に過ぎず、式[2]及び[3]で定義される値に所定の値を乗じた値をクラスタ分離度合いとして用いてもよい。なお、式[2]及び[3]のような関数以外でも、同様な振る舞いをする他の関数を用いてクラスタ分離度合いを定義してもよい。 Equations [2] and [3] are merely examples of the degree of cluster separation, and a value obtained by multiplying the value defined by equations [2] and [3] by a predetermined value may be used as the degree of cluster separation. Note that the degree of cluster separation may be defined using other functions that behave in a similar manner, other than functions such as equations [2] and [3].
クラスタが分離する場合には、どのように分割してもクラスタ分離度合いの値は第1の方向に有限の値(本実施の構成では正の値)をとることが望ましいが、小さなクラスタと大きなクラスタとに分割されるような場合には、第1の方向に有限の値を取らなくてもよい(本実施の構成では、0や負の値でも良い)。例えば、自然対数を用いて、クラスタ分離度合いを以下の式のように定義してもよい。
式[4]において、ノード数100のクラスタが、ノード数が99のクラスタとノード数が1のクラスタとに分割される場合を想定すると、クラスタ分離度合いは、-0.010...となり、負の値をとる。なお、この割合以外の割合で2つのクラスタに分割される場合には、クラスタ分離度合いは正の値をとる。ノード数100のクラスタが、ノード数が99のクラスタとノード数が1のクラスタとに分割されるのは、ノイズなどによって生じたノードが別のクラスタに分割された場合と考えられ、このような分割は重要ではないと考えられる。そのため、式[4]で定義されるクラスタ分離度合いを用いても、好適にクラスタ分割を表現できるものと考え得る。In formula [4], if a cluster with 100 nodes is assumed to be divided into a cluster with 99 nodes and a cluster with 1 node, the degree of cluster separation is -0.010..., a negative value. If the cluster is divided into two clusters at a ratio other than this ratio, the degree of cluster separation is a positive value. A cluster with 100 nodes is divided into a cluster with 99 nodes and a cluster with 1 node when nodes generated by noise or the like are divided into different clusters, and such division is considered to be insignificant. Therefore, it can be considered that the cluster division can be appropriately expressed using the degree of cluster separation defined in formula [4].
上述では第1の方向として正の方向を想定しているが、第1の方向は負の方向でもよい。例えば、式[4]の右辺にマイナスを乗じた値をクラスタ分離度合いとしてもよい。In the above, the first direction is assumed to be the positive direction, but the first direction may be the negative direction. For example, the value obtained by multiplying the right side of equation [4] by a negative number may be used as the degree of cluster separation.
本実施の形態では、クラスタ分離度合いは、以下の式[5]で定義されるクラスタ多様性量Sの差分であるクラスタ多様性変化量dSとして算出してもよい。
式[5]のように定義したクラスタ多様性量Sを用いて、各辺に対して、その辺よりも長い辺を削除した場合(場合1)におけるクラスタ多様性量と、その辺以上の長さの辺を削除した場合(場合2)におけるクラスタ多様性量を算出し、その差分dSを算出すると、式[2]と同様になる。 Using the cluster diversity S defined as in equation [5], for each edge, the cluster diversity is calculated when an edge longer than that edge is deleted (case 1) and when an edge longer than that edge is deleted (case 2), and the difference dS is calculated, which is the same as equation [2].
以下、本実施の形態では、理解を容易にするため、クラスタ分離度合いとして、場合1と場合2の両方でクラスタ多様性を算出し、その差分であるクラスタ多様性変化量dSを算出する例について説明する。なお、言うまでもないが、以下の例は一例に過ぎず、クラスタ多様性量を式[5]のように明示的に定義せずに、直接的にクラスタ分離度合いを算出してもよい。In the following, in this embodiment, for ease of understanding, an example will be described in which the cluster diversity is calculated in both
ステップSA26
分離度合い算出部2は、クラスタ分離度合いとして上述のクラスタ多様性変化量dS=S2-S1を算出し、処理をステップSA23に戻す。
Step SA26
The separation
ステップSA27
ステップSA21において、複数の初期学習結果のうちで選択学習結果SRとして選択されていないものが無いと判定された場合、分離度合い算出部2は、学習結果及び辺の選択履歴をリセットする。その後、処理をステップSA3へ進める。
Step SA27
If it is determined in step SA21 that there is no initial learning result that has not been selected as the selected learning result SR among the multiple initial learning results, the separation
ここで、クラスタ多様性変化量dSについて、簡潔に説明する。図7に、クラスタ多様性変化量dSが0となる場合の例を模式的に示す。図7では、縦方向3個、横方向4個の合計12個のノードを有し、これらの12個のノードが辺によって格子状に接続されるクラスタを例としている。また、中央の横方向に延在する3本の辺を下から順にE1~E3とし、辺E1、辺E2、辺E3の順に辺の長さが長くなるものとする。Here, we will briefly explain the cluster diversity change amount dS. Figure 7 shows a schematic example of a case where the cluster diversity change amount dS is 0. Figure 7 shows an example of a cluster having a total of 12 nodes, 3 vertically and 4 horizontally, with these 12 nodes connected in a lattice shape by edges. The three edges extending horizontally in the center are designated E1 to E3 from the bottom, with the length of the edges increasing in the order of edge E1, edge E2, and edge E3.
図7において、注目辺が辺E2である場合、辺E3を除去した状態でクラスタ多様性量S1を計算すると、S1=12・log(12)-12・log(12)=0となる。また、辺E2及びE3を除去した状態でクラスタ多様性量S2を計算すると、S2=12・log(12)-12・log(12)=0となる。この場合、クラスタ多様性変化量dSはS2-S1=0となるが、これは注目辺がE2である場合にはクラスタが分離しなかったためである。図7に示す通り、注目辺がE2である場合、場合1から場合2でクラスタが分離していないことがわかる。よって、クラスタ多様性量も変化しない。上述したように、クラスタ分離度合いであるクラスタ多様性変化量は、クラスタ数が変化しない場合は0となる。
In FIG. 7, when the edge of interest is edge E2, if the cluster diversity amount S1 is calculated with edge E3 removed, S1 = 12 log(12) - 12 log(12) = 0. Also, when the cluster diversity amount S2 is calculated with edges E2 and E3 removed, S2 = 12 log(12) - 12 log(12) = 0. In this case, the cluster diversity change amount dS is S2 - S1 = 0, because the clusters were not separated when the edge of interest is E2. As shown in FIG. 7, it can be seen that when the edge of interest is E2, the clusters are not separated from
次いで、図8に、クラスタ多様性変化量dSが0とならない場合の例を模式的に示す。図8のクラスタは、図7と同様である。図8において、注目辺が辺E1である場合、辺E2及びE3を除去した状態でクラスタ多様性量S1を計算すると、S1=12・log(12)-12・log(12)=0となる。これに対し、辺E1~E3を除去した状態でクラスタ多様性量S2を計算すると、S2=12・log(12)-6・log(6)-6・log(6)=8.137となる。この場合、クラスタ多様性変化量dSはS2-S1=8.317となるが、これは注目辺がE1である場合にはクラスタが分離したためである。図8に示す通り、注目辺がE1である場合、場合1から場合2でクラスタが分離していることがわかる。よって、クラスタ多様性量も変化する。上述したように、クラスタ分離度合いであるクラスタ多様性変化量は、クラスタ数が変化する場合には、第一の方向の(本実施の形態の場合は正方向)有限の値となる。
Next, FIG. 8 shows a schematic example of a case where the cluster diversity change amount dS is not 0. The cluster in FIG. 8 is the same as that in FIG. 7. In FIG. 8, when the edge of interest is edge E1, if the cluster diversity amount S1 is calculated with edges E2 and E3 removed, S1 = 12 log (12) - 12 log (12) = 0. In contrast, when the cluster diversity amount S2 is calculated with edges E1 to E3 removed, S2 = 12 log (12) - 6 log (6) - 6 log (6) = 8.137. In this case, the cluster diversity change amount dS is S2 - S1 = 8.317, but this is because the cluster is separated when the edge of interest is E1. As shown in FIG. 8, when the edge of interest is E1, it can be seen that the cluster is separated from
このように、注目辺についてクラスタ多様性変化量dSを算出し、クラスタ多様性変化量dSが0以外の値をとるかを調べることで、クラスタが分割されるか否かを判定することができる。In this way, by calculating the cluster diversity change amount dS for the edge of interest and checking whether the cluster diversity change amount dS is a value other than 0, it is possible to determine whether the cluster will be divided.
クラスタ多様性変化量dSは、クラスタが均等に分割される場合に大きな値となり、不均等に分割される場合に小さな値となる性質を有する。例えば、ノード数100のクラスタがノード数10のクラスタとノード数90のクラスタに分割される場合、クラスタ多様性変化量dSは32.5となる。これに対し、ノード数100のクラスタがノード数50の2つのクラスタに分割される場合、クラスタ多様性変化量dSは69.3となる。このように、同じノード数のクラスタが分割される場合でも、分割されたノード数が均等である方が、クラスタ多様性変化量dSが大きくなることが理解できる。The cluster diversity change amount dS has the property that it is a large value when a cluster is divided evenly and a small value when it is divided unequally. For example, when a cluster with 100 nodes is divided into a cluster with 10 nodes and a cluster with 90 nodes, the cluster diversity change amount dS is 32.5. In contrast, when a cluster with 100 nodes is divided into two clusters with 50 nodes, the cluster diversity change amount dS is 69.3. In this way, it can be seen that even when clusters with the same number of nodes are divided, the cluster diversity change amount dS is larger when the number of divided nodes is equal.
また、クラスタ多様性変化量dSは、分割後のクラスタ数が同じであっても、各クラスタに属するノード数が多いほど大きな値となる性質も有している。ノード数2のクラスタをノード数1の2つのクラスタに分割する場合を想定すると、分割後の2つのクラスタのノード数は同じであるものの、このときのクラスタ多様性変化量dSは1.39と小さな値となる。このように、元のクラスタのノード数が小さい場合には、クラスタ多様性変化量dSは小さな値となる。この場合には、ノイズ等によって生じた小さなクラスタが分割されたものとして解釈できる。 Furthermore, the cluster diversity change amount dS has the property that the greater the number of nodes belonging to each cluster, the larger the value, even if the number of clusters after splitting is the same. If we imagine splitting a cluster with two nodes into two clusters with one node, the number of nodes in the two clusters after splitting will be the same, but the cluster diversity change amount dS will be a small value of 1.39. In this way, when the number of nodes in the original cluster is small, the cluster diversity change amount dS will be a small value. In this case, it can be interpreted that a small cluster created by noise or the like has been split.
以上のクラスタ多様性変化量dSの性質に基づき、クラスタ多様性変化量dSの値の大小に基づいて削除する辺の長さを指定することで、ノード数が大きくかつ略均等なクラスタに分割されるケースを好適に検出し、ノード数が不均衡なクラスタに分割されるケースや分割前のクラスタのノード数が少ないケースを排除することが可能となる。 Based on the above properties of the cluster diversity change amount dS, by specifying the length of the edge to be deleted based on the magnitude of the value of the cluster diversity change amount dS, it is possible to preferably detect cases in which the number of nodes is large and the clusters are divided into approximately equal clusters, and to eliminate cases in which the number of nodes is unbalanced and the number of nodes in the cluster before division is small.
ステップSA3
辺削除処理部3は、以下のステップSA31~SA37により、各学習結果から所定の辺を削除する。
Step SA3
The edge
ステップSA31
辺削除処理部3は、辺削除処理の繰り返し回数の上限値を示す辺削除レベルMの初期値として「0」と設定する(すなわち、M=0)。
Step SA31
The
ステップSA32
辺削除処理部3は、複数の初期学習結果のうちで未だ選択学習結果SRとして選択されていないものが有るかを判定する。複数の初期学習結果のうちで選択学習結果SRとして選択されていないものが無い場合には、処理をステップSA37へ進める。
Step SA32
The edge
ステップSA33
選択学習結果SRとして選択されていない初期学習結果が有る場合には、辺削除処理部3は、
その中から1つの初期学習結果を選択学習結果SRとして選択する。
Step SA33
If there is an initial learning result that has not been selected as the selected learning result SR, the edge
One of these initial learning results is selected as a selected learning result SR.
ステップSA34
辺削除処理部3は、選択学習結果SRの各辺について算出されたクラスタ多様性変化量dSのうちでM番目に大きな値が有るかを判定する。例えば、辺削除処理部3は、算出したクラスタ多様性変化量dSを降順にソートし、M番目のクラスタ多様性変化量dSが有るかを判定してもよい。M番目のクラスタ多様性変化量dSが無い場合には、辺削除処理部3は、処理をステップSA32に戻す。
Step SA34
The edge
ステップSA35
辺削除処理部3は、選択学習結果SRの各辺について算出したクラスタ多様性変化量dSのうちでM番目に大きな値のものを選択し、選択したクラスタ多様性変化量dSに対応する注目辺の長さを長さ閾値LTHとして決定する。なお、M=0は辺の削除がなされないように実行される。例えば、すべての辺の長さより長い辺長さを閾値LTHとして決定する。
Step SA35
The edge
ステップSA36
辺削除処理部3は、選択学習結果SRに含まれる各辺の長さを長さ閾値LTHと比較し、辺の長さが長さ閾値LTH以上の辺を選択学習結果SRから削除する。その後、処理をステップSA32へ戻す。
Step SA36
The edge
なお、上述したように、初期学習結果に対して上述の辺の削除が行われた後に得られるネットワーク構造を、中間学習結果と称する。As mentioned above, the network structure obtained after the above-mentioned edges are deleted from the initial learning result is called the intermediate learning result.
以下、本実施の形態にかかる辺削除処理の効果について検討する。図9に、実施の形態1における辺の削除の概要を示す。まず、最大のクラスタ多様性変化量dS1に対する長さ閾値LTH1が設定され、これに基づいて、注目辺EA1が属するクラスタの辺のうち、閾値LTH1以上の長さの辺が削除される(一回目の辺削除)。これより、元のクラスタは、左右の2つのクラスタに分離される。 The effect of the edge deletion process according to this embodiment will be considered below. Fig. 9 shows an overview of edge deletion in the first embodiment. First, a length threshold LTH1 for the maximum cluster diversity change amount dS1 is set, and based on this, edges of the cluster to which the target edge EA1 belongs that have a length equal to or greater than the threshold LTH1 are deleted (first edge deletion). As a result, the original cluster is separated into two clusters, a left one and a right one.
次いで、最大のクラスタ多様性変化量dS1の次に大きなクラスタ多様性変化量dS2に対応する長さ閾値LTH2が設定され、注目辺EA2が属する左側のクラスタの辺のうち、閾値LTH2以上の長さの辺が削除される(二回目の辺削除)。これにより、左側のクラスタは、さらに2つのクラスタに分離される。 Next, a length threshold LTH2 corresponding to the cluster diversity change amount dS2 next to the maximum cluster diversity change amount dS1 is set, and among the edges of the left cluster to which the target edge EA2 belongs, edges having a length equal to or greater than the threshold LTH2 are deleted (second edge deletion). As a result, the left cluster is further divided into two clusters.
次いで、クラスタ多様性変化量dS2の次に大きなクラスタ多様性変化量dS3に対応する長さ閾値LTH3が設定され、注目辺EA3が属する右側のクラスタの辺のうち、閾値LTH3以上の長さの辺が削除される(三回目の辺削除)。これにより、右側のクラスタは、さらに2つのクラスタに分離される。 Next, a length threshold LTH3 corresponding to the cluster diversity change amount dS3 that is the next largest after the cluster diversity change amount dS2 is set, and among the edges of the right cluster to which the target edge EA3 belongs, edges with a length equal to or greater than the threshold LTH3 are deleted (third edge deletion). As a result, the right cluster is further divided into two clusters.
ここで、本実施の形態にかかる辺削除の実施例について説明する。図10に、実施の形態1における辺削除に用いた入力データの例を示す。本実施の形態での入力データは、入力データが6つのクラスタに分かれて分布しており、そのうち3つのクラスタが近接した領域と、2つのクラスタが近接した領域とが存在し、ノイズによって境界が不明瞭になっている。Here, an example of edge deletion according to this embodiment will be described. Figure 10 shows an example of input data used for edge deletion in
図11に、図10の入力データに対して辺削除処理を行ったときのネットワーク構造を示す。辺削除の前では、近接したクラスタに対応するノードは辺で接続されてしまっており、クラスタが分離できていないことが認められる。さらに、3つのクラスタが近接している領域に有るクラスタと、近接した2つのクラスタが近接している領域に有るクラスタとが、1本の辺で接続されてしまっている。これに対し、辺削除後においては、ノイズの影響による辺が適切に削除され、6つのクラスタが分離できていることが認められる。 Figure 11 shows the network structure when edge deletion processing is performed on the input data in Figure 10. Before edge deletion, nodes corresponding to nearby clusters are connected by edges, and it can be seen that the clusters cannot be separated. Furthermore, a cluster in an area where three clusters are close to each other and a cluster in an area where two nearby clusters are close to each other are connected by a single edge. In contrast, after edge deletion, edges caused by noise have been properly deleted, and it can be seen that the six clusters have been separated.
以上説明したように、本構成によれば、段階的に辺を削除することで、注目辺が属するクラスタごとに、より適切な辺削除処理を行うことができる。これにより、不要な辺削除処理を抑制し、入力ベクトルの分布をさらに正確に学習することが可能となる。As described above, this configuration allows for more appropriate edge deletion processing for each cluster to which the edge of interest belongs by deleting edges in stages. This makes it possible to suppress unnecessary edge deletion processing and learn the distribution of input vectors more accurately.
ステップSA37
ステップSA32にて複数の初期学習結果のうちで未だ選択学習結果SRとして選択されていないもの複数の学習結果のうちで選択学習結果SRとして選択されていないものが無いと判定された場合、辺削除処理部3が行った初期学習結果の選択履歴をリセットする。その後、処理をステップSA4へ進める。
Step SA37
If it is determined in step SA32 that there is no initial learning result that has not yet been selected as the selected learning result SR among the multiple initial learning results or there is no initial learning result that has not yet been selected as the selected learning result SR among the multiple learning results, the selection history of the initial learning results performed by the edge
ステップSA4
距離行列算出部4は、以下のステップSA41~SA45により、2つの辺削除済みの中間学習結果のペアから2つのクラスタのペアを選択し、選択した2つのクラスタについて距離行列を算出する。
Step SA4
Distance matrix calculation unit 4 selects a pair of two clusters from the pair of intermediate learning results in which two edges have been deleted, and calculates a distance matrix for the two selected clusters, in the following steps SA41 to SA45.
ステップSA41
距離行列算出部4は、複数の中間学習結果から任意に選択した、2つの中間学習結果からなるペアのうちで、未だ処理対象として選択されていないものが有るかを判定する。選択されていない中間学習結果のペアがない場合には、処理をステップSA8へ進める。
Step SA41
The distance matrix calculation unit 4 determines whether there is any pair of two intermediate learning results that has not yet been selected as a processing target, among the pairs of two intermediate learning results that have been arbitrarily selected from the intermediate learning results. If there is no pair of intermediate learning results that has not yet been selected, the process proceeds to step SA8.
ステップSA42
選択されていない中間学習結果のペアが有る場合には、距離行列算出部4は、その中から1つの中間学習結果のペアを選択する。以下、ここで選択された中間学習結果のペアを選択学習結果ペアと称し、選択学習結果ペアに含まれる中間学習結果をSA及びSBとする。
Step SA42
If there are any unselected intermediate learning result pairs, the distance matrix calculation unit 4 selects one intermediate learning result pair from among them. Hereinafter, the pair of intermediate learning results selected here is referred to as a selected learning result pair, and the intermediate learning results included in the selected learning result pair are SA and SB.
ステップSA43
距離行列算出部4は、選択学習結果ペアの中間学習結果SAから任意に選択した1つのクラスタと、中間学習結果SBから任意に選択した1つのクラスタとからなるクラスタのペアのうちで、未だ処理対象として選択されていないものが有るかを判定する。選択されていないクラスタのペアがない場合には、処理をステップSA6へ進める。
Step SA43
The distance matrix calculation unit 4 determines whether there is any pair of clusters that has not yet been selected as a processing target among the pairs of clusters that are each made up of one cluster arbitrarily selected from the intermediate learning result SA of the selected learning result pair and one cluster arbitrarily selected from the intermediate learning result SB. If there is no pair of clusters that has not yet been selected, the process proceeds to step SA6.
ステップSA44
選択されていないクラスタのペアが有る場合には、距離行列算出部4は、その中から1つのクラスタのペアを選択する。具体的には、距離行列算出部4は、辺削除済みの中間学習結果SAに含まれるp個(pは、1以上の整数)のクラスタCA1~CApから任意に選択したクラスタAと、辺削除済みの中間学習結果SBに含まれるq個(qは、1以上の整数)のクラスタCB1~CBqから任意に選択したクラスタBとを含む、1つのクラスタのペアを選択する。以下、ここで選択されたクラスタのペアを、選択クラスタペアと称する。
Step SA44
If there are unselected cluster pairs, the distance matrix calculation unit 4 selects one cluster pair from among them. Specifically, the distance matrix calculation unit 4 selects one cluster pair including a cluster A arbitrarily selected from p clusters CA1 to CAp (p is an integer equal to or greater than 1) included in the intermediate learning result SA from which edges have been deleted, and a cluster B arbitrarily selected from q clusters CB1 to CBq (q is an integer equal to or greater than 1) included in the intermediate learning result SB from which edges have been deleted. Hereinafter, the cluster pair selected here is referred to as a selected cluster pair.
ステップSA45
距離行列算出部4は、クラスタAに含まれるノードa1~am(ai、1≦i≦m)と、クラスタBに含まれるノードb1~bn(bj、1≦j≦n)と、のペアの全てについてノード間の距離daibjを計算し、選択クラスタペアにかかるm行n列の距離行列Dを算出する。
The distance matrix calculation unit 4 calculates the distances d aibj between all pairs of nodes a1 to am (ai, 1≦i≦m) included in cluster A and nodes b1 to bn (bj, 1≦j≦n) included in cluster B, and calculates a distance matrix D with m rows and n columns for the selected cluster pairs.
ステップSA5
ステップSA45の後、評価指数算出部5は、以下のステップSA51~SA54により、選択クラスタペアの2つのクラスタの類似度合いを示す評価指数を算出する。
Step SA5
After step SA45, the evaluation
ステップSA51
評価指数算出部5は、距離行列Dの各行(daib1~daibn)について、最小値minai(すなわち、mina1~minam)を取得し、かつ、距離行列Dの各列(da1bj~dambj)について、最小値minbj(すなわち、minb1~minbn)を取得する。
Step SA51
The evaluation
ステップSA52
評価指数算出部5は、同じクラスタに属するノード間の平均的な距離dmeanを算出する。dmeanは、同一クラスタと識別されているノード間の平均的な距離なので、この平均値以上であれば異なるノードと識別し、これより短ければ同一ノードとして識別できる指標と考えることができる。dmeanは例えば以下のように記載できる。
なお、式[7]のdmeanは例であり、例えば以下の式[8]のように定義してもよい。
The evaluation
Note that d mean in equation [7] is an example, and may be defined as, for example, the following equation [8].
また、dmeanは、以下の式[9]及び[10]で示す値のうちで、大きな方の値としてもよいし、小さな方の値としてもよい。
さらに、各行の最小値mina1~minamと各列の最小値minb1~minbnとで別々のdmeanを用意して、使い分けても良い。各行の最小値mina1~minamに対しては、例えば式[11]に示す様に、クラスタAのみで算出されたdmeanを使用してもよい。各列の最小値minb1~minbnに対しては、例えば式[12]に示す様に、クラスタBのみで算出されたdmeanを使用してもよい。
上述では、複数のノードを含むネットワークについて説明したが、SOINNなどによって入力データを学習した場合には、ネットワークは、複数のノードと2つのノード間を接続する複数の辺とを含むこととなる。このように、ノード間に辺が存在する場合は、同じクラスタに属する辺の平均長さをdmeanとして用いることが望ましい。辺はノード間の関係性を表し、辺長さはその類似性を表しているので、辺を用いることで、ノイズの影響でたまたま近傍に存在しているノードとの距離がdmeanの算出に用いられることを防止することができる。また、本実施の形態では、平均長さとして算術平均(相加平均)を使用したが、近傍ノード間の距離分布の中心的傾向を数値で示すことができればこれに限らない。例えば、2乗平均、相乗平均、調和平均など別の平均指標を平均長さとして使用してもよいし、中央値、最頻値など別の統計的な代表値を使用してもよい。以下では、算術平均の他に説明した平均指標や統計的な代表値を含むものとして、「平均的距離」を用いるものとする。 In the above, a network including a plurality of nodes has been described, but when input data is learned by SOINN or the like, the network includes a plurality of nodes and a plurality of edges connecting two nodes. In this way, when edges exist between nodes, it is desirable to use the average length of edges belonging to the same cluster as d mean . Since edges represent the relationship between nodes and edge lengths represent their similarity, by using edges, it is possible to prevent the distance to a node that happens to exist in the vicinity due to the influence of noise from being used in the calculation of d mean . In addition, in this embodiment, the arithmetic mean (arithmetic mean) is used as the average length, but this is not limited as long as the central tendency of the distance distribution between neighboring nodes can be expressed numerically. For example, another average index such as the square mean, the geometric mean, or the harmonic mean may be used as the average length, or another statistical representative value such as the median or the mode may be used. In the following, the term "average distance" is used to include the average index and statistical representative value described above in addition to the arithmetic mean.
ステップSA53
評価指数算出部5は、各行の最小値mina1~minamのうちで平均的距離dmean以上のものの個数NUMaをカウントし、各列の最小値minb1~minbnのうちで平均的距離dmean以上のものの個数NUMbをカウントする。
Step SA53
The evaluation
ステップSA54
評価指数算出部5は、取得した個数NUMa及びNUMbの和を、クラスタA及びBのノード総数(m+n)で除算した値を、評価指数ESとして算出する。
The evaluation
ここでは、取得した最小値のうちで平均値dmean以上のものの個数を数えることで、2つのクラスタ間において近似していないノードの数を検出していると考えることができる。また、式[13]で近似していないノードの数を2つのクラスタのノードの総数で除算することで、ノード総数に対して近似していないノードの数の割合を算出している。つまり、評価指数ESは、大きな値を取る場合には2つのクラスタは類似しておらず、小さな値を取る場合には2つのクラスタは類似していることを示す、非類似度を表す値であるといえる。 Here, the number of nodes that are not similar between the two clusters is detected by counting the number of the minimum values that are equal to or greater than the average value dmean . In addition, the ratio of the number of nodes that are not similar to the total number of nodes is calculated by dividing the number of nodes that are not similar in the formula [13] by the total number of nodes in the two clusters. In other words, the evaluation index ES can be said to be a value that represents the dissimilarity, where a large value indicates that the two clusters are not similar, and a small value indicates that the two clusters are similar.
本実施の形態では、評価指数算出部5は、中間学習結果SAに含まれるp個のクラスタCA1~CApの任意の1つと、中間学習結果SBに含まれるq個のクラスタCB1~CBqの任意の1つとの全てのペアについて実行する。そして、評価指数算出部5は、2つのクラスタのペアの全てについて、評価指数の算出を行う。In this embodiment, the evaluation
ステップSA6:評価指数行列生成
ステップSA43にて、選択学習結果ペアのうちで未だ処理対象として選択されていないクラスタのペアがないと判定された場合、評価指数算出部5は、p行q列の評価指数行列EMを生成する。つまり、評価指数行列EMの行番号は中間学習結果SAに含まれるクラスタの番号を示し、列番号は中間学習結果SBに含まれるクラスタの番号を示している。
ステップSA7:得点算出
得点算出部6は、評価指数行列EMに含まれる各評価指数を閾値THと比較し、閾値TH以下(似ている)の評価指数ESを構成する両クラスタに高い得点を与え(例えば得点+1)、閾値よりも大きい(似ていない)の評価指数ESを構成する両クラスタに低い得点(例えば得点0)を与える。そして、中間学習結果SAの各クラスタ(CA1~CAp)の合計得点をそれぞれ算出する。換言すれば、評価指数行列EMの各行(ESi1,…,SEiq)に与えられた得点の合計を各行について算出する。(ESi1,…,ESiq)の得点の合計は、クラスタCAiの得点となる。また、中間学習結果SBの各クラスタ(CB1~CBq)の合計得点を各々算出する。換言すれば、評価指数行列EMの各列(ES1j,…,SEpj)に与えられた得点の合計を各列で各々算出する。(ES1j,…,SEpj)の得点の合計はクラスタCBjの得点となる。なお、得点算出の方法はこれに限らず、例えば閾値TH以下でかつ各行でもっとも評価指数ESが低いもの(最もよく似ているもの)や、各列でもっとも評価指数ESが低いもの(最もよく似ているもの)に高い得点を加えるなどの応用を加えてもよい。
Step SA7: Score Calculation The
本実施の形態では、複数の中間学習結果から選択した任意の2つの中間学習結果の全てのペアについて、上記の合計得点の算出を行う。つまり、距離行列算出部4及び評価指数算出部5は、上述の距離行列算出、評価指数算出及び評価指数行列生成を、複数の中間学習結果から選択した任意の2つの中間学習結果の全てのペアについて行う。そして、得点算出部6は、これらの計算結果に基づいて、各中間学習結果の各クラスタについて、合計得点を取得する。その後、処理をステップSA41に戻す。In this embodiment, the above total score is calculated for all pairs of any two intermediate learning results selected from the multiple intermediate learning results. In other words, the distance matrix calculation unit 4 and the evaluation
ステップSA8
ステップSA41にて、複数の中間学習結果から選択可能な2つの中間学習結果からなるペアのうちで、未だ処理対象として選択されていないものが無いと判定された場合、得点算出部6は、得点行列を生成する。具体的には、得点算出部6は、取得した合計得点に基づいて、以下の式[15]に示すように、クラスタ番号を行番号とするr列の得点行列SMを生成する。ここで、行列SMの要素Sijはj番目の中間学習結果(jは1以上M以下の整数)のクラスタiにおける全合計得点である。具体的には、j番目の中間学習結果とそのほか全ての中間学習結果との全てのペアについて、得点算出部6が算出したj番目の中間学習結果のクラスタiの合計得点を全て合計したものである。また、行列SMには存在しない要素もある。例えば、j番目の中間学習結果のクラスタiが存在していない場合、Sijは空となっており、計算などに関与しない。
In step SA41, when it is determined that there is no pair of two intermediate learning results selectable from the multiple intermediate learning results that has not yet been selected as a processing target, the
ステップSA9
画一度算出部7は、以下のステップSA91及びSA92により、画一度を算出する。
Step SA9
The pixel
ステップSA91
画一度算出部7は、得点行列SMを参照し、各中間学習結果について最小得点Sm1~Smrを取得する。つまり、画一度算出部7は、得点行列SMの各行の最小得点Sm1~Smrを取得する。
Step SA91
The stroke
ステップSA92
画一度算出部8は、取得した最小得点Sm1~Smrに基づいて、画一度UNを算出する。画一度UNは、例えば以下のような式で算出される。なお、Nは全学習結果の数である。
The stroke
画一度UNの値が大きい場合には、少なくとも一つの学習結果ではその学習結果に所属するすべてのクラスタの得点が高い、すなわち、他の学習結果のクラスタと良く似ていることを意味している。画一度UNの値が小さい場合には、どの学習結果でも少なくとも一つのクラスタの得点が低いこと、すなわち、他の学習結果のクラスタと似ていないことを意味している。 If the value of stroke-per-unit UN is large, it means that in at least one learning result, all clusters belonging to that learning result have high scores, i.e., they are very similar to the clusters of other learning results. If the value of stroke-per-unit UN is small, it means that in every learning result, at least one cluster has low scores, i.e., they are not similar to the clusters of other learning results.
画一度UNは、辺削除レベルMの値が大きくなるに連れて、すなわち、辺削除処理の繰り返し回数が多くなるに連れて、辺の削除が進行してクラスタが多様化するので、減少する傾向を示す。つまり、辺削除処理の繰り返し回数を増やすことで画一度UNが所定の値よりも小さくなれば、クラスタが多様化しどの学習結果でも似通っていないクラスタが存在してきたことが把握できる。そのため、画一度UNを用いて辺削除処理の繰り返しを停止するタイミングを決定できる。 The stroke count UN tends to decrease as the edge deletion level M value increases, i.e., as the number of times the edge deletion process is repeated increases, the edge deletion progresses and the clusters become more diverse. In other words, if the stroke count UN becomes smaller than a specified value by increasing the number of times the edge deletion process is repeated, it can be understood that the clusters have become more diverse and that dissimilar clusters have come into existence in all learning results. Therefore, the stroke count UN can be used to determine the timing to stop the repetition of the edge deletion process.
図12に、2段階の辺削除処理が行われた場合に得られる中間学習結果と画一度UNの例を示す。図12では、似通っているクラスタを破線で囲んでいる。図12から分かるように、1段階目の辺削除処理後には入力データ構造に依存したクラスタが辺削除により発生しているが、2段階目の辺削除処理後では各学習結果の方法やパラメータなどに依存したノイズ的なクラスタが発生している。1段階目の辺削除処理後の結果はクラスタリングとして好適だが、2段階目の辺削除処理後の結果はクラスタリングとしては好適ではない。 Figure 12 shows an example of intermediate learning results and pixel count UN obtained when a two-stage edge deletion process is performed. In Figure 12, similar clusters are surrounded by dashed lines. As can be seen from Figure 12, after the first stage of edge deletion process, clusters that depend on the input data structure are generated by the edge deletion, but after the second stage of edge deletion process, noise-like clusters that depend on the method and parameters of each learning result are generated. The results after the first stage of edge deletion process are suitable for clustering, but the results after the second stage of edge deletion process are not suitable for clustering.
この例では、画一度UNは、辺削除処理前では全ての学習結果での最小得点(S01~S04)で3となり100%、1段階目の辺削除処理後では学習結果1~3での最小得点(S11~S13)で2となり75%、2段階目の辺削除処理後では全ての学習結果での最小得点(S01~S04)で0となりで25%となるように推移している。このとき、例えば、画一度閾値THUNを40%に設定しておくことで、クラスタが適切に分離されている状態ないしは適切に分離されている状態に近似した状態であると認められる2段階目の辺削除処理後の状態で辺削除処理を停止することができる。
In this example, the stroke count UN changes so that it is 3, which is the minimum score among all learning results ( S01 to S04 ), or 100%, before the edge deletion process, 2, which is the minimum score among learning
ステップSB1
終了判定部8は、画一度UNを所定の画一度閾値THUNと比較する。
Step SB1
The
ステップSB2
画一度UNが画一度閾値THUN以上の場合(UN≧THUN)、終了判定部8は、辺削除レベルMを1だけ増加させ(M=M+1)、処理をステップSA32に戻す。
Step SB2
If the pixel number UN is equal to or greater than the pixel number threshold value TH UN (UN≧TH UN ), the
ステップSB3
画一度UNが画一度閾値THUNよりも小さい場合(UN<THUN)には、学習結果選択部9は、以下のステップSB31~SB33に基づいて、最終学習結果を選択する。
Step SB3
If the image number UN is smaller than the image number threshold value TH UN (UN<TH UN ), the learning
ステップSB31
学習結果選択部9は、辺削除レベルM-1の辺削除済みの複数の中間学習結果からなるグループを選択する。いずれのグループを選択するかは、用途に応じて適宜決定してもよい。なお、ここでは、学習結果選択部9は、辺削除レベルM-1の辺削除済みの複数の中間学習結果からなるグループを選択するものとして説明したが、必要に応じて、辺削除レベルMの辺削除済みの複数の中間学習結果からなるグループを選択してもよい。
Step SB31
The learning
ステップSB32
学習結果選択部9は、得点行列SMを参照し、各中間学習結果について最小得点Smin1~Sminrを取得する。
Step SB32
The learning
ステップSB33
学習結果選択部9は、取得した最小得点Smin1~Sminrのうちで最大値を取る中間学習結果を、採用する最終学習結果として選択する。換言すれば、学習結果選択部9は、各中間学習結果について他の中間学習結果に含まれるクラスタに最も似通っていないクラスタの得点を抽出した後に、その中から一番似通っているクラスタを有する中間学習結果を最終学習結果として選択している。
Step SB33
The learning
ステップSB4
クラスタリング部10は、選択された最終学習結果のノード及び辺を参照し、クラス分類を行う。ここでのクラス分類においては、例えば、最終学習結果に含まれるクラスタにクラスタ番号やラベリングを行うなどの処理が行われる。
Step SB4
The
以上、本構成によれば、辺削除レベルMを自動的に決定することで、辺削除処理を好適な回数だけ繰り返すことが可能である。これにより、自動的に辺削除処理を行うことで入力データの構造を正確に学習することができる。 As described above, according to this configuration, it is possible to repeat the edge deletion process an appropriate number of times by automatically determining the edge deletion level M. This makes it possible to accurately learn the structure of the input data by automatically performing the edge deletion process.
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、ノード間の距離を示す距離尺度についてであるが、ノード間の距離尺度としては、ユークリッド距離、コサイン距離、マンハッタン距離、フラクショナル距離など、任意の距離尺度を適用することができる。一般に、入力データが低次元である場合にユークリッド距離が用いられ、入力データが高次元である場合にコサイン距離、マンハッタン距離及びフラクショナル距離が用いられる。
Other embodiments The present invention is not limited to the above-mentioned embodiments, and can be modified as appropriate without departing from the spirit of the present invention. For example, as for the distance measure indicating the distance between nodes, any distance measure such as Euclidean distance, cosine distance, Manhattan distance, and fractional distance can be applied as the distance measure between nodes. In general, Euclidean distance is used when the input data is low-dimensional, and cosine distance, Manhattan distance, and fractional distance are used when the input data is high-dimensional.
上述の実施の形態において、2つの値の大小判定について説明したが、これは例示に過ぎず、2つの値の大小判定において2つの値が等しい場合については、必要に応じて取り扱ってもよい。すなわち、第1の値が第2の値以上であるか又は第2の値よりも小さいかの判定と、第1の値が第2の値よりも大きいか又は第2の値以下であるかの判定とについては、必要に応じていずれを採用してもよい。第1の値が第2の値以下であるか又は第2の値よりも大きいかの判定と、第1の値が第2の値よりも小さいか又は第2の値以上であるかの判定については、いずれを採用してもよい。換言すれば、2つの値の大小判定を行って2つの判定結果を得る場合、2つの値が等しい場合については、必要に応じて2つの判定結果のいずれに含めてもよい。In the above embodiment, the judgment of the magnitude of two values has been described, but this is merely an example, and the case where the two values are equal in the judgment of the magnitude of two values may be handled as necessary. In other words, for the judgment of whether the first value is equal to or greater than the second value or smaller than the second value, either may be adopted as necessary. For the judgment of whether the first value is equal to or less than the second value or larger than the second value, either may be adopted. In other words, when the magnitude judgment of two values is performed to obtain two judgment results, the case where the two values are equal may be included in either of the two judgment results as necessary.
また、SOINNにおいては、入力ベクトルの学習において辺を接続する処理を行っている。この場合には、長さ閾値LTH以下の辺のみを接続することで、上記の辺削除処理と同等の処理を行うことも可能である。すなわち、ネットワークにおいて、長さ閾値LTH以下の長さの辺のみがノードに接続されているネットワークを取得すればよく、ノードに接続する辺の選別は、上述の辺削除処理によって行ってもよいし、SOINNにて入力ベクトルを学習する過程で行う辺を接続する処理において行ってもよい。 In addition, in SOINN, a process of connecting edges is performed in learning input vectors. In this case, it is possible to perform a process equivalent to the edge deletion process described above by connecting only edges whose length is equal to or less than the length threshold LTH . In other words, it is sufficient to obtain a network in which only edges whose length is equal to or less than the length threshold LTH are connected to nodes, and the selection of edges to be connected to nodes may be performed by the edge deletion process described above, or may be performed in the process of connecting edges performed in the process of learning input vectors in SOINN.
上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。In the above embodiment, the present invention has been described mainly as a hardware configuration, but the present invention is not limited to this, and any process can be realized by having a CPU (Central Processing Unit) execute a computer program. In this case, the computer program can be stored using various types of non-transitory computer readable medium and supplied to the computer. Non-transitory computer readable medium includes various types of tangible storage medium. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R/Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memories)). The program may also be provided to the computer by various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transient computer-readable medium can provide the program to the computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.
1 学習処理部
2 分離度合い算出部
3 辺削除処理部
4 距離行列算出部
5 評価指数算出部
6 得点算出部
7 画一度算出部
8 終了判定部
9 学習結果選択部
10 クラスタリング部
1000 コンピュータ
1001 CPU
1002 ROM
1003 RAM
1004 バス
1005 入出力インターフェイス
1006 入力部
1007 出力部
1008 記憶部
1009 通信部
1010 ドライブ
1011 磁気ディスク
1012 光ディスク
1013 フレキシブルディスク
1014 半導体メモリ
100 情報処理装置
REFERENCE SIGNS
1002 ROM
1003 RAM
1004
Claims (13)
同じ入力データに対して複数の教師なし学習方法によって学習して得られた複数の初期学習結果を取得する学習処理部と、
前記複数の初期学習結果から1つの初期学習結果を順に選択し、選択された前記初期学習結果に含まれる複数の辺のそれぞれを順に注目辺として選択し、前記注目辺よりも長い辺を前記選択された初期学習結果から削除した場合と、前記注目辺以上の長さの辺を前記選択された初期学習結果から削除した場合と、におけるクラスタの分離度合いを算出する分離度合い算出部と、
前記複数の辺について算出したクラスタ分離度合いのうちでM番目に大きなクラスタ分離度合いに対応する注目辺の長さである長さ閾値以上の辺を前記選択された初期学習結果から削除する辺削除処理部と、
前記辺削除処理部による辺削除後の前記複数の初期学習結果である複数の中間学習結果から選択可能な2つの中間学習結果からなる学習結果ペアを選択し、選択した前記学習結果ペアの前記2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタからなるクラスタペアを選択し、選択可能なクラスタペアの全てについて、一方のクラスタに属するノードと他方のクラスタに属するノードとの間の距離を示す距離行列を算出する距離行列算出部と、
各距離行列について各列及び各行の最小値を取得し、取得した前記最小値のうちで所定条件を満たすものの個数に基づいて各距離行列にかかる評価指数を算出する評価指数算出部と、
全ての前記学習結果ペアについて算出した距離行列の評価指数に基づいて、各中間学習結果の各クラスタについて、1つの中間学習結果に含まれる1つのクラスタと、他の中間学習結果のクラスタとが類似している度合いを示す得点を算出する得点算出部と、
各中間学習結果の各クラスタについて算出した前記得点のうちの最小値を取得し、取得した複数の前記最小値のうちの最大値を画一度として算出する画一度算出部と、
前記画一度が画一度閾値よりも大きい場合にMに1を加算してMの値を更新し、前記画一度が画一度閾値よりも小さい場合に辺を削除する処理を終了する終了判定部と、
前記終了判定部が辺を削除する処理を終了すると判定した場合に、前記得点算出部で算出された各中間学習結果の各クラスタの得点に基づいて、前期複数の中間学習結果から最終学習結果を選択する学習結果選択部と、
前記最終学習結果をクラスタリングするクラスタリング部と、を備え、
前記Mの値が更新されるごとに、前記辺削除処理部、前記距離行列算出部、前記得点算出部、前記画一度算出部及び前記終了判定部は処理を繰り返す、
情報処理装置。 An information processing device that sequentially inputs an input vector and learns an input distribution structure of the input vector as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of edges connecting two of the nodes are arranged,
a learning processing unit that acquires a plurality of initial learning results obtained by learning the same input data using a plurality of unsupervised learning methods;
a separation degree calculation unit which sequentially selects one initial learning result from the plurality of initial learning results, sequentially selects each of a plurality of edges included in the selected initial learning result as an edge of interest, and calculates a degree of separation of clusters in a case where an edge longer than the edge of interest is deleted from the selected initial learning result and in a case where an edge having a length equal to or longer than the edge of interest is deleted from the selected initial learning result;
an edge deletion processing unit that deletes edges having a length equal to or greater than a length threshold, the length of the edge of interest corresponding to the Mth largest degree of cluster separation among the degrees of cluster separation calculated for the plurality of edges, from the selected initial learning result;
a distance matrix calculation unit that selects a learning result pair consisting of two selectable intermediate learning results from a plurality of intermediate learning results that are the plurality of initial learning results after the edge deletion by the edge deletion processing unit, selects a cluster pair consisting of two clusters selected one from each of the two intermediate learning results of the selected learning result pair, and calculates a distance matrix indicating the distance between a node belonging to one cluster and a node belonging to the other cluster for all of the selectable cluster pairs;
an evaluation index calculation unit that obtains the minimum value of each column and each row for each distance matrix, and calculates an evaluation index for each distance matrix based on the number of the obtained minimum values that satisfy a predetermined condition;
a score calculation unit that calculates, for each cluster of each intermediate learning result, a score indicating a degree of similarity between one cluster included in one intermediate learning result and a cluster of another intermediate learning result, based on an evaluation index of the distance matrix calculated for all the learning result pairs;
a stroke count calculation unit that obtains a minimum value of the scores calculated for each cluster of each intermediate learning result, and calculates a maximum value of the obtained minimum values as a stroke count;
a termination determination unit that adds 1 to M to update the value of M when the pixel count is greater than a pixel count threshold, and terminates the process of deleting edges when the pixel count is less than the pixel count threshold;
a learning result selection unit that selects a final learning result from the plurality of intermediate learning results based on the score of each cluster of each intermediate learning result calculated by the score calculation unit when the termination determination unit determines that the process of deleting edges is terminated;
A clustering unit that clusters the final learning result,
Each time the value of M is updated, the edge deletion processing unit, the distance matrix calculation unit, the score calculation unit, the pixel number calculation unit, and the end determination unit repeat the process.
Information processing device.
請求項1に記載の情報処理装置。 The degree of separation of the clusters is 0 when the cluster to which the edge of interest belongs is not separated into two clusters after the edge is deleted, and has a value other than 0 when the cluster is separated.
The information processing device according to claim 1 .
請求項2に記載の情報処理装置。 The degree of separation of the clusters has a positive or negative value when the cluster to which the edge of interest belongs is separated into two clusters.
The information processing device according to claim 2 .
請求項3に記載の情報処理装置。 When the cluster to which the edge of interest belongs is separated into two clusters, the closer the numbers of nodes in the two separated clusters are, the larger the degree of separation of the clusters becomes if the degree of separation is a positive value, and the smaller the degree of separation becomes if the degree of separation is a negative value.
The information processing device according to claim 3 .
請求項3又は4に記載の情報処理装置。 When the cluster to which the edge of interest belongs is separated into two clusters, the greater the number of nodes contained in the two separated clusters, the larger the degree of separation of the clusters becomes if the value is positive, and the smaller the value becomes if the value is negative.
5. The information processing device according to claim 3.
全ての距離行列について算出した評価指数に基づいて、前記2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタ間の全てのペアについての評価指数で構成される評価指数行列を生成し、
前記評価指数行列に含まれる評価指数に基づいて、1つの学習結果に含まれるクラスタが他の学習結果のクラスタに似ているかを示す得点を算出し、
全ての学習結果に属するクラスタについての得点を含む得点行列を生成し、
前記学習結果選択部は、前記得点行列に基づいて、前記複数の中間学習結果から最終学習結果を選択する、
請求項1乃至6のいずれか一項に記載の情報処理装置。 The score calculation unit:
generating an evaluation index matrix composed of evaluation indexes for all pairs between two clusters selected one by one from each of the two intermediate learning results based on the evaluation indexes calculated for all distance matrices;
calculating a score indicating whether a cluster included in one learning result is similar to a cluster of another learning result based on the evaluation indexes included in the evaluation index matrix;
Generate a score matrix including scores for the clusters belonging to all the learning results;
the learning result selection unit selects a final learning result from the plurality of intermediate learning results based on the score matrix.
The information processing device according to claim 1 .
前記2つのクラスタのそれぞれに属するノード間の平均的距離を求め、求めた2つの平均的距離の平均値を求め、
各距離行列の各列及び各行の前記最小値のうちで、前記平均値以上のものの個数に基づいて各距離行列にかかる評価指数を算出する、
請求項7に記載の情報処理装置。 The evaluation index calculation unit is
calculating an average distance between nodes belonging to each of the two clusters, and calculating an average value of the two calculated average distances;
Calculating an evaluation index for each distance matrix based on the number of minimum values equal to or greater than the average value among the minimum values in each column and each row of each distance matrix;
The information processing device according to claim 7.
請求項8に記載の情報処理装置。 The evaluation index is a value obtained by dividing the number of the minimum values in each column and each row of each distance matrix that are equal to or greater than the average value by the total number of nodes belonging to the two clusters.
The information processing device according to claim 8.
請求項7又は8に記載の情報処理装置。 the score calculation unit compares each evaluation index included in the evaluation index matrix with a threshold, assigns a score based on a comparison result, and calculates a total score for each cluster.
9. The information processing device according to claim 7 or 8.
請求項10に記載の情報処理装置。 the learning result selection unit obtains a minimum value among the total scores of clusters belonging to each intermediate learning result, and selects the intermediate learning result corresponding to the maximum value among the obtained minimum values.
The information processing device according to claim 10.
前記コンピュータが、
同じ入力データに対して複数の教師なし学習方法によって学習して得られた複数の初期学習結果を取得し、
前記複数の初期学習結果から1つの初期学習結果を順に選択し、選択された前記1つの初期学習結果から順に1つのクラスタを選択し、
選択されたクラスタ含まれる複数の辺のそれぞれを順に注目辺として選択し、前記注目辺よりも長い辺を前記ネットワーク構造から削除した場合と、前記注目辺以上の長さの辺を前記ネットワーク構造から削除した場合と、におけるクラスタの分離度合いを算出し、
各注目辺について算出したクラスタ分離度合いに基づいて、M番目に大きなクラスタ分離度合いに対応する注目辺の長さである長さ閾値以上の辺を前記選択されたクラスタから削除し、
辺削除後の前記複数の初期学習結果である複数の中間学習結果から選択可能な2つの中間学習結果からなる学習結果ペアを選択し、選択した2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタからなるクラスタペアを選択し、選択可能なクラスタペアの全てについて、一方のクラスタに属するノードと他方のクラスタに属するノードとの間の距離を示す距離行列を算出し、
各距離行列について各列及び各行の最小値を取得し、取得した前記最小値のうちで所定条件を満たすものの個数に基づいて各距離行列にかかる評価指数を算出し、
全ての前記学習結果ペアについて算出した距離行列の評価指数に基づいて、各中間学習結果の各クラスタについて、1つの中間学習結果に含まれる1つのクラスタと、他の中間学習結果のクラスタとが類似している度合いを示す得点を算出し、
各中間学習結果の各クラスタについて算出した前記得点のうちの最小値を取得し、取得した複数の前記最小値のうちの最大値を画一度として算出し、
前記画一度が画一度閾値よりも大きい場合にMに1を加算してMの値を更新し、前記画一度が画一度閾値よりも小さい場合に辺を削除する処理を終了し、
辺を削除する処理を終了すると判定した場合に、算出された各中間学習結果の各クラスタの得点に基づいて、前期複数の中間学習結果から最終学習結果を選択し、
前記最終学習結果をクラスタリングし、
前記Mの値が更新されるごとに、前記辺の削除、前記距離行列の算出、前記得点の算出、前記画一度の算出及び前記終了の判定を繰り返す、
情報処理方法。 1. An information processing method executed by a computer, comprising: inputting an input vector in sequence; and learning an input distribution structure of the input vector as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of edges connecting two of the nodes are arranged, the method comprising:
The computer,
Obtaining a plurality of initial learning results obtained by learning the same input data using a plurality of unsupervised learning methods;
selecting one initial learning result from the plurality of initial learning results in order, and selecting one cluster from the selected one initial learning result in order;
selecting each of a plurality of edges included in the selected cluster as an edge of interest in turn, and calculating the degree of separation of the clusters when an edge longer than the edge of interest is deleted from the network structure and when an edge longer than or equal to the edge of interest is deleted from the network structure;
based on the calculated cluster separation degree for each edge of interest, delete edges having a length equal to or greater than a length threshold, the length of the edge of interest corresponding to the Mth largest cluster separation degree, from the selected cluster;
selecting a learning result pair consisting of two selectable intermediate learning results from the intermediate learning results that are the initial learning results after the edge deletion, selecting a cluster pair consisting of two clusters, one selected from each of the two selected intermediate learning results, and calculating a distance matrix indicating the distance between a node belonging to one cluster and a node belonging to the other cluster for all of the selectable cluster pairs;
obtaining a minimum value for each column and row of each distance matrix, and calculating an evaluation index for each distance matrix based on the number of the obtained minimum values that satisfy a predetermined condition;
calculating, for each cluster in each intermediate learning result, a score indicating a degree of similarity between one cluster included in one intermediate learning result and a cluster in another intermediate learning result, based on the evaluation index of the distance matrix calculated for all of the learning result pairs;
A minimum value of the scores calculated for each cluster of each intermediate learning result is obtained, and a maximum value of the obtained minimum values is calculated as a pixel count;
if the pixel count is greater than a pixel count threshold, add 1 to M to update the value of M, and if the pixel count is less than a pixel count threshold, end the process of deleting edges;
When it is determined that the process of deleting edges is to be terminated, a final learning result is selected from the multiple intermediate learning results for the previous period based on the calculated scores of each cluster of each intermediate learning result;
Clustering the final learning result;
Each time the value of M is updated, the deletion of the edge, the calculation of the distance matrix, the calculation of the score, the calculation of the pixel number, and the determination of the end are repeated.
Information processing methods.
同じ入力データに対して複数の教師なし学習方法によって学習して得られた複数の初期学習結果を取得する処理と、
前記複数の初期学習結果から1つの初期学習結果を順に選択し、選択された前記1つの初期学習結果から順に1つのクラスタを選択する処理と、
選択されたクラスタ含まれる複数の辺のそれぞれを順に注目辺として選択し、前記注目辺よりも長い辺を前記ネットワーク構造から削除した場合と、前記注目辺以上の長さの辺を前記ネットワーク構造から削除した場合と、におけるクラスタの分離度合いを算出する処理と、
各注目辺について算出したクラスタ分離度合いに基づいて、M番目に大きなクラスタ分離度合いに対応する注目辺の長さである長さ閾値以上の辺を前記選択されたクラスタから削除する処理と、
辺削除後の前記複数の初期学習結果である複数の中間学習結果から選択可能な2つの中間学習結果からなる学習結果ペアを選択し、選択した2つの中間学習結果のそれぞれから1つずつ選択した2つのクラスタからなるクラスタペアを選択し、選択可能なクラスタペアの全てについて、一方のクラスタに属するノードと他方のクラスタに属するノードとの間の距離を示す距離行列を算出する処理と、
各距離行列について各列及び各行の最小値を取得し、取得した前記最小値のうちで所定条件を満たすものの個数に基づいて各距離行列にかかる評価指数を算出する処理と、
全ての前記学習結果ペアについて算出した距離行列の評価指数に基づいて、各中間学習結果の各クラスタについて、1つの中間学習結果に含まれる1つのクラスタと、他の中間学習結果のクラスタとが類似している度合いを示す得点を算出する処理と、
各中間学習結果の各クラスタについて算出した前記得点のうちの最小値を取得し、取得した複数の前記最小値のうちの最大値を画一度として算出する処理と、
前記画一度が画一度閾値よりも大きい場合にMに1を加算してMの値を更新し、前記画一度が画一度閾値よりも小さい場合に辺を削除する処理を終了する処理と、
辺を削除する処理を終了すると判定した場合に、算出された各中間学習結果の各クラスタの得点に基づいて、前期複数の中間学習結果から最終学習結果を選択する処理と、
前記最終学習結果をクラスタリングする処理と、をコンピュータに実行させ、
前記Mの値が更新されるごとに、前記辺を削除する処理、前記距離行列を算出する処理、前記得点を算出する処理、前記画一度を算出する処理及び前記終了を判定する処理が繰り返される、
プログラム。 A program for causing a computer to perform a process of sequentially inputting an input vector and learning an input distribution structure of the input vector as a network structure in which a plurality of nodes described by a multidimensional vector and a plurality of edges connecting two of the nodes are arranged, the program comprising:
A process of acquiring a plurality of initial learning results obtained by learning the same input data using a plurality of unsupervised learning methods;
a process of sequentially selecting one initial learning result from the plurality of initial learning results and sequentially selecting one cluster from the selected one initial learning result;
a process of sequentially selecting each of a plurality of edges included in the selected cluster as an edge of interest, and calculating a degree of separation of the cluster when an edge longer than the edge of interest is deleted from the network structure, and when an edge longer than the edge of interest is deleted from the network structure;
a process of deleting edges from the selected cluster, the edges having a length equal to or greater than a length threshold, the length being the edge of interest corresponding to the Mth largest degree of cluster separation, based on the degree of cluster separation calculated for each edge of interest;
a process of selecting a learning result pair consisting of two selectable intermediate learning results from a plurality of intermediate learning results that are the plurality of initial learning results after edge deletion, selecting a cluster pair consisting of two clusters selected one from each of the two selected intermediate learning results, and calculating a distance matrix indicating the distance between a node belonging to one cluster and a node belonging to the other cluster for all of the selectable cluster pairs;
A process of obtaining the minimum value of each column and each row for each distance matrix, and calculating an evaluation index for each distance matrix based on the number of the obtained minimum values that satisfy a predetermined condition;
a process of calculating, for each cluster of each intermediate learning result, a score indicating a degree of similarity between one cluster included in one intermediate learning result and a cluster of another intermediate learning result, based on an evaluation index of the distance matrix calculated for all the learning result pairs;
A process of obtaining a minimum value of the scores calculated for each cluster of each intermediate learning result, and calculating a maximum value of the obtained minimum values as a pixel count;
updating the value of M by adding 1 if the pixel count is greater than a pixel count threshold, and terminating the process of deleting edges if the pixel count is less than the pixel count threshold;
a process of selecting a final learning result from the multiple intermediate learning results in the previous period based on the calculated scores of each cluster of each intermediate learning result when it is determined that the process of deleting edges is to be terminated;
A process of clustering the final learning result.
Each time the value of M is updated, the process of deleting the edge, the process of calculating the distance matrix, the process of calculating the score, the process of calculating the pixel count, and the process of determining whether the edge has been deleted are repeated.
program.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2022/009043 WO2023166645A1 (en) | 2022-03-03 | 2022-03-03 | Information processing device, information processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2023166645A1 JPWO2023166645A1 (en) | 2023-09-07 |
| JP7659766B2 true JP7659766B2 (en) | 2025-04-10 |
Family
ID=87883263
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024504118A Active JP7659766B2 (en) | 2022-03-03 | 2022-03-03 | Information processing device, information processing method, and program |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7659766B2 (en) |
| WO (1) | WO2023166645A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118054971B (en) * | 2024-04-11 | 2024-06-21 | 南京中科齐信科技有限公司 | An isolation system based on intelligent analysis of industrial network communication behavior |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014164396A (en) | 2013-02-22 | 2014-09-08 | Tokyo Institute Of Technology | Information processing apparatus, information processing method and program |
| JP2019125078A (en) | 2018-01-15 | 2019-07-25 | ヤフー株式会社 | Information processor and information processing method and program |
| CN113343565A (en) | 2021-05-31 | 2021-09-03 | 南京图申图信息科技有限公司 | Neighborhood effect mode construction and CA simulation method and system considering spatial heterogeneity |
-
2022
- 2022-03-03 JP JP2024504118A patent/JP7659766B2/en active Active
- 2022-03-03 WO PCT/JP2022/009043 patent/WO2023166645A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014164396A (en) | 2013-02-22 | 2014-09-08 | Tokyo Institute Of Technology | Information processing apparatus, information processing method and program |
| JP2019125078A (en) | 2018-01-15 | 2019-07-25 | ヤフー株式会社 | Information processor and information processing method and program |
| CN113343565A (en) | 2021-05-31 | 2021-09-03 | 南京图申图信息科技有限公司 | Neighborhood effect mode construction and CA simulation method and system considering spatial heterogeneity |
Non-Patent Citations (1)
| Title |
|---|
| 井上浩孝、外1名,アンサンブル自己生成ニューラルネットワークの効率的なオンライン枝刈り法,FIT2004第3回情報科学技術フォーラム一般講演論文集 第2分冊,日本,2004年08月20日,pp.425-426 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2023166645A1 (en) | 2023-09-07 |
| WO2023166645A1 (en) | 2023-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115315703A (en) | Generating an integrated circuit layout using a neural network | |
| CN105523460B (en) | Elevator installation diagram generating means and elevator installation drawing generating method | |
| Müller et al. | A quantitative comparison between size, shape, topology and simultaneous optimization for truss structures | |
| CN114254636B (en) | Text processing methods, apparatus, devices and storage media | |
| CN110084364B (en) | Deep neural network compression method and device | |
| JP7659766B2 (en) | Information processing device, information processing method, and program | |
| US11461656B2 (en) | Genetic programming for partial layers of a deep learning model | |
| CN113658338B (en) | Point cloud tree monomer segmentation method, device, electronic device and storage medium | |
| CN118550708A (en) | Task execution method, device, equipment and storage medium for large language model | |
| EP3663991B1 (en) | Data amount compression method, device, program and ic chip | |
| JP7511278B2 (en) | Information processing device, information processing method, and program | |
| CN107203916B (en) | User credit model establishing method and device | |
| JP6494005B1 (en) | Information processing apparatus, information processing method, and program | |
| JP7489731B2 (en) | Clustering processing device, clustering processing method, program, and information processing device | |
| WO2024161501A1 (en) | Information processing device, information processing method, and program | |
| WO2022145088A1 (en) | Information processing device, information processing method, and non-transitory computer-readable medium | |
| CN119203983A (en) | Multi-level batch text parallel deduplication method, system, device and storage medium | |
| CN110008994A (en) | P-CFSFDP Density Clustering method based on the operation of Spark platform | |
| CN117312550B (en) | Text clustering methods, devices, computer equipment and storage media | |
| US8271518B2 (en) | Nearest neighbor search method | |
| JP7489730B2 (en) | Information processing device, information processing method, and program | |
| JP7615608B2 (en) | Similar character string detection device, method, program, and system | |
| CN113988185A (en) | Data processing method and related device | |
| Bezerra et al. | Recent advances in gene expression data clustering: a case study with comparative results | |
| US20190286639A1 (en) | Clustering program, clustering method, and clustering apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240501 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250107 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250226 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250318 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250319 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7659766 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |