LASSOソリューションを計算するためのGLMNETまたはLARS?


13

LASSO問題の係数を取得したい

||YXβ||+λ||β||1.

問題は、glmnet関数とlars関数が異なる答えを与えることです。glmnet関数については、係数を求めます| Y | | 単にλの代わりに、私はまだ異なる答えを得る。λ/||Y||λ

これは予想されますか?ラースとの関係は何であるとglmnet λは?私はglmnetがLASSOの問題に対してより高速であることを理解していますが、どの方法がより強力かを知りたいですか?λλ


deps_statsデータセットのサイズが大きすぎてLARSが処理できないのに対して、glmnetは大きなデータセットを処理できません。

mpiktas(Y-Xb)^ 2 + L \ sum | b_j |の解を見つけたい しかし、2つのアルゴリズム(larsとglmnet)から特定のLの計算された係数を求めると、異なる答えが得られます...そして、それは正しい/期待されているのでしょうか?または、2つの関数に間違ったラムダを使用しています。


1
問題を説明する例を提供してください。また、アルゴリズムの力をどのように定義しますか?
mpiktas

1
いくつかのプロジェクトでglmnetおよびlarsパッケージを使用しました。私の限られた経験では、glmnetの実装に多くの問題がありました。glmnetでは、データフレームで使用される変数のタイプに関するいくつかのバグ修正が必要だと思います。また、glmnetにはわかりにくいドキュメントがあります。larsを使用することになり、結果に非常に満足しました。あなたの問題の大きさを決して気にしないでください、私はlarsがそれを処理できると思います。
deps_stats

「問題はglmnetとlars関数が異なる答えを与えることです。」私は同じ問題を抱えています。回答はありますか?
付与

係数の大幅に異なる答え?また、元の投稿を読んだだけでglmnet、LARSの実装からではなく、おそらくLARS実装からの単一のラムダソリューションを要求するべきではありません。バイアスと分散のスペクトルに沿った幅広いソリューションを提供します。これにより、実際の係数の比較が難しくなります。それでも、同じ変数はおそらく同様の順序でゼロ以外になるはずです。
シアパークス

回答:


14

私の経験では、LARSは小さな問題、非常にまばらな問題、または非常に「広い」問題(サンプルよりもはるかに多くの機能)に対して高速です。実際、完全な正則化パスを計算しない場合、その計算コストは​​選択した機能の数によって制限されます。一方、大きな問題の場合、glmnet(座標降下最適化)は高速です。とりわけ、座標降下法は優れたデータアクセスパターン(メモリフレンドリー)を備えており、部分適合に収束するため、非常に大きなデータセットのデータの冗長性の恩恵を受けることができます。特に、データセットが強く相関していません。

私たち(scikit-learnの中核開発者)も来たという結論は、データについての先験的な知識が十分にない場合は、glmnetを使用する(または、降下最適化を調整して、アルゴリズムについて話す必要がある)ということです。実装よりも)。

Julien Mairalの論文で興味深いベンチマークを比較できます。

http://www.di.ens.fr/~mairal/resources/pdf/phd_thesis.pdf

セクション1.4、特に1.4.5(22ページ)

Julienの結論はわずかに異なりますが、問題の分析は似ています。これは、彼が非常に広範な問題に非常に興味を持っていたからだと思う。


あなたの回答のほとんどはCWで作成されています(ここでは、metaoptimize.com / qaでも)...理由は何ですか?
-chl

1
人々がタイプミスや間違った言い回しを修正できれば良いと思うからです...私は答えを継続的に改善するというアイデアが好きです。これはベストプラクティスに反していますか?
ガエルバロクオー

2
私は2つまたは3つのタイプミスを修正しました。投稿の編集に必要な低い担当者を考えているのでない限り、CW自体とは関係ありません!ただし、ユーザーは編集を提案できます。ただし、CWに返信しても、それらから返信を得ることができません。あなたは担当者の後ではないでしょうが、あなたの反応は常によく置かれていたので、私はただ疑問に思っていました...乾杯。
-chl

1

LASSOは、複数のフィーチャが完全な共線性を持つ場合に一意ではありません。以下に、それを証明するための簡単な思考実験を示します。

yx1x2yx1x2yx1x2β1=1Pβ2=0Pβ1=0β21P


2
@dsmcha、これを言ってすみませんが、私はその例をあまり好きではないと思います。応答は2つの予測子と同じですか?私の見解では、それは病的なものではありません。
枢機

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.