Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

UNIVERSIDADE DO NORTE DO PARANÁ(UNOPAR) 
Curso de Engenharia de Software 
 
 
 
Antonio Carlos Barreiros Neto 
 
 
 
 
 
 
 
 
 
 
ROTEIRO AULA PRÁTICA 2 
 
 
 
 
 
 
 
Descrição: 
Trabalho realizado para a disciplina de 
Fundamentos da Inteligência Artificial 
do 3° período Engenheria de Software. 
 
 
 
 
 
 
Itajubá 
2024 
Sumário 
1. Introdução ............................................................................................................................................... 3 
2. Objetivo .................................................................................................................................................... 4 
3. Resolução ................................................................................................................................................. 5 
 
1. Introdução 
As redes neurais artificiais representam uma das tecnologias mais inovadoras e promissoras no campo 
da inteligência artificial e aprendizado de máquina. Inspiradas no funcionamento do cérebro humano, 
essas redes são capazes de aprender padrões complexos a partir de grandes volumes de dados e realizar 
previsões ou classificações com alto grau de precisão. A compreensão e o desenvolvimento de uma rede 
neural envolvem o domínio de conceitos matemáticos e algoritmos de aprendizado, sendo a linguagem 
Python uma escolha popular entre pesquisadores e profissionais devido à sua simplicidade e a vasta 
disponibilidade de bibliotecas especializadas, como TensorFlow e PyTorch. 
Neste trabalho, será abordado o desenvolvimento de uma rede neural utilizando Python, desde os 
conceitos básicos até a implementação prática. Serão explorados temas fundamentais, como a estrutura 
das redes neurais, os processos de treinamento e validação, e as técnicas de ajuste de hiperparâmetros 
para otimizar a performance do modelo. 
2. Objetivo 
 
Implemente uma rede neural de uma camada utilizando a função de ativação sigmoide. O objetivo é 
treinar a rede para realizar a classificação binária. Você receberá uma matriz de entrada e uma matriz de 
saída desejada e deverá ajustar os pesos da rede (sinapse) através do processo de aprendizado 
supervisionado. 
 
• Importação das Bibliotecas Necessárias: 
Utilize a biblioteca NumPy para realizar operações matemáticas e manipulações de arrays. 
• Definição da Função Sigmoide: 
Implemente a função de ativação sigmoide que será utilizada tanto para a ativação quanto para 
a derivada no cálculo do gradiente. 
• Definição das Entradas e Saídas: 
Crie a matriz de entrada X e a matriz de saída y. 
• Inicialização dos Pesos: 
Inicialize os pesos da sinapse com valores aleatórios. 
• Treinamento da Rede Neural: 
Implemente o loop de treinamento que ajustará os pesos da sinapse. O treinamento deve ser 
executado por 10.000 iterações. 
• No loop de treinamento, execute os seguintes passos: 
Realize a propagação para frente calculando as saídas. 
Calcule o erro. 
Calcule o delta (ajuste dos pesos) utilizando a derivada da função sigmoide. 
Atualize os pesos da sinapse. 
 
 
3. Resolução 
 
• Implementando a Rede Neural 
Utilizando a biblioteca NumPy para manipulação matematica e arrays. 
• Definindo Função Sigmoide 
Implementado a função de ativação sigmoide e sua derivada, que são usadas para a 
propagação para frente e calculo do gradiente, respectivamente. 
• Definindo as Entradas e Saidas 
Definido as matrizes de entrada X e a matriz de saída desejada Y 
• Inicialização dos Pesos 
Iniciado os pesos da camada com valores aleatorios. 
• Treinamento da Rede Neural 
Implementado o loop de treinamento para ajustar os pesos. O treinamento foi realizado por 
10.000 interações. 
3.1. Explicação do Código 
Função Sigmoide e Derivada: 
sigmoid(x): Calcula a saída da função sigmoide. 
sigmoid_derivative(x): Calcula a derivada da função sigmoide, que é usada para ajustar os 
pesos durante o treinamento. 
 
Entradas e Saídas: 
 
X é a matriz de entrada. 
y é a matriz de saída desejada. 
Inicialização dos Pesos: 
Pesos são inicializados aleatoriamente entre -1 e 1. 
Treinamento: 
Para cada iteração, calculado a saída da rede, o erro, e ajustamos os pesos com base no erro 
e na derivada da sigmoide. 
Resultados: 
Após o treinamento, exibido os pesos finais e a saída da rede para as entradas fornecidas. 
Este código implementa uma rede neural básica com uma camada de saída e a função de 
ativação sigmoide, treinando-a para realizar a tarefa de classificação binária.

Mais conteúdos dessa disciplina