Подробный обзор популярной функции активации.

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

Пример реального мира.

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

Для простоты интерпретации мы намерены преобразовать этот показатель, скажем, в значение вероятности. Сравнивать два больших действительных числа (как баллы) будет сложнее по сравнению с их значениями вероятности, которые будут между 0 и 1 (дух!). Если вероятность составляет 95%, отдел кадров может связаться с сотрудником, чтобы обсудить политику удержания. Если вероятность составляет около 5%, то это не является предметом непосредственной озабоченности. Как он может этого добиться?

Понимание границ

Рассмотрим обучающую выборку сотрудников и их соответствующие баллы. Эта выборка будет состоять из «конечного» числа сотрудников. Таким образом, выходной балл будет находиться в диапазоне между двумя конечными значениями (а не «бесконечностью», как мы заявили ранее). Допустим, мы получили наивысший балл +50 и самый низкий балл -50 при обучении модели. Наша цель — сопоставить этот диапазон (-50,50) с диапазоном (0,1). Самый простой и «первопринципный» подход — нарисовать прямую линию, как показано ниже:

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

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

1. Что происходит, когда счет превышает +50 или -50? В будущем, когда мы будем использовать эту модель, если сотрудник наберет, скажем, 75 баллов, наша модель будет отображать это как «за пределами допустимого». Значение меньше 0 или больше 1 больше не интерпретируется как вероятность.

2. Более важной причиной, чем № 1, является скорость, с которой изменяется вероятность изменения оценки модели. Вот пример того, что я имею в виду:

Сотрудник с оценкой 0 имеет 50% шанс на увольнение (вероятность = 0,5). Недостаточно доказательств, чтобы предсказать его истощение. Если бы его оценка была равна 2, у нас было бы гораздо больше информации по сравнению с оценкой 0. Увеличение оценки на 2 единицы дает нам «намного больше» информации, чтобы предсказать, уйдет ли сотрудник из фирмы. Мы ожидаем, что теперь вероятность (с оценкой 2) совершит «большой скачок» с 0,5. Этот «скачок» не фиксируется прямой линией.

Точно так же, с другой стороны, если сотрудник набирает 48 баллов, мы бы сказали, что высока вероятность того, что он/она уволится. Но если этот показатель изменится с 48 до 50, наш прогноз останется почти таким же. Уже было достаточно доказательств того, что увеличение на 2 не повлияло на наш прогноз. Эта платообразная природа, опять же, не отражается прямой линией. Введите сигмовидную кривую:

сигмоид решает следующие две проблемы:

1. Она всегда остается между 0 и 1. Даже для очень высокого балла, скажем, 1М, сигмоида, даже если она очень близка к 1, никогда не касается 1. Точно так же она никогда не касается значения 0.

2. С точки зрения отсутствия информации (оценка = 0) небольшое увеличение оценки оказывает большое влияние на вероятность. Но если у нас уже есть «достаточно» доказательств, такое же количество изменений вряд ли повлияет на вероятность.

Математика позади

Уравнение ниже лучше всего представляет кривую, которую мы нарисовали выше.

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

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

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

где D — знаменатель, а N — числитель дроби.

Поскольку числитель нашей сигмовидной функции равен 1 (константа), ее производная равна 0. Мы используем цепное правило, чтобы взять производную от знаменателя (1+e^-x):

Возвращаясь к получению сигмовидной производной с использованием правила отношения:

Теперь, можем ли мы сократить это до чего-то, с чем немного легче работать? Да! Именно это делает сигмовидную функцию такой популярной — из-за ее классного свойства производной. Производная сигмовидной функции может быть разделена как произведение двух членов, как показано ниже:

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

Интерпретация производной

Это не просто форма; производная сигмоиды также имеет хорошее интуитивное объяснение. Давайте рассмотрим три причины, почему:

  1. Если p = 1, производная будет равна 1 * (1–0) = 0. Что это значит? Это означает, что, поскольку наша вероятность уже очень высока, оценка также очень высока. Таким образом, небольшое изменение в счете приведет к изменению вероятности на 0.
  2. Если p = 0, производная придет к 0 * (1–0) = 0. Поскольку оценка уже очень высока, и у нас есть достаточно доказательств, небольшое изменение в оценке снова приведет к 0 изменению в вероятность.
  3. Наконец, если p = 0,5, производная составит 0,5 (0,5–0,5) = 0,25. На данный момент мы также уверены, уволится сотрудник или нет. И это имеет смысл, поскольку именно тогда вероятность будет больше всего изменяться при незначительном изменении счета. Предположим, что оценка меняется (с обеих сторон) с точки отсутствия информации. Теперь нам предоставляется много информации, что приводит к внезапному изменению нашей вероятности. Следовательно, наша производная будет очень высокой.

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