R의 메모리 제약은 무엇입니까?


10

리뷰어는Applied Predictive Modeling ”을 검토하면서 다음같이 말합니다 .

통계 학습 (SL) 교육학에 대한 한 가지 비판은 다른 모델링 기법의 평가에서 계산 성능 고려 사항이 없다는 것입니다. SL은 부트 스트랩과 모델의 튜닝 / 테스트를위한 교차 검증에 중점을 두어 계산 집약적입니다. 그에 더하여 bagging 및 boosting과 같은 기술에 포함 된 리샘플링에 큰 데이터 세트에 대한 감독 학습을위한 계산 지옥이 있습니다. 실제로 R의 메모리 제약 조건은 임의 포리스트와 같은 최고 성능의 방법으로 적합 할 수있는 모델 크기에 상당히 심각한 제한을가합니다. SL은 소규모 데이터 세트에 대해 모델 성능을 교정하는 작업을 잘 수행하지만 더 큰 데이터의 성능과 계산 비용을 이해하는 것이 좋습니다.

R의 메모리 제약 조건은 무엇이며 랜덤 포레스트 와 같은 최고 성능의 방법으로 적합 할 수있는 모델 크기에 심각한 제한을 가합 니까?


답변:


10

Konstantin이 지적했듯이 R은 시스템 메모리, 즉 RAM에서 모든 계산을 수행합니다. 따라서 RAM 용량은 R의 계산 집약적 인 작업에 매우 중요한 제약 조건입니다.이 제약 조건을 극복하면서 요즘에는 데이터가 메모리에로드되지 않고 프로그램이 실행되는 대신 프로그램이 데이터로 이동하는 HDFS 시스템에 데이터가 저장되고 있습니다. 작업을 수행하여 메모리 제약 조건을 극복합니다. RHadoop ( https://github.com/RevolutionAnalytics/RHadoop/wiki )는 찾고있는 커넥터입니다.

계산 집약적 인 알고리즘에 미치는 영향으로 인해 랜덤 포레스트 / 의사 결정 트리 / 앙상블 방법은 상당한 양의 데이터 (내 경험에서 최소 50,000 개의 관찰)에 많은 메모리를 차지하고 상당히 느립니다. 프로세스 속도를 높이기 위해 병렬화가 진행되고 Hadoop에서 병렬화가 기본적으로 제공됩니다! 바로 여기에서 하둡이 정말 효율적입니다.

따라서 계산 집약적이고 속도가 느린 앙상블 방법을 사용하려는 경우 상당한 성능 향상을 제공하는 HDFS 시스템을 사용해보십시오.


1
+1 기존 답변을 개선하기 위해 시간을내어 주셔서 감사합니다. 내 의견으로는 귀하의 답변이 이제 더 나은 답변입니다. 귀하의 답변을 답변으로 선택했습니다. 건배!
blunders

기쁘다!
binga

8

R은 모든 계산을 인 메모리로 수행하므로 사용 가능한 RAM 양보다 큰 데이터 세트에서 작업을 수행 할 수 없습니다. 그러나 R을 사용하여 빅 데이터를 처리 할 수있는 라이브러리와 하둡과 같은 빅 데이터 처리를 위해 널리 사용되는 라이브러리 중 하나가 있습니다.


3

이 비평은 더 이상 정당화되지 않습니다 :

대부분의 표준이자 가장 존경받는 R 라이브러리가 메모리 내 계산으로 제한되었다는 것이 사실이지만 메모리에 맞지 않는 데이터를 처리하는 특수 라이브러리가 점점 더 많아지고 있습니다.
예를 들어, 큰 데이터 집합의 임의 포리스트의 경우 라이브러리가 bigrf있습니다. 자세한 정보는 여기 : http://cran.r-project.org/web/packages/bigrf/

또 다른 성장 분야는 R이 hadoop과 같은 빅 데이터 환경과 연결되어 다른 가능성의 세계를 여는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.