Skip to main content
QUICK REVIEW

[論文レビュー] The biglasso Package: A Memory- and Computation-Efficient Solver for Lasso Model Fitting with Big Data in R

Yaohui Zeng, Patrick Breheny|arXiv (Cornell University)|Jan 20, 2017
Machine Learning and Data Classification参考文献 12被引用数 43
ひとこと要約

本稿では、メモリマップドファイルを用いたオフライン計算と、新規のハイブリッド・セーフ・ストロング特徴スクリーニングルールを活用することで、メモリと計算の両面で効率的なlassoモデルのフィッティングを実現するRパッケージbiglassoを紹介する。この手法により、利用可能なRAMより大きなデータセット(31 GBのゲノムワイド関連解析を含む)を、16 GBのRAMを持つノートパソコン上でも効率的に処理可能であり、既存のパッケージ(例:glmnet)と比較して1.5倍から4倍の高速化を達成した。

ABSTRACT

Penalized regression models such as the lasso have been extensively applied to analyzing high-dimensional data sets. However, due to memory limitations, existing R packages like glmnet and ncvreg are not capable of fitting lasso-type models for ultrahigh-dimensional, multi-gigabyte data sets that are increasingly seen in many areas such as genetics, genomics, biomedical imaging, and high-frequency finance. In this research, we implement an R package called biglasso that tackles this challenge. biglasso utilizes memory-mapped files to store the massive data on the disk, only reading data into memory when necessary during model fitting, and is thus able to handle out-of-core computation seamlessly. Moreover, it's equipped with newly proposed, more efficient feature screening rules, which substantially accelerate the computation. Benchmarking experiments show that our biglasso package, as compared to existing popular ones like glmnet, is much more memory- and computation-efficient. We further analyze a 31 GB real data set on a laptop with only 16 GB RAM to demonstrate the out-of-core computation capability of biglasso in analyzing massive data sets that cannot be accommodated by existing R packages.

研究の動機と目的

  • 可用メモリを超える超高次元で、数ギガバイトにのぼるデータセットを処理できる現行のRパッケージ(例:glmnet や ncvreg)の限界を克服すること。
  • メインメモリを超えるデータセットを処理できる、スケーラブルなオフラインlassoソルバーをRで開発すること。
  • 最適化されたデータ処理と特徴スクリーニングにより、メモリと計算のオーバーヘッドを低減すること。
  • 高価な計算リソースを必要とせず、標準的なハードウェア(例:ノートパソコン)でも実用的な大規模データ分析を可能にすること。

提案手法

  • 大規模データセットをディスク上に保存し、計算中に必要な部分のみをメモリに読み込むことで、シームレスなオフライン処理を実現するメモリマップドファイルを活用する。
  • lasso問題の解法に、高い効率性が知られるパスワイズ座標降下法とウォームスタートを採用する。
  • セーフルールとストロングルールを組み合わせた、新規のハイブリッドスクリーニングルール(SSR-BEDPP)を導入し、不要な特徴を早期に除外することで収束を加速する。
  • 重複するデータコピーを回避することで、メモリ効率を高め、glmnetと比較して少なくとも2倍のメモリ使用量削減を実現する。
  • パフォーマンスが求められる計算にはC++を、複数CPUコアでの共有メモリ並列処理にはOpenMPを活用する。
  • 大容量行列を永続的なディスクバックドオブジェクトとして管理し、Rのメモリ内オブジェクトと同様にアクセス可能なbigmemoryパッケージを活用する。

実験結果

リサーチクエスチョン

  • RQ1標準的なRパッケージを用いて、利用可能なRAMを超えるデータセットに対してlassoモデルのフィッティングを効率的に行うことは可能か?
  • RQ2提案されたハイブリッドスクリーニングルール(SSR-BEDPP)は、従来のルール(SSR や SEDPP)と比較して、スピードと正確性の面でどのように差をつけるか?
  • RQ3メモリマップドファイルI/Oとオフライン計算により、メモリ使用量をどれほど削減できるか、同時に計算効率を維持できるか?
  • RQ4実世界の大規模データ(例:31 GBのゲノムワイド関連解析)に対して、biglassoパッケージはどのようにスケーリングするか?
  • RQ5モデルの正確性を損なわず、既存のRパッケージ(例:glmnet や ncvreg)と比較して顕著な高速化を達成できるか?

主な発見

  • biglassoパッケージは、16 GBのRAMを持つ標準的なノートパソコン上でも、31 GBのデータセットに対してlassoモデルを正常にフィッティングし、真のオフライン計算を実現した。
  • 新規のSSR-BEDPPスクリーニングルールの導入により、glmnetなどの既存パッケージと比較して1.5倍から4倍の高速化を達成した。
  • λ_min/λ_max = 0.5の場合、SSRによる合計計算時間は286分であったが、SSR-BEDPPでは103分に短縮された(4コア使用時)。
  • 重複するデータコピーの削除と効率的なメモリ管理により、biglassoはglmnetと比較して少なくとも2倍のメモリ使用量削減を達成した。
  • 31 GBのGWASデータの解パスは、線形回帰で94分、ロジスティック回帰で146分(4コア使用時)で計算された。
  • λ = 0.06のとき、モデルは23個の変数を選択し、係数推定値と変数選択結果が正確に回復された。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。