Данные поступают только с входом x, но не с выходными метками y. Алгоритм должен найти структуру в данных.

Вот определение машинного обучения, которое приписывают Артуру Сэмюэлю. Она определила машинное обучение как область исследования, которая дает компьютерам возможность учиться без явного программирования. Сэмюэл прославился тем, что еще в 1950-х годах он написал программу для игры в шашки. Удивительным в этой программе было то, что сам Артур Сэмюэл не очень хорошо играл в шашки. Что она сделала, так это запрограммировала компьютер играть, может быть, в десятки тысяч игр против самого себя. Наблюдая за тем, какие позиции социальной поддержки выигрывают, а какие проигрывают, программа плоскости шашек со временем узнала, что такое хорошие и плохие позиции поддержки, пытаясь получить хорошие и избежать плохих позиций, эта программа научилась становиться все лучше и лучше в игре в шашки, потому что компьютер терпение, чтобы сыграть десятки тысяч игр против себя. Он смог получить так много опыта игры в шашки, что со временем стал лучшим игроком в шашки, чем сам Сэмюэль. В общем, чем больше возможностей вы предоставляете обучающемуся алгоритму для обучения, тем лучше он будет работать.

Сегодня машинное обучение создает огромную экономическую ценность. Я думаю, что 99 процентов экономической ценности, создаваемой сегодня машинным обучением, приходится на один тип машинного обучения, который называется обучением с учителем. Давайте посмотрим, что это значит. Машинное обучение с учителем или, чаще, обучение с учителем, относится к алгоритмам, которые изучают сопоставления от x до y или ввод-вывод. Ключевой характеристикой обучения с учителем является то, что вы даете примеры алгоритмов обучения, на которых можно учиться. Это включает в себя правильные ответы, где правильный ответ, я имею в виду, правильная метка y для данного ввода x, и, увидев правильные пары ввода x и желаемую выходную метку y, алгоритм обучения в конечном итоге научится принимать только входные данные. без выходной метки и дает достаточно точный прогноз или предположение о выходе. Давайте посмотрим на некоторые примеры. Если вход x — это электронная почта, а выход y — это электронная почта, спам или не спам, это дает вам фильтр спама. Или, если на вход подается аудиоклип, а задача алгоритма — вывести расшифровку текста, то это распознавание речи. Или, если вы хотите ввести английский язык и вывести его на соответствующий испанский, арабский, хинди, китайский, японский или какой-либо другой перевод, то это будет машинный перевод. Или самая прибыльная форма контролируемого обучения сегодня, вероятно, используется в онлайн-рекламе. Почти все крупные рекламные онлайн-платформы имеют алгоритм обучения, который вводит некоторую информацию о рекламе и некоторую информацию о вас, а затем пытается выяснить, нажмете ли вы на это объявление или нет. Поскольку, показывая вам рекламу, вероятность того, что на нее нажмут, немного выше, для этих крупных онлайн-рекламных платформ каждый клик является доходом, что на самом деле приносит большой доход этим компаниям. Или, если вы хотите построить самоуправляемый автомобиль, алгоритм обучения будет принимать в качестве входных данных изображение и некоторую информацию от других датчиков, таких как радар или другие устройства, а затем пытаться вывести положение, скажем, других автомобилей, чтобы ваш самоуправляемый автомобиль может безопасно объезжать другие автомобили. Или взять производство. Вы можете сделать так, чтобы алгоритм обучения принимал в качестве входных данных изображение произведенного продукта, скажем, сотового телефона, только что сошедшего с конвейера, и вывод алгоритма обучения независимо от того, есть ли на продукте царапина, вмятина или другие дефекты. . Это называется визуальным контролем и помогает производителям уменьшить или предотвратить дефекты в своей продукции. Во всех этих приложениях вы сначала будете обучать свою модель на примерах входных данных x и правильных ответов, то есть меток y. После того, как модель изучила эти входные данные, выходные данные или пары x и y, она может затем взять совершенно новый ввод x, который она никогда раньше не видела, и попытаться создать соответствующий соответствующий вывод y.

Алгоритмы регрессии. Давайте более подробно рассмотрим один конкретный пример. Скажем, вы хотите предсказать цены на жилье на основе размера дома. Вы собрали некоторые данные и говорите, что нарисовали данные, и это выглядит так. Здесь по горизонтальной оси отложен размер дома в квадратных футах. Да, я живу в Соединенных Штатах, где до сих пор используются квадратные футы. Я знаю, что большая часть мира использует квадратные метры. Здесь по вертикальной оси отложена цена дома, скажем, в тысячах долларов. Допустим, с помощью этих данных друг хочет узнать, какова цена его дома площадью 750 квадратных футов. Как алгоритм обучения может помочь вам? Одна вещь, которую алгоритм обучения мог бы сделать, это сказать, что для прямой связи с данными и считывания прямой линии похоже, что дом вашего друга может быть продан, может быть, примерно, я не знаю, за 150 000 долларов. Но установка прямой линии — не единственный алгоритм обучения, который вы можете использовать. Есть и другие, которые могли бы работать лучше для этого приложения. Например, прокладывая и подгоняя прямую линию, вы можете решить, что лучше подгонять кривую, функцию, которая немного сложнее или сложнее, чем прямая линия. Если вы сделаете это и сделаете здесь прогноз, то дом вашего друга может быть продан примерно за 200 000 долларов. Одна из вещей, которую вы увидите позже в этом классе, — это то, как вы можете решить, подходит ли прямая линия, кривая или другая функция, которая еще более сложна для данных. Теперь кажется неуместным выбирать тот, который дает вашему другу лучшую цену, но одна вещь, которую вы видите, это то, как заставить алгоритм систематически выбирать наиболее подходящую линию, кривую или что-то еще, чтобы соответствовать этим данным. То, что вы видели на этом слайде, является примером контролируемого обучения. Потому что мы дали алгоритму набор данных, в котором для каждого дома на участке дан так называемый правильный ответ, то есть метка или правильная цена y. Задача алгоритма обучения состоит в том, чтобы дать больше таких правильных ответов, в частности предсказать, какова вероятная цена других домов, таких как дом вашего друга. Вот почему это контролируемое обучение. Чтобы определить немного больше терминологии, этот прогноз цен на жилье представляет собой особый тип контролируемого обучения, называемый регрессией. Под регрессией я подразумеваю, что мы пытаемся предсказать число из бесконечного множества возможных чисел, таких как цены на жилье в нашем примере, которые могут быть 150 000, 70 000, 183 000 или любое другое число между ними. Это обучение с учителем, обучение вводу, выводу или отображению x в y.

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

Кластеризация: группируйте похожие точки данных вместе.

Обнаружение аномалий: Найдите необычные точки данных.

Алгоритм классификации. Существует второй основной тип алгоритма контролируемого обучения, который называется алгоритмом классификации. Давайте посмотрим, что это значит. Возьмем обнаружение рака молочной железы в качестве примера проблемы классификации. Допустим, вы создаете систему машинного обучения, чтобы у врачей был диагностический инструмент для выявления рака молочной железы. Это важно, потому что раннее выявление потенциально может спасти жизнь пациента. Используя медицинские записи пациента, ваша система машинного обучения пытается выяснить, является ли опухоль злокачественной, то есть раковой или опасной. Или если эта опухоль, эта опухоль доброкачественная, то это означает, что это просто опухоль, которая не является раковой и не так ли опасна? Некоторые из моих друзей действительно работали над этой конкретной проблемой. Так что, возможно, в вашем наборе данных есть опухоли разных размеров. И эти опухоли помечены как доброкачественные, которые я обозначу в этом примере цифрой 0, или злокачественные, которые я обозначу в этом примере цифрой 1. Затем вы можете представить свои данные на графике, подобном этому, где горизонтальная ось представляет размер опухоли, а вертикальная ось принимает только два значения 0 или 1 в зависимости от того, является ли опухоль доброкачественной, 0 или злокачественной 1. Одна из причин, по которой это отличается от регрессии, заключается в том, что мы пытаемся предсказать лишь небольшое количество возможных выходы или категории. В этом случае два возможных выхода 0 или 1, доброкачественная или злокачественная. Это отличается от регрессии, которая пытается предсказать любое число, все бесконечное множество возможных чисел. И поэтому тот факт, что существует только два возможных выхода, составляет основу этой классификации. Поскольку в этом примере есть только два возможных выхода или две возможные категории, вы также можете нанести этот набор данных на линию, подобную этой. Прямо сейчас я собираюсь использовать два разных символа для обозначения категории, используя кружок и букву «О» для обозначения доброкачественных примеров и крестик для обозначения злокачественных примеров. И если новые пациенты приходят для постановки диагноза, и у них опухоль такого размера, то возникает вопрос, классифицирует ли ваша система эту опухоль как доброкачественную или злокачественную? Оказывается, в задачах классификации у вас также может быть более двух возможных выходных категорий. Может быть, вы изучаете алгоритм, который может выводить несколько типов диагноза рака, если он окажется злокачественным. Итак, давайте назовем два разных типа рака типом 1 и типом 2. В этом случае среднее значение будет иметь три возможных выходных категории, которые оно может предсказать. Кстати, в классификации термины «классы вывода» и «категории вывода» часто используются взаимозаменяемо. То, что я говорю о классе или категории, говоря о выводе, означает одно и то же. Таким образом, алгоритмы классификации предсказывают категории. Категории не обязательно должны быть числами. Например, он может быть не числовым, он может предсказать, является ли изображение кошкой или собакой. И это может предсказать, является ли опухоль доброкачественной или злокачественной. Категории также могут быть числами, такими как 0, 1 или 0, 1, 2. Но что отличает классификацию от регрессии при интерпретации чисел, так это то, что классификация предсказывает небольшой конечный ограниченный набор возможных выходных категорий, таких как 0, 1 и 2. но не все возможные числа между ними, такие как 0,5 или 1,7. В примере обучения с учителем, который мы рассматривали, у нас было только одно входное значение размера опухоли. Но вы также можете использовать более одного входного значения для прогнозирования выходных данных. Вот пример: вместо того, чтобы просто знать размер опухоли, скажем, вы также знаете возраст каждого пациента в годах. Ваш новый набор данных теперь имеет два входа: возраст и размер опухоли. В этом новом наборе данных мы собираемся использовать кружки, чтобы показать пациентов с доброкачественными опухолями, и крестики, чтобы показать пациентов со злокачественными опухолями. Поэтому, когда поступает новый пациент, врач может измерить размер опухоли пациента, а также записать возраст пациента. Итак, учитывая это, как мы можем предсказать, является ли опухоль этого пациента доброкачественной или злокачественной? Что ж, учитывая день, который был назван таким образом, алгоритм обучения мог бы найти некоторую границу, которая отделяет злокачественные опухоли от доброкачественных. Таким образом, алгоритм обучения должен решить, как провести граничную линию через эти данные. Граничная линия, найденная алгоритмом обучения, поможет врачу в постановке диагноза. В этом случае опухоль, скорее всего, будет доброкачественной. На этом примере мы увидели, как можно использовать данные о возрасте пациента и размере опухоли. В других задачах машинного обучения часто требуется гораздо больше входных значений.

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

Обзор машинного обучения

Когда мы смотрим на обучение с учителем в последнем упомянутом сегменте, оно выглядит примерно так в случае задачи классификации. Каждый пример был связан с выходной меткой y, такой как доброкачественная или злокачественная, обозначенной полюсами и крестиками в неконтролируемом обучении. Были даны данные, которые не связаны с какими-либо выходными метками y, скажем, вам даны данные о пациентах, размере их опухоли и возрасте пациента. Но не в том, была ли опухоль доброкачественной или злокачественной, поэтому набор данных выглядит так справа. Нас не просят диагностировать, является ли опухоль доброкачественной или злокачественной, потому что нам не дают никаких ярлыков. Почему в наборе данных вместо этого наша работа состоит в том, чтобы найти какую-то структуру или какой-то шаблон или просто найти что-то интересное в данных. Это неконтролируемое обучение, мы называем его неконтролируемым, потому что мы не пытаемся контролировать алгоритм. Вместо этого, чтобы дать цитату с правильным ответом для каждого входа, мы попросили нашу комнату самостоятельно выяснить, что интересно. Или какие шаблоны или структуры могут быть в этих данных, с этим конкретным набором данных. Алгоритм обучения без учителя может решить, что данные могут быть отнесены к двум разным группам или двум разным кластерам. И поэтому он может решить, что здесь есть одна группа, какая группа, а здесь есть другая группа или группа. Это особый тип обучения без учителя, называемый алгоритмом кластеризации. Потому что он помещает немаркированные данные в разные кластеры, и оказывается, что это используется во многих приложениях. Например, кластеризация используется в новостях Google, то, что делают новости Google, это каждый день. И просматривает сотни тысяч новостных статей в Интернете и группирует связанные истории вместе. Из всех сотен тысяч новостных статей в Интернете в тот день находит статьи, в которых упоминаются похожие слова, и группирует их в кластеры. Круто то, что этот алгоритм кластеризации сам определяет, какие слова предполагают, что определенные статьи находятся в одной группе. Я имею в виду, что в новостях Google нет сотрудника, который говорит алгоритму, чтобы он находил статьи, содержащие слово панда. А близнецов и зоопарк, чтобы поставить их в один кластер, темы новостей меняются каждый день. И есть так много новостей, что люди просто не могут делать это каждый божий день для всех тем, в которых используются обложки. Вместо этого алгоритм должен самостоятельно, без присмотра выяснить, каковы кластеры новостных статей сегодня. Вот почему этот алгоритм кластеризации является типом алгоритма обучения без учителя.

Определение машинного обучения

Определение машинного обучения

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