TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Projeto de redes neurais artificiais utilizando um MLP

Por:   •  20/3/2024  •  Trabalho acadêmico  •  1.697 Palavras (7 Páginas)  •  29 Visualizações

Página 1 de 7

Projeto de redes neurais artificiais utilizando um MLP

(Multilayer Perceptron) para classificação de sobreviventes do Titanic

Centro de Ciências Exatas e Tecnológicas – Universidade Estadual do Oeste do Paraná

(UNIOESTE)

R. Universitária, 1619 - Universitário, Cascavel - PR, 85819-110

Abstract. This paper describes a classification process with the purpose of predicting the survival - or not - of a certain person throughout the shipwreck of the transatlantic ship Titanic in 1912 using Multilayer Perceptron, a class of artificial neural networks.

Resumo. Este artigo descreve um processo de classificação com o objetivo de predizer a sobrevivência - ou não - de uma determinada pessoa ao naufrágio do navio transatlântico Titanic em 1912 utilizando Multilayer Perceptron, uma classe de redes neurais artificiais.

1. Introdução

As redes neurais são uma classe de modelos de aprendizado de máquina inspirados no funcionamento do cérebro humano. Elas são compostas por unidades interconectadas chamadas de neurônios artificiais, que são organizados em camadas. Cada camada recebe entradas, processa as informações e passa os resultados para a próxima camada até chegar à camada de saída. Neste processo, cada neurônio em uma camada recebe as saídas dos neurônios da camada anterior, realiza um cálculo ponderado dessas entradas e passa o resultado por uma função de ativação para gerar a

saída. As funções de ativação introduzem não-linearidades no modelo, permitindo que ele aprenda relações complexas nos dados.

Neste projeto, iremos fazer uso de redes neurais para classificar a sobrevivência de um passageiro ao naufrágio do Titanic, com base em suas características, condições financeiras, entre outros.

2. Problema

O problema consiste em um processo de classificação binária acerca da possibilidade ou não de sobrevivência de uma pessoa arbitrária ao naufrágio do Titanic, em 1912. A resolução, através de MLP, utilizando a biblioteca Keras para Python e segue as etapas essenciais à criação de um modelo desse tipo:

  • Especificação da arquitetura;
  • Compilação;
  • Ajuste;
  • Predição;

2.1. Arquitetura utilizada

É uma rede neural com três camadas: uma camada de entrada, uma camada oculta e uma camada de saída:

  • A camada de entrada tem 64 neurônios.
  • A camada oculta tem 32 neurônios com função de ativação ReLU.
  • A camada de saída tem 2 neurônios, correspondendo às duas classes de saída possíveis - sobreviveu ou não sobreviveu. É utilizada a função de ativação Softmax nesta camada para gerar uma distribuição de probabilidade sobre as classes.

Esta arquitetura é comumente usada para resolver problemas de classificação binária ou multiclasse.

Foi utilizado o otimizador Adam, sendo uma boa escolha para problemas de classificação, pois é rápido e eficiente, bem como a função de perda cruzada categórica é uma escolha interessante para problemas de classificação, dado que é uma medida precisa do erro entre as saídas do modelo e os rótulos de treinamento.

3. Métodos Utilizados

3.1. Multilayer Perceptron (MLP)

A MLP é uma classe de redes neurais artificiais que consiste em várias camadas de neurônios interconectados. Cada neurônio recebe entradas, processa essas informações e passa os resultados para a próxima camada até chegar à camada de saída. A MLP é amplamente utilizada em problemas de classificação e regressão.

3.2. Validação Cruzada

A Validação Cruzada é uma técnica importante para avaliar o desempenho de modelos de aprendizado de máquina. Nesse projeto, foi utilizada a técnica de Validação Cruzada com k-Folds, onde o conjunto de treinamento é dividido em k partes (ou "folds"). O modelo é treinado k vezes, cada vez utilizando k-1 folds como conjunto de treinamento e o fold restante como conjunto de validação. Isso permite uma avaliação mais robusta do desempenho do modelo em diferentes subconjuntos dos dados de treinamento

4. Algoritmo de treinamento utilizado

O algoritmo de treinamento utilizado foi o Gradiente Descendente Estocástico (SGD), uma técnica de otimização muito comum para redes neurais. O SGD atualiza os pesos da rede iterativamente, utilizando pequenos lotes aleatórios de dados para calcular os gradientes.

O modelo foi compilado com o otimizador Adam e a função de perda categórica de entropia cruzada, adequada para problemas de classificação. Durante o treinamento, foram utilizados callbacks para salvar o melhor modelo obtido em cada fold da Validação Cruzada, evitando overfitting e permitindo a utilização do melhor modelo para avaliação final.

Para resolver o problema de classificação da sobrevivência no Titanic, utilizamos uma rede neural do tipo feedforward, a arquitetura mais comum de redes neurais. A rede possui três camadas: a camada de entrada, uma camada oculta e a camada de saída.

5. Pré-processamento dos Dados

Antes do treinamento, os dados foram pré-processados para garantir que os neurônios nas camadas ocultas não dominassem o processo de aprendizado. Foi realizada a normalização dos dados, que consiste em subtrair a média dos dados e dividir pelo desvio padrão. Esse processo é importante para evitar que características com escalas muito diferentes tenham um impacto desproporcional no modelo.

6. Parâmetros utilizados na solução desenvolvida Camada de Entrada e variáveis de entrada:

A camada de entrada possui 11 neurônios, correspondendo às 11 variáveis de entrada - survived (sobreviveu), pclass (classe), age (idade), sibsp (siblings / partners - quantidade de irmãos / cônjuges a bordo do Titanic), parch (quantidade de pais / crianças a bordo do Titanic), fare (tarifa paga), male (homem), age_was_missing (idade faltando), embarked_from_cherbourg (embarcou de cherbourg), embarked_from_queenstown (embarcou de queenstown) e embarked_from_southampton (embarcou de southampton).

  • Camada Oculta:

Optamos por uma única camada oculta com 8 neurônios. A escolha do número de neurônios em camadas ocultas é um hiperparâmetro que pode ser ajustado para obter o melhor desempenho do modelo.

  • Camada de Saída e variáveis de saída:
  1. camada de saída possui 2 neurônios, correspondendo às duas classes de saída sobreviveu ou não sobreviveu.[pic 1]A saída da rede, correspondente a se o passageiro sobreviveu ou não sobreviveu, foi codificada utilizando a codificação one-hot, onde a classe de saída é representada como um vetor binário com 1 na posição correspondente à classe e 0 nas demais posições.
  • Função de Ativação:

Utilizamos a função de ativação ReLU (Rectified Linear Unit) para os neurônios das camadas ocultas, e a função de ativação Softmax para os neurônios da camada de saída. A função ReLU introduz não-linearidade na rede, permitindo que ela aprenda relações complexas nos dados. A função Softmax é aplicada na camada de saída para gerar uma distribuição de probabilidade sobre as classes.

...

Baixar como (para membros premium)  txt (11.4 Kb)   pdf (355.1 Kb)   docx (116.4 Kb)  
Continuar por mais 6 páginas »
Disponível apenas no TrabalhosGratuitos.com