В этой статье я попытался обобщить основные особенности наиболее распространенных алгоритмов машинного обучения с учителем, за исключением ансамблевых методов, таких как RandomForest или XGboost, о которых я расскажу в другой статье.
Обратите внимание, что во всех приведенных ниже случаях n представляет собой количество входных строк, а m представляет количество входных объектов.
K ближайших соседей (KNN)
- Как это работает
i) Начните с набора данных с известными k категориями
ii) Для новой точки данных в X с неизвестной категорией рассчитайте расстояние от каждой из других точек.
iii) Отсортируйте расстояния по возрастанию порядок
iv) Из этого отсортированного списка выберите верхние K строк
v) Найдите наиболее часто встречающуюся категорию из этих K верхних строк. Это будет прогнозируемый класс для новой точки данных.
- Гиперпараметры
k, который определяет, сколько соседних точек учитывать
- Компромисс между погрешностью и дисперсией
По мере увеличения k смещение увеличивается, а дисперсия уменьшается. Когда k = 1, модель переобучается, поскольку пытается классифицировать каждую точку в отдельный класс. По мере увеличения k увеличивается дисперсия и увеличивается смещение.
- Плохо работает, когда
При наличии выбросов и случайно разбросанных точек
- Сложность времени обучения
O(n*m), где n — количество точек данных в обучающем наборе данных, а m — количество признаков.
- Сложность во время выполнения
O (n * m), так как нам нужно вычислить расстояния от каждой точки.
- Пространственно-временная сложность
O(n*m) нам нужно хранить все точки в памяти для вычисления расстояний
- Многоклассовая классификация
KNN по своей сути может выполнять мультиклассовую классификацию.
- Интерпретируемость
Когда число признаков m невелико, Knn интерпретируемо.
- Когда использовать
Knn работает очень хорошо, когда m ‹‹ n и само n не очень велико.
Обычно не используется в требованиях с низкой задержкой из-за времени выполнения и сложности пространства.
Наивный байесовский метод
Называется Наивным Байесом, потому что мы используем «наивное» предположение о независимости признаков.
Это очень хорошая основа для задач классификации текста.
- Сглаживание Лапласа
Для редкого слова или признака w P(w|y=k) ≈ 0, где k — одно из значений для меток. Мы не можем отбросить P(w|y=k), потому что это было бы эквивалентно утверждению P(w|y=k) = 1. Поэтому вместо этого мы используем сглаживание Лапласа с гиперпараметром 𝛼, который обычно принимается равным 1.
- Компромисс между погрешностью и дисперсией
𝛼 увеличивается, смещение увеличивается, а дисперсия уменьшается.
- Войдите в журнал вероятностей
Мы берем логарифмические вероятности в Наивном Байесе, чтобы избежать умножения с очень маленькими значениями.
- Интерпретируемость
Наивные байесовские модели легко интерпретируются, когда важность признаков может быть получена непосредственно из модели.
- Несбалансированный набор данных
Для несбалансированного набора данных класс большинства имеет преимущество.
- Выбросы
Сглаживание по Лапласу обычно устраняет выбросы.
- Мультиклассовая классификация
Наивный Байес по своей сути может выполнять мультиклассовую классификацию
Он также может обрабатывать данные большой размерности, если мы используем логарифмические вероятности.
- Случаи использования
Если предположение об условной независимости между функциями верно, Наивный Байес работает очень хорошо.
Даже если некоторые функции зависят, производительность наивного байесовского алгоритма достаточно высока.
Наивный байесовский подход обычно используется, когда у нас есть категориальные признаки, а не числовые.
Он суперинтерпретируемый, поэтому используется в тех случаях, когда интерпретируемость крайне необходима.
- Обучайте и выполняйте время и пространственную сложность
Время обучения и выполнения и пространственная сложность невелики, порядка O (m).
Можно легко переобучить, если не использовать сглаживание Лапласа.
Логистическая регрессия
Работает в предположении, что классы почти линейно отделимы.
- Компромисс смещения и дисперсии:
Гиперпараметр 𝜆 для регуляризации. 𝜆 увеличивается, дисперсия уменьшается, а погрешность увеличивается.
- Сложность обучения времени
O(nm), где n — количество точек данных, а m — количество признаков.
- Сложность времени тестирования
Сложность выполнения равна O(m), где m — размерность данных. Следовательно, это весьма полезно для приложений с малой задержкой, особенно если размер данных невелик.
- Космическая сложность
Пространственная сложность порядка m, т.е. O(m).
Машины опорных векторов, SVM
Мы пытаемся найти гиперплоскость, максимизирующую запас.
Опорные векторы — это точка, ближайшая к гиперплоскости, максимизирующей поля, если мы движемся параллельно в любом направлении.
Функция потерь в SVM определяется потерями шарнира.
Ядро RBF или полиномиальное ядро используются для более сложных границ решений.
- Гиперпараметры
Для Linear Kernel гиперпараметр задается C.
По мере увеличения C смещение уменьшается, а дисперсия увеличивается
Для ядра RBF гамма и C являются гиперпараметрами.
По мере увеличения гаммы систематическая ошибка увеличивается, а дисперсия уменьшается.
Ядро RBF работает очень хорошо, как и KNN, но имеет лучшую пространственную и временную сложность.
- Время обучения и сложность времени выполнения
Время обучения O(n²) для SVM. Поэтому обычно не используется, когда n велико.
Сложность времени выполнения составляет O (км), где k — количество опорных векторов.
- Интерпретируемость
Не очень интерпретируемый.
- Оптимальные варианты использования
Очень хорошо для больших м
Не для больших n
Дерева решений
Деревья решений представляют собой вложенные классификаторы «если-иначе».
- Энтропия
Если вероятность всех классов одинакова, то энтропия максимальна, т.е. 1.
Если один класс имеет более высокую вероятность, чем другие, энтропия почти равна 0.
- Примесь Джини
Максимальное значение равно 0,5. Гораздо проще вычислить, чем энтропию.
- Получение информации
Уменьшение энтропии или примесь Джини, когда мы пересекаем ветвь дерева решений.
- Построение дерева решений
Если у нас есть 4 признака, мы разбиваем дерево решений по каждому признаку и вычисляем прирост информации для каждого. В качестве корня выбирается признак, дающий наибольший прирост информации.
Нет необходимости в стандартизации числовых характеристик.
Для категориального признака со многими значениями преобразуйте его числовой признак и проведите P(Yi = 1|Pj), где это обозначает одно из значений признака.
- Гиперпараметры
Глубина дерева решений является гиперпараметром, наряду с max_leaf_nodes и max_features.
- Обучение временной сложности
O(n*logn*m), если m большое
- Сложность времени выполнения
Преобразуйте модель DT в условия if-else. Сложность времени выполнения очень мала, поскольку глубина дерева обычно составляет 5–10.
Для регрессии с использованием DT мы используем MAE в качестве критерия выбора признаков.
- Дела для DT
Сбалансируйте данные. Избегайте кодирования One Hot. Легко интерпретируемый
Мы рассмотрели основные особенности наиболее распространенных алгоритмов контролируемого машинного обучения. Следите за похожими статьями об алгоритмах ансамблевого машинного обучения и алгоритмах машинного обучения без учителя.
Спасибо, что прочитали!!