Trabalho Extra
Tutorial e Problema
José Leonardo Takahashi
Anibal Tavares de Azevedo
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
•
Classificação Linear
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
•
Classificação Linear
Tutorial
–
Regressão Linear
•
Regressão Linear é uma função de estimativa de um valor esperado
(saída) com relação linear entre os valores de dados iniciais (entrada).
Valor do dado de entrada Valor do dado de saída
Tutorial
–
Regressão Linear
•
Caso os dados de entrada (x) tenham apenas um valor, diremos que este
dado está na dimensão 1.
•
Para um valor de entrada estimar um valor de saída (y) são necessários dois
parâmetros: coeficiente angular (a) e coeficiente linear (b). ( y = a*x + b )
X Y
Tutorial
–
Regressão Linear
•
Encontrar “a” e “b” é o mesmo que encontrar os números que conseguem
“transformar”, da melhor maneira, cada dado de entrada em cada dado de
saída, simultaneamente.
. .
.
=
b
+ x *
a
= y
b + b +
. . .
Tutorial
–
Regressão Linear
•
O comando “
lsq
” ou
least squares (mínimos quadrados) encontra coeficientes
que apenas multiplicam os valores de entrada (sem a soma
+b
).
•
Então, utilizamos este artifício de acrescentar uma coluna de valores “1” para
multiplicar o “b”, logo que b*1 = b.
. .
.
=
1 *
b
+ x *
a
= y
. . .
+
Tutorial
–
Regressão Linear
•
Nota-se que dados de entrada (x) na dimensão 1 formam uma reta para estimar
saídas (y) na dimensão 1.
•
y (saída) = b + a * x (entrada)
•
E podemos visualizar em um plano:
• dimensão entrada (1) + dimensão saída (1) = 2 ou 2D ou plano.
Tutorial
–
Regressão Linear
•
Já dados de entrada na dimensão 2, formam um plano para estimar uma saída na
dimensão 1.
•
z (saída) = b + a * x (entrada) + c * y (entrada)
•
E podemos visualizar em um 3D:
•
dimensão entrada (2) + dimensão saída (1) = 3 ou 3D ou R3.
Tutorial
–
Regressão Linear
•
Exemplo de entrada na dimensão 1:
4.0
•
Exemplo de saída na dimensão 1:
8.7
•
Exemplo de saída estimada:
9.0
•
Exemplo de reta:
•
y =
2
*x +
1
•
2 = coeficiente angular
•
1 = coeficiente linear
Valor do dado de entrada
valor do dado de saída
Nota-se que a regressão não precisa interpolar (acertar) os dados. A função apenas tenta diminuir o erro entre entrada e saída.
Valor do ponto (x,y)
(4.0,8.7)
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
•
Classificação Linear
Tutorial
–
Regressão Linear 1 Dimensão
•
Como fazer?
Tutorial
–
Regressão Linear 1 Dimensão
•
Como fazer?
•
Utiliza-
se o comando “lsq”,
ou least squares, para encontrar o melhor coeficiente.
•
Assim, encontramos apenas o valor do coeficiente angular.
saída
entrada
Tutorial
–
Regressão Linear 1 Dimensão
•
Como fazer?
•
Então, é necessário colocar um vetor de valores “1” junto com os dados de
entrada para encontrarmos, ao mesmo tempo, os coeficientes angular e
linear.
Coef angular Coef linear
saída
entrada
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
•
Classificação Linear
Visualização
“ : ” = Todas as linhas...
Dado 1
Dado 1
Tutorial
–
Regressão Linear 2 Dimensões
Imagine que o dado de entrada, agora, tem 2 dimensões. Ou
seja, tem uma componente “x” e uma componente “y”.
X Y
Y
Tutorial
–
Regressão Linear 2 Dimensões
•
Como fazer?
Tutorial
–
Regressão Linear 2 Dimensões
•
Como fazer?
•
Após colocar o vetor de valores “1” junto com os dados de entrada, encontrarmos,
ao mesmo tempo, os coeficientes angular ”x” e “y” e o coeficiente linear.
Coef angular “x” Coef linear
saída
entrada
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
Tutorial
–
Classificação Linear
•
Como utilizar regressão linear para fazer classificação linear?
•
(1) Observar que os dados estarão em uma certa dimensão. (ex: dimensão 2)
•
(2) Acrescentar um valor para dados semelhantes (classes).
• (ex: saída = 1 (classe 1))
•
(3) Este valor numérico aumenta a dimensão do dado. (ex: dimensão 2 -> 3)
•
(4) Utilizar a regressão linear na dimensão aumentada.
•
(5) Ao estimar uma função que tenta explicar os dados na dimensão aumentada,
a função separa, ou classifica, os dados na dimensão original.
Tutorial
–
Classificação Linear
Imagine que você tenha dois conjuntos de dados de entrada: v e w
Visualização
Com forma de “x”
Tutorial
–
Classificação Linear
(
1
) Observar que os
dados estarão em
Visualização
Note que todos os pontos tem a mesma “altura” de valor 1
Tutorial
–
Classificação Linear
Em 3D
(
2
) Acrescentar um valor
para dados semelhantes
(classes).
(ex: saída = 1 (classe 1))
Visualização
Note que todos os pontos tem a mesma “altura” de valor -1
Tutorial
–
Classificação Linear
(
2
) Acrescentar um valor
para dados semelhantes
(classes).
Tutorial
–
Classificação Linear
(
3
) Este valor numérico
aumenta a dimensão
do dado.
(ex: dimensão 2 -> 3)
2D
Preparando os dados para a Regressão
Tutorial
–
Classificação Linear
“;” significa “colocar na linha de baixo”
Coef angular “x” Coef linear
Coef angular “y”
(
4
) Utilizar a regressão
Observando a função da Regressão
Tutorial
–
Classificação Linear
Clique e segure o botão direito do mouse para girar a imagem
(
4
) Utilizar a regressão
Observando a função da Regressão
Note que o plano gerado pela regressão, tenta interceptar os dados na dimensão 3. Ao passo que dados são estimados na dimensão 3, na dimensão 2 o plano separa, ou classifica, os dados.
Tutorial
–
Classificação Linear
(
5
) Ao estimar uma função que
tenta explicar os dados na
Tutorial
–
Classificação Linear
Podemos encontrar a função da reta que cruza o plano z = 0 e o plano formado pela regressão
Esta é a equação do plano: z = b + a * x + c * y
E queremos a reta que se faz quando os valores de z são todos iguais a zero: z = 0
Logo:
z = 0 = b + a * x + c * y
E então, com alguma álgebra:
o termo “c*y” vai para o outro lado com sinal trocado -c*y = b + a*x
o termo “-c” que está multiplicando, passa dividindo y = (-b/c) + (-a/c)*x
Resultado: y = B + A*x
Onde:
B = -b/c A = -a/c
Sendo “c” o coeficiente que multiplica os valores de “y” da
Obtendo coeficientes da reta classificadora
Usando estes comandos é possível ver na dimensão dos dados a reta formada pelo cruzamento do plano formado com
o plano “zero”. Isto forma uma “regra”, onde é possível dizer qual a classificação de qualquer ponto da dimensão 2.
Utilizando coeficientes da reta classificadora
Tutorial
–
Classificação Linear
= ?
= ?
= ?
= ?
= ?
Utilizando coeficientes da reta classificadora
Tutorial
–
Classificação Linear
= X
= O
= X
= O
= O
Fácil vendo a reta, não é?
Utilizando coeficientes do plano classificador
Tutorial
–
Classificação Linear
Use a função do plano: f(x,y)
Caso o valor for negativo, está mais próximo ao -1, então a classe é X. Caso o valor for positivo, está mais próximo ao 1, então a classe é O.
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
•
Classificação Linear
Trabalho
Um banco usa o valor “score de crédito” para definir o valor máximo que um cliente pode obter de
empréstimo. O score de crédito é o resultado dos hábitos de pagamento e relacionamento do
cidadão com o mercado de crédito. Imagine que o decisor do banco precisa decidir, a partir de
dados já coletados pelo banco, se um novo cliente pode ou não realizar tal empréstimo. Para isso,
o decisor deve extrair a informação estatística contida em seu banco de dados para classificar este
cliente em um “bom pagador” ou “mau pagador”.
Utilize os dados obtidos no arquivo “geradados.sce” para criar uma regra que divide os clientes em
bons e maus pagadores. Utilize seu RA e o tutorial aqui ensinado para responder as perguntas dos
slides a seguir. O trabalho completo deve somar 2 pontos. Mostre as respostas em formato de
Trabalho
• Plotar os pontos de bons pagadores 2D (0,10) • Plotar os pontos de maus pagadores 2D (0,10) • Plotar os pontos de bons pagadores 3D (0,10) • Plotar os pontos de maus pagadores 3D (0,10)
• Encontrar coeficientes para o plano classificador (0,10) • Plotar gráfico da função plano 3D (0,10)
• Encontrar coeficientes da reta classificadora em 2D (0,10) • Plotar gráfico da função reta 2D (0,10)
Trabalho
• Usar dois valores de entrada para achar saída
• Dado score e o valor de empréstimo, é um bom ou mau pagador? (0,90)
Número do teste Score de Crédito Empréstimo pedido Resultado do pedido
1 100 16000 Aceito ou Negado?
2 100 11500 ?
3 100 5000 ?
4 500 7000 ?
5 500 27500 ?
6 600 22000 ?
7 900 16000 ?
8 900 22000 ?
Trabalho
• Usar um valor de entrada e um de saída para achar uma entrada
• Dado score, qual é o valor de empréstimo máximo que pode obter? (0,10) • Por quê? (0,05)
• Dado o valor do empréstimo pretendido, qual o score mínimo? (0,10) • Por quê? (0,05)
Número do teste Score de Crédito Empréstimo pedido
1 400 Empréstimo máximo?