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

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

Куда вы поместите своего сына?

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

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

OR,

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

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

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

Принося ему домашних животных

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

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

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

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

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

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

Бросив его в джунгли

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

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

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

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

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

Технические детали

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

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

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

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

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

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

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

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

Примеры алгоритмов неконтролируемого обучения включают в себя:

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

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

Заключение

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