JP6721533B2 - Graphical lasso computing device, graphical lasso computing method and graphical lasso computing program - Google Patents
Graphical lasso computing device, graphical lasso computing method and graphical lasso computing program Download PDFInfo
- Publication number
- JP6721533B2 JP6721533B2 JP2017091621A JP2017091621A JP6721533B2 JP 6721533 B2 JP6721533 B2 JP 6721533B2 JP 2017091621 A JP2017091621 A JP 2017091621A JP 2017091621 A JP2017091621 A JP 2017091621A JP 6721533 B2 JP6721533 B2 JP 6721533B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- coefficient
- lasso
- covariance
- graphical
- 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
Landscapes
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、graphical lasso計算装置、graphical lasso計算方法及びgraphical lasso計算プログラムに関する。 The present invention relates to a graphical lasso computing device, a graphical lasso computing method, and a graphical lasso computing program.
graphical lassoは、L1正則化を用いて多次元データから無効グラフを計算する手法として最も有名なものの一つである(非特許文献1参照)。ここで、グラフのノードは、多次元データの各データポイントに対応し、エッジは、データポイント間の条件依存性に対応する。 Graphical lasso is one of the most famous methods for calculating an invalid graph from multidimensional data using L 1 regularization (see Non-Patent Document 1). Here, the node of the graph corresponds to each data point of the multidimensional data, and the edge corresponds to the condition dependency between the data points.
graphical lassoは平均μの多変数のガウス分布による共分散行列Σに対してその逆行列Θ(=Σ−1)を推定するものである。もし行列Θの(i,j)要素が非零であれば(θ[i,j]≠0)、i番目とj番目の変数は、条件付依存の関係にあるということになる。graphical lassoは、構造を疎にするために行列Θを推定するときに、L1のペナルティを用いる。行列XをN次元からなるP個の変数に対応するN×Pのデータ行列としたとき、行列Sを、S=XTX(行列XTは行列Xの転置とする。)であるような共分散行列とすると、graphical lassoは、以下の式(1)に示す目的関数を最大化することによって、疎なグラフ構造を推定する。 The graphical lasso estimates the inverse matrix Θ (=Σ −1 ) of the covariance matrix Σ based on the multivariate Gaussian distribution with mean μ. If the (i,j) element of the matrix Θ is non-zero (θ[i,j]≠0), it means that the i-th and j-th variables have a conditional dependency. The graphical lasso uses the penalty of L 1 when estimating the matrix Θ to make the structure sparse. When the matrix X is an N×P data matrix corresponding to P variables of N dimensions, the matrix S is such that S=X T X (the matrix X T is the transpose of the matrix X). If the covariance matrix is used, the graphical lasso estimates a sparse graph structure by maximizing the objective function shown in Expression (1) below.
式(1)において、ρは、推定されたグラフの疎具合を決定する正のL1正規化パラメータである。また、この(1)式において疎な構造を求める問題は凸になる。graphical lassoは、この問題を解くために座標降下法を用いてlassoの係数の更新を繰り返し行う。具体的には、graphical lassoは、推定する行列の各行及び各列を収束するまでラウンドロビンに計算する。 In Expression (1), ρ is a positive L 1 normalization parameter that determines the degree of sparseness of the estimated graph. Also, the problem of obtaining a sparse structure in this equation (1) becomes convex. The graphical lasso iteratively updates the lasso coefficients using the coordinate descent method to solve this problem. Specifically, the graphical lasso performs round-robin calculation until each row and each column of the matrix to be estimated converges.
そして、計算コストを下げるため、Friedmanらはスクリーニングによる手法を提案した(例えば、非特許文献2参照)。このスクリーニングによる手法は、係数の更新のための計算を連結成分にのみに限定するため、効果的に更新の計算を行う変数を特定することができる。graphical lassoの高速化については、このスクリーニングによる手法が最も知られている。
Then, in order to reduce the calculation cost, Friedman et al. proposed a screening method (see Non-Patent
しかしながら、このスクリーニングによる手法は、共分散行列の全ての要素を計算しなければならず、graphical lassoの計算コストを有効に減らすことができないという問題がある。 However, this screening method has a problem that all the elements of the covariance matrix must be calculated, and the calculation cost of the graphical lasso cannot be effectively reduced.
本発明は、上記に鑑みてなされたものであって、多次元データから疎な構造を計算するgraphical lassoを高速に計算することができるgraphical lasso計算装置、graphical lasso計算方法及びgraphical lasso計算プログラムを提供することを目的とする。 The present invention has been made in view of the above, and provides a graphical lasso calculation device, a graphical lasso calculation method, and a graphical lasso calculation program that can calculate a graphical lasso that calculates a sparse structure from multidimensional data at high speed. The purpose is to provide.
上述した課題を解決し、目的を達成するために、本発明に係るgraphical lasso計算装置は、多次元データから疎な構造を計算するgraphical lasso計算装置であって、入力される多次元行列の特異値分解(SVD:Singular Value Decomposition)を計算するSVD計算部と、データポイント間の近似の共分散をSVDから計算する近似共分散計算部と、近似によりエッジを有する可能性がある場合に、データポイント間の共分散を計算する共分散計算部と、共分散からなる隣接行列の連結部分であるブロックを計算する連結部分計算部と、ブロックのうち、lassoにおける係数の計算対象の成分を設定する更新成分設定部と、計算対象の成分において、lassoにおける第1の係数を繰り返し計算する係数計算部と、lassoにおける第2の係数が非零であるか否かを確認する非更新成分確認部と、第2の係数が非零であるか否かの確認結果に応じて、計算対象の成分における第1の係数に対する繰り返し計算を継続するか否かを判定する第1の判定部と、全成分の繰り返し計算を継続するか否かを判定する第2の判定部と、を有することを特徴とする。 In order to solve the above-mentioned problems and achieve the object, a graphical lasso calculation device according to the present invention is a graphical lasso calculation device that calculates a sparse structure from multidimensional data, and is a singular matrix of an input multidimensional matrix. An SVD calculator that calculates SVD (Singular Value Decomposition), an approximate covariance calculator that calculates the approximate covariance between data points from the SVD, and data that may have edges due to the approximation. Set the covariance calculator that calculates the covariance between points, the connected part calculator that calculates the block that is the connected part of the adjacency matrix that consists of the covariance, and the component of the block for which the coefficient of lasso is to be calculated. An update component setting unit, a coefficient calculation unit that repeatedly calculates the first coefficient in lasso, and a non-update component confirmation unit that confirms whether or not the second coefficient in lasso is non-zero for the component to be calculated. , A first determination unit that determines whether or not to continue the iterative calculation for the first coefficient in the component to be calculated, according to the confirmation result of whether or not the second coefficient is non-zero, and all components A second determination unit for determining whether or not to continue the iterative calculation of.
本発明によれば、多次元データから疎な構造を計算するgraphical lassoを高速に計算することができる。 According to the present invention, a graphical lasso that calculates a sparse structure from multidimensional data can be calculated at high speed.
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to this embodiment. In the description of the drawings, the same parts are designated by the same reference numerals.
[従来のgraphical lasso計算手法]
まず、従来のgraphical lasso計算手法について説明する。graphical lassoは、多次元データから疎な構造を計算する計算手法である。例えば、N個の観測とP個の変数とからなるN×Pのデータ行列Xが与えられたとき、graphical lassoは、式(1)の目的関数を最大化することによって、行列Xから共分散行列Σの逆行列Θを推定する。Sを実際の共分散行列とし、Iを単位行列としたときに、graphical lassoは、S=S+ρIとして与えられる行列Wの各行と列とを座標降下法を用いて最適化する。具体的には、まず、graphical lassoでは、行列WとSとを以下の式(2)のように分割する。
[Conventional graphical lasso calculation method]
First, a conventional graphical lasso calculation method will be described. Graphical lasso is a calculation method that calculates sparse structures from multidimensional data. For example, given an N×P data matrix X consisting of N observations and P variables, the graphical lasso maximizes the objective function of equation (1) to obtain a covariance from the matrix X. Estimate the inverse matrix Θ of the matrix Σ. When S is the actual covariance matrix and I is the unit matrix, the graphical lasso optimizes each row and column of the matrix W given as S=S+ρI using the coordinate descent method. Specifically, first, in the graphical lasso, the matrices W and S are divided as in the following Expression (2).
graphical lassoでは、lassoの解を計算する行及び列が最後になるように、繰り返し行列Wとの各行と列を並び替える。続いて、以下の式(3)を示す。 In the graphical lasso, the rows and columns of the iteration matrix W are rearranged so that the row and the column for calculating the lasso solution come last. Then, the following formula (3) is shown.
なお、繰り返し計算において、行列Wの対角要素は不変とする。図1は、式(3)における係数の求め方を示す図である。図1に示すように、式(3)における係数を求める。 Note that the diagonal elements of the matrix W are unchanged in the iterative calculation. FIG. 1 is a diagram showing how to obtain the coefficient in Expression (3). As shown in FIG. 1, the coefficient in Expression (3) is obtained.
ここで、従来、計算コストを下げるため、Friedmanらはスクリーニングによる手法を提案した(非特許文献2参照)。このスクリーニングによる手法は、もし、|S[i,j]|≦ρが、i≠jであるすべてのj番目の変数に成り立てば、i番目の変数は推定されたグラフにおいて孤立したノードになるという知見に基づいている。このため、このスクリーニングによる手法では、|S[i,j]|>ρである場合に、ノードのペアがエッジでつながるグラフの隣接行列を求め、そのグラフの連結成分を求める。このスクリーニングによる手法は、係数の更新のための計算を連結成分にのみに限定するため、効果的に更新の計算を行う変数を特定することができる。 Here, in order to reduce the calculation cost, Friedman et al. proposed a screening method (see Non-Patent Document 2). This screening method is such that if |S[i,j]|≦ρ holds for all j-th variables where i≠j, then the i-th variable becomes an isolated node in the estimated graph. It is based on the knowledge. Therefore, in this screening method, when |S[i,j]|>ρ, an adjacency matrix of a graph in which a pair of nodes is connected by an edge is obtained, and a connected component of the graph is obtained. This screening method limits the calculation for updating the coefficient to only the connected components, so that it is possible to effectively specify the variable for which the update is calculated.
graphical lassoの高速化において、このスクリーニングによる手法は最も知られている。しかしながら、この手法は共分散行列の全ての要素を計算しなければならず、計算コストを有効に減らすことができないという問題がある。この場合の、Tを行列Σの各行及び列における繰り返し計算の回数とし、Bを推定されたグラフの各行及び列における非零成分の数とすると、graphical lassoに必要な計算コストは、O(NP2+PBT)になる。 This screening method is the best known method for speeding up the graphical lasso. However, this method has a problem in that all the elements of the covariance matrix must be calculated and the calculation cost cannot be effectively reduced. In this case, letting T be the number of repeated calculations in each row and column of the matrix Σ and B be the number of non-zero components in each row and column of the estimated graph, the computational cost required for the graphical lasso is O(NP 2 +PBT).
[実施の形態の概要]
本実施の形態において用いられる手法によれば、より高速にgraphical lassoを計算することができる。まず、本実施の形態の計算手法の概要を述べた後に、本実施の形態による計算手法の詳細を述べる。なお、各集合を示すシンボルは、明細書中ではアルファベットの大文字で示し、図面中ではアルファベットの大文字を中抜きした字体で示す。
[Outline of Embodiment]
According to the method used in this embodiment, the graphical lasso can be calculated at higher speed. First, an outline of the calculation method according to the present embodiment will be described, and then the details of the calculation method according to the present embodiment will be described. It should be noted that the symbols indicating the respective sets are indicated by uppercase letters in the specification in the specification, and by a font style in which the uppercase letters are omitted in the drawings.
上述したように、従来の手法では、各繰り返し計算において更新される係数の数を減らすために、共分散行列Sの各要素を計算し、|S[i,j]|>ρであればエッジを追加する。これは、既存手法では、連続成分を計算するために行列Sの全ての要素を計算しなければならないことを示している。さらに、従来の手法では、lassoの性質により、ほぼ全ての係数の値が零になるにも関わらず、全ての係数をラウンドロビンに計算する。 As described above, in the conventional method, in order to reduce the number of coefficients updated in each iterative calculation, each element of the covariance matrix S is calculated, and if |S[i,j]|>ρ, the edge is calculated. To add. This indicates that in the existing method, all elements of the matrix S must be calculated in order to calculate the continuous component. Furthermore, in the conventional method, due to the property of lasso, all the coefficients are calculated as round robin even though the values of almost all the coefficients become zero.
これに対し、本実施の形態では、高速に計算を行うために、SVDを用いて、共分散S[i,j]の近似を行い、その上限値と下限値とを高速に計算する。 On the other hand, in the present embodiment, in order to perform the calculation at high speed, the SVD is used to approximate the covariance S[i,j], and the upper limit value and the lower limit value thereof are calculated at high speed.
そして、本実施の形態では、共分散が近似によりエッジを持つ可能性があると判定された場合に正確な共分散の値を計算する。言い換えると、本実施の形態では、SVDを用いて推定された行列において、非零になる成分を持つブロックを繰り返し計算に入る前に高速に求める。また、本実施の形態では、非零要素を持つことを期待される成分を、選択して繰り返し更新を行う。言い換えると、本実施の形態では、推定された行列において、非零になる成分を選択的に更新する。 Then, in the present embodiment, an accurate value of covariance is calculated when it is determined that covariance may have an edge by approximation. In other words, in the present embodiment, in the matrix estimated using SVD, a block having a non-zero component is obtained at high speed before starting repeated calculation. In addition, in the present embodiment, a component expected to have a non-zero element is selected and repeatedly updated. In other words, in the present embodiment, non-zero components in the estimated matrix are selectively updated.
このように、本実施の形態では、共分散が近似によりエッジを持つ可能性があると判定された場合にのみ正確な共分散の値を計算するともに、連結成分において少数の成分のみ繰り返し更新を行う。したがって、本実施の形態によれば、従来の手法よりも繰り返し計算を少ない回数とすることができるため、graphical lassoを高速に計算することができる。 As described above, in the present embodiment, an accurate covariance value is calculated only when it is determined that the covariance may have an edge by approximation, and only a small number of connected components are repeatedly updated. To do. Therefore, according to the present embodiment, the number of repetitive calculations can be reduced as compared with the conventional method, and thus the graphical lasso can be calculated at high speed.
[実施の形態の構成]
まず、図2を用いて、実施の形態に係るgraphical lasso計算装置の構成について説明する。図2は、本実施の形態に係るgraphical lasso計算装置の要部構成の一例を示すブロック図である。図2に示すように、graphical lasso計算装置1は、SVD計算部11、近似共分散計算部12、共分散計算部13、連結部分計算部14、更新成分設定部15、係数計算部16、非更新成分確認部17、繰り返し計算判定部18(第1の判定部)、収束判定部19及び逆行列計算部20を有する。
[Configuration of Embodiment]
First, the configuration of the graphical lasso calculation apparatus according to the embodiment will be described with reference to FIG. FIG. 2 is a block diagram showing an example of the main configuration of the graphical lasso calculation apparatus according to this embodiment. As shown in FIG. 2, the graphical
SVD計算部11は、入力される多次元行列のSVDを計算する。近似共分散計算部12は、近似によりエッジを有する可能性がある場合に、データポイント間の共分散を計算する。共分散計算部13は、近似によりエッジを有する可能性がある場合に、データポイント間の共分散を計算する。連結部分計算部14は、共分散からなる隣接行列の連結部分であるブロックを計算する。
The
更新成分設定部15は、ブロックのうち、lassoにおける係数の計算対象の成分を設定する。係数計算部16は、計算対象の成分において、lassoにおける第1の係数を繰り返し計算する。第1の係数は、後述の第2の係数のi番目の要素とする列ベクトルである。非更新成分確認部17は、lassoにおける第2の係数が非零であるか否かを確認する。第2の係数は、隣接行列のi(iは任意の数である。)番目の列に対応するi番目のlassoの係数である。
The update
繰り返し計算判定部18(第1の判定部)は、第2の係数が非零であるか否かの確認結果に応じて、計算対象の成分における第1の係数に対する繰り返し計算を継続するか否かを判定する。繰り返し計算判定部18は、lassoにおける第2の係数が非零でない場合に第1の係数に対する繰り返し計算を継続しないと判定する。収束判定部19(第2の判定部)は、全成分の繰り返し計算を継続するか否かを判定する。逆行列計算部20は、共分散行列Σの逆行列Θを計算する。
The iterative calculation determination unit 18 (first determination unit) determines whether or not to continue the iterative calculation for the first coefficient in the component to be calculated according to the confirmation result of whether or not the second coefficient is nonzero. Determine whether. The iterative
[近似共分散計算処理]
ここで、近似共分散計算部12は、SVDにより共分散の近似を行って該共分散の上限値及び下限値を計算する。このため、近似共分散計算部12による近似共分散計算処理、すなわち、近似共分散計算部12が共分散S[i,j]の上限値と下限値を求める手法について述べる。
[Approximate covariance calculation processing]
Here, the
この手法は、N×Pのデータ行列を、SVDによりランクがn(n≪N)の行列で近似する。SVDは直行変換であり、二乗誤差の観点で高い精度となる。図3は、定義1を示す図である。図4は、定義2を示す図である。定義1,2は、近似共分散計算処理の際に必要となる。近似共分散計算部12は、図3に示す手法を用いて、共分散S[i,j]の上限値を求める。ここで繰り返し計算に入る前に列ベクトルのL2は、O(NP)の計算コストで求めることができる。同様に行列XのSVDは、O(NPlogn)の計算コストで求めることができる(詳細は、非特許文献1参照)。
In this method, an N×P data matrix is approximated by a matrix of rank n (n<<N) by SVD. SVD is an orthogonal transform and has high accuracy in terms of squared error. FIG. 3 is a
そして、近似共分散計算部12は、図4に示す手法を用いて、共分散S[i,j]の下限値を求める。図5は、補題1を示す図である。図5に示す補題1に示す関係が、共分散S[i,j]の上限値及び下限値について成り立つ(詳細は、Nathan Halko,Per-Gunnar Martinsson and Joel A. Tropp, “FINDING STRUCTURE WITH RANDOMNESS: PROBABILISTIC ALGORITHMS FOR CONSTRUCTING APPROXIMATE MATRIX DECOMPOSITIONS”, SIAM Review, 53(2):217−288, 2011.参照)
Then, the approximate
なお、計算量の観点において、もし行列Xの各列ベクトルのL2とSVDとが計算済みであれば、上限値と下限値を計算するのに必要なコストは、図3及び図4に示す定義1,2からO(n)となる。
From the viewpoint of the amount of calculation, if L 2 and SVD of each column vector of the matrix X have been calculated, the costs required to calculate the upper limit value and the lower limit value are shown in FIGS. 3 and 4. From
[共分散計算処理]
続いて、共分散計算部13による共分散計算処理を説明する。共分散計算部13は、共分散の上限値及び下限値を用いてエッジを有する可能性の有無を特定する。データポイント間の共分散を計算する。図6は、補題2を示す図である。
[Covariance calculation processing]
Next, the covariance calculation processing by the
補題2より、L1正規パラメータρが共分散の上限値以上、かつ、−ρが共分散の下限値以下である場合には、このノードのペアは隣接行列においてエッジを持たない。すなわち、ρが共分散の上限値未満、かつ、−ρが共分散の下限値より大である場合に、このノードのペアは隣接行列においてエッジを持つ可能性を有する。
From
本実施の形態では、共分散計算部13は、近似によりエッジを有する可能性がある場合、すなわち、ρが共分散の上限値未満、かつ、−ρが共分散の下限値より大である場合にのみ、データポイント間の共分散を計算する。したがって、共分散計算部13は、共分散の上限値及び下限値を用いてスクリーニングによる手法における隣接行列を、図6の補題2に示す性質から高速に計算することができる。
In the present embodiment, the
[繰り返し計算処理]
続いて、実施の形態における繰り返し計算処理について説明する。実施の形態では、高速にgraphical lassoを計算するために、係数計算部16は、非零になることが期待されるlassoにおける第1の係数を選択的に収束するまで計算する。係数計算部16によって選択されなかった第1の係数については、非更新成分確認部17が、繰り返し計算の後に非零の係数を持つか否かを確認する。
[Repeated calculation processing]
Next, the iterative calculation process according to the embodiment will be described. In the embodiment, in order to calculate the graphical lasso at high speed, the
この処理では、|S[i,j]|>ρが成り立てば逆行列Θの(i,j)要素は非零の値を持つことが期待され、それに対応するlassoの係数も非零になる可能性が高いという知見に基づいている。Biをスクリーニングによる手法から得られたi番目の変数を含む連結成分のブロックとし、集合Biを集合Bi={j|Bj=Bi}であるような集合とすると、スクリーニングによる手法では、i番目の係数を集合Bi−iを用いて計算する。一方、本実施の形態では、係数計算部16は、i番目の変数に対して係数を、以下の式(4)として初期化される集合Uiを用いて収束するまで式(3)を用いて計算を行う。
In this process, if |S[i,j]|>ρ holds, the (i,j) element of the inverse matrix Θ is expected to have a nonzero value, and the corresponding lasso coefficient also becomes nonzero. It is based on the finding that it is likely. A block of connected components comprising the i-th variable resulting B i from techniques by screening a set of set B i B i = | When set as a {j B j = B i} , technique by screening Then, the i-th coefficient is calculated using the set B i −i. On the other hand, in the present embodiment, the
ここで集合Ui⊆集合Biの関係であるあることは明らかである。そして、また上限値と下限値を用いて集合Uiは高速に求めることができる。 Here, it is clear that the relationship is the set U i ⊆ set B i . Then, the set U i can be obtained at high speed by using the upper limit value and the lower limit value.
また、Ui´を以下の式(5)であるような集合とする。 Also, let U i ′ be a set as in the following expression (5).
非更新成分確認部17は、集合Ui´に含まれる係数が非零の係数を持つのか繰り返し計算の後に確認する。結果として、本実施の形態では、i番目の係数を計算するために、集合Ui+集合Ui´=集合Bi−iであるため、集合Bi−iを用いてi番目の係数を計算するスクリーニングによる手法と同じ結果を得ることができる。図7は、補題3を示す図である。本実施の形態は、理論的に補題3の性質に基づいている。
The non-updated
従来のスクリーニングよる手法が集合Biに含まれる係数をランドロビンに更新するのに対して、補題3は、本実施の形態が、集合Ui´に含まれる係数を確認することにより推定の結果に影響を与えることなく、集合Ui(集合Ui⊆集合Bi)に含まれる係数を選択的に更新することができることを示している。
Whereas the conventional screening method updates the coefficients included in the set B i to Land Robin, the
本実施の形態では、集合Uiに含まれる係数は繰り返し更新される一方、集合Ui´に含まれる係数に対しては繰り返し計算を行わない。この結果、本実施の形態によれば、係数を選択的に収束させているため、高速な処理が可能である。そして、本実施の形態では、非更新成分確認部17が、集合Ui´に非零の係数が含まれているか否かを確認し、集合Ui´に非零の係数が含まれていることを確認した場合、その係数を集合Uiに追加する。そして、再帰的に係数が収束し、i∈集合Ui´であるような全てのiに対し、以下の式(6)となるまで処理を行う。
In the present embodiment, the coefficients included in the set U i are repeatedly updated, but the coefficients included in the set U i ′ are not repeatedly calculated. As a result, according to the present embodiment, since the coefficients are selectively converged, high speed processing is possible. In the present embodiment, the non-updated components check
[graphical lasso計算処理の処理手順]
図8及び図9を参照して、実施の形態に係るgraphical lasso計算処理の処理手順について説明する。図8は、実施の形態に係るgraphical lasso計算処理のアルゴリズムを示す図である。また、図9は、実施の形態に係るgraphical lasso計算処理の処理手順を示すフローチャートである。
[Processing procedure for graphical lasso calculation]
The processing procedure of the graphical lasso calculation processing according to the embodiment will be described with reference to FIGS. 8 and 9. FIG. 8 is a diagram showing an algorithm of the graphical lasso calculation process according to the embodiment. FIG. 9 is a flowchart showing the processing procedure of the graphical lasso calculation processing according to the embodiment.
図8に示すAlgorithm1において、行列Aは、P×Pの隣接行列であり、mは、スクリーニングによる手法で得られる連結成分のブロックの数とする。そして、本実施の形態に係るgraphical lasso計算処理では、ブロックを一つ一つ処理していく。また、行列S(i)、行列W(i)、単位行列I(i)、ベクトルw(i) 12,w(i) 11、逆行列Θ(i)は、それぞれiのブロックに対応する行列S、行列W、単位行列I、ベクトルw12,w11、逆行列Θとする。
In
本実施の形態では、まず、SVD計算部11が、データ行列XのSVDを計算し,隣接行列Aを初期化する(図8に示すアルゴリズム1,2行目、図9に示すステップS1,S2)。続いて、隣接行列のエッジを高速に求めるため、近似共分散計算部12が、行列Sの共分散の上限値と下限値とを計算し、もしこれらが補題2のエッジに対する条件を満たしたとき、共分散計算部13は、正確な共分散の値を計算する(図8に示すアルゴリズム3〜9行目、図9に示すステップS3〜S11)。
In the present embodiment, first, the
そして、連結部分計算部14は、行列Aから連結成分のブロックを計算する(図8に示すアルゴリズム10行目、図9のステップS12)。更新成分設定部15が、lassoにおける係数の計算対象のブロック1〜mを設定すると(図8に示すアルゴリズム11行目、図9のステップS13)、係数計算部16が、それぞれのブロックに対して、まず行列S(i)と行列W(i)とを計算する(図8に示すアルゴリズム12〜13行目、図9のステップS14,S15)。そして、係数計算部16が、集合Ujを用いて繰り返し係数を収束するまで計算する(図8に示すアルゴリズム15〜18行目、図9のステップS16〜ステップS18)。
Then, the connected
図10は、繰り返し計算打ち切りの条件を示す図である。非更新成分確認部17は、補題3に基づき、lassoにおける第2の係数が非零であるか否かを確認し、もし、図10に示す関係が成り立つと判断した場合、繰り返し計算判定部18は、繰り返し計算を打ち切る(図8に示すアルゴリズム19〜24行目、図9に示すステップS19〜S25)。
FIG. 10 is a diagram showing conditions for repeated calculation termination. Based on
そして、更新成分設定部15は、繰り返し計算の後で行列W(i)を更新する(図8に示すアルゴリズム25行目、図9に示すステップS26)。続いて、収束判定部19は、行列W(i)が収束するか否かを判断する(図9に示すステップS27)。
Then, the update
収束判定部19は、行列W(i)が収束すると判断しない場合には(図9に示すステップS27:No)、これらの処理(図8に示すアルゴリズム11〜25行目、図9に示すステップS13〜S25)を行う(図8に示すアルゴリズム26行目)。
When the
続いて、行列W(i)が収束すると収束判定部19が判断した場合には(図9に示すステップS27:Yes)、逆行列計算部20は、行列W(i)から逆行列Θ(i)を計算し(図8に示すアルゴリズム27行目、図9に示すステップS28)、計算した逆行列Θ(i)を出力して(図9に示すステップS29)、graphical lasso計算処理を終了する。
Then, when the
そして、上記Algorithm1に対して、定理1,2に示す性質が成り立つ。図11は、定理1を示す図である。図12は、定理2を示す図である。
Then, for the
[本実施の形態の効果]
このように、本実施の形態では、共分散が近似によりエッジを持つ可能性があると判定された場合にのみ正確な共分散の値を計算するともに、連結成分において少数の非零要素を持つことを期待される成分のみ繰り返し更新を行う。したがって、本実施の形態によれば、従来の手法よりも繰り返し計算を少ない回数とすることができるため、graphical lassoを高速に計算することができる。
[Effects of this Embodiment]
As described above, in this embodiment, an accurate covariance value is calculated only when it is determined that the covariance may have an edge by approximation, and the connected component has a small number of non-zero elements. Only the expected components are updated repeatedly. Therefore, according to the present embodiment, the number of repetitive calculations can be reduced as compared with the conventional method, and thus the graphical lasso can be calculated at high speed.
[実施の形態のシステム構成について]
図1に示したgraphical lasso計算装置1の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、graphical lasso計算装置1の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
[System configuration of the embodiment]
Each component of the graphical
また、graphical lasso計算装置1においておこなわれる各処理は、全部または任意の一部が、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、及び、CPU、GPUにより解析実行されるプログラムにて実現されてもよい。また、graphical lasso計算装置1においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
Further, each processing performed in the graphical
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。 Further, of the processes described in the embodiments, all or part of the processes described as being automatically performed can be manually performed. Alternatively, all or part of the processing described as being manually performed can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters described above and illustrated can be appropriately changed unless otherwise specified.
[プログラム]
図13は、プログラムが実行されることにより、graphical lasso計算装置1が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 13 is a diagram illustrating an example of a computer in which the graphical
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
The
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、graphical lasso計算装置1の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、graphical lasso計算装置1における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
The hard disk drive 1090 stores, for example, an
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
Further, the setting data used in the processing of the above-described embodiment is stored as the
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。 The embodiments to which the invention made by the present inventor is applied have been described above, but the present invention is not limited to the description and the drawings, which form a part of the disclosure of the present invention according to the present embodiment. That is, all other embodiments, examples, operation techniques and the like made by those skilled in the art based on the present embodiment are included in the scope of the present invention.
1 graphical lasso計算装置
11 SVD計算部
12 近似共分散計算部
13 共分散計算部
14 連結部分計算部
15 更新成分設定部
16 係数計算部
17 非更新成分確認部
18 繰り返し計算判定部
19 収束判定部
20 逆行列計算部
1 graphical
Claims (6)
入力される多次元行列の特異値分解(SVD:Singular Value Decomposition)を計算するSVD計算部と、
データポイント間の近似の共分散をSVDから計算する近似共分散計算部と、
近似によりエッジを有する可能性がある場合に、データポイント間の共分散を計算する共分散計算部と、
共分散からなる隣接行列の連結部分であるブロックを計算する連結部分計算部と、
前記ブロックのうち、lassoにおける係数の計算対象の成分を設定する更新成分設定部と、
前記計算対象の成分において、lassoにおける第1の係数を繰り返し計算する係数計算部と、
lassoにおける第2の係数が非零であるか否かを確認する非更新成分確認部と、
前記第2の係数が非零であるか否かの確認結果に応じて、前記計算対象の成分における前記第1の係数に対する繰り返し計算を継続するか否かを判定する第1の判定部と、
全成分の繰り返し計算を継続するか否かを判定する第2の判定部と、
を有することを特徴とするgraphical lasso計算装置。 A graphical lasso computing device for computing a sparse structure from multidimensional data,
An SVD calculator that calculates a Singular Value Decomposition (SVD) of the input multidimensional matrix,
An approximate covariance calculator that calculates the approximate covariance between data points from SVD,
A covariance calculator that calculates the covariance between data points when there is a possibility of having edges due to approximation,
A connected part calculator that calculates a block that is the connected part of an adjacency matrix consisting of covariances,
Of the blocks, an update component setting unit that sets a component of a coefficient calculation target in lasso,
A coefficient calculation unit that repeatedly calculates a first coefficient in lasso in the component to be calculated;
a non-updated component confirmation unit that confirms whether or not the second coefficient in lasso is non-zero;
A first determination unit that determines whether or not to continue the iterative calculation for the first coefficient in the component to be calculated, according to the confirmation result of whether or not the second coefficient is non-zero;
A second determination unit that determines whether or not to continue the iterative calculation of all components;
And a graphical lasso computing device.
前記共分散計算部は、前記共分散の上限値及び下限値を用いて前記エッジを有する可能性の有無を特定することを特徴とする請求項1に記載のgraphical lasso計算装置。 The approximate covariance calculation unit performs an approximation of covariance by SVD to calculate an upper limit value and a lower limit value of the covariance,
The graphical lasso calculation apparatus according to claim 1, wherein the covariance calculation unit uses the upper limit value and the lower limit value of the covariance to identify the presence or absence of the possibility of having the edge.
前記第1の係数は、前記第2の係数のi番目の要素とする列ベクトルであることを特徴とする請求項1または2に記載のgraphical lasso計算装置。 The second coefficient is the coefficient of the i-th lasso corresponding to the i-th (i is an arbitrary number) column of the component to be calculated,
3. The graphical lasso calculation device according to claim 1, wherein the first coefficient is a column vector which is an i-th element of the second coefficient.
入力される多次元行列のSVDを計算するSVD計算工程と、
データポイント間の近似の共分散をSVDから計算する近似共分散計算工程と、
近似によりエッジを有する可能性がある場合に、データポイント間の共分散を計算する共分散計算工程と、
共分散からなる隣接行列の連結部分であるブロックを計算する連結部分計算工程と、
前記ブロックのうち、lassoにおける係数の計算対象の成分を設定する更新成分設定工程と、
前記計算対象の成分において、lassoにおける第1の係数を繰り返し計算する係数計算工程と、
lassoにおける第2の係数が非零であるか否かを確認する非更新成分確認工程と、
前記第2の係数が非零であるか否かの確認結果に応じて、前記計算対象の成分における前記第1の係数に対する繰り返し計算を継続するか否かを判定する第1の判定工程と、
全成分の繰り返し計算を継続するか否かを判定する第2の収束判定工程と、
を有することを特徴とするgraphical lasso計算方法。 A graphical lasso calculation method executed by a graphical lasso calculation device that calculates a sparse structure from multidimensional data,
An SVD calculation step for calculating the SVD of the input multidimensional matrix,
An approximate covariance calculation step of calculating an approximate covariance between data points from SVD,
A covariance calculation step of calculating a covariance between data points when there is a possibility that the approximation has edges.
A connected part calculation step of calculating a block that is a connected part of an adjacency matrix composed of covariance,
Of the blocks, an update component setting step of setting a component of a coefficient calculation target in lasso,
A coefficient calculation step of repeatedly calculating a first coefficient in lasso in the component to be calculated;
a non-updated component confirmation step of confirming whether or not the second coefficient in lasso is non-zero,
A first determining step of determining whether or not to continue the iterative calculation for the first coefficient in the component to be calculated, in accordance with the confirmation result of whether or not the second coefficient is non-zero;
A second convergence determination step of determining whether or not to repeat the iterative calculation of all components;
A method of computing a graphical lasso, characterized by having.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017091621A JP6721533B2 (en) | 2017-05-02 | 2017-05-02 | Graphical lasso computing device, graphical lasso computing method and graphical lasso computing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017091621A JP6721533B2 (en) | 2017-05-02 | 2017-05-02 | Graphical lasso computing device, graphical lasso computing method and graphical lasso computing program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018190160A JP2018190160A (en) | 2018-11-29 |
| JP6721533B2 true JP6721533B2 (en) | 2020-07-15 |
Family
ID=64479800
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017091621A Active JP6721533B2 (en) | 2017-05-02 | 2017-05-02 | Graphical lasso computing device, graphical lasso computing method and graphical lasso computing program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6721533B2 (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5186322B2 (en) * | 2008-09-26 | 2013-04-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Time series data analysis system, method and program |
-
2017
- 2017-05-02 JP JP2017091621A patent/JP6721533B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018190160A (en) | 2018-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Song et al. | Kernel embeddings of conditional distributions: A unified kernel framework for nonparametric inference in graphical models | |
| JP7283065B2 (en) | Estimation device, optimization device, estimation method, optimization method, and program | |
| Galatolo et al. | An elementary approach to rigorous approximation of invariant measures | |
| JP5349407B2 (en) | A program to cluster samples using the mean shift procedure | |
| CN109997131B (en) | Method and electronic apparatus for generating input for kernel-based machine learning systems | |
| CN113646782A (en) | Information processing device, information processing system, information processing method, storage medium, and program | |
| Galatolo et al. | Rigorous computation of invariant measures and fractal dimension for maps with contracting fibers: 2D Lorenz-like maps | |
| Habring et al. | Subgradient Langevin methods for sampling from nonsmooth potentials | |
| EP4141751A1 (en) | Error mitigation for sampling on quantum devices | |
| JP2022048780A (en) | Calculation apparatus, calculation method, and program | |
| Verma et al. | A hybrid self-constrained genetic algorithm (HSGA) for digital image Denoising based on PSNR improvement | |
| CN115294396B (en) | Backbone network training method and image classification method | |
| JP6954346B2 (en) | Parameter estimator, parameter estimator, and program | |
| JP6721533B2 (en) | Graphical lasso computing device, graphical lasso computing method and graphical lasso computing program | |
| JP2018073285A (en) | L1 graph calculation device, L1 graph calculation method, and L1 graph calculation program | |
| Khalili | An overview of the new feature selection methods in finite mixture of regression models | |
| Lindsey | Fast randomized entropically regularized semidefinite programming | |
| Kushida et al. | Iterative approximation of preconditioning matrices through krylov-type solver iterations | |
| JP6721535B2 (en) | LLE calculation device, LLE calculation method, and LLE calculation program | |
| WO2020177863A1 (en) | Training of algorithms | |
| US9355363B2 (en) | Systems and methods for virtual parallel computing using matrix product states | |
| JP6740193B2 (en) | Parameter estimation device, parameter estimation method, and parameter estimation program | |
| Gao et al. | Quantum maximum entropy inference and Hamiltonian learning | |
| Xu et al. | A method for high-dimensional smoothing | |
| Elanbari et al. | Advanced computation of a sparse precision matrix hadap: A hadamard-dantzig estimation of a sparse precision matrix |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190627 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200327 |
|
| 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: 20200616 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200618 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6721533 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |