Обсуждение:Matlab

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

(Различия между версиями)
Перейти к: навигация, поиск
(О классах)
Текущая версия (14:01, 21 февраля 2012) (править) (отменить)
 
Строка 1: Строка 1:
-
В статье сказано, что в версии 2008a появилась поддержка работы с классами.
+
__NOTOC__
-
Вообще классы появились уже в версии 200'''7'''b. Возможно, в 2008-й функциональность была расширена. Не знаю, в Release Notes не нашел.
+
Время решения задачи – примерно одна пара. После решения задачу нужно залить под именем problemXX.m в папку Code2012Examples. Оформление кода и комментарии к нему согласно принятому соглашению. На следующей лекции код представляет рецензент.
-
[[Участник:Nikita Pustovoytov|flashnik]] 00:46, 13 февраля 2009 (MSK)
+
=== Задача 01 ===
-
 
+
Дан набор элементарных функций от одного аргумента x. Построить суперпозиции всех функций декартова произведения набора. Вычислить из значения при заданном x, например, x=1. Дополнительно: построить суперпозиции, соответствующие элементам n-кратного декартова произведения набора.
-
== О классах ==
+
* Для справки: meshgrid, eval и a = @(x)sin(x); b = @(x)asin(x); c=@(x)b(a(x));
-
Спасибо за внимание к теме. Под возможностью работать с классами имеется в виду вот что. Классы были даже в R14, но работать с ними было очень непросто (''см. help к этой версии'' или [http://students.washington.edu/lum/website_professional/matlab/tutorials/Class_Tutorial/class_tutorial.pdf руководство]).
+
=== Задача 02 ===
-
* В 2007 класс создается в теле function, с помощью конструктора class (''см. Programming > Classes and Objects'').
+
Найти оптимальный, доставляющий минимум функции ошибки ||Xw-y||_2, набоp из n признаков в задаче восстановления линейной регрессии по данным https://dmba.svn.sourceforge.net/svnroot/dmba/Data/Diabets_LARS.csv
-
* В 2008 класс создается в отдельном модуле и объявляется через classdef (''см. doc classdef к этой версии''). Это не расширение функциональности, а принципиально иной механизм. Класс имеет properties, methods, events. Есть классы 2-х типов: первый тип является generic, второй наследуется от класса handle. Больше нет ничего. Handle обеспечивает listener для событий, инкапсуляцию и несколько методов. Я считаю, что классы можно использовать для работы с GUI, но нежелательно использовать для построения систем или для проведения вычислительных экспериментов. Документация по классам не полна, пример использования классов [http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_oop/brhzttf.html&http://www.google.com/search?q=matlab+bankaccount+class&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a см. здесь]. Заметим, что класс наследуется от handle.
+
* Для справки: http://strijov.com/sources/demo_cntfeatures.php#2, http://strijov.com/sources/demo_least_squares_fit.php
-
 
+
=== Задача 03 ===
-
Если кто-то использовал классы 2008 в работе, буду рад услышать комментарии на этой странице. [[Участник:strijov|В.В. Стрижов]] 11:28, 13 февраля 2009 (MSK)
+
Задана функция от двух аргументов текстовом виде. Требуется ее нарисовать различными способами (составить коллекцию функций).
 +
* Для справки: inline, meshgrid, mesh, trisurf, и прочее.
 +
=== Задача 04 ===
 +
Заданы два вектора разной длины, возможно, имеющие одинаковые подпоследовательности элементов. Требуется найти эти подпоследовательности.
 +
* Для справки: intersect, ismember, issorted, setdiff, setxor, union, unique
 +
=== Задача 05 ===
 +
Дана плоская фигура, заданная набором отрезков (домик, например). Требуется ее повернуть вокруг осей и увеличить.
 +
* Для справки: матрица вращения.
 +
=== Задача 06 ===
 +
Дан текст в формате TeX. Например «Это формула $sin^2(x)+cos^2(x)=1$.» Требуется представить ее в формате Wiki, например, «Это формула<nowiki><te)+cos^2(x)=1</tex></nowiki>.» И наоборот – из Wiki в TeX.
 +
* Для справки: regexp, регулярные выражения
 +
=== Задача 07 ===
 +
Даны три вектора одинаковой длины. Первый содержит координаты по оси абсцисс, второй – ординат, а третий – аппликат. Но так как по условию график плоский, то предлагается нарисовать третий вектор в виде кругов соответствующего радиуса. Максимальный радиус не должен быть больше 1/10 части графика.
 +
=== Задача 08 ===
 +
Дан временной ряд из m+1 точек. Приблизить m его первых точек полиномами степени от 1 до m. Вычислить ошибку на последней точке. Какая степень дает наибольшую ошибку?
 +
=== Задача 09 ===
 +
Дан временной ряд. По его вариационному ряду построить гистограмму из n перцентилей, нарисовать ее. Какое значение временного ряда встречается чаще всего?
 +
=== Задача 10 ===
 +
Дана выборка из нескольких признаков, без целевого вектора Y. Например, эта https://dmba.svn.sourceforge.net/svnroot/dmba/Data/Diabets_LARS.csv
 +
Требуется указать тот признак, который хорошо описывается (в терминах линейной регрессии) остальными (такой признак обычно исключают из выборки).
 +
=== Задача 11 ===
 +
Написать функцию, которая считает число узлов дерева по заданной матрице инцидентности.
 +
=== Задача 12 ===
 +
Дана выборка, в которой есть несколько выбросов. Известно, что она может быть описана одномерной линейной регрессией. Требуется переборным путем найти выбросы.
 +
=== Задача 13 ===
 +
Дана выборка https://dmba.svn.sourceforge.net/svnroot/dmba/Data/HungarianCashLoan.xls
 +
Требуется понять, какую валюту (поле currency_co) – 1,2 или 3 берут самые надежные заемщики (поле default).
 +
* Для справки: glmfit, см. пример внизу.
 +
=== Задача 14 ===
 +
Классифицировать цветы ириса произвольным алгоритмом (можно тем, что успел рассказать К.В.Воронцов) https://dmba.svn.sourceforge.net/svnroot/dmba/Data/IrisClassification.txt, нарисовать на плоскости «самую наглядную» пару или все пары признаков, указать, что классифицировалось правильно, а что – нет (звездочка и кружок синий и красный, например).
 +
=== Задача 15 ===
 +
Дан временной ряд. Разметить его отрезками «возрастание» / «убывание». Критерий начала нового отрезка – новый регрессионный остаток превышает три дисперсии остатков текущего отрезка.

Текущая версия

Время решения задачи – примерно одна пара. После решения задачу нужно залить под именем problemXX.m в папку Code2012Examples. Оформление кода и комментарии к нему согласно принятому соглашению. На следующей лекции код представляет рецензент.

Задача 01

Дан набор элементарных функций от одного аргумента x. Построить суперпозиции всех функций декартова произведения набора. Вычислить из значения при заданном x, например, x=1. Дополнительно: построить суперпозиции, соответствующие элементам n-кратного декартова произведения набора.

  • Для справки: meshgrid, eval и a = @(x)sin(x); b = @(x)asin(x); c=@(x)b(a(x));

Задача 02

Найти оптимальный, доставляющий минимум функции ошибки ||Xw-y||_2, набоp из n признаков в задаче восстановления линейной регрессии по данным https://dmba.svn.sourceforge.net/svnroot/dmba/Data/Diabets_LARS.csv

Задача 03

Задана функция от двух аргументов текстовом виде. Требуется ее нарисовать различными способами (составить коллекцию функций).

  • Для справки: inline, meshgrid, mesh, trisurf, и прочее.

Задача 04

Заданы два вектора разной длины, возможно, имеющие одинаковые подпоследовательности элементов. Требуется найти эти подпоследовательности.

  • Для справки: intersect, ismember, issorted, setdiff, setxor, union, unique

Задача 05

Дана плоская фигура, заданная набором отрезков (домик, например). Требуется ее повернуть вокруг осей и увеличить.

  • Для справки: матрица вращения.

Задача 06

Дан текст в формате TeX. Например «Это формула $sin^2(x)+cos^2(x)=1$.» Требуется представить ее в формате Wiki, например, «Это формула<te)+cos^2(x)=1</tex>.» И наоборот – из Wiki в TeX.

  • Для справки: regexp, регулярные выражения

Задача 07

Даны три вектора одинаковой длины. Первый содержит координаты по оси абсцисс, второй – ординат, а третий – аппликат. Но так как по условию график плоский, то предлагается нарисовать третий вектор в виде кругов соответствующего радиуса. Максимальный радиус не должен быть больше 1/10 части графика.

Задача 08

Дан временной ряд из m+1 точек. Приблизить m его первых точек полиномами степени от 1 до m. Вычислить ошибку на последней точке. Какая степень дает наибольшую ошибку?

Задача 09

Дан временной ряд. По его вариационному ряду построить гистограмму из n перцентилей, нарисовать ее. Какое значение временного ряда встречается чаще всего?

Задача 10

Дана выборка из нескольких признаков, без целевого вектора Y. Например, эта https://dmba.svn.sourceforge.net/svnroot/dmba/Data/Diabets_LARS.csv Требуется указать тот признак, который хорошо описывается (в терминах линейной регрессии) остальными (такой признак обычно исключают из выборки).

Задача 11

Написать функцию, которая считает число узлов дерева по заданной матрице инцидентности.

Задача 12

Дана выборка, в которой есть несколько выбросов. Известно, что она может быть описана одномерной линейной регрессией. Требуется переборным путем найти выбросы.

Задача 13

Дана выборка https://dmba.svn.sourceforge.net/svnroot/dmba/Data/HungarianCashLoan.xls Требуется понять, какую валюту (поле currency_co) – 1,2 или 3 берут самые надежные заемщики (поле default).

  • Для справки: glmfit, см. пример внизу.

Задача 14

Классифицировать цветы ириса произвольным алгоритмом (можно тем, что успел рассказать К.В.Воронцов) https://dmba.svn.sourceforge.net/svnroot/dmba/Data/IrisClassification.txt, нарисовать на плоскости «самую наглядную» пару или все пары признаков, указать, что классифицировалось правильно, а что – нет (звездочка и кружок синий и красный, например).

Задача 15

Дан временной ряд. Разметить его отрезками «возрастание» / «убывание». Критерий начала нового отрезка – новый регрессионный остаток превышает три дисперсии остатков текущего отрезка.

Личные инструменты