Развейте облако суеверий вокруг машинного обучения!

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

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

Проще говоря, машинное обучение — это область компьютерных наук, в которой разрабатываются алгоритмы для прогнозирования данных. Подождите, я только что сказал предсказания? Слово «предсказания» может ввести в заблуждение. Это что-то похожее на Красных Жрецов Владыки Света?

НЕТ. Мы говорим о статистическом смысле слова «прогноз».

Грубо говоря, речь идет о развертывании методов, позволяющих просматривать огромные объемы данных и получать структурированное и четкое представление о данных.

Две области, которые, по моему мнению, очень близки к машинному обучению, это:

  • Статистика.
  • Сбор данных.

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

Статистика.Статистика разрабатывает методы/модели, объясняющие данные. Эти модели не обязательно связаны с конкретной задачей.

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

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

Давайте разберем это подробнее.

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

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

Предположим, я представляю этот экземпляр данных (скажем, изображение) как (130,40). 130 — вектор роста, 40 — вектор веса Кальвина. Если проблема связана с распознаванием лиц, то эти функции бесполезны. В этом случае у нас должны быть черты лица Кальвина. Добро пожаловать в мир Feature Engineering :)

Если вы хотите объяснить, что такое машинное обучение, такому новичку, как я, машинное обучение — это обобщение. Речь идет о создании сжатого представления ваших данных огромного размера. Допустим, у вас есть терабайты данных, терабайты чего-то где-то лежащего. Вам нужно выразить то, что у вас есть в ваших данных, в сжатой форме (создание модели), чтобы использовать эти данные для прогнозирования новых экземпляров данных. Например. Предположим, вы каким-то образом представляете 1 терабайт данных в 25 групп. Прогноз для нового входящего экземпляра данных будет решать, к какой группе будет принадлежать этот новый экземпляр?

Из чего состоит машинное обучение?

Это поле на самом деле состоит всего из 3 основных методов (которые сами по себе являются большими подполями). Есть много других, но они довольно хорошо вписываются в эту структуру.

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

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

Они звучат почти одинаково? Оно делает. Но это не так. Позвольте мне объяснить.

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

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

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

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

Чем не является машинное обучение!

Если бы существовал эвристический алгоритм (или классификатор) для классификации областей, принадлежащих науке или нет, машинное обучение было бы классифицировано как область, не являющаяся точной наукой, поскольку ни один метод машинного обучения не работает со 100% точностью. Точность в машинном обучении относится к шансам на успех. Например. При наличии 5 экземпляров данных и алгоритма с точностью 90 % вероятность получения 5 успешных результатов составляет (0,9)^5=0,6.

Плохо ли, что машинное обучение не является точной наукой?

Любой ученый-компьютерщик старой закалки может рассердиться на это. И люди действительно сходили с ума поначалу. Какой смысл разрабатывать неточные алгоритмы? Это все равно, что пойти в банк и положить деньги на депозит, а банк говорит: "Ну, сэр, есть 60% шансов, что мы сможем сохранить ваши деньги в безопасности". Это близко к безумию.

Машинное обучение работает на вероятностных методах. Неточные алгоритмы работают в значительной степени, и эта область все еще быстро развивается. Такие компании, как Netflix, Google, Amazon, Facebook, имеют свою основную привлекательность продуктов из-за таких методов, как машинное обучение, реализованных в основе их технологий.

Давайте обсудим классификацию более подробно. Я хочу подчеркнуть. Останься со мной.

Классификация:

Этап обучения: ввод: экземпляры данных и их истинные метки. Вывод:модель классификации или то, что мы называем «классификатором».

Этап тестирования (или модельного приложения): Входные данные: экземпляр данных. Вывод:его ярлык.

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

  • Кликайте по данным («неявная обратная связь»)
  • Мы можем использовать краудсорсинг некоторых помеченных данных.

Но есть и проблемы с качеством данных. Это не легко. Или то, что мы говорим: «Мусор на входе — Мусор на выходе».

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

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

Истинный положительный результат: он измеряет долю положительных результатов, которые правильно идентифицированы как таковые (например, процент больных людей, которые правильно идентифицированы как имеющие заболевание).

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

Цитируя профессора: «Миру нужно больше людей, обучающихся машинному обучению, чтобы помочь решить его проблемы. В нашем обществе так много данных и вычислительных ресурсов, что машинное обучение теперь является суперсилой, позволяющей создавать потрясающие вещи; но нас просто недостаточно, чтобы делать эту работу. Я надеюсь, что многие читатели будут усердно работать и преуспеют в машинном обучении!»

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

Давайте влиять.