Aprendizagem de Máquina Avaliação de Paradigmas Alessandro L. Koerich Mestrado/Doutorado em Informática Pontifícia Universidade Católica do Paraná (PUCPR) Introdução Vimos anteriormente muitos algoritmos de aprendizagem A pergunta que sempre se faz é: Qual deles é o melhor? Pode existir uma preferência por aqueles de menor complexidade computacional, ou que levam em conta algum conhecimento a priori da forma dos dados, etc. Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 2 Introdução Entretanto, quando isso não importa... Existem razões para escolher um algoritmo em relação a outros? Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 3 Introdução Quando temos dois algoritmos que possuem a mesmo desempenho sobre um conjunto de exemplos de treinamento: Escolhemos sempre o mais simples, pois ele deve apresentar um desempenho melhor sobre um conjunto de exemplos de teste! Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 4 Introdução Entretanto, a maneira utilizada para avaliar o desempenho de algoritmos de aprendizagem é: Avaliar o erro (ou acerto) em exemplos fora do conjunto de exemplo de treinamento! Ou seja, sobre um Conjunto de Exemplos de Testes. Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 5 Avaliação de Desempenho Para que avaliar desempenho (generalização)? 1. Para verificar se o algoritmo possui um desempenho bom o suficiente para ser útil 2. Para comparar seu desempenho com o de outros algoritmos Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 6 Instabilidade Um algoritmo de aprendizagem pode ser considera instável se: uma pequena alteração nos dados de treinamento levar a classificadores significativamente diferentes e mudanças relativamente grandes na precisão Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 7 Método da Validação Cruzada Particionar aleatoriamente o conjunto de dados em três partes Passo 1: Define pelo menos três conjuntos disjuntos: 1. Conjunto de exemplos de treinamento 2. Conjunto de exemplos de validação 3. Conjunto de exemplos de teste Passo 2: Utiliza o Conjunto de Treinamento para fazer a aprendizagem do algoritmo. Utiliza o Conjunto de Validação para verificar a generalização do algoritmo (ajustar os parâmetros). Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 8 Método da Validação Cruzada Passo 3: Depois do algoritmo treinado, avalia sua generalização sobre o Conjunto de Testes. OBS 1: O Conjunto de Testes não pode ser utilizado para ajustar parâmetros! OBS 2: Cuidar com a distribuição de exemplos por classe que compõem os conjuntos. Probabilidades a priori diferentes! OBS 3: Método melhor adaptado a grandes conjuntos de dados. Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 9 Método da Validação Cruzada Como calcular o desempenho? 1. Taxa de acerto (%): Num. Exemplos Classif. Corretamente Num Total de Exemplos 2. Taxa de erro (%): Num. Exemplos Classif. Incorretamente Num Total de Exemplos Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 10 Método da Validação Cruzada Como calcular o desempenho médio e variância? 1. Treinar n vezes o algoritmo (diferentes parâmetros) 2. Avaliar os n algoritmos treinados (taxa de acerto) 3. Calcular a taxa de acerto média 4. Calcular a variância Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 11 Método Validação Cruzada n-Fold Chamado de n-fold cross validation É uma generalização do método validação cruzada Passo 1: O conjunto de dados de tamanho n (n exemplos) é dividido em m conjuntos disjuntos de tamanho n/m Passo 2: O algoritmo é treinado m vezes, cada vez com um conjunto diferente sendo deixado de fora para fazer a validação. Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 12 Método Validação Cruzada n-Fold Passo 3: O desempenho é estimado como sendo o erro médio ou taxa de acerto média sobre estes m conjuntos de validação. Também chamado de Leave-one-out Alessandro L. Koerich ([email protected]) Mestrado/Doutorado em Informática Aprendizagem de Máquina 13