Что это? Почему это имеет значение? Как это работает?
Что это такое?
Машинное обучение — это обучение, при котором машина может учиться самостоятельно, без явного программирования. Это приложение Al, которое предоставляет системе возможность автоматически учиться и совершенствоваться на основе опыта. Здесь мы можем сгенерировать программу, объединив входные и выходные данные этой программы. Одно из простых определений машинного обучения: «Говорят, что машинное обучение учится на опыте в отношении некоторого класса задач T и показателя производительности P, если производительность учащихся при выполнении задачи в классе, измеряемая P, улучшается с опытом».
Иногда искусственный интеллект и машинное обучение считаются одним и тем же, но они чем-то отличаются друг от друга.
Разница ч/б ИИ и машинного обучения:
ИИ:
1-Al означает искусственный интеллект, где интеллект определяется как приобретение знаний. Интеллект также определяется как способность приобретать и применять знания.
2- Цель состоит в том, чтобы увеличить шанс на успех, а не точность.
3- Он работает как компьютерная программа, которая выполняет умную работу
4 – Цель состоит в том, чтобы имитировать естественный интеллект для решения сложных задач.
5 – Ал – принятие решений.
ML:
1 – ML означает машинное обучение, которое определяется как приобретение знаний или навыков.
2- Цель состоит в том, чтобы повысить точность, но не заботится об успехе.
3- Это простая концепция. машина, которая получает данные и учится на них.
4. Цель состоит в том, чтобы учиться на данных для определенных задач, чтобы максимизировать производительность машин в этой задаче.
5. ML позволяет системам изучать новые вещи из данных. .
Терминология машинного обучения.
• Модель.Модель — это конкретное представление, полученное из данных путем применения некоторого алгоритма машинного обучения. Модель также называется гипотезой.
• Функция.Функция – это отдельное измеримое свойство наших данных. Набор числовых признаков может быть удобно описан вектором признаков. Векторы признаков подаются в качестве входных данных для модели. Например, чтобы предсказать фрукт, могут быть такие признаки, как цвет, запах, вкус и т. д.
Примечание. Выбор информативных, отличительных и независимых признаков — важный шаг для эффективных алгоритмов. . Обычно мы используем экстрактор признаков для извлечения соответствующих признаков из необработанных данных.
• Цель (метка): Целевая переменная или метка — это значение, которое необходимо предсказывает наша модель. В примере с фруктами, обсуждаемом в разделе «Функции», меткой для каждого набора входных данных будет название фрукта, например яблоко, апельсин, банан и т. д.
• Обучение: Идея состоит в том, чтобы предоставить набор входных данных (функций) и их ожидаемых результатов (меток), поэтому после обучения у нас будет модель (гипотеза), которая затем сопоставит новые данные с одной из обученных категорий.
•Прогноз.После того как наша модель будет готова, ей можно передать набор входных данных, на которые она предоставит прогнозируемый результат (метку).
На рисунке ясно показаны вышеприведенные концепции:
Два вида алгоритмов машинного обучения
Алгоритмы машинного обучения можно отнести к одной из двух основных категорий — обучение с учителем и обучение без учителя. Отличие простое, но очень важное.
Контролируемое обучение
Допустим, вы агент по недвижимости. Ваш бизнес растет, поэтому вы нанимаете группу новых агентов-стажеров, чтобы они помогали вам. Но есть проблема — вы можете взглянуть на дом и иметь довольно хорошее представление о том, сколько он стоит, но у ваших стажеров нет вашего опыта, поэтому они не знают, как оценивать свои дома.
Чтобы помочь своим стажерам (и, возможно, освободить себя для отпуска), вы решаете написать небольшое приложение, которое может оценить стоимость дома в вашем районе на основе его размера, района и т. д., а также того, по какой цене были проданы похожие дома.< br /> Итак, вы записываете каждый раз, когда кто-то продает дом в вашем городе в течение 3 месяцев. Для каждого дома вы записываете кучу деталей — количество спален, площадь в квадратных футах, район и т. д. Но самое главное — вы записываете окончательную цену продажи:
Используя эти обучающие данные, мы хотим создать программу, которая может оценить, сколько стоит любой другой дом в вашем районе:
Это называется обучение с учителем. Вы знали, за сколько продается каждый дом, то есть, другими словами, вы знали ответ на проблему и могли работать в обратном направлении, чтобы выяснить логику.
Чтобы создать свое приложение, вы вводите обучающие данные о каждом доме в свой алгоритм машинного обучения. Алгоритм пытается выяснить, какие математические операции нужно выполнить, чтобы числа сработали.
Это похоже на ключ ответа на тест по математике со стертыми всеми арифметическими символами:
Из этого вы можете понять, какие математические задачи были на тесте? Вы знаете, что должны «сделать что-то» с числами слева, чтобы получить каждый ответ справа.
В обучении с учителем вы позволяете компьютеру определить эту взаимосвязь за вас. . И как только вы узнаете, какая математика требуется для решения этого конкретного набора задач, вы сможете решить любую другую задачу того же типа!
Неконтролируемое обучение
Вернемся к нашему исходному примеру с агентом по недвижимости. Что, если бы вы не знали цену продажи каждого дома? Даже если все, что вы знаете, это размер, расположение и т. д. каждого дома, оказывается, вы все равно можете делать действительно крутые вещи. Это называется неконтролируемым обучением.
Это похоже на то, как кто-то дает вам список чисел на листе бумаги и говорит: «Я действительно не знаю, что означают эти числа, но, может быть, вы сможете понять, есть ли здесь закономерность, группировка или что-то в этом роде — удачи!»
Так что же можно было сделать с этими данными? Для начала у вас может быть алгоритм, который автоматически идентифицирует различные сегменты рынка в ваших данных. Возможно, вы обнаружите, что покупателям жилья по соседству с местным колледжем действительно нравятся небольшие дома с большим количеством спален, но покупатели жилья в пригородах предпочитают дома с 3 спальнями и большой площадью. Информация об этих различных типах клиентов может помочь направить ваши маркетинговые усилия.
Еще одна интересная вещь, которую вы можете сделать, — это автоматически идентифицировать любые необычные дома, которые сильно отличаются от всего остального. Может быть, эти отдаленные дома — гигантские особняки, и вы можете сосредоточить своих лучших продавцов на этих участках, потому что у них более высокие комиссионные.
Обучение с учителем — это то, на чем мы сосредоточимся до конца этого поста, но это не потому, что обучение без учителя менее полезно или интересно. Фактически, неконтролируемое обучение становится все более важным по мере того, как алгоритмы становятся лучше, потому что их можно использовать без необходимости маркировать данные правильным ответом.
Примечание. Существует множество других типов алгоритмов машинного обучения. Но это неплохое место для начала.
Почему машинное обучение имеет значение?
С появлением больших данных машинное обучение стало ключевым методом решения проблем в таких областях, как:
- Вычислительные финансы: для кредитного скоринга и алгоритмической торговли.
- Обработка изображений и компьютерное зрение: для распознавания лиц, обнаружения движения и обнаружения объектов.
- Вычислительная биология: для обнаружения опухолей, открытия лекарств и секвенирования ДНК.
- Производство энергии: для прогнозирования цен и нагрузки.
- Автомобилестроение, аэрокосмическая промышленность и производство: для профилактического обслуживания.
Больше данных, больше вопросов, лучшие ответы:
Алгоритмы машинного обучения находят естественные закономерности в данных, которые позволяют получить ценную информацию и помогают вам принимать более обоснованные решения и делать прогнозы. Они используются каждый день для принятия важных решений в медицинской диагностике, торговле акциями, прогнозировании энергетической нагрузки и т. д.
Например, медиа-сайты используют машинное обучение для просеивания миллионов вариантов, чтобы дать вам рекомендации по песням или фильмам. Ритейлеры используют его, чтобы получить представление о покупательском поведении своих клиентов.
Когда следует использовать машинное обучение?
Подумайте об использовании машинного обучения, если у вас есть сложная задача или проблема, включающая большой объем данных и множество переменных, но не имеющая существующей формулы или уравнения. Например, машинное обучение — хороший вариант, если вам нужно справиться с такими ситуациями:
Как это работает?
Пример использования:
- Причиной крушения вертолетов CH-46 ВМС США были неисправные коробки передач.
- Хотя неисправность коробки передач может быть диагностирована механиком до взлета вертолета, что, если неисправность возникает в полете, когда человек не может ее обнаружить?
- Было показано, что машинное обучение полезно в этой области и, следовательно, может спасти человеческие жизни!
Рассмотрим следующую распространенную ситуацию:
- Вы едете в своей машине, когда вдруг слышите «забавный» шум.
- Чтобы предотвратить аварию, вы притормаживаете и либо останавливаете машину, либо догоняете ее до ближайшего гаража.
- По той же идее была разработана система контроля неисправностей коробки передач вертолета в полете. Разница, однако, в том, что многие неисправности коробки передач не слышны человеку и должны контролироваться машиной.
Итак, где обучение?
- Представьте, что вместо вашей старой доброй битой машины вас попросили сесть за руль этого грузовика:
- Сможете ли вы отличить «забавный» звук от «нормального»?
- Ну, наверное, нет, поскольку вы никогда раньше не водили грузовик!
- Пока вы водили свою машину все эти годы, вы эффективно узнали, как звучит ваша машина, и именно поэтому вы смогли определить этот «забавный» звук.
Чему научился компьютер?
- В задаче мониторинга редуктора вертолета предполагается, что работающий и неисправный редуктор издают разные шумы. Таким образом, ряды чисел, представляющие эти шумы, имеют разные характеристики.
- Однако точные характеристики этих различных категорий неизвестны и/или их слишком сложно описать.
- Следовательно, они не могут быть запрограммированы, а должны быть изучены компьютером.
- Существует множество способов, с помощью которых компьютер может научиться различать два шаблона (например, деревья решений, нейронные сети, байесовские сети и т. д.).
Зачем учиться?
Машинное обучение — это программирование компьютеров для оптимизации критерия производительности с использованием примеров данных или прошлого опыта.
Обучение используется, когда:
- Человеческий опыт не существует (навигация по Марсу),
- Люди не могут объяснить свои знания (распознавание речи).
- Изменение решения во времени (маршрутизация в компьютерной сети)
- Решение необходимо адаптировать к конкретным случаям (биометрические данные пользователя).
Рост машинного обучения:
Машинное обучение является предпочтительным подходом к:
- Распознавание речи, обработка естественного языка
- Компьютерное зрение
- Анализ медицинских результатов
- Управление роботом
- Вычислительная биология
Эти типы тенденций ускоряются:
- Улучшенные алгоритмы машинного обучения
- Улучшенный сбор данных, работа в сети, более быстрые компьютеры
- Программное обеспечение слишком сложное, чтобы писать его вручную
- Новые датчики / устройства ввода-вывода
- Требование самонастройки к пользователю, окружению.
Вывод:
На мой взгляд, самая большая проблема с машинным обучением сейчас заключается в том, что оно в основном живет в мире научных кругов и коммерческих исследовательских групп. Не так много легкого для понимания материала для людей, которые хотели бы получить широкое понимание, не становясь на самом деле экспертами. Но с каждым днем становится немного лучше.
Если вы хотите углубиться, бесплатный Урок машинного обучения на Coursera Эндрю Нг станет отличным следующим шагом. Я очень рекомендую это. Он должен быть доступен для всех, у кого есть степень в области компьютерных наук и кто помнит минимальное количество математических знаний.
Кроме того, вы можете поиграть с множеством алгоритмов машинного обучения, загрузив и установив SciKit-Learn. Это фреймворк Python, который имеет версии черного ящика всех стандартных алгоритмов.