По сути, есть два распространенных способа обучения на огромных наборах данных (когда вы сталкиваетесь с ограничениями времени / пространства):
- Обман :) - используйте только «управляемое» подмножество для обучения. Потеря точности может быть незначительной из-за закона убывающей отдачи - прогностическая эффективность модели часто выравнивается задолго до того, как все обучающие данные включаются в нее.
- Параллельные вычисления - разбейте проблему на более мелкие части и решите каждую на отдельной машине / процессоре. Вам нужна параллельная версия алгоритма, но хорошая новость заключается в том, что многие распространенные алгоритмы естественным образом параллельны: ближайший сосед, деревья решений и т. Д.
Есть ли другие методы? Есть ли эмпирическое правило, когда использовать каждый? Каковы недостатки каждого подхода?