Глубокое погружение в логистическую регрессию: простая, но такая мощная

This blog is beginner friendly, will start from scratch and cover up to a medium-advance level of intuitive understanding of Logistic Regression.
Blog is divided into 3 parts. Contents of each part are mentioned below.
All the techniques and concepts are explained using first principle technique.
This blog uses various references as well which I have mentioned below.Criticism and doubts are welcome.
Please go through each image carefully as these images carry details and essence if the blog.
Hope you enjoy learning with me :)

Оглавление

Часть 1:

  1. Интуитивное понимание логистической регрессии
  2. Интерпретация геометрии
  3. Математика, стоящая за логистической регрессией и сквошингом
  4. Интерпретация минимизации потерь: логистические потери
  5. Вероятностная интерпретация логистических потерь
  6. Регуляризация: обмен между ч/б над примеркой и подгонкой

Часть 2:

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

Часть 3:

  1. Реализация фиктивного кода
  2. Что делает логистическую регрессию мощной?
  3. Где не следует использовать логистическую регрессию?
  4. Пересмотреть
  5. Заключение и вопросы интервью
  6. Дополнительные ресурсы

Часть 1:

1. Интуитивное понимание логистической регрессии

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

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

Наблюдение за набором данных:

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

Теперь мы хотим предсказать класс точки запроса x_q с помощью логистической регрессии.

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

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

Это то, что делает логистическая регрессия. Глядя на изображение, мы можем сказать, что все положительные точки (мужской класс) находятся на одной стороне линии и все отрицательные точки (женский класс) на другой стороне линии . И наша точка запроса x_q принадлежит положительному классу.

Логистическая регрессия пытается найти "линию" или "гиперплоскость", которая могла бы разделить два класса.

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

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

2. Геометрическая интерпретация логистической регрессии

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

Параметр, определяющий уравнение прямой

Теперь у нас есть два параметра наклона линии (m) и y-перехвата (b).

Возникает следующий вопрос: как определить правильное значение m и b?. Посмотрите на рисунок ниже и выберите правильные значения m и b.

СЛУЧАЙ 1: одинаковая точка пересечения по оси Y, но с другим наклоном

СЛУЧАЙ 2: Vпересечение по оси Y с одинаковым наклоном

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

3. Математика логистической регрессии

До сих пор мы использовали только два измерения из-за визуализации, но теперь мы собираемся использовать число измерений ‘d’ для математического вывода формул.

Итак, из всей геометрической интерпретации логистической регрессии мы узнали, что нам нужно найти параметр (m, b), чтобы найти уравнение прямой.

Здесь я использую перемену весов (w) наклона (m) и смещения (b) перехвата оси y (b)

Предположим, что H является функцией весов (w) и смещения (b)

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

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

Посмотрите на эти два примера, чтобы понять это:

Экземпляр 1:

Если точка данных находится на той же стороне, что и вектор весов, перпендикулярный прямой, то Xi принадлежит к положительному классу

Экземпляр 2:

Если точка данных находится на противоположной стороне линии, то Xi принадлежит к положительному классу

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

Случай 1:

Фактический класс: положительный

прогнозируемый класс: положительный

Правильно классифицировано по модели

Случай 2:

Фактический класс: отрицательный

прогнозируемый класс: отрицательный

Правильно классифицировано по модели

Случай 3:

Фактический класс: положительный

прогнозируемый класс: отрицательный

Неправильно классифицировано по модели

Случай 4:

Фактический класс: положительный

прогнозируемый класс: отрицательный

Неправильно классифицировано по модели

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

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

Нам нужно найти такиеwиb , которые могут максимизировать сумму произведений всех фактических и предсказанных точек данных класса.

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

Только из-за нескольких выбросов наша простейшая модель функции потерь с треском провалилась.

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

Да, есть. Сжатие: использование сигмовидной функции

Сжатие: сигмовидная функция

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

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

Обновленная функция потери:

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

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

4. Минимизация потерь Интерпретация: Логистические потери

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

e.g.

Фактический класс: Yi = 1

вероятность прогнозируемого класса: p(y_hat) = 0,6

прогнозируемый класс: y_hat =1

Хотя наш предсказанный класс правильно классифицирован, но если увидеть оценку вероятности, мы только на 60% уверены, что он принадлежит классу {1}. Таким образом, если вы дадите этот показатель вероятности врачу, говорящему, что я только на 60% уверен, что у этого человека есть вероятность рака, врачи не будут классифицировать, что у этого человека рак, но они будут проводить дополнительные эксперименты на пациенте или опрашивать человека, чтобы убедиться, результат.

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

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

Окончательная функция потерь логистической регрессии: логистические потери

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

Найдите веса(W) и смещение(b) так, чтобы сумма логистических потерь по всем точкам данных была минимальной.

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

Графическое поведение логистических потерь

Интерпретация из графика:

z +ve → правильная классификация

z is -ve → Неверная классификация

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

И задача логистической регрессии состоит в том, чтобы найти такие веса (w) и (b), которые минимизируют логистические потери во всех точках данных.

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

5. Вероятностная интерпретация логистических потерь

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

Мы собираемся использовать Log Loss в качестве метрики для расчета потерь нашего прогноза.

P(yi_hat) = прогнозируемая оценка вероятности того, что Yi принадлежит к классу 1.

yi = Фактическое значение Yi

Здесь Yi принадлежит {0, 1}.

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

p(yi=1| Xi)

И мы видели в геометрической интерпретации логистических потерь, что сигмовидная функция — это функция, которая может вычислить это значение. Итак, мы собираемся использовать сигмовидную функцию для вычисления p(y=1|Xi) и вписать это значение в приведенную выше функцию логарифмических потерь.

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

Пока что именно так выглядит вероятностная интерпретация логистической регрессии. Единственная разница в интерпретации вероятности и геометрической интерпретации логистических потерь заключается в том, что здесь Yi принадлежит {0,1}, а в случае геометрической интерпретации Yi принадлежит {-1, 1}.

6. Регуляризация: обмен ч/б избыточной и недостаточной подгонкой

Что это ? Как это реализовать в нашей функции потерь?

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

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

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

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

Срок регуляризации

Гипернастройка лямбда

Случаи:

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

Это конец первой части этого блога. На данный момент мы узнали об этих темах: Пересмотреть

  1. Интуитивное понимание логистической регрессии
  2. Интерпретация геометрии
  3. Математика, стоящая за логистической регрессией и сквошингом
  4. Интерпретация минимизации потерь: логистические потери
  5. Вероятностная интерпретация логистических потерь
  6. Регуляризация: обмен между ч/б над примеркой и подгонкой

Надеюсь, вам, ребята, понравилось учиться со мной. Увидимся в следующей части этого блога:)