логистическая регрессия что это такое
Русские Блоги
Алгоритм машинного обучения-логистическая регрессия
1. Основные понятия логистической регрессии
1. Что такое логистическая регрессия
Хотя Логистическая регрессия имеет в своем названии «регрессия», на самом деле это метод классификации, в основном используемый для двух задач классификации (то есть существует только два типа выходных данных, которые представляют две категории).
В регрессионной модели y является качественной переменной, такой как y = 0 или 1, логистический метод в основном используется в исследованияхВероятность определенных событий
2. Преимущества и недостатки логистической регрессии
Преимущества:
1) Быстрая скорость, подходит для задач двоичной классификации
2) Просто и легко понять, оцените вес каждой функции напрямую
3) Может легко обновлять модель для поглощения новых данных
Недостатки:
Возможность адаптации к данным и сценам ограничена и не так адаптируема, как алгоритм дерева решений
3. Разница между логистической регрессией и множественной линейной регрессией
Логистическая регрессия и множественная линейная регрессия на самом деле имеют много сходств. Самое большое отличие состоит в том, что их зависимые переменные различны, а остальные в основном одинаковы. Из-за этого эти две регрессии могут быть отнесены к одному и тому же семейству, а именно к обобщенной линейной модели.
Модели в этом семействе в основном одинаковые, разница в том, что зависимая переменная отличается. Модельные формы в этом семействе в основном одинаковы, разница в том, что зависимая переменная отличается.
4. Использование логистической регрессии
5. Регрессия общих шагов
6. Построить функцию прогнозирования h (x)
1) Логистическая функция (или сигмовидная функция), форма функции:
Для случая линейных границ форма границы имеет следующий вид:
Среди них данные обучения являются вектором
Лучшие параметры
Построить функцию прогнозирования как:
Значение функции h (x) имеет особое значение: оно представляет вероятность того, что результат получит 1. Следовательно, вероятность того, что входной результат классификации x относится к категории 1 и категории 0:
P(y=1│x;θ)=h_θ (x)
P(y=0│x;θ)=1-h_θ (x)
7. Построить функцию потерь J (m выборок, каждая выборка имеет n характеристик)
Функция стоимости и функция J являются следующими, они выводятся на основе оценки максимального правдоподобия.
8. Подробный процесс удержания функции потерь
1) Найти функцию стоимости
Вероятность записывается следующим образом:
Функция правдоподобия:
Функция правдоподобия журнала:
Оценка максимального правдоподобия состоит в том, чтобы найти θ, когда l (θ) принимает максимальное значение. Фактически для его решения можно использовать метод градиентного подъема. Полученный θ является требуемым оптимальным параметром.
В курсе Эндрю Нга примите J (θ) в качестве следующей формулы, а именно:
2) Метод градиентного спуска решает минимальное значение
Процесс обновления θ может быть записан как:
ectorization заключается в использовании матричного вычисления вместо цикла for для упрощения процесса вычисления и повышения эффективности.
Процесс векторизации:
Матричная форма обучающих данных выглядит следующим образом: каждая строка x представляет собой обучающую выборку, а каждый столбец представляет собой отдельное специальное значение:
Параметр A функции g (A) представляет собой столбец векторов, поэтому при реализации функции g необходимо поддерживать вектор столбца в качестве параметра и возвращать вектор столбца.
Процесс обновления θ можно изменить на:
Таким образом, этапы обновления θ после векторизации следующие:
(1) проблема переоснащения
Переоснащение означает переобучение обучающих данных, что делает модель более сложной и менее процветающей (способность прогнозировать неизвестные данные)
На левом рисунке ниже показано подгонка, на среднем изображении показана правильная подгонка, а на правом изображении показана подгонка.
(2) Основные причины переоснащения
Проблемы с переоснащением часто возникают из-за слишком большого количества функций
Решение
1) Сократите количество функций (сокращение функций приведет к потере некоторой информации, даже если функции выбраны правильно)
• Сохраняемые функции можно выбрать вручную;
• алгоритм выбора модели;
2) Регуляризация (более эффективно при наличии множества функций)
• Сохраните все функции, но уменьшите размер θ
Регулярный член может принимать различные формы, принимая квадратную потерю в задаче регрессии, которая является нормой L2 параметра или нормой L1. При принятии квадрата потерь функция потерь модели становится:
Логистическая регрессия для чайников: подробное объяснение
Дата публикации Aug 14, 2019
Хотел бы начать это путешествие ML с этим сообщением:
«Постарайтесь сначала понять формулировку проблемы, оставив в стороне свой тренированный интеллект, и попытайтесь проанализировать данные, как будто вы ничего о них не знаете. Ваше честное признание того, что вы ничего не знаете, приведет вас к процессу создания модели, достойной развертывания. «
Процесс важнее, чем результат в области науки о данных
В нашей последней статье о контролируемом ML мы рассмотрели модель линейной регрессии, которая имела дело с непрерывными атрибутами, чтобы определить влияние независимой переменной на зависимую переменную. Я бы пригласил вас пройти через это, чтобы получить правильный контекст.
Машинное обучение под наблюдением с использованием линейной регрессии: Часть 1
Понимание модели линейной регрессии
towardsdatascience.com
Все упражнение в модели линейной регрессии состояло в том, чтобы найти наилучшую линию соответствия, которая может предсказать влияние независимой переменной на зависимую или целевую переменную. Линейная регрессия имеет дело с проблемой, где нам нужно предсказать
Здесь мы пытаемся предсказать влияние / изменения, наблюдаемые на целевые переменные продажи / производительность, исходя из рабочего времени / возраста. Как насчет проблемы, когда мы хотим четко предсказать на основе входных данных, вероятность того, что пациенты будут диабетиками или не диабетиками, или предсказать вероятность того, что собака будет лаять в середине ночи или нет.
Проблема такого типа, когда нам нужно найти вероятность того, что событие произойдет или нет, или же оно будет истинным / ложным, называется проблемой классификации. Чтобы решить эту проблему, мы часто используем один из самых популярныхмодель ML под наблюдениемназывается,Модель логистической регрессии.
С этой информацией давайте начнем сегодняшнюю сессию по логистической регрессии, где мы рассмотрим
Что такое логистическая регрессия?
Логистическая регрессияэто статистический метод для анализа набора данных, в котором есть одна или несколько независимых переменных, которые определяют результат. Результат измеряется с помощью дихотомической переменной (в которой есть только два возможных результата). Он используется для прогнозирования двоичного результата (1/0, Да / Нет, Истина / Ложь) с учетом набора независимых переменных.
Вы также можете рассматривать логистическую регрессию как особый случай линейной регрессии, когда исходная переменная является категориальной, где мы используем логарифм шансов в качестве зависимой переменной. Проще говоря, он предсказывает вероятность возникновения события путем подгонки данных клогитфункция.
Помните, что в некоторых случаях зависимые переменные могут иметь более двух результатов, например, в браке / не замужем / в разводе, такие сценарии классифицируются какполиномиальная логистическая регрессия.Хотя они работают одинаково, чтобы предсказать результат.
Несколько знакомых примеров логистической регрессии:
Некоторые выдающиеся примеры, такие как:
Как работает логистическая регрессия?
Логистическая модель: сигмовидная функция
Давайте попробуем понять логистическую регрессию, понимая логистическую модель. Как и в случае линейной регрессии, давайте представим нашу гипотезу (Предсказание зависимой переменной) в классификации. В классификации наше представление гипотезы, которое пытается предсказать двоичный результат или o или 1, будет выглядеть так:
hθ (x) = g (θ T x) = 1/1 + e − θ T x,
Здесь g (z) = 1 / (1 + e ^ −z) называется lОгистическая функция или сигмовидная функция:
(г): представление логистической функции, которую мы также называем сигмовидной функцией. Из приведенного выше визуального представления сигмовидной функции мы можем легко понять, как эта кривая описывает многие реальные ситуации, такие как рост населения. На начальных этапах это показывает экспоненциальный рост, но через некоторое время, из-за конкуренции за определенные ресурсы (горлышко бутылки), скорость роста снижается, пока не достигнет тупиковой ситуации, и рост не будет
Вопрос здесь в том, как этологит(сигмоидальная функция) помогает нам определить вероятность классификации данных по различным классам. Давайте попробуем понять, как рассчитывается наша функция logit, что даст нам некоторую ясность
Математика за логистической функцией:
Шаг 1: Классификация входных данных должна быть в классе ноль или единица.
Во-первых, нам нужно вычислить вероятность того, что наблюдение принадлежит классу 1 (мы также можем назвать его положительным классом), используя функцию логистического отклика. В этом случае наш параметр z, как видно из приведенной ниже функции logit.
Log Odds (функция Logit):
Вышеприведенное объяснение также может быть понято с точки зрения логарифмических коэффициентов, что является своего рода пониманием вероятности классификации элементов на классы (1 или 0) с помощьюСТАВКИ:
Эти шансы, которые напоминают сходство с линейной регрессией, называютсялогит.
logit (P) = a + bX,
Шаг 2: Определение граничных значений для шансов
Теперь мы определим границу порога, чтобы четко классифицировать каждое заданное входное значение в один из классов.
Мы можем выбрать пороговое значение в соответствии с бизнес-проблемой, которую мы пытаемся решить, как правило, которая находится в районе 0,5 Таким образом, если ваши значения вероятности окажутся> 0,5, мы можем классифицировать такое наблюдение в тип класса 1, а остальные в класс 0.Выбор порогового значения обычно основывается на типах ошибок, которые бывают двух типов:ложные срабатывания и ложные отрицания.
Ложно-положительная ошибка возникает, когда модель прогнозирует класс 1, но наблюдение фактически принадлежит классу 0. Ложно-отрицательная ошибка допускается, когда модель прогнозирует класс 0, но наблюдение фактически принадлежит классу 1. Идеальная модель будет классифицировать все правильно классифицирует: все 1 (или истины) как 1, и все 0 (или ложь) как 0. Таким образом, мы имели бы FN = FP = 0.
Влияние пороговых значений:
1.Более высокое пороговое значение
Предположим, если P (y = 1)> 0,7. Модель является более строгой при классификации как 1, и, следовательно, будет сделано больше ошибок ложного отрицания.
2. Нижнее пороговое значение:
Предположим, если P (y = 1)> 0,3.
Модель теперь менее строгая, и мы классифицируем больше примеров как класс 1, поэтому мы делаем больше ошибок ложных срабатываний.
Путаница Матрица: путь к Choose Эффективное пороговое значение:
Матрица путаницы, также известная как матрица ошибок, является предиктором производительности модели для задачи классификации. Количество правильных и неправильных прогнозов суммируется со значениями количества и разбивается по каждому классу. Это лежит в основе путаницы.
Матрица путаницы показывает, каким образом ваша модель классификации находится в замешательстве, когда она делает прогнозы для наблюдений, она помогает нам измерить тип ошибки, которую делает наша модель, при классификации наблюдения по различным классам.
Ключевые части матрицы путаницы:
Ключевые показатели обучения из матрицы путаницы:
Матрица путаницы помогает нам изучать следующие метрики, помогая нам измерять производительность логистической модели.
Точность:
В целом, как часто верен классификатор?
Точность = (TP + TN) / общее количество засекреченных предметов = (TP + TN) / (TP + TN + FP + FN)
Точность:
Когда это предсказывает да, как часто это правильно?
Точность обычно используется, когда целью являетсяограничить количество ложных срабатываний(ФП). Например, с помощью алгоритма фильтрации спама, где наша цель состоит в том, чтобы свести к минимуму количество реальных электронных писем, которые классифицируются как спам
Точность = TP / (TP + FP)
Отзыв:
Когда это на самом деле положительный результат, как часто он предсказывает правильно?
Напомним = TP / (TP + FN), также известный как чувствительность.
f1-счет:
Это просто гармоническое среднее точности и напоминания:
f1-оценка = 2 * ((точность * отзыв) / (точность + отзыв))
Поэтому, когда вам нужно принять во внимание как точность, так и вспомнить, этот показатель f1 является полезным показателем для измерения. Если вы попытаетесь оптимизировать только отзыв, ваш алгоритм будет предсказывать, что большинство примеров будет принадлежать положительному классу, но это приведет к множеству ложных срабатываний и, следовательно, к низкой точности. Кроме того, если вы попытаетесь оптимизировать точность, ваша модель будет предсказывать очень мало примеров как положительные результаты (те, которые имеют наибольшую вероятность), но отзыв будет очень низким. Так что может быть полезно сбалансировать и рассмотреть оба варианта и увидеть результат.
Площадь AUC под кривой:
Специфичность или истинный отрицательный показатель= TN / (TN + FP)
Чувствительность или истинно положительный показатель= TP / (TP + FN)
ТакFPR, ложноположительный показатель = 1 – специфичность
Интуиция за кривой ROC:
Эта модель, которая предсказывает случайно, будет иметь ROC-кривую, которая выглядит как диагональная зеленая линия (как показано выше на рисунке). Это не дискриминационная модель. Чем дальше кривая от диагональной линии, тем лучше модель различает положительные и отрицательные значения в целом.
Типы логистической регрессии:
Поскольку мы поняли некоторые важные оговорки, связанные с логистической регрессией, пришло время взять некоторое практическое понимание на простом примере:
Реализация логистической регрессии:
Мы собираемся охватить это упражнение по созданию модели в следующие шаги:
Основная цель: прогнозировать диабет с использованием классификатора логистической регрессии.
1. Загрузка данных:
Мы будем использоватьНабор данных индийского диабета Pima, полученный из kaggle, Пожалуйста, загрузите данные из следующихссылка:
Напишите / скопируйте приведенный ниже код и запустите его в своем блокноте Juypter (убедитесь, что вы установилианаконда дистрибуцияв вашей системе), когда вы запустите этот фрагмент кода, вы увидите вывод, как показано на рис. 1.0
Исследовательский анализ данных:
Давайте изучим данный набор данных, чтобы найти
Анализ нечисловых и нулевых значений:
Напишите следующий фрагмент кода и скомпилируйте его:
Выход:
Вы обнаружите, что нет нечисловых атрибутов, так как возвращаемый массив имеет пустые значения индекса для каждого столбца.
Описательный анализ:
Давайте проведем некоторый описательный анализ, чтобы найти
Мы можем проанализировать каждый столбец с помощью пандописывают ()метод, чтобы получить статистическую сводку всех атрибутов. Этот анализ помогает нам определить, какой столбец сильно искажен, как выглядят хвосты, каковы средние, срединные и квартильные значения каждого столбца.
Запишите / скопируйте следующий код в свой блокнот и скомпилируйте его:
Быстрое наблюдение:
Давайте разберемся подробнее со всеми атрибутами dataframe, используя визуализацию парных участков.
Анализ парных участков.
Давайте посмотрим на целевой столбец ‘учебный классЧтобы понять, как данные распределяются между различными значениями.
Ключевые идеи:
Логистическая модель с использованием SkLearn & Python:
Импортные пакеты Sklearn:
ИмпортироватьЛогистическая регрессиямодель и другие необходимые пакеты, отsklearnпакет Python, как показано ниже:
Разделить данные на данные обучения и испытаний:
Давайте построим нашу модель:
Давайте посмотрим, как наша модель маркирует данные X_train, чтобы сделать классификацию:
Вы можете видеть, что с помощью функции model.predict (X_test) наша модель классифицировала каждый атрибут столбца (X-train) как 0/1 как прогноз
Время, чтобы измерить, как модель выступила (забил)
Перед этим давайте выясним значения коэффициентов плоскости (поверхности), которую наша модель нашла в качестве поверхности наилучшего соответствия, используя приведенный ниже код:
Который, получить в нашей функции сигмовидной
сигмоид, g (z) = 1 / (1 + e ^ −z).
Оценка модели:
Давайте посмотрим, как наша модель наилучшего соответствия сравнивается с нетренированными тестовыми данными, используя основную логистическую функцию (сигмовидная функция) мы обсуждали выше.
Показатель модели составляет 0,774, что в пересчете на процент составляет 77,4%. Это не на высоте. Кроме того, здесь необходимо указать, что ранее мы обсуждали, как диабетический класс был недостаточно представлен по сравнению с недиабетическим классом с точки зрения выборочных данных, поэтому мы должны редко полагаться на эту модель и проводить дальнейшие измерения с использованием метрик уровня класса матриц смешения. (Напомним, точность и т. Д.)
Давайте измерим производительность модели с помощью Confusion Metrics:
Наблюдение:
Давайте вычислим значение отзыва: показатель уровня класса для измерения производительности модели:
Отзыв:
Отзыв(Для недиабетических) = TP / (TP + FN)
Напомним = 132 / (132 + 14) = 132/146 = 0,90 = 90%
Отзыв(Для диабетиков) = TP / (TP + FN)
Напомним (для диабетиков) = 47/85 = 0,55 = 55%,
Эта модель работает плохо в случае диабетика, что вполне заметно из-за отсутствия доступных образцов данных для диабетического класса для моделирования, как мы обсуждали ранее.
Точность:
что является низким, особенно учитывая природу проблемы (здесь отрасль здравоохранения), которую мы пытаемся решить, где ожидается точность более 95%.
Что дальше?
Закрытие:
Хотелось бы закончить эту часть «Логистической регрессией» пищей для размышлений
Никогда не доверяйте тому, что вы знаете, вместо того, чтобы задавать вопросы и найти ответ для себя.
Алгоритмы машинного обучения простым языком. Часть 3
Jun 8, 2019 · 5 min read
Логистическая регрессия
Итак, мы уже познакомились с линейной регрессией. Она определяла влияние переменных на другую переменную при условии, что: 1) результирующая переменная непрерывна и 2) отношение между независимыми переменными и результирующей линейное.
Но что, если результирующая переменная категориальная? Тогда и приходит на помощь логистическая регрессия!
Категориальные переменные — те, которые могут принимать лишь значения, обозначающие определённую категорию. Например, дни недели. Если у тебя есть точки на графике, обозначающие события определённого дня, то ни одна точка не может быть между понедельником и вторником. Если что-то произошло в понедельник, то оно произошло в понедельник, всё просто.
Те п ерь, если мы вспомним, как работает линейная регрессия, то как вообще можно определить линию наилучшего соответствия для чего-то категориального? Это невозможно! Поэтому логистическая регрессия выдаёт не численное значение, а вероятность соответствия той или иной категории. Поэтому модели, использующие логистическую регрессию, чаще всего используются для классификации.
Логистическая функция нелинейна. Как тогда логистическая регрессия может быть линейным классификатором?
Многомерная логистическая функция задаёт поверхность, которая поднимается от озёрной ложи (в точке ноль) к плато (в точке 1). Если вы заполните озеро до значения 0,5, то береговая линия будет прямой. Эта прямая и есть разделительная прямая для классификатора. В этом смысле логистическая регрессия — это линейный классификатор. Она работает лучше всего с линейно разделимыми классами”.
Вернёмся к тому, что мы называем линейную и логистическую регрессию “линейными”. Где же линейная часть логистической регрессии, когда мы не можем определить линию наилучшего соответствия? В мире логистической регрессии результирующая переменная находится в линейных отношениях с логарифмом отношения шансов независимых переменных.
Отношение шансов
Ядро логистической регрессии=отношение шансов.
Отношение шансов — это отношение вероятности успешного исхода к вероятности провала. Другими словами, это отношение вероятности того, что событие произойдёт, к вероятности того, что оно не произойдёт.
Для конкретного примера давай рассмотрим школьников, которые пишут тест. Известно, что для девушек отношение шансов того, что они сдадут тест, 5:1, а для парней — 3:10. Это значит, что из 6 девушек 5 скорее всего успешно сдадут тест, а из 13 парней — всего лишь 3. Общее количество учеников равно 19.
То есть отношение шансов и вероятность — одно и то же?
Нет. Вероятность — это отношение количества раз, когда произошло конкретное событие, к количеству всех произошедших событий (например, из 30 подбрасываний монетки в 10 случаях выпала решка).
Отношение шансов — это отношение количества раз, когда произошло конкретное событие, к количеству раз, когда оно не произошло (из 30 подбрасываний в 10 случаях выпала решка, значит, в 20 она не выпала, тогда отношение шансов — 10:20).
Это значит, что вероятность всегда будет в пределах от нуля до единицы, тогда как отношение шансов может расти от нуля до бесконечности. Это проблема для модели логистической регрессии, так как ожидаемые выходные данные должны быть вероятностью, то есть числом в промежутке от нуля до единицы.
Как получить вероятность из отношения шансов?
Давай рассмотрим это на определённой задаче классификации. Например, победит ли твоя любимая футбольная команда в матче с другой командой. Предположим, что отношение шансов того, что твоя любимая команда проиграет — 1:6 или 0,17, а того, что выиграет — 6:1 или 6. Эти числа можно представить на числовой прямой таким образом:
Скорее всего, ты не хочешь, чтобы модель ориентировалась только на модуль отношений шансов. Нужно, чтобы она учитывала, допустим, погоду, игроков и так далее. Для того, чтобы равномерно (симметрично) распределить модуль отношения шансов, мы вычисляем логарифм отношения шансов.
Логарифм отношения шансов
Это натуральный логарифм из отношения шансов. Когда ты берёшь натуральный логарифм от каких-то значений, ты делаешь их более нормально распределёнными. Когда что-то имеет нормальное распределение, с ним очень легко работать.
Когда мы берём натуральный логарифм от отношения шансов, мы распределяем значения от отрицательной бесконечности до положительной. Ты можешь увидеть это на кривой Белла.
Хоть нам и до сих пор нужно число в промежутке от 0 до 1, достигнутая симметрия приближает нас к получению верного результата.
Логит-функция
Это функция, с помощью которой мы получаем логарифм отношения шансов.