Открываем черный ящик моделей машинного обучения, шаг за шагом, прямо в Excel
Делиться

С помощью scikit-learn очень легко обучить любую модель. Обучение всегда выполняется, казалось бы, одним и тем же методом. Поэтому мы привыкаем к мысли, что обучение любой модели происходит одинаково и просто.
Благодаря autoML, поиску по сетке и Gen AI «обучение» моделей машинного обучения можно осуществлять с помощью простого «подсказки».
Но реальность такова, что при выполнении model.fit, лежащий в основе каждой модели, процесс может сильно различаться. И каждая модель сама по себе работает с данными по-разному.
Мы можем наблюдать две совершенно разные тенденции, почти в двух противоположных направлениях:
- С одной стороны, мы обучаем, используем, манипулируем и прогнозируем с помощью все более сложных моделей (например, генеративных моделей).
- С другой стороны, мы не всегда способны объяснить простые модели (такие как линейная регрессия, линейный дискриминантный классификатор) и пересчитать результаты вручную.
Важно понимать используемые нами модели. И лучший способ понять их — реализовать самостоятельно. Некоторые делают это на Python, R или других языках программирования. Но для тех, кто не программирует, всё ещё существует барьер. В наши дни понимание ИИ необходимо каждому. Более того, использование языка программирования может скрывать некоторые операции за уже существующими функциями. Кроме того, визуальное объяснение отсутствует, то есть каждая операция отображается нечётко, поскольку функция сначала кодируется, а затем запускается, чтобы выдать только результат.
Поэтому, на мой взгляд, лучший инструмент для изучения — это Excel. С формулами, которые наглядно показывают каждый этап вычислений.
Фактически, когда мы получаем набор данных, большинство непрограммистов открывают его в Excel, чтобы понять, что внутри. Это очень распространено в деловом мире.
Даже многие специалисты по данным, включая меня, используют Excel для быстрого просмотра. А когда приходит время объяснить результаты, зачастую наиболее эффективным способом оказывается их демонстрация непосредственно в Excel, особенно перед руководителями.
В Excel всё на виду . Нет никакого «чёрного ящика». Вы видите каждую формулу, каждое число, каждый расчёт.
Это очень помогает понять, как на самом деле работают модели, без сокращений.
И вам не нужно ничего устанавливать. Просто электронная таблица.
Я опубликую серию статей о том, как понимать и внедрять модели машинного обучения и глубокого обучения в Excel .
Для «Адвент-календаря» я буду публиковать по одной статье в день.

Для кого этот сериал?
Я думаю, что для студентов, которые учатся, эти статьи предлагают практическую точку зрения. Она помогает понять сложные формулы.
Для разработчиков МО или ИИ, которые иногда не изучали теорию, но теперь, без сложной алгебры, теории вероятности или статистики, можно открыть чёрный ящик, стоящий за model.fit. Потому что для всех моделей выполняется model.fit. Но в реальности модели могут быть очень разными.
Это также подходит руководителям, у которых может не быть полного технического опыта, но которым Excel предоставит все интуитивно понятные идеи, лежащие в основе моделей. Таким образом, в сочетании с вашим опытом в бизнесе вы сможете лучше оценить, действительно ли необходимо машинное обучение и какая модель может быть более подходящей.
Итак, подведем итог: цель — лучше понять модели, обучение моделей, интерпретируемость моделей и связи между различными моделями.
Структура статей
С точки зрения практика, мы обычно классифицируем модели на следующие две категории: контролируемое обучение и неконтролируемое обучение.
Затем для контролируемого обучения мы используем регрессию и классификацию. А для неконтролируемого обучения — кластеризацию и снижение размерности.

Но вы наверняка уже заметили, что некоторые алгоритмы могут использовать один и тот же или похожий подход, например, классификатор KNN против регрессора KNN, классификатор дерева решений против регрессора дерева решений, линейная регрессия против «линейного классификатора».
Дерево регрессии и линейная регрессия имеют одну и ту же цель — выполнить регрессионную задачу. Но при попытке реализовать их в Excel вы увидите, что дерево регрессии очень близко к дереву классификации. А линейная регрессия ближе к нейронной сети.
Иногда люди путают K-NN с K-средними. Некоторые могут утверждать, что их цели совершенно разные, и что путать их — ошибка новичка. НО мы также должны признать, что у них одинаковый подход к расчёту расстояний между точками данных. Так что между ними есть связь.
То же самое касается и изолированного леса, поскольку мы видим, что в случайном лесу также есть «лес».
Итак, я рассмотрю все модели с теоретической точки зрения. Существует три основных подхода, и мы наглядно увидим, как эти подходы по-разному реализуются в Excel.
Этот обзор поможет нам ориентироваться во всех различных моделях и устанавливать связи между многими из них.

- Для моделей на основе расстояний мы рассчитаем локальные или глобальные расстояния между новым наблюдением и обучающим набором данных.
- Для моделей на основе дерева нам необходимо определить разделения или правила, которые будут использоваться для создания категорий объектов.
- Для математических функций идея заключается в применении весов к признакам. Для обучения модели в основном используется градиентный спуск.
- Для моделей глубокого обучения мы считаем, что основное внимание уделяется проектированию признаков для создания адекватного представления данных.
Для каждой модели мы постараемся ответить на эти вопросы.
Общие вопросы по модели:
- Какова природа этой модели?
- Как обучается модель?
- Каковы гиперпараметры модели?
- Как можно использовать один и тот же модельный подход для регрессии, классификации или даже кластеризации?
Как моделируются особенности :
- Как обрабатываются категориальные признаки?
- Как управляются пропущенные значения?
- Имеет ли значение масштабирование для непрерывных объектов?
- Как измерить важность одной характеристики?
Как оценить важность функций ? Этот вопрос также будет обсуждаться. Возможно, вы знаете, что такие пакеты, как LIME и SHAP, очень популярны и не зависят от модели. Но правда в том, что каждая модель ведёт себя совершенно по-разному, и интерпретировать данные непосредственно с помощью модели также интересно и важно.
Взаимосвязи между различными моделями
Каждая модель будет представлена в отдельной статье, но мы также обсудим связи с другими моделями.
Мы также обсудим взаимосвязи между различными моделями. Поскольку мы действительно открываем каждый «чёрный ящик», мы также узнаем, как теоретически улучшить некоторые модели.
- Методы KNN и LDA (линейный дискриминантный анализ) очень близки. Первый использует локальное расстояние, а второй — глобальное.
- Градиентный бустинг — это то же самое, что и градиентный спуск, отличается только векторное пространство.
- Линейная регрессия также является классификатором.
- Кодирование меток можно использовать для категориальных признаков, и это может быть очень полезно и мощно, но выбирать «метки» следует с умом.
- Метод SVM очень близок к линейной регрессии, даже ближе к гребневой регрессии.
- LASSO и SVM используют схожий принцип отбора объектов или точек данных. Знаете ли вы, что вторая буква «S» в слове LASSO означает «отбор»?
Для каждой модели мы также обсудим один конкретный момент, который упускается из виду в большинстве традиционных курсов. Я называю это невыученным уроком модели машинного обучения.
Список статей
Ниже будет список, который я буду обновлять, публикуя по одной статье в день, начиная с 1 декабря!
Увидимся совсем скоро!
…
Источник: towardsdatascience.com























