www.machinelearningmastery.ru

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

Home

Функция Softmax, упрощенная

Дата публикации Nov 26, 2018

ТЛ; дрЭто мой первый пост из серии, посвященной темам машинного / глубокого обучения и обработки естественного языка. В посте обсуждается регрессия Softmax, где мы вычисляем экспоненту входного вектора, чтобы нормализовать набор данных в вероятностное распределение со значениями, равными единице. Хорошо для многомерной классификации вместо двоичной классификации.

пролог

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

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

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

Итак, в течение первых нескольких лекций профессор рассказывал нам о материалах,Языковое моделирование; то есть,методы, используемые интеллектуальными системами для точного предсказания слова или предложений в любом тексте. Содержание имело смысл, пока профессор не ввел конкретный термин под названием Softmax регрессия, Я был ошеломлен обозначениями и символами, которые мне казались французскими (или, скорее, похожими на латынь?) Благодаря нескольким часам самостоятельного изучения и чашке теплого кофе с фундуком, концепция вскоре стала понятной.

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

Определение

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

Кроме того, другое название для Softmax Regression - Классификатор максимальной энтропии (MaxEnt).

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

Если вы посмотрите на это с самого начала, определение может показаться тривиальным, но в области машинного обучения и НЛП эта функция регрессии была полезна какбазовая линиякомпаратор. Исследователи, которые разрабатывают новые решения, должны проводить эксперименты, сохраняя результаты Softmax в качестве эталона. Однако следует отметить, что softmax в идеале не используется в качестве функции активации, такой каксигмоидилиРЕЛУ(Выпрямленные линейные единицы), а скорее между слоями, которые могут быть несколько или только один.

нотация

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

Математическое представление функции регрессии Softmax
  1. Учитывая чистый входной параметр в видезакодированный горячим способомматрицаθ,наша цель состоит в том, чтобы предсказать, если обученный набор функцийИкс;каждыйс собственным набором весов, являются классомJ, Горячая матрица состоит из двоичных значений, где число 1 представляет элемент в позиции i столбца, а остальные - 0 (относительно большая матрица рискуетразреженностьо котором мы поговорим в следующем посте).
  2. В формуле мы вычисляемэкспоненциальныйвходного параметра и томусумма экспоненциальных параметроввсех существующих значений на входах. Наш вывод для функции Softmax - это отношение экспоненты параметра к сумме экспоненциального параметра.
  3. θна высоком уровне - сумма баллов каждого встречающегося элемента в векторе. В обобщенном виде мы говорим, что θ - транспонированная матрица весов.вес, умноженный на матрицу признаковИкс.
  4. Термин w₀x₀ - это смещение, которое необходимо добавлять на каждой итерации.

Реализация кода

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

Вывод

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

Так что следите за обновлениями. :)

Работы цитируются

Разница между функцией Softmax и сигмовидной функцией

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

dataaspirant.com

https://sebastianraschka.com/faq/docs/softmax_regression.html


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

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

Footer decor

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