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

Введение в машинное обучение

Машинное обучение – это подполе искусственного интеллекта (AI). Цель машинного обучения состоит в анализе структур данных и создании на их основе моделей, которые могут понимать и использовать люди.

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

Машинное обучение положительно влияет на все современные технологии.

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

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

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

Методы машинного обучения

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

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

Рассмотрим эти методы более подробно.

Машинное обучение с учителем

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

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

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

Машинное обучение без учителя

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

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

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

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

Подходы в машинном обучении

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

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

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

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

Метод k-ближайшего соседа

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

Сосредоточимся на методах для классификации объектов в k-NN. Вывод этого метода относит объект к одному из доступных классов. Это присвоит новый объект классу, наиболее часто используемому среди его ближайших соседей. Если k = 1, объект присваивается классу ближайшего соседа.

Для примера представьте, что у нас есть два класса объектов: красные ромбы и синие треугольники.

Если в пространстве появляется новый объект – к примеру, зеленый круг, – алгоритм должен отнести его к определенному классу.

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

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

Деревья принятия решений

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

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

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

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

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

Глубокое обучение

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

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

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

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

Языки программирования и машинное обучение

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

Сегодня можно предположить, что наиболее востребованным языком программирования в профессиональной области машинного обучения является Python. Затем идет Java, затем R и C ++.

Популярность Python может быть вызвана интенсивной разработкой систем глубокого обучения: TensorFlow, PyTorch и Keras. Будучи языком с удобочитаемым синтаксисом, который можно использовать в качестве языка сценариев, Python одинаково производителен как в предварительной обработке данных, так и в работе с данными напрямую. Библиотека машинного обучения scikit-learn построена на основе нескольких других пакетов Python, популярных среди разработчиков: NumPy, SciPy и Matplotlib.

Читайте также:

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

Среди библиотек машинного обучения для Java:

R – язык программирования с открытым исходным кодом, используемый в основном для статистических вычислений. За последние годы он стал популярным и пользуется большим успехом у ученых. R обычно не используется в промышленных производственных средах, но его популярность в промышленных приложениях растет из-за повышенного интереса к науке о данных. Популярные пакеты для машинного обучения в R:

Язык C++ обычно используется для машинного обучения и искусственного интеллекта в игровых или роботизированных приложениях (в том числе для передвижения роботов). Разработчики встроенных вычислительных аппаратов и инженеры-электроники предпочитают использовать C++ или C в приложениях для машинного обучения благодаря их гибкости и предлагаемому уровню контроля. Популярными библиотеками машинного обучения C++ являются масштабируемый пакет mlpack, Dlib с широким набором алгоритмов машинного обучения и модульная библиотека с открытым исходным кодом Shark.

Человеческий фактор в машинном обучении

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

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

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

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

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

Заключение

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

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

Источник

Что такое машинное обучение и как оно работает

какой набор инструментов чаще всего используется в машинном обучении. Смотреть фото какой набор инструментов чаще всего используется в машинном обучении. Смотреть картинку какой набор инструментов чаще всего используется в машинном обучении. Картинка про какой набор инструментов чаще всего используется в машинном обучении. Фото какой набор инструментов чаще всего используется в машинном обучении

Что такое машинное обучение?

Единого определения для machine learning (машинного обучения) пока нет. Но большинство исследователей формулируют его примерно так:

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

Вот как определяют машинное обучение представители ведущих ИТ-компаний и исследовательских центров:

Nvidia: «Это практика использования алгоритмов для анализа данных, изучения их и последующего определения или предсказания чего-либо».

Университет Стэнфорда: «Это наука о том, как заставить компьютеры работать без явного программирования».

McKinsey & Co: «Машинное обучение основано на алгоритмах, которые могут учиться на данных, не полагаясь на программирование на основе базовых правил».

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

Университет Карнеги Меллон: «Сфера машинного обучения пытается ответить на вопрос: «Как мы можем создавать компьютерные системы, которые автоматически улучшаются по мере накопления опыта и каковы фундаментальные законы, которые управляют всеми процессами обучения?»

История машинного обучения

Дмитрий Ветров, профессор-исследователь, заведующий Центром глубинного обучения и байесовских методов Факультета компьютерных наук ВШЭ, отмечает: изначально компьютеры использовались для задач, алгоритм решения которых был известен человеку. И только в последние годы пришло понимание, что они могут находить способ решать задачи, для которых алгоритма решения нет или он не известен человеку. Так появился искусственный интеллект в широком смысле и технологии машинного обучения в частности.

Как связаны машинное и глубокое обучение, ИИ и нейросети

Нейросети — один из видов машинного обучения.

Глубокое обучение — это один из видов архитектуры нейросетей.

какой набор инструментов чаще всего используется в машинном обучении. Смотреть фото какой набор инструментов чаще всего используется в машинном обучении. Смотреть картинку какой набор инструментов чаще всего используется в машинном обучении. Картинка про какой набор инструментов чаще всего используется в машинном обучении. Фото какой набор инструментов чаще всего используется в машинном обучении

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

Какие задачи решает машинное обучение?

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

Особенно полезны такие системы там, где необходимо выполнять огромные объемы вычислений: например, банковский скоринг (расчет кредитного рейтинга), аналитика в области маркетинговых и статистических исследований, бизнес-планирование, демографические исследования, инвестиции, поиск фейковых новостей и мошеннических сайтов.

В Леруа Мерлен используют Big Data и Machine Learning, чтобы находить остатки товара на складах.

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

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

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

Китайский производитель «умных» пылесосов Ecovacs Robotics обучил свои пылесосы распознавать носки, провода и другие посторонние предметы на полу с помощью множества фотографий и машинного обучения.

«Умная» камера на базе микрокомпьютера Raspberry Pi 3B+ с помощью фреймворка TensorFlow Light научилась распознавать улыбку и делать снимок ровно в этот момент, а также — выполнять голосовые команды.

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

Согласно исследованию BarclayHedge, более 50% хедж-фондов используют ИИ и машинное обучение для принятия инвестиционных решений, а две трети — для генерации торговых идей и оптимизации портфелей.

Наконец, машинное обучение способствует настоящим прорывам в науке.

Нейросеть AlphaFold от DeepMind в 2020 году смогла расшифровать механизм сворачивания белка. Над этой задачей ученые-биологи бились больше 50 лет.

Как устроено машинное обучение

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

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

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

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

какой набор инструментов чаще всего используется в машинном обучении. Смотреть фото какой набор инструментов чаще всего используется в машинном обучении. Смотреть картинку какой набор инструментов чаще всего используется в машинном обучении. Картинка про какой набор инструментов чаще всего используется в машинном обучении. Фото какой набор инструментов чаще всего используется в машинном обучении

Основные виды машинного обучения

1. Классическое обучение

Это простейшие алгоритмы, которые являются прямыми наследниками вычислительных машин 1950-х годов. Они изначально решали формальные задачи — такие, как поиск закономерностей в расчетах и вычисление траектории объектов. Сегодня алгоритмы на базе классического обучения — самые распространенные. Именно они формируют блок рекомендаций на многих платформах.

какой набор инструментов чаще всего используется в машинном обучении. Смотреть фото какой набор инструментов чаще всего используется в машинном обучении. Смотреть картинку какой набор инструментов чаще всего используется в машинном обучении. Картинка про какой набор инструментов чаще всего используется в машинном обучении. Фото какой набор инструментов чаще всего используется в машинном обучении

Но классическое обучение тоже бывает разным:

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

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

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

Эта модель возникла в 1990-х годах и на практике используется гораздо реже. Ее применяют для данных, которые просто невозможно разметить из-за их колоссального объема. Такие алгоритмы применяют для риск-менеджмента, сжатия изображений, объединения близких точек на карте, сегментации рынка, прогноза акций и распродаж в ретейле, мерчендайзинга. По такому принципу работает алгоритм iPhoto, который находит на фотографиях лица (не зная, чьи они) и объединяет их в альбомы.

2. Обучение с подкреплением

Это более сложный вид обучения, где ИИ нужно не просто анализировать данные, а действовать самостоятельно в реальной среде — будь то улица, дом или видеоигра. Задача робота — свести ошибки к минимуму, за что он получает возможность продолжать работу без препятствий и сбоев.

Обучение с подкреплением инженеры используют для беспилотников, роботов-пылесосов, торговли на фондовом рынке, управления ресурсами компании. Именно так алгоритму AlphaGo удалось обыграть чемпиона по игре Го: просчитать все возможные комбинации, как в шахматах, здесь было невозможно.

3. Ансамбли

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

Ансамбли работают в поисковых системах, компьютерном зрении, распознавании лиц и других объектов.

4. Нейросети и глубокое обучение

Самый сложный уровень обучения ИИ. Нейросети моделируют работу человеческого мозга, который состоит из нейронов, постоянно формирующих между собой новые связи. Очень условно можно определить их как сеть со множеством входов и одним выходом. Нейроны образуют слои, через которые последовательно проходит сигнал. Все это соединено нейронными связями — каналами, по которым передаются данные. У каждого канала свой «вес» — параметр, который влияет на данные, которые он передает.

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

Настоящим прорывом в этой области стало глубокое обучение, которое обучает нейросети на нескольких уровнях абстракций.

Здесь используют две главных архитектуры:

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

Проблемы машинного обучения

Перспективы машинного обучения: не начнет ли ИИ думать за нас?

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

Так же и с ИИ: он уже превосходит нас во всем, что касается сложных вычислений, но по-прежнему не способен сам ставить себе новые задачи и решать их, подбирая нужные данные и условия. Это ограничение в последние годы пытаются преодолеть в рамках сильного ИИ, но пока безуспешно. Надежду на решение этой проблемы внушают квантовые компьютеры, которые выходят за пределы обычных вычислений.

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

Источник

Добавить комментарий

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