Книги
Хенрик Бринк,Джозеф Ричардс,Марк Феверолф

Машинное обучение

Олег Ващуковцитирует9 месяцев назад
Первая же встреча с миром машинного обучения показала, что это не только потенциально крайне полезный новый инструмент, но и превосходная комбинация двух наиболее интересовавших меня дисциплин — теории анализа и обработки данных и программирования.
Олег Ващуковцитирует9 месяцев назад
Долгое время самым лучшим и единственным способом постижения машинного обучения было получение ученой степени в одной из областей, которые (по большей части независимо друг от друга) развивали статистические методы и техники оптимизации. Основной упор эти программы делали на ключевые алгоритмы, в том числе на их теоретические свойства и ограничения, а также на характерные особенности относящихся к данной сфере задач
mashaklimovaцитирует9 месяцев назад
Рекомендуемая литература
Учебник Г. Джеймса «An Introduction to Statistical Learning»6 детально знакомит с наиболее распространенными подходами к машинному обучению на уровне, доступном читателям без специальной подготовки в области математики и статистики. Английский вариант книги с согласия издательства доступен для скачивания в формате PDF на сайте авторов (http://www-bcf.usc.edu/~gareth/ISL/ISLR%20First%20Printing.pdf).
Александр Крючковцитируетв прошлом году
качестве алгоритма классификации — метод опорных векторов с ядром в виде радиальной базисной функции (RBF — radial basis function)
Александр Крючковцитируетв прошлом году
1. Выберите параметр оценки, который будет использоваться как основной (например, AUC для задачи классификации, R2 для задачи регрессии).
2. Выберите ML-алгоритм (например, «случайный лес»).
3. Выберите параметры, которые собираетесь оптимизировать (например, количество деревьев и количество признаков на одно разбиение), и массив значений для тестирования каждого параметра.
4. Определите сетку как прямое произведение массивов всех параметров настройки. К примеру, если для количества деревьев у нас есть массив [50, 100, 1000], а для количества признаков на одно разбиение — массив [10, 15], сетка будет выглядеть так [(50,10), (50,15), (100,10), (100,15), (1000,10), (1000,15)].
5. Для каждой комбинации настроечных параметров в сетке используйте обучающую выборку для проведения перекрестной проверки (или методом отложенных данных, или методом контроля по k-блокам) и рассчитайте оценочную метрику для полученных предсказаний.
6. Наконец, выберите набор параметров настройки, соответствующий макси
Александр Крючковцитируетв прошлом году
Вот общая схема рабочего процесса оценки модели:
1. Получение и предварительная обработка данных для моделирования (глава 2) и выбор подходящего ML-метода и алгоритма (глава 3).
2. Построение модели и генерация предсказаний или методом отложенных данных, или путем скользящего контроля по k-блокам, в зависимости от доступных вычислительных ресурсов.
3. Оценка точности предсказаний по выбранному вами критерию в зависимости от того, какой ML-метод используется — классификации или регрессии.
4. Регулировка данных и модели до достижения нужной производительности. В главах 5–8 вы познакомитесь с методами увеличения эффективности для распространенных практических сценариев.
Александр Крючковцитируетв прошлом году
Для простейших моделей все сводится к обучению, тестированию и вычислению подходящих показателей производительности. Более сложные алгоритмы обладают параметрами настройки — ручками, которые может покрутить пользователь, — влияющими на процессы обучения и применения. Каждая комбинация параметров дает свой режим.
Александр Крючковцитируетв прошлом году
Стандартный способ оптимизации параметров настройки в ML-моделях сводится к сеточному поиску (grid search) путем перебора. К
Александр Крючковцитируетв прошлом году
в диапазоне 35–45 мы видим четкое смещение в сторону заниженных значений, что дает большие величины остатков. Эта информация может быть использована для улучшения модели путем подбора ее параметров, обработкой или дополнением данных. Если существует возможность получить дополнительные данные, можно попробовать узнать значения для более низких показателей расхода.
Александр Крючковцитируетв прошлом году
Вот упорядоченный по возрастанию сложности список параметров для некоторых популярных алгоритмов классификации, с которыми вы познакомились в главе 3:
• логистическая регрессия — отсутствует;
• метод k-ближайших соседей — количество ближайших к среднему соседей;
• деревья решений — критерий разбиения, максимальная глубина дерева, минимальное количество экземпляров, необходимое для разбиения;
• метод опорных векторов с ядерным сглаживанием — тип ядра, коэффициент ядра, штрафной параметр;
• «случайный лес» — количество деревьев, количество признаков для разбиения в каждом узле, критерий разбиения, минимальное количество экземпляров, необходимое для разбиения;
• бустинг — количество деревьев, скорость обучения, максимальная глубина дерева, критерий разбиения, минимальное количество экземпляров, необходимое для разбиения.
Александр Крючковцитируетв прошлом году
Результат работы вероятностного классификатора (probabilistic classi­fier) — это так называемые вектора вероятностей (probability vectors), или вероятности классов. Для каждой строки тестового набора мы получаем вещественное число в диапазоне от 0 до 1, характеризующее каждый класс нашего классификатора (в сумме эти числа дадут 1).
Александр Крючковцитируетв прошлом году
наводит на мысль об еще одной оценочной метрике — площади под ROC-кривой (AUC — area under curve). Чем больше площадь, тем выше производительность классификатора. Параметр AUC широко применяется для оценки и сравнения моделей
Александр Крючковцитируетв прошлом году
В общем случае термин регрессия используется для моделей, результатом работы которых становятся целые или вещественные значения.
Александр Крючковцитируетв прошлом году
Простейшей формой измерения производительности модели регрессии является квадратный корень из среднеквадратичной ошибки (RMSE — root-mean-square error).
Александр Крючковцитируетв прошлом году
зачастую целесообразно вычислить также так называемый показатель R-квадрат, или коэффициент детерминации, который всегда относителен и всегда лежит в диапазоне от 0 до 1. Чем лучше модель умеет предсказывать данные, тем ближе значение этого коэффициента к 1. Подробно процесс его вычисления показан в следующем листинге.
Листинг 4.6. Вычисление коэффициента детерминации
def r2(true_values, predicted_values):
n = len(true_values)
mean = np.mean(true_values)
residuals = 0
total = 0
for i in range(n):
residuals += (true_values[i] – predicted_values[i])**2.
total += (true_values[i] – mean)**2.
return 1.0 – residuals/total
Александр Крючковцитируетв прошлом году
для задач регрессии применяется множество других параметров оценки, многие из которых имеют встроенные средства снижения переобучения (и, соответственно, не требуют перекрестной проверки). В качестве примеров можно привести информационный критерий Акаике (AIC — Akaikie information criterion) и Байесовский информационный критерий (BIC — Bayesian information criterion). Информация об этих и других усовершенствованных методах есть в большинстве учебников по регрессионному анализу
Александр Крючковцитируетв прошлом году
Для борьбы с шумом имеет смысл многократно случайным образом разбить данные на обучающую и тестовую выборки и усреднить результат. Но в процессе итераций каждая точка данных будет попадать в тестовое подмножество различное число раз, что может привести к смещению конечной кривой.
Александр Крючковцитируетв прошлом году
Чем выше количество блоков при перекрестной проверке по k-блокам, тем точнее оценка ошибки, но тем дольше работает программа. Решение: используйте по крайней мере 10 блоков (или больше), если это возможно.
Александр Крючковцитируетв прошлом году
таблицей сопряженности (confusion matrix).
Каждый элемент таблицы показывает правильность и ошибочность классификации несущих признак и не несущих такового объектов. Иллюстрация 4.14 сопоставляет таблице сопряженности с илл. 4.13 универсальную концепцию рабочей характеристики приемник
Александр Крючковцитируетв прошлом году
Намного лучшие результаты дает второй подход, к сожалению, очень ресурсоемкий, — контроль по k-блокам (k-fold cross-validation).
Как и метод отложенных данных, контроль по k-блокам в процессе обучения модели реализуется путем выделения некоего подмножества тестовых данных. Основное отличие состоит в том, что на этот раз данные случайным образом делятся на k непересекающихся подмножеств (как правило, k равно 5, 10 или 20). Затем модель раз за разом обучается на всем наборе, за исключением данных очередного подмножества, которые в свою очередь используются для генерации последующих предсказаний.
fb2epub
Перетащите файлы сюда, не более 5 за один раз