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 tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Definindo o modelo
model = Sequential()
# Camada de entrada e primeira camada oculta
model.add(Dense(units=3, input_dim=6, activation='sigmoid'))
# Segunda camada oculta
model.add(Dense(units=3, activation='sigmoid'))
# Camada de saída
model.add(Dense(units=7, activation='sigmoid'))
# Compilando o modelo
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# Resumo do modelo
model.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 modelo
model.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