Понимание интуиции преобразования логарифма и его использования в машинном обучении

Наука - это изучение природы, и многие научные усилия направлены на изучение и измерение изменений, происходящих в природе. Мы используем числа, чтобы выразить эти измерения. Если вы думаете об «изменениях», они могут быть только двух типов - либо количество увеличивается (растет), либо уменьшается (затухает) . Основные способы зафиксировать эти изменения - это основные арифметические операции сложение, вычитание, умножение и деление.

Линейный рост или распад

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

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

Некоторые количества увеличиваются пропорционально другим. Здесь и проявляется «мультипликативный» эффект. Например, если человек ведет машину и нажимает на педаль акселератора, расстояние, которое он преодолел, увеличивается в той же пропорции.

Расстояние = Скорость * Время

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

Время = расстояние / скорость

Чем больше скорость, тем меньше будет времени.

Есть ли другой способ, количество может увеличиваться или уменьшаться?

Экспоненциальный рост или спад

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

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

2, 4, 8, 16, 32……..

Или, если мы начнем с 10, то 10, 100, 1000, 10000, 10000…

Мы можем обобщить это следующим образом:

Это называется «экспоненциальным» увеличением или ростом. Число «а» известно как «основание», поскольку оно является основой или отправной точкой. Число «y» известно как «показатель степени», поскольку оно «расширяет» основание.

Другой способ взглянуть на это «увеличение» - спросить себя: Сколько раз нужно умножить «число» само на себя, чтобы достичь определенной «цели»?.

Итак, предположим, что ваше целевое число - 10000. И вы начинаете с 10. Теперь возникает вопрос: сколько раз нужно умножить 10 само на себя, чтобы получить 10000? Ответ: 4.

Фактически, вы только что вычислили «логарифм» 10000 по основанию 10. Это и есть логарифм. Это арифметическая операция. И точно так же, как сложение и вычитание являются эквивалентами, умножение и деление являются эквивалентами, точно так же, возведение в степень и логарифмы являются эквивалентами.

Прочтите это так…. 10 нужно умножить само на себя 4 раза, чтобы получить 10000.

10 * 10 * 10 * 10 = 10000

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

Если мы начнем с 10, то, безусловно, потребуется больше усилий для достижения 10000, чем до 1000. логарифм является мерой этих «усилий» или «затраченного времени». Логарифм 10000 по основанию 10 равен 4, что больше логарифма 1000 (3). Для достижения 10000 требуется больше усилий или больше времени по сравнению с 1000.

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

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

Обратите внимание, что логарифмы всегда рассчитываются по основанию. Приведенные выше примеры относятся к основанию 10, известному как десятичный логарифм. Другими часто используемыми «основаниями» являются 2 (двоичный логарифм) и очень специальное число «е» 2,71828 (натуральный логарифм).

Но почему логарифмы?

Гораздо проще связать со сложением, вычитанием, умножением и делением ... и, фактически, в некоторой степени, даже с возведением в степень (подумайте о росте населения или распространении инфекции COVID-19). Но зачем кому-то вычислять логарифм числа? Простой ответ: логарифм числа дает оценку того, насколько «большое» это число по сравнению с другим числом.

Человеческий разум способен обрабатывать и сравнивать числа того же или подобного масштаба. например, допустим, вам даны веса разных людей (взрослых) в группе. Наверное, каждый падает в диапазоне от 40 до 200 кг. Мы можем легко визуализировать и сравнить эти числа.

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

Попробуем сравнить размеры с помощью гистограммы:

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

Что, если мы возьмем «логарифм» значений по оси Y (т.е. объемы) и проверим график:

Это дает более четкую картину, где мы можем сравнивать размеры, даже если значения размеров сильно отличаются друг от друга. Обратите внимание на ось Y. Каждая полоса представляет собой логарифм действительного размера. (Обратите внимание, мы используем базу 10). Теперь вы можете получить некоторые интересные факты, например:

  1. Очевидно, что Солнце - самое большое тело в нашей солнечной системе. Однако Юпитер имеет самый большой размер среди планет. По сравнению с землей его на 3 «чешуи» больше. Это означает около 1000 раз.
  2. Земля примерно на 6 масштабов меньше Солнца. Это значит примерно в 1000000 раз меньше !! Мы очень крошечные по сравнению с солнцем.

(На этом изображении четыре квадранта, показывающие относительные размеры четырех ключевых объектов Солнечной системы: Солнца, Юпитера, Земли и Луны. В верхнем левом углу все четыре показаны вместе с размерами в масштабе. В правом верхнем углу Юпитер имеет диаметр в десять раз меньше (0,10045 ×), чем диаметр Солнца. В нижнем левом углу показано, что Юпитер в одиннадцать раз (10,9733 ×) больше диаметра Земли. Наконец, внизу -правильно, Земля имеет диаметр в три и две трети (3,6676 ×) от диаметра Луны. Это точно соотношение диаметров 11/3 (ошибка 0,09%). Источником этой информации является Википедия.)

Таким образом, логарифмы обеспечивают «масштаб». Они значительно упрощают понимание и сравнение очень больших чисел.

Обычное применение логарифмического преобразования - измерение силы землетрясения. Она известна как шкала Рихтера и определяет силу землетрясения на основе десятичного логарифма. Землетрясение магнитудой 6,0 в 10 раз сильнее землетрясения силой 5,0 балла.

Преобразование журналов в машинном обучении

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

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

(Примечание: я не раскрываю здесь детали алгоритма машинного обучения. Идея состоит в том, чтобы объяснить, как «логарифм» играет роль в такой настройке)

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

Причина этого в том, что переменная «доход» охватывает очень широкий диапазон значений, начиная от 12К до 700К. Если доступно больше данных, этот диапазон может быть еще больше. Будет много примеров данных, в которых значения дохода будут ниже, в то время как будет несколько случаев, когда доход будет очень большим.

Если мы используем абсолютное значение дохода, экземпляры данных с большими значениями будут больше влиять на модель из-за их большой «величины».

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

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

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

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

Логарифмы помогают нам обрабатывать «нелинейные» данные.

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