2017-10-09 2 views
0

전철 파일이 약 8GB 인 기계 학습 선형 회귀 문제를 연구 중입니다.선형 회귀 기계 거대한 데이터로 모델 학습 학습

내 Tp가 높은 구성이지만 지원하지 않습니다. 따라서 교육 목적으로 전체 파일을 전달하는 대신 열차 파일을 10/20 파일로 나누고이 파일을 하나씩 차례로 모델링 할 수 있습니까?

이 접근 방식이 효과가 있습니까, 아니면 전체 데이터를 한 번에 모델링해야합니까?

+0

당신은 더 많은 정보를 제공 할 수 있을까? 너 뭐 해봤 니? 왜 8GB 파일을 실행할 수 없습니까? (대부분의 기계 학습에서 비교적 작음)? 당신의 컴퓨터 학습을 위해 당신은 무엇을 사용하고 있습니까? 이 정보는 더 나은 답변을 제공하는 데 도움이됩니다. 감사합니다. –

+0

우리는 어떤 종류의 데이터를 말하고 있습니까? 샘플을 줄 수 있습니까? 컴퓨터의 사양은 무엇이며 8Gb는 아주 작은 데이터 세트가 아니지만 거대하지 않습니다! 덩어리로 실행하는 것은 큰 문제는 아니지만 먼저 정보가 필요합니다! –

+0

안녕하세요 스티브, 선형 회귀를 사용하여 지불 할 금액을 예측하려고합니다. 진행 방법을 제안 해주십시오. 아래의 코드를 찾으십시오 : –

답변

0

예, 작동합니다. 그렇게하기 위해 Stochastic Gradient Descent라고 불리우며, 데이터가 메모리에 들어 가지 않을 때 훈련하는 표준 방법입니다.

스토캐스틱은 "임의성이 있음"을 의미하며 모든 데이터의 실제 그래디언트가 아니라 일부 데이터를 기반으로하는 그래디언트의 근사값을 따르기 때문에이 값이라고합니다. 정확한 옳은 방향으로 항상 업데이트하는 것은 아니지만 단계 크기가 충분히 작고 배치가 충분히 큰 경우 절차는 여전히 잘 작동합니다.

주의 사항 : 각 파일마다 하나씩 완료하도록 교육 할 수 없습니다. 이렇게하면 두 번째 파일을 교육하면 첫 번째 파일에서 배운 값을 잊게됩니다.

대신 데이터의 "배치"라고 불리는 것에 대해 교육해야하며 배치 당 하나의 업데이트 단계를 수행해야합니다.

for file in files: 
    while not Model.stop_condition(): 
     Model.train_step(file) 

그리고 이것은 좋은 :

그래서,이 나쁜

while not Model.stop_condition(): 
    for file in files: 
     Model.train_step(file) 
+0

안녕 샘, 솔루션 주셔서 감사. .csv 파일을 하나씩 읽고 모델을 교육하는 데 참조 할 수있는 코드를 제공하면 매우 유용합니다. –