Разработка и внедрение методических материалов к курсу по машинному обучению в Астраханском государственном университете
Современные тенденции машинного обучения и их связь с прикладными задачами информатики и другими областями науки. Составление методической базы для студентов технических специальностей. Математические основы машинного обучения. Применение системы Moodle.
Рубрика | Педагогика |
Вид | статья |
Язык | русский |
Дата добавления | 20.04.2018 |
Размер файла | 18,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
РАЗРАБОТКА И ВНЕДРЕНИЕ МЕТОДИЧЕСКИХ МАТЕРИАЛОВ К КУРСУ ПО МАШИННОМУ ОБУЧЕНИЮ В АСТРАХАНСКОМ ГОСУДАРСТВЕННОМ УНИВЕРСИТЕТЕ
Сидоров К.С.1, Ахунжанов Р.К.2
1ORCID: 0000-0003-0395-286X, студент, ФГБОУ ВО «Астраханский государственный университет», 2Кандидат физико-математических наук, доцент кафедры математики и методики её преподавания, ФГБОУ ВО «Астраханский государственный университет»
Аннотация
В данной статье обоснована важность преподавания машинного обучения в Астраханском государственном университете и необходимость внедрения адаптированных методических материалов к курсу «Машинное обучение». Упомянуты современные тенденции машинного обучения и их связь с прикладными задачами как информатики, так и других областей науки. Обоснована необходимость рассмотрения прикладных задач анализа данных внутри курса. Для реализации методического сопровождения к курсу используется система Moodle, что аргументировано в тексте статьи. Кроме того, перечислены темы, освещаемые в данном курсе, и аргументирована необходимость их включения в курс.
Ключевые слова: машинное обучение, анализ данных, высшее образование, методические материалы, информационные технологии.
Abstract
Sidorov K.S.1, Akhunzhanov R.K.2
1ORCID: 0000-0003-0395-286X, Student, FSBEI of Higher Education “Astrakhan State University”, 2PhD in Physics and Mathematics, Associate Professor of the Department of Mathematics and Methods of Teaching, FSBEI of Higher Education “Astrakhan State University”
DEVELOPMENT AND IMPLEMENTATION OF METHODICAL MATERIALS TO THE COURSE ON MACHINE TRAINING IN ASTRAKHAN STATE UNIVERSITY
This article substantiates the importance of teaching machine learning in Astrakhan State University and the necessity to implement adapted methodological materials into the course “Machine Learning.” Modern trends in machine learning and their relation with applied problems in both computer science and other areas of science are discussed. The need of considering applied problems of data analysis within the course is substantiated. The Moodle system is used to implement methodological support for the course, which is explained in the text of the article. In addition, the topics covered in this course are listed and the necessity of their inclusion in the course is discussed.
Keywords: machine learning, data analysis, higher education, methodological materials, information technology.
Наверное, не будет преувеличением сказать, что важной частью современной науки и техники являются исследования в области искусственного интеллекта - направления computer science, в рамках которого разрабатываются интеллектуальные агенты и методики их построения [1]. Такой бурный рост был бы невозможен без развития методов машинного обучения -- науки о том, как писать программы, которые пользуются своим опытом для того, чтобы улучшать свою производительность в определённой задаче [2], [3].
Отличительной чертой методов машинного обучения является их ориентированность на работу с данными: чаще всего они работают с некоторой выборкой данных, извлекают из неё закономерности и строят какие-либо предсказания по новым, ранее не наблюдаемым данным. Поэтому для названия этой области знания также используется термин «анализ данных». Хотя между терминами «машинное обучение» и «анализ данных» имеются некоторые тонкие различия, в данной статье для простоты восприятия эти различия освещаться не будут и указанные два термина будут использоваться взаимозаменяемо.
Методы машинного обучения используются в самых разнообразных отраслях человеческой деятельности. Помимо классических применений в рекомендательных системах (для построения профилей пользователей и рекомендуемых объектов и построения персонализированных рекомендаций) [4], поисковых машинах (для расчёта релевантности документа поисковому запросу) [5], банковской деятельности (для построения моделей кредитного скоринга) [6] и интеллектуальной обработке текстовой информации (для построения системы IBM Watson, одержавшей победу над двумя лучшими игроками телевикторины Jeopardy!, в России более известной под названием «Своя игра») [7], в последние годы стали появляться приложения к анализу элементарных частиц (для фильтрации событий, связанных с распадом бозона Хиггса в тау-лептоны, в общем - и достаточно интенсивном -- потоке событий, происходящих в Большом адронном коллайдере) [8], обработке изображений (для классификации фотореалистичных изображений по объектам, изображённым на них) [9], а также к принятию оптимальных решений (для создания программ для ведения игр, которые из-за большого пространства поиска, коэффициента ветвления и/или отсутствию полной информации не поддавались другим методам - например, программа Alpha Go для игры в Deep Stack для игры в покер -- обе этих программы смогли вести соответствующие игры лучше, чем лучшие игроки мира, благодаря внедрению функциональности самообучения) [10], [11]. Следует заметить, что применения машинного обучения в заявленных областях не ограничиваются указанными в скобках примерами -- они приведены лишь в иллюстративных целях.
Постановка проблемы
Из всего изложенного во введении очевидно, что с течением времени потребность в программистах, владеющих навыками машинного обучения, будет расти -- так же, как во второй половине XX века росла потребность в людях, имеющих навыки алгоритмизации. Именно по этой причине в различных университетах появляются курсы по машинному обучению.
Недавно к этому тренду присоединился и Астраханский государственный университет. На кафедре математики и методики её преподавания была начата работа над курсом по машинному обучению. Впрочем, в первом запуске курса было выявлено несколько проблем:
· Трудности с подбором практических сюжетов и задач подходящего уровня сложности. Машинное обучение берёт идеи из разных областей математики -- к примеру, математической оптимизации, линейной алгебры, математической статистики. Но машинное обучение -- в первую очередь инженерная дисциплина. В первом запуске курса это учтено не было, и поэтому материал, рассказываемый в курсе, был смещён в сторону математических областей машинного обучения.
· Отсутствие единого методического пособия, используемого для преподавания данного курса. Хотя существует множество ресурсов, посвящённых машинному обучению, они очень разнородны по уровню предоставляемого материала, теоретических построений, а также по стилистике. Это вызывало проблемы у студентов, пытавшихся самостоятельно закрепить свои знания после лекций.
Концепция и цели курса
Сложившаяся ситуация создаёт естественные условия для составления методической базы для студентов технических специальностей АГУ, используемой для хранения конспектов лекций, а также для приёма и отправки домашних заданий. В более широком смысле авторы пытались достичь курса по машинному обучению, все части которого подчинялись бы единой концепции. А именно, такой курс должен быть адаптирован под специфику Астраханского государственного университета, который был бы прикладным, давал бы математические основы машинного обучения, но в то же время не был перегружен рассмотрением теоретических вопросов. Важно то, что данный курс должен закладывать адекватное представление о машинном обучении -- как о его возможностях, так и его границы применимости.
С учётом сформулированной концепции курса авторы поставили перед собой следующие цели:
· Дать слушателям курса прикладные знания в области анализа данных.
· Развить интерес к методам и достижениям машинного обучения.
· Дать объективную оценку методам машинного обучения, а также их сильных и слабых сторон.
Выше упоминалось, что в первой версии курса возникли трудности, связанные с рассмотрением прикладных задач, актуальных для студентов. Поэтому этой составляющей курса было уделено особое внимание -- в частности, каждая глава (кроме вводной) заканчивалась рассмотрением практической задачи. Помимо того, что практические сюжеты были действительно практическими, решения для них не относятся к современным исследовательским проблемам машинного обучения -- напротив, они не перегружены теорией для них уже есть достаточно простой в использовании и проверенный временем инструментарий.
К примеру, в предпоследней части показывается создание простейшего спам-фильтра. Конкретные технические средства, используемые на курсе, будут обсуждаться позднее, однако фрагмент соответствующего методического материала всё же приводится далее (оригинальное форматирование сохранено):
«Здесь мы будем анализировать Enron spam dataset - набор писем, пришедших разным сотрудникам компании Enron и размеченных по принципу “спам / не спам”. Далее мы сфокусируемся на архиве писем одного из сотрудников (ссылка на архив).
Как всегда, импортируем стандартные библиотеки и фиксируем random seed:
import numpy as npimport pandas as pdnp. random. seed (888)
Далее следует код для загрузки данных в память. (Предполагается, что из архива было извлечено содержимое папки enron1.)
import osimport codecs
ham_mail, spam_mail = list(), list()for label in [`ham', `spam']:for el in os.listdir(label):try:lines = open(label + `/' + el, `r', encoding='utf8?).readlines()except Unicode Decode Error:continueif label == `ham':ham_mail.append(”.join(lines))else:spam_mail.append(”.join(lines))
Теперь сохраним данные в формате массива Numpy, а также создадим вектор ответов:
X_text = np.array(ham_mail + spam_mail, dtype=object)y = np.ones_like(X_text, dtype=np.int32)y[:len(ham_mail)] = 0
Как уже упоминалось, нам нужно представление мешка слов. Построим его:
from sklearn. feature_extraction.text import CountVectorizervec = CountVectorizer()X_count = vec.fit_transform(X_text)
Теперь оценим производительность логистической регрессии - единственного из алгоритмов, который разбирался ранее на курсе и способного обработать данные такой большой размерности:
from sklearn. linear_model import Logistic Regressionclf_lin = LogisticRegression(n_jobs=-1)
from sklearn. model_ selection import cross_val_scoreprint (cross_val_score (clf_lin, X_count, y).mean())
Здесь мы получим достаточно высокую цифру в 97,5%. Теперь создадим наивный байесовский классификатор и оценим его производительность: …»
Считаем нужным обратить внимание читателя на то, что программная реализация данного примера (от загрузки обучающей выборки до оценки качества модели) составляет всего 27 строк кода на языке Python, несмотря на то, что данный пример -- завершающий пример курса. Этим мы даём понять слушателям курса, что машинное обучение -- технология, которая относительно легко применется к прикладным проблемам и оказывает ощутимую помощь в их решении.
Техническая реализация
Для реализации данной идеи была использована система Moodle, которая обладает рядом достоинств, обуславливающих её использование в данном курсе. Во-первых, у Астраханского государственного университета уже имеется Moodle-сервер, который используется для организации других курсов, поэтому технически внедрение методических материалов выполняется достаточно просто. Во-вторых, Moodle по умолчанию поддерживает вёрстку формул, набранных с помощью языка LaTeX, с помощью расширения MathJax, что очень важно для любого курса по машинному обучению, поскольку машинное обучение активно использует терминологию линейной алгебры, оптимизации и математической статистики.
Отметим, что у данной системы есть и свои недостатки -- в частности, в ней непросто создавать тесты, в которых численные данные генерируются случайным образом, но с некоторыми ограничениями (например, чтобы сами данные, промежуточные вычисления и ответ были целочисленными).
Обзор тем, освещаемых в курсе
Поскольку курс является базовым, то и темы в него выбирались лишь базовые -- не перегруженные теоретическими деталями, но дающие адекватное представление о машинном обучении и его приложениях к разнообразным проблемам из информационных технологий и других областей человеческой деятельности.
В вводной части курса рассказывается о работе с Numpy -- библиотекой для научных расчётов для языка Python. Далее в курсе все темы иллюстрируются с помощью языка Python и библиотек для него, которые уже много лет используются практиками машинного обучения и анализа данных. Как уже упоминалось выше, во всех дальнейших темах, помимо самих алгоритмов, демонстрируются прикладные задачи анализа данных и успешная работа описываемых алгоритмов в соответствующей задаче.
В частности, в данном курсе освещаются следующие темы:
· Линейные модели. Это -- «простейшие организмы» машинного обучения, на которых можно легко объяснить множество идей, находящих своё отражение как в простых, так и в самых современных методах. Среди таких идей -- задачи регрессии и классификации, функция ошибки, градиентный спуск, переобучение, регуляризация.
· Метод ближайших соседей. Этот метод также примитивен и поэтому часто используется как «базовое решение» (в англоязычной терминологии -- baseline), с которым сравниваются все остальные методы машинного обучения.
· Деревья принятия решений. Этот класс методов введён в курс, поскольку он несёт в себе некоторые свежие идеи и используется на практике, но только в совокупности с методом из следующего раздела, а именно…
· Градиентный бустинг - известный метод улучшения качества алгоритмов. В отличие от остальных методов, градиентный бустинг сам по себе не решает задачи машинного обучения - он берёт алгоритм для их решения и усиливает его, шаг за шагом исправляя его недостатки. В применении к решающим деревьям получается широко используемый как в прикладных задачах, так и на соревнованиях по анализу данных алгоритм.
· Нейронные сети. Этот класс методов представляет из себя актуальную тему для исследований - во многом благодаря самым разнообразным успехам нейросетевых моделей (которые сами по себе очень различаются между собой по структуре). Отчасти поэтому термин «нейронные сети» знаком многим, но не все точно понимают, что этот метод из себя представляет. Поэтому важно создать адекватное представление о устройстве, возможностях и ограничениях нейронных сетей.
После этого, когда уже продемонстрированы методы машинного обучения и их успехи, происходит переход к самому теоретическому разделу курса -- обзору теории вероятностей. Этот раздел достаточно важен, потому что теория вероятностей - достаточно гибкая модель для описания процессов, с которыми работают алгоритмы машинного обучения.
В данном разделе описываются основные положения теории вероятностей и их применения к анализу данных -- к примеру, с точки зрения теории вероятностей разбирается ситуация овербукинга и объясняется, что авиакомпании могут себе это позволить.
Помимо этого, показывается, как можно объяснить множество алгоритмов машинного обучения с позиций теории вероятностей. Также показывается, как можно с помощью теории вероятностей придумать алгоритм машинного обучения - в курсе показано устройство наивного байесовского классификатора, который приобрёл известность как первый успешный алгоритм для фильтрации спама.
В конце курса показаны методы обучения без учителя - методы для извлечения закономерностей из неразмеченных данных (к примеру, если рассматривать задачу анализа тональности текста, то всем предыдущим методам нужны не только тексты писем, но и метки «Спам» и «Не спам»). В частности, рассказываются такие темы, как кластеризация и понижение размерности. машинный обучение информатика математический
Отметим, что в данный курс осознанно не был включён рассказ о машинах опорных векторов. Причина для этого была в том, что объяснение этой темы достаточно сложно математически, а область применимости данного метода не настолько широка, чтобы нарушать концепцию курса.
Методика контроля за усвоением материала
Для контроля за усвоением знаний авторы курса сочли удобной тестовую форму, поскольку данный метод имеет неоспоримое достоинство - объективность. Отметим, что тесты индивидуальны и состоят из расчётных и качественных вопросов.
Естественно, тестовые вопросы строятся так, чтобы у студентов выстраивалось понимание тонкостей работы с методами машинного обучения. К примеру, один из имеющихся тестовых вопросов выглядит так: «В какую строну -- увеличения или уменьшения -- следует изменять параметр k в методе ближайших соседей, если необходимо избежать явления переобучения? Ответ обосновать.»
Данный курс рассчитан на студентов технических специальностей Астраханского государственного университета, которые получат базовые знания в области машинного обучения и анализа данных, которые они смогут применять в прикладных задачах.
Список литературы / References
1. Russell S. J. Artificial Intelligence: A Modern Approach / Stuart J. Russell, Peter Norvig. - 3rd edition. - Prentice Hall, 2009. - 1152 p.
2. Mitchell T. Machine learning / Tom Mitchell. - McGraw Hill, 1997. - 432 p.
3. Schmidhuber J. Deep Learning in Neural Networks: An Overview / Jьrgen Schmidhuber // Neural networks: the official journal of the International Neural Network Society. - 2015. - Vol. 61 - P. 85-117.
4. Pazzani M. J. Content-Based Recommendation Systems. / Michael J. Pazzani, Daniel Billsus; edited by Peter Brusilovsky, Alfred Kobsa, Wolfgang Nejdl // The Adaptive Web. - 2007. - P. 325-341.
5. Joachims T. Optimizing search engines using clickthrough data. / Thorsten Joachims // Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining. - 2002. - P. 133-142.
6. Abdou H. A. Credit Scoring, Statistical Techniques and Evaluation Criteria: A Review of the Literature. / Hussein A. Abdou, John Pointon // Int. Syst. in Accounting, Finance and Management. - 2011. - Vol. 18 - P. 59-88.
7. Ferrucci D. A. Building Watson: An Overview of the DeepQA Project. / David A. Ferrucci, Eric W. Brown, Jennifer Chu-Carroll and others // AI Magazine. - 2010. - Vol. 31 - P. 59-79.
8. Perez J. ML2014: Higgs Boson Machine Learning Challenge. / Jocelyn Perez, Ravi Ponmalai, Alex Silver and others - 2014.
9. Russakovsky O. ImageNet Large Scale Visual Recognition Challenge. / Olga Russakovsky, Jia Deng, Hao Su and others // International Journal of Computer Vision - 2015. - Vol. 115 - P. 211-252.
10. Silver D. Mastering the game of Go with deep neural networks and tree search. / David Silver, Aja Huang, Chris J. Maddison and others // Nature - 2016. - Vol. 529 7587 - P. 484-489. - doi: 10.1038/nature16961
11. Moravинk M. DeepStack: Expert-level artificial intelligence in heads-up no-limit poker. / Matej Moravинk, Martin Schmid, Neil Burch Science and others // Science - 2017. - Vol. 356 6337 - P. 508-513.
Размещено на Allbest.ru
...Подобные документы
Применение современных технологий в обучении студентов. Рассмотрение способов реализации технологии дистанционного обучения. Разработка учебного комплекса в среде Moodle по курсу "Теория вероятностей и математическая статистика" для обучения студентов.
курсовая работа [1,5 M], добавлен 08.05.2015Теоретические основы и дидактическая цель модульного обучения как программы, индивидуализированной по содержанию, методам, темпу учебно-познавательной деятельности и уровню самостоятельности студентов. Учебно-лекционные блоки по дисциплине "Социология".
курсовая работа [57,2 K], добавлен 24.06.2011Структура высшего образования в странах мира. Особенности становления кредитной системы в России и Казахстане. Формирование понятий электричества у студентов высших учебных заведений педагогических специальностей в условиях кредитной системы обучения.
дипломная работа [210,0 K], добавлен 03.07.2015Эффективность традиционного и электронного образования. Преимущества модульной объектно-ориентированной динамической среды обучения. Разработка технологии проектирования учебных материалов на основе учебного плана и рабочей программы в среде LMS "Moodle".
курсовая работа [781,6 K], добавлен 18.07.2014Научно-методические основы введения информатики на всех этапах обучения в общеобразовательной школе. Проект структуры и содержания непрерывного обучения курсу информатики с 1 по 11 класс. Практический опыт внедрения элементов разработанного проекта.
дипломная работа [82,5 K], добавлен 31.03.2011Теоритические основы методов диалогового обучения. Правила его организации на уроках. Разработка уроков по информатики с использованием методов диалогового обучения. Календарное планирование обучения для 9 класса. Метод "Лестница" и баллинтовских групп.
курсовая работа [146,4 K], добавлен 18.05.2016Применение компьютерных средств обучения и телекоммуникационных сетей глобального масштаба на уроках физики и информатики. Технология коллективных способов обучения. Использование компьютерных методических материалов для повышения эффективности урока.
курсовая работа [628,1 K], добавлен 31.07.2012Описание опыта реализации технологии дистанционного обучения в Ярославском государственном педагогическом университете им. К.Д. Ушинского. Возможности применения такого обучения, позитивные стороны данной формы работы для преподавателей и студентов.
статья [17,9 K], добавлен 07.08.2017Основы обучения студентов технологического образования моделированию одежды. Дидактическое сопровождение учебного процесса. Формы и методы организации занятий. Структура и содержание методических рекомендаций по моделированию основы женского платья.
дипломная работа [988,3 K], добавлен 21.11.2010Учебный процесс и средства информационных и коммуникационных технологий. Тенденция функционирования и развития содержания методической системы обучения информатике в педвузах. Недостатки современной системы методической подготовки учителя информатики.
автореферат [104,5 K], добавлен 13.10.2008Исследование методических аспектов экологического образования студентов. Методы и методические системы обучения. Понятие о методах и приемах обучения.
дипломная работа [180,7 K], добавлен 25.05.2015Ознакомление с образовательными возможностями и миграционными намерениями абитуриентов и студентов. Выяснение основных способов привлечения студентов зарубежными университетами. Проведение анкетирования на выявление отношения к условиям обучения.
курсовая работа [791,2 K], добавлен 02.06.2015Пассивные и активные методы обучения на уроках информатики. Разработка план-конспекта с применением активных и пассивных методов обучения на уроках информатики. Выбор метода обучения школьников на уроках информатики, основные методики преподавания.
курсовая работа [2,2 M], добавлен 25.09.2011Теоретические основы модульной системы обучения, сущность и принципы модульного обучения и условия их реализации. Организация учебно-воспитательного процесса обучения стереометрии, модульное структурирование и организация учебных занятий по стереометрии.
аттестационная работа [397,3 K], добавлен 04.01.2010Понятие и структура методической системы обучения, оценка ее положительных, отрицательных сторон. Педагогическая функция информатики: образовательная, развивающая, эвристическая, воспитательная, прогностическая, эстетическая, информационная, нормативная.
презентация [53,2 K], добавлен 19.10.2014Анализ современных методов подготовки педагога профессионального обучения. Разработка концепции непрерывной интегрированной подготовки педагога профессионального обучения, с учетом специфики профессионального обучения в корпоративном университете.
автореферат [2,1 M], добавлен 13.10.2008Формирование целостной системы универсальных знаний, навыков, умений. Современные формы организации неурочной деятельности. Взаимосвязь неурочной деятельности с другими формами организации обучения. Применение неурочных форм в процессе обучения музыке.
курсовая работа [381,9 K], добавлен 02.05.2009Исторические и психолого-педагогические аспекты обучения социальной информатике учащихся основной школы. Особенности методической системы обучения основам социальной информатики учащихся 8-9 классов. Содержание учебного материала, система задач.
дипломная работа [76,4 K], добавлен 21.06.2011Специфика обучения курсу Adobe Photoshop школьников с нарушениями слуха. Анализ концепций обучения компьютерной графике в школьном курсе информатики. Назначение редактора растровой графики Adobe Photoshop. Формы, методы и средства проведения занятий.
дипломная работа [8,1 M], добавлен 16.06.2011Разработка методических основ обучения студентов педагогических вузов проблемам обеспечения охраны труда. Проектирование мотивационных технологий обучения. Разработка бинарных действий преподавателя и учащихся на уроке "Безопасность жизнедеятельности".
курсовая работа [102,0 K], добавлен 26.08.2011