Machine learning, deep learning. что это? зачем это?

The Best Explanation: Machine Learning vs Deep Learning

Original link by Kairos team

Каждый раз, при создании чего-то нового, появляются новые понятия. Итак, давай разберём два понятия, которые на слуху последние годы: Machine Learning (ML) и Deep Learning (DL). Технари, бизнесмены и маркетологи любят эти термины и часто их используют, но понимают ли они разницу.

ML и DL имеют одну цель и связаны с искусственным интеллектом (ИИ). Начнём с простых определений:

Искусственный интеллект: компьютерная система, которая имитирует человеческий интеллект.
Machine Learning: самостоятельное обучение компьютерных систем.

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

Простой пример: если ИИ используется для распознавания эмоций на фотографиях, алгоритмы Machine Learning будут вводить тысячи изображений лиц в систему. Deep Learning поможет системе распознать модель эмоции на фотографиях.

Обратите внимание

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

Картинка с “Номер 5” из фильма “Короткое замыкание”

Machine Learning анализирует и отбирает данные, учится на этих данных и использует их, чтобы сделать определённые действия в зависимости от события.

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

 
Кстати, Machine Learning может быть выполнено с помощью нескольких алгоритмов:

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

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

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

Распределение дынных по группам, например, документы или email’ы.

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

Существуют также два типа алгоритмов Machine Learning:

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

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

Важно

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

Deep Learning обрабатывает больший объём данных, чем Machine Learning. Deep Learning алгоритмы мощные и им нужно большое количество данных, чтобы были лучшие результаты, но будьте осторожны. Для обработки Deep Learning алгоритмов нужны большие мощности, в отличии от Machine Learning алгоритмов.

Почему? Алгоритмы Deep Learning используются для решения сложных задач, например, матричные умножения, для этого требуется GPU.

Они также предназначены для решения высокоуровневых задач, поэтому в случае распознавания лица Deep Learning алгоритмом, получится картинка в формате RAW, в то время как изображения Machine Learning алгоритма будут размытыми.

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

Теперь вы можете спросить: «Что такое Deep Learning?» Ну, Deep Learning это смесь алгоритмов Machine Learning + нейросеть+ИИ.

Machine Learning и Deep Learning— это разные понятия, которые имею связующее звено — ИИ. Они хороши для использования в разных задачах.

Однако, при использовании Deep Learning вы будете использовать Machine Learning, поскольку они связаны. Кроме того, если Deep Learning выйдет за пределы “гадания на кофейной гуще”, что на данный момент из себя представляет Deep Learning, то скорее всего, оно решит многие из наших повседневных проблем.

Источник: https://medium.com/@silinmaks1996/the-best-explanation-machine-learning-vs-deep-learning-3623ec86404e

Искусственный интеллект (AI): в чем разница между Deep Learning и Reinforcement Learning?

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

Эти данные и высокая вычислительная мощность, которые теперь доступны многим, — то, что способствует колоссальному росту AI-технологий и дает новые возможности Deep learning и Reinforcement learning. В условиях быстрых перемен в AI-индустрии становится не так просто идти в ногу с передовыми технологиями.

В этой статье рассмотрим подробнее, что из себя представляет Deep learning и Reinforcement learning и разберем, в чем их отличие. 

Совет

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

Что самое интересное, и Deep learning, и Reinforcement learning позволяют компьютеру самостоятельно разрабатывать алгоритм решения задач.

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

Что такое Deep learning?

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

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

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

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

Ярким примером Deep learning на практике является Apple’s Face ID. При настройке телефона вы обучаете алгоритм, сканируя свое лицо. Каждый раз, когда вы входите в систему с использованием Face ID, камера TrueDepth фиксирует тысячи точек данных, которые создают детализированную схему вашего лица, а встроенная нейронная сеть анализирует, вы ли это пытаетесь войти в систему.

Что такое Reinforcement learning?

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

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

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

Обратите внимание

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

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

Результатом этого падения является точка данных, на которую реагирует система Reinforcement learning.

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

Одним из самых удивительных примеров применения Reinforcement learning является компьютерная игра Atari Break Out.

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

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

Отличие Deep learning от Reinforcement learning

Обе системы обучаются самостоятельно. Разница заключается в том, что Deep learning – это система, которая обучается на основе имеющихся данных, а затем применяет эти знания для новых данных, в то время как Reinforcement learning работает путем корректировки действий, основанных на непрерывной обратной связи, чтобы улучшить результат. 

Deep learning и Reinforcement learning не являются взаимоисключающими. Фактически, можно применять Deep learning в системе Reinforcement learning. И это будет уже Deep reinforcement learning. Но это уже тема следующей статьи.

Источник

Источник: https://datastart.ru/blog/read/iskusstvennyy-intellekt-ai-v-chem-raznica-mezhdu-deep-learning-i-reinforcement-learning

Глубокое обучение (Deep Learning): краткий туториал

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

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

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

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

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

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

Контролируемое и неконтролируемое обучение

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

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

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

Неконтролируемое обучение (обучение без учителя, unsupervised learning) — это машинное обучение с использованием наборов данных без определенной структуры.

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

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

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

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

Теперь вы подготовлены к изучению того, что такое глубокое обучение и как оно работает.

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

Разница между машинным и глубоким обучением

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

Мы хотим, чтобы наш сервис предсказывал цену на авиабилет по следующим входным данным:

  • аэропорт вылета;
  • аэропорт назначения;
  • дата отбытия;
  • авиакомпания.

Нейронные сети глубокого обучения

Давайте заглянем внутрь нашей модели. Как и у животных, искусственная нейронная сеть содержит взаимосвязанные нейроны. На диаграмме они представлены кругами:

Глубокая нейронная сеть (с двумя скрытыми слоями)

Нейроны сгруппированы в три различных типа слоев:

  • входной слой;
  • скрытый слой (слои);
  • выходной слой.

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

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

Слово «глубина» в термине «глубокое обучение» означает наличие более чем одного скрытого слоя.

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

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

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

Важно

Каждый нейрон имеет функцию активации. Ее смысл трудно понять без привлечения математических рассуждений. Одной из ее целей является «стандартизация» данных на выходе из нейрона.

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

Обучение глубокой сети

Обучение нейросети — самая сложная часть глубокого обучения. Почему?

  • Вам нужен большой набор данных.
  • Вам нужно большое количество вычислительной мощности.

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

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

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

Читайте также:  Широкое использование мягких роботов

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

Как уменьшить значение функции потерь?

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

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

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

Совет

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

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

В сухом остатке:

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

Интересные статьи:

Источник: https://neurohive.io/ru/osnovy-data-science/glubokoe-obuchenie-deep-learning-kratkij-tutorial/

Что такое Deep Learning? Как работает глубокое обучение?

Как работает глубокое обучение и что оно из себя представляет? В ходе статьи мы расскажем про Deep Learning и разберемся с его ключевыми понятиями.

Уже 20 лет существует понятие «глубокое обучение, но совсем недавно о нём начали активно говорить.

В рамках этой публикации объясним, что спровоцировало активные разговоры вокруг Deep Learning, что это, в чём отличия от классического машинного обучения и другие полезные нюансы.

#2 — Что из себя представляет

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

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

Популярность приобрела после серии публикаций от известных учёных, ряда статей из научных журналов и подобного. Когда технологию начали развивать, крупные медиа заинтересовались этой сферой, впервые о Deep Learning заговорили в СМИ The New York Times. В основе был использован материал (научная работа) специалистов университета Торонто: Д.

Хинтона, И Сатскевера, А. Крижевского. В основе работы лежали аналитические данные о распознании изображений ImageNet. По их наблюдениям значительным превосходством обладала нейросеть, созданная на основании глубокого обучения. Результативность системы достигла 85%. Это стало началом распространения нейросети и её постоянной победой в конкурсах.

#3 — А что такое машинное обучение?

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

Для ясности описанного рассмотрим пример: нужно обеспечить распознавание человека на фотографиях, от разработчика требуется предоставить порядка 10 000 картинок с отмеченными чертами человека, тогда программа в будущем сможет сама определять закономерности и выявлять очертания тела.

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

#4 — Принцип работы глубокого обучения

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

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

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

Deep Learning активно применяется во время взаимодействия с многослойными сетями, созданными искусственными путём. Поставленная задача для системы глубокого обучения достигает поставленной цели намного проще.

Обратите внимание

Сегодня существует 3 основных термина, которые сегодня сосуществуют и обладают приблизительно одним смыслом: Deep Learning, машинное обучение и искусственный интеллект. В действительности это разные понятия, которые являются вытекающими параметрами из других свойств:

  1. Искусственный интеллект представляет собой наличие самых разнообразных алгоритмов действий, призванных имитировать человеческое решение поставленных задач. Примером является программа – простая игра в шахматы.
  2. Машинное обучение является отраслью использования ИИ, здесь приложение не только решает поставленные задачи, но и записывает себе особенности решения для создания собственного опыта, упрощающего и уточняющего последующие действия. Пример — приложение шахмат изучает поведение соперника и учитывает его для дальнейшего перестроения тактики.
  3. Глубокое обучение – это один из способов машинного обучения, в основе которых лежат нейронные сети. Во время игры в шахматы обучается преимущественно нейронная сеть.

#5 — Способ работы глубокого обучения

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

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

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

#6 — Что уже разработано?

Источник: https://itproger.com/news/123

Machine Learning vs. Deep Learning

If you’re new to the field of data science

, it may seem like there’s a lot of jargon to keep track of. Two of the loudest buzz words, which are often mistakenly used interchangeably, are machine learning and deep learning. What’s the difference? The short answer is that deep learning is a technique for implementing machine learning. But let’s zoom out for a minute and discuss what both of these terms mean on a larger scale, and how they fit into the larger scope of artificial intelligence.Artificial Intelligence: The Outer CircleDraw three concentric circles, and you will have a helpful visual aid for thinking about how artificial intelligence, machine learning, and deep learning relate to each other.

Artificial intelligence, or the outermost circle, can be defined as the capability of a machine to imitate intelligent human behavior. This includes the capacity to handle complicated tasks such as decision making, understanding human speech, detecting fraud, and more.

As Netflix’s Senior Data Scientist F. William High said during the opening panel at DataScience: Elevate, “AI implies a level of system control and orchestration of multiple models and rules.

«We can think of machine learning as an important subset of AI, encompassing the techniques

and strategies that work to answer the questions that AI is trying to answer.Machine Learning: The Middle CircleMachine learning is defined by Stanford University as the science of getting computers to act in specific ways without explicitly programming them to do so. Why is this important? Data is rapidly accumulating by the second. In order to keep up, it’s essential to implement algorithms that can quickly and efficiently recognize patterns and make predictions.

There are a number of machine learning methods or algorithms that can be applied to almost any data problem. These techniques include linear regression, logistic regression, k-means clustering, decision trees, random forests, and more, and they can all be applied to a variety of real-life use cases.

Some of these use cases were discussed during DataScience: Elevate's opening panel, and they range from building recommendation engines for curated email content at Quora, to employing natural language processing in chat logs at Riot Games, to building predictive models focused on customer churn at Verizon Wireless.


Deep Learning: The Inner CircleDeep learning is a form of machine learning that is inspired by the structure of the human brain and is particularly effective in feature detection.

This technique involves feeding your model large volumes of data, but it requires less feature engineering than a linear regression model would. How does this translate to real life? «If you’re looking at classifying images for a cat, you’ll have to feed your data set with a bunch of images of a cat. But you don’t necessarily have to say that a cat is something with cute ears or whiskers,” explained Verizon Wireless Data Scientist Aurora LePort during the opening panel of DataScience: Elevate.Before you start thinking about deep learning, however, it’s important to first fully understand the concept of a neural network. A neural network passes data through interconnected layers of nodes, classifying information and characteristics of a layer before passing the results on to other nodes in subsequent layers. The difference between a neural network and a deep learning network is contingent on the number of layers: A basic neural network may have two to three layers, while a deep learning network may have dozens or hundreds.

The technique of deep learning has garnered a tremendous amount of buzz, particularly because of how it uses the human brain and neural coding as the basis for how a machine can recognize and classify stimuli.

Hopefully this post gives you a helpful frame of reference for thinking about the differences between artificial intelligence, machine learning, and deep learning, as well as the ways that they are all connected.

Источник: https://www.datascience.com/blog/machine-learning-and-deep-learning-what-is-the-difference

Обучение машин: что такое machine learning и как им овладеть

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

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

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

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

Важно

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

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

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

С учителем и без: каким бывает машинное обучение

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

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

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

Это называют обучением с учителем (supervised machine learning): вы сами уже знаете соотношение, влияющее на цену, и позволяете компьютеру его рассчитать. У вас есть X и Y, а компьютер лишь находит связывающую их закономерность.

Другой тип машинного обучения — обучение без учителя (unsupervised machine learning). В этом случае у вас есть данные о домах, но о том, как они соотносятся с ценой, вы и не подозреваете. Однако анализ информации может обнаружить интересные закономерности в ценах по районам, по времени продаж и так далее.

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

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

Совет

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

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

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

От НАСА до лесов Амазонии: где применяется machine learning (и нужно ли оно вам)

Онлайн-кинотеатр Netflix посещают около 117 млн пользователей по всему миру, и разработчики используют машинное обучение, чтобы рекомендовать пользователям фильмы и сериалы на основе персональной истории просмотра и оценок.

Читайте также:  Робот-змея будет использоваться для проверки труб

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

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

Источник: https://theoryandpractice.ru/posts/16970-obuchenie-mashin-chto-takoe-machine-learning-i-kak-im-ovladet

Введение в Deep Learning

Около 5 тысячь лет назад, биологический интеллект (Homo Sapiens) начал создавать универсальный язык, на котором собирался описывать процессы, происходящие вокруг него.

И удивительная вещь: оказалось, что этим языком получалось описать как очень крупные объекты (скажем, черные дыры), так и в очень маленькие (например, электроны).

Вы, конечно же, догадались, что имя этого языка «математика».

Не прошло еще и ста лет, как тот же биологический интеллект (человечество) изобрел лампово-кремнивые «орудия труда», которые в своей роботе оперируют математической логикой. И опять вы догадались, что речь идет о ЭВМ.

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

И этот созданный интеллект помогал человеку с решением рутинных и не очень задач, помогал все лучше и лучше. И прошли считанные на пальцах одной руки годы, как ИИ начал решать какие-то из этих задач на уровне человека, а какие-то и лучше…

Таких успехов ИИ становится все больше и больше, все в большем количестве сфер. Я выделил 2 человеческие (нетехнологические) причины таких успехов.

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

Вторая причина – то, что мы называем «человеческий фактор», помноженный на монотонную трудовую деятельность.

Обратите внимание

Редкий переводчик после 1К+ переведенных договоров заинтересован в идеальном переводе еще одного договора; редкий юрист перечитывает в сотый раз почти типовой договор и ищет в нем какие-то ньансы или интересные шаги; редкий риелтор ищет идеальную квартиру 10-му за день клиенту (и не думает больше о своей выгоде, чем об удобстве клиента). Продолжать можно бесконечно.

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

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

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

Могу смело заявить, что 99% последних успехов ИИ в различных сферах деятельности, были достигнуты благодаря научным и инженерным успехам в развитии нейронных сетей. Эта мысль меня побудила популярно рассказать о нейросетях и дисциплине Deep Learning, изучающей глубокие нейронные сети.

Слайды с того, что получилось на первой лекции выкладываю ниже.

Кроме того, я, как один из соорганизаторов и идейных вдохновителей Data Geeks Community, обещаю всячески поддерживать и развивать эту тему (в первую очередь, с помощью докладов) на Data Geeks митапах. Поэтому присоединитесь к нашему сообществу (это бесплатно) и будем рады видеть вас на встречах (это тоже бесплатно)!

Ссылки по теме:

1. Введение в Machine Learning.

Источник: https://www.codeinstinct.pro/2018/02/deep-learning-introduction.html

Machine Learning: где деньги лежат?

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

Мы поговорили с Александром Сербулом из «1С-Битрикс», который рассказал о применении машинного обучения для решения бизнес-задач, причинах хайпа вокруг deep learning и пользе чат-ботов для пользователей и бизнеса.

За подробностями добро пожаловать под кат.

Александр Сербул — эксперт в области Big Data, разработки программного обеспечения, системного анализа и проектирования.

В «1С-Битрикс» курирует направление контроля качества интеграции и внедрений, активно участвует как архитектор и разработчик в проектах компании, связанных с высокой нагрузкой и отказоустойчивостью («Битрикс24»), консультирует партнеров и клиентов по вопросам архитектуры высоконагруженных решений, эффективному использованию технологий кластеризации продуктов «1С-Битрикс» в контексте современных облачных сервисов (Amazon Web Services и др.).

— Как Вы пришли в машинное обучение и чем обусловлен Ваш интерес к нему?

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

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

— Вы курируете направления AI, deep learning и big data. Расскажите об основных задачах, которые вы решали с использованием машинного обучения?  

Александр Сербул: Официально я курирую направление контроля качества и интеграции внедрений, но, кроме того, несколько лет занимаюсь направлениями big data, machine learning (в том числе deep learning) и искусственного интеллекта.

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

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

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

Важно

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

Дальше мы решили улучшать систему рекомендаций с помощью проведения АБ-тестирования. Мы внедрили в продукт Битрикс инструменты для проведения АБ-тестов.

В итоге после серии тестов и анализа их результатов мы упростили модель рекомендаций и взяли за основу content-based-подход. Мы составляем профиль интересов пользователя в зависимости от того, какие сайты он посещает.

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

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

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

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

Затем мы делали модель, которая составляет портрет пользователя и кластеризует клиентов в зависимости от того, какие продукты им интересны.

— А как насчет модного сейчас deep learning? У вас были проекты, где нужно было обучать глубокие сети?

Александр Сербул: Последний год мы активно копаем тему искусственного интеллекта и глубокого обучения для создания чат-ботов. Мы сделали пилот вместе с мэрией Москвы. Датасет, на котором мы обучались, состоял из 500 тыс.

Совет

вопросов с ответами. Пока разработка не пошла дальше пилота, хотя качество было нормальным: accuracy получилось около 75%. Не слишком круто, но тем не менее чат-бот позволял людям находить ответы на свои вопросы быстрее и эффективнее.

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

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

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

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

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

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

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

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

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

Александр Сербул: Конечно, это связано с тем, что научились правильно обучать глубокие сети. Появился софт для этого, появилось железо (GPUшки). В некоторых сферах (самодвижущиеся автомобили, например) стали пытаться заменить человека алгоритмами на основе нейронных сетей.

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

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

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

Источник: https://www.pvsm.ru/algoritmy/265767

Data mining и machine learning – что это и в чем между ними разница?

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

Несмотря на навеянное киноиндустрией и футуристами недоверие к ИИ, пора выдохнуть и довериться ему. Ведь большинство рутинных задач можно легко вычеркнуть из вашего списка дел уже сейчас. В особенности, стоит обратить внимание на две основные технологии – data mining и machine learning.

Data mining и machine learning в основном сосредоточены на том, чтобы помогать компаниям разрабатывать инструменты принятия решений без особого участия человека. Более того, принятые решения могут стать основой для действий в том или ином направлении.

Обратите внимание

Не бойтесь, контроль не потерян, вы сами можете установить лимиты свободы технологий. Да и “свобода” эта условна.

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

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

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

Data mining

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

Чаще всего для удобства компании используют хранилища данных (data warehouses). Таким образом можно в любой момент провести нужный анализ и получить рабочие инсайты для принятия решений.

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

А именно они важны в анализе закономерностей поведения потребителя и для предсказания возможного фидбека.

Machine learning

Важно

С технологией machine learning (с англ. Машинное обучение) дела обстоят чуть сложнее. По сути, это система программ на основе ИИ, созданная для понимания роботами природы хода человеческой мысли. Да-да, мы сами помогаем роботам поработить наше сознание! Но не все так фатально. В итоге, ученые и инженеры надеются получить механизм для принятия решений без участия человека.

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

Также сейчас активно развивается новая технология – deep learning. Глубокое обучение пытается повторить работу мозга человека. В конце концов, ученые хотят дойти до той точки, когда в базах данных потребности и вовсе не будет. Весь процесс предсказания поведения будет автоматизирован.

Читайте также:  В скором времени каждый из нас сможет создать своего виртуального двойника

Не верится? Вернемся к этому вопросу через лет 5.

Основные различия между технологиями

  1. Функционал data mining строго ограничен сбором информации с разных ресурсов. Сама технология не принимает решения и не способна делать какие-то действия без участия человека. Основная цель – поиск полезных способов применения данных, которые были найдены.
  2. Machine learning работает с массивами данных, которые технология data mining сформировала. С помощью заранее смоделированных алгоритмов действий, технология ИИ использует данные для принятия решений и последующих действий. Без постоянного бекапа актуальной информации эта технология не существует.

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

Кейсы использования data mining

  • Ритейл использует технологию для анализа ЦА. Потенциальных клиентов можно найти ориентируясь на основные характеристики, которые объединяют уже существующую базу пользователей. Также data mining помогает проанализировать эффективность услуги или продукта бренда и принять решение касательно необходимых доработок. Таргетировать потенциально заинтересованных потребителей также возможно с этой технологии.  
  • E-commerce процветает именно благодаря глубокому анализу предыдущей истории активности пользователя. Ваш пользователь недавно читал про топ 10 мест для отдыха этим летом, а вы можете предложить выгодное предложение от своего турагентства? Не теряем времени, налаживаем связи с клиентом!

Кейсы использования machine learning

  • Business intelligence использует технологию для решения разных вопросов. От принятия решений касательно разных транзакций, выбора потенциально благоприятных сфер развития для бизнеса до формирования выводов касательно результатов продаж. Технология помогает постоянно следить за “состоянием здоровья” вашей компании и предлагает альтернативы в развитии и поиске новых ниш.
  • Управление спамом на почте основано на ИИ. Подозрительные вложения в письмах или вредоносные ссылки? Некоторые программы могут даже удалить такие письма, не допуская возможности заражения вашего ПК,
  • Онлайн обслуживание клиентов с помощью чат ботов тоже основано на ИИ. Для сокращения времени ожидания сейчас даже на телефонные звонки отвечают боты.

Все это только верхушка айсберга возможностей технологий data mining и machine learning. Ныряйте глубже, изучайте и не бойтесь доверить свой бизнес в надежные руки искусственного интеллекта.

Источник:  https://www.ngdata.com

Источник: https://maddata.agency/mad-blog/data-mining-i-machine-learning

Обзор самых популярных алгоритмов машинного обучения

Существует такое понятие, как «No Free Lunch» теорема. Её суть заключается в том, что нет такого алгоритма, который был бы лучшим выбором для каждой задачи, что в особенности касается обучения с учителем.

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

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

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

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

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

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

1.  Линейная регрессия

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

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

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

Например: Y = B0 + B1 * X

Совет

Зная X, мы должны найти Y, и цель линейной регрессии заключается в поиске значений коэффициентов B0 и B1.

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

Линейная регрессия существует уже более 200 лет, и за это время её успели тщательно изучить. Так что вот пара практических правил: уберите похожие (коррелирующие) переменные и избавьтесь от шума в данных, если это возможно. Линейная регрессия — быстрый и простой алгоритм, который хорошо подходит в качестве первого алгоритма для изучения.

2 .  Логистическая регрессия

Логистическая регрессия — ещё один алгоритм, пришедший в машинное обучение прямиком из статистики. Её хорошо использовать для задач бинарной классификации (это задачи, в которых на выходе мы получаем один из двух классов).

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

Логистическая функция выглядит как большая буква S и преобразовывает любое значение в число в пределах от 0 до 1. Это весьма полезно, так как мы можем применить правило к выходу логистической функции для привязки к 0 и 1 (например, если результат функции меньше 0.5, то на выходе получаем 1) и предсказания класса.

Благодаря тому, как обучается модель, предсказания логистической регрессии можно использовать для отображения вероятности принадлежности образца к классу 0 или 1. Это полезно в тех случаях, когда нужно иметь больше обоснований для прогнозирования.

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

3. Линейный дискриминантный анализ (LDA)

Логистическая регрессия используется, когда нужно отнести образец к одному из двух классов. Если классов больше, чем два, то лучше использовать алгоритм LDA (Linear discriminant analysis).

Представление LDA довольно простое. Оно состоит из статистических свойств данных, рассчитанных для каждого класса. Для каждой входной переменной это включает:

  • Среднее значение для каждого класса;
  • Дисперсию, рассчитанную по всем классам.

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

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

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

Листовые узлы — это выходная переменная, которая используется для предсказания. Предсказания производятся путём прохода по дереву к листовому узлу и вывода значения класса на этом узле.

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

5 . Наивный Байесовский классификатор

Наивный Байес — простой, но удивительно эффективный алгоритм.

Модель состоит из двух типов вероятностей, которые рассчитываются с помощью тренировочных данных:

  1. Вероятность каждого класса.
  2. Условная вероятность для каждого класса при каждом значении x.

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

Наивный Байес называется наивным, потому что алгоритм предполагает, что каждая входная переменная независимая. Это сильное предположение, которое не соответствует реальным данным. Тем не менее данный алгоритм весьма эффективен для целого ряда сложных задач вроде классификации спама или распознавания рукописных цифр.

6.  K-ближайших соседей (KNN)

К-ближайших соседей — очень простой и очень эффективный алгоритм. Модель KNN (K-nearest neighbors) представлена всем набором тренировочных данных. Довольно просто, не так ли?

Предсказание для новой точки делается путём поиска K ближайших соседей в наборе данных и суммирования выходной переменной для этих K экземпляров.

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

Обратите внимание

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

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

7 .  Сети векторного квантования (LVQ)

Недостаток KNN заключается в том, что нужно хранить весь тренировочный набор данных. Если KNN хорошо себя показал, то есть смысл попробовать алгоритм LVQ (Learning vector quantization), который лишён этого недостатка.

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

Алгоритм ищет ближайшего соседа (наиболее подходящий кодовый вектор) путём вычисления расстояния между каждым кодовым вектором и новым экземпляром данных. Затем для наиболее подходящего вектора в качестве предсказания возвращается класс (или число в случае регрессии).

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

8. Метод опорных векторов (SVM)

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

Гиперплоскость — это линия, разделяющая пространство входных переменных.

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

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

Важно

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

Только эти точки имеют значение при определении гиперплоскости и при построении классификатора. Эти точки называются опорными векторами.

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

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

9 .  Бэггинг и случайный лес

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

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

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

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

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

10 .  Бустинг и AdaBoost

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

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

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

Совет

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

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

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

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

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

Пара слов напоследок

Когда новички видят всё разнообразие алгоритмов, они задаются стандартным вопросом: «А какой следует использовать мне?» Ответ на этот вопрос зависит от множества факторов:

  • Размер, качество и характер данных;
  • Доступное вычислительное время;
  • Срочность задачи;
  • Что вы хотите делать с данными.

Даже опытный data scientist не скажет, какой алгоритм будет работать лучше, прежде чем попробует несколько вариантов. Существует множество других алгоритмов машинного обучения, но приведённые выше — наиболее популярные. Если вы только знакомитесь с машинным обучением, то они будут хорошей отправной точкой.

Перевод статьи «A Tour of The Top 10 Algorithms for Machine Learning Newbies»

Никита Прияцелюк, последний центурион

Источник: https://tproger.ru/translations/top-machine-learning-algorithms/

Ссылка на основную публикацию