Phase 00 - Lesson 22
Funcoes e Graficos
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
Uma funcao e uma maquina: alimente-a com um numero, receba um numero de volta. Um grafico e uma foto de todos os pares entrada-saida de uma vez.
Tipo: Aprender Linguagens: Python Pre-requisitos: Variaveis e Algebra (00-21) Tempo: ~40 minutos
Objetivos de Aprendizagem
- Ler
f(x)como "a saida da maquina f quando voce a alimenta com x" - Avaliar uma funcao em uma entrada dada
- Reconhecer as formas de tres funcoes por intuicao: linear, exponencial, sigmoide
- Conectar cada forma a uma quantidade real de IA (uma reta de taxa de aprendizado, decaimento exponencial, um portao sigmoide)
O Conceito
Uma funcao e uma maquina entrada-saida
Na licao 00-21 uma variavel era um desconhecido para resolver. Uma funcao e diferente: e uma regra que transforma qualquer entrada em uma saida. Escrevemos f(x), lido "f de x", significando "o valor que a maquina f produz quando alimentada com x".
f(x) = 2x + 1
Essa maquina dobra a entrada e adiciona 1. Alimente-a com numeros:
f(0) = 2(0) + 1 = 1
f(3) = 2(3) + 1 = 7
f(5) = 2(5) + 1 = 11
O x e um espaco que voce preenche. Todo o lado direito e apenas a aritmetica da ordem das operacoes da licao 00-13, avaliada no que voce colocar. Note que isto NAO e resolver para x; voce RECEBE x e calcula a saida.
Um grafico e uma foto da maquina
Se voce calcular f(x) para muitas entradas e plotar cada par (entrada, saida) como um ponto, os pontos formam uma forma. Essa forma e o grafico, e sua forma lhe diz instantaneamente como a maquina se comporta. Voce nao precisa desenha-lo perfeitamente; precisa reconhecer tres formas.
Forma 1: linear (uma reta)
f(x) = 2x + 1
Cada passo para a direita de 1 move a saida para cima pela mesma quantidade (aqui, 2). Mudanca constante da uma reta. O numero que multiplica x (o 2) e a inclinacao, chamada de coeficiente angular. Um "aquecimento" de taxa de aprendizado que sobe por uma quantidade fixa a cada passo e uma reta.
Forma 2: exponencial (uma curva que explode ou decai)
f(x) = 2^x
Esta e a licao de potencias (00-17) transformada em funcao. Cada passo para a direita nao adiciona uma quantidade fixa; ele MULTIPLICA por 2. Entao a saida dobra a cada passo: 1, 2, 4, 8, 16. A curva comeca plana e dispara para cima. Rode-a para tras com um sinal negativo e ela decai em direcao a zero:
f(x) = 2^(-x) -> 1, 0.5, 0.25, 0.125, ... (dividindo pela metade a cada passo)
Cronogramas de decaimento de taxa de aprendizado e a ponderacao exp(-x) em muitas formulas de IA tem esta forma.
Forma 3: sigmoide (um S que comprime qualquer coisa em 0 a 1)
sigmoide(x) = 1 / (1 + e^(-x))
Parece complicada, mas seu comportamento e simples: ela pega QUALQUER entrada, de um numero negativo enorme a um positivo enorme, e a comprime no intervalo entre 0 e 1. Entrada muito negativa da quase 0, muito positiva da quase 1, e sigmoide(0) = 0.5 fica exatamente no meio. A curva e uma letra S esticada. Esta e a classica forma de "portao" ou "probabilidade": ela transforma uma pontuacao bruta em algo que voce pode ler como "quao ligado, de 0 a 1". Neuronios, portoes de atencao e classificadores binarios todos a usam.
O resumo de uma linha das tres formas
linear: mudanca constante -> reta
exponencial: mudanca multiplicativa -> plana depois explosiva (ou decaindo)
sigmoide: comprimida -> curva em S, saida presa em 0..1
Pratica de memoria
Produza a resposta. Mais facil primeiro.
- Para
f(x) = 2x + 1, quanto ef(4)? - Para
g(x) = 2^x, quanto eg(3)? - Aproximadamente, quanto e
sigmoide(0), e por que?
Respostas: 9 (2x4+1); 8 (a escada de dobras, 2^3); 0.5, porque uma entrada 0 cai exatamente no meio do intervalo de 0 a 1.
Alerta de equivoco
A armadilha e confundir crescimento linear e exponencial. Uma reta ADICIONA a mesma quantidade a cada passo; um exponencial MULTIPLICA a cada passo. Eles parecem semelhantes perto do inicio, mas o exponencial deixa a reta muito para tras: em x = 10, a reta 2x e 20 enquanto 2^x e 1024. Quando alguem diz "cresce linearmente" versus "cresce exponencialmente", esse fator (50x aqui, e subindo) e toda a diferenca.
Construa
python phases/00-setup-and-tooling/22-functions-and-graphs/code/functions.py
Por que isso importa para IA
Modelos sao funcoes: uma rede e um enorme f(entradas) = saidas. Treinamento remodela essa funcao para se ajustar aos dados. As tres formas aqui estao em todo lugar: camadas lineares fazem Wx + b, cronogramas de taxa de aprendizado sobem e decaem, e a sigmoide (e sua prima softmax) transforma pontuacoes em probabilidades na saida de quase todo classificador. Reconhecer uma forma a partir de sua formula e como voce preve o que uma parte de um modelo vai fazer antes mesmo de roda-la.