- View
Vamos voltar ao exemplo que usamos para introduzir o paradigma de programação orientada por dados. No conjunto de dados, tínhamos informações sobre a metragem quadrada dos imóveis e seus preços, e a nossa tarefa era estabelecer a conexão entre esses valores para que pudéssemos estimar preços para novos imóveis.
Para simplificar, vamos ter um conjunto de treino que contém 10 instâncias, que estão apresentadas na tabela abaixo:
| Metragem quadrada (m2) | Preços Imobiliários (1000€) |
| 43 | 60 |
| 25 | 32.1 |
| 66 | 88.4 |
| 80 | 111.4 |
| 105 | 120.32 |
| 70 | 72.1 |
| 40 | 46.3 |
| 85 | 90.1 |
| 84 | 99.6 |
| 102 | 139.2 |
Também podemos exibir essas imagens graficamente. Ao longo do eixo x, definiremos os valores da metragem quadrada, ao longo do eixo y os valores dos preços dos imóveis e marcaremos os pares de valores com círculos azuis.

Vamos escolher para o modelo uma função que relacione a metragem quadrada dos imóveis x e os preços dos imóveis y com a equação \(y = β_0 + β_1x\), onde \(β_0\) e \(β_1\) representam parâmetros desconhecidos. Este é o chamado modelo linear , e como o usamos para resolver o problema da regressão, também o chamamos de modelo de regressão linear . Note que esta é na verdade a equação de uma reta \(y = kx + n\), onde o declive é denotado por \(β_1\) e a ordenada na origem é denotado por \(β_0\). A motivação para a introdução deste modelo reside no facto de os pontos seguirem a bissetriz dos quadrantes ímpares, talvez ligeiramente abaixo.
Esta seção é emparelhada com Jupyter Volume 05-1-linear_regression.ipynb . Para acompanhar o conteúdo, clique no link e, em seguida, no botão
para abrir o conteúdo no Google Colab . Se você estiver visualizando os blocos de anotações no se dispositivo, localize o bloco de anotações com o mesmo nome entre os conteúdos e execute-o.
A sua tarefa é carregar o conjunto de dados imobiliários no bloco de anotações complementar e selecionar os valores dos parâmetros \(β_0\) e \(β_1\) que considera que melhor correspondem a esses dados. Pode ajustá-los movendo os controles deslizantes para a esquerda e para a direita. Lembre-se dos valores que escolheu e das ideias que o guiaram ao determinar os parâmetros.
Provavelmente já tentou obter o valor mais perto possível dos pontos dados e faz o menor número de desvios possível. Certamente ficou igualmente satisfeito com algumas escolhas de parâmetros, enquanto algumas foram menos boas. E do ponto de vista da aprendizagem automática, tentamos encontrar os valores dos parâmetros \(β_0\) e \(β_1\) para os quais cometemos o menor erro, mas temos que definir exatamente qual é o erro realmente. Veja como vamos fazê-lo.
Suponha que os valores selecionados sejam \(β_0= 6.3\) e \(β_1= 1.02\). Agora vamos expandir a tabela de dados com uma coluna com os valores calculados por este modelo de regressão linear para os valores de quadratura que temos. Do ângulo do modelo, representamo-los com o tamanho x.
|
Metragem quadrada |
Preços Imobiliários (1000€) |
Preço do modelo \(y = 6.3 + 1.02x\) (1000€) |
| 43 | 60 | 50.16 |
| 25 | 32.1 | 31.8 |
| 66 | 88.4 | 73.62 |
| 80 | 111.4 | 87.9 |
| 105 | 120.32 | 113.4 |
| 70 | 72.1 | 77.7 |
| 40 | 46.3 | 47.1 |
| 85 | 90.1 | 93 |
| 84 | 99.6 | 91.98 |
| 102 | 139.2 | 110.34 |
A diferença entre os valores esperados (conhecidos no conjunto de dados) e os valores que calculamos (lembre-se de chamá-los de previsões) é um erro. Agora vamos calcular todos os erros e registá-los na tabela.
|
Metragem quadrada |
Preços Imobiliários (1000€) |
Preço do modelo \(y = 6.3 + 1.02x\) (1000€) |
Erro de modelo |
| 43 | 60 | 50.16 | 9.84 |
| 25 | 32.1 | 31.8 | 0.3 |
| 66 | 88.4 | 73.62 | 14.78 |
| 80 | 111.4 | 87.9 | 2.53 |
| 105 | 120.32 | 113.4 | 6.92 |
| 70 | 72.1 | 77.7 | -5.6 |
| 40 | 46.3 | 47.1 | -0.8 |
| 85 | 90.1 | 93 | -2.9 |
| 84 | 99.6 | 91.98 | 7.62 |
| 102 | 139.2 | 110.34 | 28.86 |
Para facilitar o acompanhamento do comportamento dos erros, na imagem abaixo, seus valores são mostrados por linhas pontilhadas azuis.
Para se ter uma ideia do erro total do modelo, é imprudente adicionar os erros individuais, uma vez que alguns valores de erro são positivos e alguns valores são negativos. Portanto, podemos elevá-los ao quadrado e somá-los - isso vai dar-nos informações mais fortes sobre o tamanho do erro, independentemente de ser positivo ou negativo. Se dividirmos a soma resultante pelo número de instâncias no conjunto, vamos ter uma ideia do erro médio do modelo. No nosso caso, é: \((9.84^ 2 + 0.32^2 + 14.782^2 + 23.52^2 + 6.92^2 + (-5.6)^ 2 + (-0.8)^ 2 + (-2.9)^ 2 + 7.62^2 + 28.86^2)/10 = 184.687\)
O erro do modelo de regressão linear calculado desta forma é chamado de erro quadrado médio (MSE). Para valores fixos dos parâmetros \(β_0\) e \(β_1\), o procedimento de cálculo que descrevemos pode ser abreviado pela fórmula \(\frac{1}{N}\sum\limits_{i = 1}^{N}(yi −(β_0+ β_1x_i))^2\). Nele, os pares \((x i,yi)\) correspondem às instâncias individuais, à metragem quadrada das propriedades xi e seus preços yi, e o número n indica o número total de instâncias. São 10 no nosso caso. A expressão figurada na soma representa a diferença entre o yi esperado e os valores calculados \(β_0+ β_1x_i\).
O quadrado do erro é o erro que sempre emparelhamos com o modelo de regressão linear, e que queremos minimizar o máximo possível, escolhendo os parâmetros rulex \(β_0\) e \(β_1\). A partir da experiência de definir os parâmetros, verificou que esta não é uma tarefa muito fácil. Felizmente, existem técnicas matemáticas que podem nos ajudar com isso. Para descobrir como fazer isso, vamos passar para a próxima lição sobre descida de gradiente.