JP6453785B2 - 回帰分析装置、回帰分析方法および回帰分析プログラム - Google Patents

回帰分析装置、回帰分析方法および回帰分析プログラム Download PDF

Info

Publication number
JP6453785B2
JP6453785B2 JP2016010117A JP2016010117A JP6453785B2 JP 6453785 B2 JP6453785 B2 JP 6453785B2 JP 2016010117 A JP2016010117 A JP 2016010117A JP 2016010117 A JP2016010117 A JP 2016010117A JP 6453785 B2 JP6453785 B2 JP 6453785B2
Authority
JP
Japan
Prior art keywords
coefficient
zero
regression analysis
parameter
limit value
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
Application number
JP2016010117A
Other languages
English (en)
Other versions
JP2017130116A (ja
Inventor
靖宏 藤原
靖宏 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016010117A priority Critical patent/JP6453785B2/ja
Publication of JP2017130116A publication Critical patent/JP2017130116A/ja
Application granted granted Critical
Publication of JP6453785B2 publication Critical patent/JP6453785B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、回帰分析装置、回帰分析方法および回帰分析プログラムに関する。
高次元データに対するl1正則化付き最小2乗法の代表的な手法としてlassoが知られている(例えば非特許文献1)。機械学習において、応答変数と関係を持つ予測変数を求める処理が重要である。このとき、良い予測変数には、応答変数と高い相関がありながら予測変数同士は相関が低いということが求められる。また、できる限り少ない予測変数で応答変数に対する高い予測精度を達成することが重要となる。
lassoは、l1正則化項を2乗誤差項に足すことで疎な線形回帰を実現できることが優れている。lassoは、疎な予測変数の集合を求めるために、l1正則化項による制約を効果的に利用し予測変数を削減しているのである。
lassoは1990年代の中頃に開発されたが、高い計算コストが必要であるため、2000年前半までは大きな注目を集めなかった。計算コストが高かったのは、lassoが提案された論文では、大規模データの処理には適していない手法が予測変数を求めるのに使われていたからである。
そして、2002年に、Tibshiraniらがlassoを処理するのにLARSというアルゴリズムを提案した。その結果、lassoを計算することが容易になり、lassoの関連手法であるelastic Netやgrouped Lasso等が開発された。
さらに、2007年には、Tibshiraniらの研究グループが、LARSより高速な手法としてcoordinate descentに基づく手法を提案した(例えば非特許文献2)。coordinate descentに基づく手法は、予測変数の係数を1つずつ繰り返し更新し、lassoにおける解を求める。また、2010年および2012年における論文で、coordinate descentをさらに高速化する手法が提案された(例えば非特許文献3および非特許文献4)。lassoを用いるにあたり、coordinate descentに基づく手法は現在よく使われている。
Robert Tibshirani, Regression Shrinkage and Selection via the Lasso, Journal of the Royal Statistical Society, Series B, 1996 Jerome Friedman and Trevor Hastie and Holger Hofling and Robert Tibshirani, Pathwise coordinate optimization, Annals of Applied Statistics, 2007 Jerome H. Friedman and Trevor Hastie and Rob Tibshirani, Regularization Paths for Generalized Linear Models via Coordinate Descent, Journal of Statistical Software, 2010 Tibshirani, Robert and Bien, Jacob and Friedman, Jerome and Hastie, Trevor and Simon, Noah and Taylor, Jonathan and Tibshirani, Ryan J., Strong rules for discarding predictors in lasso-type problems, Journal of the Royal Statistical Society: Series B (Statistical Methodology), 2012
しかしながら、従来のlassoを用いた線形回帰の手法には、大きなサイズのデータを高速に処理することができない場合があるという課題があった。
例えば、lassoが提案された1990年の中頃、lassoは前立腺がんの解析に利用されたが、予測変数の数は高々10程度であった。一方、最近の画像処理における予測変数の数は数千であり、さらに話題抽出のアプリケーションにおいては数万の数の予測変数が使われている。このように、近年lassoが扱うデータは非常に大きなサイズになっているため、全ての予測変数に対して係数の更新を行う従来の手法では、計算量が膨大になり、高速な処理を行うことができない場合があった。
本発明の回帰分析装置は、lassoを用いて、予測変数の持つ係数を繰り返し更新し回帰分析を行う回帰分析装置であって、前記lassoにおけるチューニングパラメータを順次設定するパラメータ設定部と、前記パラメータ設定部によって前記チューニングパラメータが設定されるたびに、更新対象である係数を持つ予測変数の集合を設定する初期更新対象設定部と、前記パラメータ設定部によって前記チューニングパラメータが設定されるたびに、前記係数の初期値を設定する初期値設定部と、前記係数を基に参照ベクトルを設定する第1参照ベクトル設定部と、前記チューニングパラメータと、前記参照ベクトルを基に計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により必ず非零になるか否かを判定する非零係数判定部と、前記係数のうち、前記非零係数判定部によって必ず非零になると判定された係数を、収束するまで繰り返し更新する第1係数更新部と、前記第1係数更新部によって更新された前記係数を基に参照ベクトルをさらに設定する第2参照ベクトル設定部と、前記チューニングパラメータと、前記参照ベクトルを基にさらに計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により非零になる可能性があるか否かを判定する零係数判定部と、前記係数のうち、前記零係数判定部によって非零になる可能性があると判定された係数を、収束するまで繰り返し更新する第2係数更新部と、前記予測変数の集合に含まれる予測変数がKKT条件を満たすか否かを判定し、前記予測変数の全てがKKT条件を満たすまで係数の更新を繰り返し実行させるKKT条件判定部と、を有することを特徴とする。
また、本発明の回帰分析方法は、lassoを用いて、予測変数の持つ係数を繰り返し更新し回帰分析を行う回帰分析方法であって、前記lassoにおけるチューニングパラメータを順次設定するパラメータ設定工程と、前記パラメータ設定工程によって前記チューニングパラメータが設定されるたびに、更新対象である係数を持つ予測変数の集合を設定する初期更新対象設定工程と、前記パラメータ設定工程によって前記チューニングパラメータが設定されるたびに、前記係数の初期値を設定する初期値設定工程と、前記係数を基に参照ベクトルを設定する第1参照ベクトル設定工程と、前記チューニングパラメータと、前記参照ベクトルを基に計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により必ず非零になるか否かを判定する非零係数判定工程と、前記係数のうち、前記非零係数判定工程によって必ず非零になると判定された係数を、収束するまで繰り返し更新する第1係数更新工程と、前記第1係数更新工程によって更新された前記係数を基に参照ベクトルをさらに設定する第2参照ベクトル設定工程と、前記チューニングパラメータと、前記参照ベクトルを基にさらに計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により非零になる可能性があるか否かを判定する零係数判定工程と、前記係数のうち、前記零係数判定工程によって非零になる可能性があると判定された係数を、収束するまで繰り返し更新する第2係数更新工程と、前記予測変数の集合に含まれる予測変数がKKT条件を満たすか否かを判定し、前記予測変数の全てがKKT条件を満たすまで係数の更新を繰り返し実行させるKKT条件判定工程と、を含んだことを特徴とする。
本発明によれば、大きなサイズのデータに対し、lassoを用いた線形回帰を高速に行うことができる。
図1は、第1の実施形態に係る回帰分析装置の構成の一例を示すブロック図である。 図2は、第1の実施形態に係る回帰分析処理のアルゴリズムを示す図である。 図3は、定義1を示す図である。 図4は、定義2を示す図である。 図5は、補題1を示す図である。 図6は、補題2を示す図である。 図7は、補題3を示す図である。 図8は、補題4を示す図である。 図9は、補題5を示す図である。 図10は、補題6を示す図である。 図11は、定理1を示す図である。 図12は、定理2を示す図である。 図13は、第1の実施形態に係る回帰分析処理の流れを示すフローチャートである。 図14は、プログラムが実行されることにより、回帰分析装置が実現されるコンピュータの一例を示す図である。
以下に、本願に係る回帰分析装置、回帰分析方法および回帰分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
[従来のlassoを用いた回帰分析について]
まず、lassoを用いた回帰分析を行う従来の手法について具体的に説明する。回帰分析において、予測変数の数はpとし、観測値の数はnとする。また、全てのベクトルは平均を0、分散を1に正規化されているものとする。また、応答変数は、式(1)のベクトルで表される。
Figure 0006453785
また、予測変数は、式(2)の行列で表される。
Figure 0006453785
lassoにおいては、式(2)の予測変数の行列における最小2乗誤差とl1正則化項の制限からなる以下の式を最小化する応答変数を予測するモデルを求める。
Figure 0006453785
このとき、式(2)の予測変数の行列が列フルランク行列であれば、上記の最適化問題の解はただ1つになる。そうでない場合、解は1つに定まらない。なおp>nである場合は、式(2)の予測変数の行列は、列フルランク行列にならない。
また、実際のアプリケーションにおいて最適なλの値は異なる。そのため、Kをチューニングパラメータの数としたときに、式(3)においてチューニングパラメータをλ>λ>...λと変化させる。そして、チューニングパラメータを変化させつつ最適化問題を解き、複数のチューニングパラメータを試した後に、事前に決定した赤池情報量等の基準を用いて最終的なlassoにおける解を決定する。
Tibshiraniらは、coordinate descentを用いて予測変数を1つずつ更新する手法を提案した。coordinate descentは他の係数はすでに更新したことを仮定し、係数w[i]に対して部分的に最適化を行う手法である。coordinate descentでは、まず式(4)が計算される。
Figure 0006453785
さらに、coordinate descentにおいては、式(5)により係数が更新される。
Figure 0006453785
式(5)のS(z[i],λ)はsoft-thresholding operatorと呼ばれる処理であり、またz[i]はi番目の予測変数に対応するパラメータとして式(6)により計算される。
Figure 0006453785
coordinate descentにおいては、係数が総当たり的に更新される。すなわち、式(5)を用いて収束するまで全ての予測変数の係数が繰り返し更新される。そこで、Tibshiraniらは、更新において計算されるパラメータz[i]を式(7)のように計算することで高速に求める手法を提案した。
Figure 0006453785
式(6)と式(7)は同じ計算結果となる。また、mを非零の係数を持つ予測変数の数とすると、係数を更新するのに必要な計算コストは、式(7)ではO(m)であり、式(6)ではO(n)となる。lassoでは、疎に予測変数が選択されるため、m≪nとなる。そのため、式(7)を式(6)の代わりに用いることによって、高速に係数を更新することができる。
式(7)を用いるためには、繰り返し計算に入る前に応答変数と全ての予測変数との内積を計算する必要がある。さらに、ある予測変数が応答変数を予測するのに用いられると判断された場合、その予測変数とその他全ての応答変数との内積を計算する必要がある。すなわち、ある予測変数が解として非零の係数を持つ場合、式(7)を利用するために、
その予測変数における内積を計算しなければならない。
そこで、lassoを高速に計算するために、Tibshiraniらを含む多くの研究者によって、係数が0になる予測変数を特定するscreening techniqueが提案されている。特にsequential strong ruleにおいては、式(8)を用いた以下の方法によって予測変数の枝刈りが行われる。
Figure 0006453785
sequential strong ruleは、誤って係数が0にならない予測誤差を枝刈りすることがあるため、収束後に全ての予測変数に対してKKT(Karush-Kuhn-Tucker)条件が満たされているかを確認する。KKT条件は、式(9)を用いて以下のように表される。なお、KKT条件は、式(7)を用いることにより、O(m)のコストで計算できる。
Figure 0006453785
[第1の実施形態の概要]
従来の手法では、screening techniqueで枝刈りされなかった全ての予測変数に対して収束するまで繰り返し係数の更新が行われる。このとき、従来の手法では、ある予測変数の係数の更新を行うのにその他の予測変数の係数で非零であるものを使う。そのため、もし繰り返し計算の中である予測変数が非零の係数を持てば、その係数が繰り返し計算の後0に収束したとしても、計算コストの増加につながってしまう。
提案手法、すなわち第1の実施形態において用いられる手法も、従来の手法と同様にcoordinate descentに基づく手法である。しかし、第1の実施形態においては、従来の手法と異なり、選択的に係数の更新を行う。すなわち、第1の実施形態における手法は、まず非零の係数を持つ予測変数のみを収束するまで更新し、その後に非零の係数を持つことが期待される予測変数を収束するまで更新する。この結果、第1の実施形態における手法は、繰り返し計算において係数が0になる予測変数に対する更新を枝刈りできるため、高速にlassoにおける解を計算することができる。
このように、screening techniqueが繰り返し計算に入る前に係数が0である予測変数を枝刈りするのに対し、第1の実施形態においては、繰り返し計算において係数が0である予測変数を枝刈りする。pを予測変数の数、nを観測値の数としたとき、与えられるデータはn×pの行列で表現することができる。もし、当該行列が列フルランクであれば、lassoにおける解は凸関数性から1つになるため、第1の実施形態では、従来の手法と同じ結果を出すことが保証される。一方、当該行列が列フルランクでない場合、第1の実施形態では勾配が0である予測変数の更新を行わないため、従来の手法より少ない予測変数で、より精度の高い予測を行うことができる。
[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る回帰分析装置の構成について説明する。図1は、第1の実施形態に係る回帰分析装置の構成の一例を示すブロック図である。図1に示すように、回帰分析装置1は、パラメータ設定部101、初期更新対象設定部102、初期値設定部103、第1参照ベクトル設定部104、非零係数判定部105、第1係数更新部106、第2参照ベクトル設定部107、零係数判定部108、第2係数更新部109、KKT条件判定部110、および回帰分析出力部111を有する。
図2を用いて、回帰分析装置1の各部の処理について説明する。図2は、第1の実施形態に係る回帰分析処理のアルゴリズムを示す図である。図2に示すAlgorithm1において、チューニングパラメータの設定(例えばAlgorithm1の2行目)、式(7)を用いた係数の更新、KKT条件の判定(例えばAlgorithm1の31行目)等については、前述の従来の手法と同様の処理を適用することができる。一方、係数から計算される所定のパラメータの上限値および下限値を用いて予測変数の枝刈りを行う処理(例えばAlgorithm1の15、24行目)は、従来の手法には含まれない処理である。
図2に示すように、Algorithm1においては、Uを繰り返し計算において更新を行う予測変数の集合、Pを全ての予測変数の集合、Pをチューニングパラメータλへの解として非零の係数となる予測変数の集合、Sをチューニングパラメータλにおけるsequential strong ruleで枝刈りされなかった予測変数の集合とする。
回帰分析装置1は、kを1,2,…,Kと設定し、以下の処理を行う(Algorithm1の1行目)。まず、パラメータ設定部101は、lassoにおけるチューニングパラメータを順次設定する。具体的に、パラメータ設定部101は、λ:=λとする(Algorithm1の2行目)。
そして、初期更新対象設定部102は、パラメータ設定部101によってチューニングパラメータが設定されるたびに、更新対象である係数を持つ予測変数の集合を設定する。
具体的に、初期更新対象設定部102は、k=1であれば、Uを空集合とし、そうでなければU:=Pk−1とする(Algorithm1の3〜6行目)。
また、初期値設定部103は、パラメータ設定部101によってチューニングパラメータが設定されるたびに、係数の初期値を設定する。具体的に、初期値設定部103は、チューニングパラメータλとλk−1に対する解は似ているという知見に基づき、チューニングパラメータλに対する係数の初期値を、式(10)により決定する(Algorithm1の7行目)。
Figure 0006453785
次に、第1参照ベクトル設定部104は、係数の初期値を基に参照ベクトルを設定する。具体的に、第1参照ベクトル設定部104は、繰り返し計算に入る前に、参照ベクトルを設定する(Algorithm1の10行目)。
そして、非零係数判定部105は、チューニングパラメータと、参照ベクトルを基に計算された上限値および下限値と、が所定の条件を満たすか否かによって、係数のそれぞれが更新により必ず非零になるか否かを判定する。
具体的に、非零係数判定部105は、上限値を図3に示す定義1のように定義する。図3は、定義1を示す図である。図3の式(A)におけるベクトルおよびパラメータは以下のように説明することができる。
Figure 0006453785
また、係数ベクトルが各繰り返しで更新される長さpのベクトルであること等から、定義1は、以下の性質を持つ。
Figure 0006453785
Figure 0006453785
また、非零係数判定部105は、下限値を図4に示す定義2のように定義する。図4は、定義2を示す図である。上限値および下限値が定義1および定義2で定義されることは、図5および図6に示す補題1および補題2によって示される。図5は、補題1を示す図である。また、図6は、補題2を示す図である。
式(13)は、O(1)で更新できることは明らかであるため、上限値と下限値の計算においては、図7に示す補題3が成り立つ。図7は、補題3を示す図である。ここで、必ず非零の係数を持つ予測変数は、図8の補題4に示す性質を持つ。図8は、補題4を示す図である。また、必ず係数が0になる予測変数は、図9の補題5に示す性質を持つ。図9は、補題5を示す図である。また、補題5より、非零の係数を持つ可能性のある予測変数は、図10の補題6に示す性質を持つ。図10は、補題6を示す図である。
予測変数が補題4の条件を満たすとき、その予測変数は必ず補題6の条件を満たす。すなわち、補題4による予測変数の集合は、必ず補題6による予測変数の集合に含まれる。これは、もし下限値がチューニングパラメータより小さければ、上限値もチューニングパラメータより小さく、上限値がチューニングパラメータを負にした値より小さければ、下限値もチューニングパラメータを負にした値より小さいからである。
そのため、もし予測変数において補題4より係数が非零となるとき、その予測変数は補題6より非零の係数を持つ可能性があるとされる。さらに、予測変数が補題6の条件を満たさないとき、補題6よりその予測変数の係数は0となる。第1の実施形態ではこの性質を用いて更新対象となる係数の枝刈りを行っている。
非零係数判定部105は、定義1および定義2により、Uに含まれる予測変数について、係数パラメータz[i]、z[i]の上限値および下限値を計算し、上限値、下限値およびチューニングパラメータを用いてAlgorithm1の15行目に示す条件が満たされるか否かを判定する(Algorithm1の11〜15行目)。
そして、第1係数更新部106は、係数のうち、非零係数判定部105によって必ず非零になると判定された係数を、収束するまで繰り返し更新する。具体的に、Algorithm1の15行目に示す条件が満たされた場合、第1係数更新部106は、式(7)および式(13)を用いて係数およびパラメータを更新する(Algorithm1の16、17行目)。なお、第1係数更新部106は、係数ベクトルが収束するまで更新処理を繰り返す(Algorithm1の18行目)。
第2参照ベクトル設定部107は、第1係数更新部106によって更新された係数を基に参照ベクトルをさらに設定する。具体的に、第2参照ベクトル設定部107は、第1係数更新部106による処理の終了後、次の繰り返し計算に入る前に、参照ベクトルを式(11)のように設定する(Algorithm1の19行目)。
零係数判定部108は、チューニングパラメータと、参照ベクトルを基にさらに計算された上限値および下限値と、が所定の条件を満たすか否かによって、係数のそれぞれが更新により非零になる可能性があるか否かを判定する。
具体的に、零係数判定部108は、定義1および定義2により、Uに含まれる予測変数について、係数パラメータz[i]およびz[i]の上限値および下限値を計算し、上限値、下限値およびチューニングパラメータを用いてAlgorithm1の24行目に示す条件が満たされるか否かを判定する(Algorithm1の20〜24行目)。
そして、第2係数更新部109は、係数のうち、零係数判定部108によって非零になる可能性があると判定された係数を、収束するまで繰り返し更新する。具体的に、Algorithm1の24行目に示す条件が満たされた場合、第2係数更新部109は、式(7)を用いて係数を更新する(Algorithm1の25行目)。また、Algorithm1の24行目に示す条件が満たされなかった場合、第2係数更新部109は、係数を0に更新する(Algorithm1の27行目)。その後、第2係数更新部109は、式(13)を用いてパラメータを更新する(Algorithm1の28行目)。なお、第2係数更新部109は、係数ベクトルが収束するまで更新処理を繰り返す(Algorithm1の29行目)。
KKT条件判定部110は、予測変数の集合に含まれる予測変数がKKT条件を満たすか否かを判定し、予測変数の全てがKKT条件を満たすまで係数の更新を繰り返し実行させる。
具体的に、KKT条件判定部110は、第2係数更新部109における処理が完了した後、各係数に対応する予測変数のうち、p∈Sであるような予測変数、およびp∈Pである予測変数に対してそれぞれKKT条件を用いて係数が非零になる予測変数がないか判定を行う。そして、KKT条件判定部110は、KKT条件を満たさない予測変数をさらに更新対象の予測変数の集合に追加し、KKT条件を満たさない予測変数がなくなるまでAlgorithm1の8行目からの処理を繰り返し実行させる(Algorithm1の30〜37行目)。
回帰分析出力部111は、KKT条件判定部110によって、チューニングパラメータにおいて全ての予測変数がKKT条件を満たすと判定された場合、パラメータ設定部101に、チューニングパラメータにおける予測変数を基に次のチューニングパラメータを設定させる。具体的に、回帰分析出力部111は、チューニングパラメータλについて、KKT条件判定部110によって全ての予測変数がKKT条件を満たすと判定された場合、予測変数を出力する。そして、パラメータ設定部101は、回帰分析出力部111によって出力された予測変数を基に、チューニングパラメータλを設定する。
そして、回帰分析装置1は、最後に、それぞれのチューニングパラメータに対して解を求めた後、事前に決めた基準に対して最適な解を設定する。なお、パラメータ設定部101はチューニングパラメータとして正の値を設定した場合、非零係数判定部105および零係数判定部108における条件判定は、次のように説明することができる。すなわち、非零係数判定部105は、下限値がチューニングパラメータより大きい、または上限値がチューニングパラメータを負にした値より小さい場合に、係数が更新により必ず非零になると判定する。また、零係数判定部108は、上限値がチューニングパラメータより大きい、または下限値がチューニングパラメータを負にした値より小さい場合に、係数が更新により非零になる可能性があると判定する。
第1の実施形態における手法の計算コストについては、図11の定理1に示すことがいえる。図11は定理1を示す図である。定理1ではk=0のとき、m=0とする。第1の実施形態における手法では、係数が0となる予測変数の更新を枝刈りできるため、従来の手法より高速な処理が可能となる。
また、第1の実施形態における手法の回帰の精度については、図12の定理2に示すことがいえる。図12は定理2を示す図である。p<nである場合、予測変数の行列は列フルランクにならないため1つの解に必ずしも収束しない。しかし、発明者は、第1の実施形態における手法によれば、従来の手法より少ない予測変数で高い精度の回帰を行えることを実験的に確かめている。
[第1の実施形態の処理]
図13を用いて第1の実施形態の処理について説明する。図13は、第1の実施形態に係る回帰分析処理の流れを示すフローチャートである。図13に示すように、まず、回帰分析装置1は、分析対象となる予測変数の行列が入力されると(ステップS101)、kが1からKに至るまで、以下の処理を実行する(ステップS102〜S139)。
まず、パラメータ設定部101は、λ=λとする(ステップS103)。k=1である場合(ステップS104、Yes)、初期更新対象設定部102は、Uを空集合とする(ステップS105)。k=1でない場合(ステップS104、No)、初期更新対象設定部102は、UをPk−1とする(ステップS106)。次に、初期値設定部103は、係数の初期値を計算する(ステップS107)。
そして、第1参照ベクトル設定部104は、参照ベクトルを設定する(ステップS108)。ここで、非零係数判定部105は、全てのpについて係数パラメータを計算する(ステップS109〜S111)。さらに、非零係数判定部105は、全てのpについて係数パラメータの上限値および下限値を計算し、上限値、下限値およびチューニングパラメータが所定の条件を満たすか否かを判定する(ステップS112、S113)ことにより、係数が必ず非零になるか否かを判定する。
所定の条件が満たされる場合(ステップS113、Yes)、第1係数更新部106は、係数およびパラメータを更新する(ステップS114、S115)。また、所定の条件が満たされない場合(ステップS113、No)、第1係数更新部106は、更新を行わない。そして、非零係数判定部105および第1係数更新部106は、係数ベクトルが収束するまでこれらの処理を繰り返す(ステップS112、S116、S117)。
そして、第2参照ベクトル設定部107は、更新された係数ベクトルを基に参照ベクトルを設定する(ステップS118)。ここで、零係数判定部108は、全てのpについて係数パラメータを計算する(ステップS119〜S121)。さらに、零係数判定部108は、全てのpについて係数パラメータの上限値および下限値を計算し、上限値、下限値およびチューニングパラメータが所定の条件を満たすか否かを判定する(ステップS122、S123)ことにより、係数が更新により非零になる可能性があるか否かを判定する。
所定の条件が満たされる場合(ステップS123、Yes)、第2係数更新部109は、係数を更新する(ステップS124)。また、所定の条件が満たされない場合(ステップS123、No)、第2係数更新部109は、係数を0に更新する(ステップS125)。そして、第2係数更新部109は、パラメータを更新する(ステップS126)。零係数判定部108および第2係数更新部109は、係数ベクトルが収束するまでこれらの処理を繰り返す(ステップS122、S127、S128)。
そして、KKT条件判定部110は、Sに含まれる全てのpについてKKT条件を満たすか否かを判定し、KKT条件を満たさないpをUに追加する(ステップS129〜S132)。そして、KKT条件を満たさないpが存在する場合(ステップS133、No)は、ステップS108以降の処理をさらに実行させる。
また、Sに含まれる全てのpがKKT条件を満たす場合(ステップS133、Yes)、KKT条件判定部110は、Pに含まれる全てのpについてKKT条件を満たすか否かを判定し、KKT条件を満たさないpをUに追加する(ステップS134〜S137)。そして、KKT条件を満たさないpが存在する場合(ステップS138、No)は、ステップS108以降の処理をさらに実行させる。そして、全てのkについて処理が完了すると、線形回帰の結果が得られる(ステップS140)。
[第1の実施形態の効果]
lassoを高速に処理するため多くの研究者はscreening techniqueという手法の研究に注力している。screening techniqueは、係数の繰り返し更新に入る前に係数の値が0になる予測係数を特定し、coordinate descentに基づく手法を高速にする手法であるが、大規模のデータを高速に扱うためにはcoordinate descentに基づく手法自体を高速にする必要がある。
そこで、第1の実施形態においては、パラメータ設定部101は、lassoにおけるチューニングパラメータを順次設定する。そして、初期更新対象設定部102は、パラメータ設定部101によってチューニングパラメータが設定されるたびに、更新対象である係数を持つ予測変数の集合を設定する。また、初期値設定部103は、パラメータ設定部101によってチューニングパラメータが設定されるたびに、係数の初期値を設定する。
第1参照ベクトル設定部104は、係数を基に参照ベクトルを設定する。次に、非零係数判定部105は、チューニングパラメータと、参照ベクトルを基に計算された上限値および下限値と、が所定の条件を満たすか否かによって、係数のそれぞれが更新により必ず非零になるか否かを判定する。そして、第1係数更新部106は、係数のうち、非零係数判定部105によって必ず非零になると判定された係数を、収束するまで繰り返し更新する。
第2参照ベクトル設定部107は、第1係数更新部106によって更新された係数を基に参照ベクトルをさらに設定する。次に、零係数判定部108は、チューニングパラメータと、参照ベクトルを基にさらに計算された上限値および下限値と、が所定の条件を満たすか否かによって、係数のそれぞれが更新により非零になる可能性があるか否かを判定する。そして、第2係数更新部109は、係数のうち、零係数判定部108によって非零になる可能性があると判定された係数を、収束するまで繰り返し更新する。
KKT条件判定部110は、予測変数の集合に含まれる予測変数がKKT条件を満たすか否かを判定し、予測変数の全てがKKT条件を満たすまで係数の更新を繰り返し実行させる。
これにより、繰り返し計算において係数が0になる予測変数に対する更新を枝刈りできるため、coordinate descentに基づく手法自体を高速化することができる。また、第1の実施形態によれば、定理2等に示すように、従来の手法と同等以上の精度で線形回帰を行うことができる。また、第1の実施形態によれば、各パラメータが自動的に計算されるため、ユーザによるパラメータ調整の必要がない。
また、回帰分析出力部111は、KKT条件判定部110によって、チューニングパラメータにおいて全ての予測変数がKKT条件を満たすと判定された場合、パラメータ設定部101に、チューニングパラメータにおける予測変数を基に次のチューニングパラメータを設定させる。これにより、効率的にチューニングパラメータの設定を行うことができる。
また、例えば、パラメータ設定部101はチューニングパラメータとして正の値を設定する。このとき、非零係数判定部105は、下限値がチューニングパラメータより大きい、または上限値がチューニングパラメータを負にした値より小さい場合に、係数が更新により必ず非零になると判定する。また、零係数判定部108は、上限値がチューニングパラメータより大きい、または下限値がチューニングパラメータを負にした値より小さい場合に、係数が更新により非零になる可能性があると判定する。このように、条件を設定し判定を行うことで、更新対象となる係数の枝刈りを効率良く行うことができる。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
一実施形態として、回帰分析装置は、パッケージソフトウェアやオンラインソフトウェアとして上記の回帰分析を実行する回帰分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の回帰分析プログラムを情報処理装置に実行させることにより、情報処理装置を回帰分析装置として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、回帰分析装置は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の回帰分析に関するサービスを提供するサーバ装置として実装することもできる。例えば、回帰分析装置は、予測変数および応答変数を入力とし、回帰式を出力とする回帰分析サービスを提供するサーバ装置として実装される。この場合、回帰分析装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の回帰分析に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図14は、プログラムが実行されることにより、回帰分析装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、回帰分析装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、回帰分析装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
1 回帰分析装置
101 パラメータ設定部
102 初期更新対象設定部
103 初期値設定部
104 第1参照ベクトル設定部
105 非零係数判定部
106 第1係数更新部
107 第2参照ベクトル設定部
108 零係数判定部
109 第2係数更新部
110 KKT条件判定部
111 回帰分析出力部

Claims (7)

  1. lassoを用いて、予測変数の持つ係数を繰り返し更新し回帰分析を行う回帰分析装置であって、
    前記lassoにおけるチューニングパラメータを順次設定するパラメータ設定部と、
    前記パラメータ設定部によって前記チューニングパラメータが設定されるたびに、更新対象である係数を持つ予測変数の集合を設定する初期更新対象設定部と、
    前記パラメータ設定部によって前記チューニングパラメータが設定されるたびに、前記係数の初期値を設定する初期値設定部と、
    前記係数を基に参照ベクトルを設定する第1参照ベクトル設定部と、
    前記チューニングパラメータと、前記参照ベクトルを基に計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により必ず非零になるか否かを判定する非零係数判定部と、
    前記係数のうち、前記非零係数判定部によって必ず非零になると判定された係数を、収束するまで繰り返し更新する第1係数更新部と、
    前記第1係数更新部によって更新された前記係数を基に参照ベクトルをさらに設定する第2参照ベクトル設定部と、
    前記チューニングパラメータと、前記参照ベクトルを基にさらに計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により非零になる可能性があるか否かを判定する零係数判定部と、
    前記係数のうち、前記零係数判定部によって非零になる可能性があると判定された係数を、収束するまで繰り返し更新する第2係数更新部と、
    前記予測変数の集合に含まれる予測変数がKKT条件を満たすか否かを判定し、前記予測変数の全てがKKT条件を満たすまで係数の更新を繰り返し実行させるKKT条件判定部と、
    を有することを特徴とする回帰分析装置。
  2. 前記KKT条件判定部によって、前記チューニングパラメータにおける全ての予測変数がKKT条件を満たすと判定された場合、前記パラメータ設定部に、前記チューニングパラメータにおける前記予測変数を基に次のチューニングパラメータを設定させる回帰分析出力部をさらに有することを特徴とする請求項1に記載の回帰分析装置。
  3. 前記パラメータ設定部は前記チューニングパラメータとして正の値を設定し、
    前記非零係数判定部は、前記下限値が前記チューニングパラメータより大きい、または前記上限値が前記チューニングパラメータを負にした値より小さい場合に、前記係数が更新により必ず非零になると判定することを特徴とする請求項1または2に記載の回帰分析装置。
  4. 前記パラメータ設定部は前記チューニングパラメータとして正の値を設定し、
    前記零係数判定部は、前記上限値が前記チューニングパラメータより大きい、または前記下限値が前記チューニングパラメータを負にした値より小さい場合に、前記係数が更新により非零になる可能性があると判定することを特徴とする請求項1から3のいずれか1項に記載の回帰分析装置。
  5. 前記非零係数判定部は、前記係数のうちのi番目の係数について、上限値を、式(1)により計算し、
    前記零係数判定部は、前記係数のうちのi番目の係数について、下限値を、式(2)により計算することを特徴とする請求項1から4のいずれか1項に記載の回帰分析装置。
    Figure 0006453785
  6. 回帰分析装置が、lassoを用いて、予測変数の持つ係数を繰り返し更新し回帰分析を行う回帰分析方法であって、
    前記lassoにおけるチューニングパラメータを順次設定するパラメータ設定工程と、
    前記パラメータ設定工程によって前記チューニングパラメータが設定されるたびに、更新対象である係数を持つ予測変数の集合を設定する初期更新対象設定工程と、
    前記パラメータ設定工程によって前記チューニングパラメータが設定されるたびに、前記係数の初期値を設定する初期値設定工程と、
    前記係数を基に参照ベクトルを設定する第1参照ベクトル設定工程と、
    前記チューニングパラメータと、前記参照ベクトルを基に計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により必ず非零になるか否かを判定する非零係数判定工程と、
    前記係数のうち、前記非零係数判定工程によって必ず非零になると判定された係数を、収束するまで繰り返し更新する第1係数更新工程と、
    前記第1係数更新工程によって更新された前記係数を基に参照ベクトルをさらに設定する第2参照ベクトル設定工程と、
    前記チューニングパラメータと、前記参照ベクトルを基にさらに計算された上限値および下限値と、が所定の条件を満たすか否かによって、前記係数のそれぞれが更新により非零になる可能性があるか否かを判定する零係数判定工程と、
    前記係数のうち、前記零係数判定工程によって非零になる可能性があると判定された係数を、収束するまで繰り返し更新する第2係数更新工程と、
    前記予測変数の集合に含まれる予測変数がKKT条件を満たすか否かを判定し、前記予測変数の全てがKKT条件を満たすまで係数の更新を繰り返し実行させるKKT条件判定工程と、
    を含んだことを特徴とする回帰分析方法。
  7. コンピュータを、請求項1から5のいずれか1項に記載の回帰分析装置として機能させるための回帰分析プログラム。
JP2016010117A 2016-01-21 2016-01-21 回帰分析装置、回帰分析方法および回帰分析プログラム Active JP6453785B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016010117A JP6453785B2 (ja) 2016-01-21 2016-01-21 回帰分析装置、回帰分析方法および回帰分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016010117A JP6453785B2 (ja) 2016-01-21 2016-01-21 回帰分析装置、回帰分析方法および回帰分析プログラム

Publications (2)

Publication Number Publication Date
JP2017130116A JP2017130116A (ja) 2017-07-27
JP6453785B2 true JP6453785B2 (ja) 2019-01-16

Family

ID=59394852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016010117A Active JP6453785B2 (ja) 2016-01-21 2016-01-21 回帰分析装置、回帰分析方法および回帰分析プログラム

Country Status (1)

Country Link
JP (1) JP6453785B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414713A (zh) * 2019-06-27 2019-11-05 电子科技大学 一种基于同步数据流压缩的径流实时预测方法
CN110916665B (zh) * 2019-12-11 2023-07-07 大连医科大学附属第一医院 一种磁共振扩散加权图像影像组学特征处理方法
JP7472998B2 (ja) 2020-10-07 2024-04-23 日本電信電話株式会社 パラメータ推定装置、秘密パラメータ推定システム、秘密計算装置、それらの方法、およびプログラム
KR102617839B1 (ko) * 2021-02-02 2024-01-23 주식회사 프리시전에스씨엠 국내외 뉴스 자연어처리를 바탕으로 한 상품가격 단기예측 통계분석 알고리즘

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5186322B2 (ja) * 2008-09-26 2013-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 時系列データ解析システム、方法及びプログラム
US20150206050A1 (en) * 2014-01-23 2015-07-23 Qualcomm Incorporated Configuring neural network for low spiking rate

Also Published As

Publication number Publication date
JP2017130116A (ja) 2017-07-27

Similar Documents

Publication Publication Date Title
JP6453785B2 (ja) 回帰分析装置、回帰分析方法および回帰分析プログラム
CN113168591A (zh) 自动化机器学习的高效配置选择
JP2019219712A (ja) 画像特徴学習装置、画像特徴学習方法、画像特徴抽出装置、画像特徴抽出方法、及びプログラム
WO2019194299A1 (ja) 学習装置、学習方法および学習プログラム
JP2023116621A (ja) 強化学習を用いたデータ評価
US20070021952A1 (en) General graphical Gaussian modeling method and apparatus therefore
CN114398479A (zh) 基于时序交互图神经网络的文本分类方法、装置及介质
JP6101650B2 (ja) システムパラメタ学習装置、情報処理装置、方法、及びプログラム
JP6721535B2 (ja) Lle計算装置、lle計算方法及びlle計算プログラム
JP5964781B2 (ja) 検索装置、検索方法および検索プログラム
JP2018073285A (ja) L1グラフ計算装置、l1グラフ計算方法及びl1グラフ計算プログラム
JP2002175305A (ja) 遺伝子ネットワークを推測するためのグラフィカルモデリング法及びそのための装置
CN111126443A (zh) 基于随机游走的网络表示学习方法
JP6659618B2 (ja) 分析装置、分析方法及び分析プログラム
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
US11676050B2 (en) Systems and methods for neighbor frequency aggregation of parametric probability distributions with decision trees using leaf nodes
WO2021176734A1 (ja) 学習装置、学習方法、学習プログラム、推定装置、推定方法及び推定プログラム
US20220391742A1 (en) Quantum computer system and method for combinatorial optimization
JP5766753B2 (ja) システムパラメータ学習装置、情報処理装置、方法、及びプログラム
Rajnarayan et al. Optimization under uncertainty using probability collectives
JP7439923B2 (ja) 学習方法、学習装置及びプログラム
JP6181602B2 (ja) ラベリング装置、ラベリング方法およびラベリングプログラム
JP6161581B2 (ja) モデルパラメータ推定装置、方法、及びプログラム
WO2019194285A1 (ja) 計算装置、計算方法および計算プログラム
CN112528123A (zh) 模型搜索方法、装置、电子设备、存储介质和程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

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: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181213

R150 Certificate of patent or registration of utility model

Ref document number: 6453785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150