<jupyter_start><jupyter_text>Rede Neural Multicamadas (MPL)Uma rede MPL é uma classe de rede neural artificial *feedforward* (ANN). Um MLP consiste em pelo menos três camadas de nós: uma camada de entrada , uma camada oculta e uma camada de saída . Exceto para os nós de entrada, cada nó é um neurônio que usa uma função de ativação não linear . O MLP utiliza uma técnica de aprendizado supervisionado chamada *backpropagation* para treinamento. Implementando uma RNA multicamadasA imagem a seguir mostra a nossa rede, com as unidades de entrada marcadas como Input1, Input2 e Input3 (**Input Layer**) conectadas com os *nós* da camada oculta (**Hidden Layer**). Por sua vez as saída dos *nós* da camada oculda servem como entrada para os *nós*  da camada de saída (**Output Layer**).    Diagrama de uma MPL  Lembrando que em cada *nó* temos: $$f(h) = sigmoid(h)=\frac 1 {1+e^{-h}}$$  onde $$h = \frac 1n\sum_{i=1}^n(w_i*x_i)+b$$        Vamos implementar uma RNA de apenas um neurônio! Importando a biblioteca<jupyter_code>import numpy as np<jupyter_output><empty_output><jupyter_text>Função do cáculo da sigmóide<jupyter_code>def sigmoid(x):
    return 1/(1+np.exp(-x))<jupyter_output><empty_output><jupyter_text>Arquitetura da MPL<jupyter_code>N_input = 3
N_hidden = 4
N_output = 2<jupyter_output><empty_output><jupyter_text>Vetor dos valores de entrada<jupyter_code>X = np.array([1, 2, 3])<jupyter_output><empty_output><jupyter_text>Pesos da Camada Oculta<jupyter_code>weights_in_hidden = np.array([[0.2, 0.1, -.9],
                              [0.6, -0.8, 0.9])<jupyter_output><empty_output><jupyter_text>Pesos da Camada de Saída<jupyter_code>weights_hidden_out = None<jupyter_output><empty_output><jupyter_text>Passagem *forward* pela rede Camada oculta<jupyter_code>#Calcule a combinação linear de entradas e pesos sinápticos
hidden_layer_in = None

#Aplicado a função de ativação
hidden_layer_out = None<jupyter_output><empty_output><jupyter_text>Camada de Saída<jupyter_code>#Calcule a combinação linear de entradas e pesos sinápticos
output_layer_in = None

#Aplicado a função de ativação 
output_layer_out = None
print('As saídas da rede são',output_layer_out)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.09359382099045888, 'fraction_numerical': 0.011812812358019082, 'mean_word_length': 5.796296296296297, 'pattern_counts': {'":': 0, '<': 33, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '8', 'dir': 'jupyter-structured-clean-dedup', 'id': '37759', 'license': 'MIT', 'n_tokens_mistral': 851, 'n_tokens_neox': 824, 'n_words': 236, 'path': 'T-RNA/Tarefa-4/Tarefa4 - RNA MPL 4X3x2.ipynb', 'repo_name': 'EdTonatto/UFFS-2020.2-Inteligencia_Artificial', 'size': '2201'}