Технология интеллектуального анализа данных - Глава 5 Алгоритм классификации Логистическая регрессия

машинное обучение искусственный интеллект
Технология интеллектуального анализа данных - Глава 5 Алгоритм классификации Логистическая регрессия

Алгоритм классификации

Говоря об алгоритмах классификации, нельзя не упомянуть Логистическую регрессию (далее именуемуюлогистическая регрессия)

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

Построение модели для логистической регрессии

1. Обобщенные линейные модели.

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

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

y=ex+1y = e^{x+1}

Если линейное уравнение используется для прогнозирования в это время, то есть

y=юx+by = \omega·x+b

На данный момент подгонка самой модели и самих данных выглядит следующим образом

01.jpg

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

y=eюxy = e^{\omega·x}

Эквивалентно

lny=юTx\ln{y} = \omega^T·x

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

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

g(y)=юTxg(y) = \omega^T·x

Эквивалентно

y=g1(юTx)y = g^{-1}(\omega^T·x)

2. Логарифмическая модель шансов

  • Шансы (нечетные) и логарифмические шансы

    Шансы — это не вероятности, а отношение вероятности того, что событие произойдет, и вероятности того, что оно не произойдет. Предположим, что вероятность события равна p, вероятность того, что событие не произойдет, равна 1-p, а вероятность события равна:

    odd(p)=p1podd(p) = \frac{p}{1-p}

    Логарифмируя (натуральное основание) на основе вероятности, мы получаем логарифмическую вероятность события (логит).

    logit(p)=lnp1plogit(p) = \ln{\frac{p}{1-p}}
  • логарифмическая модель шансов

    Мы рассматриваем логарифмические шансы как функцию и используем ее как функцию связи, а именноg(y)=lny1yg(y)=\ln{\frac{y}{1-y}}

, то обобщенная линейная модель:

g(y)=lny1y=юTxg(y) = \ln{\frac{y}{1-y}} = \omega^{T}·x

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


Кроме того, если мы хотим «обратить» приведенную выше логарифмическую модель вероятности, мы можем изменить ее наy=f(x)y = f(x)форма, то есть

Атомная формула:

lny1y=юTx\ln{\frac{y}{1-y}} = \omega^{T}·x

Преобразование в один шаг:

y1y=eюTx{\frac{y}{1-y}} = e^{\omega^{T}·x }

После ряда преобразований:

y=11+eюTx=g1(юTx)y = \frac{1}{1+e^{-\omega^{T}·x}} =g^{-1}(\omega^{T}·x)

Окончательная модель логистической регрессии:

y=11+eюTxy = \frac{1}{1+e^{-\omega^{T}·x}}

Также можно видеть, что обратная функция логарифмической функции вероятности равна

f(x)=11+exf(x) = \frac{1}{1+e^{-x}}

в то же времяf(x)f(x)также статьsigmoidsigmoidфункция.

3. Выходные результаты модели логистической регрессии и интерпретируемость модели

Из общей ситуации логистическая регрессия проходит черезSigmoidSigmoidПосле обработки функции выходной результат линейного уравнения сжимается между 0 и 1. Совершенно неуместно использовать результат для непрерывного численного прогнозирования класса регрессии. В реальном процессе применения модели Логистическая регрессия в основном используется для прогнозирования проблем бинарной классификации.

деловая проблема

Выход логистической регрессииyyЭто вероятность

Основным фактором, определяющим, является ли y вероятностью, является не сама модель, а процесс моделирования.

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

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

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

Или, согласно уравнению логистической регрессии

y=11+e(1x)y = \frac{1}{1+e^{-(1-x)}}

Дальнейший вывод приводит к:

lny1y=1x\ln{\frac{y}{1-y}} = 1-x

Читается как **xxПри каждом увеличении на 1 логарифмические шансы вероятности того, что выборка принадлежит 1, уменьшается на 1. **

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

lny1y=x1+3x21\ln{\frac{y}{1-y}} = x_1+3x_2-1

можно интерпретировать какx2x_2Важностьx1x_13 раза.

4. Многоклассовая логистическая регрессия

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

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

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

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

Общее решение задач мультиклассификации

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

  1. Сначала разделите набор данных
  2. Затем несколько наборов данных могут обучать несколько моделей.
  3. Наконец, несколько моделей интегрированы. Так называемая интеграция здесь относится к использованию этих нескольких моделей для прогнозирования последующих новых поступающих данных.

Пример - четыре проблемы классификации

02.jpg

В частности, можно выделить три основные стратегии.

  • «Один против одного, OvO»

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

image.png

Затем на этих 6 вновь объединенных наборах данных мы можем обучить 6 классификаторов.

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

image.png

Согласно методу мажоритарного голосования, новая порция данных в итоге должна относиться к категории 1.

  • «Один против остальных, OvR»

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

image.pngЭти 4 набора данных будут обучать 4 классификатора.

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

image.png

Сравнение OvO и OvR:

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

  • «Многие ко многим» (Отдых против отдыха, RvR)

    По сравнению с OvO и OvR MvM — более сложная стратегия.

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

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

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

image.pngСогласно приведенному выше методу деления, общая сумма будет разделена наC41+C42=10C_4^1+C_4^2=10Набор данных, соответственно, мы можем построить 10 классификаторов. Однако в целом для ECOC мы не будем столь детально делить набор данных, а выберем для моделирования некоторые наборы данных из приведенных выше результатов разделения, например, выберем для моделирования явно указанные выше 4 набора данных. Можно построить 4 классификатора.

Нетрудно заметить, что OvR на самом деле является частным случаем MvM.

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

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

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

image.png

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

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

  • Оценка метода ЕСОС

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

Тем не менее, по сравнению с OvR, метод MvM будет работать лучше.

5. Функция потерь для логистической регрессии

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

Основная идея построения функции потерь

Length Species
1 0
3 1

Так как есть только одна особенностьLength, поэтому модель логистической регрессии строится как:

y=sigmoid(юx+b)=11+e(юx+b)y = sigmoid(\omega x+b)=\frac{1}{1+e^{-(\omega x+b)}}

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

p(y=1x=1)=11+e(ю+b)p(y=1x=3)=11+e(3ю+b)\begin{aligned} &p(y=1|x=1)=\frac{1}{1+e^{-(\omega +b)}}\\ &p(y=1|x=3)=\frac{1}{1+e^{-(3\omega +b)}} \end{aligned}

вp(y=1x=1)p(y=1|x=1)Выражать*xxКогда значение равно 1yyУсловная вероятность принять значение 1. И мы знаем, что реальная ситуация с двумя данными — это первые данные.yyЗначение равно 0, а вторые данныеyy* принимает значение 1, поэтому мы можем вычислитьp(y=0x=1)p(y=0|x=1)следующее:

p(y=0x=1)=1p(y=1x=1)=111+e(ю+b)=e(ю+b)1+e(ю+b)p(y=0|x=1)=1-p(y=1|x=1)=1- \frac{1}{1+e^{-(\omega +b)}}=\frac{e^{-(\omega +b)}}{1+e^{-(\omega +b)}}

Доступный:

Length Species 1-predict 0-predict
1 1 11+e(ю+b)\frac{1}{1+e^{-(\omega +b)}} e(ю+b)1+e(ю+b)\frac{e^{-(\omega +b)}}{1+e^{-(\omega +b)}}
3 0 11+e(3ю+b)\frac{1}{1+e^{-(3\omega +b)}} e(3ю+b)1+e(3ю+b)\frac{e^{-(3\omega +b)}}{1+e^{-(3\omega +b)}}

В целом цель построения функции потерь согласуется с метрикой оценки модели (такой как SSELoss и SSE). Для большинства моделей классификации точность прогнозов модели является самой основной оценочной метрикой. Здесь, если мы хотим, чтобы предсказания модели были максимально точными, это эквивалентно желаниюp(y=0x=1)p(y=0|x=1)иp(y=1x=1)p(y=1|x=1)Чем выше вероятность результата, тем лучше. Эта задача может быть объединена в процессе нахождения максимального значения следующей формулы:

p(y=0x=1)p(y=1x=3)p(y=0|x=1)·p(y=1|x=3)

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

Loss=ln(p(y=0x=1))ln(p(y=1x=3))=ln(1+e(3ю+b)+eю+b+e2ю)\begin{aligned} Loss &= -\ln(p(y=0|x=1))-\ln(p(y=1|x=3)) \\ &= \ln(1+e^{-(3\omega+b)}+e^{\omega+b}+e^{-2\omega}) \end{aligned}

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

Почему бы не вычислить с помощью SSE

Работа SSE выглядит следующим образом:

yyhat2222=y11+e(юTx)22||y-yhat_2^2||_2^2=||y-\frac{1}{1+e^{-(\omega^{T}·x)}}||_2^2

Ключ к тому, чтобы не использовать этот метод, заключается в том, что на математическом уровне мы можем показать, что для логистической регрессии, когда y является категориальной переменной 0-1,yyhat2222||y-yhat_2^2||_2^2Функция потерь не является выпуклой функцией, а невыпуклая функция потерь вызовет много проблем при поиске оптимального решения последующих параметров. Напротив, функция потерь, построенная вероятностным умножением, представляет собой выпуклую функцию, которая может быстро найти глобальное минимальное значение.

Зачем изменять вышеуказанную функцию накопления с накопления на накопление журнала

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

Решите функцию потерь

С математической точки зрения можно доказать, что функция потерь логистической регрессии, построенная в соответствии с приведенной выше композицией, по-прежнему является выпуклой функцией.LogitLoss(ю,b)LogitLoss(\omega,b)Найдите частную производную, а затем установите функцию частной производной равной 0, а затем решите параметры, комбинируя уравнения.

LogitLoss(ю,b)ю=0LogitLoss(ю,b)ю=0\begin{aligned} & \frac{\partial LogitLoss(\omega,b)}{\partial \omega} = 0\\ &\frac{\partial LogitLoss(\omega,b)}{\partial \omega} = 0 \end{aligned}

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

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

Модель логистической регрессии:

y=11+e(юTx)y = \frac{1}{1+e^{-(\omega^T·x)}}

в:

ю=[ю1,ю2,...,юn,b]T,x=[x1,x2,...,xn,b]T\omega = [\omega_{1},\omega_{2},...,\omega_{n},b]^T,x=[x_1,x_2,...,x_n,b]^T

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

  • определить вероятность

    Мы знаем, что для логистической регрессии, когдаю\omegaиxxПосле получения набора может быть выходной результат прогнозирования вероятности, а именно:

    p(y=1x;ю)=11+e(юTx)p(y=1|x;\omega)=\frac{1}{1+e^{-(\omega^T·x)}}

    Соответствующая вероятность получения 0 равна:

    1p(y=1x;ю)=111+e(юTx)1-p(y=1|x;\omega)=1-\frac{1}{1+e^{-(\omega^T·x)}}

    может сделать

    p1(x,ю)=p(y=1x;ю)p0(x,ю)=1p(y=1x;ю)\begin{aligned} &p_1(x,\omega) = p(y=1|x;\omega)\\ &p_0(x,\omega) = 1-p(y=1|x;\omega) \end{aligned}

    Следовательно, первыйiiТермин правдоподобия, соответствующий каждому из данных, может быть записан как:

    p1(x,ю)yi,p0(x,ю)1yip_1(x,\omega)^{y_i},p_0(x,\omega)^{1-y_i}

    в,yiy_iозначает первыйiiМетка категории, соответствующая фрагменту данных. Нетрудно найти, когдаyi=0y_i=0, представляетiiПервая метка данных равна 0. В настоящее время элемент вероятности, который необходимо ввести в функцию правдоподобия, равенp0(x,ю)p_0(x,\omega). И наоборот, когдаyi=1y_i=1, представляетiiПервая метка данных равна 1. В настоящее время элемент вероятности, который необходимо ввести в функцию правдоподобия, равенp1(x,ю)p_1(x,\omega). Приведенный выше термин правдоподобия может удовлетворять обоим из этих двух разных случаев.

  • Построение функции правдоподобия

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

    i=1N[p1(x;ю)yip0(x;ю)1yi]\prod_{i=1}^N[p_1(x;\omega)^{y_{i}}·p_0(x;\omega)^{1-y_{i}}]
  • логарифмическое преобразование

    L(ю)=ln(i=1N[p1(x;ю)yip0(x;ю)1yi])=i=1N[yiln(p1(x;ю))(1yi)ln(1p1(x;ю))]\begin{aligned} L(\omega) &= -\ln(\prod_{i=1}^N[p_1(x;\omega)^{y_{i}}·p_0(x;\omega)^{1-y_{i}}] )\\ &=\sum_{i=1}^{N}[-y_i·\ln(p_1(x;\omega))-(1-y_i)·\ln(1-p_1(x;\omega))] \end{aligned}

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

  • Решение логарифмической функции правдоподобия

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

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

7. Построение кросс-энтропийной функции потерь по относительной энтропии

Построение кросс-энтропийной функции потерь из относительной энтропии