Обработка регулярно увеличивающегося набора функций

datascience.stackexchange https://datascience.stackexchange.com/questions/634

  •  16-10-2019
  •  | 
  •  

Вопрос

Я работаю над системой обнаружения мошенничества. В этой области новые мошенничества появляются регулярно, так что новые функции должны быть добавлены в модель на постоянной основе.

Интересно, как лучше всего справиться с этим (с точки зрения процесса разработки)? Просто добавление новой функции в вектор функций и повторное обучение классификатора, кажется, является наивным подходом, потому что для повторного обучения старых функций будет потрачено слишком много времени.

Я думаю на пути к обучению классификатора для каждой функции (или пару связанных функций), а затем объединить результаты этих классификаторов с общим классификатором. Есть ли недостатки этого подхода? Как выбрать алгоритм для общего классификатора?

Это было полезно?

Решение

В идеальном мире вы сохраняете все свои исторические данные и действительно запускаете новую модель с новой функцией, извлеченной задним числом из исторических данных. Я бы сказал, что вычислительный ресурс, потраченный на это, на самом деле весьма полезен. Это действительно проблема?

Да, это широко распространенная техника для создания ансамбля классификаторов и объединения их результатов. Вы можете построить новую модель параллельно только на новых функциях и среднем в его прогнозе. Это должно добавить ценность, но вы никогда не поймете взаимодействие между новыми и старыми функциями таким образом, поскольку они никогда не появятся вместе в классификаторе.

Другие советы

Вот идея, которая только что выскочила из синего - что если вы используете Случайная подпространственная выборка (Как фактически, Шон Оуэн уже предложил) обучать кучу новых классификаторов каждый раз, когда появляется новая функция (используя случайную подмножество функций, включая новый набор функций). Вы можете обучить эти модели на подмножество образцов, чтобы сэкономить время на обучение.

Таким образом, вы можете иметь новые классификаторы, возможно, принять как новые, так и старые функции, и в то же время сохраняя ваши старые классификаторы. Вы могли бы даже, возможно, используя методику перекрестной проверки для измерения производительности каждого классификатора, если через некоторое время сможет избежать раздутой модели.

То, что вы описываете, попадает в категорию концепция дрейфа в машинном обучении. Вы можете найти интересные и действенные идеи в этом Краткое документ и вы найдете таксономию возможных подходов в эти слайды.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top