Использование метода главных компонент
Популярным и мощным средством понижения размерности входных данных является метод (анализ) главных компонент (МГК), или по-английски PCA — Principal-Component Analysis. В теории сигналов такое преобразование векторов известно как преобразование Карунена‑Лоэва (Karhunen‑Loève Transformation). Это метод использует проектирование данных с высокой размерностью в пространство с меньшей размерностью [21, 24]. Метод главных компонент использует линейное преобразование, аналогичное преобразованию , использовавшемуся для ортогонализации входных векторов. Но в отличие от преобразования , в котором матрица имеет размерность , в МГК используется матрица размерностью , где . В результате такого преобразования размерность преобразованных векторов будет меньше размерности исходных векторов. Преобразование МГК производится таким образом, что преобразованные векторы сохраняют наиболее важную информацию об исходных векторах. МГК применим к нормально распределенным коррелированным входным данным. Метод является одной из форм компрессии с потерей информации и преобразует большое количество взаимно коррелированной входной информации во множество статистически независимых векторов. Причем наименее изменчивая информация отбрасывается. Для построения матрицы преобразования МГК упорядочим положительные собственные значения ковариационной матрицы в порядке убывания : (собственные значения матрицы являются вещественными и положительными). В аналогичной последовательности расположим соответствующие собственные векторы . Если ограничиться максимальными собственными значениями, то матрица преобразования получит вид . Далее производится преобразование . Относительный вклад преобразованного вектора в общую дисперсию равен [21]
.
В МГК отбрасываются компоненты, имеющие малое значение .
Таким образом, МГК преобразует входные векторы в ортогональные и оставляет только наиболее изменчивые векторы. Метод главных компонент производит сжатие данных. Но как уже указывалось, преобразованные векторы не несут физического смысла.
Реконструкция исходного вектора с учетом ортогональности матрицы производится по формуле
,
где вектор близок к .
Рассмотренный метод главных компонент показывает, что в случае коррелированных входных векторов пропуски компонентов векторов можно восстановить с помощью МГК (см. раздел 3.2.3).
Рассмотрим пример применения МГК, заимствованный из [32]. Вектор измерений представляет собой длину , ширину и высоту различных черепах. Были произведены измерения этих параметров для популяции размером . В [32] приведена ковариационная матрица
.
В системе MATLAB получены собственные значения , , и соответствующие собственные векторы[2]
.
Матрица преобразования имеет вид
.
Вклады главных компонентов, вычисленные по , составляют , и . Поэтому можно ограничиться первым главным компонентом . То есть каждая черепаха может быть описана не трехкомпонентным, а однокомпонентным вектором. Правда, новые векторы не несут физического смысла.
Вычисление главных компонент представляет существенную вычислительную сложность. Известны нейронные сети (сети PCA) [32, 33], вычисляющие главные компоненты.
Ресэмплинг и сэмплинг
Для обучения нейронной сети и проверки качества обучения часто требуется несколько выборок данных. Например, при прогнозировании стоило бы повторить процесс обучения несколько раз, каждый раз используя новые обучающие и тестовые наблюдения из генеральной совокупности. После этого можно усреднить общий результат для всех выборок и получить более реальные показатели. Но получить несколько выборок трудно, а иногда и невозможно. Например, для диагностики заболевания отбираются данных в определенном месте и в определенное время. Построить другие выборки невозможно, потому что это будут уже данные из другого места или же взятые в другое время. Поэтому возникает проблема: как, имея лишь одну единственную выборку, искусственно сформировать несколько "псевдовыборок", необходимых для обучения сети. Для формирования "псевдовыборок" используют методы ресэмплинга (resampling — повторная выборка) [34, 35] (в русской литературе используются разные термины: "ресамплинг", "ресэмплинг", "ресемплинг", "методы генерации повторных выборок"). Ресэмплинг объединяет несколько близких по сути подходов: рандомизация, или перестановочный тест (permutation), метод "складного ножа" (jackknife), бутстреп (bootstrap).
Перестановочный тест применяется, когда необходимо сравнить работу нейронной сети на двух выборках: обучающей и тестовой. Сеть обучается на обучающей выборке, а обобщающие возможности сети проверяются на тестовой выборке (подробнее этот подход будет рассмотрен в разделе, посвященном обучению сетей). При недостатке примеров можно использовать перестановочный тест: выборку разделяют на обучающую и тестовую. Сеть многократно обучается на обучающей выборке и тестируется на тесовой выборке. При каждом обучении происходит случайный обмен примерами между обучающей и тестовой выборками. Показатели качества работы сети усредняются по всем результатам обучениям. Часто применяется перекрестная проверка (Cross-validation) без случайного обмена данными [33]. При оценке модели имеющиеся в наличии данные разбиваются на частей. Затем на частях данных производится обучение модели, а оставшаяся часть данных используется для тестирования. Процедура повторяется раз. При этом для тестирования используются разные части. В итоге каждая из частей данных используется для тестирования.
Метод "складного ножа" [36, 37] состоит в том, чтобы из одной выборки сделать много, исключая по одному примеру и возвращая ранее исключенные.
Бутстреп [35, 36] был предложен Б. Эфроном (B. Efron) как обобщение метода "складного ножа", чтобы не уменьшать число элементов по сравнению с исходной совокупностью. По одной из версий [35] слово "bootstrap" означает кожаную полоску в виде петли, прикрепляемую к заднику ботинка для облегчения его натягивания на ногу. Благодаря этому термину появилась английская поговорка: "Lift oneself by the bootstrap", которую можно перевести как "Пробить себе дорогу благодаря собственным усилиям". В бутстреп берется исходная выборка из элементов, из которой за шагов формируется новая выборка, содержащая элементов. На каждом шаге с равной вероятностью из элементов исходной выборки выбирается очередной элемент новой выборки (выбранный элемент не удаляется из исходной выборки и может быть выбран на других шагах). В результате шагов формируется выборка, содержащая элементов, но отобранных в случайном порядке. При этом некоторые элементы исходной выборки могут оказаться многократно повторенными в новой выборке, а другие — не появиться ни разу. Таким образом, полученные с помощью бутстрэпа выборки, скорее всего, будут иметь различное распределение данных, что позволит обеспечить независимое обучение некоторого количества сетей на единственном наборе или получить более достоверные оценки качества работы сети.
Известен параметрический бутстреп [35], который позволяет генерировать значения новых выборок на основе эмпирического распределения величин исходной выборки. Параметрический бутстреп, как уже указывалось, может быть применен для заполнения пропусков обучающей выборке.
Мы рассматривали ситуации, когда не хватает данных для обучения и тестирования сети. Но в аналитике [6] возможны ситуации, когда в хранилище данных накапливаются такие объемы информации, что их использование для анализа затруднено. В этой ситуации решается задача сэмплинга. Сэмплинг (sampling — выборка) — это процесс отбора из исходной совокупности данных выборки, представляющей интерес для анализа. При реализации сэмплинга используются специальные методы отбора, которые должны обеспечить репрезентативность выборки с точки зрения решаемой аналитической задачи. Различают равномерный случайный, стратификационный и другие виды сэмплинга [6].
При равномерном случайном сэмплинге (Uniform Random Sampling) все элементы исходной выборки разделяются на группы, в каждой из которых содержится одинаковое количество элементов. Из каждой группы случайным образом выбирается один элемент и помещается в результирующую выборку. Количество групп, на которые следует разбить исходную совокупность, зависит от размера исходной выборки и размера результирующей выборки. Размер результирующей выборки зависит от особенностей решаемой задачи. Возможен вариант случайного выбора элементов из всей исходной выборки без разбиения на группы. Равномерный случайный сэмплинг отличается простотой, но при неоднородной исходной совокупности результирующая выборка может оказаться не репрезентативной. Например, могут быть нарушены вероятности появления разных элементов.
В стратифицированном сэмплинге исходная выборка разбивается на несколько непересекающихся страт (слоев — от англ. Strata — слой). В качестве признака деления на страты используются значения одного или нескольких полей элементов выборки. Из каждой страты элементы извлекаются случайным образом. Размер выборки, извлекаемой из каждой страты, может выбираться двумя способами:
– пропорционально доли элементов страты в исходной выборке (из большей страты выборка больше);
– размер выборки пропорционален стандартному отклонению распределения некоторой переменной (наибольшие выборки берутся в стратах с большей вариабельностью).
Кластерный сэмплинг отличается тем, что предварительно по степени близости элементов (по некоторому расстоянию между элементами) строятся кластеры элементов, а затем так же, как и в стратифицированном сэмплинге, производится случайный выбор из кластеров.
Рассмотрим теперь, как случайным образом выбираются элементы из выборки и генерируются значения величин по эмпирическим законам распределения. Выбор с равной вероятностью одного из элементов выборки — это моделирование полной группы несовместных событий, происходящих с равной вероятностью . Рассмотрим сначала моделирование одного случайного события , наступающего с заданной вероятностью . Используем случайные числа , равномерно распределенные в интервале . Датчики (генераторы) таких случайных чисел хорошо известны и имеются в языках программирования. Определим событие как событие, состоящее в том, что выбранное значение случайной величины удовлетворяет неравенству
Вероятность этого события равна
,
где – плотность распределения равномерно распределенных в интервале случайных чисел
Таким образом, для моделирования случайного события, происходящего с вероятностью , необходимо сформировать случайное число , равномерно распределенное в интервале . Если условие выполнено, то считается, что событие произошло. Если условие не выполнено, то считаем, что событие не произошло.
Рассмотрим моделирование полной группы несовместных событий , вероятности появления которых равны и . Используем равномерно распределенные на интервале случайные числа . Разобьем интервал на интервалов, длины которых равны . Координаты точек деления будут равны . Для моделирования события генерируется случайное число . Если число попало в ‑й интервал, то считается, что произошло событие . Действительно, вероятность попадания РСЧ в ‑й интервал равна
,
где – плотность распределения равномерно распределенных в интервале случайных чисел.
Выбор с равной вероятностью одного из элементов выборки представляет собой моделирование полной группы несовместных событий, происходящих с равной вероятностью .
Дискретную случайную величину можно представить как полную группу несовместных событий: событие : с вероятностью ; событие : с вероятностью ; ; событие : с вероятностью . Тогда моделирование дискретной случайной величины производится как моделирование полной группы случайных событий.
Для построения эмпирического закона распределения непрерывной случайной величины диапазон изменения величины разбивается на ряд интервалов, и подсчитывается относительная частота попадания реализаций случайной величины в каждый из интервалов. Зависимость частот от интервалов определяет эмпирическое распределение вероятностей случайной величины, графическое представление которой называется гистограммой. Для генерирования случайных величин, распределенных по эмпирическому закону можно не идентифицировать закон распределения. Генерирование сведется к генерированию дискретной случайной величины.