Контролируемое машинное обучение

Типы контролируемого машинного обучения:

  • Регрессия, в которой целевая переменная непрерывна.

  • Например, доход от кино.

  • Классификация, в которой целевая переменная является категориальной.

  • Например, спам или нет

Для построения модели классификации необходимо:

  • Особенности, которые можно измерить количественно
  • Помеченная цель или переменная результата
  • Метод измерения сходства
  • Используйте Pytorch в качестве примера

Линейная регрессия

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

Остатки определяются как разница между фактическим значением и прогнозируемым значением.

Передовая практика моделирования для линейной регрессии:

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

Три общие меры ошибки для линейных регрессий:

  • Сумма квадратов ошибок (SSE)

  • Общая сумма квадратов (TSS)

  • Коэффициент детерминации (R2)

Синтаксис линейной регрессии

Самый простой синтаксис для обучения линейной регрессии с помощью scikit Learn:

from sklearn.linear_model import LinearRegression
LR = LinearRegression()
LR = LR.fit(X_train, y_train)
# To score a data frame X_test you would use this syntax:
y_predict = LR.predict(X_test)

Тренировочные и тестовые сплиты

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

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

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

Перекрестная проверка

Три наиболее распространенных подхода к перекрестной проверке:

  • k-кратная перекрестная проверка

  • оставить одну вне перекрестной проверки
  • стратифицированная перекрестная проверка

Полиномиальная регрессия

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

Другими алгоритмами, которые помогут вам расширить ваши линейные модели, являются:

  • Логистическая регрессия
  • K-ближайшие соседи
  • Дерева решений
  • Машины опорных векторов
  • Подходы к глубокому обучению
  • Случайные леса
  • Методы ансамбля

Методы регуляризации

Три источника ошибок для вашей модели: смещение, дисперсия и неустранимая ошибка.

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

Регуляризация добавляет регулируемый параметр силы регуляризации непосредственно в функцию стоимости.

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

Ридж-регрессия

Штраф за сложность λ применяется пропорционально квадратам значений коэффициентов.

– Штрафной срок имеет эффект «сокращения» коэффициентов до 0.

– Это накладывает смещение на модель, но также снижает дисперсию.

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

– Рекомендуется масштабировать функции (т. е. использовать StandardScaler), чтобы переменный масштаб не влиял на штрафы.

Регрессия LASSO

Штраф за сложность λ (лямбда) пропорционален модулю коэффициентов. LASSO расшифровывается как: оператор наименьшей абсолютной усадки и выбора.

- Эффект аналогичен Ridge с точки зрения компромисса сложности: увеличение лямбда увеличивает смещение, но снижает дисперсию.

- LASSO с большей вероятностью, чем Ridge, выполнит выбор признаков, поскольку для фиксированного λ LASSO с большей вероятностью приведет к установке коэффициентов на ноль.

Эластичная сетка

Объединяет штрафы как от регрессии Риджа, так и от регрессии ЛАССО. Это требует настройки дополнительного параметра, который определяет акцент на штрафах за регуляризацию L1 и L2.

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

Elastic Net, альтернативный гибридный подход, вводит новый параметр α (альфа), который определяет средневзвешенное значение штрафов L1 и L2.

Методы регуляризации имеют аналитическую, геометрическую и вероятностную интерпретацию.

Проблемы классификации

Два основных типа моделей контролируемого обучения:

  • Модели регрессии, которые предсказывают непрерывный результат (проблема «сколько»).
  • Модели классификации, которые предсказывают категорический результат.

Наиболее распространенные модели, используемые в обучении с учителем:

  • Логистическая регрессия

  • K-ближайшие соседи

  • Опорные векторные машины

  • Древо решений
  • Нейронные сети
  • Случайные леса
  • Повышение
  • Модели ансамбля

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

Логистическая регрессия чаще всего используется для дихотомических и номинальных зависимых переменных.

Нормализация, стандартизация

Неважно, масштабируете ли вы до или после, с точки зрения необработанных прогнозов, для линейной регрессии. Однако это имеет значение для других алгоритмов, т.е. Л1 или Л2.

Логистическая регрессия

Тип регрессии, который моделирует вероятность появления определенного класса при наличии других независимых переменных. Он использует логистическую или логит-функцию для моделирования зависимой переменной. Это очень распространенная прогностическая модель из-за ее высокой интерпретируемости.

Метрики ошибок классификации

Матрица путаницы представляет собой таблицу:

истинно положительные, ложноотрицательные (тип II), ложноположительные (тип I), истинно отрицательные

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

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

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

Чем ближе это значение к 1,0, тем лучше эта модель справляется с определением только положительных экземпляров.

Специфичность – это отношение истинных отрицательных результатов к общему количеству фактических отрицательных результатов.

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

Рабочая характеристика приемника (ROC) отображает истинную положительную скорость (чувствительность) модели по сравнению с ее ложной положительной скоростью (1-чувствительность).

Область под кривой ROC-графика является очень распространенным методом выбора методов классификации.

Кривая точность-отзыв измеряет компромисс между точностью и отзывом.

Кривая ROC обычно работает лучше для данных с сбалансированными классами, а кривая точность-отзыв обычно лучше работает для данных с несбалансированными классы.

def evaluate_metrics(yt, yp):
    results_pos = {}
    results_pos['accuracy'] = accuracy_score(yt, yp)
    precision, recall, f_beta, _ = precision_recall_fscore_support(yt, yp, average='binary')
    results_pos['recall'] = recall
    results_pos['precision'] = precision
    results_pos['f1score'] = f_beta
    return results_pos

K Методы ближайших соседей для классификации

K методов ближайших соседей полезны для классификации. Метод локтя часто используется для идентификации модели с низким K и низкой частотой ошибок.

Низкий K – переобучение
Высокий K – чрезмерно обобщенный

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

Машины опорных векторов

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

SVM пытается найти гиперплоскости с максимальным запасом.

Гиперплоскости определяются опорными векторами (точки данных имеют наименьшее расстояние до гиперплоскостей).

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

Функция стоимости для логистической регрессии имеет функцию стоимости, которая уменьшается до нуля, но редко достигает нуля.

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

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

Трюк с ядром

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

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

Таким образом, ядра не являются какими-либо настоящими отображающими функциями из пространств низкой размерности в пространства большой размерности.

Таким образом, вычисление k(x, y) эквивалентно вычислению скалярного произведения многомерных векторов без выполнения фактических преобразований пространства признаков.

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

Модель SVC, предоставляемая sklearn, имеет два важных параметра, которые необходимо настроить: параметр регуляризации C и kernel.

ST: абс(маржа * ||β||)≥1

C (Prof.Ng uses 2 in ML course)argument — это параметр регуляризации.

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

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

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

SVM с ядрами RBF медленно обучаются на больших наборах данных или имеют много функций.

Аргумент kernel указывает ядро, которое будет использоваться для преобразования функций в многомерные пространства. Некоторые часто используемые нелинейные ядра:

  • rbf: Радиальная базисная функция Гаусса (RBF)
  • poly: Полиномиальное ядро
  • sigmoid: Сигмовидное ядро

Подробнее об SVM

  1. В качестве метода классификации SVM использует высокую вычислительную эффективность для большого набора данных, он состоит из пространств высокой размерности и может подходить для документирования классификации и анализа данных настроений. В таких случаях размерность данных чрезвычайно велика.
  2. Он имеет огромную эффективность памяти, хотя при принятии решений применяется только подмножество точек обучающих данных при выборе новых функций, поэтому при принятии решений необходимо хранить небольшое количество точек данных.
  3. Он имеет большую адаптируемость (умение), существует большая нелинейность в процессе деления на классы, что приводит к достаточной гибкости в применении новых ядер для принятия решений и начала выполнения высокой классификации.
  4. SVM обеспечивает высокую точность по сравнению с другими классификаторами, такими как логистическая регрессия, деревья решений. У него есть возможность ядра для управления нелинейными входными пространствами.

Древо решений

Деревья решений разделяют ваши данные с помощью мер примесей (不纯物). Это жадный алгоритм, не основанный на статистических предположениях.

Наиболее распространенными показателями примесей расщепления являются энтропия и индекс Джини.

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

Иногда в этом помогает перекрестная проверка и сокращение.

Большое преимущество деревьев решений заключается в том, что они действительно:

  • Легко интерпретировать
  • требуется НЕ предварительная обработка данных

Обучение ансамблем

1. Упаковка

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

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

Методы на основе ансамбля и бэггинг

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

2. Случайный лес

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

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

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

3. Прокачка

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

Суть в том, что каждое дерево получает голос для окончательного решения. Итак, мы видим, что
начинаем с трех разных деревьев, а затем собираемся использовать эти три разных дерева для голосования за один классификатор. Итак, как мы видим здесь, мы перебрать решения с учетом соответствия каждого дерева, и оно будет розовым, розовым, голубым, и это будет конкретная строка
в нашем наборе данных. Для этой конкретной строки мы можем найти класс большинства, который предсказал результаты, и мы можем сделать это для всех наших разных строк. Итак, мы берем каждую из этих разных строк и смотрим, что представляет собой класс большинства, и получение этого
класса большинства будет называться метаклассификацией, поскольку она использует несколько классификаторов, чтобы получить их выходные данные и определить класс по объединение, или агрегирование, или здесь голосование по тому, какой класс составляет большинство. В качестве примера, если мы вернемся к нашей первой строке, мы увидим, что первое дерево
могло иметь красный цвет, второе дерево также установило красный цвет, а третье дерево установило синий цвет. У нас тут демократия. У нас есть два красных против одного синего. Итак, мы собираемся выбрать красный цвет. В нашем вступлении мы подняли этот термин, бэггинг. Бэггинг — это сокращение от агрегации начальной загрузки, что мы только что изложили здесь. Мы загружаемся, получая каждую из наших небольших выборок, строим наши деревья решений, а затем объединяем все эти различные деревья решений на этих выборках, это шаг агрегирования. Таким образом, бэггинг — это агрегация начальной загрузки.

n_оценщиков = 20

BaggingClassifier(base_estimator=DecisionTreeClassifier(criterion=”энтропия”, max_depth = 4,random_state=2),n_estimators=n_estimators,random_state=0,bootstrap=True)

RandomForestClassifier ( max_features = max_features, n_estimators = n_estimators, random_state = 0)

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

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

Как и в случае с бэггингом, увеличение количества деревьев улучшает результаты и в большинстве случаев не приводит к переоснащению; но улучшения выходят на плато, когда вы добавляете больше деревьев. Для этого примера количество деревьев в лесу (по умолчанию = 100).

Повышение и суммирование

Повышение

Методы повышения являются аддитивными (添加剂) в том смысле, что они последовательно переобучают деревья решений, используя наблюдения с самыми высокими остатками на предыдущем дереве. Для этого наблюдениям с высокой невязкой присваивается более высокий вес.

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

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

AdaBoost на самом деле является частью семейства алгоритмов Boosting. Подобно пакетированию и случайному лесу (RF), AdaBoost объединяет результаты многих классификаторов в ансамбль, но есть некоторые отличия. И в Бэггинге, и в RF каждый классификатор в ансамбле мощный, но склонен к переобучению. По мере того как бэггинг или RF объединяют все больше и больше классификаторов, они уменьшают переобучение.

При использовании AdaBoost каждый классификатор обычно работает немного лучше, чем случайный. Это называется слабым учеником или слабым классификатором. AdaBoost объединяет эти слабые классификаторы, чтобы получить сильный классификатор. В отличие от Bagging и Random Forest, в AdaBoost добавление большего количества учеников может привести к переоснащению. В результате AdaBoostтребует настройки гиперпараметров, что требует больше времени для обучения. Одним из преимуществ AdaBoost является то, что каждый классификатор меньше, поэтому прогнозы выполняются быстрее.

В AdaBoost сильный классификатор 𝐻(𝑥)H(x) представляет собой линейную комбинацию 𝑇T слабых классификаторов ℎ𝑡(𝑥)ht(x) и 𝛼𝑡αt, как показано в (1). Хотя каждый классификатор ℎ𝑡(𝑥)ht(x) кажется независимым, 𝛼𝑡αt содержит информацию об ошибке классификаторов из ℎ_1(𝑥),..,ℎ_𝑡−1(𝑥)h_1(x),..,h_t−1( Икс). Чем больше мы добавляем классификаторов, тем выше точность обучения. Что не так очевидно в (1), так это то, что в процессе обучения значения этой обучающей выборки изменяются для ℎ𝑡(𝑥)ht(x). Для более подробного ознакомления с теорией, лежащей в основе Adaboost, ознакомьтесь с Элементы статистического обучения, интеллектуального анализа данных и прогнозирования.

𝐻(𝑥)=𝑒𝑥𝑡𝑠𝑖𝑔𝑛(∑_𝑡=1𝑇𝛼𝑡ℎ𝑡(𝑥))H(x)=extsign(∑_t=1Tαtht(x)) [1]

Повышение градиента

Основные функции потерь для алгоритмов повышения:

  • Функция потерь 0–1, которая игнорирует правильно классифицированные наблюдения. Форма этой функции потерь затрудняет ее оптимизацию.
  • Адаптивная повышающая функция потерь 👆code, имеющая экспоненциальный характер. Форма этой функции более чувствительна к выбросам.
  • Функция потери градиента👆code. Наиболее распространенная реализация повышения градиента использует биномиальную функцию потерь логарифмического правдоподобия, называемую отклонением. Он имеет тенденцию быть более устойчивым к выбросам, чем AdaBoost.

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

Аддитивный характер повышения градиента делает его склонным к переоснащению. Это можно решить с помощью перекрестной проверки или точной настройки количества итераций повышения. Другие гиперпараметры для точной настройки:

  • скорость обучения (усадка)
  • подвыборка
  • количество функций.

Укладка

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

Сохраните модель sklearn, просто примечание

Бэггинг против бустинга

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

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

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

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

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

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

Древовидные модели, такие как деревья решений, являются еще одним популярным самоинтерпретируемым типом модели. Основная характеристика древовидных моделей заключается в том, что они имитируют процесс рассуждения человека путем создания набора правил ЕСЛИ-ТО-ИНАЧЕ. Например, если в доме более 4 комнат и связанная с ним школа входит в десятку лучших, то предполагаемая цена дома составляет 850 000 долларов. Однако, как и линейные модели, модели больших деревьев с большой шириной и глубиной также становятся трудными для понимания и подвержены переоснащению. Обрезка деревьев — это один из способов уменьшить размер создаваемых деревьев.

Модель K-ближайших соседей, или KNN, также можно считать самоинтерпретируемой моделью, если пространства признаков могут быть понятными и небольшими. Например, предположим, что мы хотим предсказать цену дома с 4 комнатами, и связанный с ним рейтинг средней школы — 10-й. Обученная модель KNN предсказывает, что цена нулевого дома составит 855 000 долларов на основе среднего значения трех его соседей. Такой процесс прогнозирования согласуется с нашей интуицией и здравым смыслом, поскольку мы также будем проверять наличие похожих домов, проданных по соседству, в качестве исходных данных. Кроме того, как линейные и древовидные модели, модели KNN могут стать трудными для понимания, если пространство функций велико. Мы можем уменьшить количество экземпляров и функций соседей, чтобы упростить KNN и сделать его более интерпретируемым.

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

Частичный график зависимостей (PDP) ☝️ — это эффективный способ проиллюстрировать взаимосвязь между интересующей функцией и результатом модели. По сути, он визуализирует предельные эффекты функции, то есть показывает, как изменяется результат модели, когда конкретная функция изменяется в своем распределении.

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

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

Суррогатная модель

Глобальная суррогатная модель

  • Сначала мы выбираем набор данных X_test в качестве входных данных.
  • Затем мы используем модель черного ящика, чтобы делать прогнозы y_blackbox, используя X_test.
  • Имея готовые данные тестирования и метки, мы можем использовать их для обучения простой модели логистической регрессии ИЛИ модели дерева решений, которая является суррогатной моделью.
  • Суррогатная модель выводит собственные прогнозы y_surrogate.
  • Наконец, мы можем измерить разницу между y_surrogate и y_blackbox, используя показатель точности (или f1_score, или roc_auc), чтобы определить, насколько хорошо суррогатная модель аппроксимирует модель черного ящика.

Местный суррогат

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

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

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

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

Моделирование несбалансированных классов

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

  • Понижение дискретизации или удаление наблюдений из наиболее распространенного класса
  • Повышение дискретизации или дублирование наблюдений из самого редкого класса или классов
  • Сочетание понижения частоты дискретизации и повышения частоты дискретизации

Подходы к моделированию несбалансированных классов

Конкретные алгоритмы повышения и понижения частоты дискретизации:

  • Стратифицированная выборка
  • Случайная передискретизация
  • Синтетическая избыточная выборка, двумя основными подходами являются Техника синтетической избыточной выборки меньшинства (SMOTE) и Адаптивная синтетическая выборка (ADASYN).
  • Реализации Cluster Centroids, такие как NearMiss, Tomek Links и Nearest Neighbours

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

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