МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования «РОССИЙСКИЙ УНИВЕРСИТЕТ ТРАНСПОРТА» (РУТ(МИИТ)) Кафедра «Вычислительные системы, сети и информационная безопасность» ОТЧЕТ ПО ДИСЦИПЛИНЕ «НЕЙРОИНФОРМАТИКА» ЛАБОРАТОРНАЯ РАБОТА №6 РАСПОЗНАВАНИЕ ОБРАЗОВ Направление: 09.03.01 Информатика и вычислительная техника Профиль: Вычислительные системы и сети Выполнил: студент группы УВВ-311 Артемьев М.В. Проверил: доцент Малинский С.В. (должность, ФИО) Москва 2024 г. СОДЕРЖАНИЕ ВВЕДЕНИЕ.................................................................................................... 3 1 ОЦЕНКА ИНФОРМАТИВНОСТИ И ВЗАИМОСВЯЗИ ПРИЗНАКОВ ........................................................................................................... 4 2 ПОСТРОЕНИЕ ДИСКРИМИНАНТНЫХ ФУНКЦИЙ ....................... 7 3 ПРОГРАММА ........................................................................................ 11 ЗАКЛЮЧЕНИЕ ........................................................................................... 13 ПРИЛОЖЕНИЕ ........................................................................................... 14 ВВЕДЕНИЕ Теория распознава́ния о́бразов — раздел информатики и смежных дисциплин, развивающий основы и методы классификации и идентификации предметов, явлений, процессов, сигналов, ситуаций и т. п. объектов, которые характеризуются конечным набором некоторых свойств и признаков. Такие задачи решаются довольно часто, например, при переходе или проезде улицы по сигналам светофора. Распознавание цвета загоревшейся лампы светофора и знание правил дорожного движения позволяет принять правильное решение о том, можно или нельзя переходить улицу. Необходимость в таком распознавании возникает в самых разных областях — от военного дела и систем безопасности до оцифровки аналоговых сигналов. Проблема распознавания образов приобрела выдающееся значение в условиях информационных перегрузок, когда человек не справляется с линейно-последовательным пониманием поступающих к нему сообщений, в результате чего его мозг переключается на режим одновременности восприятия и мышления, которому свойственно такое распознавание. Неслучайно, таким образом, проблема распознавания образов оказалась в поле междисциплинарных исследований — в том числе в связи с работой по созданию искусственного интеллекта, а создание технических систем распознавания образов привлекает к себе всё большее внимание. 1 ОЦЕНКА ИНФОРМАТИВНОСТИ И ВЗАИМОСВЯЗИ ПРИЗНАКОВ Таблица 1 – Обучающая выборка Класс А В С Объект 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 1 3 4 4 5 8 9 10 10 11 14 16 16 19 21 24 25 27 28 29 30 30 31 31 32 32 33 34 34 34 36 3 8 9 9 11 13 13 13 15 16 2 11 13 19 16 12 11 17 18 13 11 15 16 19 17 12 13 11 15 16 19 17 13 19 16 12 11 17 18 11 14 17 13 19 16 12 11 17 18 11 14 ПРИЗНАКИ 3 4 13 21 7 29 25 22 20 27 25 25 15 21 4 28 9 26 21 23 12 21 3 29 7 28 11 23 5 24 3 22 26 21 33 28 21 26 29 23 16 21 25 29 32 28 43 23 9 24 20 22 37 28 5 26 13 23 28 21 41 29 52 22 49 27 41 25 54 28 44 26 38 23 51 21 57 29 32 25 46 27 5 14 23 11 27 29 15 19 17 22 25 13 26 11 17 19 23 28 25 11 17 15 22 26 29 19 15 11 17 16 23 25 13 26 11 17 19 23 28 25 11 6 26 14 50 40 50 30 8 18 42 24 6 14 22 10 6 52 66 42 58 32 50 64 86 18 40 74 10 26 56 82 104 98 82 108 88 76 102 114 64 92 7 22 26 38 32 24 22 34 36 26 22 30 32 38 34 24 26 22 30 32 38 34 26 38 32 24 22 34 36 22 28 34 26 38 32 24 22 34 36 22 28 11 12 13 14 15 18 18 19 19 20 15 13 19 17 12 39 55 27 33 50 28 26 23 21 29 11 27 29 15 19 78 110 54 66 100 30 26 38 34 24 В данном варианте класс А отделяется от классов BC. Первым делом была расчитана информативность признаков по Фишеру. Информативность признака по Фишеру рассчитывается по следующей формуле: 𝐼𝑥 = (𝑚𝑥𝐴 −𝑚𝑥𝐵 )2 (1) (𝜎𝑥𝐴 )2 +(𝜎𝑥𝐵 )2 ∑𝑛 (𝑥𝑖 −𝑥̅ )2 𝜎 = √ 𝑖=1 (2) 𝑛 𝑚𝑥𝐵 - среднее значение признака X у объектов класса А. 𝑚𝑥𝐵 - среднее значение признака X у объектов класса B. 𝜎𝑥𝐴 - среднее квадратическое значение признака X у объектов класса А. 𝜎𝑥𝐵 - среднее квадратическое значение признака X у объектов класса B. 𝑥𝑖 - значение признака по обучающей выборке. 𝑥 - среднее значение признака по обучающей выборке. Полученные значения информативности указаны в таблице 2. Таблица 2 – Информативность признаков Признак Информ. 1 2 3 4 5 6 7 3,678303 0,001777 8,682903 0,003506 0,010812 8,682903 0,001777 Для того, чтобы сгруппировать признаки таким образом, чтобы признаки, попадающие в одну группу, признавались сильно связанными, а признаки, попадающие в разные группы – слабо связанными был использован метод корреляционных плеяд. Первым делом была построена матрица корреляционных взаимосвязей размерностью 7х7. Рисунок 1 - Матрица корреляционных взаимосвязей Затем был построен граф взаимных связей признаков. Рисунок 2 – Граф взаимных связей признаков После было выбрано граничное значение R = 0,17 В группу 1 входят признаки 3, 6 и 4. В группу 2 входит признак 5. В группу 3 входит признак 1. В группу 4 входят признаки 2 и 7. Таким образом, применив метод корреляционных плеяд, становится возможным группировка признаков таким образом, чтобы признаки, попадающие в одну группу, признавались сильно связанными, а признаки, попадающие в разные группы – слабо связанными. Исходя из оценки информативности и оценки связи признаков были выбраны признаки 1 и 3. 2 ПОСТРОЕНИЕ ДИСКРИМИНАНТНЫХ ФУНКЦИЙ Рисунок 3 – Объекты в пространстве признаков 1 и 3 Затем, используя формулу для построения линейной дискриминантной функции, был отделён класс А от классов В и С. Уравнение выглядит следующим образом: y = -2,14*x+61,64. Рисунок 4 – Функция отделяющая классы А от классов ВС. Рисунок 5 – Функции полученные для ветвления А от ВС Далее была определена зона неопределённости Рисунок 6 – Зона неопределённости Затем было рассмотрено второе ветвлени (отделение B от С). Была построена следующая функция. Рисунок 7 – Функция отделяющая В от С Рисунок 8 – Функции полученные для разделения B от С Рисунок 9 – Зона неопределённости Ниже приведена таблица, со всеми уравнениями функций. Таблица 3 – Таблица уравнений функций А от ВС В от С x1 = -2,14x2+61,64 x1 = 0,32*x+12,42 1 x1 = -2,31x2+71,8 x1 = 0,312*x+14,43 2 x1 = -2,25x2+70,37 x1 = 0,36*x+13,05 3 x1 = -2,21x2+70,85 x1 = 0,41*x+12,33 4 x1 = -2,35x2+71,87 x1 = 0,26*x+14,51 5 x1 = -2,39x2+72,72 x1 = 0,351*x+11,47 6 7 8 9 10 11 x1 = -2,28x2+70,4 x1 = -2,16x2+68,45 x1 = -2,16x2+67,6 x1 = -2,36x2+72,32 x1 = -2,21x2+69,11 x1 = -2,07x2+65,81 x1 = 0,323*x+12,21 x1 = 0,316*x+12,28 x1 = 0,311*x+11,58 x1 = 0,338*x+13,02 x1 = 0,372*x+11,41 x1 = 0,396*x+11,77 12 13 14 15 x1 = -2,21x2+69,95 x1 = -2,2x2+69,71 x1 = -2,04x2+65,16 x1 = -2,21x2+68,89 x1 = 0,289*x+11,54 x1 = 0,296*x+12,08 x1 = 0,313*x+11,91 x1 = 0,361*x+10,57 все 3 ПРОГРАММА После этого была написана программа, принимающая на вход значения признаков 1 и 3, а на выходе ответ, к какому классу принадлежит описанный объект. Рисунок 10 – Проверка для класса В Рисунок 11 – Проверка для класса А Рисунок 12 – Проверка для класса С Рисунок 13 – Проверка зоны неопределённости ЗАКЛЮЧЕНИЕ Лабораторная работа предоставила ценное понимание методов анализа данных, сфокусированных на выявлении взаимосвязей между переменными и оценке их информативности. Изучение метода кореляционных плеяд позволило понять, как эффективно выявлять множественные корреляции между переменными, что является важным аспектом в анализе данных. Оценка информативности по Фишеру позволяет определить значимость отдельных признаков или переменных для классификации или прогнозирования. Этот метод помогает выявить наиболее важные факторы среди множества переменных и сосредоточиться на них при построении моделей. Построение дискриминантных функций является важным этапом в анализе данных для классификации объектов по заданным классам. Эти функции помогают эффективно разделять объекты на группы, основываясь на их характеристиках или признаках. ПРИЛОЖЕНИЕ def A1(x1, x2): return -x1-2.14 * x2 + 12.42 def A2(x1, x2): return -x1-2.39 * x2 + 72.72 def BC1(x1, x2): return -x1+0.32 * x2 + 12.42 def BC2(x1, x2): return -x1+0.289 * x2 + 11.91 def classify(x1, x3): А_1 = A1(x1, x3) A_2 = A2(x1, x3) BC_1 = BC1(x1, x3) BC_2 = BC2(x1, x3) if А_1 < 0 and A_2 > 0: return 'A' if BC_1 < 0 and BC_2 < 0: return 'B' elif BC_1 > 0 and BC_2 > 0: return 'C' x3 = float(input("Введите значение для признака 1: ")) x5 = float(input("Введите значение для признака 3: ")) result = classify(x3, x5) print("Объект класса:", result) if result == None: print("Зона неопределённости")