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

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

Выбор и оценка модели - чрезвычайно важная процедура в рабочем процессе машинного обучения. Это раздел нашего рабочего процесса, в котором мы будем анализировать нашу модель. Мы смотрим на более информативную статистику его работы и решаем, какие действия предпринять, чтобы улучшить эту модель. Этот шаг обычно представляет собой разницу между моделью, которая работает хорошо, и моделью, которая работает очень хорошо. Когда мы оцениваем нашу модель, мы лучше понимаем, что она предсказывает хорошо, а что нет, и это помогает нам превратить ее из модели, которая предсказывает наш набор данных с уровнем точности 65%, ближе к 80% или 90%.

Метрики и оценка

Допустим, у нас есть две гипотезы для задачи: h (x) и h ’(x). Как мы узнаем, какой из них лучше. Что ж, с точки зрения высокого уровня, мы могли бы предпринять следующие шаги:

  1. Измерьте точность обеих гипотез
  2. Определите, есть ли статистическая значимость между двумя результатами. Если есть, выберите наиболее эффективную гипотезу. В противном случае мы не можем сказать с какой-либо статистической уверенностью, что h (x) или h ’(x) лучше.

Когда у нас есть задача классификации, мы будем рассматривать точность нашей модели по ее способности назначать экземпляр его правильному классу. Рассмотрим это на двоичном уровне. У нас есть два класса, 1 и 0. Таким образом, мы бы классифицировали правильный прогноз как то, что модель классифицирует экземпляр класса 1 как класс 1 или экземпляр класса 0 как класс 0. Предполагая, что наш 1 класс является «положительным классом». а класс 0 является «отрицательным классом», мы можем построить таблицу, в которой описаны все возможности, которые может дать наша модель.

У нас также есть названия для этих классификаций. Наши Истинно Положительный и Истинный Отрицательный - это наши правильные классификации, как мы можем видеть в обоих случаях, фактический класс и предсказанный класс одинаковы. Два других класса, в которых модель предсказывает неверно, можно объяснить следующим образом:

  • Ложно-положительный результат - когда модель предсказывает 1, но фактический класс равен 0, это также известно как ошибка типа I.
  • Ложноотрицательный - когда модель предсказывает 0, но фактический класс равен 1, это также известно как Ошибка типа II.

Когда мы берем серию примеров и заполняем приведенную выше таблицу частотами того, как часто мы наблюдаем каждую классификацию, мы получаем так называемую матрицу путаницы . Это хороший метод для начала оценки гипотезы, которая идет немного дальше простой оценки точности. С помощью этой матрицы путаницы мы можем определить степень точности, а также определить несколько других показателей, чтобы увидеть, насколько хорошо работает наша модель. Мы используем сокращенные аббревиатуры Ложно-положительный (FP), Ложно-отрицательный (FN), Истинно-положительный (TP) и Истинно-отрицательный (TN).

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

Пример

Эти дополнительные показатели полезны, потому что они дают нам больше информации о поведении классификатора. Например, рассмотрим следующие два классификатора:

При простом измерении точности мы были бы склонны сказать, что классификатор B является лучшим классификатором, потому что его уровень точности выше и составляет 0,75 против 0,50. Однако, когда мы вводим другие наши показатели, мы можем вычислить точность и отзыв классификатора B равным 0. Точность и отзыв классификатора A составляют 0,25 и 0,50 соответственно. Из этой информации мы видим совершенно иную картину. Классификатор B относительно бесполезен, особенно потому, что он не может предсказать какие-либо примеры класса 1, а точность и отзыв отражают это там, где показатель точности нет.

Еще одна метрика, которая часто используется для понимания того, насколько хорошо работает классификатор, - это кривые характеристики оператора приемника (ROC). Они отображают частоту истинных положительных результатов по оси y по сравнению со скоростью ложных срабатываний по оси x. Мы генерируем эти точки данных, регулируя порог принятия решения нашего классификатора (то есть для классификатора вероятности мы бы изменили порог с 0,5 по умолчанию на 0,6, 0,7 и т. Д., Где, если прогнозируемое значение больше, чем этот порог, мы назначаем класс 1, иначе присваиваем класс 0).

Обычно мы считаем, что чем больше площадь под кривой, тем больше модель, потому что она информирует нас о том, что эта модель имеет возможность возвращать высокий коэффициент TP с правильным порогом. Типичные кривые ROC также будут отображать пунктирную линию от (0,0) до (1,1), которая представляет производительность случайного классификатора (который предсказывает правильный класс в 50% случаев).

Переоснащение

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

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

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

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

В эксперименте 1 мы используем первую складку в качестве набора для тестирования, а все остальное - в качестве данных для обучения. В эксперименте 2 мы используем данные из второй свертки, которую мы также называем «удерживающим набором», а оставшиеся 80% используем для обучения модели. Мы повторяем этот процесс, используя каждую свертку по одному разу в качестве набора удержания, чтобы 100% данных использовались в качестве удержания и обучения в какой-то момент. Результатом модели перекрестной проверки будет средняя точность для всех k складок (где k равно 5 в приведенном выше примере), что должно дать нам более репрезентативную цифру фактической производительности нашей модели.
Перекрестная проверка может дать нам более точную оценку качества модели, однако она может занять много времени, поскольку оценивает несколько моделей. Для небольших наборов данных, где дополнительная вычислительная нагрузка не является большой проблемой, мы можем выполнить перекрестную проверку.

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