Нейронные сети: 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 вершин гиперкуба.
Многомерное пространство очень большое.
Предположим, что мы хотим равномерно заполнить пространство точками (обучающими объектами).
Для этого каждый признак (ось) разобьём на 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 гиперплоскостей симплекса (возможно со сглаженными углами, если длины векторов нормали невелики).