Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции? |
Машинное обучение
Введение
Презентацию к лабораторной работе Вы можете скачать здесь.
Дополнительные материалы к лабораторной работе Вы можете скачать здесь.
В настоящее время алгоритмы машинного обучения находят широкое применение в системах различного назначения: поисковых системах, алгоритмах распознавания, анализа и синтеза речи, медицинской диагностике, биоинформатике, финансовом прогнозировании и т.д. Исключением не является и компьютерное зрение. Например, подавляющее большинство современных систем детектирования объектов на изображениях и видео основано на применении алгоритмов машинного обучения. Такой подход позволяет компьютерной системе самой "научиться" отличать изображения, содержащие искомый объект, от остальных, используя для этого лишь примеры таких изображений. Также кластеризация и обучение с учителем успешно применяется в алгоритмах классификации изображений, опять же позволяя автоматически установить неявные различия между изображениями различных типов.
В настоящей работе рассматриваются некоторые алгоритмы обучения с учителем и кластеризации, реализованные в открытой библиотеке компьютерного зрения OpenCV [6].
1. Методические указания
1.1. Цели и задачи работы
Цель данной работы – изучить некоторые алгоритмы обучения с учителем и без с использованием соответствующих функций библиотеки компьютерного зрения OpenCV.
Данная цель предполагает решение следующих задач:
- Изучить основные идеи, лежащие в основе следующих алгоритмов классификации:
- машина опорных векторов;
- дерево решений;
- случайный лес;
- градиентный бустинг деревьев решений.
- Изучить идеи метода центров тяжести (k-means) для кластеризации.
- Рассмотреть прототипы функций и интерфейсы классов, реализующих перечисленные алгоритмы в библиотеке OpenCV.
- Рассмотреть простые примеры использования указанного набора функций.
- Разработать приложения для решения задач классификации и кластеризации рассмотренными методами.
- Применить разработанное приложение для решения модельных задач и проанализировать полученные результаты.
1.2. Структура работы
В работе приводится краткое описание некоторых алгоритмов классификации и кластеризации. Приводятся и описываются интерфейсы структур и классов, прототипы функций библиотеки OpenCV, реализующих рассматриваемые алгоритмы. Предлагаются примеры программ, демонстрирующие использование данных классов и функций. Приводятся результаты работы алгоритмов на модельных задачах. Разрабатывается структура приложений, для решения задач классификации и кластеризации.
1.3. Тестовая инфраструктура
Вычислительные эксперименты проводились с использованием следующей инфраструктуры (табл. 10.1).
Операционная система | Microsoft Windows 7 |
Среда разработки | Microsoft Visual Studio 2010 |
Библиотека TBB | Intel® Threading Building Blocks 3.0 for Windows, Update 3 (в составе Intel® Parallel Studio XE 2011 SP1) |
Библиотеки OpenCV | Версия 2.4.4 |
1.4. Требования к участнику лабораторной работы
Для выполнения данной лабораторной работы требуется:
- Изучение лекционного материала курса по теме "Обзор библиотек OpenCV и IPP"
- Изучение практического материала курса по теме "Сборка и установка библиотеки OpenCV. Использование библиотеки в среде разработки Microsoft Visual Studio"
- Изучение лекционного материала курса по теме "Введение в машинное обучение".
1.5. Рекомендации по проведению занятий
При выполнении данной лабораторной работы рекомендуется следующая последовательность действий:
- Привести примеры задач и приложений компьютерного зрения, которые могут решаться с помощью алгоритмов машинного обучения.
- Последовательно рассмотреть принципы, положенные в основу рассматриваемых методов. Параллельно описать классы и функции библиотеки OpenCV, реализующие данные алгоритмы, и продемонстрировать примеры программ, в которых выполняется их применение.
- Разработать структуру приложения, поддерживающего все рассмотренные алгоритмы обучения с учителем. Пояснить общую логику работы программы и описать функции, требующие реализации. Поставить задачу по исследованию качества решения модельных задач.
- Разработать структуру приложения, осуществляющего кластеризацию методом k-means. Пояснить общую логику работы программы и описать места, требующие реализации. Поставить задачу по исследованию качества решения модельных задач.