«Машинное обучение - это следующий Интернет»

«Прорыв в машинном обучении стоит десяти Microsoft»

Почему машинное обучение?

В традиционном программировании есть некоторые проблемы.

Даже опытным программистам сложно писать программы для решения определенных задач.

Пример:

  • Распознавание человеческого лица или почерка
  • Играем в сложные игры, такие как шахматы
  • Рекомендовать фильмы, которые понравятся человеку

Почему?

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

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

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

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

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

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

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

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

Распознавание закономерностей

  • Лица или выражения лица
  • Медицинские изображения, например опухоль злокачественная или доброкачественная?
  • Генерация паттернов
  • Создание изображений или последовательностей движений (например, анимационных фильмов)

Распознавание аномалий

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

Прогноз

  • Будущие цены на акции или курсы обмена валют

Некоторые веб-примеры машинного обучения:

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

Фильтрация спама, обнаружение мошенничества

  • Враг адаптируется, поэтому мы тоже должны адаптироваться.

Системы рекомендаций

  • Нужно адаптироваться к миллионам людей. Например, видео на Youtube, рекомендация фильмов Netflix.

Получение информации

  • Найдите документы или изображения с «похожим» содержанием

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

  1. Контролируемое обучение
  2. Неконтролируемое обучение
  3. Обучение с подкреплением

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

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

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

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

1. Данные: Здесь, на этом рисунке, вы держите изображения фруктов, то есть ваши данные.

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

3. Целевая функция: это то, что вычисляет, насколько близок результат робота к фактическому результату.

4.Алгоритм оптимизации: поиграв в эту игру несколько раз, вы решили обновить ЦП, ОЗУ и датчик изображения для робота, чтобы он мог видеть изображения более четко и благодаря более быстрому процессору и ОЗУ. эти изображения быстрее. Давайте рассмотрим эти серии шагов как алгоритмы, и теперь это наш алгоритм оптимизации.

Возникает вопрос, почему это называется обучением с учителем?

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

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

Регрессия:

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

Классификация:

  • Область атрибута label / target конечна и категориальна (набор классов)
  • Классификатор должен присвоить класс невидимому примеру

Реальное применение классификации:

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

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

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

Применение классификатора:

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

  • Да (утверждено)
  • Нет (не утверждено)

Что такое обучение без учителя?

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

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

Давайте разберемся на простом примере:

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

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

Возникает вопрос, почему это называется обучением без учителя?

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

Категоризация машинного обучения без учителя

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

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

Что такое полу-контролируемое обучение?

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

На полпути между обучением с учителем и обучением без учителя

Данные данные содержат,

1. Некоторые точки данных с желаемыми / правильными метками

2. Множество непомеченных данных.

Дизайн моделей при наличии как помеченных, так и немаркированных данных

Множество вариантов обучения без учителя

Итак, что такое обучение с подкреплением?

Разберемся на примере.

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

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