2013-01-05 12 views
6

Come si trova una regola di apprendimento ottimale per un determinato problema, ad esempio una classificazione di più categorie?Trovare una regola di apprendimento ottimale per un ANN

Stavo pensando di utilizzare Algoritmi genetici, ma so che ci sono problemi che riguardano le prestazioni. Sto cercando esempi del mondo reale in cui non hai usato le regole di apprendimento dei libri di testo e come hai trovato quelle regole di apprendimento.

risposta

9

Bella domanda BTW.

algoritmi di classificazione possono essere classificati utilizzando molti Caratteristiche come:

  1. Che cosa l'algoritmo fortemente preferiscono (o il tipo di dati che è più adatto per questo algoritmo).
  2. spese generali di addestramento. (ci vuole un sacco di tempo per essere addestrato)
  3. Quando è efficace. (dati di grandi dimensioni - dati medi - piccole quantità di dati).
  4. la complessità delle analisi che può fornire.

Pertanto, per il vostro problema classificazione più categorie userò linea di regressione logistica (da SGD) perché è perfetto con il piccolo per le dimensioni dei dati di medie (meno di decine di milioni di esempi di addestramento) e è molto veloce

Un altro esempio:

diciamo che si deve classificare una grande quantità di dati testo. poi Naive Bayes è il tuo bambino. perché preferisce fortemente l'analisi del testo. anche quello SVM e SGD sono più veloci, e come ho sperimentato più facile da addestrare. ma queste regole "SVM e SGD" possono essere applicate quando la dimensione dei dati è considerata come media o piccola e non di grandi dimensioni.

In generale qualsiasi persona di data mining gli chiederà di sé i quattro punti afomentioned quando vuole avviare qualsiasi ML o Semplice progetto mineraria.

Dopo di che si deve misurare la sua AUC, o qualsiasi rilevante, per vedere che cosa hai fatto. perché potresti utilizzare più di un solo classificatore in un progetto. o qualche volta quando pensi di aver trovato il tuo classificatore perfetto, i risultati sembrano non essere buoni usando alcune tecniche di misurazione. quindi inizierai a ricontrollare le tue domande per scoprire dove hai sbagliato.

Spero di aver aiutato.

5

Quando si immette un vettore x in rete, la rete fornirà un'uscita dipendente da tutti i pesi (vettore w). Ci sarebbe un errore tra l'output e la risposta vera. L'errore medio (e) è una funzione di w, diciamo e = F(w).Supponiamo di avere network-bidimensionale uno strato, poi l'immagine di F può apparire come segue:

enter image description here

Quando si parla di formazione, stiamo parlando di trovare il w che rende il minimo e . In un'altra parola, stiamo cercando il minimo di una funzione. Per addestrare è cercare.

Quindi, la domanda è come scegliere il metodo da cercare. Il mio suggerimento sarebbe: Dipende da come la superficie di F(w) assomiglia a. Più è vaga, più dovrebbe essere usato il metodo randomizzato, perché il metodo semplice basato sul gradiente discendente avrebbe maggiori possibilità di guidarti intrappolato da un minimo locale, quindi perdi la possibilità di trovare il minimo globale. Dall'altro lato, se la superficie di F(w) sembra un grande pozzo, allora dimentica l'algoritmo genetico. In questo caso, una semplice propagazione del dorso o qualsiasi cosa basata sulla discesa del gradiente sarebbe molto buona.

Si può chiedere che come posso sapere come la superficie assomiglia a? Questa è una capacità di esperienza. O potresti voler campionare a caso alcuni w e calcolare F(w) per ottenere una vista intuitiva della superficie.

Problemi correlati