Пробные задачи

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Задача 4)
Строка 3: Строка 3:
* Решения задач, работы студентов, [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/GroupYAD/Example2015Code/ пример].
* Решения задач, работы студентов, [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/GroupYAD/Example2015Code/ пример].
-
 
+
==Слава==
=== Задача 1===
=== Задача 1===
Классифицировать [http://archive.ics.uci.edu/ml/datasets/Credit+Approval|заемщиков кредита] с помощью [[Логистическая регрессия|логистической регрессии]]. Для оптимизации параметров использовать алгоритм [[Логистическая регрессия (пример)|Ньютона-Рафсона]] или алгоритм [[Метод градиентного спуска|градиентного спуска]]. Построить ROC-кривые для фиксированного числа разбиений. Построить ряд графиков для различных мощностей подвыборок разбиений.
Классифицировать [http://archive.ics.uci.edu/ml/datasets/Credit+Approval|заемщиков кредита] с помощью [[Логистическая регрессия|логистической регрессии]]. Для оптимизации параметров использовать алгоритм [[Логистическая регрессия (пример)|Ньютона-Рафсона]] или алгоритм [[Метод градиентного спуска|градиентного спуска]]. Построить ROC-кривые для фиксированного числа разбиений. Построить ряд графиков для различных мощностей подвыборок разбиений.
Строка 13: Строка 13:
===Задача 3===
===Задача 3===
Восстановить регрессию используя формулу [[Формула Надарая-Ватсона|Надарая-Ватсона]]. Нарисовать восстановленную функцию с различными ядрами и шириной окна. В качестве данных использовать выборку [https://dmba.svn.sourceforge.net/svnroot/dmba/Data/WhiteBreadPrices.csv цены на хлеб] или [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/TSForecasting/TimeSeries/Sources/tsEnergyConsumption.csv| цены на электроэнергию].
Восстановить регрессию используя формулу [[Формула Надарая-Ватсона|Надарая-Ватсона]]. Нарисовать восстановленную функцию с различными ядрами и шириной окна. В качестве данных использовать выборку [https://dmba.svn.sourceforge.net/svnroot/dmba/Data/WhiteBreadPrices.csv цены на хлеб] или [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/TSForecasting/TimeSeries/Sources/tsEnergyConsumption.csv| цены на электроэнергию].
-
 
Строка 21: Строка 20:
===Задача 5===
===Задача 5===
-
Нарисовать путь наименьшей стоимости между временными рядами, найденный с помощью [https://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group274/Goncharov2015Centroids/code/DTW.zip?format=raw алгоритма DTW]. Ввести ограничения на вид пути в матрице с помощью техники [https://izbicki.me/img/uploads/2011/10/Sakoe-Chiba1.png "Sakoe-Chiba band"]. Показать, что при наименьшей величине отклонения пути от диагонали при этих ограничениях стоимость DTW перейдет в евклидово расстояние. Исследовать зависимость стоимости пути от величины ограничения или же построить [https://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group274/Goncharov2015Centroids/code/DTW.zip?format=raw "анимацию"] этого пути.
 
-
 
-
 
-
 
-
Решение каждой задачи должно быть визуализировано, все рисунки необходимо кратко описать.
 
-
 
-
# С помощью логистической регрессии разделить два класса точек на плоскости. Результаты изобразить на графиках (см. пример [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Примеры| Classification using logistic regression]]). Рассмотреть случаи линейно разделимой и неразделимой выборок.
 
-
# Изобразить на рисунке Парето-расслоение множества точек на плоскости. (Парето-расслоение - набор последовательно вычисляемых Парето оптимальных фронтов. Первый фронт вычисляется для полной выборки и удаляется из нее. Для оставшихся данных вычисляется следующий слой и т.д)
 
-
# Дана выборка [http://archive.ics.uci.edu/ml/datasets/Wine "Вина различных регионов"]. Требуется определить кластеры (регионы происхождения вин) и нарисовать результат: цветной точкой обозначен объект кластера; цветным кружком обозначен класс этого объекта, взятый из выборки. Вариант задания: определить число кластеров. Вариант задания: использовать два алгоритма, например <tex>k</tex>-means и EM, и показать сравнение результатов кластеризации на графике.
 
-
# Сгладить временной ряд [[Временной ряд (библиотека примеров)|Цены (объемы) на основные биржевые инструменты]] методом [[Экспоненциальное сглаживание| экспоненциального сглаживания]]. Нарисовать цветные графики сглаженных с различным <tex> \alpha </tex> рядов и исходного ряда.
 
-
# Аппроксимация выборки замкнутой кривой [http://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group874/Group874Essay/Group874Essay.pdf?format=raw]: проверить, лежат ли точки на окружности? Сгенерировать данные самостоятельно. Построить графики для случая когда точки лежат на окружности и нет, на графиках изобразить выборку и аппроксимирующую окружность.
 
-
# Дан временной ряд с пропусками, например [http://archive.ics.uci.edu/ml/datasets/Gas+Sensor+Array+Drift+Dataset+at+Different+Concentrations]. Предложить способы заполнения пропусков в данных, заполнить пропуски. Для каждого способа построить гистограмму. Вариант: взять выборку без пропусков, удалить случайным образом часть данных, заполнить пропуски, сравнить гистограмму восстановленной выборки с гистограммой исходной выборки.
 
-
# Дана выборка [http://archive.ics.uci.edu/ml/datasets/Wine "Вина различных регионов"]. Выбрать два признака. Рассмотреть различные функции расстояния при классификации с помощью [[Метод ближайших соседей| метода ближайшего соседа]]. Для каждой изобразить результат классификации в пространстве выбранных признаков.
 
-
# Для различных видов зависимости <tex> y = f(x) + \epsilon </tex> (линейная, квадратичная, логарифмическая) построить [[Линейная регрессия (пример)| линейную регрессию]] и нарисовать на графике SSE-отклонения (среднеквадратичные отклонения). Данные сгенерировать самостоятельно или взять данные "Цена на хлеб".
 
-
# Оценить площадь единичного круга методом Монте-Карло. Построить график зависимости результата от размера выборки.
 
-
<!-- # Построить выпуклую оболочку точек на плоскости. Нарисовать график: точки и их выпуклая оболочка – замкнутая ломаная линия. -->
 
-
# Дана выборка: [http://archive.ics.uci.edu/ml/datasets/Iris ирисы Фишера]. Реализовать процедуру классификации методом решающего дерева. Проиллюстрировать результаты классификации на плоскости в пространстве двух признаков.
 
-
# Задан временной ряд – [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/TSForecasting/TimeSeries/Sources/tsEnergyConsumption.csv объемы почасового потребления электроэнергии] (выбрать любые два дня). Аппроксимировать ряд полиномиальными моделями различных степеней (1-7). *Предложить метод определения оптимальной степени полинома.
 
-
# Задано два одномерных [[Временной ряд (библиотека примеров) | временных ряда]] различной длины. Вычислить расстояние между рядами методом динамического выравнивания. На графике изобразить путь наименьшей стоимости.
 
-
# Сгенерировать набор точек на плоскости. Выделить и визуализировать главные компоненты.
 
-
# Аппроксимировать выборку [https://dmba.svn.sourceforge.net/svnroot/dmba/Data/WhiteBreadPrices.csv цены на хлеб] полиномиальной моделью. Нарисовать график. Выделить объекты, являющиеся выбросами, используя правило трех сигм, и отметить их на графике.
 
-
# Разделить выборку [http://archive.ics.uci.edu/ml/datasets/Iris ирисы Фишера] на кластеры. Проиллюстрировать на графиках результаты кластеризации для различного числа кластеров, выделить кластеры разными цветами.
 
-
# Дана выборка из нескольких признаков, без целевого вектора Y. Например, эта https://dmba.svn.sourceforge.net/svnroot/dmba/Data/Diabets_LARS.csv Требуется указать тот признак, который хорошо описывается (в терминах линейной регрессии) остальными (такой признак обычно исключают из выборки). Предложить способ визуализации решения (например, с помощью ковариационной матрицы).
 
-
# Сгенерировать выборку случайным образом и воссстановить ее плотность [[Метод парзеновского окна| методом парзеновского окна]]. Взять несколько окон разной длины и изобразить результаты на одном рисунке. Рассмотреть различные способы порождения данных.
 
-
<!--
 
-
# Показать разницу в скорости выполнения матричных операций и операций в цикле. Можно использовать в качестве примера [[Сингулярное разложение]] и другие методы линейной алгебры. Показать эффективность параллельных вычислений (parfor). Результаты представить в виде диаграммы (bar chart).
 
-
# Разобраться как работает суперпозиция функций. С помощью функции @ породить все возможные полиномы от n переменных степени не более p. Вариант: приблизить полученными полиномами временной ряд цен на хлеб [[Линейная регрессия (пример)|(данные)]].
 
-
-->
 
-
# Дан набор трехэлементных векторов. Первые два элемента нарисовать по осям абсцисс и ординат. Третий элемент отобразить как круг с пропорциональным радиусом. Пропорции подобрать исходя из чувства прекрасного. Сравнить полученный график с plot3. Что лучше?
 
-
# Построить методом наименьших модулей уравнение регрессии 2ой степени по результатом опытов, данные [[Media:Опыт №7.3 21.10.14.txt.zip|прилагаются]] (x1,x2,x3 - переменные факторы, N - отклик). Вариант: сравнить с методом наименьших квадратов, построив на одном рисунке 2 графика (по оси абсцисс - истинные отклики, по оси ординат - результаты моделирования с помощью МНМ и МНК)
 
-
# Разобраться как работает regexp в Матлабе. Сделать код, который выделяет все, что находится внутри скобок некоторого арифметического выражения. Визуализировать работу regexp.
 
-
# Дан временной ряд из m + 1 (случайных) точек. Приблизить m его первых точек полиномами степени от 1 до m. Вычислить среднюю ошибку в точках. Какая степень дает наибольшую ошибку?
 
-
# Аппроксимировать выборку [https://dmba.svn.sourceforge.net/svnroot/dmba/Data/WhiteBreadPrices.csv цены на хлеб] полиномиальными моделями различного порядка. Построить на одном рисунке два графика: качество аппроксимации на обучении и на контроле в зависимости от степени полинома.
 
-
# Предложить способы визуализации наборов четырехмерных векторов, например для [http://archive.ics.uci.edu/ml/datasets/Iris Fisher's iris data].
 
-
<!-- # Заданы две матрицы. Проверить, есть ли в них пересечение – подматрица? -->
 
-
# Дан временной [http://archive.ics.uci.edu/ml/datasets/Individual+household+electric+power+consumption ряд], описывающий потребление электричества. Приблизить ряд несколькими [[Линейная регрессия (пример)| криволинейными моделями]] и нарисовать спрогнозированные и исходный ряды на одном графике.
 
-
# Дана выборка, в которой есть несколько выбросов. Известно, что она может быть описана одномерной линейной регрессией. Требуется переборным путем найти выбросы. Показать их на графике.
 
-
# Дана выборка из двух классов на плоскости. Требуется разделить ее линейно и найти все объекты, которые залезли в чужой класс. Показать их на графике.
 
-
# Решается задача заполнения пропусков в социологических анкетах наиболее адекватными значениями. Основная идея: для фиксированной анкеты найти заполнить ее пропущенные поля с использованием значений соответствующих полей <tex>k</tex> ближайших соседей. Задана выборка <tex>X</tex>&nbsp;--- матрица, в которой элемент <tex>x_{ij}</tex> принадлежит конечному множеству <tex>\mathbb{L}_j=\{1,...,k_j,\text{NaN}\}</tex> допустимых значений <tex>j</tex>-го поля анкеты; отметка <tex>\text{NaN}</tex> означает пропуск в поле. На множестве <tex>\mathbb{L}_j</tex> задано отношение предпочтения <tex>\preceq</tex>. Например, "начальное образование" <tex>\preceq</tex> «среднее образование» <tex>\preceq</tex> «высшее образование»&nbsp;--- отношение линейного порядка. Требуется ввести такую функцию расстояния или метрику <tex>\rho(x_i,x_k)\rightarrow \mathbb{R}\cup\text{NaN}</tex>, которая бы обеспечивала наиболее полное восстановление пропусков, и описать процедуру восстановления. ''Дополнительно'': изменится ли ваше решение, в случае, когда каждая анкета имеет не менее одного пропуска. Вариант: каждое поле имеет не менее одного пропуска. Вариант: значительная часть элементов матрицы <tex>X</tex> пропущена.
 
-
 
-
 
-
<!-- # На вход подается матрица инцидентности дерева. Функция возвращает список (вектор) вершин в порядке их посещения. -->
 
-
<!-- # Классифицировать цветы ириса произвольным алгоритмом, нарисовать на плоскости «самую наглядную» пару признаков, указать, что классифицировалось правильно, а что – нет. -->
 
-
<!-- # Дан временной ряд. По его вариационному ряду построить гистограмму из n перцентилей, нарисовать ее. Какое значение временного ряда встречается чаще всего? -->
 
-
 
-
 
-
 
-
[[Категория:Учебные курсы]]
 
-
 
-
===Задача 4===
 
-
Предсказать сорт винограда из которого сделано вино, используя https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data "wines" результаты химических анализов], c помощью [Метод_k_ближайших_соседей_(пример)|KNN]] - метода k ближайших соседей с тремя различными метриками. Построить график зависимости величины ошибки от числа соседей k.
 
-
 
-
===Задача 2===
 
Нарисовать траекторию пошагового спуска к минимуму [|градиентного метода] и [[Алгоритм имитации отжига|имитации отжига]]. Сравнить их работу при поиске мимимума [SCHWEFEL.pdf|тестовой функции].
Нарисовать траекторию пошагового спуска к минимуму [|градиентного метода] и [[Алгоритм имитации отжига|имитации отжига]]. Сравнить их работу при поиске мимимума [SCHWEFEL.pdf|тестовой функции].
 +
===Задача 6===
 +
Нарисовать путь наименьшей стоимости между временными рядами, найденный с помощью [https://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group274/Goncharov2015Centroids/code/DTW.zip?format=raw алгоритма DTW]. Ввести ограничения на вид пути в матрице с помощью техники [https://izbicki.me/img/uploads/2011/10/Sakoe-Chiba1.png "Sakoe-Chiba band"]. Показать, что при наименьшей величине отклонения пути от диагонали при этих ограничениях стоимость DTW перейдет в евклидово расстояние. Исследовать зависимость стоимости пути от величины ограничения или же построить [https://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group274/Goncharov2015Centroids/code/DTW.zip?format=raw "анимацию"] этого пути.
 +
=== Задача 7===
-
 
+
По описанию [http://archive.ics.uci.edu/ml/datasets/Fertility условий посева] предсказать прорастут семена растений или нет. Провести бинарную классификацию семян с помощью метода Парзеновского окна. Построить график зависимости ошибки на контроле от ширины окна. Подобрать оптимальную ширину окна.
-
 
+
-
 
+

Версия 07:16, 7 апреля 2016

Содержание

Слава

Задача 1

Классифицировать кредита с помощью логистической регрессии. Для оптимизации параметров использовать алгоритм Ньютона-Рафсона или алгоритм градиентного спуска. Построить ROC-кривые для фиксированного числа разбиений. Построить ряд графиков для различных мощностей подвыборок разбиений. Число итераций ограничить либо условием на сходимость – норма разности последовательных векторов весов не больше точности, либо числом шагов.

Задача 2

Нарисовать траекторию пошагового спуска к минимуму градиентного метода и имитации отжига. Сравнить их работу при поиске мимимума тестовой функции.

Задача 3

Восстановить регрессию используя формулу Надарая-Ватсона. Нарисовать восстановленную функцию с различными ядрами и шириной окна. В качестве данных использовать выборку цены на хлеб или цены на электроэнергию.


Задача 4

Предсказать сорт винограда из которого сделано вино, используя https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data "wines" результаты химических анализов], c помощью KNN - метода k ближайших соседей с тремя различными метриками. Построить график зависимости величины ошибки от числа соседей k.


Задача 5

Нарисовать траекторию пошагового спуска к минимуму [|градиентного метода] и имитации отжига. Сравнить их работу при поиске мимимума [SCHWEFEL.pdf|тестовой функции].


Задача 6

Нарисовать путь наименьшей стоимости между временными рядами, найденный с помощью алгоритма DTW. Ввести ограничения на вид пути в матрице с помощью техники "Sakoe-Chiba band". Показать, что при наименьшей величине отклонения пути от диагонали при этих ограничениях стоимость DTW перейдет в евклидово расстояние. Исследовать зависимость стоимости пути от величины ограничения или же построить "анимацию" этого пути.

Задача 7

По описанию условий посева предсказать прорастут семена растений или нет. Провести бинарную классификацию семян с помощью метода Парзеновского окна. Построить график зависимости ошибки на контроле от ширины окна. Подобрать оптимальную ширину окна.


Решение каждой задачи должно быть визуализировано, все рисунки необходимо кратко описать.

  1. С помощью логистической регрессии разделить два класса точек на плоскости. Результаты изобразить на графиках (см. пример Classification using logistic regression). Рассмотреть случаи линейно разделимой и неразделимой выборок.
  2. Изобразить на рисунке Парето-расслоение множества точек на плоскости. (Парето-расслоение - набор последовательно вычисляемых Парето оптимальных фронтов. Первый фронт вычисляется для полной выборки и удаляется из нее. Для оставшихся данных вычисляется следующий слой и т.д)
  3. Дана выборка "Вина различных регионов". Требуется определить кластеры (регионы происхождения вин) и нарисовать результат: цветной точкой обозначен объект кластера; цветным кружком обозначен класс этого объекта, взятый из выборки. Вариант задания: определить число кластеров. Вариант задания: использовать два алгоритма, например k-means и EM, и показать сравнение результатов кластеризации на графике.
  4. Сгладить временной ряд Цены (объемы) на основные биржевые инструменты методом экспоненциального сглаживания. Нарисовать цветные графики сглаженных с различным  \alpha рядов и исходного ряда.
  5. Аппроксимация выборки замкнутой кривой [1]: проверить, лежат ли точки на окружности? Сгенерировать данные самостоятельно. Построить графики для случая когда точки лежат на окружности и нет, на графиках изобразить выборку и аппроксимирующую окружность.
  6. Дан временной ряд с пропусками, например [2]. Предложить способы заполнения пропусков в данных, заполнить пропуски. Для каждого способа построить гистограмму. Вариант: взять выборку без пропусков, удалить случайным образом часть данных, заполнить пропуски, сравнить гистограмму восстановленной выборки с гистограммой исходной выборки.
  7. Дана выборка "Вина различных регионов". Выбрать два признака. Рассмотреть различные функции расстояния при классификации с помощью метода ближайшего соседа. Для каждой изобразить результат классификации в пространстве выбранных признаков.
  8. Для различных видов зависимости  y = f(x) + \epsilon (линейная, квадратичная, логарифмическая) построить линейную регрессию и нарисовать на графике SSE-отклонения (среднеквадратичные отклонения). Данные сгенерировать самостоятельно или взять данные "Цена на хлеб".
  9. Оценить площадь единичного круга методом Монте-Карло. Построить график зависимости результата от размера выборки.
  10. Дана выборка: ирисы Фишера. Реализовать процедуру классификации методом решающего дерева. Проиллюстрировать результаты классификации на плоскости в пространстве двух признаков.
  11. Задан временной ряд – объемы почасового потребления электроэнергии (выбрать любые два дня). Аппроксимировать ряд полиномиальными моделями различных степеней (1-7). *Предложить метод определения оптимальной степени полинома.
  12. Задано два одномерных временных ряда различной длины. Вычислить расстояние между рядами методом динамического выравнивания. На графике изобразить путь наименьшей стоимости.
  13. Сгенерировать набор точек на плоскости. Выделить и визуализировать главные компоненты.
  14. Аппроксимировать выборку цены на хлеб полиномиальной моделью. Нарисовать график. Выделить объекты, являющиеся выбросами, используя правило трех сигм, и отметить их на графике.
  15. Разделить выборку ирисы Фишера на кластеры. Проиллюстрировать на графиках результаты кластеризации для различного числа кластеров, выделить кластеры разными цветами.
  16. Дана выборка из нескольких признаков, без целевого вектора Y. Например, эта https://dmba.svn.sourceforge.net/svnroot/dmba/Data/Diabets_LARS.csv Требуется указать тот признак, который хорошо описывается (в терминах линейной регрессии) остальными (такой признак обычно исключают из выборки). Предложить способ визуализации решения (например, с помощью ковариационной матрицы).
  17. Сгенерировать выборку случайным образом и воссстановить ее плотность методом парзеновского окна. Взять несколько окон разной длины и изобразить результаты на одном рисунке. Рассмотреть различные способы порождения данных.
  18. Дан набор трехэлементных векторов. Первые два элемента нарисовать по осям абсцисс и ординат. Третий элемент отобразить как круг с пропорциональным радиусом. Пропорции подобрать исходя из чувства прекрасного. Сравнить полученный график с plot3. Что лучше?
  19. Построить методом наименьших модулей уравнение регрессии 2ой степени по результатом опытов, данные прилагаются (x1,x2,x3 - переменные факторы, N - отклик). Вариант: сравнить с методом наименьших квадратов, построив на одном рисунке 2 графика (по оси абсцисс - истинные отклики, по оси ординат - результаты моделирования с помощью МНМ и МНК)
  20. Разобраться как работает regexp в Матлабе. Сделать код, который выделяет все, что находится внутри скобок некоторого арифметического выражения. Визуализировать работу regexp.
  21. Дан временной ряд из m + 1 (случайных) точек. Приблизить m его первых точек полиномами степени от 1 до m. Вычислить среднюю ошибку в точках. Какая степень дает наибольшую ошибку?
  22. Аппроксимировать выборку цены на хлеб полиномиальными моделями различного порядка. Построить на одном рисунке два графика: качество аппроксимации на обучении и на контроле в зависимости от степени полинома.
  23. Предложить способы визуализации наборов четырехмерных векторов, например для Fisher's iris data.
  24. Дан временной ряд, описывающий потребление электричества. Приблизить ряд несколькими криволинейными моделями и нарисовать спрогнозированные и исходный ряды на одном графике.
  25. Дана выборка, в которой есть несколько выбросов. Известно, что она может быть описана одномерной линейной регрессией. Требуется переборным путем найти выбросы. Показать их на графике.
  26. Дана выборка из двух классов на плоскости. Требуется разделить ее линейно и найти все объекты, которые залезли в чужой класс. Показать их на графике.
  27. Решается задача заполнения пропусков в социологических анкетах наиболее адекватными значениями. Основная идея: для фиксированной анкеты найти заполнить ее пропущенные поля с использованием значений соответствующих полей k ближайших соседей. Задана выборка X --- матрица, в которой элемент x_{ij} принадлежит конечному множеству \mathbb{L}_j=\{1,...,k_j,\text{NaN}\} допустимых значений j-го поля анкеты; отметка \text{NaN} означает пропуск в поле. На множестве \mathbb{L}_j задано отношение предпочтения \preceq. Например, "начальное образование" \preceq «среднее образование» \preceq «высшее образование» --- отношение линейного порядка. Требуется ввести такую функцию расстояния или метрику \rho(x_i,x_k)\rightarrow \mathbb{R}\cup\text{NaN}, которая бы обеспечивала наиболее полное восстановление пропусков, и описать процедуру восстановления. Дополнительно: изменится ли ваше решение, в случае, когда каждая анкета имеет не менее одного пропуска. Вариант: каждое поле имеет не менее одного пропуска. Вариант: значительная часть элементов матрицы X пропущена.
Личные инструменты