Страница
3
Задача о нахождении вектора, на котором реализуется минимальное расстояние от нуля до выпуклой оболочки сама по себе весьма сложна. Если число векторов не превышает размерность пространства и сами они линейно независимы, то отделяющую гиперплоскость можно построить другим способом. Достаточно провести через векторы
какую-нибудь не содержащую ноль гиперплоскость, а затем сдвинуть ее по направлению нормали ближе к нулю. В качестве вектора синаптических весов следует взять нормальный к
гиперплоскости вектор, направленный в полупространство, не содержащее ноль. Нормальный вектор к гиперплоскости, содержащей векторы строится конструктивно. Выбор вектора будет однозначным (с точность до множителя), если предполагать, что он принадлежит подпространству, порожденному векторами
.
При построении будем использовать алгоритм Шмидта. Он позволяет по последовательности линейно независимых векторов построить последовательность
ортогональных между собой векторов, обладающих следующим свойством. Вектор
принадлежит подпространству, порожденному векторами
и ортогонален всем векторам, расположенным в подпространстве, порожденном векторами
. Последовательность
строится рекуррентно. Положим
. Вектор
представим в виде:
. Из условия
получим:
. Далее полагаем
. Вектор
ортогонален любому вектору из подпространства, порожденного векторами
, которому принадлежат векторы
. Следовательно
и
. Учитывая ортогональность векторов
, получаем:
,
. На
- ом шаге алгоритма полагаем
. (15)
Из условия в силу ортогональности векторов
находим
. Отметим важное обстоятельство, что
. (16)
Действительно, из (15) следует:
Пусть векторы , где
линейно независимы. Построим проходящую через них гиперплоскость
, т.е. такую гиперплоскость, для которой
при всех
. Используя алгоритм Шмидта, ортогонализируем последовательность векторов
(легко видеть, что они линейно независимы). Пусть последний элемент последовательности суть
. Это и есть искомый нормальный вектор. Действительно, по построению
для
. Таким образом,
для всех
. В силу (16) получаем
. Используя это равенство, уравнение гиперплоскости можно переписать в виде:
.
Зафиксируем произвольно . Гиперплоскость
отделяет векторы
от нуля. Действительно,
.
Рассмотрим задачу о разделении гиперплоскостью множеств векторов и
, для
. Она разрешима в том и только том случае, когда выпуклые оболочки
и
соответственно векторов
и
не пересекаются. Пусть
и
- векторы, на которых реализуется минимальное расстояние между точками выпуклых оболочек
и
. Тогда разделение множеств осуществляет любая гиперплоскость, которая ортогональна отрезку, соединяющего векторы
и
и проходит через его внутреннюю точку.
Нахождение векторов и
- сложная задача. Разделяющую гиперплоскость можно легко построить, если число
и векторы
,
линейно независимы (можно вычитать любой фиксированный вектор
, или
). Рассмотрим последовательность векторов
,
,
. Они линейно независимы. Используя алгоритм Шмидта, по данной последовательности построим ортогональную последовательность. Пусть
- последний вектор, полученный в процессе ортогонализации. По построению
для
,
для
. Из равенства (16) следует, что
. Тем самым,
,
. Кроме того,
. Обозначим:
и
. Пусть
. Гиперплоскость
разделяет векторы
и
. Действительно,
,
.