Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
5.10. ПРОЦЕДУРЫ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ5.10.1. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕМетоды персептрона, релаксаций и Хо — Кашьяпа являются по существу Методами градиентного спуска, приспособленными для решения систем линейных неравенств. Техника линейного программирования сводится к процедурам максимизации или минимизации линейных функций, удовлетворяющих линейному уравнению и наложенным на них ограничениям в виде линейных неравенств (заметим, что решение этих неравенств является частью общего решения задачи линейного программирования). В этом разделе будут рассмотрены два возможных подхода к решению таких задач. Для усвоения излагаемого материала от читателя не потребуется никаких предварительных знаний из области линейного программирования, хотя они могли бы оказаться полезными при решении практических задач. Классическая задача линейного программирования формулируется следующим образом: найти вектор который минимизирует линейную целевую функцию
и удовлетворяет ограничению
где а есть Для решения поставленной задачи может быть использован симплекс-метод; его описание можно найти в любой книге по линейному программированию. Симплекс-метод представляет собой классическую итеративную процедуру. Его использование требует введения еще одного ограничения для вектора и, а именно
Если искать и в виде некоторого весового вектора а, то такое ограничение неприемлемо, так как в большинстве случаев вектор решения будет иметь как положительные, так и отрицательные компоненты. Однако если представить а в виде
где
и
то и 5.10.2. СЛУЧАЙ ЛИНЕЙНО РАЗДЕЛЯЕМЫХ МНОЖЕСТВПусть имеется множество из
и
Если t достаточно велико, эти условия выполняются без труда, например если интереса с точки зрения решения поставленной задачи. Нас интересует как раз случай, когда Формально наша задача состоит в том, чтобы найти вектор и, минимизирующий целевую функцию
Таким образом, задача линейного программирования содержит 5.10.3. МИНИМИЗАЦИЯ ПЕРСЕПТРОННОЙ ФУНКЦИИ КРИТЕРИЯВ большинстве прикладных задач классификации образов нельзя а priori предполагать, что выборки линейно разделяемы. Это относится, например, к случаю, когда образы неразделяемы, и все же требуется найти весовой вектор, с помощью которого можно было бы правильно классифицировать как можно большее число выборок. К сожалению, количество ошибок не является линейной функцией компонент весового вектора, а ее минимизация не является задачей линейного программирования. Однако оказывается, что задачу минимизации персептронной функции критерия можно сформулировать как задачу линейного программирования. Поскольку минимизация такой функции критерия дает разделяющий вектор в случае разделяемых множеств и приводит к разумному решению в случае, когда выборки неразделяемы, такой подход является чрезвычайно привлекательным. Базисная персептронная функция критерия задается следующим выражением:
где У (а) — множество выборок, классифицируемых с ошибкой посредством вектора а. Для того чтобы исключить тривиальное решение
где
при ограничениях
и
Очевидно, что для любого фиксированного значения вектора а минимальное значение z в точности равно
Выбор 5.10.4. ЗАМЕЧАНИЯМы описали два способа постановки задачи отыскания линейной разделяющей функции как задачи линейного программирования. Существуют и другие способы, среди которых особый интерес с вы числительной точки зрения представляют те методы, которые сформулированы на основе двойственной задачи. Вообще говоря, методы типа симплекс-метода есть не что иное, как несколько усложненные методы градиентного спуска, предназначенные для отыскания экстремумов линейных функций при наличии ограничений в виде линейных неравенств. Подготовка алгоритма линейного программирования для решения на ЭВМ обычно представляет собой более сложную задачу по сравнению с такой же операцией, примененной для более простых процедур спуска, которые мы описывали ранее. Однако блоки общего назначения, составленные для задачи линейного программирования, часто могут быть использованы либо без всяких изменений, либо с очень незначительными изменениями в других задачах. При этом сходимость процесса гарантирована как в случае линейной разделяемости, так и в случае, когда исходные выборки неразделяемы. Различные алгоритмы для отыскания линейных разделяющих функций, описанные в данной главе, сведены в табл. 5.1. Естественно спросить, какой же из этих алгоритмов является наилучшим. Однозначного ответа на этот вопрос дать нельзя. Выбор подходящего алгоритма определяется такими фактами, как необходимые характеристики, простота программирования, количество и размерность выборок. Если линейная разделяющая функция обеспечивает незначительный процент ошибок, любая из этих процедур при корректном ее применении позволит получить хорошее качество решения. Таблица 5.1. Процедуры спуска для отыскания линейных разделяющих функций (см. скан) Продолжение табл. 5.1. (см. скан)
|
1 |
Оглавление
|