www.machinelearningmastery.ru

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

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

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

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

Оглавление


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

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


Массивы

В прошлый раз мы представили идею коллекций высшего порядка: коллекций, которые организованы в коллекции.

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

Массивыимеют три важных свойства. Я сначала перечислю их, а затем более подробно расскажу:

  1. Массивы - это списки одного или нескольких измерений.
  2. Все списки на определенном уровне имеют одинаковый формат.
  3. Предположим, что все элементы в массиве являются числами.

Векторы, матрицы и 3D-массивы

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

Одномерные массивы называютсявекторы, Двумерные массивы называютсяматрицы, Мы не будем вводить специальный термин для трехмерных массивов, а просто будем называть их3D массивы,

Тот же уровень, тот же формат

В массиве все списки на данном уровне имеют одинаковый формат.

Рассмотрим следующий пример:[[1, 2], [3, 4], [5, 6]], Это список из трех списков. Каждый из трех внутренних списков имеет одинаковое количество элементов: 2. Следовательно, эта коллекция квалифицируется как массив.

В отличие от коллекции[[1, 2, 3], [4], [5, 6]]не квалифицируется как массив, потому что внутренние списки имеют разную длину: 3, 1 и 2 соответственно.

Только числа

Отдельные элементы в массиве известны как егозаписи(термин, который я буду использовать) илиэлементы,

Все записи считаются числами.


Представление изображения

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

образпредставляет собой набор пикселей, расположенных на сетке.

Пикселисамые маленькие элементы, представленные на экране, и самый низкий уровень анализа в компьютерном зрении. Пиксель характеризуется следующими атрибутами:

  1. позиция в сетке
  2. одно или несколько измерений, связанных с интенсивностью света

Представление изображения в градациях серого

Рассмотрим следующий пример цифры 3:

рисунок 1

Чтобы разбить это изображение на пиксели, мы можем наложить сетку, которая делит изображение на ячейки:

Рис. 2

Каждая ячейка в этой сетке будет рассматриваться как один пиксель.

Пиксели различаются по интенсивности света, которую мы можем измерить на шкале яркости от 0 до 255. Значение 0 соответствует черному, а значение 255 - белому. Значения между разными оттенками серого.

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

Рис. 3

Обобщая к другим изображениям

До сих пор мы рассматривали одно конкретное изображение высотой 7 пикселей и шириной 6 пикселей.

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

Рис. 4

Мы можем обозначить высоту изображения буквойми ширина изображения с буквойN, В предыдущем примере мы имелим = 7а такжеn = 6,

Используя эту запись, мы можем теперь обобщить из7 х 6изображение нам х нобраз.

Рис. 5

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


Матрицы как таблицы чисел

Рис. 6

Матрица - это внешний список из одного или нескольких внутренних списков.

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

При первом взгляде внутренние списки располагаются друг над другом. Например, в матрице[[1, 2], [3, 4]], список[1, 2]может быть сложен в верхней части списка[3, 4]сформировать таблицу. В качестве альтернативы, мы можем рассматривать два списка как столбцы таблицы.

Отдельная запись в матрице обозначается какa_ij, [Я использую подчеркивание «_» для обозначения индекса ]

Письмояобозначает индекс строки и буквыJсоответствует столбцу. Например, запись в строке 3 и столбце 2 обозначается как a_32. На рис. 3 мы имеемa_32 = 255,


3D-массивы для изображений RGB

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

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

Рис. 7

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

Далее мы обсудим, как векторы соотносятся с матрицами и почему они подходят для представления текстовых документов.


Векторы как частные случаи матриц

Напомним следующие два факта:

  • Вектор - это список чисел.
  • Матрица может рассматриваться как таблица, расположенная в строках и столбцах.

Объединяя оба факта, вектор можно рассматривать как конкретную строку или столбец в матрице.

вектор строкиматрица с одной строкой (м = 1).вектор столбцаматрица с одним столбцом (n = 1).

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

Матрица на рис. 3 состоит из 7 векторов строк и 6 векторов столбцов. Мы можем, например, извлечь следующий вектор строки из второй строки этой матрицы:[255 0 0 0 0 255].

Обозначим отдельную векторную записьx_iи количество записей сd,

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

Рис. 8

Анализ настроений

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

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

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


Представление документов

НЛП в кино

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

Авторское право:nyul / 123RF Фондовый Фото

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

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

Корпора, документы и слова

телоэто коллекция документов.

В НЛП,документлюбая коллекция слов, которая имеет интересующий нас атрибут.

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

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

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

Начальная лексика

Вот корпус, с которым мы будем работать:

  • Я люблю этот фильм.
  • Я ненавижу этот фильм.
  • Лучший фильм, который я когда-либо видел.
  • Какой неутешительный фильм.

Сортированный по алфавиту словарь этого корпуса содержит следующие слова:

{a, Лучший, разочаровывающий, когда-либо, ненавижу, я, я, любовь, кино, видел, это, Что,. }

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


Трубопроводы

Во многих проектах НЛП начальный словарь передается через конвейер: последовательность операций, в которой вывод одного шага является вводом следующего шага

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

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

Функциональные слова, такие как местоимения, являются наглядным примером. Это слова, которые в основном способствуют синтаксису предложения. В большинстве приложений мы можем удалить функциональные слова, не вызывая значительной потери информации. Однако для некоторых психолингвистических приложений эти слова могут обеспечить полезные функции. [5] Например, одно исследование показало, что сходство в использовании функциональных слов предсказывает романтический интерес и стабильность отношений. [6]

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

Рис. 9

Первый шаг, который мы применяем, можно назватьнормализация, Контрактные формы (такие какЯ)расширены (я имею), в то время как удлиненные слова (такие какlooove) приводятся к их обычной форме (любовь). Лично я ничего не имею противlooove, Просто эти шаблоны легче распознать, когда все выражения любви имеют одинаковое число о. Нормализованный словарь выглядит так:

{a, Лучший, разочаровывающий, когда-либо, ненавижу, имею, я, любовь, кино, видел, это, Что,. }

Следующий шагпреобразование в нижний регистр, Имеет ли значение для анализа настроений, если первая буква в словахЛучшийа такжечтов верхнем регистре? - Нет, не совсем:

{, лучший, разочаровывающий, когда-либо, ненавижу, люблю, люблю, кино, вижу, это, что,. }

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

{, лучший, разочаровывающий, когда-либо, ненавижу, есть, я, любовь, кино, видите, это, что}

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

{лучший, разочаровывающий, когда-либо, ненависть, любовь, кино, смотрите}

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

{лучший, разочаровывающий, ненависть, любовь}

В целом, мы исключили 8 из 13 членов словаря и пришли к тому, что я считаю интуитивно правдоподобным набором слов, которые имеют отношение к анализу настроений.

Векторы двоичных документов

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

Бинарные векторыявляются подходящим выбором для коротких документов. Это векторы, все записи которых равны 0 или 1.

Мы присваиваем значение функции 1, если функция (слово) присутствует в документе, и значение 0, если функция отсутствует.

Рассмотрим третий документ в качестве примера (Лучший фильм, который я когда-либо видел.). В этом документе представлены две из пяти функций: первая функция (Лучший) и третий (Когда-либо). Следовательно, мы устанавливаем первую и третью записи в 1, а другие записи в 0. Это дает нам вектор[1 0 1 0 0],

Применяя одну и ту же процедуру к каждому документу в корпусе, мы получаем следующие векторные представления:

  • Я люблю этот фильм.[0 0 0 0 1]
  • Я ненавижу этот фильм.[0 0 0 1 0]
  • Лучший фильм, который я когда-либо видел.[1 0 1 0 0]
  • Какой неутешительный фильм.[0 1 0 0 0]

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

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

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

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


Ссылки

[1] Ван, С. и Мэннинг, C.D., 2012, июль Базовые линии и биграммы: Простое, хорошее настроение и классификация тем. ВТруды 50-го ежегодного собрания Ассоциации вычислительной лингвистики: краткие доклады, том 2(стр. 90–94). Ассоциация компьютерной лингвистики.

[2] Ли, Б., Чжао, З., Лю, Т., Ван, П. и Ду, Х., 2016. Модель взвешенного нейронного мешка с граммами: новые исходные данные для классификации текста. ВМатериалы COLING 2016, 26-я Международная конференция по компьютерной лингвистике: технические документы(стр. 1591–1600).

[3] Maas, A.L., Daly, R.E., Pham, P.T., Huang, D., Ng, A.Y. и Potts, C., 2011, июнь. Изучение векторов слов для анализа настроений. ВТруды 49-го ежегодного собрания ассоциации по компьютерной лингвистике: технологии человеческих языков, том 1(стр. 142–150). Ассоциация компьютерной лингвистики.

[4] Асур С. и Хуберман Б.А., 2010, август. Прогнозирование будущего с помощью социальных сетей. ВМатериалы Международной конференции IEEE / WIC / ACM 2010 года по веб-интеллекту и технологиям интеллектуальных агентов, том 01(стр. 492–499). IEEE Computer Society.

[5] Pennebaker, J.W., Francis, M.E. and Booth, R.J., 2001. Лингвистическое исследование и подсчет слов: LIWC 2001.Mahway: Лоуренс Эрлбаум Ассошиэйтс,71(2001), с.2001.

[6] Ирландия, М.Е., Слатчер, Р.Б., Иствик, П.В., Ножницы, Л.Е., Финкель, Е.Дж. и Pennebaker, J.W., 2011. Сопоставление языкового стиля предсказывает начало отношений и стабильность. Психологическая наука, 22 (1), с.39–44.

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

Footer decor

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