Некоторые специалисты увеличивают объем моделирования, чтобы произвести впечатление на клиентов, но, безусловно, качество тоже важно.

Недавно я столкнулся с необычной презентацией науки о данных. Специалисты по обработке данных, представившие презентацию, испробовали более трехсот различных алгоритмов в поисках подходящей модели.

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

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

Другая трудность заключается в том, что многие из так называемых различных алгоритмов оказались близкими родственниками друг другу, например C4.5 и C5.0, безусловно, разные, но разница не так велика, как между C4.5 и GUIDE или QUEST, и гораздо меньше, чем между C4.5 и пассивно-агрессивным классификатором или классификатором на основе перцептрона (будь то одиночный перцептрон или сеть).

Хотя циник во мне говорит, что они на самом деле не верили, что нет способа идентифицировать алгоритмы, которые с большей или меньшей вероятностью будут успешными с самого начала, и пытались раздуть количество алгоритмов, которые они пробовали, потому что они думали, что это дает их работы кажутся более впечатляющими, по крайней мере, у меня возникает несколько вопросов. Номер один - сколько моделей следует попробовать, прежде чем решить, что этого достаточно? Два - с чего начать? Три - как вы можете сделать обоснованное предположение о том, какие алгоритмы следует включить в качестве приоритетных, а какие - исключить?

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

Во-первых, если есть причина полагать, что предположения, лежащие в основе линейной регрессии, не нарушаются вопиющим образом (после применения любого соответствующего преобразования), ваше первое предпочтение должно заключаться в использовании вашей регрессионной или основанной на GLM модели, поскольку объяснимость и диагностика будут лучше. чем практически любой другой алгоритм машинного обучения, о котором вы можете подумать.

Обычно это будет для относительно небольших наборов данных, где есть четкое предварительное понимание взаимосвязи. Например, мой первый опыт регрессии был связан с данными экспериментальной химии, где было заранее известно, что существует линейная зависимость, а отклонения можно было списать на экспериментальную ошибку или ошибку измерения.

У регрессионных моделей также есть то преимущество, что вы можете выборочно увеличивать сложность модели, например, выбирая, следует ли включать определенные взаимодействия, или даже допускать некоторую степень нелинейности.

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

Хотя может показаться, что деревья решений сокращают время моделирования за счет автоматического поиска взаимодействий, иногда это может иметь неприятные последствия, поскольку трудно найти баланс между агрессивной моделью, которая может точно соответствовать данным, и моделью, которая хорошо обобщает. Более того, глубокие деревья с множеством взаимодействий на самом деле очень трудно объяснить.

Если деревья решений или регрессионные модели не могут обеспечить необходимую точность, вы можете рассмотреть более непрозрачную модель, такую ​​как ансамбль деревьев - случайный лес, GBM или ваш личный вкус. Лучшим из них является тот, который соответствует вашему личному вкусу, поскольку настройка алгоритма, который имеет смысл для вас, вероятно, будет более быстрым и эффективным процессом, чем изучение нового алгоритма на месте.

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

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

В конечном счете, время - деньги, поэтому вы хотите иметь возможность заранее предсказать, какие модели с наибольшей вероятностью будут работать с вашим набором данных. Если список алгоритмов будет как можно короче, время, затрачиваемое на решение проблемы, будет как можно короче, а возможность предоставить надежное решение после создания моделей с относительно небольшим количеством различных алгоритмов должна быть признаком опытных и знающих данных. ученый.

Роберт де Грааф - автор книги Managing Your Data Science Projects, которая должна быть опубликована Apress Publishing в середине июля 2019 года.