Redes Neurais (3#)  - Perceptron

Photo by JJ Ying on Unsplash

Redes Neurais (3#) - Perceptron

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

  1. 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.