Нейронные сети: 3. Многомерность


Введение

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

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


Проклятие размерности

Мы живём в 3-мерном пространстве. Оно для нас на столько привычно, что свойства пространств большого числа измерений часто оказываются неожиданными. Тем не менее именно с такими пространствами имеют дело при распознавании образов (классификации объектов). Напомним, что мы рассматриваем объекты, которые характеризуются n вещественными числами. После соответствующей нормировки их можно считать принадлежащими интервалу от 0 до 1. Таким образом, каждый объект представим точкой, находящейся внутри n-мерного единичного гиперкуба. Рассмотрим некоторые математические аспекты многомерия.

Гиперкуб в n измерениях имеет 2n вершин

Единичный 2-мерный куб (квадрат) имеет 4 вершины с координатами (0,0), (0,1), (1,0), (1,1). У 3-мерного куба их уже 8. В пространстве n измерений каждая точка характеризуется n координатами: {x1,...,xn}. Пусть одна вершина куба находится в начале координат: {0,0,...,0} (n нулей). Тогда остальные вершины нумеруются всеми возможными последовательностями n нулей и единиц: {0,0,...,0}, {1,0,...,0}, ..., {1,1,...,1}. Существует 2n двоичных чисел с n разрядами и, соответственно, 2n вершин гиперкуба.

При больших n гирперкуб очень "колючий" объект. Например, в пространстве с 32 признаками он имеет 4294967296 вершин.

Многомерное пространство очень большое.

Предположим, что мы хотим равномерно заполнить пространство точками (обучающими объектами). Для этого каждый признак (ось) разобьём на k равных частей. В результате получится kn кубиков, в каждый из которых можно поместить точку. Понятно, что даже при k = 2 и n = 32 это сделать практически невозможно. Поэтому необходимо стремится к такому отбору признаков объектов, при котором соответствующие их классам образы не были бы слишком сложными. Иногда это формулируют в виде гипотезы компактности: каждый класс должен занимать относительно компактную область в n-мерном пространстве и различные классы могут быть отделены друг от друга сравнительно простыми поверхностями. В противном случае задача не только распознавания, но и даже подготовки обучающего множества становится очень нетривиальной задачей.

Шар

Множество равноудалённых точек от данной (центра) называется сферой. Пространство внутри сферы называется шаром. Шар, вписанный в гиперкуб это очень "маленький" объект. Справа приведена формула объёма шара в пространствах с чётным числом измерений n=2k (чтобы не связываться с гамма-функцией). В единичный гиперкуб можно вписать шар с радиусом R=1/2. В соответствии с этой формулой его объём при n=10 равен V10=0.0025, а при n=32 он исчезающе мал: V32=10-15. Хотя шар "прижимается" к граням гриперкуба, его окружает очень много (2n) углов.

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

Гиперплоскость

Гиперплоскостью в n-мерном пространстве называют (n-1)-мерное пространство (в 2-мерии это линия, а в 3-мерии "обычная" плоскость). Гиперплоскость всегда можно провести через n точек. Соответственно, она задаётся при помощи n чисел (например, единичным вектором нормали (ω2=1) к плоскости ω={w1,w2,...,wn} и параметром сдвига w0).

Пусть есть два класса, объекты которых находятся внутри компактных сфер с достаточно большим расстоянием между ними. Тогда для распознавания достаточна сеть только из одного нейрона. Его плоскость отделит кластеры друг от друга.

Симплекс

Симплексом называют n мерное обобщение треугольника 2-мерного пространства. В 3-мерии это тетраэдр (рисунок справа). Через n точек в n-мерном пространстве можно провести гиперплоскость. Соответственно n+1 точек в общем случае не лежат на одной гиперплоскости и образуют симплекс с n+1 вершинами. Если все рёбра (расстояния между парами вершин) одинаковы - симплекс называют правильным. Напротив каждой из n+1 вершин лежит гиперплоскость (в которую эта вершина не попала).

Пусть внутри сферы находятся объекты одного класса, а вне неё - объекты другого класса. Для их разделения потребуется нейронная сеть, имеющая по меньшей мере n+1 скрытых слоёв. Они образуют n+1 гиперплоскостей симплекса (возможно со сглаженными углами, если длины векторов нормали невелики).


Заключение


Нейронные сети: 2. Разделяющие поверхности <
> Обучение