Новые образовательные стратегии в современном информационном пространстве

New Educational Strategies in Modern Information Space - 2022

Ru
En

Баранова Е. В.

 РГПУ им. А.И. Герцена,

г. Санкт-Петербург

Симонова И. В.

 РГПУ им. А.И. Герцена,

г. Санкт-Петербург

 

Алгоритмы искусственного интеллекта и их реализация на языке Python как средство развития цифровых компетенций будущих учителей информатики

 

Исследуется проблема развития цифровых компетенций будущих учителей информатики посредством освоения алгоритмов искусственного интеллекта в процессе решения учебных задач определённых классов на языке Python. Целью исследования явилась разработанная авторами система задач, базирующаяся на «пересмотренной» таксономии (revised taxonomу) Б. Блума, созданная его последователями Л. Андерсоном, Д. Красволем. Система задач направлена на развитие алгоритмической компетентности в ходе обучения основам искусственного интеллекта средствами языка Python.

 

Baranova, E.V.

HSPU

 St. Petersburg, Russia

Simonova I.V.

HSPU

 St. Petersburg, Russia

 

Artificial intelligence algorithms and their implementation in Python as a means of developing digital competencies of future computer science teachers

 

The problem of the development of digital competencies of future computer science teachers through the development of artificial intelligence algorithms in the process of solving educational tasks of certain classes in Python is investigated. The aim of the study was the task system developed by the authors, based on the "revised" taxonomy of B. Bloom, created by his followers Anderson L.W., Krathwohl, D. R.. The task system is aimed at developing algorithmic competence in the course of teaching the basics of artificial intelligence using Python.

 

Современная цифровая среда, в том числе, и в образовании, актуализирует цель развития цифровых компетенций у будущих учителей информатики. Термин «цифровая компетенция», согласно документу «The Digital Competence Framework 2.0» [1] , разработанном Европейской комиссией (by the European Commission), включает 21 компоненту, объединённых в 5 групп: обработка информация (Information processing); коммуникации (Сommunication), работа с цифровым контентом (Content creation), информационная безопасность (Safety and protection), решение проблем (Problem solving).

 

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

 

Применительно к подготовке бакалавров педагогического образования, специализирующихся в области информационных технологий, развитие таких умений базируется на алгоритмической компетентности, т.е. готовности к разработке алгоритмов и программ, их использованию в профессиональной деятельности при обучении информатике, разработке электронных образовательных ресурсов (ЭОР), самообразованию в области информатики [3].

 

В процессе исследования мы выделили и разработали взаимосвязанные по содержанию модули «Алгоритмы машинного обучения: принципы, математический аппарат, области применения» и «Язык программирования Python и программная реализация алгоритмов машинного обучения». Для этих модулей нами разработана система учебных задач, основанная на модели развития познавательных процессов по [1,5,6]. Эта модель описывает иерархии познавательных действий, объединенных в следующие категории: помнить, понимать, применять, оценивать, создавать.

 

Наш опыт показывает, что такая иерархия познавательных действий соответствует сущности деятельности специалистов в области информатизации образования, базирующейся на их готовности разрабатывать программные приложения, другие средства информационных технологий. Эта деятельность предполагает создание новых продуктов на базе фундаментальных, концептуальных знаний, опыта анализа и оценки чужих программ, включает этапы разработки информационных моделей, алгоритмов и структур данных, адекватных решаемой задаче, программной реализации, анализа, оценки, интерпретации полученных результатов [7,10].

 

Кратко опишем разработанные модули и классы задач, включённые в эти модули.

 

Модуль «Алгоритмы машинного обучения: принципы, математический аппарат, области применения»

 

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

 

В модуле используются междисциплинарные связи с математическим модулем, в рамках которого изучается математический аппарат (функции, графы, матрицы, вероятностные модели, методы оптимизации и др.), составляющий фундаментальную основу для решения задач искусственного интеллекта [12].

 

Фактологические знания, которыми могут овладеть студенты, включают определения понятий «данные» и «знания», «машинное обучение» как класс методов искусственного интеллекта. В процессе освоения знаний студенты должны научиться давать характеристику двум подходам в машинном обучении: обучение с учителем и обучение без учителя. При рассмотрении методов обучения с учителем смогли описывать на примерах объект, цель, набор признаков (факторов), модель (алгоритм), обучающую выборку. На примерах вводится понятие функции ошибки, поясняется назначение и процедуры минимизации для оценки достижения цели. Сформированные знания дадут возможность студентам давать характеристику задач регрессии и классификации, приводить примеры их решения. Кроме того, уделяется внимание обоснованию выбора методов обучения без учителя и описанию этапов решения задачи кластеризации, подавления шумов и понижения размерности [14].

 

Концептуальный уровень знаний в рамках модуля обусловлен подходом к определению машинного обучения как набору методов искусственного интеллекта, ориентированных на обучение компьютеров решению новой задачи на основе решения большого числа похожих задач. На этом уровне освоения содержания студенты должны получить представление о сущности алгоритмов, реализующих: линейную регрессию, процедуры классификации, в том числе и изображений, деревьев решений, нейронных сетей при решении задач машинного обучение [12].

 

Уровень процедурных знаний ориентирован на формирование умения формулировать задачу и переходить при постановке задачи машинного обучения от описания на естественном языке к формальному описанию, учитывая особенности множества объектов (ситуаций) в сопоставлении с множеством возможных ответов. Знание о том, что при построении обучающей выборки важно выявить предполагаемую зависимость между объектами и ответами, учитывать, что для обучающей выборки ответы известны только для некоторого подмножества объектов. Узнают, как на основе размеченных данных построить модель (алгоритм), которая для любого возможного входного объекта сможет выдать классифицирующий ответ. Смогут выделять для простых задач типы входных данных, используемых в машинном обучении: матрицы объекты-признаки, матрицы расстояний между объектами на основе отношений попарного сходства. Узнают о способах описания функцию цели для задачи прогнозирования и построения дерево решений для простой рекомендательной системы. Получат представление в задаче обучения без учителя о сжатии изображений путем снижения размерности с использованием метода анализа главных компонент. Узнают подходы и методы визуализации данных [13].

 

Охарактеризуем классы задач, ориентированных на достижение целей обучения в соответствии с уровнями знаний и категориями познавательных действий. Обобщенно классы задач описаны авторами в [9,11].

 

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

 

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

 

Задачи третьего класса нацелены на обучение применению знаний об алгоритмах машинного обучения при решении учебных задач с использованием компьютерных средств моделирования задач машинного обучения. Решение учебной задачи предполагает формализованное описание объекта или ситуации, описание входные данных с соответствующими признаками с учётом инструментария средства моделирования (или языка Python).

 

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

 

Модуль «Язык программирования Python и реализация алгоритмов машинного обучения»

 

Фактологические или базовые знания, которыми должны овладеть студенты при изучении данного модуля, составляют знания о синтаксисе и семантике основных конструкций языка программирования Python, структурах данных, и многообразии библиотек, обеспечивающих эффективное решение различных задач, подходах к программной реализации алгоритмов машинного обучения. Предполагается, что обучающиеся уже владеют каким-либо языком программирования объектно-ориентированной парадигмы и умеют самостоятельно разрабатывать и осуществлять программную реализацию учебных проектов средней сложности на уровне, описанном авторами в [4,10].

 

При изучении нового языка программирования целесообразно проводить параллели, сравнивать синтаксис и семантику базовых конструкций и структур данных с аналогичными структурными составляющими языка программирования, уже известного обучающимся. Такой подход, по мнению авторов, будет способствовать более успешному освоению нового языка и формированию знаний о программировании, как предметной области, на концептуальном, более высоком, уровне в иерархии категорий знаний, в соответствии с [1,2].

 

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

 

Концептуальная особенность языка Python – отсутствует жесткое требование описания типов переменных, в отличие от таких языков, как например, Object Pascal, С++ и др. В то же время, понятия «типа» данных, как системообразующего для определения значений и операций, которые можно выполнять с данными, естественно, сохраняется и определяется при выполнении оператора присваивания. Эта модель реализуется определенными принципами распределения памяти: все данные – динамические объекты, которые начинают «существовать» в момент «получения» значений, а переменные фактически – «ссылки» на объекты. Вторая особенность языка – использование пробелов в синтаксисе составных операторов, например, если тело цикла while или условная конструкции if включают несколько операторов, в отличие от синтаксиса языка Pascal, где тело составного оператора конструируется с использованием ключевых слов begin и end.

 

Успешное освоение новых моделей синтаксиса и принципов распределения памяти должно базироваться, по мнению авторов, на имеющихся представлениях о принципах и сущности процессов компиляции и интерпретации [3,4], углубляет концептуальные знания студентов о программировании, как современной, стремительно развивающейся предметной области, способствует развитию цифровых компетенций будущих учителей информатики.

 

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

 

Охарактеризуем классы задач, ориентированных на достижение целей обучения в соответствии с уровнями знаний и категориями познавательных действий. Обобщенно классы задач описаны авторами в [4,11].

 

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

 

Второй класс задач направлен на развитие у студентов системного представления о программировании, способности воспринимать (читать, видеть, понимать) "программу" как структуру, иерархию взаимосвязанных сущностей (операторов, структур данных и т.д.), обеспечивающих обработку данных и получение результатов, однозначно определяемых входными данными. Студентам предлагается проанализировать тексты программы на языке Python, использующие различные библиотеки и структуры данных, и выдвинуть предположения об их назначении. Затем программа запускается с несколькими наборами входных данных и по результатам делаются выводы о назначении программы. В качестве дополнительного задания предлагается модифицировать программу, добавить условия или новые алгоритмы обработки и т.д. Например, студентам предлагается программа вычисления значения многочлена по схеме Горнера и требуется на ее основе написать функцию и использовать ее для вычисления значения производной многочлена.

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

 

Задачи третьего класса ориентированы на развитие познавательных действий на уровне применения, что в аспекте программирования предполагает готовность самостоятельно разрабатывать алгоритмы, создавать структуры данных, адекватные природе моделируемых объектов, осуществлять программную реализацию, отладку, тестирование, анализ полученных результатов на их соответствие решаемой задаче. Этот класс включает обширный перечень задач, направленных на развитие алгоритмической компетенции, как компонента цифровой компетенции студентов: обработка числовых и текстовых данных, с использованием библиотек Python для работы со строками, представление семантически связанных данных в виде вложенных словарей и списков, поиск, организация доступа к элементам данных. Например, предлагается разработать список словарей и реализовать алгоритмы перевода слов с русского на выбранный иностранный и обратно, создать вложенные списки, обеспечивающие представление связанных данных об успеваемости студентов, информации о книгах и их авторах для поиска в электронных каталогах и т.д.

 

Рассмотренные классы задач способствуют развитию группы компетенций, связанных с обработкой информации (Information processing) по классификации компонентов цифровой компетенции, описанной выше.

 

Четвертый класс задач ориентирован на развитие познавательных действий самого высокого в иерархии уровня, таких как анализ, оценка и создание, предполагает этапы анализа предметной области задачи, создания нового продукта в виде алгоритма или программы, оценку качества продукта. Развитие готовности к таким действиям необходимо как для осуществления профессиональной деятельности в области алгоритмизации и программирования, так и для обучения этой предметной области [4,8] [Baranova E.V., et al., 2020]. Состав задач этого класса включает задания на разработку средствами языка Python простых алгоритмов машинного обучения с использованием различных библиотек.

 

Например, предлагается разработать программу, обеспечивающую отнесение объекта к одному из двух классов по значениям заданного набора признаков, с использованием классификатора, основанного на дереве решений из библиотеки tree пакета sklearn. Природа объектов может быть различна: люди, животные, растения и т.д. На лекции студенты знакомятся с понятиями тестового и тренировочного наборов данных, классификатором DecisionTreeClassifier, методами fit и predict для обучения классификатора и получения предсказательных данных, подходами к оценке качества классификатора, а затем самостоятельно разрабатывают программу, анализируют полученные результаты.

 

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

 

Используются задачи на анализ образовательных данных (Educational Data Mining), непосредственно связанные с будущей профессиональной педагогической деятельностью. Например, требуется построить простую предсказательную модель успешности обучения: «Входной набор данных включает баллы студентов в рамках текущей успеваемости в середине и в конце семестра и результирующий итог: отчислен он или нет по итогам экзамена в конце семестра. Разработать программу, реализующую предсказательную модель на базе логистической регрессии с использованием методов библиотеки sklearn». На лекции студенты знакомятся с понятиями тестового и тренировочного наборов данных, классификатором LogisticRegression, методами fit и predict для обучения классификатора и получения предсказательных данных, подходами к оценке качества классификатора, а затем самостоятельно разрабатывают программу, анализируют полученные результаты.

 

Этот класс задач способствуют развитию группы компетенций, отнесенной по классификации компонентов цифровой компетенции к Problem Solving.

 

Л. Андерсон и Д. Краcволь ввели в иерархию знаний пятую категорию, самого высокого уровня, - «метакогнитивные знания» [1]. Эта категория подразумевает знания о процессах познания (knowledge of cognition) и самопознания, необходимые для осуществления исследовательской деятельности. Накопление знаний этого уровня происходит, по мнению авторов, в рамках выполнения выпускных квалификационных работ (ВКР).

 

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

 

Рассмотренный подход к обучению алгоритмам искусственного интеллекта и их программной реализации на языке Python реализуется с использованием электронных образовательных ресурсов (ЭОР), разработанных лично авторами и под их руководством студентами при выполнении ВКР. Ресурсы включают:

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

 

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

 

Экспериментальное исследование по оценке готовности студентов решать выделенные классы задач, направленные на развитие алгоритмической компетентности, когнитивных действий и цифровой компетенции будущих учителей информатики проводится авторами в течение последних двух лет . В исследовании принимали участие студенты четвёртых курсов РГПУ им. А.И. Герцена, г. Санкт-Петербурга, обучавшихся по направлению педагогического образования, профиль «Информатика и информационные технологии в образовании», всего 40 человек.

 

В ходе эксперимента был проведён опрос преподавателей, работающих со студентами. Экспертам было предложено проанализировать классы задач и высказать суждение об их влиянии на развитие цифровых компетенций. Анализ полученных данных показал, что наибольшее влияние умение решать выделенные классы задач способствует развитию первой группы компетенций (обработка информации), затем – работа с цифровым контентом, затем решение проблем, в наименьшей степени умение решать выделенные классы задач оказывает на развитие группы компетенций связанных с информационной безопасностью. Аналогичные результаты нами были описаны в [4].

 

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

 

[1] «The Digital Competence Framework 2.0» https://ec.europa.eu/jrc/en/digcomp/digital-competence-framework

 

Литература:

  1. [Anderson, L.W. (Ed.), Krathwohl, D.R. (Ed.) et al., 2001] 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. [Angeli Charoula & , Giannakos Michail, 2020] Charoula Angeli, Michail Giannakos. Computational thinking education: Issues and challenges. Computers in Human Behavior, Volume 105, April 2020, 106185
  3. [Baranova E.V., et al., 2020] 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.
  4. [Baranova E.V., et al., 2021] Baranova E., Simonova I. Taxonomy of learning objectives for the development of competencies ofcomputer sience teachers in a developing educational environment / В сборнике: CEUR Workshop Proceedings. 16. Сер. "NESinMIS 2021 - Proceedings of the 16th International Conference "New Educational Strategies in Modern Information Space"" 2021. С. 8-19.
  5. [Bloom et al., 1956] Bloom B. S.; Engelhart M. D.; Furst E. J.; Hill W. H.; Krathwohl D. R. (1956) Taxonomy of educational objectives: The classification of educational goals. Handbook I: Cognitive domain. New York: David McKay Company
  6. [Krathwohl, D. R. , 2002] Krathwohl, D. R. A Revision of Bloom’s Taxonomy. Theory into Practice. V 41. #4. Autumn, 2002. Ohio State University.
  7. [Kwon & Cheon, 2019] Kwon K., Cheon J. (2019) Exploring Problem Decomposition and Program Development through Block-Based Programs. International Journal of Computer Science Education in Schools, 3(1), No 1.
  8. Акимова В.А., Бережной В.В., Бородина Е.М. и др. Использование искусственного интеллекта и цифровой аналитики для совершенствования учебного процесса и его инфраструктуры в вузе. - Государственный университет управления (Москва), 2018. – 76 с. – ISBN 978-5-215-03110-0
  9. Баранова Е.В., Симонова И.В. Развитие алгоритмической компетенции студентов при подготовке учителей информатики в условиях цифрового образования / Перспективы науки. 2019. № 8 (119). С. 113-122.
  10. Баранова Е.В., Симонова И.В. Модель обучения алгоритмизации и программированию специалистов образования в области информационных технологий для подготовки кадров цифровой экономики /В книге: Интеграция образования в области естественных и точных наук. Аниськин В.Н., Баранова Е.В., Богословский В.И., Гавронская Ю.Ю., Жукова Т.А., Ларченкова Л.А., Макарова Л.П., Макарова Н.В., Пак М.С., Плахов Н.Н., Подходова Н.С., Попова Р.И., Роговая О.Г., Симонова И.В., Снегурова В.И., Сотова Л.П., Станкевич П.В., Шаталов М.А. Российский государственный педагогический университет им. А. И. Герцена. Санкт-Петербург, 2019. С. 9-30.2009. — 512 с.: ил.
  11. Баранова Е.В., Симонова И.В. Система учебных задач для формирования алгоритмической компетенции при подготовке учителей информатики / В сборнике: Новые образовательные стратегии в современном информационном пространстве. Сборник научных статей по материалам международной ежегодной научно-практической конференции. Санкт-Петербург, 2021. С. 190-195.
  12. Гудфеллоу, Я. Глубокое обучение / Я. Гудфеллоу, И. Бенджио, А. Курвилль ; перевод с английского А. А. Слинкина. — 2-е изд. — Москва : ДМК Пресс, 2018. — 652 с. — ISBN 978-5-97060-618-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/107901
  13. Рассел С., Норвиг П. Искусственный интеллект: современный подход, 2-е изд.: Пер. с англ. – М.: ООО «И.Д. Вильямс», 2016. – 1408 с.: ил. Парал. тит. англ. ISBN 978-5-8459-1968-7.
  14. Шалев-Шварц, Ш. Идеи машинного обучения : учебное пособие / Ш. Шалев-Шварц, Бен-Давид Ш. ; перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2019. — 436 с. — ISBN 978-5-97060-673-5. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/131686

Оставить комментарий: