Преподавание машинного обучения

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 33: Строка 33:
Стандарт оставляет большую свободу творчества преподавателю.
Стандарт оставляет большую свободу творчества преподавателю.
-
Формально оставшись в рамках стандарта, можно сделать и полную профанацию, и удачный курс для инженеров, показывающий нетривиальные примеры реальных задач, процесс их решения, владение стандартным инструментарием.
+
Формально оставаясь в рамках стандарта, можно сделать и полную профанацию, и удачный курс для инженеров,
-
Заодно можно зацепить и кучу действительно глубоких вопросов, используя реальные задачи в качестве мотивации.
+
показывающий нетривиальные примеры реальных задач и процесс их решения с помощью доступного инструментария.
-
Однако для преподавателя это на порядок сложнее.
+
Заодно можно зацепить действительно глубокие проблемы,
 +
с одной стороны возникающие из нужд практики,
 +
с другой требующие хорошей математики.
 +
Однако сделать такой курс на порядок сложнее, чем скомпилировать материал нескольких книжек.
'''Математический курс''' нужен узкому кругу специалистов, которые предположительно будут заниматься разработкой новых методов и решением принципиально новых задач. Потребность в таких специалистах — около 5%. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
'''Математический курс''' нужен узкому кругу специалистов, которые предположительно будут заниматься разработкой новых методов и решением принципиально новых задач. Потребность в таких специалистах — около 5%. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
-
'''Инженерный курс''' нужен широкому кругу специалистов, которые предположительно будут заниматься применением стандартных методов для решения более-менее типичных задач. Он также нужен будущим IT-руководителям, которые обязаны не только знать о возможностях современных методов анализа данных, но и уметь доносить своё понимание до лиц, принимающих решения. Потребность в таких специалистах — около 95%. Кстати, без этих 95% инженеров те 5% математиков вообще не имеют шансов найти работу по специальности. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
+
'''Инженерный курс''' нужен широкому кругу специалистов, которые предположительно будут заниматься применением стандартных методов для решения более-менее типичных задач. Он также нужен будущим IT-руководителям, которые обязаны не только знать о возможностях современных методов анализа данных, но и уметь доносить своё понимание до лиц, принимающих решения. Потребность в таких специалистах — около 95%. Кстати, без этих 95% инженеров, бизнес-аналитиков и IT-менеджеров те 5% математиков вообще не имеют шансов найти работу по специальности. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
Курсов машинного обучения «для инженеров» в мире очень много.
Курсов машинного обучения «для инженеров» в мире очень много.
-
Математических курсов очень мало, и они очень разные; каждый несёт на себе отпечаток конкретной школы.
+
Математических курсов сравнительно мало, и они очень разные;
-
Обычно это курсы на кафедрах соотвествующего профиля.
+
каждый несёт на себе отпечаток конкретной школы.
 +
Обычно это спецкурсы на кафедрах соотвествующего профиля.
 +
 
 +
Попытки найти «золотую середину» предпринимаются в тех университетах,
 +
где даётся хорошее базовое математическое образование.
 +
Пример — курс [http://courses.csail.mit.edu/6.867/lectures.html Machine Learning]
 +
в MIT, разработанный [http://people.csail.mit.edu/tommi Tommi Jaakkola].
== Методика преподавания ==
== Методика преподавания ==
Предлагается обсуждать удачный и неудачный опыт.
Предлагается обсуждать удачный и неудачный опыт.
-
* насколько повышается эффективность преподавания при использовании слайдов?
+
* Насколько повышается эффективность преподавания при использовании слайдов?
-
* используются ли наряду со слайдами раздаточные материалы?
+
* Надо ли использовать наряду со слайдами раздаточные материалы? Когда материал запоминается лучше и дольше: когда студент пишет конспект лекции или когда студент видит хорошо продуманные (в том числе графические) иллюстрации на слайдах?
-
* как строятся практикумы?
+
* Как построить практикум? Делать упор на разработку или на применение методов? На каком средстве: [[Matlab]] или [[C++]] или [[R]] или [[WEKA]] или [[RapidMiner]]? Делать проекты индивидуальные или парные?
-
* какие задачи и вопросы даются для контроля знаний?
+
* Какие задачи и вопросы давать для контроля знаний?
== Некоторые удачные методические приёмы ==
== Некоторые удачные методические приёмы ==
Предлагается пополнять коллекцию.
Предлагается пополнять коллекцию.
-
* В начале курса посвятить одну лекцию описанию примеров разнообразных прикладных задач «из жизни». (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
+
* В начале курса посвятить одну лекцию описанию примеров (от 3 до 10) разнообразных прикладных задач «из жизни». (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
-
* В конце курса (например, на консультации перед экзаменом) нарисовать «карту курса», где показать взаимосвязи и сходства между различными методами. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
+
* В конце курса (например, на консультации перед экзаменом) нарисовать «карту курса», где показать взаимосвязи и сходство различных методов. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
* Рассказав метод, в явном виде перечислить его достоинства и недостатки; затем рассказать о путях устранения недостатков. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
* Рассказав метод, в явном виде перечислить его достоинства и недостатки; затем рассказать о путях устранения недостатков. (''[[Участник:Vokov|К.В.Воронцов]] 22:33, 10 июля 2008 (MSD)'')
== Терминология ==
== Терминология ==
-
Предлагается обсуждать список терминов, которые либо не понятно, как переводить на русский, либо «де факто» они уже переведены разными авторами по-разному, и необходимо приходить к единству.
+
Предлагается обсуждать список терминов, которые либо не понятно как переводить на русский, либо «де факто» они уже переведены разными авторами по-разному, и необходимо приходить к единству.
-
 
+
Возможно, для этого обсуждения лучше завести отдельную страницу...
-
Возможно, для этого обсуждения надо завести отдельную страницу...
+
* Business-intelligence — интеллектуальные бизнес-системы или бизнес-интеллект?
* Business-intelligence — интеллектуальные бизнес-системы или бизнес-интеллект?

Версия 21:54, 10 июля 2008

Содержание

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

На данную страницу выносятся основные положения, результаты дискуссии и прочая хорошо структурированная информация. Споры, как обычно, ведутся в обсуждении.

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

Машинное обучение — математический или инженерный курс?

Согласно международным рекомендациям по преподаванию информатики в университетах ACM/IEEE Computing Curricula 2001 информатика (computer science) подразделяется на 14 областей, одна из которых — интеллектуальные системы (intelligent systems). Эта область, в свою очередь, имеет 10 разделов, один из них — машинное обучение и нейронные сети (machine learning and neural networks). Для непрофильных специальностей этот курс считается факультативным.

Типовые программы этого курса рассчитаны на расширение кругозора будущих IT-специалистов и, мягко говоря, поверхностны. Они ни в коей мере не рассчитаны на будущего научного работника или разработчика новых методов машинного обучения. Они лишь дают представление о том, какие задачи возникают на практике, какими методами их можно решать, в чём их основные принципы, какие существуют инструментальные средства, иногда — какие подводные камни ждут будущего BI-аналитика. Далеко не все методы освещаются. Теория вообще не рассматривается.

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

Стандарт оставляет большую свободу творчества преподавателю. Формально оставаясь в рамках стандарта, можно сделать и полную профанацию, и удачный курс для инженеров, показывающий нетривиальные примеры реальных задач и процесс их решения с помощью доступного инструментария. Заодно можно зацепить действительно глубокие проблемы, с одной стороны возникающие из нужд практики, с другой требующие хорошей математики. Однако сделать такой курс на порядок сложнее, чем скомпилировать материал нескольких книжек.

Математический курс нужен узкому кругу специалистов, которые предположительно будут заниматься разработкой новых методов и решением принципиально новых задач. Потребность в таких специалистах — около 5%. (К.В.Воронцов 22:33, 10 июля 2008 (MSD))

Инженерный курс нужен широкому кругу специалистов, которые предположительно будут заниматься применением стандартных методов для решения более-менее типичных задач. Он также нужен будущим IT-руководителям, которые обязаны не только знать о возможностях современных методов анализа данных, но и уметь доносить своё понимание до лиц, принимающих решения. Потребность в таких специалистах — около 95%. Кстати, без этих 95% инженеров, бизнес-аналитиков и IT-менеджеров те 5% математиков вообще не имеют шансов найти работу по специальности. (К.В.Воронцов 22:33, 10 июля 2008 (MSD))

Курсов машинного обучения «для инженеров» в мире очень много. Математических курсов сравнительно мало, и они очень разные; каждый несёт на себе отпечаток конкретной школы. Обычно это спецкурсы на кафедрах соотвествующего профиля.

Попытки найти «золотую середину» предпринимаются в тех университетах, где даётся хорошее базовое математическое образование. Пример — курс Machine Learning в MIT, разработанный Tommi Jaakkola.

Методика преподавания

Предлагается обсуждать удачный и неудачный опыт.

  • Насколько повышается эффективность преподавания при использовании слайдов?
  • Надо ли использовать наряду со слайдами раздаточные материалы? Когда материал запоминается лучше и дольше: когда студент пишет конспект лекции или когда студент видит хорошо продуманные (в том числе графические) иллюстрации на слайдах?
  • Как построить практикум? Делать упор на разработку или на применение методов? На каком средстве: Matlab или C++ или R или WEKA или RapidMiner? Делать проекты индивидуальные или парные?
  • Какие задачи и вопросы давать для контроля знаний?

Некоторые удачные методические приёмы

Предлагается пополнять коллекцию.

  • В начале курса посвятить одну лекцию описанию примеров (от 3 до 10) разнообразных прикладных задач «из жизни». (К.В.Воронцов 22:33, 10 июля 2008 (MSD))
  • В конце курса (например, на консультации перед экзаменом) нарисовать «карту курса», где показать взаимосвязи и сходство различных методов. (К.В.Воронцов 22:33, 10 июля 2008 (MSD))
  • Рассказав метод, в явном виде перечислить его достоинства и недостатки; затем рассказать о путях устранения недостатков. (К.В.Воронцов 22:33, 10 июля 2008 (MSD))

Терминология

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

Книги, которые можно выбрать за «скелет» курса

  1. Hastie, T., Tibshirani, R., Friedman, J. The Elements of Statistical Learning, 2nd edition. — Springer, 2009. — 533 p.  (подробнее)

Дополнительная литература

  1. Загоруйко Н. Г. Прикладные методы анализа данных и знаний. — Новосибирск: ИМ СО РАН, 1999. — 270 с. — ISBN 5-86134-060-9  (подробнее)
  2. Журавлёв, Ю. И., Рязанов, В. В., Сенько, О. В. «Распознавание». Математические методы. Программная система. Практические применения. — М.: ФАЗИС, 2006. — 176 с.  (подробнее)

Курсы

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