Сможете ли вы отличить собаку от кошки, или Как объяснить проблемы дата-сайентиста коллегам. Часть 1

от автора

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

Счастье дата-сайентистов

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

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

Проблемы дата-сайентистов

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

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

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

«Вот вы сделали модель с качеством 60 Джини, а нельзя было с качеством 80? А 100?» 

или 

«Вы предлагаете cut-off, при котором мы отказываем части потенциальных клиентов. Половина этих клиентов — плохие, но другая половина — хорошие! Так что бизнес теряет деньги. А нельзя ли сделать такую модель, чтобы пропускать всех хороших клиентов, а отказывать только плохим?» 

или

«Наверное, качество ваших моделей такое низкое потому, что вы не используете новейшие технологии вроде нейронных сетей. А вот в других компаниях (Яндекс/Сбер/Netflix/etc.) качество моделей гораздо лучше, потому что они нейросети используют».

При этом у представителей бизнеса отсутствуют какие-либо объективные данные о качестве моделей рассматриваемого типа у Яндекса/Сбера/Netflix, но они уверены, что у этих компаний качество точно лучше, «ведь они используют нейросети». При реальном разговоре с представителями других компаний выясняется, что качество их моделей такое же, а то и хуже, чем у вас.

Кто виноват и что делать?

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

Эта статья написана в помощь дата-сайентистам для выстраивания внутренней коммуникации в компании. Опираясь на свой 20-летний опыт работы в маркетинге, я постараюсь осветить вопрос: «Что влияет на качество моделей и почему качество моделей не достигает 100%?». Приведенные объяснения максимально просты и доступны, не требуют специфических знаний и терминов, а опираются только на понятные любому человеку картинки.

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

Можно ли с помощью использования более мощных методов повысить качество моделей?

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

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

Такая точка зрения имеет мало общего с реальностью. На самом деле, главное, что влияет на качество модели, — это количество и качество доступной аналитику информации. А метод ее обработки не настолько важен.

Не стреляйте в дата-сайентиста — он предсказывает так, как позволяют доступные ему данные

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

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

Как правило, яркость цвета имеет 256 градаций. Таким образом, на картинке мы можем видеть следующее количество переменных: [длина изображения в точках] × [ширина изображения в точках] × 3. Каждая из переменных принимает значение от 0 до 255.

Глядя на картинку, мы понимаем, что на ней изображено. Как это произошло? Как, глядя на сочетание цветных точек, мы определяем, что за предмет у нас перед глазами? У нас в головном мозге расположена нейронная сеть, которая расшифровывает электрические импульсы, идущие от сетчатки глаза, и распознает предмет, который мы видим. Это совершенная структура, возникшая в результате более 500 миллионов лет эволюции. Зрительная система человека — одна из лучших среди всех живых существ. Более совершенное зрение имеют только некоторые виды птиц — например, орлы. 

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

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

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

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

Сыграем в простую игру

Чтобы понять это, предлагаю вам сыграть в очень простую игру – отличить кошку от собаки. С детства мы делаем это с легкостью, не правда ли?

При построении я использовал 137 переменных. Итоговый прогноз строился на 10 переменных. Это нормально – при распознавании изображений наш мозг ориентируется тоже не на все точки, а на наиболее характерные. Вам же автор предлагает воспользоваться 144 переменными для решения аналогичной задачи. 

На каждом из рисунков ниже с одной стороны изображена собака, а с другой – кошка. Разрешение каждого рисунка 12х12 точек, что в совокупности дает нам 144 переменных. Сможете ли вы отличить одно животное от другого, располагая примерно таким же объемом данных, каким располагала модель автора?

Вот первый рисунок. Где тут кошка, а где собака?

Рис. 1

Рис. 1

Справились? Давайте попробуем что-нибудь посложнее.

Рис. 2

Рис. 2

Похоже, это по-прежнему слишком просто. А что вы скажете на это?

Рис. 3

Рис. 3

Давайте попробуем еще раз!

Рис. 4

Рис. 4

А вот это задание будет сложным, пожалуй, даже для тех, кто легко справился с предыдущими:

Рис. 5

Рис. 5

А где ответы?

Хотите получить правильные ответы и выяснить, сколько раз вы угадали верно? А заодно узнать, от чего на самом деле зависит качество моделей, которые разрабатывают для вас ваши дата-сайентисты? Продолжение — во второй части статьи.


ссылка на оригинал статьи https://habr.com/ru/articles/750176/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *