Perché con il classificatore Bayes otteniamo le migliori prestazioni possibili? Qual è la prova / spiegazione formale per questo?
Di solito, un set di dati è considerato costituito da campioni di una distribuzione che genera i tuoi dati. Quindi, si crea un modello predittivo a partire dai dati forniti: dato un esempio , si predice la classe \ hat {f} (x_i) , mentre la classe reale dell'esempio è f (x_i) .Dnxixif ( x i ) f ( x i )f^(xi)f(xi)
Tuttavia, in teoria, potresti decidere di non scegliere un particolare modello , ma piuttosto considerare tutti i possibili modelli contemporaneamente e combinarli in qualche modo in un unico grande modello .f^chosen f Ff^F^
Naturalmente, dati i dati, molti dei modelli più piccoli potrebbero essere abbastanza improbabili o inappropriati (ad esempio, i modelli che prevedono solo un valore del target, anche se ci sono più valori del target nel set di dati ).D
In ogni caso, si desidera prevedere il valore target di nuovi campioni, che vengono estratti dalla stessa distribuzione di s. Una buona misura delle prestazioni del tuo modello sarebbe
cioè la probabilità che tu preveda vero valore target per una campionata casualmente .xiee(model)=P[f(X)=model(X)],
X
Usando la formula di Bayes, puoi calcolare qual è la probabilità che un nuovo campione abbia un valore target , dati :xvD
P(v∣D)=∑f^P(v∣f^)P(f^∣D).
Bisogna sottolineare che
- di solito è o , poiché è una funzione deterministica di ,P(v∣f^)01f xf^x
- non di solito, ma quasi sempre, è impossibile stimare (ad eccezione dei casi banali di cui sopra),P(f^∣D)
- non di solito, ma quasi sempre, il numero di possibili modelli è troppo grande, per poter valutare la somma superiore.f^
Quindi, è molto difficile ottenere / stimare nella maggior parte dei casi.P(v∣D)
Passiamo ora al classificatore Optimal Bayes. Per una data , prevede il valore
Poiché questo è il valore più probabile tra tutti i possibili valori target , il classificatore Optimal Bayes massimizza la misura delle prestazioni .xv = argmax v Σ f P ( v | f ) P ( f | D ) .v^=argmaxv∑f^P(v∣f^)P(f^∣D).
ve(f^)
Poiché utilizziamo sempre il classificatore Bayes come benchmark per confrontare le prestazioni di tutti gli altri classificatori.
Probabilmente, usi la versione ingenua del classificatore Bayes. È facile da implementare, funziona abbastanza bene per la maggior parte del tempo, ma calcola solo una stima ingenua di .P(v∣D)