Pergunta

Eu tenho um problema de classificação na minha mão, que eu gostaria de endereço com um algoritmo de aprendizado de máquina (Bayes, ou Markoviana provavelmente, a questão é independente sobre o classificador a ser utilizado). Dado um número de treinar casos, eu estou procurando uma maneira de medir o desempenho de um classificador implementado, com a tomada de dados overfitting problema em consideração.

Isto é: dado N [1..100] amostras de treinamento, se eu executar o algoritmo de treinamento em cada uma das amostras, e usar esse mesmo amostras para medir a aptidão, pode preso em um conjunto de dados overfitting problema -a classificador vai saber as respostas exatas para as instâncias de formação, sem ter muito poder preditivo, tornando os resultados de fitness inútil.

Uma solução óbvia seria que separa as amostras etiquetadas mão em formação, e amostras de teste; e eu gostaria de aprender sobre os métodos de seleção de amostras estatisticamente significativas para a formação.

White papers, ponteiros de livros e PDFs muito apreciada!

Foi útil?

Solução

Você pode usar 10 vezes Validação cruzada para isso. Eu acredito que é abordagem bastante normal para a avaliação de classificação desempenho do algoritmo.

A idéia básica é dividir suas amostras de aprendizagem em 10 subconjuntos. Em seguida, use um subconjunto de dados de teste e outros para os dados de trem. Repita esse procedimento para cada subconjunto e calcular o desempenho médio no final.

Outras dicas

Como o Sr. Brownstone disse 10 vezes Cross-validação é provavelmente o melhor caminho a percorrer. Eu tive recentemente para avaliar o desempenho de um número de diferentes classificadores para este eu usei Weka . Que tem uma API e uma carga de ferramentas que permitem que você facilmente testar o desempenho de lotes de diferentes classificadores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top