Prévia do material em texto
São José dos Campos 2023 ANTONIO CARLOS DE OLIVEIRA CRUZ JUNIOR ROTEIRO AULA PRÁTICA TÉCNICAS DE INTELIGÊNCIA ARTIFICIAL 1 Atividade proposta e resultados esperados. ........................................................ 2 2 Relatório dos Resultados. .................................................................................... 2 3 Imagens das Redes Neurais. ............................................................................... 5 4 Conclusões .......................................................................................................... 3 1 Atividade proposta e resultados esperados. I. Implementar uma Rede Neural Perceptron de multicamadas em uma base de dados no Weka. II. Prever, via Classificação, os outputs e comparar os resultados do modelo de acordo com a variação no tamanho dos dados de teste e treino. III. Entregar a imagem da Rede Neural Perceptron de multicamadas treinada que foi gerada pelo software Weka; IV. Entregar a interpretação/print dos resultados quando é aplicado o modelo à base de dados proposta. 2 Relatório dos Resultados. Seguindo o roteiro de procedimentos práticos, foi implementada uma Rede Neural Perceptron de multicamadas no Software Weka (v3.8.6) utilizando a base de dados diabetes.arff que é fornecida pelo próprio software. O roteiro pede duas situações: treinamento com 100% dos dados e treinamento com 25% dos dados (“divida os dados de tal forma que 75% sejam dados para teste”). No entanto, o passo a passo faz com que a divisão seja 75% para treino e 25% para teste (“digite 75 no campo ao lado do símbolo de ‘%’.”, esse campo indica a porcentagem de treino, não de teste). Portanto, foi decidido realizar o experimento e análise com 03 splits (treino/teste) diferentes (ao invés de apenas 02): 100/0, 75/25 e 25/75. Etapa com Split 100/0. Ao selecionar o “Test options” como “Use training set”, basicamente, a rede é treinada com 100% dos dados disponíveis e é testada com os mesmos dados utilizados para treino. Esse tipo de situação geralmente leva a resultados não muito confiáveis. Isso acontece pois a rede pode ter um “overfit” e saber responder muito bem com relação aos dados de treino, mas não ser capaz de generalizar para dados que não fazem parte do seu dataset de treino. A seguir será apresentado a imagem obtida do Software após treinamento da rede com o resumo/detalhes da rede treinada. Pode-se observar que essa seção avalia os dados de treino (“Evaluation on training set”) e há 768 instâncias (a quantidade total de instâncias desse dataset). Ele classificou corretamente 80.599% das instâncias e teve Root Mean Squared Error (RMSE) de 0.3815: a maior taxa de acerto dos três splits de dados e o menor RMSE, como esperado. No entanto, não é aconselhável esperar que esse comportamento se mantenha para dados não presentes no grupo de treino. Pode-se observar que na matriz de confusão há 401 verdadeiros positivos, 218 verdadeiros negativos e um total de 768 instâncias: (401 + 218) / 768 * 100 = 80.599%, que é a acurácia da rede. O Weka também apresenta o “Detailed Accuracy By Class”, que contém outras estatísticas, como Precisão e Recall, que podem ser calculadas a partir da matriz de confusão. 3 Figura 1 Saída do classificador para avaliação no conjunto de treinamento. Etapa com Split 75/25. Ao selecionar o “Test options” como “Percentage Split”, basicamente, a rede é treinada com a porcentagem dos dados informada no campo ao lado do símbolo ‘%’ e é testada com o restante dos dados, que não foram utilizados para treino. Nesse caso, foi digitado o valor “75” ao lado do símbolo ‘%’, que levou a 75% dos dados serem utilizados para treino e 25% para teste. Esse tipo de situação geralmente leva a resultados um pouco mais confiáveis, pois a rede será testada sobre um conjunto de dados que ela não viu antes. Nessa situação, o comportamento sobre os dados de teste é mais próximo do comportamento esperado para uma entrada qualquer não presente nos dados de treino. A seguir será apresentado a imagem obtida do Software após treinamento da rede com o resumo/detalhes da rede treinada. Pode-se observar que essa seção avalia os dados do grupo de teste (“Evaluation on test split”) e há 192 instâncias (25% dos dados totais do dataset). Ele classificou corretamente 77.0833% das instâncias e teve Root Mean Squared Error (RMSE) de 0.2902: a segunda maior taxa de acerto dos três splits de dados e a segunda menor RMSE, como esperado. Esse comportamento é esperado pois, quanto maior a quantidade de instâncias para treino, geralmente espera-se melhor capacidade de classificação. Também espera-se melhor capacidade de classificação sobre instâncias já vistas anteriormente (durante o treino, que é o caso da etapa com Split 100/0). Pode-se observar que na matriz de confusão há 114 verdadeiros positivos, 34 verdadeiros negativos e um total de 192 instâncias: (114 + 34) / 192 * 100 = 77.0833%, que é a acurácia da rede. Pode-se observar, também, que a maioria dos resultados no “Detailed Accuracy By Class” reduziram. Essa diminuição em performance pode ser explicada pelas duas situações já abordadas: redução da quantidade de dados de treino e teste sendo realizado em dados fora do conjunto de treino. Ambas situações tendem a reduzir a performance da rede, mas acabam 4 sendo necessárias para haver uma maior confiabilidade quando se trata de generalização e uso em aplicações reais. Figura 2 Saída do classificador para avaliação no conjunto de teste com split 75/25. Etapa com Split 25/75. O experimento anterior foi repetido selecionando o “Test options” como “Percentage Split” e digitando o valor “25” ao lado do símbolo ‘%’, que levou a 25% dos dados serem utilizados para treino e 75% para teste. Novamente, houve outra redução de performance da rede, pelos mesmo motivos já explicados anteriormente. Essa rede tem a menor acurácia e maior Root Mean Squared Error (RMSE). A seguir será apresentado a imagem obtida do Software após treinamento da rede com o resumo/detalhes da rede treinada. Pode-se observar que essa seção também avalia os dados do grupo de teste (“Evaluation on test split”) e há 576 instâncias (75% dos dados totais do dataset). Ele classificou corretamente 71.0069% das instâncias e teve RMSE de 0.2967: a menor taxa de acerto dos três splits de dados e o maior RMSE, como esperado. Pode-se observar que na matriz de confusão há 286 verdadeiros positivos, 123 verdadeiros negativos e um total de 576 instâncias: (286 + 123) / 576 * 100 = 71.0069%, que é a acurácia da rede. 5 Figura 3 Saída do classificador para avaliação no conjunto de teste com split 25/75. 3 Imagens das Redes Neurais. A seguir são apresentadas as imagens, geradas pelo software Weka, das redes neurais treinadas nesse projeto. Figura 4 Rede neural gerada pelo Software Weka antes do treinamento. 6 Figura 5 Rede neural gerada pelo Software Weka após o treinamento. 4 Conclusões O roteiro apresenta a seguinte checklist: ● Exploração do software Weka; ● Configuração e criação de um modelo de Rede Neural Perceptron; ● Interpretação dos resultados do modelo criado; ● Criação de um split de dados de treino e teste e avaliação do modelo. Todos os pontos foram da checklist abordados e completos, incluindo a atividade proposta e resultados esperados, apresentados na primeira seção (e presentes ao longo do roteiro). Em resumo, o Software Weka foi explorado com o objetivo de criar uma Rede Neural Perceptron de multicamadas para previsão de diferentes tipos de outputs e foi realizada interpretação correta dos resultadosdo modelo.