Para continuar na linha da resposta de Deigo, a complexidade da amostra padrão limitada pela teoria da aprendizagem diz que, se você estiver satisfeito em encontrar um programa "aproximadamente correto", não precisará tentar muitos pontos. Digamos que estamos codificando programas em binário, de modo que existem apenas programas de comprimento d. Suponhamos também que existe uma certa distribuição ao longo exemplos de entrada . Talvez seu objetivo seja encontrar um programa que você esteja quase certo ("Provavelmente aproximadamente correto", como no modelo de aprendizado do Valiants PAC). Ou seja, você deseja executar um algoritmo que recolherá um pequeno número de amostras junto com e, com probabilidade pelo menos D x ~ D f ( x ) ( 1 - δ ) P f ( 1 - ε ) D2dDx∼Df(x)(1−δ)saída de algum programa que concorda com em, pelo menos, um fracção de entradas extraídas . Pf(1−ϵ)D
Simplesmente desenharemos exemplos e produziremos qualquer programa de comprimento que concorde com em todos os exemplos. (É garantido que existe uma vez que assumimos que tem complexidade Kolmogorov no máximo ) ...x ∼ D P ≤ d f f dmx∼DP≤dffd
Qual é a probabilidade de um programa que discordar de em mais de uma fração de exemplos ser consistente com os exemplos que selecionamos? É no máximo . Gostaríamos de considerar essa probabilidade no máximo para que possamos estabelecer uma união entre todos os programas e dizer que, com probabilidade pelo menos , nenhum programa "ruim" é consistente com nossos exemplos desenhados. Resolvendo, vemos que é suficiente pegar apenas
exemplos. (isto é, apenas linearmente muitos na complexidade de Kolmogorov def ϵ m ( 1 - ϵ ) m δ / 2 d 2 d 1 - δ m ≥ 1Pfϵm(1−ϵ)mδ/2d2d1−δf
m≥1ϵ(d+log1/δ)
f...)
BTW, argumentos como este podem ser usados para justificar "Navalha de Occam": dado um número fixo de observações, dentre todas as teorias que as explicam, você deve escolher aquela com menor complexidade de Kolmogorov, porque há a menor chance de sobreajuste.
Obviamente, se você quiser apenas verificar um único programa fixo dessa maneira, precisará apenas de exemplos de ...O(log(1/δ)/ϵ)