Phase 00 - Lesson 19

Raizes e Quadrados

This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.

Uma raiz e a virada da contagem de uma potencia. Uma raiz quadrada pergunta: que numero, multiplicado por ele mesmo, da isto?

Tipo: Aprender Linguagens: Python Pre-requisitos: Potencias e Expoentes (00-17) Tempo: ~35 minutos

Objetivos de Aprendizagem

  • Ler uma raiz quadrada como o inverso de elevar ao quadrado
  • Estimar sqrt(2) e saber que e cerca de 1.414
  • Conectar um expoente fracionario como 2^1.5 a uma raiz (e 2 x sqrt(2))
  • Calcular o comprimento de um vetor pequeno com a formula de Pitagoras

O Conceito

Na licao 00-16 voce conheceu a virada da contagem: toda operacao tem um inverso que a roda para tras. Uma raiz e o inverso de uma potencia.

Elevar ao quadrado e seu inverso

Elevar ao quadrado um numero e eleva-lo a potencia 2, que e multiplica-lo por ele mesmo:

3^2 = 3 x 3 = 9     "3 ao quadrado e 9"

A raiz quadrada roda isso para tras. Ela pergunta: "que numero, multiplicado por ele mesmo, da 9?"

sqrt(9) = 3     porque 3 x 3 = 9

O simbolo sqrt(x) (o sinal radical) significa "a raiz quadrada de x". Elevar ao quadrado e tirar a raiz se desfazem mutuamente, exatamente como + e -, ou x e /.

4^2 = 16    <-->    sqrt(16) = 4
5^2 = 25    <-->    sqrt(25) = 5

Nem toda raiz e um numero inteiro

sqrt(9) = 3 e limpo porque 9 e um quadrado perfeito. Mas o que e sqrt(2)? Nao ha numero inteiro que elevado ao quadrado de 2: 1 x 1 = 1 (pequeno demais) e 2 x 2 = 4 (grande demais). Entao sqrt(2) vive entre 1 e 2. Seu valor e:

sqrt(2) = 1.41421...   cerca de 1.414

Verifique: 1.414 x 1.414 = 1.9994, logo abaixo de 2. Este e um dos numeros mais comuns em todo o aprendizado de maquina.

Uma raiz e um expoente fracionario

Aqui esta a ponte de volta para a licao 00-17. Uma raiz quadrada e o mesmo que elevar a potencia 1/2:

sqrt(2) = 2^(1/2) = 2^0.5 = 1.414

Isso parece estranho, mas segue das regras dos expoentes: 2^0.5 x 2^0.5 = 2^(0.5+0.5) = 2^1 = 2, entao 2^0.5 e a coisa que elevada ao quadrado da 2, que e a raiz quadrada. Isso libera expoentes fracionarios em geral. Por exemplo:

2^1.5 = 2^1 x 2^0.5 = 2 x sqrt(2) = 2 x 1.414 = 2.83

Guarde 2^1.5 = 2 x sqrt(2) = 2.83. A licao chave do logaritmo (00-20) usa exatamente esse fato para explicar um numero que surpreende todo mundo.

Exemplo resolvido: o comprimento de um vetor

Um vetor com componentes 3 e 2 e uma seta que vai 3 para a direita e 2 para cima. Seu comprimento e encontrado com a ideia de Pitagoras: eleve cada componente ao quadrado, some, depois tire a raiz quadrada.

comprimento = sqrt(3^2 + 2^2) = sqrt(9 + 4) = sqrt(13) = 3.606

Observe a ordem das operacoes da licao 00-13: as potencias acontecem primeiro, depois a adicao dentro da raiz, depois a raiz por ultimo. Esse padrao sqrt(soma de quadrados) e como toda distancia e toda magnitude de vetor neste curso e calculada.

Pratica de memoria

Produza a resposta. Mais facil primeiro.

  1. sqrt(25) = ?
  2. sqrt(2) e cerca de ?
  3. sqrt(3^2 + 4^2) = ?

Respostas: 5; cerca de 1.414; 5 (sqrt(9+16) = sqrt(25) = 5).

Alerta de equivoco

A armadilha e ler sqrt(a + b) como sqrt(a) + sqrt(b). Eles nao sao iguais. sqrt(9 + 16) = sqrt(25) = 5, mas sqrt(9) + sqrt(16) = 3 + 4 = 7. A raiz se aplica a soma inteira de uma vez, depois que a adicao dentro e feita. O sinal radical age como um par invisivel de parenteses.

Construa

python phases/00-setup-and-tooling/19-roots-and-squares/code/roots.py

Por que isso importa para IA

Comprimento de vetor, distancia entre embeddings, a normalizacao dentro da atencao, o fator de escala 1/sqrt(d) em transformers, a raiz na normalizacao raiz-media-quadratica: todos eles sao raizes quadradas. O padrao sqrt(soma de quadrados) e a operacao geometrica mais comum no aprendizado profundo, e a visao de expoente fracionario (x^0.5) e o que permite a proxima licao explicar o numero "1.58-bit" com precisao.

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).