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
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
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) Valor estimado
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
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
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
Tutorial
•
Regressão Linear
•
Regressão Linear 1 Dimensão
•
Regressão Linear 2 Dimensões
•
Classificação Linear
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
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.