Упрощенный пример модели машинного обучения и карточка модели с пищей для размышлений при разработке процессов управления данными.

Зачем это нужно?

Здесь есть две точки зрения –

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

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

Что такое модель карты?

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

Резюме может включать следующие детали:

Пример: Этот гриб съедобен?

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

Я нашел интересный набор данных, который, как я думал, мог бы заставить меня сосредоточиться на изучении их… это Репозиторий машинного обучения UCI: набор грибных данных

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

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

Итак, вот создание окончательной модели — дерева решений:

library(rpart)
library(rpart.plot)
Mushrooms <- read.csv(“Mushrooms.csv”)
#Test and Train Split
set.seed(1)
MushroomLength <- nrow(Mushrooms)
TF <- sample(c(TRUE,FALSE), MushroomLength, replace = TRUE, prob = c(0.8,0.2))
MushTrain <- Mushrooms[TF,]
MushTest <- Mushrooms[!TF,]
#Create the model
DTModel <- rpart(
class ~ cap.shape + cap.surface + cap.color + bruises + odor + gill.attachment + gill.spacing + gill.size + gill.color + stalk.shape + stalk.root + stalk.surface.above.ring + stalk.surface.below.ring + stalk.color.above.ring + stalk.color.below.ring + veil.type + veil.color + ring.number + ring.type + spore.print.color + population + habitat,
method = “class”,
data = MushTrain,
control = rpart.control(maxdepth=4, minsplit=10, cp=0.0001),
parms=list(split=’information’)
)
#Visualise the model
rpart.plot(DTModel, type=5, extra=0, fallen.leaves = TRUE, varlen = 0, faclen = 0, box.palette = c(“BuPu”))

Тестирование модели — Генерация простых метрик для карты модели

#Create predictions for the test data
DTPred <- predict(DTModel, newdata = MushTest[,-1], type = “class”)

Для проверки модели используется тестовый набор Mushroom — без первого столбца, так как он содержит ответы! Затем результаты функции предсказания() можно сравнить с ответами, чтобы увидеть, насколько они близки.

Простой анализ модели для раздела метрик карточки модели:

Истинные положительные и истинные отрицания: сколько раз модель правильно предсказывала, был ли гриб «Возможно съедобным» или «Нет» для набора тестовых данных.

TP <- (DTPred == “Possibly Edible”) & (MushTest$class == “Possibly Edible”)
TP <- sum(TP)
TN <- (DTPred == “No”) & (MushTest$class == “No”)
TN <- sum(TN)

Ложные срабатывания и ложные отрицания: сколько раз модель выбирала неудачно!

FP <- (DTPred == “Possibly Edible”) & (MushTest$class == “No”)
FP <- sum(FP)
FN <- (DTPred == “No”) & (MushTest$class == “Possibly Edible”)
FN <- sum(FN)

Точность, точность и полнота: общие показатели для модели классификации.

Accuracy <- (100*(TP+TN))/(TP+TN+FP+FN)
TPR <- TP/(TP+FN) #Recall
FPR <- FP/(FP+TN)
FNR <- FN/(TP+FN)
Precision <- TP/(TP+FP)

В этом сценарии уровень ложных срабатываний (FPR) является опасным — из тех, которые модель считает съедобными, эта доля на самом деле ядовита!

Критика этого дерева решений

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

Эти данные взяты из Полевого справочника Общества Одюбона по североамериканским грибам 1981 года и содержат 23 вида жаберных грибов из семейства Agaricus и Lepiota. Тот факт, что этот набор данных охватывает всего 23 вида и только в одном регионе мира, говорит о том, что он вряд ли репрезентативен для всех грибов, которые вы можете найти. Кроме того, с 1981 года особенности роста грибов могли измениться — у меня нет данных о темпах эволюции грибов или о влиянии на них изменения климата.

Что касается предметной области, я лично не знаю ни одного эксперта по грибам, поэтому отправил быстрое сообщение (с большой благодарностью!) моему дяде, Терстану Крокетту, за его мнение, поскольку у него есть некоторый практический опыт в охоте за грибами. . Важные особенности для него включают использование руководств (хотя мое изменение «съедобного» на «возможно съедобное» вызвало слишком много сомнений, чтобы использовать блок-схему… это хорошо, я говорю!). Характеристики, которые также были важны, но отсутствовали в наборе данных, включали окружающую среду обитания, время года, характер роста и наличие/уровень местных знаний и опыта в процессе маркировки данных как съедобных или несъедобных.

Создание карты модели

На этом этапе моего сообщения в блоге вы можете начать понимать, насколько подробно кто-то может вдаваться в описание модели машинного обучения — и это уже урезанная версия!

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

Карточки с моделями дают возможность дать резюме с ключевыми необходимыми деталями:

Отсюда мы не только получаем краткую сводку и обзор модели, но и можем быстро выбрать рекомендации по улучшению.

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

Что включает в себя управление данными… и что еще может включать в себя?

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

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

Представьте, что вы руководитель отдела управления данными — вы впервые получаете карточку модели от одного из специалистов по обработке и анализу данных вашей организации… что вы с ней делаете?

Когда вы читаете его, вы понимаете, что (к счастью!) вам не нужно много технических знаний о машинном обучении и искусственном интеллекте, чтобы следить за тем, что происходит. Тем не менее, с вашим обширным знанием доступных данных, возможно, вы и ваша команда сможете поддержать этого Data Scientist — человека, который усердно пытается извлечь значимую информацию и ценность из огромных хранилищ данных, которые у вас есть.

Вопросы, которые может задать рецензент карты модели:

  • Имеются ли более качественные наборы данных, которые они могли бы использовать, но о которых могли не знать?
  • Есть ли проблемы с качеством данных, процессами или изменениями в архитектуре хранилища, необходимыми для улучшения их проекта?
  • Насколько реально поддерживать улучшения качества и дальнейший сбор данных, которые они запросили в разделе рекомендаций?
  • Если они предлагают развертывание модели: каковы последствия использования модели для бизнеса?
  • Оставят ли это компанию открытой для обвинений в незаконном или неэтичном предвзятом отношении к каким-либо охраняемым группам характеристик? (Является ли он более точным для одной группы людей, чем для другой?)
  • Достаточно ли точен анализ или модель для того, для чего мы хотим их использовать?
  • Как часто и как это может пойти не так? Каковы последствия?

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

Критика упрощенной модели карты  — некоторые дополнительные идеи

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

  • Сроки развертывания или дальнейшего развития проекта (в разделе «Рекомендации»). Если требуется дальнейшее развитие, какие данные необходимо собрать в первую очередь — каковы временные рамки (и каковы связанные с этим затраты).
  • Какие метрики следует ожидать от модели классификации, которые легко интерпретируются менеджерами, не обладающими техническими знаниями в области машинного обучения? Какие показатели вы бы хотели видеть для регрессии, прогнозов, распознавания изображений и так далее? Ваша организация хочет согласовать ожидаемые показатели для различных типов моделей, чтобы стандартизировать процесс отчетности?
  • Вам нужно протестировать модель, сгруппированную по защищенной характеристике (например, по полу)? Есть ли приемлемая разница в том, насколько точна модель для разных групп людей? Можете ли вы на законных основаниях собрать эти данные для проведения таких тестов… должны ли вы с этической точки зрения даже развертывать модель в конкретной ситуации, если она не была проверена на предмет систематической ошибки такого типа?
  • Была ли эталонная карта проверена экспертом в предметной области для моделируемого решения?

Масштабирование — мечта организации с развивающейся экосистемой данных

Со временем вы будете получать больше карт моделей от вашего растущего отдела науки о данных, а некоторые — в отчеты бизнес-аналитики — некоторые модели разрабатываются, которые обновляются сами по мере поступления новых потоков данных, а дрейф модели обрабатывается автоматически. Это делает необходимым создание живых карт моделей (в качестве решения вы обращаетесь к своему надежному программному обеспечению для информационных панелей — будь то Shiny, Power BI, Tableau и т. д.).

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

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

Вводный курс обучения для вашей группы по управлению данными включает в себя то, как лучше интерпретировать раздел метрик отчета Model Card — что значит иметь ложноположительный или ложноотрицательный результат? Какие метрики следует ожидать для разных типов моделей и что они нам говорят?

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

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

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

Библиография

Маргарет Митчелл, SW (2019). Карточки моделей для отчетов о моделях. arXiv:1810.03993v2.

Модельные карточки для модельных отчетов (arxiv.org)

Дуа, Д. и Графф, К. (2019). Репозиторий машинного обучения UCI [http://archive.ics.uci.edu/ml]. Ирвин, Калифорния: Калифорнийский университет, Школа информационных и компьютерных наук.

Репозиторий машинного обучения UCI: набор грибных данных