Ao ler o site, muitas respostas sugerem que a validação cruzada deve ser feita em algoritmos de aprendizado de máquina. No entanto, ao ler o livro "Entendendo o aprendizado de máquina", vi um exercício que às vezes é melhor não usar a validação cruzada. Estou realmente confuso. Quando o algoritmo de treinamento em todos os dados é melhor que a validação cruzada? Isso acontece em conjuntos de dados reais?
Sejam k classes de hipóteses. Suponha que você está dado iid treinando exemplos e você gostaria de aprender a classe . Considere duas abordagens alternativas: m H = ∪ k i = 1 H i
Aprenda nos exemplos usando a regra do ERM
Divida os m exemplos em um conjunto de treinamento de tamanho um conjunto de validação de tamanho , para alguns . Em seguida, aplique a abordagem de seleção de modelo usando a validação. Ou seja, primeiro treine cada classe nos exemplos de treinamento usando a regra ERM em relação a , e sejam as hipóteses resultantes . Segundo, aplique a regra ERM com relação à classe finita { } nos exemplos de validação .α m α ∈ ( 0 , 1 ) H i ( 1 - α ) m H i h 1 , ... , h K h 1 , ... , h k α m
Descreva os cenários em que o primeiro método é melhor que o segundo e vice-versa.
Respostas:
Mensagens para levar para casa:
o exercício deve lhe ensinar que às vezes (dependendo do seu campo: frequentemente ou quase sempre) é melhor não fazer otimização / ajuste / seleção de modelo orientado a dados.
Também há situações em que a validação cruzada não é a melhor escolha entre as diferentes opções de validação , mas essas considerações não são relevantes no contexto de seu exercício aqui.
Infelizmente, o texto que você cita altera duas coisas entre a abordagem 1 e 2:
IMHO, validação cruzada e otimização orientada a dados são duas decisões totalmente diferentes (e amplamente independentes) na configuração de sua estratégia de modelagem. A única conexão é que você pode usar estimativas de validação cruzada como destino funcional para sua otimização. Porém, existem outros funcionais de destino prontos para serem usados e há outros usos de estimativas de validação cruzada (importante, você pode usá-las para verificar seu modelo, também conhecido como validação ou teste)
Infelizmente, a terminologia de aprendizado de máquina é atualmente uma bagunça que sugere falsas conexões / causas / dependências aqui.
Ao procurar a abordagem 3 (validação cruzada, não para otimização, mas para medir o desempenho do modelo), você encontrará a validação cruzada "decisão" versus o treinamento em todo o conjunto de dados como uma dicotomia falsa neste contexto: Ao usar a validação cruzada para medir o desempenho do classificador, o valor de mérito da validação cruzada é usado como estimativa para um modelo treinado em todo o conjunto de dados. Ou seja, a abordagem 3 inclui a abordagem 1.
Agora, vejamos a segunda decisão: otimização de modelo orientada a dados ou não. Este é o IMHO o ponto crucial aqui. E sim, há situações do mundo real em que não é melhor otimizar o modelo orientado a dados. A otimização do modelo orientado a dados tem um custo. Você pode pensar nisso desta maneira: a informação em seu conjunto de dados é usado para estimar não apenas op parâmetros / coeficientes do modelo, mas o que a otimização faz é estimar parâmetros adicionais, os chamados hiperparâmetros. Se você descrever o processo de ajuste e otimização / ajuste do modelo como uma pesquisa pelos parâmetros do modelo, essa otimização por hiperparâmetro significa que um espaço de pesquisa muito maior é considerado. Em outras palavras, na abordagem 1 (e 3), você restringe o espaço de pesquisa especificando esses hiperparâmetros. Seu conjunto de dados do mundo real pode ser grande o suficiente (contém informações suficientes) para permitir o encaixe nesse espaço de pesquisa restrito, mas não grande o suficiente para corrigir todos os parâmetros suficientemente bem no espaço de pesquisa maior das abordagens 2 (e 4).
De fato, no meu campo, muitas vezes tenho que lidar com conjuntos de dados muito pequenos para permitir pensar na otimização orientada a dados. Então, o que devo fazer: uso meu conhecimento de domínio sobre os dados e processos de geração de dados para decidir qual modelo combina bem com a natureza física dos dados e do aplicativo. E dentro desses, ainda tenho que restringir a complexidade do meu modelo.
fonte