WO2020170358A1 - テンソル分解処理システム、方法およびプログラム - Google Patents

テンソル分解処理システム、方法およびプログラム Download PDF

Info

Publication number
WO2020170358A1
WO2020170358A1 PCT/JP2019/006301 JP2019006301W WO2020170358A1 WO 2020170358 A1 WO2020170358 A1 WO 2020170358A1 JP 2019006301 W JP2019006301 W JP 2019006301W WO 2020170358 A1 WO2020170358 A1 WO 2020170358A1
Authority
WO
WIPO (PCT)
Prior art keywords
tensor
decomposition
tensor decomposition
factors
factor
Prior art date
Application number
PCT/JP2019/006301
Other languages
English (en)
French (fr)
Inventor
圭吾 木村
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/006301 priority Critical patent/WO2020170358A1/ja
Priority to JP2021501201A priority patent/JP7184155B2/ja
Priority to US17/430,858 priority patent/US11789731B2/en
Publication of WO2020170358A1 publication Critical patent/WO2020170358A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Definitions

  • the present invention relates to a tensor decomposition processing system that executes tensor decomposition for a given tensor, a tensor decomposition processing method, and a tensor decomposition processing program.
  • Patent Document 1 describes that a model for estimating the costs of a plurality of elements forming a network is obtained by tensor decomposition.
  • -Data analysis may be performed based on the factors obtained by executing tensor decomposition on the tensor. However, a factor suitable for data analysis is not always obtained by one tensor decomposition.
  • an object of the present invention is to provide a tensor decomposition processing system, a tensor decomposition processing method, and a tensor decomposition processing program capable of comprehensively obtaining factors obtained by tensor decomposition for a given tensor.
  • the tensor decomposition processing system determines a decomposition execution unit that executes tensor decomposition for a given tensor multiple times until a predetermined termination condition is satisfied, and determines whether a predetermined termination condition is satisfied. And a condition determination unit for performing the tensor decomposition on the tensor, when the decomposition execution unit executes a tensor decomposition on the tensor, there is a constraint that a factor different from the factor obtained by the tensor decomposition executed before the tensor decomposition is obtained. Is characterized by executing the tensor decomposition.
  • a computer executes tensor decomposition for a given tensor a plurality of times until a predetermined end condition is satisfied, and determines whether or not a predetermined end condition is satisfied. ,
  • the tensor decomposition is executed under the constraint that a factor different from the factor obtained by the tensor decomposition executed before the tensor decomposition is obtained.
  • the tensor decomposition processing program is configured such that a computer executes a decomposition execution process for executing a tensor decomposition for a given tensor a plurality of times until a predetermined termination condition is satisfied, and whether a predetermined termination condition is satisfied.
  • a condition determination process is performed to determine whether or not the computer causes the tensor decomposition to be performed on the tensor in the decomposition execution process
  • the factor is different from the factor obtained by the tensor decomposition performed before the tensor decomposition. It is characterized in that the tensor decomposition is executed under the constraint of obtaining a factor.
  • Tensor decomposition is to express a tensor by a combination of factors for expressing a tensor having a lower rank.
  • CP Canonical Polyadic decomposition
  • tensor decomposition is demonstrated using CP decomposition as an example.
  • Tensors that are subject to tensor decomposition are tensors of the second or higher order.
  • the tensor to be the target of tensor decomposition is represented by X.
  • X the tensor to be the target of tensor decomposition
  • Tensor X can be approximated by the following equation (1).
  • Equation (1) A, B, and C are matrices, and if X is a third-order tensor, then X is approximated using three matrices A, B, and C. If X is an Nth order tensor, then it is approximated using N matrices.
  • the value attached to the lower left of the matrices A, B, and C indicates from which direction the matrix is multiplied with respect to the core tensor I. This point is the same in the examples described later.
  • I is a core tensor, and the elements of the core tensor I are expressed as shown below.
  • A is a matrix with I 1 rows and J columns.
  • B is a matrix of I 2 rows and J columns.
  • C is a matrix of I 3 rows and J columns. Therefore, the number of columns of each matrix used for the approximation of the tensor is common, and here the number of columns is J.
  • the matrix or the column vector may be illustrated in a transposed state for convenience.
  • the combination of column vectors of corresponding columns in multiple matrices used for tensor approximation is called a factor.
  • the combination of the first column vector of A, the first column vector of B, and the first column vector of C is one factor.
  • a combination of the second column vector of A, the second column vector of B, and the second column vector of C is one factor.
  • a combination of the column vector of the Jth column of A, the column vector of the Jth column of B, and the column vector of the Jth column of C is one factor.
  • the first column, the second column, and the Jth column of each matrix have been described as an example. However, with respect to other columns, the factors are determined for each column.
  • the matrices A, B, and C include J column vectors from the first column vector to the Jth column vector. Therefore, J factors are obtained.
  • a tensor having a rank lower than X can be obtained by calculating the outer product of the column vectors included in one factor. For example, when the column vector of the first column of A is A 1 , the column vector of the first column of B is B 1 , and the column vector of the first column of C is C 1 , the tensor is calculated by the following outer product calculation. can get.
  • the tensor X which is the target of tensor decomposition, can be approximated by the sum of each tensor obtained from J factors. This is schematically shown in FIG.
  • tensor decomposition is to express a tensor with a combination of factors for expressing a tensor with a lower rank.
  • the combination of J factors obtained by tensor decomposition for one tensor X is not limited to one.
  • the factor number J is a predetermined value.
  • the present invention aims to be able to comprehensively find factors obtained by tensor decomposition for a given tensor.
  • FIG. 3 is a block diagram showing an example of a tensor decomposition processing system according to the first embodiment of the present invention.
  • the tensor decomposition processing system 1 of the present invention includes an input unit 2, a decomposition execution unit 3, a decomposition result storage unit 4, a condition determination unit 5, and an output unit 6.
  • the input unit 2 is a tensor X to be subjected to tensor decomposition, the number J of factors to be obtained by one tensor decomposition, a weight ⁇ , and a termination condition for the tensor decomposition that the decomposition executing unit 3 repeatedly executes on the tensor X.
  • the input unit 2 inputs a tensor X, a number J of factors obtained by one tensor decomposition, a weight ⁇ , and a termination condition from a data recording medium, such as a data reading device (eg, optical disk drive). It may be a device.
  • Tensor X that is the target of tensor decomposition is a tensor of the second or higher order.
  • the weight ⁇ is used in the constraint when the decomposition execution unit 3 executes the tensor decomposition for the tensor X. This restriction will be described later.
  • the decomposition execution unit 3 executes tensor decomposition on the input tensor X multiple times until the end condition is satisfied.
  • the decomposition executing unit 3 may execute CP decomposition as tensor decomposition.
  • the decomposition execution unit 3 obtains a factor different from the factor obtained by the tensor decomposition of the tensor X executed before the tensor decomposition when executing the tensor decomposition on the tensor X. Then, perform tensor decomposition. For example, when the second tensor factorization is performed on the tensor X, the factorization execution unit 3 obtains a factor different from the factor obtained by the first tensor factorization on the tensor X. Perform the second tensor decomposition.
  • the decomposition execution unit 3 obtains a factor different from the factors obtained by the first and second tensor decompositions for the tensor X. First, the third tensor decomposition is executed. Therefore, the decomposition execution unit 3 obtains different factors for each tensor decomposition for the tensor X.
  • the constraint when the decomposition execution unit 3 executes the Tth tensor decomposition for the tensor X can be expressed as in the following Expression (3).
  • the following expression (5) included in the above expression (3) shows how different the factor obtained by the t-th tensor decomposition is from the factor obtained by each tensor decomposition before the (t-1)th time. Is showing.
  • Equation (5) The smaller the value of Equation (5), the more different the factor obtained by the tensor decomposition at the t-th time and the factor obtained by the tensor decomposition at each time before the t-1th time. Further, the larger the value of the equation (5), the more similar the factor obtained by the t-th tensor decomposition to the factor obtained by each tensor decomposition before the (t-1)th time.
  • ⁇ ( ⁇ A ( ⁇ ) , B ( ⁇ ) , C ( ⁇ ) ⁇ , ⁇ A (t) , B (t) , C (t) ⁇ ) (hereinafter simply referred to as calculation ⁇ .) is a calculation such that a smaller value is obtained as the factor obtained by the tensor decomposition at the t-th time is different from a factor obtained by the tensor decomposition before the t-1th time, and a larger value is obtained as the factors are similar. is there.
  • a represented by adding a subscript to the lower right means a column vector of the matrix A, and the subscript at the lower right of the A indicates the column vector of the matrix A. Showing. For example, “A k (t) ” shown in Expression (6) represents the k- th column vector in the matrix A obtained by the t-th tensor decomposition.
  • B and C which are shown with subscripts in the lower right. That is, B and C represented by subscripts in the lower right represent column vectors.
  • Expression (3) represents a constraint that matrixes A, B, and C that minimize the sum of Expressions (4) and (5) are obtained. Note that obtaining the matrices A, B, and C is synonymous with obtaining J factors.
  • the constraint represented by the equation (3) means that in the T-th tensor decomposition, a factor that can approximate the tensor X is determined, and a factor different from the factor obtained by the previous tensor decomposition is determined. .. Further, the weight ⁇ input to the input unit 2 is a weight related to the constraint that a factor different from the factor obtained by the previous tensor decomposition is obtained.
  • the decomposition execution unit 3 updates the constraint of tensor decomposition by setting the value of “T” in Expression (3) according to the number of times of tensor decomposition for the tensor X. For example, if the next tensor decomposition is the Sth tensor decomposition, the decomposition executing unit 3 updates the constraint by substituting S for “T” in Expression (3).
  • the decomposition execution unit 3 causes the decomposition result storage unit 4 to store a factor obtained as a result of the tensor decomposition every time the tensor decomposition is performed on the tensor X.
  • the decomposition result storage unit 4 is a storage device that stores factors obtained as a result of tensor decomposition.
  • the condition determination unit 5 determines whether or not the termination condition for the tensor decomposition that the decomposition execution unit 3 repeatedly executes for the tensor X is satisfied. After it is determined that the termination condition is satisfied, the decomposition execution unit 3 does not perform tensor decomposition on the tensor X.
  • An example of the termination condition is that the number of tensor decompositions executed by the decomposition executing unit 3 for the tensor X has reached a predetermined number.
  • the latest tensor decomposition with respect to the tensor X cannot obtain J factors whose value of the above-mentioned expression (4) is equal to or less than a threshold value ( ⁇ ).
  • a threshold value
  • J factors whose value in equation (4) is less than or equal to threshold value ⁇ could not be obtained means that the accuracy of approximation of tensor X by the obtained factors is unacceptable. It means that it has fallen to.
  • the threshold value ⁇ may be set in advance.
  • the latest tensor decomposition with respect to the tensor X could not obtain J factors whose value of the above-mentioned expression (5) is equal to or less than a threshold value ( ⁇ ).
  • a threshold value
  • J factors whose value in equation (5) is less than or equal to the threshold value ⁇ could not be obtained is a factor different from the factor obtained by the tensor factorization performed so far. Means that no longer can be obtained.
  • the threshold ⁇ may be set in advance.
  • the termination condition may be a condition other than the conditions exemplified above.
  • the termination condition is determined in advance and input to the input unit 2.
  • the output unit 6 outputs each factor (each factor obtained by each tensor factorization) stored in the factorization result storage unit 4 after it is determined that the termination condition is satisfied. For example, the output unit 6 displays each factor on a display device (not shown in FIG. 3) included in the tensor decomposition processing system 1.
  • the decomposition execution unit 3, the condition determination unit 5, and the output unit 6 are realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to a tensor decomposition processing program.
  • the CPU may read the tensor decomposition processing program from a program recording medium such as a program storage device of a computer, and operate as the decomposition execution unit 3, the condition determination unit 5, and the output unit 6 according to the tensor decomposition processing program.
  • the decomposition result storage unit 4 is realized by, for example, a storage device included in the computer.
  • FIG. 4 is a flowchart showing an example of processing progress of the tensor decomposition processing system according to the first embodiment of this invention.
  • the tensor X, the number J of factors obtained by one tensor decomposition, the weight ⁇ , and the termination condition are input to the input unit 2 (step S1).
  • the decomposition execution unit 3 executes tensor decomposition for the tensor X (step S2).
  • the decomposition executing unit 3 may execute the tensor decomposition for the tensor X without restriction.
  • J factors are obtained by one tensor decomposition for X.
  • the decomposition execution unit 3 stores the J factors obtained by the tensor decomposition in step S2 in the decomposition result storage unit 4 (step S3).
  • the decomposition execution unit 3 defines the next tensor decomposition constraint for the tensor X (step S4). If the next tensor decomposition (step S2) for the tensor X is the Sth tensor decomposition (step S2), the decomposition executing unit 3 substitutes S for “T” in the equation (3) representing the constraint. , Define the constraints for the next tensor decomposition. For example, if the next tensor decomposition is the second tensor decomposition, the constraint in the next step S2 is determined by substituting 2 for "T" in the equation (3) representing the constraint.
  • step S4 the condition determination unit 5 determines whether or not the end condition input in step S1 is satisfied (step S5).
  • step S5 the disassembly execution unit 3 repeats the processing from step S2.
  • the decomposition executing unit 3 executes the tensor decomposition for the tensor X again under the constraint defined in the latest step S4. That is, the decomposition execution unit 3 executes the tensor decomposition on the tensor X again under the constraint that a factor different from the factor obtained in the tensor decomposition so far (in other words, step S2 so far) is obtained. To do.
  • the tensor decomposition processing system 1 repeats the processing of steps S2 to S5 until it is determined in step S5 that the termination condition is satisfied.
  • the output unit 6 When it is determined that the termination condition is satisfied (Yes in step S5), the output unit 6 outputs each factor stored in the decomposition result storage unit 4 (step S6). For example, the output unit 6 displays each factor on a display device (not shown in FIG. 3) included in the tensor decomposition processing system 1. Hereinafter, the case where the output unit 6 displays each factor on the display device will be described as an example.
  • the output unit 6 may display a graph based on each column vector included in one factor.
  • FIG. 5 shows an example of a graph displayed based on each column vector included in the factor.
  • one factor includes three column vectors, and three graphs are displayed based on one factor.
  • the tensor decomposition processing system 1 repeats the processing of steps S2 to S5 until it is determined that the termination condition is satisfied. Then, in step S2, the decomposition execution unit 3 executes the tensor decomposition on the tensor X under the constraint that a factor different from the factors obtained by the tensor decomposition so far is obtained. Therefore, according to the present embodiment, the factors obtained by the tensor decomposition with respect to the given tensor X can be comprehensively obtained.
  • the analyst can confirm each factor obtained exhaustively and select the appropriate factor for data analysis. That is, the analyst can obtain factors suitable for data analysis. Further, when confirming the individual factors, the analyst may determine the appropriate factors for the data analysis by confirming the graph displayed as illustrated in FIG.
  • FIG. 6 is a block diagram showing an example of a tensor decomposition processing system according to the second embodiment of the present invention.
  • the same elements as those in the first embodiment are designated by the same reference numerals as those in FIG. 3, and the description thereof will be omitted.
  • the tensor decomposition processing system 1 includes an input unit 2, a decomposition execution unit 3, a decomposition result storage unit 4, a condition determination unit 5, a clustering unit 7, an ordering unit 8, and an output unit 6.
  • the input unit 2, the disassembly execution unit 3, the disassembly result storage unit 4, and the condition determination unit 5 are the same as those elements in the first embodiment, and a description thereof will be omitted.
  • the clustering unit 7 performs clustering on the factors obtained until it is determined that the end condition is satisfied, and classifies a plurality of factors into clusters.
  • a single tensor decomposition for tensor X yields J factors.
  • J ⁇ P factors are obtained, and these factors are stored in the factorization result storage unit 4.
  • the clustering unit 7 reads each factor from the decomposition result storage unit 4 and classifies the factor into a plurality of clusters.
  • the clustering unit 7 clusters the factors read from the decomposition result storage unit 4 so that similar factors belong to the same cluster.
  • a method of clustering so that similar factors belong to the same cluster there is a k-means method, for example.
  • the clustering unit 7 may cluster the factors read from the decomposition result storage unit 4 (in other words, a plurality of factors obtained by a plurality of tensor decompositions of the tensor X) by the k-means method.
  • the ordering unit 8 orders the factors belonging to the cluster for each cluster obtained by the clustering unit 7.
  • the criterion for ordering factors is the degree to which they contribute to the approximation of a given tensor X. That is, the ordering unit 8 orders the factors belonging to the cluster in descending order of the degree of contribution to the approximation of the given tensor X.
  • Y be a tensor obtained from the factor under consideration.
  • Y is obtained by calculating the outer product of each column vector included in the factor.
  • the degree of contribution to the approximation of the tensor X can be expressed as
  • the ordering unit 8 calculates
  • the output unit 6 displays each factor stored in the decomposition result storage unit 4 on the display device (not shown in FIG. 6).
  • the output unit 6 displays, for each cluster, the factors belonging to the cluster on the display device. At this time, the output unit 6 displays the factors on the display device in the order ordered by the ordering unit 8 in each cluster.
  • the decomposition execution unit 3, the condition determination unit 5, the clustering unit 7, the ordering unit 8, and the output unit 6 are realized by, for example, a CPU of a computer that operates according to a tensor decomposition processing program.
  • the CPU reads a tensor decomposition processing program from a program recording medium such as a program storage device of a computer, and according to the tensor decomposition processing program, the decomposition execution unit 3, the condition determination unit 5, the clustering unit 7, the ordering unit 8, and the output unit. It is sufficient to operate as 6.
  • FIG. 7 is a flowchart showing an example of processing progress of the tensor decomposition processing system according to the second embodiment of the present invention. Steps S1 to S5 are the same as steps S1 to S5 of the first embodiment, and a description thereof will be omitted.
  • step S5 the clustering unit 7 clusters the factors obtained by the tensor decomposition into the tensor X multiple times (step S11). Specifically, the clustering unit 7 reads the factors stored in the decomposition result storage unit 4 and clusters the factors. The clustering unit 7 may cluster the factors by, for example, the k-means method. As a result of step S11, a plurality of clusters are obtained. Then, similar factors belong to each cluster.
  • the ordering unit 8 orders, for each cluster obtained in step S11, factors belonging to the cluster in descending order of contribution to the approximation of the tensor X (step S12).
  • the ordering unit 8 calculates
  • the output unit 6 displays each factor stored in the decomposition result storage unit 4 on the display device. Further, the output unit 6 displays, for each cluster, the factors belonging to the cluster on the display device. At this time, the output unit 6 displays the factors on the display device in the order ordered by the ordering unit 8 in each cluster (step S13).
  • step S13 when the process of displaying the factors on the display device in the ordered order is performed for each cluster, the process of displaying each factor on the display device may be omitted regardless of the cluster.
  • the output unit 6 may display a graph based on each column vector included in one factor.
  • the same effect as that of the first embodiment can be obtained. Furthermore, according to the second embodiment, since similar factors are classified into the same cluster, the easiness of interpreting the factors can be improved. It also has the effect of making it easier for the analyst to understand the overall picture of the data.
  • the ordering unit 8 orders the factors belonging to the clusters for each cluster in descending order of the degree of contribution to the approximation of the tensor X.
  • the analyst can be shown which factors are important.
  • FIG. 8 is a schematic block diagram showing a configuration example of a computer according to the tensor decomposition processing system 1 of each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, a display device 1005, and an input device 1006.
  • the tensor decomposition processing system 1 of each embodiment of the present invention is realized by a computer 1000.
  • the operation of the tensor decomposition processing system 1 is stored in the auxiliary storage device 1003 in the form of a tensor decomposition processing program.
  • the CPU 1001 reads the tensor decomposition processing program from the auxiliary storage device 1003, expands it in the main storage device 1002, and executes the processing described in each of the above embodiments according to the tensor decomposition processing program.
  • the auxiliary storage device 1003 is an example of a non-transitory tangible medium.
  • a non-transitory tangible medium a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory) connected via the interface 1004, A semiconductor memory etc. are mentioned. Further, when this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution expands the program in the main storage device 1002 and executes the processing described in each of the above-described embodiments according to the program. Good.
  • the program may be for realizing a part of the above-mentioned processing. Furthermore, the program may be a difference program that realizes the above-described processing in combination with another program already stored in the auxiliary storage device 1003.
  • constituent elements may be realized by a general-purpose or dedicated circuit, a processor, or a combination thereof. These may be configured by a single chip, or may be configured by a plurality of chips connected via a bus. Some or all of the constituent elements may be realized by a combination of the above-described circuits and the like and a program.
  • the plurality of information processing devices, circuits, etc. may be centrally arranged or may be distributed.
  • the information processing device, the circuit, and the like may be realized as a form in which a client and server system, a cloud computing system, and the like are connected to each other via a communication network.
  • FIG. 9 is a block diagram showing an outline of the tensor decomposition processing system of the present invention.
  • the tensor decomposition processing system of the present invention includes a decomposition execution unit 3 and a condition determination unit 5.
  • the decomposition execution unit 3 executes tensor decomposition for a given tensor multiple times until a predetermined termination condition is satisfied.
  • the condition determination unit 5 determines whether or not a predetermined termination condition is satisfied.
  • the decomposition executing unit 3 executes the tensor decomposition on the tensor under the constraint that a factor different from the factor obtained by the tensor decomposition executed before the tensor decomposition is obtained when the tensor decomposition is executed. Execute.
  • the configuration may be such that a clustering unit (for example, clustering unit 7) that clusters the factors obtained by performing tensor decomposition multiple times on a given tensor is provided.
  • a clustering unit for example, clustering unit 7
  • the clustering unit may be configured to cluster the factors by the k-means method.
  • each cluster may be configured to include an ordering unit (for example, the ordering unit 8) that orders the factors belonging to the cluster in the order of contributing to the approximation of the given tensor.
  • an ordering unit for example, the ordering unit 8
  • the ordering unit orders the factors belonging to the clusters in ascending order of
  • the present invention is preferably applied to the acquisition of factors by tensor decomposition.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

与えられたテンソルに対するテンソル分解によって得られる因子を網羅的に求めることができるテンソル分解処理システムを提供する。分解実行部3は、所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行する。条件判定部5は、所定の終了条件が満たされたか否かを判定する。分解実行部3は、テンソルに対してテンソル分解を実行するときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行する。

Description

テンソル分解処理システム、方法およびプログラム
 本発明は、与えられたテンソルに対してテンソル分解を実行するテンソル分解処理システム、テンソル分解処理方法、および、テンソル分解処理プログラムに関する。
 特許文献1には、ネットワークを構成する複数の要素のコストを推定するためのモデルを、テンソル分解によって得ることが記載されている。
特開2018-112884号公報
 テンソルに対してテンソル分解を実行することによって得られる因子に基づいてデータ分析を行うことが考えられる。ただし、1回のテンソル分解で、データ分析に適した因子が得られるとは限らない。
 また、テンソル分解で用いられるパラメータである初期値を変更して、テンソル分解をやり直すことが考えられる。しかし、分析者にとっては、どのような初期値に変更すれば、データ分析に適した因子が得られるのかが分からない。
 そこで、本発明は、与えられたテンソルに対するテンソル分解によって得られる因子を網羅的に求めることができるテンソル分解処理システム、テンソル分解処理方法、および、テンソル分解処理プログラムを提供することを目的とする。
 本発明によるテンソル分解処理システムは、所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行する分解実行部と、所定の終了条件が満たされたか否かを判定する条件判定部とを備え、分解実行部が、テンソルに対してテンソル分解を実行するときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行することを特徴とする。
 本発明によるテンソル分解処理方法は、コンピュータが、所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行し、所定の終了条件が満たされたか否かを判定し、テンソルに対してテンソル分解を実行するときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行することを特徴とする。
 本発明によるテンソル分解処理プログラムは、コンピュータに、所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行する分解実行処理、および、所定の終了条件が満たされたか否かを判定する条件判定処理を実行させ、コンピュータに、分解実行処理で、テンソルに対してテンソル分解を実行させるときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行させることを特徴とする。
 本発明によれば、与えられたテンソルに対するテンソル分解によって得られる因子を網羅的に求めることができる。
テンソルXの近似を示す式(1)を模式的に表した模式図である。 J個の因子から得られる各テンソルの和によるテンソルXの近似を示す模式図である。 本発明の第1の実施形態のテンソル分解処理システムの例を示すブロック図である。 本発明の第1の実施形態のテンソル分解処理システムの処理経過の例を示すフローチャートである。 因子に含まれる各列ベクトルに基づいて表示されるグラフの例を示す模式図である。 本発明の第2の実施形態のテンソル分解処理システムの例を示すブロック図である。 本発明の第2の実施形態のテンソル分解処理システムの処理経過の例を示すフローチャートである。 本発明の各実施形態のテンソル分解処理システムに係るコンピュータの構成例を示す概略ブロック図である。 本発明のテンソル分解処理システムの概要を示すブロック図である。
 まず、テンソル分解について説明する。テンソル分解とは、テンソルを、よりランクの低いテンソルを表現するための因子の組み合わせで表すことである。
 また、テンソル分解の一例として、CP(Canonical Polyadic)分解が挙げられる。以下では、CP分解を例にして、テンソル分解を説明する。
 テンソル分解の対象となるテンソルは、2階以上のテンソルである。以下、テンソル分解の対象となるテンソルをXで表す。また、以下では、説明を簡単にするために、テンソルXが3階のテンソルである場合を例にして説明する。
 テンソルXは、以下に示す式(1)のように近似することができる。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、A,B,Cはそれぞれ行列であり、Xが3階のテンソルであるならば、Xは、3つの行列A,B,Cを用いて近似される。XがN階のテンソルであるならば、Xは、N個の行列を用いて近似される。なお、式(1)において、行列A,B,Cの左下に付した値は、コアテンソルIに対して、行列をどの方向から乗算するのかを示している。この点は、後述の例においても同様である。
 Iは、コアテンソルであり、コアテンソルIの要素は、以下に示すように表される。
Figure JPOXMLDOC01-appb-M000002
 また、以下に示す式(2)が成立しているものとする。
Figure JPOXMLDOC01-appb-M000003
 すなわち、Aは、I行J列の行列である。Bは、I行J列の行列である。Cは、I行J列の行列である。従って、テンソルの近似に用いられる各行列の列数は共通であり、ここでは、その列数をJとしている。ただし、行列や、行列に含まれる列ベクトルを図示する場合において、便宜的に、行列や列ベクトルを転置した状態で図示する場合がある。
 式(1)を模式的に図示すると、図1に示すように表すことができる。図1において、行列B,Cを、便宜的に、転置した状態で図示している。
 テンソルの近似に用いられる複数の行列における、対応する列の列ベクトルの組み合わせを因子と呼ぶ。例えば、Aの1列目の列ベクトル、Bの1列目の列ベクトル、および、Cの1列目の列ベクトルの組み合わせが1つの因子となる。同様に、Aの2列目の列ベクトル、Bの2列目の列ベクトル、および、Cの2列目の列ベクトルの組み合わせが1つの因子となる。また、AのJ列目の列ベクトル、BのJ列目の列ベクトル、および、CのJ列目の列ベクトルの組み合わせが1つの因子となる。ここでは、各行列の1列目、2列目およびJ列目を例にして説明したが、他の列に関しても、列毎に因子が定まる。行列A、B,Cは、1列目の列ベクトルからJ列目の列ベクトルまでのJ個の列ベクトルを含む。従って、J個の因子が得られる。
 また、1つの因子に含まれる列ベクトルの外積計算によって、Xよりもランクが低いテンソルが得られる。例えば、Aの1列目の列ベクトルをA、Bの1列目の列ベクトルをB、および、Cの1列目の列ベクトルをCとすると、以下に示す外積計算によってテンソルが得られる。
Figure JPOXMLDOC01-appb-M000004
 なお、外積計算を、以下に示す記号
Figure JPOXMLDOC01-appb-M000005
で表すこととする。
 J個の因子から得られる各テンソルの和で、テンソル分解の対象となるテンソルXを近似することができる。このことを、模式的に図2に示す。
 既に説明したように、テンソル分解とは、テンソルを、よりランクの低いテンソルを表現するための因子の組み合わせで表すことである。ただし、1つのテンソルXに対するテンソル分解によって得られるJ個の因子の組み合わせは1通りに限定されるわけではない。
 なお、因子数Jは、予め定められた値である。
 前述のように、本発明では、与えられたテンソルに対するテンソル分解によって得られる因子を網羅的に求めることができるようにすることを目的としている。
 以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
 図3は、本発明の第1の実施形態のテンソル分解処理システムの例を示すブロック図である。本発明のテンソル分解処理システム1は、入力部2と、分解実行部3と、分解結果記憶部4と、条件判定部5と、出力部6とを備える。
 入力部2は、テンソル分解の対象となるテンソルXと、1回のテンソル分解によって求める因子の数Jと、重みλと、分解実行部3がテンソルXに対して繰り返し実行するテンソル分解の終了条件とが入力される入力デバイスである。例えば、入力部2は、データ記録媒体からテンソルXと、1回のテンソル分解によって求める因子の数Jと、重みλと、終了条件とを読み込むデータ読み込み装置(例えば、オプティカルディスクドライブ)等の入力デバイスであってもよい。
 テンソル分解の対象となるテンソルXは、2階以上のテンソルである。
 重みλは、分解実行部3がテンソルXに対するテンソル分解を実行する際の制約において用いられる。この制約については、後述する。
 また、終了条件の具体例についても、後述する。
 分解実行部3は、終了条件が満たされるまで、入力されたテンソルXに対して、複数回のテンソル分解を実行する。分解実行部3は、テンソル分解としてCP分解を実行してもよい。
 このとき、分解実行部3は、テンソルXに対してテンソル分解を実行するときに、そのテンソル分解よりも前に実行したテンソルXのテンソル分解によって得られた因子とは異なる因子を得るという制約のもとで、テンソル分解を実行する。例えば、テンソルXに対して2回目のテンソル分解を実行する場合、分解実行部3は、テンソルXに対する1回目のテンソル分解で得られた因子とは異なる因子を得るという制約のもとで、2回目のテンソル分解を実行する。また、例えば、テンソルXに対して3回目のテンソル分解を実行する場合、分解実行部3は、テンソルXに対する1回目や2回目のテンソル分解で得られた因子とは異なる因子を得るという制約のもとで、3回目のテンソル分解を実行する。従って、分解実行部3は、テンソルXに対する各回のテンソル分解でそれぞれ異なる因子を得る。
 以下、分解実行部3がテンソルXに対してテンソル分解を実行する際の制約を具体的に示す。以下に示す例では、前述の例と同様に、Xが3階のテンソルであり、J個の因子を規定する行列の数が3つであるものとする。そして、前述の例と同様に、この3つの行列を行列A,B,Cと記す。行列A,B,Cの列の数は、いずれもJである。
 分解実行部3がテンソルXに対するT回目のテンソル分解を実行するときの制約は、以下に示す式(3)のように表すことができる。
Figure JPOXMLDOC01-appb-M000006
 式(3)において、行列A,B,Cの右上に括弧付きで示した添え字は、Xに対する何回目のテンソル分解で得られた行列であるかを示している。例えば、A(t),B(t),C(t)は、Xに対するt回目のテンソル分解で得られた行列A,B,Cを意味している。
 上記の式(3)に含まれている以下の式(4)は、テンソル分解によって得られる因子によって元のテンソルXがどの程度近似できるかを示している。
Figure JPOXMLDOC01-appb-M000007
 式(4)の値が小さいほど、テンソル分解によって得られる因子によって元のテンソルXが近似できることを表わし、式(4)の値が大きい程、テンソル分解によって得られる因子によるテンソルXの近似の精度が低いことを表わしている。
 上記の式(3)に含まれている以下の式(5)は、t回目のテンソル分解で得られる因子と、t-1回目以前の各回のテンソル分解で得られた因子とがどの程度異なっているかを示している。
Figure JPOXMLDOC01-appb-M000008
 式(5)の値が小さいほど、t回目のテンソル分解で得られる因子と、t-1回目以前の各回のテンソル分解で得られた因子とが異なっていることを表わす。また、式(5)の値が大きいほど、t回目のテンソル分解で得られる因子と、t-1回目以前の各回のテンソル分解で得られた因子とが類似していることを表わす。
 式(5)における演算Ω({A(τ),B(τ),C(τ)},{A(t),B(t),C(t)})(以下、単に演算Ωと記す。)は、t回目のテンソル分解で得られる因子と、t-1回目以前のテンソル分解で得られた因子とが異なるほど小さな値が得られ、類似しているほど大きな値が得られる演算である。
 このような演算Ωの具体例として、以下に示す式(6)に示す演算が挙げられる。
Figure JPOXMLDOC01-appb-M000009
 式(6)において、右下に添え字を付して表したAは、行列Aの列ベクトルを意味し、その右下の添え字は、行列Aにおける何列目の列ベクトルであるかを示している。例えば、式(6)に示した“A (t)”は、t回目のテンソル分解で得られた行列Aにおけるk列目の列ベクトルを表わしている。
 右下に添え字を付して表したB,Cに関しても同様である。すなわち、右下に添え字を付して表したB,Cは、いずれも列ベクトルを表わす。
 なお、既に説明したように、以下に示す記号
Figure JPOXMLDOC01-appb-M000010
は、外積計算を表わす。
 式(3)は、式(4)と式(5)の和が最小となる行列A,B,Cを求めるという制約を表わしている。なお、行列A,B,Cを求めるということは、J個の因子を求めることと同義である。
 式(3)で表される制約は、T回目のテンソル分解において、テンソルXを近似できる因子を求めること、および、以前のテンソル分解で得た因子とは異なる因子を求めることという制約を意味する。また、入力部2に入力された重みλは、前のテンソル分解で得た因子とは異なる因子を求めるという制約に関する重みである。
 また、分解実行部3は、テンソルXに対するテンソル分解の回数に応じて、式(3)における“T”の値を設定することによって、テンソル分解の制約を更新する。例えば、分解実行部3は、次回のテンソル分解がS回目のテンソル分解であるならば、式(3)における“T”にSを代入することによって、制約を更新する。
 また、分解実行部3は、テンソルXに対するテンソル分解を実行する毎に、テンソル分解の結果として得られる因子を分解結果記憶部4に記憶させる。
 分解結果記憶部4は、テンソル分解の結果として得られる因子を記憶する記憶装置である。
 条件判定部5は、分解実行部3がテンソルXに対して繰り返し実行するテンソル分解の終了条件が満たされたか否かを判定する。終了条件が満たされたと判定された後、分解実行部3はテンソルXに対するテンソル分解を行わない。
 終了条件の例として、例えば、分解実行部3がテンソルXに対して実行したテンソル分解の回数が予め定められた回数に達したことが挙げられる。
 また、終了条件の他の例として、テンソルXに対する直近のテンソル分解で、前述の式(4)の値が、閾値(αとする。)以下となるJ個の因子が得られなかったことが挙げられる。テンソルXに対する直近のテンソル分解で、式(4)の値が、閾値α以下となるJ個の因子が得られなかったということは、得られた因子によるテンソルXの近似の精度が許容できない程度まで低下したことを意味する。閾値αは、予め定めておけばよい。
 また、終了条件の他の例として、テンソルXに対する直近のテンソル分解で、前述の式(5)の値が、閾値(βとする。)以下となるJ個の因子が得られなかったことが挙げられる。テンソルXに対する直近のテンソル分解で、式(5)の値が、閾値β以下となるJ個の因子が得られなかったということは、これまでに実行したテンソル分解で得られた因子と異なる因子が得られなくなったことを意味する。閾値βは、予め定めておけばよい。
 終了条件は、上記のように例示した条件以外の条件であってもよい。
 終了条件は、予め定められ、入力部2に入力される。
 出力部6は、終了条件が満たされたと判定された後、分解結果記憶部4に記憶されている各因子(各回のテンソル分解で得られた各因子)を出力する。例えば、出力部6は、各因子を、テンソル分解処理システム1が備えるディスプレイ装置(図3において図示略)上に表示する。
 分解実行部3、条件判定部5および出力部6は、例えば、テンソル分解処理プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からテンソル分解処理プログラムを読み込み、そのテンソル分解処理プログラムに従って、分解実行部3、条件判定部5および出力部6として動作すればよい。また、分解結果記憶部4は、例えば、コンピュータが備える記憶装置によって実現される。
 次に、処理経過について説明する。図4は、本発明の第1の実施形態のテンソル分解処理システムの処理経過の例を示すフローチャートである。
 まず、入力部2に、テンソルXと、1回のテンソル分解によって求める因子の数Jと、重みλと、終了条件とが入力される(ステップS1)。
 次に、分解実行部3が、テンソルXに対するテンソル分解を実行する(ステップS2)。1回目のテンソル分解(すなわち、1回目のステップS2)では、分解実行部3は、制約なしで、テンソルXに対するテンソル分解を実行してよい。
 本例では、Xに対する1回のテンソル分解でJ個の因子が得られる。ステップS2の後、分解実行部3は、ステップS2でのテンソル分解によって得たJ個の因子を分解結果記憶部4に記憶させる(ステップS3)。
 ステップS3の後、分解実行部3は、テンソルXに対する次回のテンソル分解の制約を定める(ステップS4)。分解実行部3は、テンソルXに対する次回のテンソル分解(ステップS2)がS回目のテンソル分解(ステップS2)であるならば、制約を表わす式(3)における“T”にSを代入することによって、次回のテンソル分解の制約を定める。例えば、次回のテンソル分解が2回目のテンソル分解であるならば、制約を表わす式(3)における“T”に2を代入することによって、次回のステップS2における制約を定める。
 ステップS4の後、条件判定部5は、ステップS1で入力された終了条件が満たされたか否かを判定する(ステップS5)。
 終了条件が満たされていない場合(ステップS5のNo)、分解実行部3は、ステップS2以降の処理を繰り返す。分解実行部3は、2回目以降のステップS2を実行するときには、直近のステップS4で定められた制約のもとで、テンソルXに対するテンソル分解を再度、実行する。すなわち、分解実行部3は、これまでのテンソル分解(換言すれば、これまでのステップS2)で得られた因子と異なる因子を得るという制約のもとで、テンソルXに対するテンソル分解を再度、実行する。
 そして、ステップS5で終了条件が満たされたと判定されるまで、テンソル分解処理システム1は、ステップS2~S5の処理を繰り返す。
 終了条件が満たされたと判定された場合(ステップS5のYes)、出力部6は、分解結果記憶部4に記憶されている各因子を出力する(ステップS6)。例えば、出力部6は、各因子を、テンソル分解処理システム1が備えるディスプレイ装置(図3において図示略)上に表示する。以下、出力部6が各因子をディスプレイ装置上に表示する場合を例にして説明する。
 出力部6は、1つの因子を表示する際、1つの因子に含まれる各列ベクトルに基づいてグラフを表示してもよい。因子に含まれる各列ベクトルに基づいて表示されるグラフの例を図5に示す。図5では、1つの因子に3つの列ベクトルが含まれ、1つの因子に基づいて3つのグラフが表示される例を示している。
 本実施形態によれば、テンソル分解処理システム1は、終了条件が満たされたと判定されるまでステップS2~S5の処理を繰り返す。そして、分解実行部3は、ステップS2で、これまでのテンソル分解で得られた因子と異なる因子を得るという制約のもとで、テンソルXに対するテンソル分解を実行する。従って、本実施形態によれば、与えられたテンソルXに対するテンソル分解によって得られる因子を網羅的に求めることができる。
 その結果、分析者は、そのように網羅的に得られた個々の因子を確認して、データ分析に適切な因子を選択することができる。すなわち、分析者は、データ分析に適した因子を得ることができる。また、分析者は、個々の因子を確認するときに、図5に例示するように表示されたグラフを確認することよって、データ分析に適切な因子を判断してもよい。
実施形態2.
 図6は、本発明の第2の実施形態のテンソル分解処理システムの例を示すブロック図である。第1の実施形態と同様の要素については、図3と同一の符号を付し、説明を省略する。
 第2の実施形態のテンソル分解処理システム1は、入力部2と、分解実行部3と、分解結果記憶部4と、条件判定部5と、クラスタリング部7と、順序付け部8と、出力部6とを備える。入力部2、分解実行部3、分解結果記憶部4および条件判定部5は、第1の実施形態におけるそれらの要素と同様であり、説明を省略する。
 クラスタリング部7は、終了条件が満たされたと判定されるまでに得られた因子に対してクラスタリングを行い、複数の因子をクラスタに分類する。テンソルXに対する1回のテンソル分解でJ個の因子が得られる。終了条件が満たされたと判定されるまでに、P回のテンソル分解が実行された場合、J×P個の因子が得られ、それらの因子は分解結果記憶部4に記憶されている。クラスタリング部7は、各因子を分解結果記憶部4から読み込み、因子を複数のクラスタに分類する。
 クラスタリング部7は、類似する因子同士が同じクラスタに属するように、分解結果記憶部4から読み込んだ因子をクラスタリングする。類似する因子同士が同じクラスタに属するようにクラスタリングする方法の一例として、例えば、k-means法がある。クラスタリング部7は、分解結果記憶部4から読み込んだ因子(換言すれば、テンソルXに対する複数回のテンソル分解によって得られた複数の因子)を、k-means法によってクラスタリングしてもよい。
 順序付け部8は、クラスタリング部7によって得られたクラスタ毎に、クラスタに属する因子の順序付けを行う。因子の順序付けの基準は、与えられたテンソルXの近似に寄与している度合いである。すなわち、順序付け部8は、与えられたテンソルXの近似に寄与している度合いが大きい順に、クラスタに属している因子の順序付けを行う。
 与えられたテンソルXの近似に寄与している度合いについて説明する。着目している因子から得られるテンソルをYとする。Yは、因子に含まれている各列ベクトルの外積計算によって得られる。テンソルXの近似に寄与している度合いは、||X-Y||と表すことができる。||X-Y||が小さいほど、テンソルXの近似に寄与している度合いが大きく、||X-Y||が大きいほど、テンソルXの近似に寄与している度合いが小さい。従って、順序付け部8は、1つのクラスタにおいて、そのクラスタに属している因子毎に||X-Y||を算出し、||X-Y||が小さい順に、そのクラスタに属している因子を順序付けすればよい。そして、順序付け部8は、この処理をクラスタ毎に行えばよい。
 出力部6は、第1の実施形態と同様に、分解結果記憶部4に記憶されている各因子をディスプレイ装置(図6において図示略)上に表示する。
 さらに、出力部6は、クラスタ毎に、クラスタに属する因子をディスプレイ装置上に表示する。このとき、出力部6は、各クラスタにおいて、順序付け部8によって順序付けされた順に因子をディスプレイ装置上に表示する。
 分解実行部3、条件判定部5、クラスタリング部7、順序付け部8および出力部6は、例えば、テンソル分解処理プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からテンソル分解処理プログラムを読み込み、そのテンソル分解処理プログラムに従って、分解実行部3、条件判定部5、クラスタリング部7、順序付け部8および出力部6として動作すればよい。
 図7は、本発明の第2の実施形態のテンソル分解処理システムの処理経過の例を示すフローチャートである。ステップS1~S5は、第1の実施形態のステップS1~S5と同様であり、説明を省略する。
 ステップS5において終了条件が満たされたと判定された場合(ステップS5のYes)、クラスタリング部7は、テンソルXにする複数回のテンソル分解によって得られた因子をクラスタリングする(ステップS11)。具体的には、クラスタリング部7は、分解結果記憶部4に記憶されている因子を読み込み、その因子をクラスタリングする。クラスタリング部7は、例えば、k-means法によって、因子をクラスタリングすればよい。ステップS11の結果、複数のクラスタが得られる。そして、個々のクラスタには、類似する因子が属している。
 次に、順序付け部8は、ステップS11で得られたクラスタ毎に、テンソルXの近似に寄与している度合いが大きい順に、クラスタに属している因子の順序付けを行う(ステップS12)。既に説明したように、着目している因子から得られるテンソルをYとした場合、順序付け部8は、1つのクラスタにおいて、そのクラスタに属している因子毎に||X-Y||を算出し、||X-Y||が小さい順に、そのクラスタに属している因子を順序付けすればよい。そして、順序付け部8は、この処理をクラスタ毎に行えばよい。
 ステップS12の次に、出力部6は、分解結果記憶部4に記憶されている各因子をディスプレイ装置上に表示する。さらに、出力部6は、クラスタ毎に、クラスタに属する因子をディスプレイ装置上に表示する。このとき、出力部6は、各クラスタにおいて、順序付け部8によって順序付けされた順に因子をディスプレイ装置上に表示する(ステップS13)。
 なお、ステップS13において、順序付けされた順に因子をディスプレイ装置上に表示する処理をクラスタ毎に行う場合、クラスタによらずに各因子をディスプレイ装置上に表示する処理を省略してもよい。
 また、第1の実施形態で説明したように、出力部6は、1つの因子を表示する際、1つの因子に含まれる各列ベクトルに基づいてグラフを表示してもよい。
 本実施形態によれば、第1の実施形態と同様の効果が得られる。さらに、第2の実施形態によれば、類似する因子が同じクラスタに分類されるので、因子の解釈容易性を向上させることができる。また、分析者がデータの全体像を理解しやすくなるという効果も得られる。
 また、第2の実施形態では、順序付け部8が、クラスタ毎に、テンソルXの近似に寄与している度合いが大きい順に、クラスタに属している因子の順序付けを行う。従って、分析者に、どの因子が重要であるのかを示すことができる。
 図8は、本発明の各実施形態のテンソル分解処理システム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
 本発明の各実施形態のテンソル分解処理システム1は、コンピュータ1000によって実現される。テンソル分解処理システム1の動作は、テンソル分解処理プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのテンソル分解処理プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのテンソル分解処理プログラムに従って上記の各実施形態で説明した処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の各実施形態で説明した処理を実行してもよい。
 また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
 また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図9は、本発明のテンソル分解処理システムの概要を示すブロック図である。本発明のテンソル分解処理システムは、分解実行部3と、条件判定部5とを備える。
 分解実行部3は、所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行する。
 条件判定部5は、所定の終了条件が満たされたか否かを判定する。
 分解実行部3は、テンソルに対してテンソル分解を実行するときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行する。
 そのような構成によって、与えられたテンソルに対するテンソル分解によって得られる因子を網羅的に求めることができる。
 また、与えられたテンソルに対する複数回のテンソル分解によって得られた因子をクラスタリングするクラスタリング部(例えば、クラスタリング部7)を備える構成であってもよい。
 また、クラスタリング部が、因子をk-means法によってクラスタリングする構成であってもよい。
 また、クラスタ毎に、クラスタに属している因子を、与えられたテンソルの近似に寄与する順に順序付けする順序付け部(例えば、順序付け部8)を備える構成であってもよい。
 また、順序付け部が、与えられたテンソルをXとし、個々の因子をYとしたときに、クラスタ毎に、||X-Y||が小さい順に、クラスタに属している因子を順序付けする構成であってもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、テンソル分解による因子の取得に好適に適用される。
 1 テンソル分解処理システム
 2 入力部
 3 分解実行部
 4 分解結果記憶部
 5 条件判定部
 6 出力部
 7 クラスタリング部
 8 順序付け部

Claims (7)

  1.  所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行する分解実行部と、
     前記所定の終了条件が満たされたか否かを判定する条件判定部とを備え、
     前記分解実行部は、
     前記テンソルに対してテンソル分解を実行するときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行する
     ことを特徴とするテンソル分解処理システム。
  2.  与えられたテンソルに対する複数回のテンソル分解によって得られた因子をクラスタリングするクラスタリング部を備える
     請求項1に記載のテンソル分解処理システム。
  3.  クラスタリング部は、
     因子をk-means法によってクラスタリングする
     請求項2に記載のテンソル分解処理システム。
  4.  クラスタ毎に、クラスタに属している因子を、与えられたテンソルの近似に寄与する順に順序付けする順序付け部を備える
     請求項2または請求項3に記載のテンソル分解処理システム。
  5.  順序付け部は、
     与えられたテンソルをXとし、個々の因子をYとしたときに、クラスタ毎に、||X-Y||が小さい順に、クラスタに属している因子を順序付けする
     請求項4に記載のテンソル処理システム。
  6.  コンピュータが、
     所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行し、
     前記所定の終了条件が満たされたか否かを判定し、
     前記テンソルに対してテンソル分解を実行するときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行する
     ことを特徴とするテンソル分解処理方法。
  7.  コンピュータに、
     所定の終了条件が満たされるまで、与えられたテンソルに対して複数回のテンソル分解を実行する分解実行処理、および、
     前記所定の終了条件が満たされたか否かを判定する条件判定処理を実行させ、
     前記コンピュータに、
     前記分解実行処理で、前記テンソルに対してテンソル分解を実行させるときに、当該テンソル分解よりも前に実行したテンソル分解によって得られた因子と異なる因子を得るという制約のもとで、当該テンソル分解を実行させる
     ためのテンソル分解処理プログラム。
PCT/JP2019/006301 2019-02-20 2019-02-20 テンソル分解処理システム、方法およびプログラム WO2020170358A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/006301 WO2020170358A1 (ja) 2019-02-20 2019-02-20 テンソル分解処理システム、方法およびプログラム
JP2021501201A JP7184155B2 (ja) 2019-02-20 2019-02-20 テンソル分解処理システム、方法およびプログラム
US17/430,858 US11789731B2 (en) 2019-02-20 2019-02-20 Tensor decomposition processing system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/006301 WO2020170358A1 (ja) 2019-02-20 2019-02-20 テンソル分解処理システム、方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2020170358A1 true WO2020170358A1 (ja) 2020-08-27

Family

ID=72143428

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/006301 WO2020170358A1 (ja) 2019-02-20 2019-02-20 テンソル分解処理システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US11789731B2 (ja)
JP (1) JP7184155B2 (ja)
WO (1) WO2020170358A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016031639A (ja) * 2014-07-29 2016-03-07 日本電信電話株式会社 クラスタ抽出装置、クラスタ抽出方法、及びクラスタ抽出プログラム
JP2016173784A (ja) * 2015-03-18 2016-09-29 日本電信電話株式会社 テンソル因子分解処理装置、テンソル因子分解処理方法及びテンソル因子分解処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204988B2 (en) * 2009-09-02 2012-06-19 International Business Machines Corporation Content-based and time-evolving social network analysis
US20120221296A1 (en) * 2011-02-26 2012-08-30 Liang Fu Method for signal decomposition
EP2518656B1 (en) * 2011-04-30 2019-09-18 Tata Consultancy Services Limited Taxonomic classification system
AU2013205087B2 (en) * 2012-07-13 2016-03-03 Gen-Probe Incorporated Method for detecting a minority genotype
US10531806B2 (en) * 2013-12-17 2020-01-14 University Of Florida Research Foundation, Inc. Brain state advisory system using calibrated metrics and optimal time-series decomposition
JP2018112884A (ja) 2017-01-11 2018-07-19 日本電気株式会社 推定装置、推定方法、及びプログラム
US20180260381A1 (en) * 2017-03-09 2018-09-13 Xerox Corporation Prepositional phrase attachment over word embedding products

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016031639A (ja) * 2014-07-29 2016-03-07 日本電信電話株式会社 クラスタ抽出装置、クラスタ抽出方法、及びクラスタ抽出プログラム
JP2016173784A (ja) * 2015-03-18 2016-09-29 日本電信電話株式会社 テンソル因子分解処理装置、テンソル因子分解処理方法及びテンソル因子分解処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KONISHI, HAZUKI ET AL.: "Document Clustering Method Using Non-negative Matrix Factorization", IEICE TECHNICAL REPORT, vol. 114, no. 500, 26 February 2015 (2015-02-26), pages 25 - 30 *

Also Published As

Publication number Publication date
JPWO2020170358A1 (ja) 2021-11-18
US20220129263A1 (en) 2022-04-28
JP7184155B2 (ja) 2022-12-06
US11789731B2 (en) 2023-10-17

Similar Documents

Publication Publication Date Title
KR102036968B1 (ko) 전문화에 기반한 신뢰성 높은 딥러닝 앙상블 방법 및 장치
JP7000766B2 (ja) 学習データ選択プログラム、学習データ選択方法、および、学習データ選択装置
JP2017130036A (ja) 情報処理装置、演算方法、および演算プログラム
CN113822440A (zh) 用于确定机器学习样本的特征重要性的方法及系统
WO2018150798A1 (ja) モデル推定システム、方法およびプログラム
WO2018088277A1 (ja) 予測モデル生成システム、方法およびプログラム
EP3940603A1 (en) Processing apparatus for performing pointwise convolutions and depthwise convolutions
WO2022091408A1 (ja) 求解方法選択装置および方法
JP2018055551A (ja) データ変換プログラム、データ変換方法、およびデータ変換装置
WO2020170358A1 (ja) テンソル分解処理システム、方法およびプログラム
JP6366031B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20190279037A1 (en) Multi-task relationship learning system, method, and program
WO2020035997A1 (ja) テンソルデータ計算装置、テンソルデータ計算方法及びプログラム
JP6910873B2 (ja) 特定装置および特定方法
JP6065543B2 (ja) ニューラルネットワーク設計方法、フィッティング方法、及びプログラム
KR20180078712A (ko) 그래프 랭킹 수행 방법 및 장치
WO2020040007A1 (ja) 学習装置、学習方法及び学習プログラム
CN110874615A (zh) 特征聚类处理方法、集群服务器及可读存储介质
WO2023203769A1 (ja) 重み係数算出装置および重み係数算出方法
WO2018088276A1 (ja) 予測モデル生成システム、方法およびプログラム
US11507490B2 (en) Throughput estimation device and throughput estimation system
JP7472998B2 (ja) パラメータ推定装置、秘密パラメータ推定システム、秘密計算装置、それらの方法、およびプログラム
JP7468655B2 (ja) 不整合判定装置、方法、および、プログラム
JP7428288B1 (ja) プラント応答推定装置、プラント応答推定方法、及びプログラム
WO2023062763A1 (ja) 機械学習装置、特徴量抽出装置、機械学習方法、特徴量抽出方法、機械学習プログラム及び特徴量抽出プログラム

Legal Events

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

Ref document number: 19916390

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021501201

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19916390

Country of ref document: EP

Kind code of ref document: A1