ГЛАЗА ИИ СЕРИЯ ДОРОЖНЫХ КАРТ

Машинное обучение: возвращаемся к основам

Как машина учится?

Машинное обучение (ML) — это фундаментальный метод, который занимает центральное место в искусственном интеллекте. ML относится к использованию статистических методов, позволяющих компьютеру обучаться на основе данных без явного программирования каждого шага. На базовом уровне это относится к использованию алгоритмов для определения статистических закономерностей на основе данных. Возможность быстро, точно и адаптивно выявлять шаблоны на основе данных чрезвычайно ценна и широко применима — не волнуйтесь, мы разберем это с помощью примеров и примеров кода, которым вы можете следовать! Кроме того, помните, что «машины» в этом контексте относятся к компьютеру, который обрабатывает данные (а не к какому-то гуманоидному металлическому роботу).

ML использует три основные категории алгоритмов для «обучения» данных:

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

- Использование помеченных данных для изучения взаимосвязи между входами и выходами.

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

- Выявление закономерностей в неразмеченных данных.

3) Обучение под наблюдением

- Сочетание контролируемого и неконтролируемого обучения.

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

Алгоритмы контролируемого обучения

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

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

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

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

y = β0 + β1x1 + β2x2 + β3x3 + … + βnxn

где y — выход (т. е. цена продажи), тогда как x1, x2, x3,…,xn — входы (т. е. характеристики дома), а β0, β1, β2, β3,…,βn — коэффициенты, которые изучает алгоритм ( то есть значение отображения для каждой характеристики).

Давайте рассмотрим пример одной входной переменной, такой как площадь земли, для выходной переменной цены дома. Вот пример кода, в котором применяется модель линейной регрессии. Не стесняйтесь следовать коду в любой среде Python, такой как Google Colab. Если вы не знакомы с кодом, не волнуйтесь — пропустите рисунки и пояснения.

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

В этом примере показана связь между одной категорией затрат (акров земли) и выходом (ценой земли). Бордовая линия представляет собой «линию наилучшего соответствия» для объяснения этой взаимосвязи. Неудивительно, что большая площадь земли связана с более высокой продажной ценой дома. Теперь, когда мы понимаем эту взаимосвязь математически, мы можем применить нашу изученную модель для любого нового немаркированного входа X, чтобы предсказать выходную цену дома Y, используя линию наилучшего соответствия. Хотя это может показаться простым, такая модель может учитывать несколько входных переменных.

Как насчет двух входных переменных?

Рассмотрим следующий пример, где у нас есть две входные переменные X1 и X2 и то, как они могут предсказать цену дома:

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

Тестовые и тренировочные данные

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

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

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

Потребность в хороших (помеченных) данных

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

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

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

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

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

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

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

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

Мы рассмотрим этот пример шаг за шагом, чтобы понять, что происходит:

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

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

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

Заключение

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

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

Одно важное предостережение для алгоритмов, описанных в этой статье, заключается в том, что модели будут искать линейные статистические отношения. Есть много случаев, когда основные закономерности в данных могут быть нелинейными. Существует несколько способов учета нелинейности данных, таких как ядерные модификации машины опорных векторов. Еще один популярный подход — использование искусственных нейронных сетей. В нашей следующей статье из серии Дорожные карты Eyes of AI мы разберем, что такое нейронная сеть, объясним простую математическую красоту, стоящую за ее способностью обрабатывать нелинейности, и обсудим, когда она полезна, а когда нет. не является.

Читайте Часть 1 из серии Дорожная карта «Глаза ИИ» в журнале Глаз ИИ.

Серия авторов:
Кхоа Ле, генеральный директор Eyes of AI
Д-р Синь Ю Тай, MBBS, MRCP (Оксфордский университет )