зачем нужна функция сигнум в логистической регрессии

Введение в логистическую регрессию

Дата публикации Jan 22, 2019

Введение

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

зачем нужна функция сигнум в логистической регрессии. 0 795769 628647. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 795769 628647. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 795769 628647.

Какие типы логистической регрессии

Логистическая регрессия

зачем нужна функция сигнум в логистической регрессии. 0 600576 490518. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 600576 490518. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 600576 490518.

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

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

зачем нужна функция сигнум в логистической регрессии. 0 60625 728397. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 60625 728397. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 60625 728397.

Что такое сигмовидная функция?

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

зачем нужна функция сигнум в логистической регрессии. 0 381025 99523. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 381025 99523. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 381025 99523.

зачем нужна функция сигнум в логистической регрессии. 0 85327 632336. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 85327 632336. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 85327 632336.

Гипотеза Представление

Когда используешьлинейная регрессиямы использовали формулу гипотезы, т.е.

Для логистической регрессии мы собираемся немного ее изменить, т.е.

Мы ожидали, что наша гипотеза даст значения от 0 до 1.

зачем нужна функция сигнум в логистической регрессии. 0 446768 906562. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 446768 906562. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 446768 906562.

Граница решения

Мы ожидаем, что наш классификатор даст нам набор выходных данных или классов, основанных на вероятности, когда мы передадим входные данные через функцию прогнозирования и вернем оценку вероятности между 0 и 1.

зачем нужна функция сигнум в логистической регрессии. 0 620149 727764. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 620149 727764. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 620149 727764.

Как показано на приведенном выше графике, мы выбрали пороговое значение как 0,5, если функция прогнозирования вернула значение 0,7, то мы бы классифицировали это наблюдение как Класс 1 (DOG). Если наш прогноз вернул значение 0,2, мы бы классифицировали наблюдение как класс 2 (CAT).

Функция стоимости

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

зачем нужна функция сигнум в логистической регрессии. 0 434897 412828. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 434897 412828. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 434897 412828.

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

зачем нужна функция сигнум в логистической регрессии. 0 659247 611079. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 659247 611079. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 659247 611079.

Для логистической регрессии функция Cost определяется как:

Источник

Функция sign(x)

зачем нужна функция сигнум в логистической регрессии. 180px signum function.svg. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-180px signum function.svg. картинка зачем нужна функция сигнум в логистической регрессии. картинка 180px signum function.svg.

Функция зачем нужна функция сигнум в логистической регрессии. 76a585b771387d642925288c68fa3c10. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-76a585b771387d642925288c68fa3c10. картинка зачем нужна функция сигнум в логистической регрессии. картинка 76a585b771387d642925288c68fa3c10. (другое обозначение: зачем нужна функция сигнум в логистической регрессии. 4877b2b7872500e01e18c85b3f7a15d6. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-4877b2b7872500e01e18c85b3f7a15d6. картинка зачем нужна функция сигнум в логистической регрессии. картинка 4877b2b7872500e01e18c85b3f7a15d6., читается: «сигнум», от лат. signum — знак) определяется следующим образом:

зачем нужна функция сигнум в логистической регрессии. 425937ae239c8796f08d0c88da88cabb. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-425937ae239c8796f08d0c88da88cabb. картинка зачем нужна функция сигнум в логистической регрессии. картинка 425937ae239c8796f08d0c88da88cabb.

Свойства функции

Полезное

Смотреть что такое «Функция sign(x)» в других словарях:

функция mod_osso — Новое функциональное средство, введенное в Oracle9iAS Release 2. Оно является расширением Oracle HTTP Server, которое позволяет HTTP серверу стать партнерским приложением (см. Partner Applications) для SSO (см. Single Sign On, SSO). Приложения,… … Справочник технического переводчика

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

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

Функция sgn(x) — График функции y = sgn x Функция (другое обозначение: ), читается «сигнум» (от лат. signum знак) кусочно постоянная функция, определённа … Википедия

Функция Радемахера — Графики функций Радемахера с Функция Радемахера кусочно постоянная периодическая функция, принимающая только два значения 1 и −1 на всей обл … Википедия

Однородная функция — степени числовая функция такая, что для любого и выполняется равенство: причём называют порядком однородности. Различают также положительно однородные функции, для которых равенство … Википедия

Источник

Логистическая регрессия для чайников: подробное объяснение

Дата публикации Aug 14, 2019

зачем нужна функция сигнум в логистической регрессии. 0 541552 255202. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 541552 255202. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 541552 255202.

Хотел бы начать это путешествие 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Огистическая функция или сигмовидная функция:

зачем нужна функция сигнум в логистической регрессии. 0 946540 925534. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 946540 925534. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 946540 925534.

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

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

Математика за логистической функцией:

Шаг 1: Классификация входных данных должна быть в классе ноль или единица.

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

зачем нужна функция сигнум в логистической регрессии. 0 771370 388492. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 771370 388492. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 771370 388492.

зачем нужна функция сигнум в логистической регрессии. 0 796992 240491. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 796992 240491. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 796992 240491.

Log Odds (функция Logit):

Вышеприведенное объяснение также может быть понято с точки зрения логарифмических коэффициентов, что является своего рода пониманием вероятности классификации элементов на классы (1 или 0) с помощьюСТАВКИ:

зачем нужна функция сигнум в логистической регрессии. 0 414105 259400. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 414105 259400. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 414105 259400.

зачем нужна функция сигнум в логистической регрессии. 0 941847 596770. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 941847 596770. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 941847 596770.

Эти шансы, которые напоминают сходство с линейной регрессией, называютсялогит.

logit (P) = a + bX,

Шаг 2: Определение граничных значений для шансов

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

Мы можем выбрать пороговое значение в соответствии с бизнес-проблемой, которую мы пытаемся решить, как правило, которая находится в районе 0,5 Таким образом, если ваши значения вероятности окажутся> 0,5, мы можем классифицировать такое наблюдение в тип класса 1, а остальные в класс 0.Выбор порогового значения обычно основывается на типах ошибок, которые бывают двух типов:ложные срабатывания и ложные отрицания.

Ложно-положительная ошибка возникает, когда модель прогнозирует класс 1, но наблюдение фактически принадлежит классу 0. Ложно-отрицательная ошибка допускается, когда модель прогнозирует класс 0, но наблюдение фактически принадлежит классу 1. Идеальная модель будет классифицировать все правильно классифицирует: все 1 (или истины) как 1, и все 0 (или ложь) как 0. Таким образом, мы имели бы FN = FP = 0.

зачем нужна функция сигнум в логистической регрессии. 0 594284 229756. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 594284 229756. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 594284 229756.

Влияние пороговых значений:

1.Более высокое пороговое значение

Предположим, если P (y = 1)> 0,7. Модель является более строгой при классификации как 1, и, следовательно, будет сделано больше ошибок ложного отрицания.

2. Нижнее пороговое значение:

Предположим, если P (y = 1)> 0,3.

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

Путаница Матрица: путь к Choose Эффективное пороговое значение:

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

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

зачем нужна функция сигнум в логистической регрессии. 0 193680 995745. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 193680 995745. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 193680 995745.

Ключевые части матрицы путаницы:

Ключевые показатели обучения из матрицы путаницы:

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

Точность:

В целом, как часто верен классификатор?

Точность = (TP + TN) / общее количество засекреченных предметов = (TP + TN) / (TP + TN + FP + FN)

Точность:

Когда это предсказывает да, как часто это правильно?

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

Точность = TP / (TP + FP)

Отзыв:

Когда это на самом деле положительный результат, как часто он предсказывает правильно?

Напомним = TP / (TP + FN), также известный как чувствительность.

f1-счет:

Это просто гармоническое среднее точности и напоминания:

f1-оценка = 2 * ((точность * отзыв) / (точность + отзыв))

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

Площадь AUC под кривой:

зачем нужна функция сигнум в логистической регрессии. 0 790587 206027. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 790587 206027. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 790587 206027.

Специфичность или истинный отрицательный показатель= TN / (TN + FP)

Чувствительность или истинно положительный показатель= TP / (TP + FN)

ТакFPR, ложноположительный показатель = 1 – специфичность

Интуиция за кривой ROC:

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

Типы логистической регрессии:

Поскольку мы поняли некоторые важные оговорки, связанные с логистической регрессией, пришло время взять некоторое практическое понимание на простом примере:

Реализация логистической регрессии:

Мы собираемся охватить это упражнение по созданию модели в следующие шаги:

Основная цель: прогнозировать диабет с использованием классификатора логистической регрессии.

1. Загрузка данных:

Мы будем использоватьНабор данных индийского диабета Pima, полученный из kaggle, Пожалуйста, загрузите данные из следующихссылка:

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

зачем нужна функция сигнум в логистической регрессии. 0 797567 417731. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 797567 417731. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 797567 417731.

Исследовательский анализ данных:

Давайте изучим данный набор данных, чтобы найти

Анализ нечисловых и нулевых значений:

Напишите следующий фрагмент кода и скомпилируйте его:

Выход:

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

зачем нужна функция сигнум в логистической регрессии. 0 862587 853097. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 862587 853097. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 862587 853097.

Описательный анализ:

Давайте проведем некоторый описательный анализ, чтобы найти

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

Запишите / скопируйте следующий код в свой блокнот и скомпилируйте его:

зачем нужна функция сигнум в логистической регрессии. 0 876792 961026. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 876792 961026. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 876792 961026.

Быстрое наблюдение:

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

Анализ парных участков.

зачем нужна функция сигнум в логистической регрессии. 0 821521 274502. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 821521 274502. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 821521 274502.

зачем нужна функция сигнум в логистической регрессии. 0 678279 134767. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 678279 134767. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 678279 134767.

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

зачем нужна функция сигнум в логистической регрессии. 0 407432 272247. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 407432 272247. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 407432 272247.

Ключевые идеи:

Логистическая модель с использованием SkLearn & Python:

Импортные пакеты Sklearn:

ИмпортироватьЛогистическая регрессиямодель и другие необходимые пакеты, отsklearnпакет Python, как показано ниже:

Разделить данные на данные обучения и испытаний:

Давайте построим нашу модель:

Давайте посмотрим, как наша модель маркирует данные X_train, чтобы сделать классификацию:

зачем нужна функция сигнум в логистической регрессии. 0 683101 886797. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 683101 886797. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 683101 886797.

Вы можете видеть, что с помощью функции model.predict (X_test) наша модель классифицировала каждый атрибут столбца (X-train) как 0/1 как прогноз

Время, чтобы измерить, как модель выступила (забил)

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

Который, получить в нашей функции сигмовидной

сигмоид, g (z) = 1 / (1 + e ^ −z).

зачем нужна функция сигнум в логистической регрессии. 0 411112 125110. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 411112 125110. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 411112 125110.

Оценка модели:

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

зачем нужна функция сигнум в логистической регрессии. 0 218917 926032. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 218917 926032. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 218917 926032.

Показатель модели составляет 0,774, что в пересчете на процент составляет 77,4%. Это не на высоте. Кроме того, здесь необходимо указать, что ранее мы обсуждали, как диабетический класс был недостаточно представлен по сравнению с недиабетическим классом с точки зрения выборочных данных, поэтому мы должны редко полагаться на эту модель и проводить дальнейшие измерения с использованием метрик уровня класса матриц смешения. (Напомним, точность и т. Д.)

Давайте измерим производительность модели с помощью Confusion Metrics:

зачем нужна функция сигнум в логистической регрессии. 0 148244 463922. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0 148244 463922. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0 148244 463922.

Наблюдение:

Давайте вычислим значение отзыва: показатель уровня класса для измерения производительности модели:

Отзыв:

Отзыв(Для недиабетических) = TP / (TP + FN)

Напомним = 132 / (132 + 14) = 132/146 = 0,90 = 90%

Отзыв(Для диабетиков) = TP / (TP + FN)

Напомним (для диабетиков) = 47/85 = 0,55 = 55%,

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

Точность:

что является низким, особенно учитывая природу проблемы (здесь отрасль здравоохранения), которую мы пытаемся решить, где ожидается точность более 95%.

Что дальше?

Закрытие:

Хотелось бы закончить эту часть «Логистической регрессией» пищей для размышлений

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

Источник

Русские Блоги

Логистическая регрессия

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

Основная идея логистической регрессии: установить формулу регрессии для границы классификации в соответствии с существующими данными для классификации.

Регрессия: термин «регрессия» происходит от слова «наилучшее соответствие», что означает поиск наиболее подходящего набора параметров.

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

5.1 Классификация на основе логистической регрессии и сигмовидной функции

δ ( z ) = 1 1 + e − z » role=»presentation» style=»position: relative;»> δ ( z ) = 1 1 + e − z

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

Как реализовать классификатор логистической регрессии:

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

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

Определив функциональную форму классификатора, определите лучший коэффициент регрессии

5.2 Определение лучшего коэффициента регрессии на основе метода оптимизации

5.2.1 Метод градиентного подъема

w := w + α ∇ w f ( w ) » role=»presentation» style=»position: relative;»> w := w + α ∇ w f ( w )

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

Пример: найти максимальное значение функции

Результат очень близок к истинному значению 2, и этот процесс является алгоритмом градиентного подъема.

5.3 Фактический бой Python

использовать testSet.txt Набор данных, данные следующие:

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

5.3.1 Просмотр распределения набора данных

На рисунке выше показано распределение данных, предполагая, что вход сигмоидной функции равен z, тогда z = w 0 + w 1 x 1 + w 2 x 2 » role=»presentation» style=»position: relative;»> z = w 0 + w 1 x 1 + w 2 x 2 Разделить данные. среди них x 0 » role=»presentation» style=»position: relative;»> x 0 Это вектор всех, x 1 » role=»presentation» style=»position: relative;»> x 1 Первый столбец набора данных, x 2 » role=»presentation» style=»position: relative;»> x 2 Второй столбец набора данных.

5.3.2 Обучение

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

5.3.3 Рисование границ решения

Процедура рисования границы следующая:

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

подводить итоги:

5.4 Улучшенный алгоритм стохастического градиентного подъема

Предположим, что в используемом наборе данных всего 100 выборок. Тогда dataMatrix представляет собой матрицу размером 100 * 3. Каждый раз, когда вычисляется h, должна вычисляться операция умножения матрицы dataMatrix * weights, что требует 100 * 3 операций умножения и 100 * 2 операций сложения. Таким же образом, при обновлении весов коэффициентов регрессии (оптимальных параметров), также необходим весь набор данных, и требуется умножение матриц. Всего этот метод может обрабатывать около 100 наборов данных, но если есть миллиарды образцов и тысячи функций, вычислительная сложность этого метода слишком высока. Следовательно, алгоритм нуждается в улучшении. Каждый раз, когда мы обновляем коэффициенты регрессии (оптимальные параметры), можем ли мы использовать все образцы? Использовать только одну точку выборки за раз для обновления коэффициентов регрессии (оптимальные параметры)? Это может эффективно сократить объем вычислений.Этот метод называется алгоритмом стохастического градиентного подъема.

5.4.1 Код алгоритма стохастического градиентного подъема:

Улучшения:
(1)
альфа будет корректироваться на каждой итерации. Хотя она будет уменьшаться каждый раз, она не будет уменьшаться до 0, потому что существует постоянный член.

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

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

Улучшенный алгоритм стохастического градиентного подъема:

5.4.2 Связь между коэффициентами регрессии и количеством итераций

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

Улучшенный алгоритм стохастического градиентного подъема имеет лучший эффект сходимости:

Всего у нас есть 100 точек выборки, а количество итераций улучшенного алгоритма стохастического градиентного подъема составляет 150. Причина, по которой на приведенном выше рисунке показано 15 000 итераций, заключается в том, что коэффициенты регрессии обновляются после использования выборки. Следовательно, повторение 150 раз эквивалентно обновлению коэффициента регрессии 150 * 100 = 15000 раз. Короче говоря, повторите 150 раз и обновите параметры регрессии 15 000 раз. Из эффекта регрессии улучшенного алгоритма стохастического градиентного подъема в левой части рисунка выше можно увидеть, что, когда коэффициенты регрессии обновляются 2000 раз, они уже сходятся. Коэффициенты регрессии сходятся, что эквивалентно 20-кратному обходу всего набора данных. Обучение завершено.

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

Усовершенствованный алгоритм стохастического градиентного подъема начинает сходиться в 20-й момент прохождения набора данных. Алгоритм градиентного подъема начинает сходиться только после 300-го обхода набора данных.

5.5 Пример: прогнозирование смертности больных лошадей от грыжи

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

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

5.5.1 Подготовить данные

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

Предварительная обработка данных:

Сохранить как два файла: horseColicTest.txt с участием horseColicTraining.txt

5.5.2 Использование python для создания классификатора логистической регрессии

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

Используйте алгоритм градиентного подъема:

Использование метода градиентного подъема короче, а частота ошибок более стабильна.

Где используются два разных алгоритма:

1) Когда набор данных невелик, используйте алгоритм градиентного подъема
2) Если набор данных большой, используйте алгоритм стохастического градиентного подъема.

5.6 Использование sklearn для создания классификатора логистической регрессии

5.6.1 Описание функций

Эта функция имеет 14 параметров, описание параметра следующее:

class_weight: используется для обозначения различных типов весов в модели классификации. Это может быть словарь или сбалансированная строка. Значение по умолчанию не вводится, то есть вес не учитывается, что равно None.

Liblinear подходит для небольших наборов данных, а sag и saga подходят для больших наборов данных, потому что они быстрее.

Для задач с несколькими классами только newton-cg, sag, saga и lbfgs могут обрабатывать множественные потери, в то время как liblinear ограничивается парой остатков (OvR). Что вы имеете в виду, когда используете liblinear, если это проблема множественной классификации, вы должны сначала использовать одну категорию как одну категорию, а все остальные категории как другую категорию. Один раз проведите аналогию, пройдитесь по всем категориям и классифицируйте.

Все три алгоритма оптимизации newton-cg, sag и lbfgs требуют первой или второй непрерывной производной функции потерь, поэтому их нельзя использовать для регуляризации L1 без непрерывных производных, но можно использовать только для регуляризации L2. В то время как liblinear и saga принимают как регуляризацию L1, так и регуляризацию L2.

В то же время, sag использует только часть выборок для градиентной итерации каждый раз, поэтому не выбирайте его, когда размер выборки небольшой, а если размер выборки очень большой, например, больше 100000, sag является первым выбором. Но прогиб не может использоваться для регуляризации L1, поэтому, когда у вас есть большое количество выборок и требуется регуляризация L1, вы должны делать свой собственный выбор. Либо уменьшите размер выборки, сделав выборку, либо вернитесь к регуляризации L2.

В чем разница между OvR и MvM?

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

Можно видеть, что OvR относительно прост, но эффект классификации относительно слаб (здесь относится к большинству выборочных распределений, OvR может быть лучше в некоторых выборочных распределениях). Хотя классификация MvM относительно точна, скорость классификации не такая высокая, как у OvR. Если выбран ovr, можно выбрать все четыре метода оптимизации функции потерь liblinear, newton-cg, lbfgs и sag. Но если вы выберете полиномиальный, вы можете выбрать только newton-cg, lbfgs и sag.

LogisticRegression Методы:

5.6.2 Используйте sklearn для создания классификатора

Измените параметр решателя, установите его на провисание, используйте метод спуска случайного среднего градиента, вы увидите, что правильная скорость улучшена, но появляется предупреждение:

Это показывает, что алгоритм еще не сошелся. Вы можете изменить количество итераций на 5000 и запустить снова:

5.7 Краткое описание логистического алгоритма

5.7.1 Преимущества и недостатки

5.8 Введение в систему

5.8.1 Логистическое распределение

зачем нужна функция сигнум в логистической регрессии. caa290ba0191b8ee85c6195aadc67f3e. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-caa290ba0191b8ee85c6195aadc67f3e. картинка зачем нужна функция сигнум в логистической регрессии. картинка caa290ba0191b8ee85c6195aadc67f3e.

5.8.2 Биномиальная логистическая регрессия

Фактически, потеря логарифмической вероятности определяется для одной точки данных как:
зачем нужна функция сигнум в логистической регрессии. 0925fb52bd02971341c5fd480d7749c5. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-0925fb52bd02971341c5fd480d7749c5. картинка зачем нужна функция сигнум в логистической регрессии. картинка 0925fb52bd02971341c5fd480d7749c5.

Если мы возьмем среднюю потерю логарифмической вероятности для всего набора данных, мы можем просто получить:
зачем нужна функция сигнум в логистической регрессии. a727fca72544bafa88595639b95cf53e. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-a727fca72544bafa88595639b95cf53e. картинка зачем нужна функция сигнум в логистической регрессии. картинка a727fca72544bafa88595639b95cf53e.

зачем нужна функция сигнум в логистической регрессии. 791d79c9f777b13c4dce3afcad496c77. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-791d79c9f777b13c4dce3afcad496c77. картинка зачем нужна функция сигнум в логистической регрессии. картинка 791d79c9f777b13c4dce3afcad496c77.

5.8.3 Регуляризация логистической регрессии

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

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

зачем нужна функция сигнум в логистической регрессии. b7cced4e9b35ef260fa5051ab3ef6eab. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-b7cced4e9b35ef260fa5051ab3ef6eab. картинка зачем нужна функция сигнум в логистической регрессии. картинка b7cced4e9b35ef260fa5051ab3ef6eab.

зачем нужна функция сигнум в логистической регрессии. b83c01ce0c09fa23a7fa91dd37687680. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-b83c01ce0c09fa23a7fa91dd37687680. картинка зачем нужна функция сигнум в логистической регрессии. картинка b83c01ce0c09fa23a7fa91dd37687680.

p = 1 или 2, что означает норму L 1 и норму L 2, оба эти значения по-прежнему имеют разные эффекты.

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

1. Норма L0 и норма L1

Норма L0: количество ненулевых элементов в векторе. Если норма L0 используется для нормализации матрицы параметров, ожидается, что большинство элементов w равны 0, что означает, что параметр w является разреженным. Но норму L0 сложно решить оптимально, поэтому она практически не используется.

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

Зачем делать параметры разреженными?

Одной из основных причин редкости правил и хороших результатов является то, что он может реализовать автоматический выбор признаков. Вообще говоря, большинство элементов xi (то есть функций) не имеют ничего общего с окончательным выводом yi или не предоставляют никакой информации. Принимая во внимание эти дополнительные особенности xi при преобразовании целевой функции, хотя могут быть получены меньшие ошибки обучения, при прогнозировании новых выборок вместо этого будет учитываться эта бесполезная информация, которая мешает прогнозированию правильного yi. Введение оператора разреженной регуляризации призвано завершить великолепную миссию автоматического выбора функций. Он научится удалять эти функции без информации, то есть сбрасывать веса, соответствующие этим функциям, на 0.

Два, L2 норма

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

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

Для простоты на приведенном выше рисунке рассматривается только случай, когда w двумерно (w 1, w 2). Цветовой контур (w 1, w 2); черный прямоугольник слева || w || 1

5.8.4 Почему логистическая регрессия лучше линейной регрессии

Интеллектуальная рекомендация

зачем нужна функция сигнум в логистической регрессии. 4cdaef5d1862539b13379d042d8238b5. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-4cdaef5d1862539b13379d042d8238b5. картинка зачем нужна функция сигнум в логистической регрессии. картинка 4cdaef5d1862539b13379d042d8238b5.

Понимание этого в JavaScript

зачем нужна функция сигнум в логистической регрессии. 44df9e0f166d7df84c9a8823801dcfeb. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-44df9e0f166d7df84c9a8823801dcfeb. картинка зачем нужна функция сигнум в логистической регрессии. картинка 44df9e0f166d7df84c9a8823801dcfeb.

C # написать простой крестики-нолики

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

зачем нужна функция сигнум в логистической регрессии. e702f7eb7201ba68627538fd91423c2c. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-e702f7eb7201ba68627538fd91423c2c. картинка зачем нужна функция сигнум в логистической регрессии. картинка e702f7eb7201ba68627538fd91423c2c.

dubbo+zookeeper+springmvc

зачем нужна функция сигнум в логистической регрессии. 65733c2c7fc51d03df20d4b5628c3252. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-65733c2c7fc51d03df20d4b5628c3252. картинка зачем нужна функция сигнум в логистической регрессии. картинка 65733c2c7fc51d03df20d4b5628c3252.

Полная аранжировка-3

зачем нужна функция сигнум в логистической регрессии. cc89daa6f34b534a8f406a6c351eb579. зачем нужна функция сигнум в логистической регрессии фото. зачем нужна функция сигнум в логистической регрессии-cc89daa6f34b534a8f406a6c351eb579. картинка зачем нужна функция сигнум в логистической регрессии. картинка cc89daa6f34b534a8f406a6c351eb579.

Как принуждать Дуббо «Один тест»

Токать синее слово «TopcoderОбратите внимание на нас! Много мелких партнеров основаны на Даббо построения технологических стеков. Необходимо написать Dubbo одного теста (блок тест) в ежедневном р.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *