Aprendizado de Máquina
Regressão I
Fabio G. Cozman
André C. Ponce de Leon Ferreira de Carvalho Sylvio Canuto
Tópicos do módulo
Introdução
Aproximação de funções
Tarefas de regressão
Regressão simples
Regressão linear
Regressão polinomial
Regressão múltipla
Tópicos desta parte do módulo
Regressão
Aproximação de funções
Tarefas de regressão
Regressão simples
Regressão linear
Ajuste de parâmetros
Efeitos do ajuste
Motivação
Supor que você quer prever que nota vai tirar em uma prova de uma disciplina
Previsão de um valor real (y)
Assumir que a nota depende de quantas horas você estudou para a prova (x)
Supor ainda que você sabe para n alunos que cursaram a mesma disciplina no ano passado
O número de horas de estudo (x) e a nota da prova (y)
Motivação
Para prever sua nota...
Você pode estimar uma função (modelo) preditiva
Função de regressão
Usando para isso dados conhecidos de outros alunos
Usar a função para, a partir do seu número de horas de estudo, prever sua nota
Introdução
Regressão é uma das principais tarefas preditivas
Objetivo:
Aprender (aproximar) uma função que associa:
A descrição de um objeto, vetor de valores, conjunto de variáveis independentes (atributos preditivos), a
Um valor real de uma variável dependente (atributo alvo) que rotula o objeto
Que pode ser utilizada para prever, com boa
capacidade preditiva, o rótulo de um novo objeto
Aproximação de funções
Procura uma função hipótese que se ajuste aos dados disponíveis
Permite prever o valor de saída para um novo objeto
Representado por um vetor de valores de entrada
Supor que você estudou 9 horas para a prova
Nota da prova
Aproximação de funções
Procura uma função hipótese que se ajuste aos dados disponíveis
Permite prever o valor de saída para um novo valor de entrada
Supor que você estudou 9 horas para a prova
y
x
Aproximação de funções
Alternativa mais simples: aproximar uma função linear aos dados
Função linear:
y = f(x) = ax + b
Descobrir valor de a e de b
Função linear pode ser usada para prever valor da nota
Tarefa de regressão
Coeficiente angular Coeficiente linear
Aproximação de funções
y
10 9 8 7 6 5 4 3 2 1
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
f(x)
Se você estudou 9 horas (x=9)
Sua nota será 5,0 (y = f(x)=5)
Aproximação de funções
y
10 9 8 7 6 5 4 3 2 1
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
f(x)
Erro Erro
Se você estudou 9 horas (x=9)
Sua nota será 5,0 (y = f(x)=5)
Tarefas de regressão
Buscam função de regressão que melhor se aproxime aos dados
Minimizando o erro para todo o conjunto de dados
Algoritmo de regressão linear ajuda a encontrar esta função (hipótese, modelo)
ℎ𝛽 𝑥 = 𝛽0+ 𝛽1𝑥1 + 𝜀 (função afim f(x) = ax + b) onde: 𝛽j é o jésimo parâmetro (j = 1,...,d)
𝛽0 é o termo de interceptação (viés) x1 é a variável independente
𝜀 é o termo residual (erro, ruído)
Tarefas de regressão
Buscam função de regressão que melhor se aproxime aos dados
Minimizando o erro para todo o conjunto de dados
Algoritmo de regressão linear ajuda a encontrar esta função (hipótese, modelo)
ℎ𝛽 𝑥 = 𝛽0+ 𝛽1𝑥1 (função afim f(x) = ax + b) onde: 𝛽j é o jésimo parâmetro (j = 1,...,d)
𝛽0 é o termo de interceptação (viés) x1 é a variável independente
Tarefas de regressão
Buscam função de regressão que melhor se aproxime aos dados
Minimizando o erro para todo o conjunto de dados
Algoritmo de regressão linear ajuda a encontrar esta função (hipótese, modelo)
ℎƟ 𝑥 = Ɵ0+ Ɵ1𝑥1 (função afim f(x) = ax + b) onde: Ɵj é o jésimo parâmetro (j = 1,...,d)
Ɵ0 é o termo de interceptação (viés) x1 é a variável independente
Tarefas de regressão
Buscam função de regressão que melhor se aproxime aos dados
Minimizando o erro para todo o conjunto de dados
Algoritmo de regressão linear ajuda a encontrar esta função (hipótese, modelo)
ℎw 𝑥 = w0+ w1𝑥1 (função afim f(x) = ax + b) onde: wj é o jésimo parâmetro (j = 1,...,d)
w0 é o termo de interceptação (viés) x1 é a variável independente
Tarefas de regressão
Necessário encontrar valores de w0 𝑒 w1 que minimizem o erro da função
hipótese
ℎw 𝑥 = w0 + w1𝑥, onde
ℎw 𝑥 : função linear
w0: coeficiente linear da reta
w1: coeficiente angular da reta
Erro cometido pela função hipótese pode ser estimado por uma função de custo
Tarefas de regressão
Necessário encontrar valores de w0 𝑒 w1 que minimizem o erro da função
hipótese
𝑓 𝑥 = w0 + w1𝑥, onde
𝑓 𝑥 : função linear
w0: coeficiente linear da reta
w1: coeficiente angular da reta
Erro cometido pela função hipótese pode ser estimado por uma função de custo
Aprendizado
Busca minimizar função de custo
Achar valores de w (w0 𝑒 w1) que gerem a função J(w) de menor custo (taxa de erro)
Pode ser ilustrado por um gráfico que
relacione valor dos parâmetros com valor do erro
Procura valor de w que minimiza (y -𝑓 𝑥 )2
Aprendizado
Busca minimizar função de custo
Busca w que minimiza (y -𝑓 𝑥 )2
wmin0w1(y −𝑓 𝑥 )2
w𝑚𝑖𝑛0w1
1 𝑛
𝑖=1 𝑛
𝑦𝑖 − 𝑓 𝑥𝑖 2
w𝑚𝑖𝑛0w1
𝑖=1 𝑛
𝑦𝑖 − 𝑓 𝑥𝑖 2
w𝑚𝑖𝑛0w1 J(w0, w1) Erro quadrático médio (MSE) Erro total Erro médio
J(w)
w Possível posição
atual (valor atual de w)
Posição desejada
Aproximação da função hipótese
Minimizar erro quadrático médio (MSE)
Média da área dos quadrados entre a saída verdadeira (𝑦𝑖) e a saída estimada (𝑓 𝑥𝑖 )
y
10 9 8 7 6 5 4 3 2 1
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
𝑀𝑆𝐸 = 1 f(x)
𝑛
𝑖=1 𝑛
𝑦𝑖 − 𝑓 𝑥𝑖 2
Trabalhamos com duas funções
Função hipótese:
𝑓(𝑥) = 2 +w1x1(w0= 2)
𝑓(𝑥) = 2 + 0,9x
Função de custo:
J(w1) = 𝑛1 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
J(0,9) = 0 + 0 + 0 + 0 = 0
y
10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10
f(x)
J(w1)
10 9 8 7 6 5 4 3 2 1
-1,0 -0,5 0,5 1,0 1,5 2,0 2,5 3,0
Trabalhamos com duas funções
Função hipótese:
𝑓(𝑥) = 2 +w1x1(w0= 2)
𝑓(𝑥) = 2 + 0,9x
Função de custo:
J(w1) = 𝑛1 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
J(0,9) = 12+12+12+12 /4 =1
y
10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10
f(x)
J(w1)
10 9 8 7 6 5 4 3 2 1
w
-1,0 -0,5 0,5 1,0 1,5 2,0 2,5 3,0
x
Avaliando diferentes valores de w
1 Função hipótese:
𝑓(𝑥) = 2 +w1x1(w0= 2)
Diversos valores de w1
Função de custo:
Calculada para cada valor
J(w1) = 𝑛1 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
y
10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10
f(x)
J(w1)
10 9 8 7 6 5 4 3 2 1
-1,0 -0,5 0,5 1,0 1,5 2,0 2,5 3,0
𝑚𝑖𝑛w1 J(w1)
x
Avaliando diferentes valores de w
1 Função hipótese:
𝑓(𝑥) = 2 +w1x1(w0= 2)
Diversos valores de w1
Função de custo:
Calculada para cada valor
J(w1) = 𝑛1 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
J(w1)
10 9 8 7 6 5 4 3 2 1
w1
-1,0 -0,5 0,5 1,0 1,5 2,0 2,5 3,0
y
10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10
f(x)
𝑚𝑖𝑛w1 J(w1)
x
Avaliando diferentes valores de w
1(e w
2)
Função de custo (w1):
J(w1) = 𝑛1 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
Função de custo (w1 e w2 ):
J(w1, w2) = 𝑛1σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
J(w1)
10 9 8 7 6 5 4 3 2 1
w1
-1,0 -0,5 0,5 1,0 1,5 2,0 2,5 3,0
𝑚𝑖𝑛w1 J(w1)
w2 w1
J(w1 ,w2)
w𝑚𝑖𝑛0w1 J(w1, w2)
Avaliando diferentes valores de w
1(e w
2)
Representação usando gráfico 3D e figura de contorno
J(w1 ,w2)
w1 w2
Olhando de cima para baixo
w w1
Efeito do intervalo de valores de x
Supor duas variáveis, x1 e x2
w1 w1
Efeito do intervalo de valores de x
Supor duas variáveis, x
1e x
2w w
w1 w1
Intervalo de valores de x grande, w pequeno Intervalo de valores de x pequeno, w grande Escalar valores das variáveis acelera treinamento
Ajuste de parâmetros
Ajuste de parâmetros
Ajuste de parâmetros
Ajuste de parâmetros
Ajuste de parâmetros
F(x) = 28 + 0X F(x) = 26 + 0,5X
F(x) = 22 + X F(x) = 20 + 1,5X
Ajuste de parâmetros
Ajuste de parâmetros
Ajuste de parâmetros
Ajuste de parâmetros
Sumarizando
Função hipótese: ℎw 𝑥 = w0 + w1𝑥 ou 𝑓 𝑥 = w0 + w1𝑥
Parâmetros: w0 , w1
Função custo: J(w0, w1) = 1
𝑛 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
Para simplificar cálculos, pode ser usada a função J(w0 , w1) = 1
2𝑛 σ𝑖=1𝑛 𝑦𝑖 − 𝑓 𝑥𝑖 2
Objetivo: 𝑚𝑖𝑛
w0w1 J(w0 , w1)