Численные методы обучения по прецедентам (практика, В.В. Стрижов)

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 5: Строка 5:
{{TOCright}}
{{TOCright}}
-
'''Московский физико-технический институт, Факультет управления и прикладной математики'''
+
'''Введение'''
-
’’Численные методы обучения по прецедентам’’ — практические занятия, посвященные исследованию свойств алгоритмов машинного обучения. Семестровый курс содержит 36 часов практических занятий. Результатом практики являются отчеты о выполнении заданий.
+
’’Численные методы обучения по прецедентам’’ — практические занятия, посвященные исследованию свойств алгоритмов машинного обучения. Задачей третьекурсников является исследование свойств алгоритмов прогнозирования. В процессе работы студенты изучают методы и технику написания научных статей и проведения вычислительных экспериментов, а также сопутствующие этому процессу технологии — язык разметки научных текстов LaTeX, формат представления библиографической записи BibTeX, язык программирования высокого уровня m-code. Были использованы следующие инструменты: WinEdit/TeXnicCenter — набор текста, MikTex — компиляция статьи, JabRef — создание библиографический базы, SciLab/Octave/Matlab — проведение вычислительных экспериментов.
 +
 
 +
Работа включает следующие этапы: сбор и анализ литературы, математическая постановка задачи, описание метода решения задачи и исследование его свойств,
 +
проведение вычислительного эксперимента. Каждому студенту предлагается персональная тема, по которой он анализирует публикации отечественных и зарубежных исследователей за последние десять лет, ставит задачу и делает доклад для группы о полученных результатах. Далее выполняется математическое описание метода, делается промежуточный доклад о состоянии работ. Последним шагом работы становится вычислительный эксперимент, иллюстрирующий свойства метода и использующий синтетические или реальные данные. Каждая статья рецензируется одногруппниками автора, работы синхронизируются на сайте SourceForge.org, проект «MLAlgorithms».
Данный курс является первой частью цикла
Данный курс является первой частью цикла
Строка 14: Строка 17:
# [[Отчет о выполнении исследовательского проекта (практика, В.В. Стрижов)|Выполнение исследовательских проектов]]
# [[Отчет о выполнении исследовательского проекта (практика, В.В. Стрижов)|Выполнение исследовательских проектов]]
# [[Руководство исследовательскими проектами (практика, В.В. Стрижов)|Руководство исследовательскими проектами]]
# [[Руководство исследовательскими проектами (практика, В.В. Стрижов)|Руководство исследовательскими проектами]]
-
и подготовкой к основному теоретическому курсу
+
и подготовкой к основному теоретическому курсу
* [[Прикладной регрессионный анализ (курс лекций, B.В. Стрижов)]]
* [[Прикладной регрессионный анализ (курс лекций, B.В. Стрижов)]]
Строка 23: Строка 26:
* [[Временной ряд (библиотека примеров)]]
* [[Временной ряд (библиотека примеров)]]
-
См. также
+
См. также
-
*[[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2010|версию этого курса 2009-2010]],
+
* [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2010|версию этого курса 2009—2010]],
-
*[[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2013|версию этого курса 2010-2013]] (эта страница).
+
* [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2013|версию этого курса 2010—2013]].
== Задачи ==
== Задачи ==
Строка 56: Строка 59:
* См. [http://strijov.ru/uploads/ThePractice2010MIPT.pdf Работы групп 774, 674 за 2009 и 2010 годы в одном файле PDF, 18MB]
* См. [http://strijov.ru/uploads/ThePractice2010MIPT.pdf Работы групп 774, 674 за 2009 и 2010 годы в одном файле PDF, 18MB]
-
== Журнал [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Машинное обучение и анализ данных|"Машинное обучение и анализ данных"]] ==
+
== Журнал [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Машинное обучение и анализ данных|«Машинное обучение и анализ данных»]] ==
-
[http://jmlda.org/?page_id=35 Начиная с весны 2011 избранные работы по этому курсу публикуются в специальном журнале]. Цель журнала – развитие методов проведения вычислительных экспериментов в области машинного обучения и интеллектуального анализа данных.
+
[http://jmlda.org/?page_id=35 Начиная с весны 2011 избранные работы по этому курсу публикуются в специальном журнале]. Цель журнала — развитие методов проведения вычислительных экспериментов в области машинного обучения и интеллектуального анализа данных.
-
* [http://strijov.ru/uploads/ThePractice2010MIPT.pdf Пилотный выпуск, 2010]
+
* [http://strijov.ru/uploads/ThePractice2010MIPT.pdf Пилотный выпуск, 2010]
* [[Media:JMLDA2011no1.pdf|Номер 1, Май 2011]]
* [[Media:JMLDA2011no1.pdf|Номер 1, Май 2011]]
* [[Media:JMLDA2011no2.pdf|Номер 2, Декабрь 2011]]
* [[Media:JMLDA2011no2.pdf|Номер 2, Декабрь 2011]]
Строка 68: Строка 71:
# научная статья,
# научная статья,
# исходный код алгоритма,
# исходный код алгоритма,
-
# рецензия на работу,
+
# рецензия на работу,
# доклад.
# доклад.
Строка 88: Строка 91:
Результат: технический отчет.
Результат: технический отчет.
-
== Домашнее задание-1==
+
== Домашнее задание-1 ==
-
# Поставить систему компьютерной алгебры [[Matlab]] (класс есть на факультете) или реруцированный заменитель [http://www.gnu.org/software/octave/ Octave].
+
# Поставить систему компьютерной алгебры [[Matlab]] (класс есть на факультете) или реруцированный заменитель [http://www.gnu.org/software/octave/ Octave].
# Поставить систему верстки TeX [http://miktex.org MikTeX].
# Поставить систему верстки TeX [http://miktex.org MikTeX].
# Поставить текстовый редактор [http://www.texniccenter.org/ TeXnic Center], или его вариант [http://www.winedt.com/ WinEdt].
# Поставить текстовый редактор [http://www.texniccenter.org/ TeXnic Center], или его вариант [http://www.winedt.com/ WinEdt].
Строка 104: Строка 107:
== Домашнее задание-2 ==
== Домашнее задание-2 ==
# Прочитать статью про [http://ru.wikipedia.org/wiki/LaTeX LaTeX].
# Прочитать статью про [http://ru.wikipedia.org/wiki/LaTeX LaTeX].
-
# Прочитать основные главы ''Львовский С.М.'' [http://www.mccme.ru/free-books/llang/newllang.pdf Набор и верстка в системе LaTeX].
+
# Прочитать основные главы ''Львовский С. М.'' [http://www.mccme.ru/free-books/llang/newllang.pdf Набор и верстка в системе LaTeX].
# Настроить русский язык (Start->Programs->MikTeX 2.9->Maitenance->Setteings->Languages->Russian->General->Refresh/Update).
# Настроить русский язык (Start->Programs->MikTeX 2.9->Maitenance->Setteings->Languages->Russian->General->Refresh/Update).
# Загрузить [[Media:PaperExample2011.zip‎‎|шаблон статьи, ZIP]] и скомпилировать.
# Загрузить [[Media:PaperExample2011.zip‎‎|шаблон статьи, ZIP]] и скомпилировать.
# Прочитать про [http://en.wikipedia.org/wiki/Bibtex BibTeX].
# Прочитать про [http://en.wikipedia.org/wiki/Bibtex BibTeX].
-
* [http://liinwww.ira.uka.de/csbib?strijov%20nonlinear Пример библиографической базы]
+
* [http://liinwww.ira.uka.de/csbib?strijov%20nonlinear Пример библиографической базы]
* [http://liinwww.ira.uka.de/cgi-bin/bibshow?e=Njtd0ECMQ03121/fyqboefe%7d81352582&r=bibtex&mode=intra Пример библиографической записи]
* [http://liinwww.ira.uka.de/cgi-bin/bibshow?e=Njtd0ECMQ03121/fyqboefe%7d81352582&r=bibtex&mode=intra Пример библиографической записи]
* [http://en.wikipedia.org/wiki/List_of_academic_databases_and_search_engines Список баз и поисковых машин ]
* [http://en.wikipedia.org/wiki/List_of_academic_databases_and_search_engines Список баз и поисковых машин ]
Строка 123: Строка 126:
# Сохранить туда код и графики (если задача предполагает).
# Сохранить туда код и графики (если задача предполагает).
# Графики оформлять в соответствии с [[JMLDA/Fig|рекомендациями]] (достаточно файла PNG).
# Графики оформлять в соответствии с [[JMLDA/Fig|рекомендациями]] (достаточно файла PNG).
-
# Предлагается руководствоваться стилевыми рекомендациями (в частности, назвать первый файл main или demoTitle) -- [[Документирование функций Matlab|этими]] и [[Media: MatlabStyle1p5.pdf‎||этими]].
+
# Предлагается руководствоваться стилевыми рекомендациями (в частности, назвать первый файл main или demoTitle) — [[Документирование функций Matlab|этими]] и [[Media: MatlabStyle1p5.pdf‎||этими]].
-
# Срок выполнения работ - до следующей лекции.
+
# Срок выполнения работ — до следующей лекции.
== Домашнее задание-4 ==
== Домашнее задание-4 ==
# Выбрать задание, записать название, <s>автора и рецензента (с его согласия)</s> в таблицу ([[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Группа 074, весна 2013 | см. группа 074, весна 2013]]).
# Выбрать задание, записать название, <s>автора и рецензента (с его согласия)</s> в таблицу ([[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Группа 074, весна 2013 | см. группа 074, весна 2013]]).
-
# Найти базовую литературу, занести ее в BibTeX (вариант - в список). Посмотреть данные.
+
# Найти базовую литературу, занести ее в BibTeX (вариант — в список). Посмотреть данные.
# Написать аннотацию задания, поместить его в шаблон статьи (взять по ссылке тут).<s> под задачей, там где черновой список.</s> Обсуждаем аннотацию.
# Написать аннотацию задания, поместить его в шаблон статьи (взять по ссылке тут).<s> под задачей, там где черновой список.</s> Обсуждаем аннотацию.
# Подготовить вопросы предложения по задаче.
# Подготовить вопросы предложения по задаче.
=== Аннотация ===
=== Аннотация ===
-
Не более 600 символов. Строится по плану:
+
Не более 600 символов. Строится по плану:
* чему посвящена работа в целом,
* чему посвящена работа в целом,
-
* на чем сконцентрировано исследование,
+
* на чем сконцентрировано исследование,
* в чем особенности исследования,
* в чем особенности исследования,
* что новое предлагается,
* что новое предлагается,
Строка 141: Строка 144:
== Доклад-1 ==
== Доклад-1 ==
-
Доклад по исследованию литературы и результатам постановки задач на пять минут. Требуется:
+
Доклад по исследованию литературы и результатам постановки задач на пять минут. Требуется:
* Список литературы, посвященной решаемой задаче
* Список литературы, посвященной решаемой задаче
* Аннотация работы, исправленная
* Аннотация работы, исправленная
Строка 149: Строка 152:
-
=== Шаблон статьи для сайта ML ===
+
=== Шаблон статьи для сайта ML ===
<pre>'''Название проекта''' и его аннотация, не более 600 символов
<pre>'''Название проекта''' и его аннотация, не более 600 символов
== Постановка задачи ==
== Постановка задачи ==
Строка 175: Строка 178:
== План научной статьи ==
== План научной статьи ==
-
'''Пункт плана "Написание введения и постановочной части"'''
+
'''Пункт плана «Написание введения и постановочной части»'''
* Название
* Название
* Аннотация (пишется в последнюю очередь)
* Аннотация (пишется в последнюю очередь)
* Ключевые слова (используются те, которые дали хорошие результаты поиска)
* Ключевые слова (используются те, которые дали хорошие результаты поиска)
-
* Введение (около страницы); ниже — по абзацам, примерный план)
+
* Введение (около страницы); ниже — по абзацам, примерный план)
-
** Основное сообщение — чему посвящена работа (одна-две фразы)
+
** Основное сообщение — чему посвящена работа (одна-две фразы)
-
** Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
+
** Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
** Современное состояние области (два-четыре абзаца)
** Современное состояние области (два-четыре абзаца)
** Что предлагается (два абзаца)
** Что предлагается (два абзаца)
Строка 196: Строка 199:
* Другие разделы (если есть)
* Другие разделы (если есть)
* Решение: алгоритмическая часть (часто уходит в следующий раздел)
* Решение: алгоритмическая часть (часто уходит в следующий раздел)
-
* Вычислительный эксперимент
+
* Вычислительный эксперимент
** Описание задачи, кратко
** Описание задачи, кратко
** Описание данных, достаточное, чтобы воспроизвести эксперимент самостоятельно
** Описание данных, достаточное, чтобы воспроизвести эксперимент самостоятельно
Строка 204: Строка 207:
* Заключение (пишется в последнюю очередь)
* Заключение (пишется в последнюю очередь)
** Вставить ссылку на mlalgorithms/ваша_папка для того, чтобы другие исследователи могли проверить результаты или использовать их в дальнейшей работе.
** Вставить ссылку на mlalgorithms/ваша_папка для того, чтобы другие исследователи могли проверить результаты или использовать их в дальнейшей работе.
-
* Литература
+
* Литература
** Литература должна у вас уже быть по результатам доклада-1.
** Литература должна у вас уже быть по результатам доклада-1.
Строка 217: Строка 220:
== Создание алгоритма ==
== Создание алгоритма ==
-
Основные приемы программирования - на лекции.
+
Основные приемы программирования — на лекции.
-
=== Папки проекта ===
+
=== Папки проекта ===
В репозитории MLAlgorithms должны лежать следующие файлы и папки:
В репозитории MLAlgorithms должны лежать следующие файлы и папки:
-
* папка — название проекта,
+
* папка — название проекта,
* (необязательно) в ее корне файл plan_Ivan_Ivanov.tex с текущими замечаниями и договоренностями,
* (необязательно) в ее корне файл plan_Ivan_Ivanov.tex с текущими замечаниями и договоренностями,
* папка '''code''' с кодом проекта,
* папка '''code''' с кодом проекта,
Строка 229: Строка 232:
* (необязательно) папка '''report''' c промежуточными рисунками (рисунки и черновики отчетов вместе с кодом хранить нежелательно).
* (необязательно) папка '''report''' c промежуточными рисунками (рисунки и черновики отчетов вместе с кодом хранить нежелательно).
-
=== Работа с репозиторием ===
+
=== Работа с репозиторием ===
* Адрес репозитория [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms].
* Адрес репозитория [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms].
* Совет: не загружайте в репозиторий вспомогательный файлы '''Thumbs.db''', '''.asv''' они будут мешать.
* Совет: не загружайте в репозиторий вспомогательный файлы '''Thumbs.db''', '''.asv''' они будут мешать.
Строка 238: Строка 241:
# Порождение модельных данных или загрузка реальных данных
# Порождение модельных данных или загрузка реальных данных
# Предобработка данных (если требуется)
# Предобработка данных (если требуется)
-
# Визуализация данных (если требуется)
+
# Визуализация данных (если требуется)
# Выполнение алгоритма, получение результатов
# Выполнение алгоритма, получение результатов
# Визуализация результатов
# Визуализация результатов
Строка 245: Строка 248:
=== Рецензирование работы ===
=== Рецензирование работы ===
-
После написания текста статьи, кода алгоритмов и кода вычислительного эксперимента, студент должен написать рецензенту письмо о готовности к получению рецензии. После этого:
+
После написания текста статьи, кода алгоритмов и кода вычислительного эксперимента, студент должен написать рецензенту письмо о готовности к получению рецензии. После этого:
-
====Рецензент====
+
 
-
* В статье на ML ставит пометки \footnote<nowiki>{Замечание к статье}</nowiki>.
+
==== Рецензент ====
 +
* В статье на ML ставит пометки \footnote<nowiki>{Замечание к статье}</nowiki>.
* В m-файлах ставит пометки <nowiki>% FIXIT Замечание к коду</nowiki>.
* В m-файлах ставит пометки <nowiki>% FIXIT Замечание к коду</nowiki>.
Рецензенту желательно сохранить список найденных ошибок, чтобы показать качество своей работы на экзамене.
Рецензенту желательно сохранить список найденных ошибок, чтобы показать качество своей работы на экзамене.
-
====Исполнитель====
+
==== Исполнитель ====
-
* В статье на ML вносит требуемые исправления и снимает пометки \footnote{Замечание к статье}.
+
* В статье на ML вносит требуемые исправления и снимает пометки \footnote{Замечание к статье}.
* В m-файлах вносит требуемые исправления и исправляет пометки<nowiki> % FIXIT на %FIXED</nowiki>.
* В m-файлах вносит требуемые исправления и исправляет пометки<nowiki> % FIXIT на %FIXED</nowiki>.
{{tip|Рецензент отвечает за качество работы, но должен быть благожелателен к исполнителю. Критерий качества работы: рецензент с удовольствием готов использовать рецензируемую работу для решения своих задач.}}
{{tip|Рецензент отвечает за качество работы, но должен быть благожелателен к исполнителю. Критерий качества работы: рецензент с удовольствием готов использовать рецензируемую работу для решения своих задач.}}
Строка 271: Строка 275:
== Политика ==
== Политика ==
-
# Списывание (то есть цитирование) приветствуется; использование чужого кода приветствуется вдвойне. При этом следует корректно указывать оригинального автора. Цитаты следует заключать в кавычки, например: ''<<Мера~--- превыше всего>>~\cite{Gasparov2004Greece}''.
+
# Списывание (то есть цитирование) приветствуется; использование чужого кода приветствуется вдвойне. При этом следует корректно указывать оригинального автора. Цитаты следует заключать в кавычки, например: ''«Мера~--- превыше всего»~\cite{Gasparov2004Greece}''.
-
# Изобретать велосипед грешно; усовершенствовать почетно.
+
# Изобретать велосипед грешно; усовершенствовать почетно.
# Результат важнее процесса.
# Результат важнее процесса.
-
====NB лекционные заметки о карьере ====
+
==== NB лекционные заметки о карьере ====
Карьера:
Карьера:
Строка 285: Строка 289:
== Подготовка к зачету ==
== Подготовка к зачету ==
-
Экзамен будет проходить в виде доклада. Продолжительность '''5-10 минут''' и три дополнительные минуты на вопросы.
+
Экзамен будет проходить в виде доклада. Продолжительность '''5-10 минут''' и три дополнительные минуты на вопросы.
-
Цель - показать, что результаты работы понятны специалисту, и могут быть им использованы в дальнейшем.
+
Цель — показать, что результаты работы понятны специалисту, и могут быть им использованы в дальнейшем.
Под специалистами понимаются ваши одногруппники и преподаватели кафедры.
Под специалистами понимаются ваши одногруппники и преподаватели кафедры.
Во время презентации требуется:
Во время презентации требуется:
-
* Поставить задачу
+
* Поставить задачу
* Осветить основные принципы работы алгоритма (кратко, без деталей)
* Осветить основные принципы работы алгоритма (кратко, без деталей)
* Описать интерфейсы модулей алгоритма
* Описать интерфейсы модулей алгоритма
Строка 297: Строка 301:
На презентации нужны:
На презентации нужны:
-
* Отчет
+
* Отчет
* Код на sourceforge.net
* Код на sourceforge.net
-
Советы:
+
Советы:
# Подготовьте доклад с секундомером в руках
# Подготовьте доклад с секундомером в руках
# Расскажите его другу, ответьте на его вопросы
# Расскажите его другу, ответьте на его вопросы
Строка 315: Строка 319:
== Полезные материалы ==
== Полезные материалы ==
* [[Media:PracticeStrijovTemplate1.rtf| Заготовка для статьи на machinelearning.ru]]
* [[Media:PracticeStrijovTemplate1.rtf| Заготовка для статьи на machinelearning.ru]]
-
*[[Логистическая регрессия (пример)|Образец статьи о выполненном практическом задании]]
+
* [[Логистическая регрессия (пример)|Образец статьи о выполненном практическом задании]]
-
*[[machinelearning:Инструктаж| Как написать статью на сайт machinelearning.ru]]
+
* [[machinelearning:Инструктаж| Как написать статью на сайт machinelearning.ru]]
-
*[[SourceForge|Как работать с репозиторием алгоритмов]]
+
* [[SourceForge|Как работать с репозиторием алгоритмов]]
-
*[[Matlab|Введение в Матлаб]]
+
* [[Matlab|Введение в Матлаб]]
-
*[[Документирование функций Matlab|Документирование функций Matlab, соглашение об именах переменных и создание отчетов о вычислительных экспериментах]]
+
* [[Документирование функций Matlab|Документирование функций Matlab, соглашение об именах переменных и создание отчетов о вычислительных экспериментах]]
-
*[[Media: MatlabStyle1p5.pdf‎|Matlab Programming Style Guidelines]]
+
* [[Media: MatlabStyle1p5.pdf‎|Matlab Programming Style Guidelines]]
-
*[[Media: P_50-IDEF0.pdf‎| Описание архитектуры системы, стандарт IDEF0]]
+
* [[Media: P_50-IDEF0.pdf‎| Описание архитектуры системы, стандарт IDEF0]]
-
*[https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/ Содержимое корневой папки репозитория MLAlgorithms SourceForge]
+
* [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/ Содержимое корневой папки репозитория MLAlgorithms SourceForge]
-
*[http://strijov.com/sources/demoDataGen.php Пример отчета с загрузкой модельных данных, который разбирался на лекции]
+
* [http://strijov.com/sources/demoDataGen.php Пример отчета с загрузкой модельных данных, который разбирался на лекции]
-
*[http://archive.ics.uci.edu/ml/ UCI Machine Learning Repository]
+
* [http://archive.ics.uci.edu/ml/ UCI Machine Learning Repository]
-
*[http://gsnti-norms.ru/norms/common/doc.asp?0&/norms/stands/7_80.htm Стандарт библиографического описания], см. Приложение А
+
* [http://gsnti-norms.ru/norms/common/doc.asp?0&/norms/stands/7_80.htm Стандарт библиографического описания], см. Приложение А
-
*[[Индекс цитирования (инструменты)]]
+
* [[Индекс цитирования (инструменты)]]
-
*[[CRISP-DM|CRoss Industry Standard Process for Data Mining]]
+
* [[CRISP-DM|CRoss Industry Standard Process for Data Mining]]
-
*[http://www.ml-class.org/course/video/preview_list Машинное обучение и Octave (Stanford Uni.)]
+
* [http://www.ml-class.org/course/video/preview_list Машинное обучение и Octave (Stanford Uni.)]
== Заметки ==
== Заметки ==
Строка 336: Строка 340:
4 лекция: проверка и обсуждение написанного кода (все работы)
4 лекция: проверка и обсуждение написанного кода (все работы)
5 или 6 лекция: постановка задач.
5 или 6 лекция: постановка задач.
-
Резюме. Сократить материал не получается даже для ровной группы, курс стабилизировался.
+
Резюме. Сократить материал не получается даже для ровной группы, курс стабилизировался.
== История развития курса ==
== История развития курса ==
Ранние версии:
Ранние версии:
-
*[[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2010|версия этой страницы 2009-2010]],
+
* [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2010|версия этой страницы 2009—2010]],
-
*[[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2013|версия этой страницы 2010-2013]].
+
* [[Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Версия 2013|версия этой страницы 2010—2013]].
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]

Версия 11:03, 10 февраля 2014

Идут ремонтные работы! Действующая страница по этой ссылке: версия этой страницы 2010-2013. Окончание работ 20 февраля.



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


Содержание

Введение

’’Численные методы обучения по прецедентам’’ — практические занятия, посвященные исследованию свойств алгоритмов машинного обучения. Задачей третьекурсников является исследование свойств алгоритмов прогнозирования. В процессе работы студенты изучают методы и технику написания научных статей и проведения вычислительных экспериментов, а также сопутствующие этому процессу технологии — язык разметки научных текстов LaTeX, формат представления библиографической записи BibTeX, язык программирования высокого уровня m-code. Были использованы следующие инструменты: WinEdit/TeXnicCenter — набор текста, MikTex — компиляция статьи, JabRef — создание библиографический базы, SciLab/Octave/Matlab — проведение вычислительных экспериментов.

Работа включает следующие этапы: сбор и анализ литературы, математическая постановка задачи, описание метода решения задачи и исследование его свойств, проведение вычислительного эксперимента. Каждому студенту предлагается персональная тема, по которой он анализирует публикации отечественных и зарубежных исследователей за последние десять лет, ставит задачу и делает доклад для группы о полученных результатах. Далее выполняется математическое описание метода, делается промежуточный доклад о состоянии работ. Последним шагом работы становится вычислительный эксперимент, иллюстрирующий свойства метода и использующий синтетические или реальные данные. Каждая статья рецензируется одногруппниками автора, работы синхронизируются на сайте SourceForge.org, проект «MLAlgorithms».

Данный курс является первой частью цикла

  1. Численные методы обучения по прецедентам
  2. Автоматизация и стандартизация научных исследований
  3. Выполнение исследовательских проектов
  4. Руководство исследовательскими проектами

и подготовкой к основному теоретическому курсу

Элементы цикла и полезные страницы

См. также

Задачи

Журнал «Машинное обучение и анализ данных»

Начиная с весны 2011 избранные работы по этому курсу публикуются в специальном журнале. Цель журнала — развитие методов проведения вычислительных экспериментов в области машинного обучения и интеллектуального анализа данных.

Содержание отчета

Отчет состоит из следующих материалов:

  1. научная статья,
  2. исходный код алгоритма,
  3. рецензия на работу,
  4. доклад.

План работы

  1. Домашнее задание-1
  2. Домашнее задание-2
  3. Изучение литературы
  4. Постановка задачи
  5. Доклад-1 (о том, что будет сделано) включает список литературы
  6. Написание введения и постановочной части
  7. Создание алгоритма
  8. Вычислительные эксперименты на тестовых данных
  9. Исследование свойств алгорита
  10. Тестирование алгоритма на реальных данных
  11. Проверка работы рецензентом
  12. Контрольная точка (с возможными доработками)
  13. Доклад-2 (экзамен)

Результат: технический отчет.

Домашнее задание-1

  1. Поставить систему компьютерной алгебры Matlab (класс есть на факультете) или реруцированный заменитель Octave.
  2. Поставить систему верстки TeX MikTeX.
  3. Поставить текстовый редактор TeXnic Center, или его вариант WinEdt.
  4. Поставить библиографическую систему JabRef.
  5. Зарегистрироваться сайте-репозитории открытого кода SourceForge.net, послать логин координатору (по умолчанию это староста группы). Вводные слайды: (см. слайды по CVS).
  6. Скачать программу-оболочку для обмена кодом TortoiseSVN.
  7. Прочитать статью про SourceForge, загрузить MLAlgorithms.

Посмотреть все, что поставили, понять, как этим пользоваться на уровне интерфейсов.

[Пока недоступно] Зарегистрироваться на сайте MachineLearning.ru.

Домашнее задание-2

  1. Прочитать статью про LaTeX.
  2. Прочитать основные главы Львовский С. М. Набор и верстка в системе LaTeX.
  3. Настроить русский язык (Start->Programs->MikTeX 2.9->Maitenance->Setteings->Languages->Russian->General->Refresh/Update).
  4. Загрузить шаблон статьи, ZIP и скомпилировать.
  5. Прочитать про BibTeX.

Домашнее задание-2 (вторая часть)

  1. Прочитать статью Введение в Матлаб.
  2. Прочитать Документирование функций Matlab, соглашение об именах переменных и создание отчетов о вычислительных экспериментах.
  3. Прочитать Matlab Programming Style Guidelines.
  4. Оформить свой график согласно рекомендациям журнала.

Домашнее задание-3 (пробное программирование)

  1. Выбрать одну из задач, написать свою фамилию напротив задачи.
  2. В папке MLAlgorithms/Example2013Code cоздать папку Surmame2013Title.
  3. Сохранить туда код и графики (если задача предполагает).
  4. Графики оформлять в соответствии с рекомендациями (достаточно файла PNG).
  5. Предлагается руководствоваться стилевыми рекомендациями (в частности, назвать первый файл main или demoTitle) — этими и |этими.
  6. Срок выполнения работ — до следующей лекции.

Домашнее задание-4

  1. Выбрать задание, записать название, автора и рецензента (с его согласия) в таблицу ( см. группа 074, весна 2013).
  2. Найти базовую литературу, занести ее в BibTeX (вариант — в список). Посмотреть данные.
  3. Написать аннотацию задания, поместить его в шаблон статьи (взять по ссылке тут). под задачей, там где черновой список. Обсуждаем аннотацию.
  4. Подготовить вопросы предложения по задаче.

Аннотация

Не более 600 символов. Строится по плану:

  • чему посвящена работа в целом,
  • на чем сконцентрировано исследование,
  • в чем особенности исследования,
  • что новое предлагается,
  • какими примерами проиллюстрирована?

Доклад-1

Доклад по исследованию литературы и результатам постановки задач на пять минут. Требуется:

  • Список литературы, посвященной решаемой задаче
  • Аннотация работы, исправленная
  • Введение, примерно страница со ссылками на литературу
  • Желателен черновик постановки задачи и пути решения задачи


Шаблон статьи для сайта ML

'''Название проекта''' и его аннотация, не более 600 символов
== Постановка задачи ==

== Описание алгоритма ==
И другие разделы

== Смотри также == 
* Полный текст этой работы [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/electricity%20forcasting/doc/Dzhamtyrova10forecasting.pdf PDF]
* Ссылка на код [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/electricity%20forcasting/doc/Dzhamtyrova10forecasting.pdf PDF]

== Литература ==
{{Задание|Иван Иванов|В.В.Стрижов|24 декабря 2010|Ivanov|Strijov}}
[[Категория:Практика и вычислительные эксперименты]]


Поиск литературы

  • Как, где и что искать? (на лекции)
  • Ключевые слова для поиска

Написание отчета

  • Техника, основные ошибки, типографика и русский язык (на лекции)

План научной статьи

Пункт плана «Написание введения и постановочной части»

  • Название
  • Аннотация (пишется в последнюю очередь)
  • Ключевые слова (используются те, которые дали хорошие результаты поиска)
  • Введение (около страницы); ниже — по абзацам, примерный план)
    • Основное сообщение — чему посвящена работа (одна-две фразы)
    • Обзор литературы — развитие предлагаемой идеи (не более двух абзацев)
    • Современное состояние области (два-четыре абзаца)
    • Что предлагается (два абзаца)
  • Постановка задачи (примерно страница)
    • Дано (как устроена выборка)
    • Предполагается, что (статистические гипотезы, гипотезы порождения данных)
    • Ограничения и другие предположения о характере данных
    • Функционал или критерий качества искомой модели, решения (часто вытекает из гипотезы порождения данных)
    • Дополнительные требования (разбиения выборки, скользящий контроль, требования к мультиколлинеарности и подобное)
  • Решение: математическая часть (тут название первого раздела)
    • Описание алгоритма
    • Исследуемые свойства алгоритма
  • Другие разделы (если есть)
  • Решение: алгоритмическая часть (часто уходит в следующий раздел)
  • Вычислительный эксперимент
    • Описание задачи, кратко
    • Описание данных, достаточное, чтобы воспроизвести эксперимент самостоятельно
    • Описание алгоритма или ход эксперимента
    • Описание полученных результатов
    • Выводы, сравнение результатов, полученных альтернативным путем
  • Заключение (пишется в последнюю очередь)
    • Вставить ссылку на mlalgorithms/ваша_папка для того, чтобы другие исследователи могли проверить результаты или использовать их в дальнейшей работе.
  • Литература
    • Литература должна у вас уже быть по результатам доклада-1.

Технический отчет: еще раз, сжато

  • Аннотация: изложение краткого содержания и основных результатов (не более 600 знаков).
  • Введение: раскрытие темы статьи, общая постановка задачи, обзор литературы, описание подхода к решению задачи.
  • Постановка задачи: полная формальная постановка, введение обозначений, принятие необходимых гипотез, задание функционалов качества.
  • Описание алгоритма (возможно несколько разделов): математическое описание предлагаемого алгоритма, исследование его свойств, доказательство необходимых теорем.
  • Вычислительный эксперимент: описание исходных и производных данных, описание технической части алгоритма (если необходимо), описание результатов, сравнение их с результатами других алгоритмов; крайне желательны иллюстрации.
  • Заключение: сжатое изложение результатов (1/4 страницы).
  • Список литературы: желательно найти опорные статьи за последние 10 лет, максимально покрывающие тематику.

Создание алгоритма

Основные приемы программирования — на лекции.

Папки проекта

В репозитории MLAlgorithms должны лежать следующие файлы и папки:

  • папка — название проекта,
  • (необязательно) в ее корне файл plan_Ivan_Ivanov.tex с текущими замечаниями и договоренностями,
  • папка code с кодом проекта,
    • в этой папке выделить файл, который нужно запустить, чтобы посмотреть отчет, например demoProjectName.mat,
  • папка data с данными по проекту (исходными и производными в .mat),
  • папка doc с документацией и со статьей (обязательно хранить там .pdf, .tex, финальные версии рисунков .eps/.pdf; удалять все временные файлы),
  • (необязательно) папка report c промежуточными рисунками (рисунки и черновики отчетов вместе с кодом хранить нежелательно).

Работа с репозиторием

Вычислительный эксперимент

Вычислительный эксперимент состоит следующих шагов:

  1. Порождение модельных данных или загрузка реальных данных
  2. Предобработка данных (если требуется)
  3. Визуализация данных (если требуется)
  4. Выполнение алгоритма, получение результатов
  5. Визуализация результатов
  6. Исследование свойств алгоритма
  7. Выводы

Рецензирование работы

После написания текста статьи, кода алгоритмов и кода вычислительного эксперимента, студент должен написать рецензенту письмо о готовности к получению рецензии. После этого:

Рецензент

  • В статье на ML ставит пометки \footnote{Замечание к статье}.
  • В m-файлах ставит пометки % FIXIT Замечание к коду.

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

Исполнитель

  • В статье на ML вносит требуемые исправления и снимает пометки \footnote{Замечание к статье}.
  • В m-файлах вносит требуемые исправления и исправляет пометки % FIXIT на %FIXED.
Рецензент отвечает за качество работы, но должен быть благожелателен к исполнителю. Критерий качества работы: рецензент с удовольствием готов использовать рецензируемую работу для решения своих задач.


Соглашение о комментировании

Приняты следующие комментарии, добавляемые в код при его проверке:

% FIXIT - желательно изменить код (улучшить структуру кода или устранить ошибку), 
% FIXED - устраненные ошибки или улучшенный код, 
% NOTE - комментарий для обмена мнениями,
% TODO - желательно выполнить работу.

Рецензирование статьей

Примеры рецензий, который обсуждались на лекции, находятся здесь.


Политика

  1. Списывание (то есть цитирование) приветствуется; использование чужого кода приветствуется вдвойне. При этом следует корректно указывать оригинального автора. Цитаты следует заключать в кавычки, например: «Мера~--- превыше всего»~\cite{Gasparov2004Greece}.
  2. Изобретать велосипед грешно; усовершенствовать почетно.
  3. Результат важнее процесса.

NB лекционные заметки о карьере

Карьера:

  1. Академическая (исследования и преподавание)
  2. Промышленная (исследования и разработки)
  3. Финансовая (анализ и разработки)
  4. Управление (анализ и принятие решений)

Подготовка к зачету

Экзамен будет проходить в виде доклада. Продолжительность 5-10 минут и три дополнительные минуты на вопросы. Цель — показать, что результаты работы понятны специалисту, и могут быть им использованы в дальнейшем. Под специалистами понимаются ваши одногруппники и преподаватели кафедры.

Во время презентации требуется:

  • Поставить задачу
  • Осветить основные принципы работы алгоритма (кратко, без деталей)
  • Описать интерфейсы модулей алгоритма
  • Показать работу алгоритма на примерах
  • Проанализировать свойства алгоритма

На презентации нужны:

  • Отчет
  • Код на sourceforge.net

Советы:

  1. Подготовьте доклад с секундомером в руках
  2. Расскажите его другу, ответьте на его вопросы

На экзамене оценивается:

  1. Корректность математической постановки задачи
  2. Полнота описания алгоритма
  3. Продуманность интерфейсов
  4. Соответствие стандартам программирования
  5. Ясность изложения результатов
  6. Глубина анализа свойств алгоритма
  7. Качество рецензирования (чужой работы)

Полезные материалы

Заметки

1 лекция: вводная, плюс показ инструментов. 2 лекция: введение в Матлаб (общий рассказ о роли Матлаба в программировании) / проверить как поставился софт. 3 лекция: структура научной статьи, плюс легкие задачи на программирование / проверить ДЗ2 + конструкции Матлаб и ТеХ. 4 лекция: проверка и обсуждение написанного кода (все работы) 5 или 6 лекция: постановка задач. Резюме. Сократить материал не получается даже для ровной группы, курс стабилизировался.

История развития курса

Ранние версии:

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