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

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №10 (352) март 2021 г.

Дата публикации: 06.03.2021

Статья просмотрена: 367 раз

Библиографическое описание:

Титов, М. А. Машинное обучение и язык программирования Python / М. А. Титов. — Текст : непосредственный // Молодой ученый. — 2021. — № 10 (352). — С. 27-29. — URL: https://moluch.ru/archive/352/79029/ (дата обращения: 20.04.2024).



В статье рассматриваются общие сведения о машинном обучении, его основные виды, а также наиболее значительные библиотеки для машинного обучения на языке Python.

Ключевые слова: машинное обучение, искусственные нейронные сети, Python, Scikit-learn, TensorFlow.

Машинное обучение — основной способ демонстрации науки о данных широкой общественности. В машинном обучении вычислительные и алгоритмические возможности науки о данных соединяются со статистическим образом мышления, в результате возникает набор подходов к исследованию данных, связанных в основном с эффективностью и теорией о вычислении. Термин «машинное обучение» иногда рассматривают как некоторую «волшебную таблетку», которая решает все проблемы с данными, однако в реальности это не так. Хотя возможности этих методов огромны, для их эффективного использования необходимо хорошо разбираться в сильных и слабых сторонах каждого метода, как и в общих понятиях, таких как «систематическая ошибка» (bayes), «дисперсия» (varience), «переобучение» (overfitting), недообучение (underfitting) и т. д.

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

На базовом уровне машинное обучение можно разделить на два основных вида:

— машинное обучение с учителем (supervised learning);

— машинное обучение без учителя (unsupervised learning).

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

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

Кроме того существует так называемый метод частичного обучения, который сочетает в себе достоинства и недостатки первых двух способов [1].

Язык Python, появившийся в 1991 году быстро набрал популярность и стал общепринятым языком для машинного обучения. Он сочетает в себе мощь высокоуровневых языков программирования и простоту использования предметно-ориентированных скриптовых языков программирования. Python имеет библиотеки для загрузки и визуализации данных, статистических вычислений, обработки изображений и многого другого. Самые популярные библиотеки для машинного обучения на языке Python: Scikit-learn, PyTorch, Caffe, TensorFlow, OpenCV. Подробнее рассмотрим библиотеки Scikit-learn и TensorFlow [2].

Scikit-learn — одна из самых старых и некогда популярных библиотек для обучения нейронных сетей. Она была создана в 2007 году и до сих пор является надежным инструментом в таких областях, как: классификация, регрессия, кластеризация, моделирование.

Основные принципы API статистического оценивания библиотеки Scikit-learn:

— единообразие (интерфейс всех объектов идентичен и основан на ограниченном наборе методов);

— контроль (видимость всех задаваемых значений параметров как открытых атрибутов);

— ограниченная иерархия объектов (классы языка Python используются только для алгоритмов, наборы данных представлены в стандартных форматах);

— объединение (многие задачи машинного обучения можно выразить в виде последовательности алгоритмов более низкого уровня);

— разумные значения по умолчанию (библиотека задает соответствующие значения по умолчанию для необходимых моделей пользовательских параметров).

На практике эти принципы очень облегчают изучение библиотеки Scikit-learn.

Чаще всего использование API статистического оценивания библиотеки Scikit-learn включает следующие шаги:

  1. выбор класса модели с помощью импорта соответствующего класса-оценивателя из библиотеки Scikit-learn;
  2. выбор гиперпараметров модели путем создания экземпляра этого класса с соответствующими значениями;
  3. компоновка данных в матрицу признаков и целевой вектор;
  4. обучение модели на своих данных;
  5. применение модели к новым данным [1].

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

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

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

Название «TensorFlow» происходит от вычислений, которые искусственная нейронная сеть производит с многомерными данными и тензорами, буквально — «поток тензоров». Тензоры являются основными объектами в TensorFlow и реализованы как n-мерные массивы данных, которые позволяют представлять данные в сложных измерениях. Каждое измерение можно рассматривать как отдельный признак.

В заключение следует сказать, что машинное обучение стало неотъемлемой частью нашей жизни, начиная от постановки медицинского диагноза c последующим лечением и заканчивая поиском друзей в социальных сетях. Одним из самых популярных инструментов для машинного обучения является язык Python, который сочетает в себе мощь и простоту использования. Он позволяет работать с множеством библиотек для машинного обучения, например Scikit-learn, PyTorch, Caffe, TensorFlow, OpenCV.

Литература:

  1. Лекция 6. Python и Машинное обучение [Электронный ресурс] — Режим доступа: https://www.youtube.com/watch?v=CqNf4mfd4Hw&feature=emb_logo (дата обращения: 03.03.2021).
  2. Балабанов, Н. Р. Обзор библиотек обучения нейронных сетей на языке Python / Н. Р. Балабанов. — Текст: непосредственный // Молодой ученый. — 2020. — № 46 (336). — С. 6–8. — URL: https://moluch.ru/archive/336/75084/ (дата обращения: 03.03.2021).
  3. Краткое руководство по Tensorflow [Электронный ресурс] — Режим доступа: https://pythonist.ru/kratkoe-rukovodstvo-po-tensorflow/ (дата обращения: 03.03.2021).
Основные термины (генерируются автоматически): машинное обучение, данные, API, библиотека, вычисление, модель, простота использования, сеть, статистическое оценивание библиотеки, язык.


Похожие статьи

Онлайн платформы машинного обучения | Статья в журнале...

 Машинное обучение (МО) — подобласть компьютерной науки, которая занимается такими

Расчет стоимости основан на частоте использования алгоритма и времени использования.

DataRobot [4] – это сервис машинного обучения на основе облачных вычислений, который...

Современные программные продукты для анализа данных

R — это язык и среда для статистических вычислений и графики, который предоставляет

Данный язык прост в использовании и обеспечивает быструю и надежную платформу для обработки

Другим распространенным инструментом для анализа данных является Python.

Особенности предобработки данных для применения машинного...

 Предварительная обработка данных является первым и неотъемлемым этапом машинного обучения, поскольку качество данных и

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

Формализация требований для средств разработки и обучения...

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

− Также закономерно требуется использовать современные средства и библиотеки разработки

Основная задача системы разработки — предоставление возможности обучения нейронной...

Программное обеспечение многомерного статистического анализа

В настоящее время вычислительные системы и компьютерные сети позволяют накапливать большие массивы данных для решения задач обработки и анализа данных. Подобные задачи обычно решают с помощью статистических пакетов. Однако существующие в настоящее...

Анализ технологии создания систем классификации...

Ключевые слова: нейронная сеть, машинное обучение, трансферное обучение

Данные библиотеки необходимы для работы с данными, по большей части они имеют

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

Роль больших данных в глубинном обучении | Статья в журнале...

Основной упор в машинном обучении идет на представление входных данных и

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

Огромным источником статистических и математических данных являются коммерческие и...

Кодирование категориальных данных для использования...

В большинстве алгоритмов машинного обучения набор данных может содержать текстовые или

Машинное обучение может построить необходимую модель автоматически на основе

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

Похожие статьи

Онлайн платформы машинного обучения | Статья в журнале...

 Машинное обучение (МО) — подобласть компьютерной науки, которая занимается такими

Расчет стоимости основан на частоте использования алгоритма и времени использования.

DataRobot [4] – это сервис машинного обучения на основе облачных вычислений, который...

Современные программные продукты для анализа данных

R — это язык и среда для статистических вычислений и графики, который предоставляет

Данный язык прост в использовании и обеспечивает быструю и надежную платформу для обработки

Другим распространенным инструментом для анализа данных является Python.

Особенности предобработки данных для применения машинного...

 Предварительная обработка данных является первым и неотъемлемым этапом машинного обучения, поскольку качество данных и

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

Формализация требований для средств разработки и обучения...

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

− Также закономерно требуется использовать современные средства и библиотеки разработки

Основная задача системы разработки — предоставление возможности обучения нейронной...

Программное обеспечение многомерного статистического анализа

В настоящее время вычислительные системы и компьютерные сети позволяют накапливать большие массивы данных для решения задач обработки и анализа данных. Подобные задачи обычно решают с помощью статистических пакетов. Однако существующие в настоящее...

Анализ технологии создания систем классификации...

Ключевые слова: нейронная сеть, машинное обучение, трансферное обучение

Данные библиотеки необходимы для работы с данными, по большей части они имеют

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

Роль больших данных в глубинном обучении | Статья в журнале...

Основной упор в машинном обучении идет на представление входных данных и

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

Огромным источником статистических и математических данных являются коммерческие и...

Кодирование категориальных данных для использования...

В большинстве алгоритмов машинного обучения набор данных может содержать текстовые или

Машинное обучение может построить необходимую модель автоматически на основе

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

Задать вопрос