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

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

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

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

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

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

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

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

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

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

Еще один пример, когда ML кажется неизбежным. Допустим, у наших данных есть пять функций X1, X2, X3, X4 и Y, а лежащие в основе отношения между Y (желаемый результат, который мы хотим предсказать) и другими четырьмя входными функциями столь же безумны, как:

эпсилон (синего цвета) - шум, присущий большинству явлений реального мира. Конечно, регресс теоретически возможен. Мы можем создавать новые переменные из четырех входных данных, применяя логарифм, квадратный корень, экспоненту, возводя характеристики в степень 2, 3, 4…, логарифмируя некоторые суммы этих переменных. Затем мы могли бы использовать эти новые функции в качестве входных переменных для линейной регрессии. Создание правильной модели потребует использования огромного количества возможных переменных, и очень маловероятно, что мы этого добьемся - и я не включаю различные комбинации переменных, которые могут быть выбраны путем выбора подмножества.
И снова простая полиномиальная регрессия может предоставить нам модель, достаточно точную в отношении нашей цели. Но если мы ищем минимизированную ошибку, методы обучения являются ключевыми.
Не поймите меня неправильно, не существует метода машинного обучения, который выводил бы «настоящую» базовую модель. Вместо этого он предоставит модель, максимально приближенную к поведению данных. Иногда это может быть глобальная функция или локальная модель, например, если мы используем случайный лес или KNN. Эти последние алгоритмы даже не предоставляют функцию, для которой мы вычисляем выходные данные для вновь наблюдаемых данных, а скорее назначаем новое наблюдение группе `` старых '' данных - обучающих данных - и решаем, что результат должен быть похож на тот. этой группы.

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

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

А вы? Почему методы обучения так важны для ваших проектов? Дайте мне знать в разделе комментариев 😄