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)|2017. 01. 20.
Machine Learning and Data Classification참고 문헌 12인용 수 43
한 줄 요약

이 논문은 메모리와 계산이 효율적인 lasso 모델 피팅을 위한 biglasso R 패키지를 소개한다. 이 패키지는 메모리 매핑 파일을 활용한 외부 메모리 계산과 새로운 하이브리드 안전-강력 특성 필터링 규칙을 통해 초거대 데이터에서 lasso 모델을 학습시킨다. 이는 가용 메모리보다 큰 데이터셋, 즉 16GB RAM이 있는 랩탑에서 31GB의 전장 유전연결 분석(GWAS) 데이터를 성공적으로 분석함으로써 실증되었으며, 기존 패키지인 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 패키지로는 가용 메모리보다 큰 데이터셋에서 lasso 모델 피팅을 효율적으로 수행할 수 있는가?
  • RQ2제안된 하이브리드 필터링 규칙(SSR-BEDPP)이 기존 규칙인 SSR 및 SEDPP와 비교해 속도와 정확도 측면에서 어떻게 성능을 내는가?
  • RQ3메모리 매핑 파일 I/O와 외부 메모리 계산은 메모리 사용을 얼마나 줄일 수 있으며, 계산 효율성은 유지되는가?
  • RQ4실제 대용량 데이터, 예를 들어 31GB의 전장 유전연결 분석(GWAS)에서 biglasso 패키지는 어떻게 확장되는가?
  • RQ5모델 정확도를 희생시키지 않고도 기존 R 패키지인 glmnet과 ncvreg보다 뚜렷한 성능 향상을 달성할 수 있는가?

주요 결과

  • biglasso 패키지는 표준 랩탑에서 16GB RAM만으로 31GB 데이터셋에 대해 lasso 모델을 성공적으로 피팅하여 진정한 외부 메모리 계산을 실현했다.
  • 새로운 SSR-BEDPP 필터링 규칙을 통해 기존 패키지인 glmnet 대비 1.5배에서 4배 빠른 성능을 달성했다.
  • λ_min/λ_max = 0.5일 때, 4코어에서 SSR-BEDPP는 총 계산 시간을 SSR의 286분에서 103분으로 줄였다.
  • 중복 데이터 복사 제거와 효율적인 메모리 관리 덕분에 biglasso는 glmnet 대비 최소 2배 이상 메모리 사용을 줄였다.
  • 4코어를 사용하여 선형 회귀의 경우 31GB GWAS 데이터의 해 경로를 94분 내로 계산했고, 로지스틱 회귀의 경우 146분이 소요되었다.
  • λ = 0.06일 때 모델은 23개의 변수를 선택했으며, 계수 추정치와 변수 선택 결과가 정확하게 복원되었다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.