Regressão Logística e SVM
- Regressão Logística
- SVM
Regressão Logística
Exercício 1
No modelo de regressão logística com um regressor apenas, a probabilidade é definida como:
\[P(Y_i = 1) = p(x_i) = \frac{1}{1 + \exp(-b - w_1 x_i)}.\]Deduza que a log-verossimilhança de $ \theta = (b, w_1) $ no caso do modelo logístico com um único regressor é dada por:
\[l(\theta) = b \sum_{i=1}^n y_i + w_1 \sum_{i=1}^n x_i y_i - \sum_{i=1}^n \log(1 + e^{b + w_1 x_i}).\]Resposta:
Para deduzir a expressão da log-verossimilhança $ l(\theta) $ no modelo de regressão logística com um regressor, começamos pela definição da função de verossimilhança para variáveis aleatórias Bernoulli. Cada observação $ Y_i $ pode assumir os valores 0 ou 1, com probabilidades $ 1 - p_i $ e $ p_i $, respectivamente, onde:
\[p_i = P(Y_i = 1) = \frac{1}{1 + \exp(-b - w_1 x_i)}.\]A função de verossimilhança é dada por:
\[L(\theta) = \prod_{i=1}^n p_i^{y_i} (1 - p_i)^{1 - y_i}.\]Tomando o log da verossimilhança, obtemos a log-verossimilhança:
\[l(\theta) = \sum_{i=1}^n y_i \log(p_i) + (1 - y_i) \log(1 - p_i) .\]Agora, expressamos $ \log(p_i) $ e $ \log(1 - p_i) $ em termos do bias $ b $ e do peso $ w_1 $:
\[\begin{align*} p_i &= \frac{e^{b + w_1 x_i}}{1 + e^{b + w_1 x_i}} \\ \log(p_i) &= (b + w_1 x_i) - \log(1 + e^{b + w_1 x_i}) \\ \log(1 - p_i) &= -\log(1 + e^{b + w_1 x_i}) \end{align*}\]Repare que $log(e^x) = x$
Substituindo essas expressões na log-verossimilhança:
\[\begin{align*} l(\theta) &= \sum_{i=1}^n y_i ((b + w_1 x_i) - \log(1 + e^{b + w_1 x_i})) + (1 - y_i)( -\log(1 + e^{b + w_1 x_i})) \\ &= \sum_{i=1}^n y_i (b + w_1 x_i) - \log(1 + e^{b + w_1 x_i}) \end{align*}\]Separando os somatórios, temos:
\[l(\theta) = b \sum_{i=1}^n y_i + w_1 \sum_{i=1}^n x_i y_i - \sum_{i=1}^n \log(1 + e^{b + w_1 x_i}).\]Exercício 2
No modelo logístico com um regressor apenas, mostre que o vetor gradiente da log-verossimilhança $ l(\theta) $ é dado por:
\[\nabla l(\theta) = \begin{bmatrix} \frac{\partial l}{\partial b} \\ \frac{\partial l}{\partial w_1} \end{bmatrix} = \begin{bmatrix} \sum_{i=1}^n y_i - p_i \\ \sum_{i=1}^n x_i y_i - p_i x_i \end{bmatrix},\]onde $ p_i = p(x_i) $.
Resposta
Para encontrar o vetor gradiente da log-verossimilhança $ l(\theta) $, calculamos as derivadas parciais em relação a $ b $ e $ w_1 $:
Derivada parcial em relação a $ b $:
\begin{align} \frac{\partial l}{\partial b} &= \sum_{i=1}^n \left[ y_i - \frac{e^{b + w_1 x_i}}{1 + e^{b + w_1 x_i}} \right] *
&= \sum_{i=1}^n \left( y_i - p_i \right) \end{align}
*Olhe a questão acima para ver essa derivação de $p_i$
Derivada parcial em relação a $w_1$:
\begin{align} \frac{\partial l}{\partial w_1} &= \sum_{i=1}^n \left[ y_i x_i - \frac{e^{b + w_1 x_i}}{1 + e^{b + w_1 x_i}} x_i \right]
&= \sum_{i=1}^n \left( y_i x_i - p_i x_i \right)
&= \sum_{i=1}^n x_i \left( y_i - p_i \right). \end{align}
Portanto, o vetor gradiente é:
\[\nabla l(\theta) = \begin{bmatrix} \sum_{i=1}^n \left( y_i - p_i \right) \\ \sum_{i=1}^n x_i \left( y_i - p_i \right) \end{bmatrix}.\]Exercício 3
Ainda no modelo logístico com um regressor apenas, mostre que a matriz Hessiana da log-verossimilhança $l(\theta) $ é dada por:
\[H(l(\theta)) = - \begin{bmatrix} \frac{\partial^2 l}{\partial b^2} & \frac{\partial^2 l}{\partial b \partial w_1} \\ \frac{\partial^2 l}{\partial b \partial w_1} & \frac{\partial^2 l}{\partial w_1^2} \end{bmatrix} = - \begin{bmatrix} \sum_{i=1}^n p_i (1 - p_i) & \sum_{i=1}^n p_i (1 - p_i) x_i \\ \sum_{i=1}^n p_i (1 - p_i) x_i & \sum_{i=1}^n p_i (1 - p_i) x_i^2 \end{bmatrix}.\]Resposta
Para determinar a matriz Hessiana da log-verossimilhança $l(\theta)$, calculamos as segundas derivadas parciais:
Derivada segunda em relação a $b$:
\begin{align} \frac{\partial^2 l}{\partial b^2} &= -\sum_{i=1}^n \frac{e^{b + w_1 x_i}}{(1 + e^{b + w_1 x_i})^2}
&= -\sum_{i=1}^n p_i (1 - p_i). \end{align}
Derivada mista em relação a $b $ e $w_1$:
\begin{align} \frac{\partial^2 l}{\partial b \partial w_1} &= -\sum_{i=1}^n \frac{e^{b + w_1 x_i}}{(1 + e^{b + w_1 x_i})^2} x_i
&= -\sum_{i=1}^n p_i (1 - p_i) x_i. \end{align}
Derivada segunda em relação a $w_1$:
\begin{align} \frac{\partial^2 l}{\partial w_1^2} &= -\sum_{i=1}^n \frac{e^{b + w_1 x_i}}{(1 + e^{b + w_1 x_i})^2} x_i^2
&= -\sum_{i=1}^n p_i (1 - p_i) x_i^2. \end{align}
Assim, a matriz Hessiana é:
\[H(l(\theta)) = - \begin{bmatrix} \sum_{i=1}^n p_i (1 - p_i) & \sum_{i=1}^n p_i (1 - p_i) x_i \\ \sum_{i=1}^n p_i (1 - p_i) x_i & \sum_{i=1}^n p_i (1 - p_i) x_i^2 \end{bmatrix}.\]SVM
Exercício 4
Quais as principais diferenças entre o SVM e uma Regressão Linear?
Resposta
Existem duas principais diferenças entre o SVM e a Regressão Linear.
Enquanto a regressão linear encontra uma fronteira de decisão apenas minimizando o erro quadrático, o SVM tenta encontrar o melhor separador, para isso maximizando a margem entre os vetores de suporte.
O Truque do Kernel possibilita que o SVM encontre soluções de problemas não lineares. Embora possamos usar features polinomiais na regressão linear, o truque do kernel nos permite atingir o mesmo resultado sem calcular diretamente as features no espaço com mais dimensões, de forma que os cálculos são mais rápidos e eficientes.
Exercício 5
No SVM, quais são os tipos de kernels mais comuns? Como eles são definidos? Em quais situações usamos cada um deles?
Resposta
- Kernel Linear:
- Definição: \(K(x, x') = x \cdot x'\)
- Usado para problemas linearmente separáveis.
- Kernel Polinomial:
- Definição: \(K(x, x') = (x \cdot x' + c)^d\)
- Bom para dados com características polinomiais. É muito flexível, uma vez que podemos alterar o parâmetro $d$, porém um $d$ grande pode ser bastante custoso.
- Radial Basis Function (RBF)
- Definição: \(K(x, x') = \exp(- \frac {||x - x'||^2}{2σ^2})\)
- Muito usado na prática. Mapeia os dados para um espço complexo com dimensões infinitas, possibilitando que ele modelo dados muito difíceis.
- Kernel Sigmoid
- Definição: \(K(x, x') = tanh(αx ⋅ x' + c)\)
- Menos comum, útil em algumas poucas situações. Pode apresentar problemas de convergência, a depender dos valores de $\alpha$ e $c$.
De forma geral, o kernel a ser usado depende da natureza dos dados a serem processados. Escolher o melhor deles para o seu problema cegamente é difícil, e, na prática, é melhor testar várias opções e ver qual se encaixou melhor.
Exercício 6
O que é uma Soft Margin em um SVM? Por que ela é usada nos SVMs?
A Soft Margin no SVM possibilita que o modelo encontre uma margem não estrita, isso é, com alguns pontos dentro dela, ou até classificados erroneamente. Ela é controlada pelo parâmetro c, quanto mais baixo, mais relaxada a margem será. O ajuste da soft margin é essencial no uso do SVM, já que, na prática, os problemas com os quais lidamos não são perfeitamente separáveis. Assim, para garantir que o modelo encontre uma fronteire de decisão boa, que seja capaz de generalizar para novos dados, precisamos permitir que ele ‘abandone’ alguns pontos ao definir a margem.
#In: