Skip to main content
QUICK REVIEW

[논문 리뷰] Fast Penalized Regression and Cross Validation for Tall Data with the oem Package

Jared D. Huling, Peter Z. G. Qian|arXiv (Cornell University)|2018. 01. 29.
Statistical Methods and Inference인용 수 8
한 줄 요약

이 논문은 관측 수가 변수 수보다 훨씬 많은 '큰 세로형 데이터'(tall data) 환경에서 빠른 정규화된 회귀 및 교차검증을 위한 고성능 R 패키지인 oem을 소개한다. 이 패키지는 최적화된 C++ 및 OpenMP 병렬 처리를 활용한 수직화 기반 기대최대화(OEM) 알고리즘을 기반으로 하며, 라소, MCP, 엘라스틱넷 등 여러 정규화 방법을 효율적으로 처리할 수 있다. 또한 메모리에 올릴 수 없을 정도로 큰 데이터셋에 대해서도 메모리 외 처리를 지원한다.

ABSTRACT

A large body of research has focused on theory and computation for variable selection techniques for high dimensional data. There has been substantially less work in the big tall data paradigm, where the number of variables may be large, but the number of observations is much larger. The orthogonalizing expectation maximization (OEM) algorithm is one approach for computation of penalized models which excels in the big tall data regime. The oem package is an efficient implementation of the OEM algorithm which provides a multitude of computation routines with a focus on big tall data, such as a function for out-of-memory computation, for large-scale parallel computation of penalized regression models. Furthermore, in this paper we propose a specialized implementation of the OEM algorithm for cross validation, dramatically reducing the computing time for cross validation over a naive implementation.

연구 동기 및 목표

  • 관측 수 n가 변수 수 p보다 훨씬 큰 '큰 세로형 데이터'(n ≫ p) 환경에서 정규화된 회귀의 계산적 병목 현상을 해결하며, 이는 p ≫ n 환경에 비해 아직 다루어지지 않은 분야이다.
  • 최소한의 계산 오버헤드로 라소, MCP, 엘라스틱넷 등 여러 정규화된 회귀 모델을 동시에 피팅할 수 있는 통합적이고 효율적인 프레임워크를 개발한다.
  • 모델 선택의 주요 병목 현상인 교차검증의 시간 소모를 줄이기 위해 특수화된 OEM 기반 교차검증 알고리즘을 도입한다.
  • 메모리에 올릴 수 없을 정도로 큰 데이터셋에 대해서도 메모리 외 계산을 가능하게 하여, 테라바이트 규모의 데이터에 대해 모델 피팅이 가능하도록 한다.
  • 효율적인 조정 파rameter 선택과 XᵀX 및 Xᵀy와 같은 사전 계산된 통계량에의 접근을 제공함으로써 실용적인 모델 피팅 워크플로우를 지원한다.

제안 방법

  • 고성능 수치 선형 대수 계산을 위해 Eigen 라이브러리를 사용한 C++로 수직화 기반 기대최대화(OEM) 알고리즘을 구현한다.
  • RcppEigen를 활용해 효율적인 R 인터페이스를 제공하여 R 워크플로우와 원활하게 통합할 수 있도록 한다.
  • 다중 CPU 코어를 활용한 공유 메모리 병렬 처리를 위해 OpenMP를 활용하여 대규모 데이터셋에서의 계산을 가속화한다.
  • OEM 알고리즘에서 도출된 중간 계산 결과를 재사용하는 특수화된 교차검증 루틴을 설계하여 중복 계산을 줄이고 교차검증 시간을 크게 단축시킨다.
  • bigmemory 패키지를 통합하여 디스크에 저장된 데이터를 참조함으로써 메모리 외 계산을 가능하게 하여 전체 데이터를 RAM에 로드하지 않고도 모델을 피팅할 수 있도록 한다.
  • 사전 계산된 통계량(XᵀX, Xᵀy)을 다룰 수 있는 인터페이스를 제공하여, 데이터가 분산되어 있거나 HPC 클러스터에서 이미 처리된 경우에 유용하다.

실험 결과

연구 질문

  • RQ1관측 수 n이 변수 수 p보다 훨씬 큰 '큰 세로형 데이터' 환경에서 정규화된 회귀를 어떻게 계산적으로 효율적으로 만들 수 있는가? 특히 여러 정규화 방법을 평가해야 할 경우에 대해.
  • RQ2라소, MCP, 엘라스틱넷 등 여러 정규화 방법에 대해 조정 파arameter 전체 경로를 동시에 계산할 수 있는 통합 프레임워크를 구축할 수 있는가? 이때 단일 정규화 방법에 비해 성능이 떨어지지 않는가?
  • RQ3정규화된 회귀에서 교차검증의 계산 비용을 극적으로 줄이기 위해 어떤 최적화 전략을 적용할 수 있는가?
  • RQ4메모리에 올릴 수 없을 정도로 큰 데이터셋에 대해 정규화된 회귀 모델을 어떻게 피팅할 수 있으며, 이는 실세계의 대규모 데이터 응용에 어떤 실용적 영향을 미치는가?
  • RQ5glmnet, ncvreg, gglasso와 같은 기존 패키지들과 비교했을 때 OEM 알고리즘이 선형 회귀 및 로지스틱 회귀 환경 모두에서 해의 정확도와 수렴 속도를 얼마나 향상시키는가?

주요 결과

  • oem 패키지는 중간 OEM 계산 결과를 재사용함으로써 교차검증 시간을 크게 단축시켜, 특히 큰 n에 대해 기존의 난이도 높은 방법에 비해 놀라운 성능 향상을 이룬다.
  • 선형 회귀에서 oem()은 glmnet, gglasso, ncvreg보다 더 정밀한 목적함수 값을 도출한다. 이 차이는 10⁻¹⁴에서 10⁻¹² 수준이다.
  • 로지스틱 회귀에서 oem()은 전체 헤시안을 사용할 경우 다른 방법들보다 훨씬 낮은 목적함수 값을 기록하며, glmnet와 비교해 최소 -7.01×10⁻¹⁴의 차이를 보여 수렴 정확도가 뛰어나다는 것을 시사한다.
  • 헤시안 상한을 사용한 oem()의 구현은 glmnet(ub) 및 기타 패키지들보다도 뛰어나며, 일부 케이스에서는 목적함수 값의 차이가 최대 -5.48×10⁻³까지 나타나 정밀도와 강건성이 뛰어나다는 것을 보여준다.
  • 이 패키지는 랩탑만으로도 수백 GB에 이르는 데이터셋에 대해 메모리 외 모델 피팅을 가능하게 하여 확장성과 실용적 유용성을 입증한다.
  • XᵀX와 Xᵀy가 사전 계산된 경우 oem는 전체 데이터를 메모리에 로드하지 않고도 빠른 모델 피팅을 가능하게 하여 분산 컴퓨팅 환경에서의 효율적 분석을 가능하게 한다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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