Практическое занятие 4

Метод Cos (метод О.И.Мухина, 2019 г.)

Сравнение объектов. Похожесть. Объекты и группы

Методы классификации помогают нам определить, насколько два сложных объекта похожи друг на друга – какие объекты следует отнести к одной группе, а какие к другой.

Пример классификации объектов

Возьмем, например, такие объекты, как яблоко, арбуз, киви, груша, тыква, кабачок, помидор, забор. Как и по каким группам их распределить, в какую группу попадут одни объекты, а в какую – другие?

Применение классификации в информационных системах

В современных информационных системах анализируют, какие люди покупают какие товары. Например, Вы купили в интернет-магазине садовую тележку, кусторез и лопату. На основании анализа купленных Вами товаров система определит, к какому классу покупателей Вы относитесь, видимо, садовод.

Значение метода Cos для продавцов

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

Сравнение объектов

Интересна и важна задача – какие два из тысячи разных объектов больше всего похожи друг на друга.

Пример характеристик человека

Например, люди могут быть охарактеризованы сотней признаков (трудолюбие, любознательность, активность, коммуникабельность, упорство и так далее).

Структура объекта A

Допустим, у нас есть объекты A и B, каждый из которых характеризуется двумя признаками (x, y). Например, объект A – яблоко со свойствами: средний размер, круглая форма. Обозначим первый признак Размер как x, второй признак Форма как y. Тогда яблоко можно обозначить как А(x, y) = А(средний, круглая).

Пример распределения объектов

Если договориться, что значение 1 признак Размер принимает у маленьких объектов, а значение 0 этот же признак принимает у больших объектов, то для конкретного среднего яблока можно принять x = 0.5.

Объект A в координатах

Если договориться, что значение 1 признак Форма принимает у круглых объектов, а значение 0 этот признак принимает у некруглых объектов, то для конкретного круглого яблока можно принять y = 1.

Визуализация объекта A

То есть яблоко – это А(0.5, 1.0). На рисунке объект А представлен синей точкой в координатах (x, y).

Рисунок – Распределение фруктов по размеру и форме (пример)

Как геометрически оценить сходство объектов с помощью косинуса угла

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

Как представить объекты в виде точек в системе координат

Допустим, у нас есть два объекта, обозначим их как яблоко и киви. Пусть объект А – яблоко с характеристиками (x = большой, y = круглый). Например, конкретное яблоко А(0.8, 0.9).

Мерой сходства двух объектов является косинус угла между векторами

Для определения степени сходства или различия между объектами, можно воспользоваться косинусом угла между векторами, направленными на эти объекты из начала координат. Косинус угла равен 1, если объекты идентичны, 0 – если объекты непохожи, (-1) – если объекты антиподы.

Как провести геометрический анализ с помощью косинуса

Измеряя угол между объектами, можно оценить их сходство. Угол измеряется как в градусной, так и в радианной мере. Переход от градусов к радианам осуществляется по формуле: α(рад) = α(град) * π/180.

Пример оценки сходства объектов яблоко и киви

На графике представлен пример оценки сходства между яблоком и киви, где угол между векторами, направленными на эти объекты, составляет 63 градуса. Таким образом, объекты имеют сходство на уровне 0.445.

Заключение

Геометрический анализ с использованием косинуса угла позволяет оценить сходство или различие между объектами на основе их характеристик. Этот метод является удобным инструментом для анализа данных в задачах машинного обучения.

![Пример разброса экземпляров двух классов в пространстве признаков](URL к рисунку)

Классификация фруктов

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

Тоже рассуждение можно отнести и к яблокам. На рисунке показаны два разных класса: класс яблоки и класс киви, состоящие из конкретных экземпляров. Чем более компактны множества, тем меньше разнообразия у конкретных фруктов.

Пример расположения двух классов в пространстве признаков

Заметим, что если по каким-то признакам разные классы имеют сходство, то классы или их проекции на оси могут пересекаться. Например, и киви, и яблоки бывают маленькие – на рисунке проекция множества яблок и проекция множества киви на ось признака Размер пересекаются. А вот их проекции на ось Форма – нет. Поэтому яблоки от киви лучше отличать по форме, а не по размеру.

Пример расположения двух классов в пространстве признаков

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

Поворот осей в системе Форма-Размер для лучшего разделения классов

В этом случае надо проводить дополнительные оси, чтобы четко отличить один класс от другого. Достаточно ввести ось Цвет, чтобы отличить коричневое киви от зеленых, красных, желтых яблок.

Другой вариант решения проблемы показан на рисунке. Достаточно провести самим оси Размер-Форма под другим углом, чтобы два класса стали отличаться друг от друга.

Поворот осей в системе Форма-Размер для лучшего разделения классов

Разумеется, главная ось, на которой отчетливо будет видно отличие яблок от киви, будет уже называться по-другому: Формо-размер. Еще точнее, 8*Форма = 3*Размер или 8y – 3x = 0. Для определения что это за фрукт достаточно взять пропорцию 8 к 3 от значений его формы и размера.

Техническое устройство Сортировальная машина

Как известно, косинус угла α вычисляется через скалярное произведение векторов. Формула вычисления косинуса для трех объектов (A, B, C) и трех признаков (x, y, z) имеет вид:

cos(α) = (Ax*Bx*Cx + Ay*By*Cy + Az*Bz*Cz) / √((Ax*Ax + Ay*Ay + Az*Az)*(Bx*Bx + By*By + Bz*Bz)*(Cx*Cx + Cy*Cy + Cz*Cz)).

Таблица исходных данных

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

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

Например. Вес может принимать разные значения. Есть легкие предметы, а есть тяжелые. Легкий, тяжелый – конкретные свойства (числовые значения) признака Вес.

Таблица сравнения объектов

ОбъектыПохожесть
Яблоко, Арбуз0.9
Арбуз, Яблоко0.9
Арбуз, Яблоко, Помидор0.26
Арбуз, Яблоко, Дыня0.39
Арбуз, Яблоко, Забор0.22
Арбуз, Яблоко, Огурец0.26
Арбуз, Яблоко, Дыня, Огурец0.07

Если обозначить вес переменной (буквой) V, то, например, V:=3 будет соответствовать легкому предмету, а V:=1000 будет соответствовать тяжелому. Признак – это переменная (обозначается буквой), а свойство – значение переменной (обозначается числом). Алгебра преобразует выражения с признаками (исчисление буквенных выражений). Арифметика работает со свойствами (вычисление числовых выражений).

Шкалу задают нулем (точка) и единицей (отрезок) или двумя точками по краям шкалы: max и min. Например, сладкое – НЕ сладкое, маленькое – большое, и так далее.

Признаки и свойства

  • Признаки: Цвет (Ц), Вкус (В), Форма (Ф), Размер (Р), Способ размножения (С)
  • Свойства: Зеленое – Не зеленое, Сладкое – Не сладкое, Круглое – Не круглое, Маленькое – Большое, Семечки – Не семечки

Похожесть яблока и арбуза определим как:
cos(Я, А) = (Яц*Ац + Яв*Ав + Яф*Аф + Яр*Ар + Яс*Ас) / √((Яц*Яц + Яв*Яв + Яф*Яф + Яр*Яр + Яс*Яс)*(Aц*Aц + Aв*Aв + Aф*Aф + Ар*Ар + Ас*Ас)) = (1*1 + 1*1 + 1*1 + 1*0 + 1*1) / √((1*1 + 1*1 + 1*1 + 1*1 + 1*1)*(1*1 + 1*1 + 1*1 + 0*0 + 1*1)) = 4 / √(5*4) = 0.9, формула показывает высокую схожесть яблока и арбуза, что соответствует углу 27 градусов между векторами, направленными из начала координат (0,0,0,0,0) к каждому из объектов.

Шаг 1: Определение похожести пар объектов

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

Шаг 2: Определение похожести троек объектов

Например, для АЯП степень похожести равна: cos(Арбуз, Яблоко, Помидор) = (1*1*0 + 1*1*0 + 1*1*1 + 0*1*1 + 1*1*1) / √((1*1 + 1*1 + 1*1 + 0*0 + 1*1)*(1*1 + 1*1 + 1*1 + 1*1 + 1*1)*(0*0 + 0*0 + 1*1 + 1*1 + 1*1)) = 2 / √(4*5*3) = 0.26

Шаг 3: Определение похожести четверок объектов

Например, для АЯДО степень похожести равна: cos(Арбуз, Яблоко, Дыня, Огурец) = (1*1*1*0 + 1*1*0*1 + 1*1*0*1 + 1*0*1*0 + 1*1*1*1) / √((1*1 + 1*1 + 1*1 + 0*0 + 1*1)*(1*1 + 1*1 + 1*1 + 1*1 + 1*1)*(0*0 + 1*1 + 1*1 + 0*0 + 1*1)*(1*1 + 0*0 + 0*0 + 1*1 + 1*1)) = 1 / √(4*5*3*3) = 0.07

Используя далее формулу косинуса для остальных четверок, имеем:

cos(Арбуз, Яблоко, Дыня, Забор) = 0

cos(Арбуз, Яблоко, Дыня, Помидор) = 0.14

Таким образом, больше всего похож на класс «АЯД» объект Помидор (0,14). Объединяем АЯД с П в один класс АЯДП.

Шаг 4. «Определение похожести пяти объектов»

Например, для АЯДПО степень похожести равна:

cos(Арбуз,Яблоко,Дыня,Помидор,Огурец) = (1*1*0*0*1 + 1*1*1*0*0 + 1*1*1*1*0 + 1*1*1*1*0 + 1*1*1*1*1)/√((1*1 + 1*1 + 1*1 + 0*0 + 1*1)*(1*1 + 1*1 + 1*1 + 1*1 + 1*1)*(0*0 + 1*1 + 1*1 + 0*0 + 1*1)*(0*0 + 0*0 + 1*1 + 1*1 + 1*1)*(1*1 + 0*0 + 0*0 + 1*1 + 1*1)) = 1/√(4*5*3*3*3) = 0,04

Используя далее формулу косинуса для оставшейся пятерки, имеем:

cos(Арбуз, Яблоко, Дыня, Помидор, Забор) = 0

Таким образом, больше всего похож на класс «АЯДП» объект Огурец на уровне 0,04. Объединяем АЯДП с О в один класс АЯДПО.

Шаг 5. «Определение похожести шести объектов»

Очевидно, что АЯДПО объединяется на последнем шаге с З.

Нарисуем получившееся дерево классов: А-Я(0.9)-Д(0,39)-П(0,14)-О(0.04)-З(0).

Рисунок – Дерево классов

Примечание 1. Если сравнивается сразу множество объектов, то один из них может стать началом координат и расположиться там, где находится наблюдатель, с точки зрения которого формируется суждение о похожести объектов. В нашем примере наблюдатель находился в точке (0,0). За начало координат можно также принять центр тяжести какого-либо класса объектов или центр тяжести всех рассматриваемых объектов.

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

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

Положение начала координат – это точка зрения.

Примечание 2. Мы брали значения свойств из множества 0 или 1. Результат нашей работы будет намного точнее, если значения признаков будут дробными числами (между 0 и 1), исходя из пропорции присутствия того или иного свойства в объекте. Например, яблоко не всегда бывает только размером 1, как в нашем примере.

Для другого примера за максимальный размер был взят Арбуз с присвоением ему значения размера 0. Если в крупном магазине измерить размеры у пяти попавшихся на глаза яблок, то окажется, что яблоки бывают 0,3; 0,2; 0,33; 0,24; 0,05 от размера арбуза. В среднем размер яблока в магазине оказался равен 0,224. Чем больше яблок будет перемерено, тем точнее будет результат.

Нахождение осей координат. Определение размерности пространства

Чтобы нарисовать множество объектов (в нашем примере их 6) в осях признаков (в нашем примере их 5) наиболее удачно, вычислим самые независимые друг от друга оси. Такие оси изображаются перпендикулярно друг другу и называются ортогональными. Не трудно сообразить, что самые удачные признаки для классификации (то есть для различения объектов друг от друга) – независимые, то есть те, косинус угла между которыми равен или близок к нулю.

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

Например, все красные фрукты всегда еще и сладкие, за редким исключением. Тогда не имеет смысла держать в базе данных такой атрибут как «цвет», если в базе данных есть уже атрибут «вкус». А зная вкус, можно вычислить с определенной точностью цвет экземпляра.

Итак, надо научиться определять размерность пространства.

Не факт, что оси (признаки) в нашем примере располагаются под прямым углом, т.е. независимы, а само пространство линейно.

Если спроецировать все объекты на каждую из осей по-отдельности, то можно увидеть, что лучше всего объекты разделяются по признакам: Вкус, Размер.

Оси делят все объекты на две одинаковые крупные части, на два класса. Вкус делит объекты на сладкие и несладкие, а Размер делит объекты на крупные и мелкие. Далее идут Цвет и Форма, они делят объекты на 2 класса по 2 и 4 объекта в каждом. Последним идет Способ, который делит объекты на 2 класса по 1 и 5 объектов в каждом.

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

Практическое занятие 4

Вычислить в сложных случаях распределений степень дифференциации можно по формуле энтропии (информации), которую нам предоставляет информатика:

i = – 1/n1*lg2(1/n1) – 1/n2*lg2(1/n2) (формула Шеннона).

Выбирая самый информативный признак max (iв, iр, iц, iф, iс), получаем iв = iр = 1. Такими признаками в нашем примере оказались Вкус и Размер, поэтому в первую очередь для классификации надо попытаться использовать именно их.

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

Например, косинус угла между Цветом и Вкусом:

сos(Ц, В) = (1*1 + 1*1 + 1*0 + 0*1 + 1*0 + 0*0)/√((1*1 + 1*1 + 1*1 + 0*0 + 1*1 + 0*0)*(1*1 + 1*1 + 0*0 + 1*1 + 0*0 + 0*0)) = 2/√(4*3) = 0,58

Подсчитав аналогично остальные углы, имеем:

Способ размножения (С) 0.77 0.77 0.9 0.77 1

Самой непохожей является пара признаков: «Вкус-Размер», у которых степень различия составляет 0.33, что составляет угол около 70 град. (близкий к 90 град.) между осями.

Можно сказать, что оси «Вкус-Размер» почти независимы. Точнее степень их зависимости (взаимозаменяемости) составляет всего 0.33.

Итак, во-первых, результаты нашего анализа позволяют утверждать, что Вкус менее всего связан с Размером. Во-вторых, исходные данные, приведенные в таблице, показывают: объекты бывают сладкие маленькие, сладкие немаленькие, маленькие несладкие и немаленькие несладкие. То есть связи между Вкусом и Размером действительно нет. А, значит, предполагается, что эти оси хорошо дифференцируют (разделяют) Объекты в пространстве Признаков. Посмотрите на рисунок – все объекты почти равномерно распределились по пространству признаков «Вкус-Размер».

Рисунок – Объекты и классы в проекции осей «Вкус-Размер» (видны классы «Фрукты», «Маленькие», «Фрукты-Овощи», «Живые», но оси не отличают Помидор от Огурца и Арбуз от Дыни)

Кстати, информативность двух осей можно опять подсчитать по формуле Шеннона:

Практическое занятие 4

iвр = – 1/n1*lg2(1/n1) – 1/n2*lg2(1/n2) – 1/n3*lg2(1/n3) – 1/n4*lg2(1/n4) = – 2/6*lg2(2/6) – 1/6*lg2(1/6) – 2/6*lg2(2/6) – 1/6*lg2(1/6) = 1.92 бит

С другой стороны, наибольшая связь в данном примере наблюдается между координатами «Способ-Форма» (0,9). Действительно, исходные данные показывают, что если есть семечки, то объект круглый, исключение составляет только один объект «Огурец». Эти координаты практически взаимозаменяемы. Оси «Способ-Форма» в 3 раза хуже дифференцируют объекты, чем оси «Вкус-Размер». Объекты скучены в одной области и плохо различимы. Такие оси для задачи различения объектов почти бесполезны (информативность осей iфс ниже, чем в предыдущем случае iвр).

iфс = – 1/n1*lg2(1/n1) – 1/n2*lg2(1/n2) – 1/n3*lg2(1/n3) – 1/n4*lg2(1/n4) = – 1/6*lg2(1/6) – 1/6*lg2(1/6) – 4/6*lg2(4/6) – 0/6*lg2(0/6) = 1.25 бит

Рисунок – Объекты и классы в проекции осей «Способ-Форма» (виден класс «Живые», оси плохо дифференцируют объекты по пространству)

Лучше всего, чтобы сумма углов между всеми тремя осями была максимальной. Или, что тоже, сумма абсолютных значений косинусов углов между всеми осями S была минимальной.

Оценим каждую из троек S.

Наилучшей тройкой осей и, таким образом, самыми независимыми признаками являются – Вкус, Размер и Цвет, у которой значение S самое маленькое.

То есть к осям «Вкус-Размер» имеет смысл добавить ось «Цвет».

У нас получилось трехмерное пространство: «Вкус-Размер-Цвет», которое изображено на рисунке.

Рисунок – Объекты и классы в осях «Вкус-Размер-Цвет» (все объекты разнесены по пространству по одному, достигнута максимальная дифференциация)

Очевидно, что осей «Вкус-Размер-Цвет» достаточно для полной дифференциации всех классов. Информативность трех датчиков-осей составляет:

Практическое занятие 4

iврц = – 6*(1/n1*lg2(1/n1)) – 2*(1/n2*lg2(1/n2)) = – 6*1/6*lg2(1/6) – 2*0/6*lg2(0/6) = 2.59 бит. (Сама высокая информативность среди троек осей).

Такая же информативность у тройки ЦФР (2.59 бит). В этом смысле оси В и Ф взаимозаменяемы.

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

Исследуя информативность пар, троек и т.д. признаков, можно определить наилучшую комбинацию осей для представления робота о мире.

Остальные признаки избыточны. А тот, кто создавал исходную таблицу, проделал лишнюю работу, измеряя избыточные признаки и занося их в таблицу.

Если Вы возьмете другую тройку осей, то часть объектов останется неразличима по выбранным признакам.

Таким образом, мы определили размерность пространства существования наших объектов. Выбранные датчики «Вкус», «Размер», «Цвет», если их установить на робота, будут вполне справляться с задачей сортировки объектов. Заодно, заметим, что робот получил исчерпывающую информацию в мире заданных предметов и точно может дать определение каждому. Робот выделил и усвоил понятия мира заданных предметов.

Как говорилось в самом начале, в одной стороны надо различать нюансы, а с другой – уметь обобщать, видеть общее в разном. Интересует сходство объектов (строк БД) и различие признаков (столбцов БД).

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

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

Здесь мы имеем право впервые использовать слово «понимание».

«Понять», это значит четко отличать один объект от другого, формулируя «сходство и отличие». Четко – это мера расстояния в пространстве признаков. «Понять» – это способность дать определение объекта через его признаки. Напомним, что «знать» – это способность установить связь между объектами, свойствами, поведениями в виде закона (причинно-следственной связи). Можно сказать так: «Понимают понятия, знают законы, умеют решать задачи, то есть преобразовывать законы».

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

«Необходимая и достаточная возможность в ощущениях».

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

Ощущения (свойства): вкус (4+1 вкуса), запах (зависимая переменная), цвет (750 000 цветов по амплитуде и 7 000 000 рецепторов по пространству), свет (100 000 000 по пространству, разрешение по амплитуде – 1010, разрешение по времени – 25 Гц – 3 оси), механическое давление, температура, электрическое и химическое воздействие.

Элементарные законы – мозг содержит 1011 нейронов, 1015 связей нейронов. 1 нейрон – 1 линейная функция. 1 связь – 1 ось координат.

Классы (кластеры записей базы данных) – вопрос создания модели мира внутри робота, того, как робот представляет себе (понимает) мир, их набор должен быть разнороден в классах (максимальная энтропия, классы должны сильно различаться) и однороден внутри классов (минимальная энтропия, объекты класса должны минимально различаться). То есть количество уравнений (классов) должно быть оптимально. Наш мозг ищет сгустки энтропий распределения понятий и законов в пространстве ощущений-признаков.

Переменные – это ощущения. Уравнения, причинно-следственные связи – это знания.

Примечание. Обратите внимание, что в нашем примере оси «Вкус-Размер-Цвет» не вполне ортогональны, значение S для них не равно минимальному значению, нулю. А это говорит о том, что по значениям одного признака можно с определенной точностью предсказывать значение другого признака – признаки зависимы.

Правильно было бы начертить на рисунке эти оси по отношению друг к другу под выше вычисленными нами углами: cos(71 град.) = 0,33, cos(55 град.) = 0,57.

Используя значения углов, можно также сказать, что Вкус = 0.33*Размер, Вкус = 0.58*Цвет, Размер = 0.58*Цвет. То есть мы можем указать, насколько Вкус связан с Цветом, или, другими словами, насколько Вкус определяет Цвет.

Теперь, зная, какой признак сколько вносит от себя определенности в название объекта, можем составить уравнение класса.

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

Три уравнения имеют вид тождества:

Вкус = Вкус, Размер = Размер, Цвет = Цвет.

Например, уравнение, вычисляющее «Сладкий/Несладкий» вкус у объекта, говорит нам о том, что если Вкус=0, то объект несладкий, если Вкус = 1, то объект сладкий. Объект считается сладким, если переменная Вкус принимает положительное значение, и наоборот, объект считается несладким, если переменная Вкус принимает неположительное значение (0 или <0).

Уравнение, вычисляющее способ размножения объекта «Семечки/Без семечек», имеет вид:

Способ размножения = 2*Вкус + 2*Размер – 2*Цвет + 1.

Уравнение, вычисляющее форму объекта «Круглый/Некруглый», имеет вид:

Форма = 2*Вкус – 2*Цвет + 1.

В общем виде любое из уравнений имеет вид:

Признак = Функция (В, Р. Ц).

(Вывод уравнений производится в отдельном разделе курса «Регрессионные модели»).

Уравнения говорят нам о том, что если вы знаете вкус, размер и цвет объекта, то в принципе можете определить – размножается семечками он или нет, круглый или нет.

В таблице приведены значения всех пяти функций для всех значений объектов:

Вкус Размер Цвет Способ размножения: С = 2*В + 2*Р – 2*Ц + 1 Форма: Ф = 2*В – 2*Ц + 1

Огурец 0 1 1 1 -1 (не круглый)

Забор 0 0 1 -1 (не семечками) -1 (не круглый)

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

Данные не порождают новые данные.

Новые факты порождает только закономерность, модель. Этот процесс называется прогнозированием. Прогноз – неотъемлемое и важнейшее свойство модели. Если некоторая информация не позволяет предсказывать новые данные, то она является данными, если позволяет – моделью.

Продемонстрируем, что наша модель обладает свойством прогнозирования.

Предскажем, какими свойствами обладают новые объекты «Киви» и «Здание», информации о которых не было в таблице данных. На кого похожи новые объекты, к каким классам их можно отнести?

Исходно киви имеет признаки: В = 1 (сладкий), Р = 1 (маленький), Ц = 1 (зеленый). Уточняя по уравнениям (подставляя значения В, Р, Ц в уравнения), определяем, что объект «Киви» – сладкий, зеленый, маленький, живой, размножается семечками (С = 3), круглый (Ф = 1). Что соответствует истине, прогноз оказался правильным.

Ближе всего киви к яблоку (сумма отличий равна 2), арбузу (сумма отличий – 3), дыне (сумма отличий – 4).

Здание имеет признаки: В = 0 (не сладкое), Р = 0 (не маленькое), Ц = 0 (не зеленое).

Объект «Здание» – не сладкий, не зеленый, не маленький, живой (С = 1 ), круглый (Ф = 1 ). Ближе всего здание к забору (три отличия) и помидору (одно отличие). Прогноз, конечно, не удовлетворительный, так как здание путается с помидором и определяется как «живой».

Примечание. Обратите внимание, прогнозируя, мы можем получить в ряде случаев определенную неточность или даже ошибку. Как это видно в примере со зданием. Это связано с тем, что для анализа и построения модели использовалось слишком мало данных. Чем больше данных нам предоставляется, тем точнее будет модель, которую мы строим.

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

С = 0,75*В + 0,75*Р – 0,25

Ф = В + 0,5*Р – 0,25*Ц – 0,25

Теперь проверка «киви» дает: С = 1,25 (размножается семечками), Ф = 1 (круглый), прогноз верный.

Проверка «здание» дает: С = -0,25 (объект не размножается семечками), Ф = -0,25 (объект не круглый), прогноз верный.

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

Интеллект. Обучение, прогнозирование, управление

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

Отличие модели от данных состоит в том, что модель обладает способностью прогнозировать, выводить новые данные.

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

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

Процесс получения модели из данных называется обучением.

Процесс получения новых данных по построенной модели называется прогнозированием.

Процесс установления на модели условий, которые ведут к благоприятным будущим результатам, называется управлением.

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

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

Поведение интеллектуальной системы стремится к адекватному за счет приближения модели, формируемой в «голове» такой системы, к максимально соответствующей окружающему миру.

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

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

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

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

Ранее мы определили последовательность формирования все более общих классов в нашем примере так: А – Я(0,9) – Д(0,39) – П(0,14) – О(0.04) – З(0). В скобках указан уровень похожести, при котором объекты начинают объединяться в классы.

Вектор (1 1 1 1 1) включает все признаки Ц, В, Ф, Р, С.

Пересекая Арбуз (1 1 1 0 1) с (1 1 1 1 1), получаем (1 1 1 0 1).

Далее пересекаем получившийся Класс (1 1 1 0 1) с Яблоком (1 1 1 1 1), получаем (1 1 1 0 1).

Далее, присоединяя объект Дыня (0 1 1 0 1) к получившемуся классу, снова после пересечения получаем (0 1 1 0 1).

Обратим внимание, что класс, объединяющий АЯД, имеет вид (0 1 1 0 1). Он объединяет все эти объекты (А, Я, Д) в один новый класс «сладкий» вкус, «круглая» форма и «семечки».

При необходимости такие промежуточные классы могут иметь свои индивидуальные названия, например, «Фрукты».

Далее, присоединяя объект Помидор (0 0 1 1 1) к получившемуся классу, получаем после пересечения новый общий класс (0 0 1 0 1). То есть класс АЯДП имеет вид (0 0 1 0 1). Объединяет все эти объекты в один класс «круглая» форма и «семечки».

Присоединяя Огурец (1 0 0 1 1) к этому классу, имеем АЯДПО (0 0 0 0 1). Объединяет все эти объекты в один класс наличие свойства «семечки». Имеет смысл назвать этот класс «Фрукты-Овощи». Запасные названия для киоска «Овощи-Фрукты»: «С семечкой», «Растения», «Выросло из семечки».

Присоединяя Забор (0 0 0 0 0) к этому классу, имеем (0 0 0 0 0).

Хорошее название этого магазина – «1000 мелочей», «У нас есть все» или «Белый шум» 🙂

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

Или упорядочивая признаки по мере их появления в формуле классов (путем перестановки столбцов):

Практическое занятие 4

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

Из таблицы видно, что самый маловажный признак, используемый в характеристике объектов, – размер, так как он практически никак не учитывается в отнесении объекта к какому-либо классу. За ним в порядке возрастания важности идут «зеленый» цвет, «сладкий» вкус, «круглая» форма, «семечки».

Способ размножения «семечки» – самый важный признак. Видно, что признаком «живого» является свойство «семечки».

Из таблицы видно, что признаком класса «Фрукт» является «сладкий» вкус.

Внимание! Может показаться, что признаком для «Овощей» является «несладкий» вкус, но это не так, так как этим свойством обладает также и Забор. Поэтому для выделения формулы овощей следует применять более сложное логическое выражение. Например, так: Овощ = «несладкий» вкус И «семечки». Подобные выражения, используя таблицу, можно вывести для каждого класса иерархии.

Заметим, что порядок важности осей координат совпал с ранее выделенным списком:

Теперь можно составить определения понятий и множества примеров.

1. Фрукт – это (Вкус = Сладкие).

Читать эту запись следует так: «Фрукт – это объект, обладающий сладким вкусом».

Заключение с обобщением (не для всех)

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

Итак, сходство двух объектов f и g с признаками х: f(x) и g(x), где f и g – два объекта, а х – набор признаков, вычисляется так:

сходство = ∫(f(x)*g(x)*dx/√(∫f 2(x)*dx*∫g 2(x)*dx),

а интеграл (сумма) берется по всем признакам (-∞; +∞). Нетрудно видеть, что это выражение есть формула корреляции функций f(x) и g(x).

Если в качестве функции g(x) взять ортогональные функции, например, cos(w*x) или (и) sin(w*x) – гармоники, то получим ряд чисел (коэффициентов ряда Фурье), указывающих на разложение f(x) в этот базис. Что позволяет построить любую сложную систему из ограниченного набора (базиса), достаточно только взять в сумму каждое простое слагаемое из базиса с соответствующим весом (коэффициентом его похожести на f(x)).

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

На этом основаны базис Хоара, Уолша, Ньютона, Фурье, Штурма, Крижевского, Ле Куна (нейроны, глубокое обучение, распознавание образов).

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

1. Задаться примером для метода k-means (не менее 3D, не менее 15 экземпляров). Провести кластеризацию множества экземпляров для случаев: k = 2, k = 3, k = 4. Нарисовать дерево классов. Привести графическую иллюстрацию.

2. Задаться примером. Методом «Косинуса» провести анализ классов, вывести дерево классов, правила, провести прогноз на модели, нарисовать геометрическую иллюстрацию, выбрать датчики, привести регрессионную модель.

Например, найдите классы автомобилей.

Практическое занятие 4

Симметрия

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

Симметрия выражает сохранение чего-то при каких-то изменениях или, иначе говоря, сохранение чего-то несмотря на изменения.

Примечание. В понятии симметрия ярко выражен принцип ДУАЛИЗМА. В природе ни одна из крайностей не является истиной, природа существует всегда в равновесии чего-то с чем-то. Яркий пример: сущность существует благодаря закону, закон выражается уравнением, уравнение – это равновесие правой и левой части, причины и следствия, действия и противодействия. Нарушение равновесия (закона) невозможно.

Что-то: геометрическая фигура, количество ударных слогов в стихотворении, ДНК растения, закипание воды при температуре более 100 градусов. Все это наблюдается несмотря на изменение времени года, места наблюдения и т.п. Поэтому такие явления рассматривают как законы природы. То есть их сохранение говорит о симметрии законов природы. А понятие симметрии имеет глобальный смысл для мышления.

Например, берем некий фрукт – . Берем другой фрукт (другой запах, цвет, вкус, размер), смотрим на него и говорим – яблоко.

То есть в этом примере объект – это фрукт. Изменение – это смена одного фрукта другим. Однако, несмотря на это изменение наблюдается сохранение ряда свойств, признаков, общих для фрукта, который мы называем яблоком.

Симметрия законов природы во времени соответствует закону сохранения энергии. Симметрия законов природы по отношению к их переносам в пространстве соответствует закону сохранения импульса. Симметрия законов природы по отношению к поворотам в пространстве соответствует закону сохранения момента импульса. То есть законы сохранения энергии, импульса, момента импульса есть прямое следствие определенных симметрий законов природы. Более общего и более фундаментального понятия!

Итак. Первый момент: симметрия связана с сохранением, стабильностью. Она выделяет в изменчивом мире опорные точки, сохраняющиеся при различных изменениях (инварианты). «Все возвращается на круги своя» (Екклесиаст) – не просто течет, но возвращается, совершает цикл, сохраняется, несмотря на изменения.

Второй момент: симметрия выделяет общее во множестве явлений и объектов. Мир многообразен, но он един, проявляя черты общности. В мире царствуют именно простые, общие законы, которые и ищет как вершину познания интеллект.

Третий момент: симметрия предопределяет необходимость, действуя в направлении сокращения числа возможных вариантов структур и вариантов поведения системы. Из мириадов атомов природа реализует относительно малое число возможных вариантов (около ста в Периодической системе Д.И. Менделеева). Искусственный интеллект выделяет общее среди бесконечного множества, выделяя из данных знания, модели, законы, уравнения, понятия.

Законы сохранения (наиболее общие законы) – это правила запрета, которые симметрия налагает на процессы, происходящие в природе. Это вносит в мир порядок, запрещая в нем хаос. Но, симметрия не только запрещает, но и подсказывает единственно возможный вариант реализации, позволяя делать предсказания. То, ради чего бьется наша мысль. Цель мышления – предсказание, снижение рисков.

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

Интеллект как раз ищет законы более общего характера. А симметрия – центральное место в интеллектуальном мышлении. Любая научная классификация в равной мере использует как сохранение (общность), так и изменения (различие) свойств классифицируемых объектов.

«Классификация объектов»

Одна из проблем интеллекта – образование понятий в своем сознании, для того чтобы ими оперировать в дальнейшем. «Образуются понятия из чего-то и для чего-то». Реальный мир бесконечен, объекты в нем бесконечно разнообразны, то есть бесконечно отличаются друг от друга – не бывает абсолютно двух похожих кошек. Тем не менее, в нашем сознании есть понятие «кошка». Но дать определение кошки в силу разнообразия кошачьих индивидуумов крайне затруднительно. С другой стороны, в нашем сознании существует конечное и небольшое число понятий, которое отчетливо проводит границу между различными объектами окружающего мира.

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

Где находятся границы классов, как расположены в пространстве признаков области, соответствующие классам? – основная задача ИИ.

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

Фундаментальное понятие объектов выражается математическим понятием «симметрия».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *