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

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

Мы обсуждали цели этого потенциального клиента по преобразованию своего бизнеса с помощью применения науки о данных. Было определено несколько потенциальных вариантов использования статистического моделирования и машинного обучения, и даже было предложено несколько конкретных подходов к моделированию с оговоркой, что нам потребуется соответствующий набор обучающих примеров для каждого подхода к работе. В этот момент руководитель начал задавать ряд вопросов. Он спросил: «Вы используете Python для разработки этих моделей?» Я ответил, объяснив, что существует ряд инструментов, которые мы можем использовать для создания и развертывания моделей, и что Python, безусловно, является очень распространенным инструментом, который мы используем для этого все время.

Затем он спросил: «Используете ли вы Sci-Kit Learn для создания своих моделей?» Опять же, я ответил, объяснив, что существует множество действительно отличных фреймворков для проектирования, создания и развертывания систем машинного обучения. Sci-Kit Learn, безусловно, популярен, и не зря, но разные ситуации требуют разных подходов, которые, в свою очередь, требуют использования разных инструментов. В заключение я заверил его, что мы обязательно будем использовать наиболее подходящую структуру для каждой ситуации.

Наконец, он спросил: «Вы понимаете и используете математику, лежащую в основе этих моделей, или вы только знаете, как использовать эти структуры для их построения?» Мне не часто задают этот вопрос. Я ответил, заявив, что по образованию я математик, и я поставил перед собой задачу получить глубокое понимание теории, лежащей в основе каждой модели, которую я использую, потому что я чувствую, что это чрезвычайно важно. Он попросил меня описать теорию одной из предложенных моделей, что я и сделал.

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

Интересно, что он также заявил, что не считает, что эти люди преднамеренно нечестны. Он процитировал все учебные курсы по науке о данных, которые в основном представляют собой просто прославленные учебные пособия Sci-Kit Learn, которые могут создать у многих людей впечатление, что это все, что нужно для того, чтобы быть специалистом по данным. Затем он сказал следующее:

«Я могу прямо сейчас пойти в любой хозяйственный магазин и купить все инструменты, которыми пользуются сантехники…

…но это не делает меня сантехником».

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

Почему это важно для компаний, стремящихся использовать возможности науки о данных?

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

Спустя почти год работы над проектом они уперлись в стену. Их ведущий специалист по обработке и обработке данных уже несколько недель бился головой об эту стену, и у него не было никаких прорывов, поэтому они хотели по-новому взглянуть на проблему. Он был просто в восторге, когда сказал мне, что построил «ансамбль из 400 искусственных нейронных сетей», которые «одновременно отслеживают сеть на предмет вторжений в режиме реального времени». Далее он сказал мне, что этот ансамбль имел точность «более 96%» в тестах перекрестной проверки.

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

Очевидно, разочарованный таким результатом, ведущий специалист по данным вернулся к чертежной доске, чтобы посмотреть, что можно сделать. Через несколько недель он все еще застрял. Тут они решили обратиться. Он сообщил, что его система все еще тестировалась с точностью «в очень высоких 90-х», но не смогла обнаружить ни одного вторжения при прохождении теста на проникновение.

На данный момент мне не показывали никаких обучающих данных, поэтому я спросил, были ли вторжения в сеть редким явлением. И владелец продукта, и ведущий специалист по данным заверили меня, что они очень редки. Я спросил, какой процент тренировочных наблюдений был законными попытками вторжения. Ведущий специалист по данным ответил, что попытки вторжения составляют только «от 3% до 4% данных».

Затем я спросил об отзыве системы в тестах перекрестной проверки. Отзыв — это метрика, которая сообщает вам, какой процент «положительных случаев» (в данном случае читайте «попытки вторжения») был правильно идентифицирован моделью. Он ответил, что не проверял это. В этот момент я попытался донести свою точку зрения, задав вопрос. Я сказал: «Если бы мы пытались обнаружить болезнь, которая поражает только 1 человека из каждых 10 000, как мы могли бы сразу же получить точность 99,99% в угадывании того, есть ли у человека болезнь?» Немного подумав, он ответил: «Думаю, мы всегда можем предсказать, что ни у кого нет болезни, но это не очень полезно».

Короче говоря, после проверки отзыва модели было обнаружено, что модель просто помечала каждое наблюдение как не представляющее угрозы. Поскольку только от 3% до 4% наблюдений были попытками вторжения, это был быстрый и простой способ минимизировать ошибку прогноза и достичь точности более 96%. Я также обнаружил, что этот впечатляюще звучащий ансамбль нейронных сетей был построен с использованием keras, еще одного популярного высокоуровневого API для реализации решений машинного обучения, который не требует реального понимания того, как на самом деле работают нейронные сети.

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

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

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

Я точно знаю, что такое поршень. На самом деле, у меня есть один! За свою жизнь я несколько раз смывал унитаз, а однажды даже вылил Drano в канализацию кухонной раковины. В следующий раз, когда вам понадобится установить раковину или вы увидите, как вода капает с потолка под ванной наверху, не могли бы вы позвонить мне? Что, если бы я сказал, что справлюсь с этим дешевле, чем берут все эти причудливые «лицензированные сантехники»?

Нет?… Не надо сразу отвечать. Подумай об этом?…