ЛБ#2 / СисИИ_ЛР#2
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
СВЯЗИ И ИНФОРМАТИКИ
──────────────────────────────────────
Факультет СИ
Кафедра ТПСИ
ЛАБОРАТОРНАЯ РАБОТА
№ 2
по дисциплине «Системы искусственного интеллекта»
на тему:
«АЛГОРИТМЫ МАШИННОГО ОБУЧЕНИЯ»
Выполнил: студ. гр.
БСС230У
Хххх Х Х
Москва 2026
Цель работы
Исследовать
базовые алгоритмы машинного обучения
(Наивный байесовский классификатор,
Регрессионные деревья решений и
Многослойные нейронные сети) на языке
Python с использованием библиотеки
scikit-learn. Решить задачу прогнозирования
энергоэффективности зданий (потребностей
в нагреве
и охлаждении
)
на основе их архитектурно-конструктивных
характеристик (
…
),
а также оценить влияние выбора значимых
признаков на точность классификации.
Исходные данные
ИСХОДНЫЕ ДАННЫЕ И ТЕОРЕТИЧЕСКИЙ БАЗИС
Датасет: Данные по энергоэффективности зданий (UCI Energy Efficiency Dataset).
Входные переменные (Признаки X):
— Относительная компактность (Relative Compactness)
— Площадь
поверхности (Surface Area)
— Площадь
стен (Wall Area)
— Площадь
крыши (Roof Area)
— Высота
стен (Overall Height)
— Ориентация
по сторонам света (Orientation)
— Площадь
остекления (Glazing Area)
— Распределение площади остекления (Glazing Area Distribution)
Целевые переменные (Метки Y):
,
— Непрерывные значения потребности
в нагреве и охлаждении (кВт*ч/м^2).
,
— Дискретизированные (округленные до
целых чисел) значения целевых метрик
для решения задачи классификации.
Программный стек: Python 3.10+, библиотеки
ХОД ВЫПОЛНЕНИЯ РАБОТЫ
1. Подготовка окружения и данных
Создаем виртуальное окружение, устанавливаем необходимые пакеты и формируем структурированный датасет data.csv
2. Разработка основного модуля ML-анализа (main.py)
3. Анализ полученных результатов
Наивный байесовский классификатор: Показывает невысокую точность на данных с непрерывным характером и взаимно зависимыми признаками, так как базовое предположение о гипотезе независимости признаков при наличии физических связей (например, между площадью стен и площадью крыши ) нарушается.
Регрессионные деревья решений: Продемонстрировали наилучшую интерпретируемость и точность. Алгоритм нелинейно разбивает пространство признаков, эффективно отделяя категории зданий.
Многослойный перцептрон (MLP): Обучение на 10 скрытых нейронах требует предварительной нормализации данных (StandardScaler). Без масштабирования нейросеть сходится медленнее, однако дает стабильный результат при прогнозировании непрерывных величин.
Влияние отбора признаков: Фильтрация шума и сокращение размерности пространства признаков до 4 основных ( , , , ) позволила улучшить качество работы алгоритма регрессионных деревьев, увеличив точность предсказаний и исключив переобучение на мультиколлинеарных факторах.
ВЫВОД ПО РАБОТЕ
В ходе лабораторной работы были изучены и практически реализованы основные алгоритмы машинного обучения (байесовская классификация, деревья решений, нейронные сети) в среде Python с использованием библиотеки scikit-learn. Установлено, что для задач прогнозирования показателей энергоэффективности зданий наиболее высокую точность и устойчивость демонстрируют деревья решений, способные моделировать нелинейные физические связи параметров. Показано, что грамотный отбор значимых признаков ( , , , ) исключает избыточность данных, ускоряет процесс обучения и повышает обобщающую способность моделей до 99%.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Где могут быть применены алгоритмы?
Алгоритмы машинного обучения применяются в сферах, где составление аналитических уравнений затруднено из-за высокой сложности систем: в телекоммуникациях (оптимизация маршрутизации, обнаружение аномалий и сетевых атак, прогнозирование трафика), биоинформатике, финансовых сервисах (скоринг, фрод-мониторинг), компьютерном зрении, распознавании речи и обработке естественного языка (NLP).
2. Теорема Байеса.
Теорема Байеса связывает априорную и апостериорную вероятности статистически взаимозависимых событий. Математическая формулировка:
где
— априорная вероятность гипотезы A;
— вероятность гипотезы A при наступлении
события B (апостериорная);
— вероятность наступления B при истинности
A;
— полная вероятность наступления
события B.
3. Наивный байесовский классификатор. Достоинства и недостатки.
Простой вероятностный классификатор, основанный на теореме Байеса с «наивным» предположением о полной независимости всех признаков при заданном классе.
Достоинства: Высокая скорость работы, минимальные требования к объему обучающей выборки, устойчивость к нерелевантным признакам.
Недостатки: Низкое качество при наличии сильной корреляции между признаками (мультиколлинеарности).
4. Дерево принятия решений. Достоинства и недостатки.
Иерархическая структура из узлов (условий по признакам) и листьев (целевых решений).
Достоинства: Легкая интерпретируемость, отсутствие требований к нормализации данных, способность работать с смешанными типами переменных.
Недостатки: Высокая склонность к переобучению (overfitting), неустойчивость к малым изменениям в обучающей выборке.
5. Что такое нейрон? Синапс? Слой?
Нейрон — базовый процессорный элемент нейросети, выполняющий взвешенное суммирование входных сигналов с их последующей нелинейной трансформацией.
Синапс — направленная связь между нейронами, характеризующаяся числовым весовым коэффициентом $w$, на который умножается передаваемый сигнал.
Слой — совокупность нейронов, находящихся на одном уровне иерархии и параллельно обрабатывающих вектор входных данных.
6. Функции нейрона.
Нейрон выполняет три ключевые функции:
Взвешивание — умножение каждого входного сигнала
на соответствующий вес синапса
.
Суммирование — вычисление взвешенной суммы inputs и смещения (bias): S =
.
Активация — прохождение суммы через нелинейную функцию активации f(S) (Sigmoid, ReLU, Tanh) для формирования итогового выхода.
7. Нейронная сеть. Достоинства и недостатки.
Вычислительная структура из связанных искусственных нейронов.
Достоинства: Способность моделировать сложные нелинейные зависимости, высокая адаптивность и обобщающая способность.
Недостатки: Проблема «черного ящика» (сложность интерпретации весов), высокая требовательность к объему данных и ресурсам, риск застревания в локальных минимумах.
8. Какие виды обучения нейронной сети Вы знаете?
Обучение с учителем (Supervised Learning) — сеть обучается на размеченной выборке с известными эталонными ответами.
Обучение без учителя (Unsupervised Learning) — сеть самостоятельно выявляет структуры и закономерности в неразмеченных данных (кластеризация, понижение размерности).
Обучение с подкреплением (Reinforcement Learning) — сеть взаимодействует со средой, получая вознаграждения или штрафы.
9. С помощью какой функции осуществляется обучение сети?
Обучение сети осуществляется путем минимизации целевой функции потерь (Loss Function / Cost Function, например, Mean Squared Error — MSE или Cross-Entropy) с помощью оптимизационных алгоритмов на основе градиентного спуска (SGD, Adam, L-BFGS) и метода обратного распространения ошибки (Backpropagation). В библиотеке scikit-learn вызов процесса обучения инкапсулирован в метод .fit(X_train, y_train).
10. Какие классификаторы в Python Вам известны?
В экосистеме Python (scikit-learn) широко используются: GaussianNB (Наивный Байес), DecisionTreeClassifier (Дерево решений), RandomForestClassifier (Случайный лес), SVC (Метод опорных векторов), KNeighborsClassifier (Метод k-ближайших соседей), LogisticRegression (Логистическая регрессия) и MLPClassifier (Многослойный перцептрон).
11. Какой метод классификации оказался наилучшим? Почему?
Наилучшие результаты показал алгоритм Регрессионных деревьев решений (Decision Tree / TreeBagger). Это объясняется тем, что физические параметры зданий (высота, площадь остекления, компактность) имеют ярко выраженные пороги срабатывания и нелинейные взаимные сочетания, которые дерево легко разделяет плоскостями решений, в отличие от наивного Байеса, строящего ложные гипотезы о независимости признаков.
Дерево
