Баранова Е. В.
Симонова И. В.
РГПУ им. А.И. Герцена,
г. Санкт-Петербург
Содержательные линии подготовки будущих учителей
информатики в области машинного обучения
В статье рассматривается подготовка будущих учителей информатики в области машинного обучения, включая цель, содержание и средства обучения, приведены примеры для самостоятельно работы студентов.
Evgenia V.
Baranova
Irina V. Simonova
HSPU
St. Petersburg, Russia
Meaningful lines of training of future computer
science teachers in the field of machine learning
The article discusses the training of future computer
science teachers in the field of machine learning, including the purpose,
content and means of teaching, and provides examples for students to work
independently.
Подготовка будущих учителей информатики
предполагает обновление содержания обучения с учётом перспективных направлений
развития предметной области информатики и информационных технологий. Одним из
таких направлений являются технологии искусственного интеллекта, включающих
«машинное обучение.
Термин «машинное обучение» охватывает
большой круг технологий, которые ориентированы на определённую цель: извлечь
имеющую смысл информацию из данных, как правило, большого размера. Отметим, что
рассматриваемая выборка может содержать случайные данные и не иметь смысловой
информации. Имеющая смысл информация - это всё то, что можно извлечь из данных
для ответа на поставленную задачу. Например, представить прогноз погоды,
предсказать успешность обучения группы учащихся.
На наш взгляд целью
обучения моделям, алгоритмам и их реализации на языке Python
является
развитие профессиональных компетенций будущих учителей информатики. В том
числе, компетенций, связанных со способностью осуществлять педагогическую поддержку и сопровождение обучающихся в
процессе достижения метапредметных, предметных и личностных результатов
и способностью участвовать в проектировании предметной среды образовательной
программы.
Анализ научных, методических публикаций и
учебных пособий [6,7,8] по проблеме преподавания студентам вузов машинного
обучения позволил нам выделить ряд содержательных линий, представленных ниже.
- Машинное обучение – ведущее направление в
области искусственного интеллекта.
История развития. Персоналии.
- Способы машинного обучения и основные
задачи. Обучение с учителем: объект, цель,
набор признаков (факторов), модель (алгоритм). Обучающая выборка. Функция
ошибки. Минимизация функционала качества для оценки достижения цели. Характеристика
задач: регрессия, классификация. Визуализация. Обучение без учителя. Характеристика задач: кластеризация,
матрица
расстояний между объектами, понижение размерности данных и их визуализация.
- Глубокое
обучение. Нейронные сети: структура, перцептрон, слой. Обучение и
применение нейронных сетей.
- Реализация
моделей машинного обучения средствами языка Python.
Наш опыт проведения занятий позволил
выделить условия успешной реализации обучения:
· соответствие
уровню знаний студентов;
· преемственность
содержания с математикой и программированием;
· решение
практико-ориентированных задач;
· организация
самостоятельной, в том числе, проектной деятельности студентов для развития
готовности к самостоятельному решению простых задач в области МО.
В соответствии с выделенными
содержательными линиями обучения МО будущих учителей информатики авторами были
разработаны демонстрационные примеры (интерактивные программы на языке Python) и задания, которые предлагаются студентам в процессе
обучения. Разработанная система заданий основывается на модели Б. Блума, Л.
Андерсона и Д. Краcволя [1], в которой
иерархия развития познавательных действий представляется в виде совокупности
категорий: помнить, понимать, применять, оценивать, создавать. Авторы
используют и развивают этот подход при обучении бакалавров педагогического
образования, специализирующихся в области информатики [2, 3, 5]. Наш опыт
показывает, что такое основание для классификации учебных задач способствует
развитию цифровой компетенций будущих учителей информатики [4].
При
отборе содержания обучения мы, в первую очередь, учитывали тесные содержательные
связи машинного обучения с математикой, теоретической информатикой и
программированием. Для успешного освоения этой сложной предметной области
студенты должны владеть соответствующим математическим аппаратом, структурами
данных и алгоритмами для программной реализации моделей машинного обучения.
Предлагаемые
студентам примеры должны наглядно иллюстрировать применение технологий
машинного обучения для решения различных классов задач, в том числе известных студентам
из жизни.
Рассмотрим
один из разработанных примеров – модель рекомендательной системы [7]. Рекомендательные
системы широко используются в различных сервисах для информирования пользователя о товарах, услугах,
предложениях, которые ему могут быть наиболее интересны: товары (Ozon,), статьи
(Arxiv.org), новости (Яндекс.Дзен), изображения, видео (YouTube, онлайн кинотеатры),
люди (Linkedin, FaceBook), музыка, образовательные
услуги и т.д.
В рассматриваемом
примере используется алгоритм коллаборативной фильтрации, при которой рекомендации
генерируются на основании интересов других похожих пользователей. Например, если
известно, что соседи
по интересам некоторого пользователя высоко оценивают сериал «Триггер», с высокой
вероятностью
система посоветует
ему этот сериал посмотреть.
Студентам
предлагается модель рекомендательной системы, позволяющей советовать зрителям
фильмы, которые могут их заинтересовать. При построении рекомендательных систем
важную роль играет выбор способ сравнения объектов, входящих в набор данных.
Существуют различные статистические подходы к оценке схожести объектов, в
данном примере используется критерий Пирсона.
Входные данные
программы - файл в формате json, содержащий имена зрителей и выставленные
ими фильмам рейтинги. Набор данных представляет собой вложенные словари. Для
внешнего словаря ключом является имя зрителя, а значением – вложенный словарь,
состоящий из списка фильмов и проставленных им за эти фильмы рейтингов:
{
"Ангелина": {"Доктор Стрэндж в
мультивселенной безумия":7.0,
"Бэтмен":7.9, "Смерть на
Ниле":6.5, "Круэлла":7.5,
"Джокер" :8.0, "Тайна
Коко":9.0},
"Дмитрий": { "Тайна
Коко":10.0, "Душа":9.0, "1+1":8.0, "Ford против
Ferrari":8.0, "Мстители:
Финал":8.0,…},
…
}
Программа включает три этапа. На первом этапе
разрабатывается функция pearson_score, вычисляющая по входному
набору данных коэффициент
корреляции Пирсона для определения «сходства» интересов двух зрителей. Студенты
могут вызывать функцию для различных зрителей и анализировать результаты, что поможет
им понять смысл коэффициента Пирсона.
На втором этапе определяются пользователи с
интересами, схожими с заданным пользователем. Для этого разрабатывается функция find_similar_users, базирующаяся на
функции pearson_score.
ratings_file =
'data_cinema/ratings_rus.json'
with
open(ratings_file, 'r') as f:
#Считывание входного файла
data = json.loads(f.read())
user=input('Зритель')
print('\nЗрители, схожие с ' + user
+ ':\n')
#Вызов функции для определения зрителей со
схожими интересами
similar_users =
find_similar_users(data, user, 3)
print('Зритель\t\t\tКоэффициент схожести')
print('-'*41)
#Вывод зрителей схожих по интересам со
зрителем user
for item in
similar_users:
print(item[0],'\t\t',round(float(item[1]), 2))
На третьем,
завершающем, этапе описывается функция get_recommendations, определяющая
для заданного пользователя прогнозируемые рейтинги фильмов
(взвешенные оценки) на основе коэффициентов схожести с другими пользователями и
их рейтингах по всем фильмам.
Самостоятельная
учебная деятельность студентов при работе с заданиями предполагает:
· Ввод,
отладку, выполнение с различными входными данными программ на Python, анализ результатов. Студенты знакомятся с новыми
возможностями языка, уточняют представления об используемом математическом
аппарате, используемом при реализации МО.
· Подготовка
новых, структурно схожих, но различающихся содержательно, наборов входных
данных для работы с программами,
· Модификация
программ, добавление новых функций на базе существующих, например, написать
скрипт, который для данного пользователя определяет наиболее близкого ему по
интересам зрителя, включает в список рекомендованных фильмов только фильмы со
значениями взвешенных рейтингов, больших, чем заданное число, и т.д.
Такая организация
учебной деятельности студентов с учебными заданиями содействует развитию
цифровой компетентности [4], направлена на развитие у студентов готовности понимать
программы, самостоятельно разрабатывать простые модели машинного обучения и
осуществлять программную реализацию c использованием
различных библиотек языка Python, анализировать
результаты, оценивать их качество с использованием различных статистических
характеристик.
Изучение языка
программирования Python не входит в
содержание курса, предполагается, что для успешного освоения курса студенты
должны владеть основами программирования: базовыми структурами данных и
управляющими операторами, методами работы с файлами различных типов и т.д.
Перед началом
обучения проводится входное тестирование для проверки уровня владения
необходимым математическим аппаратом и навыков программирования. Текущий контроль
осуществляется регулярно при выполнении заданий курса: студенты представляют
текст разработанных программ, описание и анализ полученных результатов, на
практических занятиях в группе обсуждаются подходы к выполнению заданий.
Описанный подход нами
использован при разработке программы дисциплины «Большие
данные и образование, искусственный интеллект и анализ данных в образовании» дополнительной профессиональной программы
профессиональной переподготовки «Информационные
технологии в образовании».
Вывод. Апробация разработанного подхода обучению
МО с участием студентов третьего и четвёртого курсов РГПУ им. А.И. Герцена, бакалавров
педагогического образования, специализирующихся в области информатики, оценка
результатов по окончании обучения свидетельствуют о овладении ими основами
технологий машинного обучения, их готовности разрабатывать и реализовывать на
языке Python простые модели машинного обучения.
Литература:
1. Anderson, L.W.
(Ed.), Krathwohl, D.R. (Ed.), Airasian,P.W., Cruikshank, K.A., Mayer, R.E.,
Pintrich, P.R.,Raths, J., & Wittrock, M.C. (2001). A taxonomy forlearning,
teaching, and assessing: A revision of Bloom’s Taxonomy of Educational
Objectives (Complete edition). New York: Longman.
2. Baranova E.V.,
Simonova I.V., Pavlova T.B. Development of teachers digital competence through
algoritmization and programming / Ceur Workshop Proceedings. Proceedings of the
XV International Conference (NESinMIS-2020). 2020. pp. 40-51.
3. Баранова
Е.В., Симонова И.В. Развитие алгоритмической компетенции студентов при
подготовке учителей информатики в условиях цифрового образования / Перспективы
науки. 2019. № 8 (119). С. 113-122.
4. Баранова Е. В., Симонова И.В. Развитие цифровых компетенций будущих учителей информатики при обучении
алгоритмам машинного обучения и их программной реализации / Перспективы науки.
- 2022. - N 5 (152). - С. 127-136.
5. Баранова Е. В. , Симонова И.В. Подготовка будущих учителей
информатики в области искусственного интеллекта / В сб.: Методика
преподавания в современной школе: проблемы и инновационные
решения. Материалы российско-узбекского образовательного форума по
проблемам общего образования. Под научной редакцией С.В. Тарасова.
Санкт-Петербург, 2022. С. 119-125.
6. Гудфеллоу,
Я. Глубокое обучение / Я. Гудфеллоу, И. Бенджио, А. Курвилль ; перевод с
английского А. А. Слинкина. — 2-е изд. — Москва : ДМК Пресс, 2018. — 652 с.
7. Джоши,
Пратик. Искусственный интеллект с примерами на Python.
: - Пер. с англ. – СПб. : ООО «Диалектика», 2019. – 448 с.
8. Шалев-Шварц, Ш. Идеи машинного обучения : учебное пособие / Ш. Шалев-Шварц, Бен-Давид Ш. ; перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2019.