Опубликован: 20.08.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Самостоятельная работа 3:

Машинное обучение

4.2. Разработка приложения для решения задач кластеризации

4.2.1. Требования к приложению

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

  1. Загрузка данных из файла, имя которого указывается в качестве параметра командной строки.
  2. Выполнение кластеризации на заданное (в виде аргумента командной строки) число кластеров.
  3. Визуализация кластеризации в двумерном пространстве.
4.2.2. Структура приложения

Приложение будет состоять из двух модулей: основной (main.cpp) и модуль визуализации (drawingFunctions.cpp/h). Функции визуализации предоставляются в готовом виде и аналогичны описанным в разделе 4.1.2.

В основном модуле должна выполняться следующая последовательность действий:

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

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

После того, как код основного модуля будет дописан, предлагается запустить программу на предоставленных наборах данных (dataset1.yml, dataset2.yml, dataset3.yml, dataset4.yml) и проанализировать полученные результаты.

5. Контрольные вопросы

  1. Для чего в алгоритме опорных векторов применяются ядра?
  2. Какой эффект можно наблюдать при использовании машины опорных векторов с радиальным ядром с большим значением параметра \gamma?
  3. Каким образом дерево решений разбивает пространство признаков?
  4. Для чего к деревьям решений применяется процедура отсечений?
  5. Применяются ли отсечения к деревьям решений в составе случайного леса?
  6. Происходит ли переобучение при увеличении количества деревьев в случайном лесе?
  7. Происходит ли переобучение при увеличении количества деревьев в модели градиентного бустинга?
  8. В чем заключается идея метода центров тяжести?

6. Дополнительные задания

  1. Реализуйте возможность сохранения и загрузки обученной модели в приложении для решения задач классификации.
  2. Реализуйте функцию вычисления матрицы ошибок классификации \mathit{E}, где элемент \mathit{E_{i,j}} равен количеству прецедентов выборки принадлежащих к классу j и отнесенных алгоритмом классификации к классу i.
  3. Реализуйте метод перекрестного контроля для подбора параметров алгоритмов обучения.
Александра Максимова
Александра Максимова

При прохождении теста 1 в нем оказались вопросы, который во-первых в 1 лекции не рассматривались, во-вторых, оказалось, что вопрос был рассмаотрен в самостоятельно работе №2. Это значит, что их нужно выполнить перед прохождением теста? или это ошибка?
 

Алена Борисова
Алена Борисова

В лекции по обработке полутоновых изображений (http://www.intuit.ru/studies/courses/10621/1105/lecture/17979?page=2) увидела следующий фильтр:


    \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 2 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array} - \frac{1}{9} \begin{array}{|c|c|c|}
    \hline \\
    0 & 0 & 0 \\
    \hline \\
    0 & 1 & 0 \\
    \hline \\
    0 & 0 & 0 \\
    \hline 
    \end{array}

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

Что вижу я в конструкции фильтра (скорее всего ошибочно): F(x, y) = 2 * I(x, y) - 1/9 I(x, y) = 17/9 * I(x, y), где F(x, y) - яркость отфильтрованного пикселя, а I(x, y) - яркость исходного пикселя с координатами (x, y). Что означает обычное повышение яркости изображения, при этом без учета соседних пикселей (так как их множители равны 0).

Объясните, пожалуйста, как данный фильтр может повышать четкость изображения?

Сергей Кротов
Сергей Кротов
Россия
Дмитрий Донсков
Дмитрий Донсков
Россия, Москва, Московский Авиационный Институт