---
presentation:
theme: beige.css
slideNumber: true
width: 1024
height: 768
---
## Aprendizado de Máquina
##### Prof. Ronaldo Cristiano Prati
[ronaldo.prati@ufabc.edu.br](mailto:ronaldo.prati@ufabc.edu.br)
###### Bloco A, Sala 513-2
### Classificação
- Um outro problema dentro de aprendizado supervisionado é a **classificação**
- $y$ é discreto:
- e-mail: SPAM/não SPAM?
- transções online: fraudulenta/normal?
- tumor: maligno/benigno?
- vamos começar com um problema de **classificação binária** (veremos multiclasse depois)
### Classificação
- Podemos usar regressão linear?
- $y$ pode ser representado como $0$ ou $1$:
- $0$: classe negativa
- $1$: classe positiva
- Um ponto de corte no valor predito (p.ex. acima de 0.5), é classificado como classe positiva
![](lr-class.png)
### Classificação
- E se tivermos poucos exemplos da classe 1? Provavelmente a inclinação da reta seria menor, e classificaríamos tudo com classe $0$.
- Nossa hipótese também prediz valores abaixo de 0 e acima de 1, apesar da classe só poder assumir os valores 0 e 1.
- **Regressão logística** pode contornar esses problemas
### Regressão logística
- Apesar de se chamar regressão, é um algoritmo de classificação
- A hipótese tem a forma de $h_theta(x) = g((\theta^\intercal x))$, em que:
$$g(z) = \frac{1}{1+e^{-z}} $$
- Essa é a [**função sigmoid**](https://pt.wikipedia.org/wiki/Função_sigmóide) ou [**função logística**](https://pt.wikipedia.org/wiki/Função_sigmóide)
- Podemos reescrever $h_theta(x)$ como
$$h_\theta(z) = \frac{1}{1+e^{-\theta^\intercal x}} $$
### Regressão logística
![](logit.png)
### Interpretando a saída
- A hipótese $h_\theta(x)$ dá como saída um número entre $0$ e $1$ que pode ser interpretada como a probabilidade que $y=1$ para a entrada $x$
- Por exemplo, se $h_\theta(x)=0.7$ para um certo $x^i$, o modelo dá $70\%$ de chance de um tumor malígno
- Em outras palavras, $h_\theta(x) = P(y=1|x,\theta)$
- Como o problema é binário, temos que:
$$
\begin{aligned}
P(y=1|x,\theta) + P(y=0|x,\theta) = 1\\
P(y=0|x,\theta) = 1 - P(y=1|x,\theta)
\end{aligned}
$$
### Fronteira de decisão
- Para predizer a classe, utilizamos aquela com maior probabilidade, segundo o modelo
- Isso é equivalente a predizer a classe $1$ se $h_\theta(x) > 0.5$, e a classe $0$ caso contrário
- Observando a função logística, temos que $h_\theta(x) = 0.5$ quando $z=0$.
- Como $z = \theta^\intercal x$, a linha $\theta^\intercal x = 0$ é a fronteira de decisão entre as duas classes
$\theta^\intercal x > 0$: predizer classe $1$
$\theta^\intercal x leq 0$: predizer classe $0$
### Fronteira de decisão
- A linha em que $h_\theta(x) = 0.5$ (ou que $\theta^\intercal x = 0$) é a fronteira de decisão.
![](fronteira.png)
### Fronteira de decisão não linear
- Se adicionarmos novos atributos que fazem uma transformação não linear nos dados (como na aula passada, em que fizemos regressão polinomial adicionando atributos do tipo $x^k$)
- Por exemplo, se adicionarmos atributos quadráticos, podemos ter fronteiras de decisão do tipo
![](fronteira_quad.png)
### função de custo para regressão logística
- Nossa hipótese é
$$h_\theta(z) = \frac{1}{1+e^{-\theta^\intercal x}} $$
- Na regressão linear temos que
$$J(\theta) = \frac{1}{m}\sum_i^m Cost(h_\theta(x),y)$$
Em que o custo é definido como:
$$Cost(h_\theta(x),y) = \frac{1}{2} (h_\theta(x)-y)^2 $$
### função de custo para regressão logística
- Podemos usar a mesma função de custo para regressão logistica?
- Essa função de custo é não convexa (a função da nosso hipótese (sigmoid) é não linear)
- Ao tentar miniminar, podemos ter muitos mínimos locais
- O algoritmo da descida do gradiente pode não encontrar os melhores valores para $\theta$
- Temos uma função convexa para por no lugar?
### função de custo para regressão logística
- Uma função de custo convexa:
$$
Cost(h_\theta(x),y) = \begin{cases}
-log(h_\theta(x)) & se y=1\\
-log(1-h_\theta(x)) & se y=0
\end{cases}
$$
### função de custo para regressão logística