Neste tópico, vamos explorar o Perceptron.
Uma rede neural é composta de unidades chamadas neurônios ou perceptrons, que processam informações e ajustam seus pesos para realizar tarefas específicas, como classificação ou previsão. Elas são usadas em diversas aplicações, como reconhecimento de imagens, processamento de linguagem natural e previsão de séries temporais.
1. Perceptron
É o bloco básico de uma rede neural.
Um perceptron recebe entradas (dados), aplica pesos, adiciona um bias e passa o resultado por uma função de ativação.
A saída é uma decisão simples, como classificar uma entrada em 0 ou 1.
Fórmula matemática:
$$y = f(w_1x_1 + w_2x_2 + \dots + w_nx_n + b)$$
Onde:
$x_i$ são as entradas,
wi são os pesos,
b é o bias,
f é a função de ativação.
2. Funções de Ativação
Introduzem não linearidade ao modelo, permitindo que ele aprenda padrões complexos.
Exemplos comuns:
Sigmoid: Suaviza valores para o intervalo [0, 1].
ReLU (Rectified Linear Unit): Transforma valores negativos em zero.
Tanh: Suaviza valores para o intervalo [-1, 1].
3. Camadas de Redes Neurais
Camada de Entrada: Recebe os dados brutos.
Camadas Ocultas: Transformam os dados por meio de cálculos e funções de ativação.
Camada de Saída: Gera o resultado final.
A combinação de várias camadas forma redes neurais profundas (Deep Learning).
Diferença entre Redes Rasas e Profundas
Redes Rasas: Possuem poucas camadas, geralmente usadas para problemas simples.
Redes Profundas: Possuem várias camadas, permitindo aprender padrões mais complexos e detalhados nos dados.
Exercício Prático
Implementar um Perceptron em Python
Escreva um código que recebe entradas e classifica os dados como 0 ou 1.
Use pesos fixos e bias inicial para observar o funcionamento básico.