Artigo original: https://www.freecodecamp.org/news/machine-learning-mean-squared-error-regression-line-c7dde9a26b93/
Escrito por: Moshe Binieli
Introdução
Este artigo tratará do método estatístico do erro quadrático médio. Nele, descreverei a relação deste método com a linha de regressão.
O exemplo consiste em pontos sobre o eixo cartesiano. Vamos definir uma função matemática que nos dará a linha reta que melhor passa entre todos os pontos do eixo cartesiano.
Desse modo, aprenderemos a conexão entre esses dois métodos e qual a aparência do resultado de sua conexão.
Explicação geral
Esta é a definição da Wikipédia:
Em estatística, o erro quadrático médio (MSE - Mean Squared Error) de um estimador (de um procedimento para estimar uma quantidade não observada) mede a média dos quadrados dos erros - ou seja, a diferença quadrática média entre os valores estimados e o que é estimado. O MSE é uma função de risco, correspondendo ao valor esperado da perda do erro quadrático. O fato do MSE ser quase sempre estritamente positivo (e diferente de zero) é devido à aleatoriedade ou porque o estimador não dá conta das informações que poderiam produzir uma estimativa mais precisa.
A estrutura do artigo
- Saiba qual é a ideia, veja a visualização gráfica e conheça a equação do erro quadrático médio.
- A parte matemática contém as manipulações algébricas e uma derivada de duas funções variáveis para encontrar um mínimo. Esta seção é para aqueles que querem entender como obtemos as fórmulas matemáticas mais tarde. Você pode ignorá-la se isso não for do seu interesse.
- Uma explicação das fórmulas matemáticas que recebemos e o papel de cada variável na fórmula.
- Exemplos
Saiba qual é a ideia
Digamos que temos sete pontos e que nosso objetivo é encontrar uma linha que minimize as distâncias quadráticas para esses pontos diferentes.
Vamos tentar entender isso.
Vou pegar um exemplo e desenharei uma linha entre os pontos. É claro que meu desenho não é o melhor, mas é apenas para fins de demonstração.
![MNskFmGPKuQfMLdmpkT-X7-8w2cJXulP3683](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/MNskFmGPKuQfMLdmpkT-X7-8w2cJXulP3683.png)
Você pode estar se perguntando: o que é esse gráfico?
- os pontos roxos são os pontos do gráfico. Cada ponto tem uma coordenada x e uma coordenada y.
- A linha azul é a nossa linha de previsão. Essa é uma linha que passa por todos os pontos e os ajusta da melhor maneira possível. Essa linha contém os pontos previstos.
- A linha vermelha entre cada ponto roxo e a linha de previsão são os erros. Cada erro é a distância entre o ponto e o seu ponto previsto.
Você deve se lembrar dessa equação de seus dias de escola, y=Mx+B, onde M é a declive da linha e B é o ponto em que a linha intercepta o eixo y (texto em inglês).
Queremos encontrar M (o declive) e B (o ponto de interceptação de y) que minimizam o erro quadrático!
Vamos definir uma equação matemática que nos dará o erro quadrático médio para todos os nossos pontos.
![hmZydSW9YegiMVPWq2JBpOpai3CejzQpGkNG](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/hmZydSW9YegiMVPWq2JBpOpai3CejzQpGkNG.gif)
Vamos analisar o que essa equação realmente significa.
- Em matemática, o personagem que parece um E estranho (o sigma, em grego) é chamado de somatório. É a soma de uma sequência de números, de i=1 até i=n. Vamos imaginar isso como um array de pontos, onde passamos por todos os pontos, do primeiro (i=1) ao último (i=n).
- Para cada ponto, tomamos a coordenada y do ponto e a coordenada y' do ponto. A coordenada y é o nosso ponto roxo. O ponto y' está na linha que nós criamos. Subtraímos o valor da coordenada y do valor da coordenada y' e calculamos o quadrado do resultado.
- A terceira parte é pegar a soma de todos os valores (y-y')² e dividi-la por n, o que dará a média.
Nosso objetivo é minimizar esta média, o que nos proporcionará a melhor linha que passa por todos os pontos.
Do conceito às equações matemáticas
Esta parte é para as pessoas que querem entender como chegamos às equações matemáticas. Você pode pular para a próxima parte, se quiser.
Como você sabe, a equação da linha é y=mx+b, onde m é o declive e b é o ponto onde a linha intercepta o eixo y (texto em inglês).
Vamos pegar cada ponto no gráfico e faremos no cálculo de (y-y')². O que é, no entanto, y', e como nós o calculamos? Não temos esse valor como parte dos dados.
Sabemos, contudo, que, para calcular y', precisamos usar nossa equação de linha, y=mx+b, e colocar o x na equação.
A partir daqui, obtemos a seguinte equação:
![wSige6ZLxM-QaVt3fRWXIAzsHvX7wdcJ4XOy](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/wSige6ZLxM-QaVt3fRWXIAzsHvX7wdcJ4XOy.png)
Vamos reescrever esta expressão para simplificá-la.
![JFi5pzT7YtJ-0Fkx59jP0hCNHzc8tvsrXgPg](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/JFi5pzT7YtJ-0Fkx59jP0hCNHzc8tvsrXgPg.png)
Vamos começar abrindo todos os parênteses da equação. Eu colori a diferença entre as equações para facilitar a compreensão.
![vWLTze9HzNDSg4LRM5dbpkYUpkXkhTW6TnRl](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/vWLTze9HzNDSg4LRM5dbpkYUpkXkhTW6TnRl.png)
Agora, vamos aplicar outra manipulação. Pegaremos cada parte e a colocaremos em conjunto. Pegaremos todos os y, (-2ymx) e assim por diante e os colocaremos todos lado a lado.
![y3gkwSWxwAOcxfxMILLV0teW1273PFtFiqW4](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/y3gkwSWxwAOcxfxMILLV0teW1273PFtFiqW4.png)
Nesse ponto, estamos começando a ficar confusos. Então, vamos pegar a média de todos os valores quadrados para y, xy, x, x².
Vamos definir, para cada um desses valores, um novo personagem que representará a média de todos os valores quadráticos.
Vejamos um exemplo, vamos pegar todos os valores y e dividi-los por n, já que é a média, e chamar esse valor de de y(ao quadrado e com a linha sobrescrita).
![L3NWDFs1LUKgQU223EAFXXUXX3OTFWR0gLtE](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/L3NWDFs1LUKgQU223EAFXXUXX3OTFWR0gLtE.png)
Se multiplicarmos ambos os lados da equação por n, obtemos:
![jyiOt9MVCg460395d6mkHlrmK9ssfr8nQGJC](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/jyiOt9MVCg460395d6mkHlrmK9ssfr8nQGJC.png)
O que nos levará à seguinte equação:
![bv3wucYBgHc3Zch115zMYjhH-zYe5VgwjMAH](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/bv3wucYBgHc3Zch115zMYjhH-zYe5VgwjMAH.png)
Se olharmos para o que temos, podemos ver que temos uma superfície 3D. Parece um vidro, que se eleva acentuadamente para cima.
Queremos encontrar M e B que minimizem a função. Faremos uma derivada parcial com respeito à M e uma derivada parcial com respeito à B.
Como estamos procurando um ponto mínimo, pegaremos as derivadas parciais e compararemos com 0.
![88voRjo799rIopVP8YjsHlNhrBSJ8REg26hY](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/88voRjo799rIopVP8YjsHlNhrBSJ8REg26hY.png)
![6t-4Uq4Y4GMGg9mYWPUUmHHsmaTvxuDPZCj3](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/6t-4Uq4Y4GMGg9mYWPUUmHHsmaTvxuDPZCj3.png)
Vamos pegar as duas equações que recebemos, isolando a variável b de ambas, e depois subtraindo a equação superior da equação inferior.
![-I3Ly2wOtJf9WiecfOjvFiY6U9DXB4PJBQ6t](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/-I3Ly2wOtJf9WiecfOjvFiY6U9DXB4PJBQ6t.png)
Vamos subtrair a primeira equação da segunda equação
![6WzsJxr0jSG8XPYz-F2dSmINqnexxJLxWsxi](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/6WzsJxr0jSG8XPYz-F2dSmINqnexxJLxWsxi.png)
Vamos nos livrar dos denominadores da equação.
![Ac05NR92faqptoFE35F2XFcKjllJhJPdwGnE](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Ac05NR92faqptoFE35F2XFcKjllJhJPdwGnE.png)
Pronto. Esta é a equação para encontrar M. Vamos pegar isso e escrever a equação B.
![pjxjeSICBJNckegf3WXCHtfrf7dyIxVfqbBB](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/pjxjeSICBJNckegf3WXCHtfrf7dyIxVfqbBB.png)
Equações para declive e interceptação de y
Vamos fornecer as equações matemáticas que nos ajudarão a encontrar o declive e a interceptação em y (texto em inglês) necessários.
![290zZ8roKAfKNCrfq1LN7QuTooJjbH19Isiv](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/290zZ8roKAfKNCrfq1LN7QuTooJjbH19Isiv.png)
Você, provavelmente, deve estar pensando: que raios são essas equações estranhas?
Elas são realmente simples de entender. Vamos falar um pouco sobre elas.
![KTFy4uhGXnGSrCoyInhSWfHH4VTEnAJyncpm](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/KTFy4uhGXnGSrCoyInhSWfHH4VTEnAJyncpm.png)
![lQSFx0h7KiRB0uOcriwpFrmhsev3kt4cCUU5](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/lQSFx0h7KiRB0uOcriwpFrmhsev3kt4cCUU5.png)
![LYZL8LPc8vyZ0wPV2J2sp-pXiuCzvslY8EAQ](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/LYZL8LPc8vyZ0wPV2J2sp-pXiuCzvslY8EAQ.png)
![0E27klUj208HeeecnRKR9Eokb2PmKfUNoO-O](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/0E27klUj208HeeecnRKR9Eokb2PmKfUNoO-O.png)
Agora que entendemos nossas equações, é hora de juntar tudo e mostrar alguns exemplos.
Exemplos
Um grande agradecimento à Khan Academy pelos exemplos.
Exemplo nº 1
Vamos pegar 3 pontos, (1,2), (2,1), (4,3).
![IudmVD0mo4BMYqPEjFyETchb5GGsDv5ikxwB](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/IudmVD0mo4BMYqPEjFyETchb5GGsDv5ikxwB.png)
Vamos encontrar M e B para a equação y=mx+b.
![KFDixcE4WidM6Pez8RNDwOgBorpnj1QuLw5S](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/KFDixcE4WidM6Pez8RNDwOgBorpnj1QuLw5S.png)
![Rqkh4dC9zZ11V4McMwJFspxv5UySTiI9Sv1L](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Rqkh4dC9zZ11V4McMwJFspxv5UySTiI9Sv1L.png)
![tkUVYMlF-9qDaK69dWj0bFy1ApEK4DHw05vK](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/tkUVYMlF-9qDaK69dWj0bFy1ApEK4DHw05vK.png)
![80W3OcjPxF9ek2HIjv0VYnwCEhpzURavMAlj](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/80W3OcjPxF9ek2HIjv0VYnwCEhpzURavMAlj.png)
Depois de termos calculado as partes relevantes para nossa equação de M e para a equação de B, vamos colocar esses valores dentro das equações e obter o declive e o ponto de interceptação do eixo y (texto em inglês).
![Hri9luC8oVUAgZLnLoDgey4X0T6LEZwIFMav](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Hri9luC8oVUAgZLnLoDgey4X0T6LEZwIFMav.png)
![H4Ss6UYBdSfJgx63lz93uXaubcE3-6e1niFS](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/H4Ss6UYBdSfJgx63lz93uXaubcE3-6e1niFS.png)
Vamos pegar esses resultados e colocá-los dentro da equação da linha y=mx+b.
![S9EESO6mBvglt1o--YlQZQFqhNGPg4we6Kju](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/S9EESO6mBvglt1o--YlQZQFqhNGPg4we6Kju.png)
Agora, vamos desenhar a linha e ver como ela passa através das linhas de tal forma que minimize as distâncias quadráticas.
![DlKy-Eekc0SdHpcOeQPGJobo7jYLfTh0pI8Q](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/DlKy-Eekc0SdHpcOeQPGJobo7jYLfTh0pI8Q.png)
Exemplo nº 2
Vamos pegar 4 pontos, (-2,-3), (-1,-1), (1,2), (4,3).
![MrlSNVYUJEh-4OcRGXEe3hbeU10wjTH-vmDB](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/MrlSNVYUJEh-4OcRGXEe3hbeU10wjTH-vmDB.png)
Vamos encontrar M e B para a equação y=mx+b.
![MqNv9HXhu7koehCq1WgBSH2Mje3VoHUM6Dsb](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/MqNv9HXhu7koehCq1WgBSH2Mje3VoHUM6Dsb.png)
![I8bZESRhxejhmNWbxMlusVlxfCgnrJPbn2En](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/I8bZESRhxejhmNWbxMlusVlxfCgnrJPbn2En.png)
![YwF2k-wP1YkSiPUoZZ5kV99p5xpS4VeBtlxP](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/YwF2k-wP1YkSiPUoZZ5kV99p5xpS4VeBtlxP.png)
![Sbo7-PaRePrfBM1sOME5du5GDQ-1r1ntdoD1](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/Sbo7-PaRePrfBM1sOME5du5GDQ-1r1ntdoD1.png)
Fazemos o mesmo que fizemos antes. Vamos colocar esses valores dentro das nossas equações para encontrar M e B.
![LUideJM-zrCgulLv83Gh08ySgcChQXY6BpxC](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/LUideJM-zrCgulLv83Gh08ySgcChQXY6BpxC.png)
![F9K53LF0Dp3kjIYYC3UJoLfGJqICCIhtqTMo](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/F9K53LF0Dp3kjIYYC3UJoLfGJqICCIhtqTMo.png)
Vamos pegar esses resultados e colocá-los dentro da equação da linha y=mx+b.
![0o5OFw2QwtBJYntrz4vRJn9ywrdsumLxH5rg](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/0o5OFw2QwtBJYntrz4vRJn9ywrdsumLxH5rg.png)
Agora, vamos desenhar a linha e ver como a linha passa através das linhas de tal forma que minimize as distâncias quadráticas.
![yAMNsNJmTBdZ2MKPbD8JX-es3d-5Oj4OIHRl](https://www.freecodecamp.org/portuguese/news/content/images/2022/11/yAMNsNJmTBdZ2MKPbD8JX-es3d-5Oj4OIHRl.png)
Em conclusão
Como você pode ver, toda a ideia é simples. Precisamos apenas entender as partes principais e como trabalhamos com elas.
Você pode trabalhar com as fórmulas para encontrar a linha em outro gráfico e fazer um cálculo simples e obter os resultados para o declive e o ponto de interceptação de y (texto em inglês).
Isso é tudo. Simples, não?
Todo comentário e todo feedback é bem-vindo – se for necessário, o autor ajustará o artigo. Fique à vontade para entrar em contato diretamente com o autor pelo LinkedIn.