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

PS: прежде чем читать это, обратите внимание, что мне нечего продавать, я всего лишь молодой и увлеченный профессионал :-)

Так в чем же дело?

Ну простыми словами:

  • "Большие данные" — это, по сути, возможность хранить и обрабатывать большие объемы данных в разумные сроки. Он был демократизирован благодаря двум факторам: общедоступному доступу к платформам параллельных вычислений, работающим на стандартном аппаратном и программном обеспечении (Hadoop может работать на любой машине и ОС), и значительному снижению цен на хранилище и вычислительную мощность. Использование сред больших данных требует определенных навыков в области ИТ, связанных с необходимостью распределения вычислений на нескольких компьютерах или серверах (этими навыками являются языки программирования, такие как Hadoop MapReduce, Scala для Spark и т. д.).

  • Машинное обучение – модное слово для обозначения методов статистического моделирования. Думайте об этом как о превосходной и мощной комбинации прикладной математики и научного программирования. выражение машинное обучение обычно используется для довольно экзотических методов моделирования, то есть не для классических линейных моделей.
    Здесь важно отметить, что машинное обучение само по себе является менее ценной фазой создания ценности из данных: хорошее моделирование заключается в очистке и обогащении данных. Любой может передать кучу необработанных данных в полностью автоматический алгоритм случайного леса, но очень немногие профессионалы могут построить надежные модели прогнозирования, которые можно использовать в реальных жизненных ситуациях. Забудьте о технологиях, все дело в исследованиях, опыте и отраслевых знаниях :-)

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

Начнем с больших данных. Действительно ли стоит приобрести кластер Hadoop или подписку AWS/Azure?

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

Давайте проясним: не всем организациям нужны технологии и инфраструктура для работы с большими данными. Конечно, такие компании, как крупные розничные торговцы, банки и общедоступные компании-разработчики программного обеспечения (Airbnb, Netflix, Twitter), управляющие огромными объемами потребительских данных и зависящие от их использования для доставки, могут извлечь из этого большую выгоду. Но эй, большинству компаний (думаю, 90%) просто не нужны такие вычислительные мощности просто потому, что затраты будут намного выше прибыли. У большинства компаний есть несколько терабайт полезных данных, которые счастливо живут на современных добрых SQL-серверах. Реляционные базы данных хороши тем, что их легко обслуживать и использовать, а также преимущества развитой программной экосистемы: реляционные базы данных — это проверенная технология с очень коротким временем разработки! Таланты SQL дешевы и доступны. По возможности придерживайтесь реляционных баз данных.

Большие данные — один из самых запутанных отраслевых терминов на данный момент и новое Эльдорадо для облачных и ИТ-консалтинговых фирм и редакторов. Так что да, с таким количеством маркетинга большие данные могут стать ловушкой. Вот почему:

  • Большие данные? как насчет интеллектуальных данных? хранение данных, которые не предназначены для решения какой-либо конкретной реальной проблемы, — плохая идея. подумайте о сборе и полном использовании ПРАВИЛЬНЫХ данных, обычно они не такие большие ;-)

  • Развертывание инфраструктур больших данных довольно болезненно и стоит кучу денег. Если вы не хотите использовать его в больших масштабах, вероятно, это пустая трата ресурсов.

Как насчет необычного машинного обучения? Сверточные нейронные сети звучат так круто!

О, вот еще одно громкое словечко. Не слишком ли это преувеличено?

Что ж, машинное обучение — это действительно круто, и вообще творит чудеса с созданием реальной ценности… когда оно сделано правильно и целенаправленно :)

Большинство специалистов по данным будут использовать один и тот же автоматический подход независимо от данных, даже не глубоко понимая лежащие в их основе структуры и зависимости. Результаты часто смягчаются: им не хватает производительности или их нельзя обобщить на новые данные. Хорошее предиктивное моделирование на 95% состоит из «скучных вещей» (это не так!), таких как очистка данных, визуализация и исследование, некоторые глубокие исследования данных, того, как они были сгенерированы или собраны, значения признаков (переменных) и т. д.

Затем следует этап моделирования, который включает в себя критический выбор: метод моделирования.

В настоящее время это обычно случайный лес (без параметров, автонастройка! что еще?) или нейронные сети, но подождите секунду!

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

Чтобы избежать производственных разочарований, перед выбором модели следует учитывать три основных критерия:

  • Необходимость интерпретируемости: нормально ли, если никто не понимает, что на самом деле представляет собой ваша модель? Ничего страшного, если у него нет коэффициентов? Без явного выражения? Насколько удобно управление с абстракцией? (Вы уже знаете ответ на этот вопрос).
  • Простота развертывания в рабочей среде. развертывание логистической модели в рабочей среде очень просто, все дело в объединении переменных с применением весов (коэффициентов). Когда дело доходит до более продвинутых моделей машинного обучения, это совершенно новая вещь. Попробуйте перевести модель глубокого обучения R на Java или C++ (подсказка: вы не можете). Если ваша компания предоставляет веб-сервисы машинного обучения, сохраните свою работу;)
  • Производительность. насколько точным должен быть ваш прогноз? вы пытаетесь предсказать реакцию пациента на лучевую терапию? или ваши прогнозы футбольных результатов? вам нужно быть в реальном времени быстро? или вы больше любите ночную пакетную обработку?

Вот мой совет на этот счет: большинству из нас не нужно обрабатывать изображения, естественный язык, видеопотоки. У нас есть старые добрые табличные данные со многими числовыми и символьными функциями, а также вывод, который нам нужно предсказать. Пожалуйста, будьте проще и используйте понятные, знакомые, легко развертываемые и быстрые решения. 95% ваших бизнес-задач можно решить с помощью линейных моделей и связанных с ними методов, таких как гребень, лассо, сплайны. И я не преувеличиваю здесь. Линейные модели супербыстры в обучении и использовании, на 100% понятны, просты в кодировании и обслуживании: они мощные, потрясающие, и вы должны использовать их каждый раз, когда у вас есть такая возможность! Всегда начинайте с простого, пробуя линейные модели и модели SVM (машины опорных векторов), прежде чем переходить к более сложным вещам, ваше будущее будет вам признательно :-)

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

Итог: избегайте излишних усилий и пустой траты ресурсов.

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

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

Старайтесь не следовать ажиотажу с машинным обучением: «простых» методов достаточно, чтобы решить 95% ваших проблем эффективным и элегантным способом. Если логистическая или линейная регрессия не работает, используйте SVM. Еще ничего ? подготовьте свой R или Python для удовольствия!

Пожалуйста, оставьте комментарий или ❤️, если вам понравилось чтение. Отвечу на все сообщения :)

Анас ЭЛЬ ХАЛУИ.