Prévia do material em texto
ENGENHARIA DE SOFTWARE UNOPAR – Cidade Nome RA: PORTIFÓLIO – RELATÓRIO DE AULA PRÁTICA TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL Cidade/UF 2023 1 Nome RA: ATIVIDADE PRÁTICA TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL Trabalho apresentado à Universidade ANHANGUERA, como requisito parcial para a obtenção de média semestral nas disciplinas norteadoras do semestre letivo. Tutor (a): Jessica Fernandes Lopes Cidade/UF 2023 2 SUMÁRIO INTRODUÇÃO ........................................................................................................................ 3 DESENVOLVIMENTO ........................................................................................................... 4 ATIVIDADE PROPOSTA ........................................................................................................................ 4 RESULTADOS ....................................................................................................................................... 8 CONCLUSÃO ......................................................................................................................... 10 REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 11 3 INTRODUÇÃO Nesta aula prática de Técnicas de Inteligência Artificial, tivemos a oportunidade de explorar o software Weka e criar uma Rede Neural Perceptron de multicamadas para realizar previsões de outputs em um conjunto de dados chamado "diabetes.arff". O objetivo principal era entender como configurar e interpretar os resultados de um modelo de aprendizado de máquina usando uma ferramenta poderosa como o Weka. O Weka se mostrou uma ferramenta versátil, oferecendo uma coleção de algoritmos de aprendizado de máquina para várias tarefas de mineração de dados. Durante a atividade, conseguimos aprender como configurar o modelo, interpretar os resultados e comparar diferentes configurações de divisão de dados. 4 DESENVOLVIMENTO ATIVIDADE PROPOSTA Inicialmente, o software Weka foi iniciado e, no diretório de instalação correspondente, encontramos a pasta 'data', que contém alguns dados disponibilizados para utilização direta na aplicação. Na sequência, acessamos o arquivo 'diabetes.arff' e constatamos que essa base de dados possui nove atributos (colunas) com um total de 768 instâncias (linhas). Ao selecionar 'Visualizar Todos', tivemos a oportunidade de examinar a representação gráfica das variáveis presentes nesse conjunto de dados. Figura 1 - distribuição das variáveis da base de dados. Fonte: O autor (2023). Vale ressaltar que o propósito da atividade prática era realizar a implementação de uma Rede Neural Perceptron de múltiplas camadas em um conjunto de dados, com o objetivo de realizar previsões de saída por meio de classificação, além de comparar os resultados do modelo conforme a variação no tamanho dos conjuntos de teste e treinamento. Para atingir esse objetivo, seguimos os passos a seguir: 5 Clicamos no botão 'Classify' localizado no canto superior esquerdo da janela e, em seguida, escolhemos a opção 'Classifer'. No menu suspenso, optamos pela função 'MultilayerPercepton', que estava localizada na pasta 'function'. Em 'Test options', marcamos a caixa 'Use training set' e, em seguida, clicamos em 'Start'. Na janela denominada 'Classifier', selecionamos o nome 'MultilayerPerceptron'. Essa janela oferece diversas configurações que podem ser personalizadas em relação ao modelo de Rede Neural. Selecionamos a caixa de seleção 'GUI' e optamos pela opção 'True'. Após isso, clicamos em 'Ok'. Em seguida, executamos novamente o modelo ao clicar no botão 'Start', resultando na abertura de uma nova janela exibindo a seguinte imagem: Figura 2 – janela Neural Network. Fonte: O autor (2023). Na recém-aberta janela denominada 'Neural Network', clicamos em 'Iniciar' e, em seguida, no botão 'Aceitar'. No 'Saída do Classificador', como é mostrado na imagem a seguir, examinamos minuciosamente os resultados da tela 'Saída do Classificador', dando especial atenção aos valores de 'Root mean squared error' (erro quadrático médio) e da 'Matriz de Confusão'. 6 Figura 3 – Resultados da tela “Classifier Output”. Fonte: O autor (2023). Os dados de 'Root mean squared error' apresentaram o valor de 0.3815. Quanto à 'Matriz de Confusão', os seguintes resultados foram obtidos: | a | b | Classificado como 401 | 99 | a = testado_negativo 50 | 218 | b = testado_positivo Em seguida, procedemos à divisão dos dados de forma que 75% fossem destinados ao conjunto de teste e o restante ao conjunto de treinamento do modelo. Em 'Opções de Teste', selecionamos a alternativa 'Divisão por Porcentagem' e inserimos o valor 75 ao lado do símbolo '%'. Posteriormente, clicamos em 'Iniciar'. A janela 'Rede Neural' foi aberta novamente e clicamos em 'Iniciar' e, em seguida, em 'Aceitar' duas vezes nessa janela. A imagem a seguir ilustra o resultado desse processo, permitindo-nos comparar os valores de 'Root mean squared error' e 'Matriz de Confusão' com os do modelo anterior. 7 Figura 4 – nova janela Neural Network. Fonte: O autor (2023). Figura 5 – resultados finais. Fonte: O autor (2023). Como é evidenciado, os dados de 'Root mean squared error' revelam um valor de 0.4146. No que diz respeito à 'Matriz de Confusão', os resultados são os seguintes: 8 | a | b | Classificado como 114 | 16 | a = testado_negativo 28 | 34 | b = testado_positivo" RESULTADOS Na primeira execução, optamos por utilizar a opção 'Use training set', resultando em um valor de 'Root mean squared error' de 0.3815 e uma matriz de confusão que classificou 401 valores como 'tested_negative' e 218 valores como 'tested_positive'. Já na segunda execução, procedemos com a divisão dos dados, alocando 75% para teste e 25% para treinamento. Dessa vez, o 'Root mean squared error' foi calculado como 0.4146, e a matriz de confusão apresentou 114 valores classificados como 'tested_negative' e 34 valores como 'tested_positive'. Os valores de 'Root mean squared error' representam uma métrica que avalia o quão bem o modelo de rede neural se adapta aos dados de treinamento e teste. Em essência, ele nos fornece uma medida da discrepância entre os valores previstos pelo modelo e os valores reais, sendo que um valor menor indica um ajuste melhor do modelo aos dados. A 'Confusion Matrix', por sua vez, é uma ferramenta que nos permite analisar a relação entre as classes reais e as classes previstas pelo modelo. Ela desempenha um papel fundamental na avaliação do desempenho do modelo de classificação, ajudando a identificar os acertos e erros nas previsões. É importante destacar que as diferenças nos valores de 'Root mean squared error' e 'Confusion Matrix' entre os dois modelos podem ser atribuídas à variação no tamanho dos conjuntos de dados de teste e treinamento. Essa variação impacta diretamente na precisão das previsões do modelo, resultando em taxas diferentes de acertos e erros. 9 Além disso, é relevante ressaltar que a qualidade dos dados utilizados também influencia os resultados. Dados de baixa qualidade podem prejudicar o desempenho do modelo, independentemente do tamanho do conjunto de dados. Portanto, a avaliação cuidadosa dos resultados é essencial ao trabalhar com modelos de rede neural no Weka. Isso inclui testar o modelo em diferentes conjuntos de dados, ajustar parâmetros quando necessário e garantir que os dados de treinamento e teste sejam de alta qualidade para obter o melhor desempenhopossível. 10 CONCLUSÃO Concluímos com êxito a aula prática, onde exploramos o software Weka e criamos uma Rede Neural Perceptron de multicamadas para previsão de outputs. Foi interessante ver como a variação no tamanho dos dados de treinamento e teste pode impactar o desempenho do modelo. Ao analisar os resultados, incluindo a "Root mean squared error" e a "Confusion Matrix", pude avaliar como diferentes configurações de divisão de dados afetaram o desempenho do modelo. Isso proporcionou uma compreensão prática de como otimizar modelos de aprendizado de máquina para obter os melhores resultados. Como parte da entrega, fornecerei a imagem da Rede Neural Perceptron de multicamadas treinada e uma interpretação detalhada dos resultados ao aplicar o modelo à base de dados proposta. Espero que minha atividade demonstre um sólido entendimento das técnicas de inteligência artificial e sua aplicação prática no Weka. Estou ansioso para compartilhar meu trabalho com o professor e a turma. 11 REFERÊNCIAS BIBLIOGRÁFICAS MENOTTI, D. Data Mining with Open-Source Machine Learning Software in Java Introdução ao Weka. [s.l: s.n.]. Disponível em: <https://www.inf.ufpr.br/menotti/am-17/slides/ML-09weka.pdf>. Acesso em: 3 out. 2023. The Data Platform for AI. Disponível em: <https://www.weka.io/>. GRANATYR, J. Visualizar Rede Neural no Weka. Disponível em: <https://iaexpert.academy/2017/04/10/visualizar-rede-neural-no- weka/?doing_wp_cron=1696346793.8439190387725830078125>. Acesso em: 3 out. 2023. CAMARGO, M. Utilização de algoritmos de aprendizagem de máquina para predição de absorção de água nas carcaças de frango: aplicação de redes neurais artificiais. Utfpr.edu.br, 2021.