최소한의 메모리를 사용하여 데이터를 훈련하는 가장 효율적인 방법은 무엇입니까?


10

이것은 내 훈련 데이터입니다 : 200,000 예제 x 10,000 기능. 내 훈련 데이터 매트릭스는-200,000 x 10,000입니다.

각 예제의 기능을 생성 할 때마다 모든 데이터 세트를 하나씩 저장하여 메모리 문제없이 플랫 파일로 저장했습니다.

그러나 이제 Milk , SVM light 또는 기타 기계 학습 알고리즘을 사용하면 모든 것이 학습 데이터 대신 하나씩 전체 교육 데이터를로드하려고 시도합니다. 그러나 나는 단지 8GB RAM을 가지고 있으므로이 방법으로 진행할 수 없습니다.

어쨌든 하나의 데이터 세트로 하나의 데이터 세트로 알고리즘을 학습 할 수 있다는 것을 알고 있습니까? 즉, 교육하는 동안 언제든지 하나의 데이터 세트를 메모리에로드 할 수 있습니다.


1
"모든 데이터 세트를 하나씩 저장"한다는 것은 무엇을 의미합니까? "모든 데이터 라인"을 의미합니까? 하나씩 저장하는 여러 데이터 세트가있는 경우 하나씩 하나씩로드하고 알고리즘을 각 알고리즘에 맞추지 않겠습니까?
Zach

1
"하나의 데이터 세트에 의한 하나의 데이터 세트"는 라인 단위를 의미합니까? 즉, 하나의 데이터 세트 = 10000 기능? 이 경우 온라인 알고리즘이 원하는 것일 수 있습니다. en.wikipedia.org/wiki/Online_algorithmen.wikipedia.org/wiki/Online_machine_learning을 참조하십시오 . 많은 머신 기대 알고리즘 (예 : SVM 및 임의 포리스트)에 대한 온라인 버전이 있습니다.
Herra Huu

고맙습니다. Zach와 Herra. 질문을 하나 하나 더 명확하게 정의하기 위해 편집했습니다. 그리고 네, 온라인 학습을 생각하고 있었지만 온라인 알고리즘에 대해서는 생각하지 않았습니다.
madCode

답변:


4

이러한 유형의 학습에 대한 용어는 핵심 학습 이라고 생각합니다 . 한가지 제안은 vowpal wabbit인데 , 이것은 편리한 R 라이브러리 와 다른 많은 언어를위한 라이브러리를 가지고 있습니다.


설치 중에 부스트 관련 종속성 문제가 있습니다. 내가 왜 이것을 얻는 지에 대한 아이디어가 있습니까? bit.ly/L939DO
madCode

@madCode 나는 실제로 vowpal wabbit을 사용한 적이 없으므로 설치를 도울 수 없습니다. 메일 링리스트가 훌륭하다고 들었습니다. 메일 링리스트 설정에 대한 도움말을 찾을 수있을 것입니다.
Zach

이봐. 잘 작동했습니다. 나는 그것을 설치하고 심지어 나에게 예측을 제공합니다. 고마워 :-)
madCode

1

나는 Zach의 제안을 진심으로 두 번째로한다. vowpal wabbit는 훌륭한 옵션이며 속도가 놀라 울 것입니다. vowpal wabbit의 규범에서는 200k x 10k 데이터 세트를 크게 고려하지 않습니다.

vowpal_wabbit ( https://github.com/JohnLangford/vowpal_wabbit 를 통해 소스 형식으로 사용 가능 , 이전 버전은 우분투 유니버스의 표준 패키지로 제공됨)는 매우 유연한 입력을 갖춘 빠른 ​​온라인 선형 + 이중 선형 학습자입니다. 이진 및 숫자 값 기능을 혼합 할 수 있습니다. 변수 이름이 "있는 그대로"작동하므로 기능에 번호를 지정할 필요가 없습니다. 다양한 옵션, 알고리즘, 축소, 손실 함수 및 전체적으로 뛰어난 유연성을 제공합니다. 메일 링리스트에 가입하고 (github을 통해 검색) 질문을 할 수 있습니다. 커뮤니티는 매우 지식이 풍부하고 지원 적입니다.


1

나는 비슷한 질문에 대답 여기 . 포인트는 대부분의 머신 러닝 / 데이터 마이닝 알고리즘은 모든 데이터를 메모리에로드하는 배치 학습자입니다. 따라서 매우 큰 데이터 세트에 대해 다른 도구가 필요합니다. 그 질문의 도구도 참조하십시오.

온라인 학습은 알고리즘의 메모리 사용 공간을 줄이는 방법입니다.

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