Машинное обучение. Что еще я могу рассказать о теме, которую уже написала полмира. Так что я не буду.

Да, я.

Сегодня я начну новую серию под названием «Объясни мне это». Моя цель в основном состоит в том, чтобы объяснить суть темы с помощью вопросов и примеров, которые можно было бы сразу же опробовать, прояснить основы и предоставить вам ресурсы, чтобы вы сами разобрались в остальном.

Подробная информация и исследовательские работы - это просто поиск, поэтому наша цель - понять сравнительно нишевые темы простым способом с помощью примеров.

Хватит утомлять вас словами, давайте приступим!

И по первой теме мы начнем с

MLI: интерпретируемость машинного обучения.

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

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

Без шуток, давайте начнем.

Вопрос 1: что такое MLI?

В одной строке MLI, по сути, очень старается ответить, почему Модель предсказала то, что она сделала, используя различные методы.

Акцент на попытках объясняется тем, что прямого ответа нет. Мы не можем сказать, потому что результат прогнозирования был 42. По мере того, как модели становятся все более и более сложными, с точки зрения пользователей, мы просто вводим ввод с одного конца и вывод с другого. Замечательный термин для этого: модели черного ящика.

MLI пытается исправить это или, по крайней мере, помочь.

Вопрос 2: Хорошо, это MLI, но зачем мне это?

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

Итак, 2 вещи начинают иметь значение,

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

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

Вопрос 3: Хорошо, может быть, я на нем продаюсь, как мне попробовать его на своих моделях?

Ну, это зависит от того, как работает MLI, вам нужно проверить, на каком этапе вы находитесь в данный момент.

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

Если вы находитесь на шаге 3, готовы с моделью и данными, то Bingo! Вы можете приступить к устному переводу.

Вопрос 4: Это все теория, покажи мне код, братан!

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

Как я уже сказал, есть разные техники:

  1. ЛАЙМ
  2. DeepLIFT
  3. ШЭПЛИ
  4. КОНЬКОБЕЖЕЦ
  5. AIX360
  6. RULEX

В качестве вступления я покажу вам ЛАЙМ.

PS: Подробные статьи по каждой технике, упавшей со следующей недели, последующее не повредит xD

Итак, начнем с LIME и Eli5:

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

Готово. До сих пор у нас будет модель черного ящика, которая принимает входные данные с одного конца, а выходные данные - с другого.

Затем мы будем использовать вышеупомянутые методы, чтобы сделать модель интерпретируемой.

Разобрались в потоке? Давайте напишем !

Прежде всего, давайте прочитаем набор данных и распечатаем его, в основном должны выглядеть очень простые 2 столбца:

  1. Рассмотрение
  2. Ярлык (0 отрицательный, 1 положительный)

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

Наконец, мы импортируем библиотеку eli5, pip install eli5, если она отсутствует, и пишем следующий код.

В основном это:

  1. Создать объект объяснения
  2. Подходит для объяснительной модели
  3. Вызов необходимых методов, чтобы показать объяснения

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

Определенно стоит проверить.

Обычно все, что вы получаете от модели, - это 0 или 1 ... Вот что вы получите за это.

Предложение с цветовой кодировкой, индивидуальная разбивка предложения по важности слов.

Вопрос 5: Круто, так что какая-то концепция, некоторые способы использования, некоторые методы, некоторые примеры, что еще теперь?

Если честно, то хлопок поможет.

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

Вот несколько ресурсов, которые я бы порекомендовал:







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

Удачного дня, ура!