Google проделал огромную работу по развитию индустрии искусственного интеллекта и машинного обучения. Некоторое время назад они разместили фантастический сайт под названием Лучшие практики машинного обучения машинного обучения, в котором они предоставляют 43 правила того, как правильно делать машинное обучение на основе своего опыта.

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

Может быть, я начну серию статей об этом, но сегодня я хотел обсудить Правило 41:

«Когда производительность выходит на плато, ищите качественно новые источники информации для добавления, а не уточнения существующих сигналов».

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

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

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

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

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

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

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

Ключевой вывод из всего этого заключается в том, что важно включать «качественно новые источники информации» - вещи, которые сильно отличаются от того, что вы использовали до сих пор. Эти новые источники добавляют другой контекст, который целевая функция может использовать. Не всегда легко найти такие новые источники, но, опять же, иногда они просто сидят и ждут, когда вы их включите.