www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home
Занимательная история, выдающиеся люди, малоизвестные факты, находки, открытия, фальсификации. Присоединяйся!

Машинное обучение с нуля: часть 4

Дата публикации Mar 15, 2018

Оглавление


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

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

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


функции

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

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

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

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

Функции отображают входы в выходы

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

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

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

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

Рис. 4.1: отредактированная версия графики, опубликованная в открытом доступеWvbailey

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

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

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

нотация

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

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

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

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

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

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

картографирование

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

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

Объединяя эти строительные блоки, следующее уравнение просто утверждает, чтоYэто вывод приложения функцииена входИкс:f (x) = y,

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

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

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

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

Рассмотрим информативный пример функции с именемfahrenheit_to_celsius.

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

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

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


Реальные функции

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

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

Рис. 4.2

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


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

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

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

Рис. 4.3

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

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

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

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

Термин, используемый дляn> 2являетсямультиклассовая классификацияилиNКлассификация.

Рис. 4

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

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

Вероятности

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

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

Семестрвстречное вероятностьотносится к1-п, Вероятность и контр-вероятность, очевидно, составляют в целом 1.

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

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

Рис. 5

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

Классификация продукции является вероятностной.

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

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

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

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

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

Классификаторы являются функциями

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

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

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

Функция, которая отображает векторное представление на вероятность

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

Функция, которая отображает матрицу на вероятность

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

Функция, которая отображает матрицу на распределение вероятностей

MNIST

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

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

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

Рис. 6: Несколько выборок из набора данных MNISTЙозеф Степан/ CC BY-SA 4 0)

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

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

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

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

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


регрессия

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

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

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

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

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


Исходные условия

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


Заметки

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

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

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

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

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

[6] Сокращенный набор данных MNIST расшифровывается какМодифицированный набор данных Национального института стандартов и технологий.

[7] LeCun, Y., Bottou, L., Bengio, Y. and Haffner, P., 1998. Градиентное обучение применяется для распознавания документов.Труды IEEE,86(11), с.2278-2324.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map