Отчет по системам искусственного интеллекта в matlab
Автор: Дарья Минина • Ноябрь 16, 2023 • Отчет по практике • 1,308 Слов (6 Страниц) • 129 Просмотры
2 Matlab
2.1 XOR
Внесём данные в Matlab
[pic 1]
Рис 48: Исходные данные
Для создания нейронных сетей в среде Matlab мы будем использовать Neural Networks Toolbox, который предоставляет дружелюбный графический интерфейс для создания различных типов нейронных сетей. Для открытия данной утилиты, необходимо в консоли Matlab набрать команду «nnstart».
[pic 2]
Рис 49: Команда для запуска утилиты
После ввода этой команды мы можем увидеть следующее окно:
[pic 3]
Рис 50: Окно утилиты
В данном окне есть всего 4 кнопки, которые предлагают решения для различных задач (Сверху-вниз: задача регрессии, задача определения образов и классификации, задача кластеризации и задача анализа временных рядов). В задаче XOR нам необходимо классифицировать наши данные на 0 и 1, поэтому нажмём на кнопку «Pattern Recognition app». Далее назначим матрицы входных и выходных данных.
[pic 4]
Рис 51: Назначение входных и выходных данных
Далее появится окно распределения данных на три выборки: Training, Validation и Testing. Количество наших данных слишком мало, так что оставим данное окно по умолчанию.
[pic 5]
Рис 52: Окно разделения на выборки
После нажатия на кнопку «Далее» появится окно задания количества скрытых нейронов. Оставим это значение по-умолчанию. (По умолчанию количество скрытых нейронов будет равно 10).
[pic 6]
Рис 53: Задание кол-ва скрытых нейронов
Нажмём кнопку «Далее» и перейдём в окно обучения нашей нейронной сети. Нажмём кнопку Train (если нейросеть необходимо переучить кнопка будет иметь название «Retrain»)
[pic 7]
Рис 54: Окно бучения нейронной сети
Сразу после обучения получим окно с результатами:
[pic 8]
Рис 55: Окно результатов
В данном окне можно найти различные показатели обучения нейронной сети. Если нажмём на кнопку «Performance», то получим график качества обучения нашей нейронной сети. Как можно заметить качество нейронной сети плохое. Оно является таким по причине недостаточности исходных данных.
[pic 9]
Рис 56: Performance plot
Если нажмём на кнопку «Error Histogram», то получим гистограмму ошибок по выборкам.
[pic 10]
Рис 57: Error Histogram
Попробуем запустить нашу нейронную сеть. Для этого в окне «Save Results» нажмём кнопку «Save Results», а затем кнопку «Simple Script». Эти действия приведут к формированию скрипта нашей нейронной сети и выведут нам реализацию сети в виде кода на языке MATLAB
[pic 11]
Рис 58: Save Results
Далее, в командной строке мы можем ввести команду sim(net, data), использование которой позволит спрогнозировать значение. В нашем случае данная команда может выглядеть так:
[pic 12]
Рис 59: Прогон пользовательских данных
Как можем заметить, несмотря на то что сеть имеет довольно плохие показатели обученности, она даёт правильный ответ на данные кейсы.
2.2 Задача Iris
Попробуем решить задачу классификации цветков ириса с помощью среды MATLAB, используя встроенный датасет.
[pic 13]
Рис 60: Загрузка датасета Iris Flowers
В следующих окнах оставим все значения по-умолчанию и сразу перейдём к обучению нашей нейронной сети.
[pic 14]
Рис 61: Обучение нейронной сети
Нажмём на кнопки «Performance» и «Error Histogram», чтобы понять качество, только что обученной нейронной сети.
[pic 15]
Рис 62: Performance plot
[pic 16]
Рис 63: Error histogram
Как мы можем увидеть из этих графиков: нейронная сеть обучена довольно хорошо и должна с достаточной точностью предсказывать класс цветка.
Выберем один из кейсов во входных данных (пусть это будет кейс 24), который соответствует второму из трёх возможных видов ириса.
[pic 17][pic 18]
Рис 64: Данные по 24 кейсу
Попробуем задать на вход данный кейс.
[pic 19]
Рис 65: Классификация ириса
Мы видим, что нейронная сеть определила «наш» ирис, как ирис первого класса, что является верным ответом в наших данных.
...