2.3. Обучение с учителем III
Непараметрические модели: KNN, деревья решений и случайные леса. Включают в себя перекрестную проверку, оптимизацию гиперпараметров и ансамбли моделей.
Непараметрический подход к обучению отличается от параметрического тем, что модель не имеет заранее определённой структуры. В процессе обучения модель сама определяет форму функции f, которую нужно изучить. Это делает метод более гибким, но может привести к потере интерпретируемости результатов.
Идея метода заключается в том, чтобы предсказать значение целевой переменной для нового объекта на основе значений этой переменной у K ближайших объектов из обучающей выборки. Для этого необходимо определить меру близости между объектами. Наиболее распространённой мерой является евклидово расстояние.
Пусть дана выборка объектов X = {x1, x2, ..., xn}, каждый из которых характеризуется m признаками. Тогда для каждого объекта xi можно найти K его ближайших соседей среди объектов выборки X. Значение целевой переменной y для нового объекта x будет определяться как среднее или наиболее частое значение y среди K ближайших соседей.
Выбор значения K является важным шагом в алгоритме KNN. Если K слишком мало, модель может быть подвержена влиянию выбросов. Если же K слишком велико, модель может стать менее точной. Оптимальное значение K обычно определяется путём перебора различных значений и оценки точности модели на тестовой выборке.
KNN может использоваться для решения задач классификации и регрессии. Он также может применяться для заполнения пропущенных значений в данных.
Предположим, у нас есть данные о недвижимости, включая местоположение, количество комнат, площадь, расстояние до общественного транспорта и другие характеристики. Мы хотим использовать эти данные для предсказания цены на недвижимость.
Алгоритм KNN будет работать следующим образом:
Этот алгоритм не требует предварительного определения параметров функции f, которая связывает признаки X с ценами Y. Это делает его подходящим для ситуаций, когда связь между X и Y слишком сложна для описания простой линейной моделью.
Для определения оптимального значения K можно использовать метод перекрёстной проверки. Этот метод предполагает разделение обучающей выборки на две части: обучающую и тестовую. Модель обучается на обучающей выборке, а затем её точность оценивается на тестовой выборке. Процесс повторяется несколько раз, при этом каждый раз обучающая и тестовая выборки меняются местами. В результате выбирается модель с наилучшей точностью на тестовых данных.
KNN находит применение в различных областях, таких как:
Если мы применим дерево решений для регрессии, например, прогнозирования цен на жильё, мы можем разделить наиболее важные характеристики, определяющие цену. Площадь: больше или меньше ххх? Количество спален или ванных комнат: больше или меньше ххх?
Затем, в период тестирования, вам нужно будет пройти через все разделения с конкретным домом и взять среднее значение всех цен на жилье в конечных узлах. Эти дома станут вашим прогнозом продажной цены.
Деревья решений эффективны, потому что они легко интерпретируются, они также очень мощны для беспорядочных данных, и после обучения затраты на внедрение невелики. Деревья решений также хороши при работе со смешанными данными (числовыми или категориальными).
Однако обучение деревьев решений требует больших усилий, существует большой риск переобучения, и легко найти локальный оптимум, поскольку после разделения невозможно вернуться назад. Чтобы решить эти проблемы, мы обратились к методу, который демонстрирует силу объединения нескольких деревьев решений в одну модель.
Случайный лес: объединение деревьев решений
Модель, объединяющая несколько моделей, называется ансамблевой моделью, что обычно является выигрышной стратегией.
Отдельное дерево решений может делать много неправильных суждений, потому что у него много двоичных суждений. Случайный лес — это метод, который наследует множество деревьев решений и имеет некоторые заметные улучшения:
Эти улучшения также предотвращают высокую корреляцию между деревьями. Без первых двух пунктов все деревья были бы одинаковыми, так как разделение было бы решающим при рекурсивном двоичном разделении.
Чтобы продемонстрировать это, рассмотрим следующие девять классификаторов дерева решений:
...
Эти классификаторы дерева решений могут быть объединены в случайный лес, который объединяет эти входные данные. Оси x и y можно рассматривать как признаки x1 и x2. Для каждого конкретного значения признака деревья решений выводят «синюю», «зеленую» и «красную» классификацию.
...
Результаты объединяются по большинству голосов (классификация) или среднему значению (регрессия) в единую ансамблевую модель, которая превосходит выходные данные отдельного дерева решений.
Случайные леса являются отличным отправным пунктом для процесса моделирования, поскольку они демонстрируют высокую устойчивость к зашумленным данным. Кроме того, они полезны для определения наиболее важных признаков среди множества признаков.
Существует множество умных наследственных моделей, которые объединяют деревья решений и дают отличные результаты. Рассмотрите пример XGBoost (экстремальное градиентное усиление).
Далее мы завершаем изучение контролируемого обучения.
Очень хорошо. В этом разделе мы рассмотрели:
Надеюсь, теперь у вас есть некоторое надежное интуитивное понимание того, как мы изучаем f в данной обучающей выборке и используем его для прогнозирования на тестовых данных.
В третьей части «Неконтролируемое обучение» мы обсудим, как решать проблемы, когда у нас есть немаркированный обучающий набор.
Материалы для упражнений и дополнительное чтение
2.3a Реализовать KNN
Попробуйте это руководство, чтобы реализовать KNN с нуля на Python. Вы также можете просмотреть документацию scikit-learn, чтобы увидеть, как работает предварительно созданная реализация.
2.3b Деревья решений
Попробуйте эксперимент с деревьями решений в главе 8 учебника «Введение в статистическое обучение». Вы можете использовать набор данных Титаника для игры и посмотреть это руководство, которое охватывает те же концепции и код. Вот реализация случайного леса scikit-learn, которую можно использовать сразу на наборе данных.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )