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

"Если вы не можете просто объяснить, значит, вы недостаточно хорошо понимаете", – сказал д-р Альберт Эйнштейн

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

Прежде чем мы начнем, позвольте мне быть честным. Вы не можете узнать все о машинном обучении за 5 минут или 5 дней. Это требует много усилий, времени и практики, но за 5 минут из этого блога вы узнаете, что такое машинное обучение, различные типы машинного обучения, его приложения и несколько других важных терминов, связанных с машинным обучением. Если вам все еще интересно узнать больше о машинном обучении и его практическом применении, карьерный тренер Springboard может порекомендовать вам курсы, книги и видео по машинному обучению, которые сделают вас экспертом по машинному обучению. Звучит отлично? Давайте начнем… Запустите часы…

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

Позвольте мне задать вам небольшую загадку -

2–4

3–9

4–16

5–25

6-?

Вы ответили на 36? Почему не 49 или 64 или любая другая цифра или буква алфавита? Это потому, что вы выяснили, что в первых четырех парах чисел второе число является квадратом первого числа. Вы узнали из своего опыта.

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

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

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

Все еще не знаете, как на самом деле работает машинное обучение?

Предположим, вы хотите вознаградить (в виде шоколада, мороженого, игрушки, угостить их любимым блюдом или чем-то еще, что им нравится), когда ребенок делает что-то хорошее, например, моет руки после того, как пришел из школы. , приветствовать людей, заправлять им постель, мыть грязную посуду, получать хорошие оценки или что-то хорошее, как вы это делаете? Допустим, вы решили написать программу под названием «Программа вознаграждений». Легко, верно? Просто напишите программу на любом языке Java или C++ с парой условий if. Но как вы думаете, все ли родители в мире имеют одинаковые причины давать вознаграждение? Определенно нет. У каждого родителя есть своя уникальная причина вознаграждать своего ребенка. Там будет миллион разных причин.

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

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

Официальное введение в машинное обучение

Артур Сэмюэл в 1959 году ввел термин "Машинное обучение" и описал его как "область исследования, которая дает компьютерам возможность обучаться без явного программирования". Это старое неофициальное определение.

Хорошее современное определение машинного обучения, данное Томом Митчеллом из Университета Карнеги-Меллона

"Говорят, что компьютерная программа учится на опыте E в отношении некоторой задачи T и некоторого показателя производительности P, если ее производительность на T, измеряемая P, улучшается с опытом E".

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

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

В этом примере

  • Задача T прогнозирует цену 3 BHK.
  • Опыт E — это миллион точек данных, которые вы вводите в программу.
  • Показателем эффективности P является разница между значением, предсказанным программой, и фактическим значением, указанным строителем. Чем меньше разница, тем точнее алгоритм прогнозирования цен на жилье.

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

Типы машинного обучения

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

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

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

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

Y=f(X)

Это известно как контролируемое обучение по той причине, что алгоритм учится на наборе данных, который относится к учителю, контролирующему обучение. При контролируемом обучении алгоритму передаются как входные данные, так и желаемый результат, т. е. обучающие данные включают ожидаемые ответы. Как входные, так и выходные данные помечены для классификации, которая обеспечивает базу обучения для любой будущей обработки данных. Целью обучения с учителем является выполнение задачи так же, как и людьми (четко определенная задача T), на основе обучающих данных, предоставленных людьми (опыт E), с ошибкой/точностью в качестве меры P выполнения этой задачи.

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

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

Классификация. Если выходная переменная (Y) является категорией (например, ВЫИГРЫШ или ПОТЕРЯ, СПАМ или НЕ СПАМ, ПОЗИТИВНО, ОТРИЦАТЕЛЬНО или НЕЙТРАЛЬНО), то это проблема классификации.

Регрессия. Если выходная переменная (Y) является реальным значением (прогнозирование возраста человека, прогнозирование цен на акции), то это проблема регрессии. Головоломка, которую мы видели в начале статьи, была примером техники контролируемого обучения — регрессии.

Обучение без учителя

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

При неконтролируемом обучении алгоритм учится на входных данных (X), не получая никаких правильных результатов (у него нет соответствующей выходной переменной Y). Алгоритм самосовершенствуется на основе огромных и разнообразных наборов данных, обучаясь на немаркированных данных и дифференцируя заданные входные данные. Цель неконтролируемого обучения — найти какую-то структуру в данных для нечетко определенной задачи (T) без опыта (E) и без показателей эффективности (P), хотя есть несколько показателей оценки. Все проблемы обучения без учителя можно далее классифицировать как проблемы кластеризации или ассоциации.

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

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

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

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

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

  • Ваш личный помощник Siri использует машинное обучение, когда вы говорите «Поставь будильник на 5 утра», «Напомни мне посетить моих друзей послезавтра».
  • Когда вы бронируете Ola или Uber, приложение оценивает стоимость поездки с помощью машинного обучения.
  • Когда вы входите в Facebook, он предлагает, с кем вы можете подружиться на основе непрерывного обучения.
  • Когда вы используете службы GPS-навигации на Картах Google, он показывает вам карту текущего трафика и перегруженных населенных пунктов с использованием машинного обучения.
  • Когда вы делаете покупки на Amazon или Flipkart, они рекомендуют вам продукты на основе вашего просмотра и истории покупок с использованием машинного обучения.

Если вы действительно хотите узнать больше о машинном обучении (и вам действительно нужно)

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

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