Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mylnikov_otvety.docx
Скачиваний:
48
Добавлен:
13.03.2016
Размер:
655.4 Кб
Скачать

Регрессия частично наименьших квадратов

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

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

Метод частных наименьших квадратов (МЧНК, в англоязычной литературе - partialleastsquares, PLS) - один из наиболее распространенных методов построения многомерной градуировочной модели:

X=TPT, C=TQT (1)

Суть метода состоит в одновременном разложении матрицы данных X и матрицы концентраций C и переходе к новым переменным.

Здесь Вы можете скачать программу, реализующую МЧНК в среде MATLAB.

Установка: Скачав архив pls2.zip, распакуйте его в рабочую папку MATLAB (обычно это C:MATLABwork). Программа совместима со всеми версиями MATLAB.

Синтаксис: [P,T,Q]=pls2(X,C<, PCs>); здесь P - матрица нагрузок данных, T - матрица счетов, Q - матрица нагрузок концентраций, X - матрица данных (число столбцов равно числу сигналов детектора (длин волн), число строк равно числу образцов), C - матрица концентраций, PCs - число главных компонент, необязательный параметр. Если число главных компонент не задано, программа принимает его равным числу столбцов матрицы данных.

7. Использование подходов когнитивности моделирования для работы с данными

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

8. Использование возможностей сетей Кохонена для анализа данных

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

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

Сеть Кохонена имеет всего два слоя: входной и выходной, ее называют самоорганизованной картой. Элементы карты располагаются в некотором пространстве - как правило двумерном.

Рис. 4. Сеть Кохонена

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

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

Для реализации алгоритма необходимо определить меру соседства нейронов (окрестность нейрона-победителя). На рис. 6 показаны зоны топологического соседства нейронов на карте признаков в разные моменты времени. NEj(t) - множество нейронов, считающиеся соседями нейрона j в момент времени t. Зоны соседства уменьшаются с течением времени. 

Рис. 5. Зоны топологического соседства на карте признаков в разные моменты времени

Алгоритм функционування сетей Кохонена

  1. Инициализация сети. Весовым коэффициентам сети даются небольшие случайные значения. Общее число синаптических весов - M*N (см. рис. 4). Начальная зона соседства показана на рис. 5.

  2. Предъявление сети нового входного сигнала.

  3. Вычисление расстояния до всех нейронов сети:

Расстояния dj от входного сигнала до каждого нейрона j определяются по формуле:

где xi - i-ый элемент входного сигнала в момент времени twij(t) - вес связи от i-го элемента входного сигнала к нейрону j в момент времениt.

  1. Выбор нейрона с наименьшим расстоянием:

Выбирается нейрон-победитель j*, для которого расстояние dj самое малое.

  1. Настраивание весов нейрона j* и его соседей:

Делается настраивание весов для нейрона j* и всех нейронов из его окрестности NE. Новые значения весов:

wij(t+1)=wij(t)+r(t)(xi(t)-wij(t))

где r(t) - скорость обучения, которая уменьшается с течением времени (положительное число, меньше единицы).

  1. Возвращение к шагу 2.

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

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

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

После того, как сеть научена распознаванию структуры данных, ее можно использовать как средство визуализации при анализе данных.

Области применения. Кластерный анализ, распознавание образов, классификация.

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

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

Модификации. Одна из модификаций состоит в том, что к сети Кохонена прибавляется сеть MAXNET, что определяет нейрон с наименьшим расстоянием ко входному сигналу.

9. Использование возможностей нейронных сетей для анализа данных

Одним из эффективных и точных современных методов моделирования является моделирование с помощью нейронных сетей [4]. Идея нейронных сетей возникла в результате попыток смоделировать деятельность человеческого мозга. Мозг воспринимает воздействия, поступающие из внешней среды, и обучается на собственном опыте. Идея нейрона является обобщающей: она синтезирует биологические представления с математическими образами. Такого рода идеи на стыке мате-матики и биологии характерны для науки XX века.

Модель нейронной сети состоит из простых нейронов, которые объединены в группы (слои). У сети есть некоторое количество входов и выходов, зависящее от условий задачи: X1, X2, X3, …, Xn – входные данные (факторы производственной среды); Y’1, Y’2, Y’3, …, Y’m – выходные данные (показатели производственного риска).

Самый важный и трудоёмкий процесс работы модели – это обучение. В модель, обучающуюся с учителем, на вход подаются статистические значения независимых переменных (факторов производственной среды). Затем эти значения суммируются и поступают на нейроны первого слоя. Там они обрабатываются при помощи функции активации, которая в свою очередь может быть как линейной так и нелинейной. На выходе получаются некоторые значения, вновь суммируемые и поступающие на вход нейронов следующего слоя. Обычно, в моделях нейронной сети имеются один и или два скрытых слоя (без учёта входного и выходного слоёв). Результирующий сигнал, полученный на выходе модели, сравнивается с фактическим значением зависимой переменой из выборки исходных данных.

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

Основными интересными на практике возможностями нейронных сетей являются следующие:

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

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

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

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

  • Нейронная сеть одновременно может решать несколько задач на едином наборе входных сигналов − имея несколько выходов, прогнозировать значения нескольких показателей. Часто это помогает нейросети построить более адекватные или более универсальные "внутренние"-промежуточные концепции (т.к. требуется, чтобы все эти промежуточные расчёты были пригодны не для одной, а для нескольких задач сразу) и, вследствие этого, повысить точности решения этих задач по сравнению с решениями задач по-отдельности.

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

  • Нейросеть может обучиться решению задачи, которую человек-эксперт решает недостаточно точно (или для которой вообще отсутствует эксперт). Обученная сеть может быть представлена в виде явного алгоритма решения задачи, например, в виде набора правил "если …, то …", и изучение этого алгоритма может позволить человеку получить новые знания.

  • Синтезированная (обученная) нейросеть обладает устойчивостью к отказам отдельных элементов (нейронов) и линий передачи информации в ней. За счёт того, что навык решения задачи "размазан" по сети, не происходит катастрофического падения точности решения при выходе из строя нескольких элементов системы. Можно применять и специальные методы для повышения отказоустойчивости. Это бывает востребованным при аппаратных реализациях сетей − для обеспечения построения надёжных систем из ненадёжных элементов.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]