Новосибирский Государственный Университет
Опубликован: 20.08.2013 | Доступ: свободный | Студентов: 858 / 36 | Длительность: 14:11:00
Самостоятельная работа 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).

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