Para criar uma rede neural multicamadas ("MLP" - Multilayer Perceptron) usando a biblioteca Keras no Python, com 6 elementos de entrada, 3 neurônios em cada camada oculta e 7 neurônios na camada de saída, você pode seguir o exemplo abaixo.
Obs.: clicar aqui se você deseja saber como instalar TensorFlow e Keras no seu sistema.
Vamos usar a função de ativação sigmoidal em todas as camadas, exceto na camada de saída, onde também usaremos a sigmoidal para garantir que os valores de saída estejam entre 0 e 1.
Mais informações sobre Funções de Ativação, clicar aqui .
Aqui está o código:
ximport tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense# Definindo o modelomodel = Sequential()# Camada de entrada e primeira camada ocultamodel.add(Dense(units=3, input_dim=6, activation='sigmoid'))# Segunda camada ocultamodel.add(Dense(units=3, activation='sigmoid'))# Camada de saídamodel.add(Dense(units=7, activation='sigmoid'))# Compilando o modelomodel.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])# Resumo do modelomodel.summary()Importações:
tensorflow e keras são importados para criar e treinar a rede neural.Sequential é usado para criar um modelo sequencial, onde as camadas são adicionadas uma após a outra.Dense é usado para criar camadas totalmente conectadas.Definição do modelo:
model = Sequential(): Inicializa um modelo sequencial.model.add(Dense(units=3, input_dim=6, activation='sigmoid')): Adiciona a primeira camada oculta com 3 neurônios e 6 entradas. A função de ativação sigmoidal é usada.model.add(Dense(units=3, activation='sigmoid')): Adiciona a segunda camada oculta com 3 neurônios.model.add(Dense(units=7, activation='sigmoid')): Adiciona a camada de saída com 7Função de ativação sigmoidal:
Compilação do modelo:
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']): Compila o modelo com o otimizador adam, a função de perda binary_crossentropy (adequada para problemas de classificação binária) e a métrica de acurácia.Resumo do modelo:
model.summary(): Exibe um resumo da arquitetura da rede neural, mostrando o número de parâmetros em cada camada.Para treinar o modelo, você precisará de dados de treinamento e rótulos. Aqui está um exemplo de como você pode treinar o modelo:
xxxxxxxxxx# Dados de exemplo (6 características binárias)X_train = [[0, 1, 0, 1, 0, 1], [1, 0, 1, 0, 1, 0], [0, 0, 1, 1, 0, 0]]y_train = [[0, 1, 0, 1, 0, 1, 0], [1, 0, 1, 0, 1, 0, 1], [0, 0, 1, 1, 0, 0, 1]]# Treinando o modelomodel.fit(X_train, y_train, epochs=10, batch_size=1)X_train: Dados de treinamento com 6 características binárias.y_train: Rótulos de treinamento com 7 saídas esperadas.epochs=10: Número de épocas de treinamento.batch_size=1: Tamanho do lote para o treinamento.Este é um exemplo básico. Dependendo do seu problema, você pode precisar ajustar o número de épocas, o tamanho do lote, ou até mesmo a arquitetura da rede.
Segue para: Parte 2...
17/03/2025