Підходи при навчанні з величезних наборів даних?


10

В основному, існує два поширених способи навчитися проти величезних наборів даних (коли ви стикаєтесь із обмеженнями часу та простору):

  1. Обман :) - використовуйте просто "керований" підмножину для тренувань. Втрата точності може бути незначною через закон зменшення віддачі - прогнозована ефективність моделі часто вирівнюється задовго до того, як у неї будуть включені всі дані тренувань.
  2. Паралельні обчислення - розділіть проблему на менші частини та вирішіть кожну на окремій машині / процесорі. Вам потрібна паралельна версія алгоритму, але гарна новина полягає в тому, що багато загальних алгоритмів є, природно, паралельними: найближчий сусід, дерева рішень тощо.

Чи існують інші методи? Чи є якесь правило, коли використовувати кожне? Які недоліки кожного підходу?

Відповіді:


10

Stream Mining - одна відповідь. Його також називають:


погодився, інструментарій MOA буде гарним місцем для початку
вдв

7

Замість використання лише одного підмножини можна використовувати декілька підмножин, як у міні-пакетному навчанні (наприклад, стохастичний градієнтний спуск). Таким чином, ви все одно будете використовувати всі свої дані.


Ага, це хороший момент - я уточнив питання. Мене цікавить сценарій, коли ви стикаєтесь з обмеженнями часу та простору та не можете собі дозволити міні-серійне навчання.
andreister

1

Такі ансамблі, як упаковка або змішування - жодних даних не витрачається, проблема автоматично стає тривіально паралельною, і можливо, буде досягнуто значної точності / надійності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.