Научная статья на тему 'МАШИННОЕ ОБУЧЕНИЕ'

МАШИННОЕ ОБУЧЕНИЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
188
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ / ИНФОРМАЦИЯ / IT-ТЕХНОЛОГИИ / ПРАВИЛА / БАЗЫ ДАННЫХ / НЕЙРОННАЯ СЕТЬ / MACHINE LEARNING IS THE ENGINE OF PROGRESS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Котлов В.Д.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MACHINE LEARNING

Methods of programming machine learning and its description are considered. Examples of the use of the problem are given, as well as the main components of machine learning.

Текст научной работы на тему «МАШИННОЕ ОБУЧЕНИЕ»

УДК 600.341

Котлов В.Д.

3 курс

факультет «Бизнес-информатика» Сибирский государственный университет путей сообщения

научный руководитель: Пятаев М.В., к.э.н.

доцент

Россия, г. Новосибирск

МАШИННОЕ ОБУЧЕНИЕ

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

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

Kotlov V. D.

The 3rd course, faculty of "Business Informatics" Siberian state transport University Russia, Novosibirsk Scientificsupervisor: M. V. Pyataev candidate of economic Sciences , associate Professor MACHINE LEARNING

Abstract: Methods of programming machine learning and its description are considered. Examples of the use of the problem are given, as well as the main components of machine learning.

Keywords: Machine learning is the engine of progress.

О машинном обучении можно сказать следующее. Человеком не может обрабатываться столько информации и на помощь ему приходит «ДИП ЛЕНИНГ» - глубинное машинное обучение (технология имитирует работу человеческого мозга - обучаемость нейронной сети, подобная человеческому мозгу). Теоретические основы машинного обучения появились практически гораздо раньше первых компьютеров, однако при его практическом применении всегда приходится учитывать специфику конкретных систем.

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

Снижение стоимости вычислительных ресурсов способствует более широкому применению машинного обучения для решения задач Больших Данных — алгоритмы и методы машинного обучения сначала адаптировались

и переносились на BI - BusinessIntelligence, а затем появились Spark и различные реализации языка R.

R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом). Основные принципы представлены на рис.1.

Рисунок 1.

Система BigR содержит механизмы создания R-скриптов для работы с кластером Hadoop — пользователь может изучать, трансформировать и анализировать данные в Biglnsights с помощью знакомого ему синтаксиса R. Применяя такие классы, как bigr.frame, bigr.vector и bigr.lis, можно реализовать соответствующие коллекции языка R — data.frames, vectors и frames. При этом функции R можно переносить непосредственно в Hadoop, а через механизмы groupApply, rowApply и tableApply они могут быть отправлены на исполнение в кластер — Biglnsights распараллеливает выполнение и предоставляет консолидированный результат.

BigR дает возможность внутри R-скрипта использовать готовые масштабируемые алгоритмы анализа данных: SVM (метод опорных векторов, аккумулирующий несколько схожих алгоритмов обучения с учителем для решения, — например, задач классификации и регрессионного анализа).

При использовании инструментов машинного обучения требуется учитывать фактор масштаба, однако выгрузка данных из Hadoop и их анализ на выделенном сервере могут вызвать непозволительные задержки — в сервере обработка больших объемов неструктурированных данных и решение аналитических задач выполняются непосредственно на кластере Hadoop без их переноса на вычислитель. После конфигурирования источников данных Biglnsights к ним можно получать доступ через SPSS AnalyticServer.

Biglnsights - это программная платформа, помогающая организациям

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

Технология Hadoop позволяет в качестве базового языка написания функций использовать Java(транслируются в специальный байт-код). Особенностью Hadoop является перемещение вычислений как можно ближе к данным. Поэтому пользовательские задачи запускаются на том узле, который содержит данные для обработки. По окончанию фазы Map происходит перемещение промежуточных списков данных для обработки функцией Reduce. Их объем, как правило, мал, что обеспечивает высокое быстродействие системы.

Map/reduce - программная модель выполнения распределенных вычислений для больших объемов данных представлена на рис. 2.

input

HDfS j »|

□EQ -I

ООО о о

Рисунок 2. Пять основных шагов исполнения задачи в Hadoop.

INPUT(HDFS)-ВХОД РАЗРЫВ ^ ПЛАН(таблица) ^ СОРТИРОВКА ^ КОПИРОВАНИЕ ^ СОЕДИНЕНИЕ ^

УМЕНЬШЕНИЕ(СОКРАЩЕНИЕ) ^ ЧАСТЬ ^0UTPUT(ВЫВ0Д) REPLICATION (КОПИРОВАНИЕ).

Технология Hadoop является очень динамично развивающейся технологией.

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

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

1) Supervisor - этот модуль «слушает» все процессы на своей машине и

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

2) Основной абстракцией в Storm является поток (stream) с неограниченной последовательностью кортежей (tuples). Источники потоков данных для обработки представляются в топологии абстракцией, называемой spout, а обработчики потоков, которые могут выполнять функции, фильтровать потоки, агрегировать или объединять потоки данных, взаимодействовать с базами данных называются bolt. На рисунке приведен пример топологии, в которой обрабатываются два потока данных с помощью трех обработчиков.

Рисунок 3. Диаграммы топологии для исполнения некоторой задачи

Что поможет развитию технологии больших данных в обозримом будущем?

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

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

В-третьих. Приложения, а не только аналитика для освоения Больших данных, но и ранние сценарии использования технологий больших данных сосредоточивались, главным образом, на сокращении ИТ-затрат и схемах

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

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

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

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

Использованные источники:

1. http://www.dis-group.ru/solutions/data_management/big_data/

2. http://www.clouderp.ru/tags/BIG_DATA/

3. https://postnauka.ru/faq/46974

4. http://www.tadviser.ru/index.php

5. http://www.logistics.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.