Этот материал начинает серию из трех постов о том, как объяснить проблемы дата-сайентистов сотрудникам вашей компании, которые ничего не понимают в 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

А где ответы?

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

Комментарии (28)


  1. Zara6502
    25.07.2023 09:56
    +1

    вопрос 1: <zanuda> почему не "дата-сайнтист"? ведь меняется только суффикс, слово "scientist" вроде бы читается как "сайнтист" </zanuda>

    вопрос 2: был на нескольких семинарах по DS, но никто так и не смог объяснить в чем отличие DS от обычных разработчиков, аналитиков, ученых и т.д. Просто у меня есть знакомый, который ML занимается с начала 90-х и как специалист по DS он никогда не проходил.

    вопрос 3:

    но имеющие очень смутное представление о технологиях Data Science

    Это вообще никак не связано с DS. Это касается вообще любых технологичных вещей совсем не обязательно связанных с ИТ. Например работая на заводе я был втянут в разборки между директором и спецами работающими на СО2 резчике. Директор думал что раз увидел логотип загрузки Windows XP, то и я чем-то помогу, а вопрос касался того - почему станок простаивает. С мужиками поболтали, а всё сводилось к тому, что директор не хотел покупать какие-то датчики давления на систему охлаждения из европы, а китайские не выживали при загрузке лазера 24/7.

    вопрос 4:

    Выстраивание правильной коммуникации с клиентом — задача продавца, то есть в данном случае самого́ дата-сайентиста

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

    вопрос 5:

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

    Тут нет ни кошек ни собак, есть только набор квадратиков в оттенках серого и есть (у вас) модель, которая научена по совокупности точек делать предположения. Вы здесь лукавите, так как при совпадении точек например со слоном, модель у вас будет слона называть кошкой. Мне ваш тест напомнил сериал, который любит смотреть моя мама - "След", там тоже по трем точкам с камеры видеонаблюдения восстанавливают 836 страниц документов 8 кеглем написанных, которые лежали в чемодане в багажнике пока преступник проезжал по соседней улице где могла бы стоять камера.


    1. klauss_z
      25.07.2023 09:56

      Вопрос 1. "Сайентист" — это гораздо более распространенный вариант, чем "сайнтист", и он соответствует произношению, как в британском, так и в американском варианте: https://dictionary.cambridge.org/pronunciation/english/scientist


      1. Zara6502
        25.07.2023 09:56

         "Сайентист" — это гораздо более распространенный вариант, чем "сайнтист"

        ниже есть картинка по запросам яндекса, а вот с поиска из гугла по книгам:

        Hidden text

        Для меня очевидно, что когда издается книга, пытаются чтобы она была написана исходя из правил, то как это написано в словарях. А у Яндекса то, как пишут запросы люди.

        и он соответствует произношению, как в британском, так и в американском варианте

        в одном случае говорят "сайнтист", в другом "сайнтэст", абсолютно отсутствует произношение трёх слогов.

        Не давало мне покоя это слово, что-то вспоминалось, и вспомнил - саентология. Что интересно я всегда это слово знал именно как "саен", полез в вики, там сама статья в варианте "саен", но так же указан вариант "сайентология". Полез на Грамота.ру, там написано что "сайентология, -и ", полез в яндекс:

        Статистика по словам / Показов в месяц

        саентология 22 858

        Статистика по словам / Показов в месяц

        сайентология 942

        А вот по гуглу поиск слов по книгам:

        Hidden text

        Мне кажется нет единого и однозначного мнения как именно писать это заимствование.


        1. klauss_z
          25.07.2023 09:56

          Не стоит ориентироваться по слуху на правильное произношение, для этого придумана такая штука, как транскрипция — графически закрепленное верное произношение. Идем по ссылке на словарь из моего предыдущего сообщения и видим: /ˈsaɪən.tɪst/ — три слога.

          ə — это гласный звук, стоящий в безударной позиции, посмотрите, как он произносится в разных словах: https://www.youtube.com/watch?v=RVvn6204I_Y.

          Так что написание "сайнтист" не соответствует ни нормам транскрипции, ни нормам транслитерации.


    1. Dr_Mike
      25.07.2023 09:56

      |"вы здесь лукавите..."

      Если модель спутает кошку и слона при анализе картинки, то автор добавит еще один признак, исключив ошибку в будущем. А может подключит и машинное обучение к уже проанализированным картинкам. Вы же не видели результата модели, а лишь матрицу с совокупностями точек. Выражаясь вашим языком и примерами, это словно в очень сильный микроскоп разглядывать 0,001 квадратный миллиметр ковра и понять, что же на нем нарисовано. Хотя владелец ковра уверяет вас, что на нем изображен всемирный потоп и ковчег. Тут либо верить автору и оторвать глаз от микроскопа, либо спорить до пены у рта. Я предпочту верить, а потом проанализирую (после третьей части).

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


    1. Squoworode
      25.07.2023 09:56

      почему не "дата-сайнтист"?

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

      Также, например, не совпадают с исходником футляр (Futteral) и верстак (Werkstatt).


      1. Zara6502
        25.07.2023 09:56

        Потому что когда русский язык заимствует в себя иностранное слово, он приводит его к собственным лингвистическим нормам

        Слово "data science" я знаю еще с 90-х и в литературе и в интернете всегда пишется как дата-сайнс (если конечно кому-то в голову приходит писать его так). Тут ситуация такая же как с "андройд", ведь формально писать "андройд" это правильно, но слово "андроид" уже давно используется и пишется именно через "и".

        Русскому языку не нравятся такие нагромождения согласных, он разбавляет их гласными.

        Вы утрируете. По такой логике "андроид" предпочтительнее, но сегодня пишут примерно 50/50 и через "и" и через "й". Конструкция "айе" сложна по произношению, слов же с согласной после "й" предостаточно - дедлайн, сплайн, шайба, тайский, хайп, сойлент и т.д. Слова же вроде "район" в произношении всегда упрощаются - "раён", "андроид" - "андройд". Потому что так легче произносить.

        Если зайти в переводчики и нажать кнопочку озвучки, то голосом вам никто не будет говорить - сай-ен-тист. Вам будут произносить - сайн-тист. Это же касается слова "сайнс".

        Также, например, не совпадают с исходником футляр (Futteral) и верстак (Werkstatt).

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

        ---

        Ну и конечно как без фактов. По времени появления слов я анализировать не умею (видел на ютубе как товарищ и такое делает), но мы видим что если уж "сайнтист" не единственный вариант в сети, то точно используется не меньше чем "сайентист" (если просуммировать все запросы, то в 1.5 раза чаще).

        Hidden text


        1. Squoworode
          25.07.2023 09:56

          Вот с андроидом - мимо, это из греческого, все -оиды в значении "подобный чему-то" через "и" пишутся (например, геоид, кубоид, параллелепипедоид).

          А по теме - на википедии есть Англо-русская практическая транскрипция со ссылкой на Гиляревский, 1985, стр. 57—106; Ермолович, 2001, стр. 135—138; Рыбакин, 2000, стр. 13—20.

          Там, в том числе, указано:

          ie [aɪə] айе Society → Сосайети


    1. rvishnevsky Автор
      25.07.2023 09:56

      Вопрос 1 - не является принципиальным.

      Вопрос 2 - Data Science ближе всего к статистике. От статистики Data Science отличается методами. Статистики используют методы, которые, как правило, имеют априорные предположения о характере распределений. Метрики этих методов выводятся на основании аналитических формул. В DS используются метрики без априорных предположений о характере распределений. Метрики рассчитываются путем статистических экспериментов (бутстреп). Отличие DS от статистики обусловлено тем, что статистика создавалась, когда компьютеры были слабые и статистики не могли себе позволить большое количество расчетов. А в DS очень много статистических экспериментов в противовес аналитическим формулам.

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

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

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

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

      Вопрос 5 - Тут изображены собаки и кошки. Завтра Вы увидите это наглядно. А некоторые (например, уважаемый Machirodont, поделившийся своим оригинальным методом в комментариях ниже, уже видят).


      1. Zara6502
        25.07.2023 09:56

        Вопрос 5 - Тут изображены собаки и кошки

        в линуксе есть модуль для медиаплеера кажется aalib, где изображение формируется на основе плотности пикселей в знакоместах ASCII. Таким образом одновременно можно утверждать что там изображены символы и формируемое ими изображение.

        я вам лишь показал, что ответ не имеет однозначности.

        А некоторые (например, уважаемый Machirodont, поделившийся своим оригинальным методом в комментариях ниже, уже видят).

        как человек постоянно работающий с графикой ATARI/C64 у меня глаз привычен к низкому разрешению и проблему "как в знакоместе 8х8 изобразить печальную девушку" я знаю не понаслышке. поэтому очевидное решение - уменьшить размеры пикселей:

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

        В вашем примере давайте я напишу что вижу:

        ничего / кот с белым низом и черным верхом

        ничего / ничего

        собака типа йорка / собака с висячими ушами, темной мордой и светлой грудкой

        собака типа дога / кролик

        ничего / ничего

        И глаз человека не занимается попиксельным сравнением, поэтому признаки в виде квадратиков не подходят (например алгоритмы OCR тоже не занимаются пиксельным сравнением). Поэтому древние люди изображали объекты черточками, а не серыми квадратиками, ну и собственно смайлики как пример. :) ;) XD и т.д. и мы понимаем какая эмоция изображена.


        1. FruTb
          25.07.2023 09:56

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


          1. Zara6502
            25.07.2023 09:56

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

            В пиксельных моделях всегда будет стоять вопрос разрешения. Если вы будете привязываться к пикселям, то придется это учитывать. Например в статье показаны именно квадратики в оттенках серого, то что они в ряде случаев могут складываться так, что образуют что-то ИЗДАЛИ похожее на кошку - это просто вероятность. В начале 00-х пользовался программой ради баловства, которая при подсовывании картинки писала что там нарисовано, но писала в процентах, например - самолет 17%, жираф 32%, Эйфелева башня 34%. Человек тоже принимает решение не с булевой точностью, это всегда веса. Но человек реальную кошку от собаки НЕ отличает попиксельной моделью. Когда вы ему подсовываете пиксели, как в примере 12х12, то мозг уже работает с материалом иначе, это как оригами, лего или наскальные рисунки. То есть это не вопрос - нарисована ли тут кошка, это вопрос - эта мозаика из серых квадратов скорее кошка чем собака?

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

            Это кошка или собака? А если кошка, то почему? Потому что пиксели черные? Или потому что расставленные в определенных местах черные пикселы сформировали признаки, которые мы можем сопоставить с образом кошки?

            Из той же игры - почему мы понимаем что белая - это собака, а черный - кот? Как много собак вы знаете настолько кривых и косых?


            1. rvishnevsky Автор
              25.07.2023 09:56

              Наверное, мне нужно еще раз пояснить саму идею статьи.

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

              Я отвечаю: качество модели в первую очередь зависит не от используемого метода, а от объема данных, которыми мы располагаем.

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

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

              Сегодня я размещу вторую часть и все станет очевидно.


              1. Zara6502
                25.07.2023 09:56

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


  1. aamonster
    25.07.2023 09:56

    По мне, насчёт "144 переменных" – вы перегибаете палку. Обычно всё-таки, если делается классификатор на основе каких-то признаков – изначально отбирают достаточно осмысленные (иначе надо очень много признаков ==> нужна очень большая обучающая выборка). А то вы могли бы для своих 144 переменных вообще взять средние яркости не по 144 квадратам, а, допустим, по периметру изображения. Или 144 случайных числа.


    1. rvishnevsky Автор
      25.07.2023 09:56

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

      Для отсеивания используются различные методы: Information Value, корреляция с таргетом, feature importance на простом дереве, feature importance на модели одномерного бустинга, критерий Колмогорова-Смирнова для двух выборок, где одна соответствует нулевым значениям таргета, а вторая - единичным, удаление коррелирующих признаков (для логистической регрессии) и т.п.

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


      1. aamonster
        25.07.2023 09:56

        Ok, но у вас изначально был, допустим, миллион признаков (картинка 1000*1000), вы его урезали до 144 каким-то образом (взяв среднее по квадратам 85*85). Т.е. вы сделали 144 признака из миллиона "от балды". Весьма вероятно, 10 признаков, выбранных с учётом задачи, дадут гораздо большую точность. Или уж заморачиваться со всем миллионом (и урезать либо устройством сети + обучением излишне универсальной сети по большему датасету).


        1. rvishnevsky Автор
          25.07.2023 09:56

          Смотрите выше мой комментарий, который начинается фразой "Наверное, мне нужно еще раз пояснить саму идею статьи."


          1. aamonster
            25.07.2023 09:56

            Забавно, я сталкивался с совершенно другой проблемой: данных для каждого из объектов достаточно (анализ изображений – человек видит и распознаёт нормально, в конце концов кто-то ведь отмаркировал датасет), обучаем классификатор... Ну да, обучающую выборку он чётко распознаёт, но на других объектах делает труднопредсказуемые ошибки. А если подкинуть вместо объекта мусор (артефакт сегментации) – уверенно его классифицирует, как мусор не распознаёт (потому как для мусора обучающую выборку не создать, уж очень он разнообразен).

            Т.е. у вас проблема недостаточности признаков у объекта, а у меня – по сути недостаточной репрезентативности обучающей выборки... Пришлось решать обходными путями, меняя вид классификатора и добавляя некие априорные знания о том, что не должно влиять на классификацию (ну там, явно приводить изображения к единой цветовой палитре [это были клетки крови, там окраска может варьироваться] и т.п.)


            1. rvishnevsky Автор
              25.07.2023 09:56

              А какой был классификатор?


              1. rvishnevsky Автор
                25.07.2023 09:56

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


                1. aamonster
                  25.07.2023 09:56

                  Да, вращение/отражение не влияет, случайной обрезки быть не должно (окрашенные клетки крови на стекле – можно отбросить объекты, близкие к краям поля зрения микроскопа). Но были другие нюансы – степень прокраски (при подготовке препарата – на неё влияет время окраски и температура, и ещё почему-то может варьироваться по стеклу, если препарат готовился не в центрифуге, а "мазком"), уход в красные/синие цвета (это уже по разному в разных лабораториях – не уверен, что именно влияет).

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

                  Ну и deep learning мы в те годы тогда не могли себе позволить (не уверен даже, насколько оно было бы оправдано сейчас).


              1. aamonster
                25.07.2023 09:56

                Первоначально был многослойный перцептрон по пачке признаков (для клеток вычислялись параметры типа площади и периметра клетки/ядра, составляющие цвета цитоплазмы/ядра, сегментировано ядро или нет и т.п. – короче, примерно то, по чему врачи определяют), но в силу ряда причин я его заменил на довольно забавное решение – при обучении из обучающей выборки выделяем набор "эталонных клеток" и далее при распознавании просто сравниваем с этими эталонами, считая расстояние в пространстве признаков (все детали уже не вспомню, давно дело было).
                Основное, ради чего с этим запаривался – поиск "предателей" в обучающей выборке, т.е. клеток, из-за схожести с которыми в дальнейшем другие клетки распознаются неверно. Для перцептрона, как вы понимаете, это довольно сложно, он в изрядной степени чёрный ящик, а не понимать, почему классификатор начинает систематически ошибаться – очень неприятно.


  1. Machirodont
    25.07.2023 09:56
    +2

    Как человек, имеющий зрение -4, легко решаю предложенные задачи, просто сняв очки. Я уже могу идти в дата-сатанисты?


    1. rvishnevsky Автор
      25.07.2023 09:56

      Кстати, хороший метод. Только что проверил - реально работает. Спасибо, раньше о таком не думал, хотя есть еще один - уменьшить размер картинок.


    1. KyHTEP
      25.07.2023 09:56

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


  1. thevlad
    25.07.2023 09:56

    Вы уж извините, но с картинками(12х12) это натягивание совы на глобус.

    Есть классическое статистическое машинное обучение, где это еще как-то можно считать релевантным.

    Есть более современное машинное обучение на основе глубоких нейросеток, в том числе сверточных. Где на входе будет картинка 256х256, а на выходе можно получить низкоразмерный эмбединг(предположим 10-20 размерности), который будет содержать информацию о "семантической близости" входных изображений.

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


    1. rvishnevsky Автор
      25.07.2023 09:56

      Смотрите выше мой комментарий, который начинается фразой "Наверное, мне нужно еще раз пояснить саму идею статьи."