Функции и классификация

Оглавление

Список изменений: я добавил несколько предложений к обсуждению наборов в части 2.

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

Кроме того, в обновленном разделе вводятся обозначения для членства в наборе и размера набора. Тот факт, что элемент x принадлежит набору S, записывается как x ∈ S. Например, у нас есть: vanilla∈ S. Вертикальные полосы вокруг названия набора обозначают его размер. Для набора основных вкусов мы имеем | S | = 3.

Функции

Функции лежат в основе машинного обучения.

В начале проекта бизнес-цели определяются с точки зрения функций.

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

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

Функции сопоставляют входы с выходами

Многие читатели знакомы с функциями из математики и / или программирования.

Математически функция определяет, как элементы в одном наборе связаны с элементами другого набора.

Программно функция обрабатывает ввод для генерации вывода.

На следующем рисунке объединены аспекты обоих определений:

Эти два определения согласуются друг с другом. [1] Допустимый ввод функции принадлежит одному набору, а вывод, который генерирует функция, принадлежит другому другому набору. Функции определяют, как мы переходим от одного к другому.

И это все, что нужно знать о сути функций.

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

Обозначение

Чтобы определить функцию математически, нам нужно указать две вещи:

  1. наборы, которые задействованы
  2. правило, по которому элементы из одного набора отображаются на элементы другого набора.

Наборы в функциях

Тот факт, что функция f отображает элементы из набора A на элементы в наборе B, записывается как f: A → B .

Эти два набора, A и B, называются доменом и co-доменом соответственно. Они могут и во многих случаях относятся к одному и тому же набору.

Буквы, используемые в этом обозначении (f, A и B), можно рассматривать как заполнители. Мы часто будем использовать разные имена.

Картография

Вход в функцию f обычно обозначается буквой x. В контексте машинного обучения x обычно относится к массиву, представляющему объект.

Буква y обозначает вывод функции. Мы будем использовать букву y для обозначения прогнозов.

Комбинируя эти строительные блоки, следующее уравнение просто утверждает, что y - это результат применения функции f ко входу x: f (x) = y.

Имена функций

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

  • Другие буквы в алфавите, особенно g и h
  • Подстрочные (или надстрочные) индексы, например f_1, f_2 и т. Д.
  • Слова или сокращения слов: например, increment или inc.

Простой пример

Рассмотрим наглядный пример функции с именем fahrenheit_to_celsius.

Учитывая, что температура в триллионы градусов по Фаренгейту была достигнута в лаборатории [2], я думаю, что для этой функции будет справедливым использовать набор действительных чисел. На уровне наборов мы можем написать:

На уровне отдельных элементов у нас есть:

Используя стиль, подчеркивающий эквивалентность математики и программирования, эта функция соответствует следующему коду Python [3]:

Функции с действительным знаком

Для наших целей скаляр - это действительное число [4] или, иначе говоря, член множества действительных чисел ℝ. В качестве альтернативы мы можем думать о скаляре как о векторе с одним элементом или как о матрице с одной строкой и одним столбцом.

Действительный вектор состоит из d действительных чисел и принадлежит множеству ℝ ^ d. Аналогично вещественная матрица имеет m x n вещественных элементов и принадлежит ℝ ^ (m x n). И, наконец, трехмерный массив с действительными значениями принадлежит R ^ (m x n x o) [5].

Все массивы и функции, используемые в этой серии, являются вещественными. Сюда входят двоичные векторы, упомянутые в части 3. Конечно, 0 и 1 также являются действительными числами. Чтобы подчеркнуть, что это действительные числа, мы можем записать их как 0,0 и 1,0.

Проблемы обучения с учителем

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

На высоком уровне существует различие между классификацией и регрессией.

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

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

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

Для n = 2 задача прогнозирования правильного класса называется двоичной классификацией. Эти два класса часто называют положительным классом и отрицательным классом.

Для n ›2 используется термин многоклассовая классификация или n -классовая классификация.

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

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

Вероятности

интервал [a, b] - это набор действительных чисел, который включает каждое число от a до b, включая конечные точки. Интервал [0, 1] содержит все действительные числа от 0 до 1.

Вероятность p является членом интервала [0, 1].

Термин встречная вероятность относится к 1-p. Вероятность и контр-вероятность, очевидно, в сумме составляют 1.

Распределение вероятностей - это вектор, элементы d которого представляют собой вероятности, в сумме равные 1. Я запишу распределения вероятностей как [0, 1] ^ d .

Вектор [0,2, 0,4, 0,3, 0,1] является примером распределения вероятностей.

Вероятностный выход

Результат классификации вероятностный.

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

Высокая вероятность указывает на то, что объект, вероятно, является экземпляром положительного класса.

Нулевой результат означает, что членство в положительном классе невозможно, а членство в отрицательном классе обязательно. И наоборот, объект обязательно принадлежит к положительному классу, если вероятность равна единице.

Предположим, например, что результат равен p = 0,85. Это означает, что существует 85-процентная вероятность того, что объект принадлежит к положительному классу, и 15-процентная вероятность (1–0,85 = 0,15), что объект является членом отрицательного класса.

В мультиклассовой классификации выходом является распределение вероятностей.

Классификаторы - это функции

классификатор - это функция, предназначенная для выполнения классификации.

Входными данными классификатора является представление объекта. Сгенерированный результат - это прогноз.

Если входные данные являются вектором, домен и совмещенный домен классификатора можно указать следующим образом:

Аналогично, если объект представлен матрицей, мы пишем :

Предполагая, что | C | - это количество классов, тот факт, что классификатор отображает матрицу в распределение вероятностей соответствующей длины, записывается как:

MNIST

Ни один учебник по основам машинного обучения не будет полным без упоминания распознавания цифр и набора данных MNIST [6].

Распознавание цифр - исторически важная задача в машинном обучении. Классификатор получает представление изображения и возвращает распределение вероятностей по десяти возможным цифрам от 0 до 9. Затем система выбирает цифру с наивысшим классом вероятности.

MNIST, пожалуй, самый известный набор данных во всем машинном обучении и содержит 70 000 изображений в градациях серого размером 28x28 пикселей каждое. Наиболее широко используемая форма этой коллекции изображений с пометками была опубликована двадцать лет назад [7].

Распознаватели цифр, применяемые к данным MNIST, представляют собой функции, которые отображают матрицы с 28 строками и 28 столбцами в распределения вероятностей по 10 классам:

Первоначально эта задача имела немедленное и очевидное применение, например, повышение эффективности почтовых и финансовых услуг в эпоху рукописных писем и чеков.

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

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

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

Регресс

Еще одна проблема контролируемого обучения - это регресс. Я хотел бы сделать краткий обзор в этой статье, а затем более подробно осветить эту тему в части 5.

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

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

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

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

Исходные данные

В заключение этой статьи я хотел бы обсудить использование постоянной функции в качестве основы.

Постоянные функции возвращают один и тот же вывод для каждого ввода. Они записываются как f (x) = c (, где c - постоянное значение) и могут служить базовыми показателями.

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

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

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

  1. Каков исходный уровень проблемы, которую я пытаюсь решить?
  2. Значительно ли превосходит базовый уровень эффективность системы машинного обучения?

Базовый уровень для анализа настроений

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

Перенесемся к первой итерации, и вы получите отчет о первоначальных результатах тестирования: система достигает уровня точности 90%. Это хорошо или плохо? Смотря как.

Рассмотрим два случая. В первом случае репрезентативная выборка показывает, что более 90% всех публично выраженных мнений о вашей компании являются положительными. Хорошая новость в том, что клиенты любят вас. Плохая новость заключается в том, что проект машинного обучения терпит неудачу, потому что система не превосходит базовый уровень, когда всегда прогнозирует наиболее частую цель. Если положительные отзывы представлены целевым значением 1, этим базовым показателем будет постоянная функция f (x) = 1.

Во втором случае ваша компания неоднозначна, и общественное мнение поровну разделено на фанатов и критиков. Уровень точности 90% в свете этих обстоятельств является многообещающим первым признаком успеха проекта.

Таким образом, базовые показатели дают нижнюю границу того, что можно ожидать от производительности системы.

До сих пор мы рассматривали классификаторы и регрессоры как черный ящик.

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

Спасибо за чтение! Если вам понравилась эта статья, нажмите кнопку "Хлопнуть" и подписывайтесь на меня, чтобы получить следующую часть этой серии.

Примечания

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

[2] https://blogs.nature.com/news/2012/08/hot-stuff-cern-physicists-create-record-breaking-subatomic-soup.html

[3] Конечно, числа с плавающей запятой, используемые компьютерами, не совсем соответствуют набору действительных чисел. Они имеют конечный диапазон и менее точны.

[4] Точнее, скаляр - это элемент поля. Поле - это набор чисел, для которых определены определенные правила. Реальные числа - это поле.

[5] Разные авторы используют разные символы для размеров трехмерного массива, особенно для последнего. Один математик, с которым я разговаривал, предпочитает использовать букву p, потому что o по внешнему виду близок к 0. В конце концов, я решил использовать букву o. Использование трех последовательных букв интуитивно понятно, а буква p зарезервирована для вероятностей.

[6] Аббревиатура MNIST data set означает модифицированный набор данных Национального института стандартов и технологий.

[7] ЛеКун, Ю., Ботто, Л., Бенжио, Ю. и Хаффнер, П., 1998. Применение градиентного обучения к распознаванию документов. Proceedings of the IEEE, 86 (11), pp.2278–2324.