Научная статья на тему 'Обзор литературы по методам машинного обучения (machine learning)'

Обзор литературы по методам машинного обучения (machine learning) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2498
414
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ / ТЕОРИЯ СТАТИСТИЧЕСКОГО ОБУЧЕНИЯ / SLT / SVM / ELM / MACHINE LEARNING / STATISTICAL LEARNING THEORY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Невоструев Константин Николаевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Невоструев Константин Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The basic concepts regarding the new direction of information technology statistical learning theory are described in the article. The theory has been gaining more and more popularity since it explains the essence of machine learning from a mathematical point of view. Further studies of the theory may provide significant improvements in the speed and quality of machine learning algorithms. The dozen articles were chosen among the large number of publications devoted to the theory of statistical learning. These articles reveal the basic concepts and problems of this theory and provide practically useful algorithms and the results of experiments comparing different approaches. Main results of the reviewed works are provided in concise form. The form allows professionals just starting to get acquainted with this popular theory facilitate the entry and proceed to the actual studies.

Текст научной работы на тему «Обзор литературы по методам машинного обучения (machine learning)»

Компьютерные инструменты в образовании, 2014 № 4:19-26 УДК: 004.85

http://ipo.spb.ru/journal

ОБЗОР ЛИТЕРАТУРЫ ПО МЕТОДАМ МАШИННОГО ОБУЧЕНИЯ (MACHINE LEARNING)

Невоструев Константин Николаевич Аннотация

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

Ключевые слова: машинное обучение, теория статистического обучения, SLT, SVM, ELM.

1. ВВЕДЕНИЕ

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

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

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

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

Теория статистического обучения вводит понятие размерности Вапника-Червоненкиса (VC-размерность), которое универсальным образом отражает сложность любого алгоритма для определенного набора данных. Также в данной теории вводится принцип структурной минимизации риска (SRM — Structured Risk Minimization), при котором обучение происходит в два этапа. На первом этапе выбирается подходящая сложность модели с использованием VC-размерности, а на втором — происходит сам процесс обучения.

На данный момент существует большое множество различных обучающих методов. Это нейронные сети, SVM (Support Vector Machine — машины опорных векторов), метод k-средних. Они имеют различные параметры, которые можно настраивать, улучшая качество их работы для конкретных задач. Для нейронных сетей это может быть количество слоев, количество нейронов на различных слоях, регуляризационный параметр. Для SVM — ядро, параметр сложности C, параметр s (ширина «трубки») для регрессии. Кроме того, данные методы имеют различные алгоритмы реализации, которые могут иметь различную скорость, возможно, различное качество обучения. Сами эти методы могут в одних задачах показывать отличные результаты, а в других — существенно проигрывать своим «конкурентам».

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

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

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

2. ОБЗОР

В статье Владимира Вапника [1], являющегося автором теории статистического обучения, подводятся краткие итоги теории статистического обучения к 1998 году. Статья состоит из четырех частей: сходимость обучающего процесса, скорость сходимости, контролирование обобщающих способностей обучающего алгоритма и конструирование обучающих алгоритмов.

В первой части рассматривается теория асимптотической сходимости функционала эмпирического риска к функционалу риска с ростом обучающей выборки. Вводятся

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

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

В третьей части вводится понятие структурной минимизации риска (SRM — Structured Risk Minimization). Классический принцип эмпирической минимизации риска заключается в минимизировании функционала эмпирического риска. Данный подход работает на больших выборках, а на небольших происходит так называемое переобучение, когда алгоритм хорошо приспосабливается к обучающей выборке, но имеет плохие показатели на новых данных. SRM предлагает производить обучение в два этапа. На первом этапе определяется требуемая VC-размерность для данной выборки и выбирается подходящий вариант обучающего алгоритма с такой размерностью. На втором — непосредственно обучение. Такой подход позволяет как минимизировать сам эмпирический риск, так и следить за тем, чтобы разница между эмпирическим и фактическим риском была также минимальна.

В четвертой части приводится математическая постановка задачи обучения для нейронных сетей (и логистической регрессии). Ставится задача построения разделяющей гиперплоскости с максимальным промежутком (расстоянием до ближайших данных от плоскости). Решение этой задачи дает алгоритм SVM (Support Vector Machine). И, наконец, вводится понятие Support Vector Network. Смысл такого подхода заключается в том, что исходные данные переводятся в пространство большей размерности (feature space), в котором ищется оптимальная гиперплоскость.

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

В статье Cherkassky, Ma [2] приводится сравнение двух подходов к оцениванию функций на основе конечного набора известных значений. Первый подход — это так называемая аппроксимация функций (FA — Function Approximation). Второй подход — теория статистического обучения (VC — Vapnic-Chervonenkis Theory). Авторы проводят сравнение в теоретическом и практическом плане.

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

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

распределены неравномерно, то выигрывает VC подход. FA выигрывает в случае равномерных данных, что, по мнению самих авторов, является нереалистичным условием.

Таким образом, статья Cherkassky, Ma [2] показывает преимущество VC-метода над классическим методом FA. Кроме того, в статье приводятся примеры использования знания VC-размерности для коррекции значения алгоритма, что может быть с успехом применено на практике.

В статье Cherkassky, Ma [3] сравниваются подходы к оценке выбора модели между классическими методами (AIC, BIC) и методом SRM. Статья является ответом на похожую статью Hastie et al [4], в которой авторы усомнились в каких бы то ни было преимуществах подхода SLT.

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

Основная часть статьи состоит из сравнений, похожих на те, что использовали Hastie et al [4]. Сравнения производятся на искусственных данных. Для генерации данных используются три функции: непрерывная одномерная, разрывная одномерная и непрерывная двумерная. Для оценивания используются линейные методы (алгебраические и тригонометрические полиномы) и метод к ближайших соседей.

Результаты измерений показывают, что SRM дает практически всегда меньшее значение риска, выбирая при этом алгоритм с меньшей сложностью чем AIC и BIC. Таким образом, статья Cherkassky, Ma [3] является еще одним подтверждением преимуществ SRM перед классическими методами.

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

В статье Shao et al [5] рассматривается предложенный Вапником [6] метод экспериментального измерения VC-размерности и предлагается усовершенствованная версия, названная авторами оптимизированным экспериментальным дизайном. Предложенный Вапником метод заключается в том, что генерируется случайная выборка данных и на этих данных оценивается способность алгоритма к их разделению. Отличие метода, предложенного в Shao et al [5], от метода Вапника [6] заключается в том, что используемые для конструирования точки имеют различные весовые коэффициенты, назначаемые алгоритмом.

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

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

меньшей сложностью.

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

Одним из практических результатов теории статистического обучения является алгоритм SVM (Support Vector Machine — Машины Опорных Векторов). Данный алгоритм был предложен В. Вапником в середине 90-х годов. Алгоритм заключается в решении квадратичной задачи программирования очень большой размерности (равна количеству векторов в обучающей выборке), поэтому применение стандартных методов для решения задач квадратичного программирования в данном случае не представляется возможным. Таким образом, реализация алгоритма SVM сводится к методу решения данной задачи.

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

В статье Platt [7] представлен алгоритм SMO (Sequential Minimal Optimization). Данный алгоритм разбивает решение задачи КП на множество более простых подзадач. Размерность каждой подзадачи равна наименьшей возможной — двум. То есть, на каждом этапе происходит оптимизация только по двум векторам. В начале статьи производится описание алгоритма, а также эвристики для выбора векторов для оптимизации. В оставшейся части сравнивается производительность алгоритма с версией, предложенной Вапником. В большинстве случаев предложенный алгоритм работает быстрее, в некоторых тестовых задачах алгоритм Вапника работал настолько долго, что автор принял решение прекратить работу.

В статье Scheinberg [8] описывается метод ASM (Active Set Method). Как утверждает автор, данный метод был разработан для задач большой размерности. Как и SMO, ASM разбивает задачу на подзадачи, но, в отличие от SMO, он работает сразу с неким подмножеством векторов. Большая часть алгоритма — это работа с матрицами. В начале статьи приводится описание алгоритма и описываются методы ускорения его работы. Вторая часть посвящена сравнению с версией Вапника. По результатам сравнения видно, что ASM работает существенно быстрее на данных большой размерности. Данная версия алгоритма SVM выглядит наиболее перспективной, поскольку сделана для данных большой размерности, а также имеет места, которые могут быть очень хорошо оптимизированы, тем самым увеличивая скорость работы всего алгоритма.

Следующая статья Cherkassky, Ma [9] посвящена настройке параметров SVM для задачи регрессии. В такой задаче необходимо подбирать два параметра — s (ширина «трубки») и C (параметр сложности SVM). Если используется гауссово ядро, то необходимо еще подбирать параметр p (стандартное отклонение) для этого ядра. Для оценки эффективности предложенных настроек производятся измерения на искусственных данных.

Авторы замечают, что параметр C должен соответствовать диапазону выходных данных обучающей выборки. Для этого они предлагают формулу: C = max(\y + Ъау\, \у - Ъау|), где у — это среднее обучающей выборки, а ау — стандартное отклонение обучающей

выборки. Для параметра s известно, что он должен быть пропорционален нормальному отклонению входных данных обучающей выборки. Также они замечают, что этот параметр должен быть обратно пропорционален корню из размера обучающей выборки. Кроме того, был добавлен логарифм, поскольку на больших данных получалось слишком маленькое значение s. Подбирая экспериментально коэффициент, авторы получают формулу: s = 3а ^jf. Параметр p авторы предлагают задавать следующим образом:

pd (0,2 - 0,5), где d — это размерность входных данных, а входные переменные обучающей выборки масштабированы на единичный гиперкуб.

Во второй части статьи приводятся измерения качества обучения, а также сравнение с вариантом SVM наименьших модулей (s = 0). Предложенный метод дает лучшие результаты. Также представлены трехмерные графики зависимости ошибки обучения от значения s и C. Из графиков видно, что алгоритм старается выбрать значение, которое минимизирует ошибку.

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

Судя по результатам экспериментов, статья Cherkassky, Ma [9] является наиболее практичной, предлагая конкретные методы выбора коэффициентов для задачи регрессии. При разработке конкретных пакетов программных средств для решения задач регрессии следует учитывать результаты данной работы.

В статье Liu et al [10] приводится исследование относительно нового алгоритма машинного обучения — ELM. ELM — Extreme Learning Machine — это алгоритм обучения, который по структуре представляет из себя нейронную сеть с одним скрытым слоем. Обучение же данной сети происходит по-другому. Веса для скрытого слоя назначаются случайным образом, а для открытого — взятием псевдообратной матрицы. Также есть версии ELM, где функцией активации для нейронов скрытого слоя является нестандартная функция.

В самом начале статьи описываются алгоритмы SVM и ELM, затем происходит сравнение этих алгоритмов. Вначале сравнение производится в терминах VC-размерности. Так, если для SVM VC-размерность не известна, то для ELM она равна количеству нейронов на скрытом слое с вероятностью 1. Здесь приводится теоретическое доказательство этого утверждения.

Оставшаяся часть статьи посвящена практическому сравнению алгоритма ELM со стандартными сигмоидной, радиальной и синусоидальной функциями активации, SVM с функцией риска наименьших модулей и SVM с функцией риска наименьших квадратов (LSSVM). Для небольших выборок ELM показывает большее значение риска, чем SVM или LSSVM, а для больших — результат почти одинаковый. Наилучшие результаты показывает LSSVM. С другой стороны, при сравнении скорости обучения ELM существенно опережает SVM, а LSSVM дает наихудший результат. В статье приводится оценка скорости обучения от размера выборки. Так для LSSVM она равна O(n2), для SVM — O(n1'5), а для ELM — O(n).

Таким образом, выводы статьи Liu et al (2012) убедительно показывают, что для больших выборок лучше пользоваться алгоритмом ELM, а для маленьких — одним из вариантов SVM.

Преимущества алгоритма ELM были замечены и породили поток работ по его детальному изучению. В статье Horata et al [11] рассматриваются две проблемы, связанные с работой алгоритма ELM. Первая проблема — это низкая скорость работы алгоритма псевдообращения матрицы, который использует SVD-разложение в случае плохо обусловлен-

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

Для решения первой проблемы авторы предлагают метод ECOD, использующий алгоритм ECODLS (описание алгоритма приведено в конце статьи). Метод ECOD справляется с проблемными матрицами и асимптотически работает быстрее метода SVD.

Для решения второй проблемы авторы рассматривают три алгоритма: IRWLS, MLTS, RMLTS, использующие ECOD разложение. Далее происходит сравнение по времени и качеству обучения между этими тремя алгоритмами и стандартным алгоритмом ELM на искусственных и реальных данных. По результатам тестирования наилучшее качество обучения показал алгоритм RMLTS, однако в плане скорости данный алгоритм проигрывает IRWLS и тем более обычному алгоритму ELM.

3. ЗАКЛЮЧЕНИЕ

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

Список литературы

1. Vladimir N. Vapnik. An Overview of Statistical Learning Theory // Neural Networks, IEEE Transactions on, 1999. Vol. 10, № 5. P. 988-999.

2. Vladimir Cherkassky, Yunqian Ma. Another look at statistical learning theory and regularization // Neural Networks, 2009. № 22. P. 958-969.

3. Vladimir Cherkassky, Yunqian Ma. Comparison of Model Selection for Regression // Neural Computation, 2003. Vol. 15, № 7. P. 1691-1714.

4. Trevor Hastie, Robert Tibshirani, Jerome Friedman. The elements of statistical learning: Data mining, inference and prediction. New York: Springer-Verlag, 2001.

5. Xuhui Shao, Vladimir Cherkassky, William Li. Measuring the VC-Dimension Using Optimized Experimental Design // Neural Computation, 2000. Vol. 12, № 8. P. 1969-1986.

6. Vladimir N. Vapnik, Esther Levin, Yann Le Cun. Measuring the VC-dimension of a learning machine // Neural Computation, 1994. Vol. 6, № 5. P. 851-876.

7. John C. Platt. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines // Microsoft Research, 1998 / http://research.microsoft.com/apps/pubs/default.aspx?id=69644 (дата обращения 20.08.14).

8. Katya Scheinberg. An Efficient Implementation of an Active Set Method for SVMs // The Journal of Machine Learning Research, 2006. № 7. P. 2237-2257.

9. Vladimir Cherkassky, Yunqian Ma. Practical selection of SVM parameters and noise estimation for SVM regression // Neural Networks, 2004. № 17. P. 113-126.

10. Xueyi Liu, Chuanhou Gao, Ping Li. A comparative analysis of support vector machines and extreme learning machines // Neural Networks, 2012. № 33. P. 58-66.

11. Punyaphol Horata, Sirapat Chiewchanwattana Khamron Sunat. Robust extreme learning machine // Neurocomputing, 2013. № 102. P. 31-44.

review of the literature on the methods of machine learning

Nevostruev K. N. Abstract

The basic concepts regarding the new direction of information technology — statistical learning theory — are described in the article. The theory has been gaining more and more popularity since it explains the essence of machine learning from a mathematical point of view. Further studies of the theory may provide significant improvements in the speed and quality of machine learning algorithms. The dozen articles were chosen among the large number of publications devoted to the theory of statistical learning. These articles reveal the basic concepts and problems of this theory and provide practically useful algorithms and the results of experiments comparing different approaches. Main results of the reviewed works are provided in concise form. The form allows professionals just starting to get acquainted with this popular theory facilitate the entry and proceed to the actual studies.

Keywords: machine Learning, Statistical Learning Theory, SLT, SVM, ELM.

(S) Наши авторы, 2014. Our authors, 2014.

Невоструев Константин Николаевич, ведущий разработчик ООО «НМТ — Новые Мобильные Технологии», costik21@gmail.com

i Надоели баннеры? Вы всегда можете отключить рекламу.