классы задач машинного обучения

Машинное обучение для чайников

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

Машинное обучение с каждым днем занимает всё большее место в нашей жизни ввиду огромного спектра его применений. Начиная от анализа пробок и заканчивая самоуправляемыми автомобилями, всё больше задач перекладывается на самообучаемые машины.

Мы порой даже примерно не представляем, как работают некоторые приложения, основанные на методах машинного обучения. Скажем, никто не сможет вам ответить на вопрос «Почему мне сегодня в рекламе показали сайт A, а не Б?». Наиболее печальным во всей этой ситуации является то, что большинство людей имеет неверное представление о машинном обучении.

Вводная

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

Любую работающую технологию машинного обучения можно условно отнести к одному из трёх уровней доступности. Первый уровень — это когда она доступна только различным технологическим гигантам уровня Google или IBM. Второй уровень — это когда ей может воспользоваться людей студент с некоторым багажом знаний. Третий уровень — это когда даже бабуля способна с ней совладать.

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

Обучение с учителем и без учителя

Большую часть задач машинного обучения можно разделить на обучение с учителем (supervised learning) и обучение без учителя (unsupervised learning). Если вы представили себе программиста с плёткой в одной руке и куском сахара в другой, вы немного ошиблись. Под «учителем» здесь понимается сама идея вмешательства человека в обработку данных. При обучении с учителем у нас есть данные, на основании которых нужно что-то предсказать, и некоторые гипотезы. При обучении без учителя у нас есть только данные, свойства которых мы и хотим найти. На примерах разницу вы увидите немного яснее.

Обучение с учителем

У нас есть данные о 10 000 квартирах в Москве, причём известна площадь каждой квартиры, количество комнат, этаж, на котором она расположена, район, наличие парковки, расстояние до ближайшей станции метро и так далее. Кроме того, известна стоимость каждой квартиры. Нашей задачей является построение модели, которая на основе данных признаков будет предсказывать стоимость квартиры. Это классический пример обучения с учителем, где у нас есть данные (10 000 квартир и различные параметры для каждой квартиры, называемые признаками) и отклики (стоимость квартиры). Такая задача называется задачей регрессии. О том, что это такое, мы поговорим чуть позже.

Другие примеры: на основании различных медицинских показателей предсказать наличие у пациента рака. Или на основании текста электронного письма предсказать вероятность того, что это спам. Такие задачи являются задачами классификации.

Обучение без учителя

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

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

Классы задач машинного обучения

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

Нейронные сети

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

Нейронная сеть (или искусственная нейронная сеть) — это сеть нейронов, где каждый нейрон является математической моделью реального нейрона. Нейронные сети начали пользоваться большой популярностью в 80-х и ранних 90-х, однако в конце 90-х их популярность сильно упала. Впрочем, в последнее время это одна из передовых технологий, используемых в машинном обучении, применяемая в огромном количестве приложений. Причина возврата популярности проста: увеличились вычислительные способности компьютеров.

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

Фактически же, нейрон в искусственной нейронной сети представляет собой математическую функцию (например, сигмоидную функцию), которой на вход приходит какое-то значение и на выходе получается значение, полученное с помощью той самой математической функции.

Ограниченность нейронных сетей

Впрочем, в нейронных сетях нет ничего магического и в большинстве случаев опасения касательно сценария «Терминатора» не имеют под собой оснований. Допустим, учёные натренировали нейронную сеть на распознавание рукописных цифр (такое приложение может использовать, скажем, на почте). Как может работать такое приложение и почему здесь не о чем беспокоиться?

Допустим, мы работаем с изображениями 20×20 пикселей, где каждый пиксель представляется оттенком серого (всего 256 возможных значений). В качестве ответа у нас имеется одна из цифр: от 0 до 9. Структура нейронной сети будет следующая: в первом слое будет 400 нейронов, где значение каждого нейрона будет равно интенсивности соответствующего пикселя. В последнем слое будет 10 нейронов, где в каждом нейроне будет вероятность того, что на изначальном изображении нарисована соответствующая цифра. Между ними будет некоторое число слоев (такие слоя называются скрытыми) с одинаковым количеством нейронов, где каждый нейрон соединён с нейроном из предыдущего слоя и ни с какими более.

Рёбрам нейронной сети (на картинке они показаны как стрелочки) будут соответствовать некоторые числа. Причем значение в нейроне будет считаться как следующая сумма: значение нейрона из предыдущего слоя * значение ребра, соединяющего нейроны. Затем от данной суммы берётся определенная функция (например, сигмоидная функция, о которой мы говорили ранее).

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

Более простыми словами, в данном случае нейронная сеть представляет собой вычисление математической функции, где аргументы — это другие математические функции, которые зависят от других математических функций и так далее. Разумеется, при подобном вычислении математических функций, где подгоняются некоторые аргументы, ни о каком экзистенциальном риске речи идти не может.

Интересные факты и лайфхаки

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

Например, вторая кампания Барака Обамы была фактически выиграна лучшей на тот момент командой в области анализа данных. Разумеется, речь не идет о том, что они советовали ему соврать о чем-то, работа строилась значительно более умным путем: они выбирали, в каком штате, перед какой аудиторией, в какой день и на какую тему он должен выступать. Причем каждый раз они замеряли, как это сказывается на опросах вида «За кого бы вы проголосовали, если бы выборы были в ближайшее воскресенье?». Другими словами, подобные решения принимали не политтехнологи, а исключительно специалисты по анализу данных. Особенно интересным это становится в свете того, что, по оценкам специалистов, это дало ему преимущество в 8-10%.

Кроме того, современный интернет довольно сложно представить без ретаргетинга, или персонализированной рекламы. Вспомните: вы выбираете какой-то продукт в интернете, а после покупки ещё на протяжении двух недель вам показывают его в различного рода рекламе. В одном из своих выступлений директор по маркетингу сервисов компании «Яндекс» Андрей Себрант дал на этот счёт такой совет:

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

Рекомендации по обучению

Если у вас появилось желание изучить технологии машинного обучения, стоит отметить, что для глубокого изучения предмета с пониманием всего фундамента следует разбираться как минимум в математическом анализе, линейной алгебре и методах оптимизации (с упором на последние два). Кроме того, желательно знать основы программирования и какой-нибудь язык программирования. В машинном обучении, как правило, используется R, Python или Matlab.

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

Мотивировать его изучение можно следующим образом: посмотрите учебный план. Если вы просмотрите все лекции и решите все задания, то вы гарантированно сможете применять все эти вещи на практике. В частности, вы освоите алгоритмы линейной регрессии (задача регрессии), логистической регрессии, метода опорных векторов, нейронных сетей (задача классификации), K-means (кластеризация), PCA (понижение размерности), выявления аномалий и узнаете как построить рекомендательную систему (рекомендация товаров по вашим оценкам, например, фильмов или песен). На последней неделе курса вам также расскажут, как построить систему, которая будет находить и расшифровывать надписи на картинках или опознавать людей.

Для тех, кто хочет изучать предмет со всеми математическими тонкостями в лучших традициях сильных технических вузов, можно порекомендовать курс от ВШЭ или специализацию от МФТИ. Заметим лишь, что специализация является платной и для доступа к ней придется оформить подписку приблизительно за 3000 рублей в месяц. Впрочем, есть бесплатный период в 7 дней.

Источник

Общие понятия

Содержание

Понятие машинного обучения в искусственном интеллекте [ править ]

Одним из первых, кто использовал термин «машинное обучение», был изобретатель первой самообучающейся компьютерной программы игры в шашки А. Л. Самуэль в 1959 г. [1]

Определение:
Машинное обучение (англ. Machine learning) — процесс, который даёт возможность компьютерам обучаться выполнять что-то без явного написания кода.

Это определение не выдерживает критики, так как не понятно, что означает наречие «явно». Более точное определение дал намного позже Т. М. Митчелл. [2]

Задача обучения [ править ]

$X$ — множество объектов (англ. object set, or input set)
$Y$ — множество меток классов (англ. label set, or output set)
$\hat y∶ X → Y$ — неизвестная зависимость (англ. unknown target function (dependency))

Признаки [ править ]

[math] F = ||f_j(x_i)||_ <[l \times n]>= \begin f_1(x_1) & \cdots & f_n(x_1) \\ \cdots & \cdots & \cdots \\ f_1(x_l) & \cdots & f_n(x_l) \\ \end [/math]

Типы задач [ править ]

Классификация (англ. classification)

Цель: научиться определять, к какому классу принадлежит объект.
Примеры: распознавание текста по рукописному вводу; определение того, находится на фотографии человек или кот; определение, является ли письмо спамом.
Методы: метод ближайших соседей, дерево решений, логистическая регрессия, метод опорных векторов, байесовский классификатор, cверточные нейронные сети.

Восстановление регрессии (англ. regression)

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

Цель: научиться по множеству объектов получать множество рейтингов, упорядоченное согласно заданному отношению порядка.
Примеры: выдача поискового запроса; подбор интересных новостей для пользователя.
Методы: поточечный подход, попарный подход, списочный подход.

Кластеризация (англ. clustering)

Цель: разбить множество объектов на подмножества (кластеры) таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров по какому-либо критерию.
Примеры: разбиение клиентов сотового оператора по платёжеспособности; разбиение космических объектов на похожие (галактики, планеты, звезды).
Методы: иерархическая кластеризация, эволюционные алгоритмы кластеризации, EM-алгоритм.

Вспомогательные типы задач [ править ]

Уменьшение размерности (англ. dimensionality reduction)

Выявление аномалий (англ. anomaly detection)

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

Классификация задач машинного обучения [ править ]

Обучение с учителем (англ. Supervised learning [3] ) [ править ]

Обучение без учителя (англ. Unsupervised learning) [ править ]

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

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

Обучение с частичным привлечением учителя (англ. Semi-supervised learning [4] ) [ править ]

Занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов (Размечено мало, либо малоинформативная часть).
Примером частичного обучения может послужить сообучение: два или более обучаемых алгоритма используют один и тот же набор данных, но каждый при обучении использует различные — в идеале некоррелирующие — наборы признаков объектов.

Обучение с подкреплением (англ. Reinforcement learning) [ править ]

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

Окружение обычно формулируется как марковский процесс принятия решений (МППР) с конечным множеством состояний, и в этом смысле алгоритмы обучения с подкреплением тесно связаны с динамическим программированием. Вероятности выигрышей и перехода состояний в МППР обычно являются величинами случайными, но стационарными в рамках задачи.

При обучении с подкреплением, в отличие от обучения с учителем, не предоставляются верные пары «входные данные-ответ», а принятие субоптимальных решений (дающих локальный экстремум) не ограничивается явно. Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний (англ. exploration vs exploitation tradeoff).

Активное обучение (англ. Active learning) [ править ]

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

Обучение в реальном времени (англ. Online learning) [ править ]

Может быть как обучением с учителем, так и без учителя. Специфика в том, что тренировочные данные поступают последовательно. Требуется немедленно принимать решение по каждому прецеденту и одновременно доучивать модель зависимости с учётом новых прецедентов. Здесь существенную роль играет фактор времени.

Примеры задач [ править ]

Признаками являются данные геологической разведки.

Обучающая выборка состоит из двух классов:

При поиске редких полезных ископаемых количество объектов может оказаться намного меньше, чем количество признаков. В этой ситуации плохо работают классические статистические методы. Задача решается путём поиска закономерностей в имеющемся массиве данных. В процессе решения выделяются короткие наборы признаков, обладающие наибольшей информативностью — способностью наилучшим образом разделять классы («синдромы» месторождений).

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

В случае физических лиц признаковое описание состоит из:

Можно выделить следующие признаки:

Обучающая выборка составляется из заёмщиков с известной кредитной историей.

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

В роли объектов выступают пациенты. Признаки характеризуют результаты обследований, симптомы заболевания и применявшиеся методы лечения.

Признаковое описание пациента является, по сути дела, формализованной историей болезни.

Накопив достаточное количество данных, можно решать различные задачи:

Ценность такого рода систем в том, что они способны мгновенно анализировать и обобщать огромное количество прецедентов — возможность, недоступная специалисту-врачу.

Источник

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

Материал из MachineLearning.

Содержание

Машинное обучение (Machine Learning) — обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных обучаться. Различают два типа обучения. Обучение по прецедентам, или индуктивное обучение, основано на выявлении общих закономерностей по частным эмпирическим данным. Дедуктивное обучение предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний. Дедуктивное обучение принято относить к области экспертных систем, поэтому термины машинное обучение и обучение по прецедентам можно считать синонимами.

Машинное обучение находится на стыке математической статистики, методов оптимизации и классических математических дисциплин, но имеет также и собственную специфику, связанную с проблемами вычислительной эффективности и переобучения. Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с извлечением информации и интеллектуальным анализом данных (Data Mining).

Наиболее теоретические разделы машинного обучения объединены в отдельное направление, теорию вычислительного обучения (Computational Learning Theory, COLT).

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

Общая постановка задачи обучения по прецедентам

Дано конечное множество прецедентов (объектов, ситуаций), по каждому из которых собраны (измерены) некоторые данные. Данные о прецеденте называют также его описанием. Совокупность всех имеющихся описаний прецедентов называется обучающей выборкой. Требуется по этим частным данным выявить общие зависимости, закономерности, взаимосвязи, присущие не только этой конкретной выборке, но вообще всем прецедентам, в том числе тем, которые ещё не наблюдались. Говорят также о восстановлении зависимостей по эмпирическим данным — этот термин был введён в работах Вапника и Червоненкиса.

Наиболее распространённым способом описания прецедентов является признаковое описание. Фиксируется совокупность n показателей, измеряемых у всех прецедентов. Если все n показателей числовые, то признаковые описания представляют собой числовые векторы размерности n. Возможны и более сложные случаи, когда прецеденты описываются временными рядами или сигналами, изображениями, видеорядами, текстами, попарными отношениями сходства или интенсивности взаимодействия, и т. д.

Для решения задачи обучения по прецедентам в первую очередь фиксируется модель восстанавливаемой зависимости. Затем вводится функционал качества, значение которого показывает, насколько хорошо модель описывает наблюдаемые данные. Алгоритм обучения (learning algorithm) ищет такой набор параметров модели, при котором функционал качества на заданной обучающей выборке принимает оптимальное значение. Процесс настройки (fitting) модели по выборке данных в большинстве случаев сводится к применению численных методов оптимизации.

Замечание о терминологии. В зарубежных публикациях термин algorithm употребляется только в указанном выше смысле, то есть это вычислительная процедура, которая по обучающей выборке производит настройку модели. Выходом алгоритма обучения является функция, аппроксимирующая неизвестную (восстанавливаемую) зависимость. В задачах классификации аппроксимирующую функцию принято называть классификатором (classifier), концептом (concept) или гипотезой (hypothesys); в задачах восстановления регрессии — функцией регрессии; иногда просто функцией. В русскоязычной литературе аппроксимирующую функцию также называют алгоритмом, подчёркивая, что и она должна допускать эффективную компьютерную реализацию.

Типология задач обучения по прецедентам

Основные стандартные типы задач

Специфические прикладные задачи

Некоторые задачи, возникающие в прикладных областях, имеют черты сразу нескольких стандартных типов задач обучения, поэтому их трудно однозначно отнести к какому-то одному типу.

Приложения

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

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

Подходы и методы

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

Разделение методов «по подходам» довольно условно. Разные подходы могут приводить к одной и той же модели, но разным методам её обучения. В некоторых случаях эти методы отличаются очень сильно, в других — совсем немного и «плавно трансформируются» друг в друга путём незначительных модификаций.

Статистическая классификация

В статистике решение задач классификации принято называть дискриминантным анализом.

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

Параметрическое оценивание плотности

Непараметрическое оценивание плотности

Оценивание плотности как смеси параметрических плотностей

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

Другие теоретико-вероятностные и статистические подходы:

Классификация на основе сходства

Метрические алгоритмы классификации применяются в тех задачах, где удаётся естественным образом задавать объекты не их признаковыми описаниями, а матрицей попарных расстояний между объектами. Классификация объектов по их сходству основана на гипотезе компактности, которая гласит, что в «хорошей задаче» схожие объекты чаще лежат в одном классе, чем в разных.

Метрические алгоритмы относятся к методам рассуждения на основе прецедентов (Case Based Reasoning, CBR>. Здесь действительно можно говорить о «рассуждениях», так как на вопрос «почему объект u был отнесён к классу y?» алгоритм может дать понятный эксперту ответ: «потому, что имеются прецеденты — схожие с

ним объекты, принадлежащие классу y», и

предъявить список этих прецедентов.

Наиболее известные метрические алгоритмы классификации:

Классификация на основе разделимости

Большая группа методов классификации основана на явном построении разделяющей поверхности в пространстве объектов. Из них чаще всех применяются Линейные классификаторы:

Нейронные сети

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

Индукция правил (поиск закономерностей)

Категория:Логические алгоритмы классификации представляют собой композиции простых, легко интерпретируемых правил.

Кластеризация

Регрессия

Алгоритмические композиции

Сокращение размерности

Выбор модели

Байесовский вывод

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

Нейронные сети: нейронная сеть с одним скрытым слоем реализована в пакете nnet (поставляется в составе R). Пакет RSNNS предлагает интерфейс к Stuttgart Neural Network Simulator (SNNS). Интерфейс к библиотеке FCNN позволяет расширяемые пользователем искусственные нейронные сети в пакете FCNN4R.

Рекурсивное разделение: модели с древовидной структурой для регрессии, классификации и анализа дожития, следующие идеям в документации CART, реализованы в пакетах rpart и tree (поставляется с R). Пакет rpart рекомендуется для вычислений подобных CART-деревьям. Обширный набор инструментов алгоритмов разделения доступен в пакете Weka, RWeka обеспечивает интерфейс этой реализации, включая J4.8-вариант C4.5 и M5. Кубиxческий пакет подгоняет модели, основанными на правилах (подобными деревьям) с линейными регрессионными моделями в терминальных листах, основанных на коррекции наблюдений и бустинге. Пакет C50 может подогнать деревья классификации C5.0, модели, основанные на правилах и их версиях бустинга.

Два рекурсивных алгоритма разделения с несмещенным выбором переменной и статистическим критерием остановки реализованы в пакете party. Функция ctree () основывается на непараметрических условных процедурах вывода для тестирования независимости между откликом и каждой входной переменной, тогда как mob() может использоваться, чтобы разделить параметрические модели. Расширяемые инструменты для визуализации двоичных деревьев и распределений узла отклика также доступны в пакете party.

Модели древовидной структуры с изменяемыми коэффициентами реализованы в пакете vcrpart.

Для задач с двоичными входными переменными пакет LogicReg реализует логистическую регрессию. Графические инструменты для визуализации деревьев доступны в пакете maptree.

Деревья для моделирования длящихся данных посредством случайных эффектов предлагаются пакетом REEMtree. Разделение смешанных моделей выполнено RPMM. Вычислительная инфраструктура для представления деревьев и объединенных методов для предсказания и визуализации реализована в partykit. Эта инфраструктура используется пакетом evtree, чтобы реализовать эволюционное приобретение знаний о глобально оптимальных деревьях. Наклонные деревья доступны в пакете oblique.tree.

Бустинг (усиление): различные формы градиентного бустингаа реализованы в пакете gbm (бустинг, основанный на дереве функциональный градиентный спуск). Оптимизируется функция потерь Hinge с помощью бустинга, реализованного в пакете bst. Можно использовать пакет GAMBoost для подгонки обобщенных аддитивных моделей алгоритмом бустинга. Расширяемая платформа бустинга для обобщенных линейных, аддитивных и непараметрических моделей доступна в пакете mboost. Основанный на правдоподобии бустинг для моделей Cox реализовано в CoxBoost и для смешанных моделей в GMMBoost. Можно подогнать модели GAMLSS, используя бустинг gamboostLSS.

Методы опорных векторов и ядерные методы: функция svm () из e1071 предлагает интерфейс библиотеке LIBSVM, и пакет kernlab реализует гибкую платформу для ядерного обучения (включая SVMs, RVMs и другие алгоритмы ядерного обучения). Интерфейс к реализации SVMlight (только для one-all классификации) дан в пакете klaR. Соответствующая размерность в пространствах признаков ядра может быть оценена, используя rdetools, который также предлагает процедуры для выбора модели и предсказание.

Байесовские Методы: Bayesian Additive Regression Trees (BART), где заключительная модель определена с точки зрения суммы по многим слабым ученикам (мало чем отличающийся от методов ансамбля), реализованы в пакете BayesTree. Байесовская нестационарная, полупараметрическая нелинейная регрессия и проектирование с помощью древовидного Гауссовского процесса, включая Байесовский CART и древовидной линейные модели, доступны в пакете tgp.

Оптимизация с использованием генетических алгоритмов: Пакеты rgp и rgenoud предлагают подпрограммы оптимизации на основе генетических алгоритмов. Пакет Rmalschains реализует имитационные алгоритмы с цепочками локального поиска, которые являются специальным типом эволюционных алгоритмов, комбинируя генетический алгоритм устойчивого состояния с локальным поиском для реально оцененной параметрической оптимизации.

Правила ассоциации: Пакет arules обеспечивает обе структуры данных для эффективной обработки прореженных двоичных данных, а также интерфейсов к реализациям Apriori, и Eclat для интеллектуальной обработки частотных наборов элементов, максимальных частотных наборов элементов, замкнутых частотных наборов элементов и правила ассоциации.

Системы, основанные на нечетких правилах: пакет frbs реализует стандартные методы для изучения систем, основанных на нечетких правилах для регрессии и классификации. Пакет RoughSets содержит всесторонние реализации грубой теории множеств (RST) и нечеткой грубой теории множеств (FRST) в одном пакете.

Выбор и проверка модели: пакет e1071 содержит функцию настройки tune() для настройки параметров, а функция errorest () (ipred) может использоваться для оценки коэффициента ошибок. Параметр стоимости C для методов опорных векторов может быть выбран, использовав функциональность пакета svmpath. Функции для анализа ROC и другие методы визуализации для сравнения классификаторов доступны в пакете ROCR. Пакеты hdi и stabs реализуют выбор устойчивости для диапазона моделей, hdi также предлагает другие процедуры вывода в высоко-размерных моделях.

Другие процедуры: очевидные классификаторы определяют количество неопределенности по поводу класса тестовых образцов, используя функцию mass Dempster-Shafer в пакете evclass. Пакет OneR (Одно Правило) предлагает алгоритм классификации с улучшениями для сложной обработки отсутствующих значений и числовых данных вместе с обширными диагностическими функциями

Пакеты-обертки: пакет caret содержит функции для подгонки моделей с последующим предсказанием, включая настройку параметров и и мер значимости переменных. Пакет может использовать с различными инструментами по организации параллельных вычислений (например, MPI, NWS и т.д.). В подобном духе пакет mlr предлагает высокоуровневый интерфейс различным пакетам статистически и машинного обучения. Пакет SuperLearner реализует аналогичный набор инструментов. Пакет h2o реализует платформу машинного обучения общего назначения, у которой есть масштабируемые реализации многих популярных алгоритмов, такие как случайный лес, GBM, GLM (с эластичной сетевой регуляризацией), и глубокое обучение (feedforward многоуровневые сети), среди других.

CORElearn реализует довольно широкий класс машинного обучения.

Конференции

Основные международные конференции — ICML, NIPS, ICPR, COLT.

Международные конференции в странах СНГ — ИОИ.

Основные всероссийские конференции — ММРО, РОАИ.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *