Mastigando a regressão logística

Mastigando a regressão logística

Neste artigo analisaremos os cálculos teóricos da transformação funções de regressão linear в função de transformação logit inversa (também chamada de função de resposta logística). Então, usando o arsenal método de máxima verossimilhança, de acordo com o modelo de regressão logística, derivamos a função de perda Perda Logística, ou seja, definiremos uma função com a qual os parâmetros do vetor de peso serão selecionados no modelo de regressão logística Mastigando a regressão logística.

Esboço do artigo:

  1. Vamos repetir a relação linear entre duas variáveis
  2. Vamos identificar a necessidade de transformação funções de regressão linear Mastigando a regressão logística в função de resposta logística Mastigando a regressão logística
  3. Vamos realizar as transformações e saída função de resposta logística
  4. Vamos tentar entender por que o método dos mínimos quadrados é ruim na seleção de parâmetros Mastigando a regressão logística função Perda Logística
  5. Nós usamos método de máxima verossimilhança para determinar funções de seleção de parâmetros Mastigando a regressão logística:

    5.1. Caso 1: função Perda Logística para objetos com designações de classe 0 и 1:

    Mastigando a regressão logística

    5.2. Caso 2: função Perda Logística para objetos com designações de classe -1 и +1:

    Mastigando a regressão logística


O artigo está repleto de exemplos simples em que todos os cálculos são fáceis de fazer oralmente ou no papel, podendo em alguns casos ser necessária uma calculadora. Então prepare-se :)

Este artigo destina-se principalmente a cientistas de dados com um nível inicial de conhecimento nos conceitos básicos de aprendizado de máquina.

O artigo também fornecerá código para desenhar gráficos e cálculos. Todo o código é escrito na linguagem python-2.7. Deixe-me explicar antecipadamente sobre a “novidade” da versão utilizada - esta é uma das condições para fazer o conhecido curso de Yandex em uma plataforma educacional online igualmente conhecida Coursera, e, como se poderia supor, o material foi elaborado com base neste curso.

01. Dependência em linha reta

É bastante razoável fazer a pergunta - o que a dependência linear e a regressão logística têm a ver com isso?

É simples! A regressão logística é um dos modelos que pertencem ao classificador linear. Em palavras simples, a tarefa de um classificador linear é prever valores alvo Mastigando a regressão logística de variáveis ​​​​(regressores) Mastigando a regressão logística. Acredita-se que a dependência entre as características Mastigando a regressão logística e valores alvo Mastigando a regressão logística linear. Daí o nome do classificador - linear. Resumindo, o modelo de regressão logística baseia-se no pressuposto de que existe uma relação linear entre as características Mastigando a regressão logística e valores alvo Mastigando a regressão logística. Esta é a conexão.

Está o primeiro exemplo no estúdio, e trata-se, corretamente, da dependência retilínea das grandezas em estudo. No processo de preparação do artigo, me deparei com um exemplo que já deixou muitas pessoas nervosas - a dependência da corrente da tensão (“Análise de regressão aplicada”, N. Draper, G. Smith). Veremos isso aqui também.

Conforme Lei de Ohm:

Mastigando a regressão logísticaOnde Mastigando a regressão logística - força atual, Mastigando a regressão logística - tensão, Mastigando a regressão logística - resistência.

Se não soubéssemos Lei de Ohm, então poderíamos encontrar a dependência empiricamente mudando Mastigando a regressão logística e medindo Mastigando a regressão logística, ao mesmo tempo que apoia Mastigando a regressão logística fixo. Então veríamos que o gráfico de dependência Mastigando a regressão logística de Mastigando a regressão logística fornece uma linha mais ou menos reta que passa pela origem. Dizemos “mais ou menos” porque, embora a relação seja realmente precisa, as nossas medições podem conter pequenos erros e, portanto, os pontos no gráfico podem não cair exatamente na linha, mas estarão espalhados aleatoriamente em torno dela.

Gráfico 1 “Dependência” Mastigando a regressão logística de Mastigando a regressão logística»

Mastigando a regressão logística

Código de desenho de gráfico

import matplotlib.pyplot as plt
%matplotlib inline

import numpy as np

import random

R = 13.75

x_line = np.arange(0,220,1)
y_line = []
for i in x_line:
    y_line.append(i/R)
    
y_dot = []
for i in y_line:
    y_dot.append(i+random.uniform(-0.9,0.9))


fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(x_line,y_line,color = 'purple',lw = 3, label = 'I = U/R')
plt.scatter(x_line,y_dot,color = 'red', label = 'Actual results')
plt.xlabel('I', size = 16)
plt.ylabel('U', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

02. A necessidade de transformar a equação de regressão linear

Vejamos outro exemplo. Vamos imaginar que trabalhamos em um banco e nossa tarefa é determinar a probabilidade de o mutuário reembolsar o empréstimo dependendo de certos fatores. Para simplificar a tarefa, consideraremos apenas dois fatores: o salário mensal do mutuário e o valor mensal do reembolso do empréstimo.

A tarefa é muito condicional, mas com este exemplo podemos entender porque não basta usar funções de regressão linear, e também descubra quais transformações precisam ser realizadas com a função.

Voltemos ao exemplo. Entende-se que quanto maior o salário, mais o mutuário poderá destinar mensalmente para quitar o empréstimo. Ao mesmo tempo, para uma determinada faixa salarial esta relação será bastante linear. Por exemplo, vamos considerar uma faixa salarial de 60.000 RUR a 200.000 RUR e assumir que na faixa salarial especificada, a dependência do valor do pagamento mensal em relação ao valor do salário é linear. Digamos que para a faixa salarial especificada foi revelado que a relação salário/pagamento não pode cair abaixo de 3 e que o mutuário ainda deve ter 5.000 RUR em reserva. E somente neste caso assumiremos que o mutuário reembolsará o empréstimo ao banco. Então, a equação de regressão linear assumirá a forma:

Mastigando a regressão logística

onde Mastigando a regressão logística, Mastigando a regressão logística, Mastigando a regressão logística, Mastigando a regressão logística - salário Mastigando a regressão logística-º mutuário, Mastigando a regressão logística - pagamento de empréstimo Mastigando a regressão logística-º mutuário.

Substituindo salário e pagamento de empréstimo por parâmetros fixos na equação Mastigando a regressão logística Você pode decidir se deseja emitir ou recusar um empréstimo.

Olhando para o futuro, notamos que, com os parâmetros fornecidos Mastigando a regressão logística função de regressão linear, usado em funções de resposta logística produzirá valores elevados que complicarão os cálculos para determinar as probabilidades de reembolso do empréstimo. Portanto, propõe-se reduzir os nossos coeficientes, digamos, em 25.000 vezes. Esta transformação dos coeficientes não alterará a decisão de concessão de empréstimo. Vamos lembrar este ponto para o futuro, mas agora, para tornar ainda mais claro do que estamos a falar, vamos considerar a situação com três potenciais mutuários.

Tabela 1 “Potenciais mutuários”

Mastigando a regressão logística

Código para gerar a tabela

import pandas as pd

r = 25000.0
w_0 = -5000.0/r
w_1 = 1.0/r
w_2 = -3.0/r

data = {'The borrower':np.array(['Vasya', 'Fedya', 'Lesha']), 
        'Salary':np.array([120000,180000,210000]),
       'Payment':np.array([3000,50000,70000])}

df = pd.DataFrame(data)

df['f(w,x)'] = w_0 + df['Salary']*w_1 + df['Payment']*w_2

decision = []
for i in df['f(w,x)']:
    if i > 0:
        dec = 'Approved'
        decision.append(dec)
    else:
        dec = 'Refusal'
        decision.append(dec)
        
df['Decision'] = decision

df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision']]

De acordo com os dados da tabela, Vasya, com um salário de 120.000 RUR, deseja receber um empréstimo para poder reembolsá-lo mensalmente no valor de 3.000 RUR. Determinamos que, para aprovar o empréstimo, o salário de Vasya deve exceder três vezes o valor do pagamento e ainda deve haver 5.000 RUR restantes. Vasya atende a este requisito: Mastigando a regressão logística. Ainda restam 106.000 RUR. Apesar do fato de que ao calcular Mastigando a regressão logística reduzimos as probabilidades Mastigando a regressão logística 25.000 mil vezes, o resultado foi o mesmo - o empréstimo pode ser aprovado. Fedya também receberá um empréstimo, mas Lesha, apesar de receber mais, terá que conter o apetite.

Vamos desenhar um gráfico para este caso.

Quadro 2 “Classificação dos mutuários”

Mastigando a regressão logística

Código para desenhar o gráfico

salary = np.arange(60000,240000,20000)
payment = (-w_0-w_1*salary)/w_2


fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(salary, payment, color = 'grey', lw = 2, label = '$f(w,x_i)=w_0 + w_1x_{i1} + w_2x_{i2}$')
plt.plot(df[df['Decision'] == 'Approved']['Salary'], df[df['Decision'] == 'Approved']['Payment'], 
         'o', color ='green', markersize = 12, label = 'Decision - Loan approved')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'], 
         's', color = 'red', markersize = 12, label = 'Decision - Loan refusal')
plt.xlabel('Salary', size = 16)
plt.ylabel('Payment', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

Então, nossa linha reta, construída de acordo com a função Mastigando a regressão logística, separa os mutuários “maus” dos “bons”. Os mutuários cujos desejos não coincidem com as suas capacidades estão acima da linha (Lesha), enquanto aqueles que, de acordo com os parâmetros do nosso modelo, conseguem reembolsar o empréstimo estão abaixo da linha (Vasya e Fedya). Em outras palavras, podemos dizer o seguinte: nossa linha direta divide os mutuários em duas classes. Vamos denotá-los da seguinte forma: para a classe Mastigando a regressão logística Classificaremos os mutuários com maior probabilidade de reembolsar o empréstimo como Mastigando a regressão logística ou Mastigando a regressão logística Incluiremos os mutuários que provavelmente não conseguirão reembolsar o empréstimo.

Vamos resumir as conclusões deste exemplo simples. Vamos dar um ponto Mastigando a regressão logística e, substituindo as coordenadas do ponto na equação correspondente da reta Mastigando a regressão logística, considere três opções:

  1. Se o ponto estiver abaixo da linha e o atribuirmos à classe Mastigando a regressão logística, então o valor da função Mastigando a regressão logística será positivo a partir de Mastigando a regressão logística para Mastigando a regressão logística. Isto significa que podemos assumir que a probabilidade de reembolsar o empréstimo está dentro de Mastigando a regressão logística. Quanto maior o valor da função, maior a probabilidade.
  2. Se um ponto estiver acima de uma linha e o atribuirmos à classe Mastigando a regressão logística ou Mastigando a regressão logística, então o valor da função será negativo de Mastigando a regressão logística para Mastigando a regressão logística. Então assumiremos que a probabilidade de reembolso da dívida está dentro Mastigando a regressão logística e, quanto maior o valor absoluto da função, maior será a nossa confiança.
  3. O ponto está em linha reta, na fronteira entre duas classes. Neste caso, o valor da função Mastigando a regressão logística será igual Mastigando a regressão logística e a probabilidade de reembolsar o empréstimo é igual a Mastigando a regressão logística.

Agora, vamos imaginar que não temos dois fatores, mas dezenas, e não três, mas milhares de mutuários. Então, em vez de uma linha reta, teremos m-dimensional plano e coeficientes Mastigando a regressão logística não seremos tirados do nada, mas derivados de acordo com todas as regras e com base em dados acumulados sobre os mutuários que reembolsaram ou não o empréstimo. E, de fato, observe que agora estamos selecionando mutuários usando coeficientes já conhecidos Mastigando a regressão logística. Na verdade, a tarefa do modelo de regressão logística é justamente determinar os parâmetros Mastigando a regressão logística, em que o valor da função de perda Perda Logística tenderá ao mínimo. Mas sobre como o vetor é calculado Mastigando a regressão logística, saberemos mais na 5ª seção do artigo. Entretanto, regressamos à terra prometida – ao nosso banqueiro e aos seus três clientes.

Graças à função Mastigando a regressão logística sabemos a quem pode ser concedido um empréstimo e a quem deve ser recusado. Mas você não pode ir ao diretor com essas informações, porque eles queriam obter de nós a probabilidade de reembolso do empréstimo por cada mutuário. O que fazer? A resposta é simples - precisamos de alguma forma transformar a função Mastigando a regressão logística, cujos valores estão no intervalo Mastigando a regressão logística para uma função cujos valores estarão no intervalo Mastigando a regressão logística. E tal função existe, é chamada função de resposta logística ou transformação logit inversa. Encontrar:

Mastigando a regressão logística

Vamos ver passo a passo como funciona função de resposta logística. Observe que caminharemos na direção oposta, ou seja, assumiremos que conhecemos o valor da probabilidade, que está no intervalo de Mastigando a regressão logística para Mastigando a regressão logística e então iremos “descontrair” esse valor para todo o intervalo de números de Mastigando a regressão logística para Mastigando a regressão logística.

03. Derivamos a função de resposta logística

Passo 1. Converta os valores de probabilidade em um intervalo Mastigando a regressão logística

Durante a transformação da função Mastigando a regressão logística в função de resposta logística Mastigando a regressão logística Deixaremos nosso analista de crédito em paz e faremos um tour pelas casas de apostas. Não, claro, não faremos apostas, tudo o que nos interessa aí é o significado da expressão, por exemplo, a probabilidade é de 4 para 1. As probabilidades, familiares a todos os apostadores, são a relação entre “sucessos” e “ fracassos”. Em termos de probabilidade, as probabilidades são a probabilidade de um evento ocorrer dividida pela probabilidade de o evento não ocorrer. Vamos escrever a fórmula para a chance de um evento ocorrer Mastigando a regressão logística:

Mastigando a regressão logística

Onde Mastigando a regressão logística - probabilidade de ocorrência de um evento, Mastigando a regressão logística - probabilidade de um evento NÃO ocorrer

Por exemplo, se a probabilidade de um cavalo jovem, forte e brincalhão apelidado de “Veterok” vencer uma velha e flácida chamada “Matilda” em uma corrida for igual a Mastigando a regressão logística, então as chances de sucesso de “Veterok” serão Mastigando a regressão logística к Mastigando a regressão logística Mastigando a regressão logística e vice-versa, conhecendo as probabilidades, não será difícil calcularmos a probabilidade Mastigando a regressão logística:

Mastigando a regressão logística

Assim, aprendemos a “traduzir” probabilidade em chances, que tomam valores de Mastigando a regressão logística para Mastigando a regressão logística. Vamos dar mais um passo e aprender a “traduzir” a probabilidade para toda a reta numérica de Mastigando a regressão logística para Mastigando a regressão logística.

Passo 2. Converta os valores de probabilidade em um intervalo Mastigando a regressão logística

Este passo é muito simples – vamos levar o logaritmo das probabilidades à base do número de Euler Mastigando a regressão logística e obtemos:

Mastigando a regressão logística

Agora sabemos que se Mastigando a regressão logística, então calcule o valor Mastigando a regressão logística será muito simples e, além disso, deverá ser positivo: Mastigando a regressão logística. Isto é verdade.

Por curiosidade, vamos verificar e se Mastigando a regressão logística, então esperamos ver um valor negativo Mastigando a regressão logística. Nós verificamos: Mastigando a regressão logística. Isso mesmo.

Agora sabemos como converter o valor da probabilidade de Mastigando a regressão logística para Mastigando a regressão logística ao longo de toda a reta numérica de Mastigando a regressão logística para Mastigando a regressão logística. Na próxima etapa faremos o oposto.

Por enquanto, notamos que de acordo com as regras do logaritmo, conhecendo o valor da função Mastigando a regressão logística, você pode calcular as probabilidades:

Mastigando a regressão logística

Este método de determinação de probabilidades será útil para nós na próxima etapa.

Etapa 3. Vamos derivar uma fórmula para determinar Mastigando a regressão logística

Então aprendemos, sabendo Mastigando a regressão logística, encontre valores de função Mastigando a regressão logística. Porém, na verdade, precisamos exatamente do oposto - saber o valor Mastigando a regressão logística encontrar Mastigando a regressão logística. Para fazer isso, voltemos a um conceito como a função de probabilidades inversas, segundo a qual:

Mastigando a regressão logística

No artigo não derivaremos a fórmula acima, mas iremos verificá-la usando os números do exemplo acima. Sabemos que com probabilidades de 4 para 1 (Mastigando a regressão logística), a probabilidade do evento ocorrer é 0.8 (Mastigando a regressão logística). Vamos fazer uma substituição: Mastigando a regressão logística. Isso coincide com nossos cálculos realizados anteriormente. Vamos continuar.

Na última etapa deduzimos que Mastigando a regressão logística, o que significa que você pode fazer uma substituição na função de probabilidades inversas. Nós temos:

Mastigando a regressão logística

Divida o numerador e o denominador por Mastigando a regressão logística, então:

Mastigando a regressão logística

Por precaução, para ter certeza de que não cometemos nenhum erro em lugar nenhum, faremos mais uma pequena verificação. Na etapa 2, nós, por Mastigando a regressão logística determinou que Mastigando a regressão logística. Então, substituindo o valor Mastigando a regressão logística na função de resposta logística, esperamos obter Mastigando a regressão logística. Substituímos e obtemos: Mastigando a regressão logística

Parabéns, caro leitor, acabamos de derivar e testar a função de resposta logística. Vejamos o gráfico da função.

Gráfico 3 “Função de resposta logística”

Mastigando a regressão logística

Código para desenhar o gráfico

import math

def logit (f):
    return 1/(1+math.exp(-f))

f = np.arange(-7,7,0.05)
p = []

for i in f:
    p.append(logit(i))

fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(f, p, color = 'grey', label = '$ 1 / (1+e^{-w^Tx_i})$')
plt.xlabel('$f(w,x_i) = w^Tx_i$', size = 16)
plt.ylabel('$p_{i+}$', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

Na literatura você também pode encontrar o nome desta função como função sigmóide. O gráfico mostra claramente que a principal mudança na probabilidade de um objeto pertencer a uma classe ocorre dentro de um intervalo relativamente pequeno Mastigando a regressão logística, em algum lugar de Mastigando a regressão logística para Mastigando a regressão logística.

Sugiro voltar ao nosso analista de crédito e ajudá-lo a calcular a probabilidade de reembolso do empréstimo, caso contrário ele corre o risco de ficar sem bônus :)

Tabela 2 “Potenciais mutuários”

Mastigando a regressão logística

Código para gerar a tabela

proba = []
for i in df['f(w,x)']:
    proba.append(round(logit(i),2))
    
df['Probability'] = proba

df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision', 'Probability']]

Portanto, determinamos a probabilidade de reembolso do empréstimo. Em geral, isso parece ser verdade.

Na verdade, a probabilidade de Vasya, com um salário de 120.000 RUR, conseguir dar 3.000 RUR ao banco todos os meses é próxima de 100%. A propósito, devemos compreender que um banco pode conceder um empréstimo a Lesha se a política do banco prevê, por exemplo, empréstimos a clientes com uma probabilidade de reembolso do empréstimo superior a, digamos, 0.3. Só que neste caso o banco criará uma reserva maior para possíveis perdas.

Deve-se notar também que a relação salário-pagamento de pelo menos 3 e com uma margem de 5.000 RUR foi retirada do teto. Portanto, não poderíamos utilizar o vetor de pesos em sua forma original Mastigando a regressão logística. Precisávamos reduzir bastante os coeficientes, e neste caso dividimos cada coeficiente por 25.000, ou seja, basicamente ajustamos o resultado. Mas isso foi feito especificamente para simplificar a compreensão do material na fase inicial. Na vida, não precisaremos inventar e ajustar coeficientes, mas sim encontrá-los. Nas próximas seções do artigo derivaremos as equações com as quais os parâmetros são selecionados Mastigando a regressão logística.

04. Método dos mínimos quadrados para determinação do vetor de pesos Mastigando a regressão logística na função de resposta logística

Já conhecemos este método para selecionar um vetor de pesos Mastigando a regressão logísticaComo método dos mínimos quadrados (LSM) e de fato, por que não o usamos em problemas de classificação binária? Na verdade, nada impede você de usar Multinacionais, apenas este método em problemas de classificação fornece resultados menos precisos do que Perda Logística. Existe uma base teórica para isso. Vejamos primeiro um exemplo simples.

Vamos supor que nossos modelos (usando MSE и Perda Logística) já começou a selecionar o vetor de pesos Mastigando a regressão logística e paramos o cálculo em alguma etapa. Não importa se está no meio, no final ou no começo, o principal é que já temos alguns valores do vetor de pesos e vamos supor que nesta etapa o vetor de pesos Mastigando a regressão logística para ambos os modelos não há diferenças. Em seguida, pegue os pesos resultantes e substitua-os em função de resposta logística (Mastigando a regressão logística) para algum objeto que pertence à classe Mastigando a regressão logística. Examinamos dois casos em que, de acordo com o vetor de pesos selecionado, nosso modelo está muito enganado e vice-versa - o modelo está muito confiante de que o objeto pertence à classe Mastigando a regressão logística. Vamos ver quais multas serão aplicadas ao usar Multinacionais и Perda Logística.

Código para calcular penalidades dependendo da função de perda utilizada

# класс объекта
y = 1
# вероятность отнесения объекта к классу в соответствии с параметрами w
proba_1 = 0.01

MSE_1 = (y - proba_1)**2
print 'Штраф MSE при грубой ошибке =', MSE_1

# напишем функцию для вычисления f(w,x) при известной вероятности отнесения объекта к классу +1 (f(w,x)=ln(odds+))
def f_w_x(proba):
    return math.log(proba/(1-proba)) 

LogLoss_1 = math.log(1+math.exp(-y*f_w_x(proba_1)))
print 'Штраф Log Loss при грубой ошибке =', LogLoss_1

proba_2 = 0.99

MSE_2 = (y - proba_2)**2
LogLoss_2 = math.log(1+math.exp(-y*f_w_x(proba_2)))

print '**************************************************************'
print 'Штраф MSE при сильной уверенности =', MSE_2
print 'Штраф Log Loss при сильной уверенности =', LogLoss_2

Um caso de erro — o modelo atribui um objeto a uma classe Mastigando a regressão logística com probabilidade de 0,01

Penalidade por uso Multinacionais será:
Mastigando a regressão logística

Penalidade por uso Perda Logística será:
Mastigando a regressão logística

Um caso de forte confiança — o modelo atribui um objeto a uma classe Mastigando a regressão logística com probabilidade de 0,99

Penalidade por uso Multinacionais será:
Mastigando a regressão logística

Penalidade por uso Perda Logística será:
Mastigando a regressão logística

Este exemplo ilustra bem que no caso de um erro grosseiro a função de perda Perda de Log penaliza o modelo significativamente mais do que MSE. Vamos agora entender qual é a base teórica para usar a função de perda Perda de Log em problemas de classificação.

05. Método de máxima verossimilhança e regressão logística

Conforme prometido no início, o artigo está repleto de exemplos simples. No estúdio há outro exemplo e antigos convidados - tomadores de bancos: Vasya, Fedya e Lesha.

Por precaução, antes de desenvolver o exemplo, deixe-me lembrá-lo de que na vida estamos lidando com uma amostra de treinamento de milhares ou milhões de objetos com dezenas ou centenas de recursos. No entanto, aqui os números são obtidos para que caibam facilmente na cabeça de um cientista de dados novato.

Voltemos ao exemplo. Imaginemos que o diretor do banco decidiu conceder um empréstimo a todos os necessitados, apesar de o algoritmo lhe ter dito para não conceder a Lesha. E agora já passou bastante tempo e sabemos qual dos três heróis reembolsou o empréstimo e qual não. O que era de se esperar: Vasya e Fedya pagaram o empréstimo, mas Lesha não. Agora vamos imaginar que este resultado será uma nova amostra de treinamento para nós e, ao mesmo tempo, é como se todos os dados sobre os fatores que influenciam a probabilidade de reembolso do empréstimo (salário do mutuário, valor do pagamento mensal) tivessem desaparecido. Então, intuitivamente, podemos assumir que cada terceiro mutuário não reembolsa o empréstimo ao banco, ou por outras palavras, a probabilidade do próximo mutuário reembolsar o empréstimo Mastigando a regressão logística. Esta suposição intuitiva tem confirmação teórica e é baseada em método de máxima verossimilhança, muitas vezes na literatura é chamado princípio da máxima verossimilhança.

Primeiro, vamos conhecer o aparato conceitual.

Probabilidade de amostragem é a probabilidade de obter exatamente tal amostra, obtendo exatamente tais observações/resultados, ou seja, o produto das probabilidades de obtenção de cada um dos resultados da amostra (por exemplo, se o empréstimo de Vasya, Fedya e Lesha foi reembolsado ou não reembolsado ao mesmo tempo).

Função de probabilidade relaciona a probabilidade de uma amostra aos valores dos parâmetros de distribuição.

No nosso caso, a amostra de treinamento é um esquema de Bernoulli generalizado, no qual a variável aleatória assume apenas dois valores: Mastigando a regressão logística ou Mastigando a regressão logística. Portanto, a verossimilhança da amostra pode ser escrita como uma função de verossimilhança do parâmetro Mastigando a regressão logística da seguinte maneira:

Mastigando a regressão logística
Mastigando a regressão logística

A entrada acima pode ser interpretada da seguinte forma. A probabilidade conjunta de que Vasya e Fedya reembolsarão o empréstimo é igual a Mastigando a regressão logística, a probabilidade de Lesha NÃO reembolsar o empréstimo é igual a Mastigando a regressão logística (uma vez que NÃO foi o reembolso do empréstimo que ocorreu), portanto a probabilidade conjunta de todos os três eventos é igual Mastigando a regressão logística.

Método de máxima verossimilhança é um método para estimar um parâmetro desconhecido maximizando funções de probabilidade. No nosso caso, precisamos encontrar tal valor Mastigando a regressão logísticaem que Mastigando a regressão logística atinge seu máximo.

De onde vem a ideia real - procurar o valor de um parâmetro desconhecido no qual a função de verossimilhança atinge o máximo? As origens da ideia decorrem da ideia de que uma amostra é a única fonte de conhecimento que temos sobre a população. Tudo o que sabemos sobre a população está representado na amostra. Portanto, tudo o que podemos dizer é que uma amostra é o reflexo mais preciso da população que temos à disposição. Portanto, precisamos encontrar um parâmetro no qual a amostra disponível se torne a mais provável.

Obviamente, estamos lidando com um problema de otimização no qual precisamos encontrar o ponto extremo de uma função. Para encontrar o ponto extremo, é necessário considerar a condição de primeira ordem, ou seja, igualar a derivada da função a zero e resolver a equação em relação ao parâmetro desejado. No entanto, procurar a derivada de um produto de um grande número de fatores pode ser uma tarefa demorada; para evitar isso, existe uma técnica especial - mudar para o logaritmo funções de probabilidade. Por que essa transição é possível? Prestemos atenção ao fato de que não estamos procurando o extremo da função em siMastigando a regressão logística, e o ponto extremo, ou seja, o valor do parâmetro desconhecido Mastigando a regressão logísticaem que Mastigando a regressão logística atinge seu máximo. Ao passar para um logaritmo, o ponto extremo não muda (embora o próprio extremo seja diferente), uma vez que o logaritmo é uma função monotônica.

Vamos, de acordo com o exposto, continuar a desenvolver nosso exemplo com empréstimos de Vasya, Fedya e Lesha. Primeiro vamos passar para logaritmo da função de verossimilhança:

Mastigando a regressão logística

Agora podemos facilmente diferenciar a expressão por Mastigando a regressão logística:

Mastigando a regressão logística

E, finalmente, considere a condição de primeira ordem - igualamos a derivada da função a zero:

Mastigando a regressão logística

Assim, a nossa estimativa intuitiva da probabilidade de reembolso do empréstimo Mastigando a regressão logística estava teoricamente justificado.

Ótimo, mas o que devemos fazer com essas informações agora? Se assumirmos que cada terceiro mutuário não devolve o dinheiro ao banco, então este irá inevitavelmente à falência. Isso mesmo, mas apenas ao avaliar a probabilidade de reembolso do empréstimo igual a Mastigando a regressão logística Não levamos em consideração os fatores que influenciam o reembolso do empréstimo: o salário do mutuário e o valor do pagamento mensal. Recorde-se que calculamos anteriormente a probabilidade de reembolso do empréstimo por cada cliente, tendo em conta estes mesmos fatores. É lógico que obtivemos probabilidades diferentes da constante igual Mastigando a regressão logística.

Vamos definir a probabilidade das amostras:

Código para calcular probabilidades de amostra

from functools import reduce

def likelihood(y,p):
    line_true_proba = []
    for i in range(len(y)):
        ltp_i = p[i]**y[i]*(1-p[i])**(1-y[i])
        line_true_proba.append(ltp_i)
    likelihood = []
    return reduce(lambda a, b: a*b, line_true_proba)
        
    
y = [1.0,1.0,0.0]
p_log_response = df['Probability']
const = 2.0/3.0
p_const = [const, const, const]


print 'Правдоподобие выборки при константном значении p=2/3:', round(likelihood(y,p_const),3)

print '****************************************************************************************************'

print 'Правдоподобие выборки при расчетном значении p:', round(likelihood(y,p_log_response),3)

Probabilidade de amostra em um valor constante Mastigando a regressão logística:

Mastigando a regressão logística

Amostra de probabilidade ao calcular a probabilidade de reembolso do empréstimo levando em consideração fatores Mastigando a regressão logística:

Mastigando a regressão logística
Mastigando a regressão logística

A verossimilhança de uma amostra com probabilidade calculada em função dos fatores revelou-se superior à verossimilhança com valor de probabilidade constante. O que isto significa? Isso sugere que o conhecimento dos fatores permitiu selecionar com maior precisão a probabilidade de reembolso do empréstimo para cada cliente. Portanto, na emissão do próximo empréstimo, seria mais correto utilizar o modelo proposto no final da seção 3 do artigo para avaliar a probabilidade de reembolso da dívida.

Mas então, se quisermos maximizar função de verossimilhança amostral, então por que não usar algum algoritmo que produza probabilidades para Vasya, Fedya e Lesha, por exemplo, iguais a 0.99, 0.99 e 0.01, respectivamente. Talvez tal algoritmo tenha um bom desempenho na amostra de treinamento, uma vez que aproximará o valor da verossimilhança da amostra. Mastigando a regressão logística, mas, em primeiro lugar, tal algoritmo provavelmente terá dificuldades com a capacidade de generalização e, em segundo lugar, este algoritmo definitivamente não será linear. E se os métodos de combate ao overtraining (capacidade de generalização igualmente fraca) claramente não estão incluídos no plano deste artigo, então vamos examinar o segundo ponto com mais detalhes. Para fazer isso, basta responder a uma pergunta simples. A probabilidade de Vasya e Fedya reembolsarem o empréstimo pode ser a mesma, levando em consideração os fatores que conhecemos? Do ponto de vista da lógica sólida, claro que não, não pode. Portanto, Vasya pagará 2.5% de seu salário por mês para pagar o empréstimo, e Fedya - quase 27,8%. Também no gráfico 2 “Classificação de clientes” vemos que Vasya está muito mais distante da linha que separa as classes do que Fedya. E finalmente sabemos que a função Mastigando a regressão logística para Vasya e Fedya assume valores diferentes: 4.24 para Vasya e 1.0 para Fedya. Agora, se Fedya, por exemplo, ganhasse uma ordem de magnitude a mais ou pedisse um empréstimo menor, então as probabilidades de reembolsar o empréstimo para Vasya e Fedya seriam semelhantes. Em outras palavras, a dependência linear não pode ser enganada. E se realmente calculássemos as probabilidades Mastigando a regressão logística, e não os tiramos do nada, poderíamos dizer com segurança que nossos valores Mastigando a regressão logística melhor nos permitem estimar a probabilidade de reembolso do empréstimo por cada mutuário, mas como concordamos em assumir que a determinação dos coeficientes Mastigando a regressão logística foi realizado de acordo com todas as regras, então assumiremos que sim - nossos coeficientes nos permitem dar uma melhor estimativa da probabilidade :)

No entanto, divagamos. Nesta seção precisamos entender como o vetor de pesos é determinado Mastigando a regressão logística, que é necessário para avaliar a probabilidade de reembolso do empréstimo por cada mutuário.

Vamos resumir brevemente com que arsenal procuramos probabilidades Mastigando a regressão logística:

1. Assumimos que a relação entre a variável alvo (valor de previsão) e o fator que influencia o resultado é linear. Por esta razão é utilizado função de regressão linear espécies Mastigando a regressão logística, cuja linha divide objetos (clientes) em classes Mastigando a regressão logística и Mastigando a regressão logística ou Mastigando a regressão logística (clientes que têm condições de reembolsar o empréstimo e aqueles que não têm). No nosso caso, a equação tem a forma Mastigando a regressão logística.

2. Nós usamos função logit inversa espécies Mastigando a regressão logística para determinar a probabilidade de um objeto pertencer a uma classe Mastigando a regressão logística.

3. Consideramos nosso conjunto de treinamento como uma implementação de um modelo generalizado Esquemas de Bernoulli, ou seja, para cada objeto é gerada uma variável aleatória, que com probabilidade Mastigando a regressão logística (próprio para cada objeto) assume o valor 1 e com probabilidade Mastigando a regressão logística - 0.

4. Sabemos o que precisamos maximizar função de verossimilhança amostral levando em consideração os fatores aceitos para que a amostra disponível se torne a mais plausível. Em outras palavras, precisamos selecionar parâmetros nos quais a amostra será mais plausível. No nosso caso, o parâmetro selecionado é a probabilidade de reembolso do empréstimo Mastigando a regressão logística, que por sua vez depende de coeficientes desconhecidos Mastigando a regressão logística. Então precisamos encontrar esse vetor de pesos Mastigando a regressão logística, no qual a probabilidade da amostra será máxima.

5. Sabemos o que maximizar funções de probabilidade de amostra pode usar método de máxima verossimilhança. E conhecemos todos os truques complicados para trabalhar com esse método.

É assim que acaba sendo um movimento de várias etapas :)

Agora lembre-se que logo no início do artigo queríamos derivar dois tipos de funções de perda Perda Logística dependendo de como as classes de objetos são designadas. Acontece que em problemas de classificação com duas classes, as classes são denotadas como Mastigando a regressão logística и Mastigando a regressão logística ou Mastigando a regressão logística. Dependendo da notação, a saída terá uma função de perda correspondente.

Caso 1. Classificação de objetos em Mastigando a regressão logística и Mastigando a regressão logística

Anteriormente, ao determinar a probabilidade de uma amostra, em que a probabilidade de reembolso da dívida pelo mutuário era calculada com base em fatores e dados coeficientes Mastigando a regressão logística, aplicamos a fórmula:

Mastigando a regressão logística

Na realidade Mastigando a regressão logística é o significado funções de resposta logística Mastigando a regressão logística para um determinado vetor de pesos Mastigando a regressão logística

Então nada nos impede de escrever a função de verossimilhança amostral da seguinte forma:

Mastigando a regressão logística

Acontece que às vezes é difícil para alguns analistas novatos entender imediatamente como funciona essa função. Vejamos 4 pequenos exemplos que irão esclarecer as coisas:

1. Se Mastigando a regressão logística (ou seja, de acordo com a amostra de treinamento, o objeto pertence à classe +1), e nosso algoritmo Mastigando a regressão logística determina a probabilidade de classificar um objeto em uma classe Mastigando a regressão logística igual a 0.9, então esta probabilidade amostral será calculada da seguinte forma:

Mastigando a regressão logística

2. Se Mastigando a regressão logísticaE Mastigando a regressão logística, então o cálculo ficará assim:

Mastigando a regressão logística

3. Se Mastigando a regressão logísticaE Mastigando a regressão logística, então o cálculo ficará assim:

Mastigando a regressão logística

4. Se Mastigando a regressão logísticaE Mastigando a regressão logística, então o cálculo ficará assim:

Mastigando a regressão logística

É óbvio que a função de verossimilhança será maximizada nos casos 1 e 3 ou no caso geral - com valores adivinhados corretamente das probabilidades de atribuir um objeto a uma classe Mastigando a regressão logística.

Devido ao fato de que ao determinar a probabilidade de atribuir um objeto a uma classe Mastigando a regressão logística Só não sabemos os coeficientes Mastigando a regressão logística, então iremos procurá-los. Como mencionado acima, este é um problema de otimização no qual primeiro precisamos encontrar a derivada da função de verossimilhança em relação ao vetor de pesos Mastigando a regressão logística. No entanto, primeiro faz sentido simplificar a tarefa para nós mesmos: procuraremos a derivada do logaritmo funções de probabilidade.

Mastigando a regressão logística

Por que depois do logaritmo, em funções de erro logístico, mudamos o sinal de Mastigando a regressão logística em Mastigando a regressão logística. Tudo é simples, pois em problemas de avaliação da qualidade de um modelo costuma-se minimizar o valor de uma função, multiplicamos o lado direito da expressão por Mastigando a regressão logística e consequentemente, em vez de maximizar, agora minimizamos a função.

Na verdade, agora mesmo, diante de seus olhos, a função de perda foi meticulosamente derivada - Perda Logística para um conjunto de treinamento com duas classes: Mastigando a regressão logística и Mastigando a regressão logística.

Agora, para encontrar os coeficientes, só precisamos encontrar a derivada funções de erro logístico e então, usando métodos de otimização numérica, como descida gradiente ou descida gradiente estocástica, selecione os coeficientes mais ideais Mastigando a regressão logística. Mas, dado o volume considerável do artigo, propõe-se fazer a diferenciação por conta própria, ou talvez este seja tema para o próximo artigo com muita aritmética sem exemplos tão detalhados.

Caso 2. Classificação de objetos em Mastigando a regressão logística и Mastigando a regressão logística

A abordagem aqui será a mesma das aulas Mastigando a regressão logística и Mastigando a regressão logística, mas o próprio caminho para a saída da função de perda Perda Logística, será mais ornamentado. Vamos começar. Para a função de verossimilhança usaremos o operador "se então...". Isto é, se Mastigando a regressão logísticaO objeto pertence à classe Mastigando a regressão logística, então para calcular a probabilidade da amostra usamos a probabilidade Mastigando a regressão logística, se o objeto pertencer à classe Mastigando a regressão logística, então substituímos na probabilidade Mastigando a regressão logística. Esta é a aparência da função de verossimilhança:

Mastigando a regressão logística

Vamos descrever em nossos dedos como funciona. Vamos considerar 4 casos:

1. Se Mastigando a regressão logística и Mastigando a regressão logística, então a probabilidade de amostragem “desaparecerá” Mastigando a regressão logística

2. Se Mastigando a regressão logística и Mastigando a regressão logística, então a probabilidade de amostragem “desaparecerá” Mastigando a regressão logística

3. Se Mastigando a regressão logística и Mastigando a regressão logística, então a probabilidade de amostragem “desaparecerá” Mastigando a regressão logística

4. Se Mastigando a regressão logística и Mastigando a regressão logística, então a probabilidade de amostragem “desaparecerá” Mastigando a regressão logística

É óbvio que nos casos 1 e 3, quando as probabilidades foram determinadas corretamente pelo algoritmo, função de verossimilhança será maximizado, ou seja, é exatamente isso que queríamos obter. No entanto, esta abordagem é bastante complicada e a seguir consideraremos uma notação mais compacta. Mas primeiro, vamos logaritmar a função de verossimilhança com mudança de sinal, pois agora iremos minimizá-la.

Mastigando a regressão logística

Vamos substituir em vez disso Mastigando a regressão logística expressão Mastigando a regressão logística:

Mastigando a regressão logística

Vamos simplificar o termo correto sob o logaritmo usando técnicas aritméticas simples e obter:

Mastigando a regressão logística

Agora é hora de se livrar da operadora "se então...". Observe que quando um objeto Mastigando a regressão logística pertence à classe Mastigando a regressão logística, então na expressão sob o logaritmo, no denominador, Mastigando a regressão logística elevado ao poder Mastigando a regressão logística, se o objeto pertencer à classe Mastigando a regressão logística, então $e$ é elevado à potência Mastigando a regressão logística. Portanto, a notação do grau pode ser simplificada combinando os dois casos em um: Mastigando a regressão logística. em seguida função de erro logístico assumirá a forma:

Mastigando a regressão logística

De acordo com as regras do logaritmo, viramos a fração e colocamos o sinal "Mastigando a regressão logística" (menos) para o logaritmo, obtemos:

Mastigando a regressão logística

Aqui está a função de perda perda logística, que é usado no conjunto de treinamento com objetos atribuídos às classes: Mastigando a regressão logística и Mastigando a regressão logística.

Pois bem, neste momento me despeço e concluímos o artigo.

Mastigando a regressão logística O trabalho anterior do autor é “Trazendo a equação de regressão linear para a forma matricial”

Materiais de suporte

1. Literatura

1) Análise de regressão aplicada / N. Draper, G. Smith - 2ª ed. – M.: Finanças e Estatística, 1986 (tradução do inglês)

2) Teoria das probabilidades e estatística matemática / V.E. Gmurman - 9ª ed. - M.: Ensino Superior, 2003

3) Teoria da probabilidade / N.I. Chernova - Novosibirsk: Universidade Estadual de Novosibirsk, 2007

4) Análise de negócios: dos dados ao conhecimento / Paklin N. B., Oreshkov V. I. - 2ª ed. - São Petersburgo: Peter, 2013

5) Ciência de Dados Ciência de Dados do zero / Joel Gras - São Petersburgo: BHV Petersburgo, 2017

6) Estatísticas práticas para especialistas em ciência de dados / P. Bruce, E. Bruce - São Petersburgo: BHV Petersburgo, 2018

2. Palestras, cursos (vídeo)

1) A essência do método de máxima verossimilhança, Boris Demeshev

2) Método de máxima verossimilhança no caso contínuo, Boris Demeshev

3) Regressão logística. Curso ODS aberto, Yury Kashnitsky

4) Aula 4, Evgeny Sokolov (de 47 minutos de vídeo)

5) Regressão logística, Vyacheslav Vorontsov

3. Fontes da Internet

1) Classificação linear e modelos de regressão

2) Como compreender facilmente a regressão logística

3) Função de erro logístico

4) Testes independentes e fórmula de Bernoulli

5) Balada do MMP

6) Método de máxima verossimilhança

7) Fórmulas e propriedades de logaritmos

8) Por que número Mastigando a regressão logística?

9) Classificador linear

Fonte: habr.com

Adicionar um comentário