Темы машинного обучения
1. Компромисс смещения и дисперсии и 2. Несбалансированные данные в классификации
3. Анализ главных компонентов
4. Теорема Байеса и классификатор
5. Регрессионный анализ
6. Регуляризация в машинном обучении
7. Сверточная нейронная сеть
8. Известные CNN
9. Методы ансамбля в машинном обучении

Компромисс между погрешностью и дисперсией

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

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

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

Несбалансированные данные в классификации

Точность не всегда дает правильное представление о вашей обученной модели.

Показатели оценки для классификации

Точность: % правильного прогноза
Точность: Точность модели
Отзыв: Полнота модели
Оценка F1: сочетает в себе точность/отзыв

Возможные решения

1. Репликация данных: реплицируйте имеющиеся данные до тех пор, пока количество образцов не станет сопоставимым
2. Синтетические данные: изображения: поворот, расширение, обрезка, добавление шума к изображениям. существующие входные изображения и создать новые данные
3. Измененная потеря: изменить потерю, чтобы отразить большую ошибку при неправильной классификации меньшего набора выборок
4. Изменить алгоритм: strong> Увеличьте сложность модели/алгоритма (Против: переоснащение)

3. Анализ главных компонентов — уменьшение размерности

Что такое PCA?

  • На основе набора данных найдите новый набор ортогональных векторов признаков таким образом, чтобы разброс данных был максимальным в направлении вектора признаков (или измерения)
    + Оцените вектор признаков в порядке убывания разброса данных < br /> + Точки данных имеют максимальную дисперсию в первом векторе признаков и минимальную дисперсию в последнем векторе признаков
    + Расхождение точек данных в направлении вектора признаков можно назвать мерой информации в этом направлении

4. Теорема Байеса и классификатор

Теорема Байеса

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

Пример

* Вероятность пожара P(F) = 1%
* Вероятность задымления P(S) = 10%
* Вероятность задымления при наличии пожара P(S|F) = 90%
* Какова вероятность пожара, если мы видим дым P(F|S)?

5. Регрессионный анализ

Что такое регрессионный анализ?
Подгонка функции f(.) к точкам данных y=f(x) при некоторой функции ошибок. Основываясь на оценочной функции и ошибке, мы имеем следующие типы регрессии

  1. Линейная регрессия
    Подбирает линию, минимизирующую сумму среднеквадратичной ошибки для каждой точки данных.
  2. Полиномиальная регрессия
    Подбирает полином порядка k (k+1 неизвестных), сводящий к минимуму сумму среднеквадратичной ошибки для каждой точки данных.
  3. Байесовская регрессия
    Для каждой точки данных соответствует распределению Гаусса путем минимизации среднеквадратичной ошибки. По мере увеличения количества точек данных x оно сходится к точечным оценкам.
  4. Регрессия хребта
    Может соответствовать линейной или полиномиальной минимизации суммы среднеквадратичной ошибки для каждой точки данных и взвешенной L2-нормы бета-параметров функции.
  5. Регрессия хребта
    Может соответствовать линейной или полиномиальной минимизации суммы среднеквадратичной ошибки для каждой точки данных и взвешенной L2-нормы бета-параметров функции.
  6. Лассо-регрессия
    Может соответствовать линейной или полиномиальной минимизации суммы среднеквадратичной ошибки для каждой точки данных и взвешенной нормы L1 бета-параметров функции.
  7. Логистическая регрессия
    Может соответствовать линейной или полиномиальной с сигмовидной активацией, сводящей к минимуму бинарную кросс-энтропийную потерю для каждой точки данных. Метки y являются метками бинарного класса.

6. Регуляризация в машинном обучении

Что такое регуляризация в машинном обучении?

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

Типы регуляризации

1. Измените функцию потерь

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

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

Энтропия: используется для моделей, которые выводят вероятность. Принуждает распределение вероятностей к равномерному распределению.

2. Изменить выборку данных

Увеличение данных: создавайте больше данных из доступных данных путем случайной обрезки, расширения, поворота, добавления небольшого количества шума и т. д.
K-кратная перекрестная проверка: разделение данные в k групп. Тренируйтесь на (k-1) группах и тестируйте на 1 группе. Попробуйте все k возможных комбинаций.

3. Изменить подход к обучению

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

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

Шаблон CNN
Большинство часто используемых скрытых слоев (не все) следуют шаблону
1.Функция слоя: базовая функция преобразования, такая как сверточная или полностью подключенный слой.
a.Полностью подключенный: линейные функции между входом и выходом
b. Сверточный слой: эти слои применяются к входным 2D (3D) картам объектов. Обучаемые веса представляют собой 2D (3D) ядро/фильтр, который перемещается по входной карте объектов, генерируя точечные произведения с перекрывающейся областью входной карты объектов.
c. Транспонированный сверточный (деконволюционный) слой: обычно используется для увеличения размера выходной карты объектов (повышение дискретизации). Идея транспонированного сверточных слоев состоит в том, чтобы отменить (не совсем) сверточный слой.

2.Объединение
Необучаемый слой для изменения размера карты объектов
Максимальное/среднее объединение: уменьшение пространственного размера входного слоя на основе выбора максимального/среднего значения в принимающем поле, определяемом ядром
Unpooling: необучаемый слой, используемый для увеличения пространственного размера входного слоя на основе размещения входного пикселя в определенный индекс в рецептивном поле вывода, определяемый ядром

3. Нормализация
Обычно используется непосредственно перед функциями активации, чтобы ограничить неограниченную активацию от чрезмерного увеличения значений выходного слоя
a. LRN нормализации локального отклика:необучаемый слой, который квадратно нормализует значения пикселей на карте объектов в пределах локальной окрестности
b. Пакетная нормализация: обучаемый подход к нормализации данных путем изучения масштаба и переменной сдвига во время обучения.

4.Активация
Внедрите нелинейность, чтобы CNN могла эффективно отображать нелинейные комплексные отображения.
a. Непараметрические/статические функции: Linear, ReLU
b. Параметрические функции:ELU, tanh, сигмовидная, Leaky ReLU
c. Ограниченные функции:tanh, сигмовидная

5.Функция потерь
Определяет, насколько далеко предсказание CNN от фактических меток.
a. Функции регрессионных потерь:MAE, MSE, потери Хубера
b. Функции классификационных потерь: перекрестная энтропия, потеря шарнира.

8. Известные CNN

AlexNet — 2012
Почему: AlexNet родился из-за необходимости улучшить результаты конкурса ImageNet.
Что: Сеть состоит из 5 сверточных (CONV) слоев и 3 полносвязных (FC) слоев. Используемая активация представляет собой выпрямленную линейную единицу (ReLU).
Как: увеличение данных выполняется для уменьшения переобучения, использует локализацию локального ответа.

VGGNet — 2014
Почему: VGGNet родилась из-за необходимости уменьшить параметры в слоях CONV и сократить время обучения
Что: Существует несколько вариантов VGGNet (VGG16, VGG19 и т. д.)
Как: Здесь важно отметить, что все ядра conv имеют размер 3x3 и Ядра maxpool имеют размер 2x2 с шагом два.

ResNet — 2015
Почему: Нейронные сети печально известны тем, что не могут найти более простое сопоставление, когда оно существует. ResNet решает эту проблему. Что: существует несколько версий архитектур ResNetXX, где «XX» обозначает количество слоев. Наиболее часто используемыми являются ResNet50 и ResNet101. Поскольку проблема исчезающего градиента была решена (подробнее об этом в разделе «Как»), CNN стала становиться все глубже и глубже
Как: архитектура ResNet использует короткие соединения, чтобы решить проблему исчезновения градиентная проблема. Основным строительным блоком ResNet является блок Residencial, который повторяется по всей сети.

Начало — 2014
Почему:ядра большего размера предпочтительнее для более глобальных функций, с другой
стороны, ядра меньшего размера обеспечивают хорошие результаты при обнаружении области- конкретные
функции. Для эффективного распознавания таких признаков переменного размера мы
используем ядра разных размеров. Это то, что делает Inception.
Что: сетевая архитектура Inception состоит из нескольких начальных
модулей следующей структуры. Каждый начальный модуль состоит из
четырех параллельных операций: 1 x 1, 3 x 3, 5 x 5,
максимальный пул.
Как: Inception расширяет сеть. пространство, из которого с помощью обучения будет выбрана лучшая
сеть. Каждый начальный модуль может
фиксировать основные функции на разных уровнях.

9. Методы ансамбля в машинном обучении

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

Типы ансамблевого обучения: количество N слабых учеников
1. Бэггинг: обучает N разных слабых моделей (обычно однотипных — однородных) с N непересекающимися подмножество входного набора данных параллельно. На этапе тестирования оценивается каждая модель. В качестве прогноза выбирается метка с наибольшим количеством прогнозов. Методы бэггинга уменьшают дисперсию прогноза.
2. Повышение:
обучает N разных слабых моделей (обычно однотипных — однородных) с полным набором данных в последовательном порядке. Точкам данных, ошибочно классифицированным с помощью предыдущей слабой модели, присваивается больший вес, чтобы они могли быть правильно классифицированы следующей слабой более компактной моделью. На этапе тестирования каждая модель оценивается, и на основе ошибки тестирования каждой слабой модели прогноз взвешивается для голосования. Методы усиления уменьшают смещение прогноза.
3. Объединение:обучает N разных слабых моделей (обычно разного типа — разнородных) с одним из двух подмножеств набора данных параллельно. Как только слабые ученики обучены, они используются для обучения мета-ученика, чтобы объединить свои прогнозы и выполнить окончательный прогноз, используя другое подмножество. На этапе тестирования каждая модель предсказывает свою метку, эти установленные метки передаются мета-ученику, который генерирует окончательный прогноз.