Domanda

In un sistema di regole, o qualsiasi sistema di ragionamento che deduce fatti tramite forward-chaining regole di inferenza, come si dovrebbe potare rami "inutili"? Non sono sicuro di quello che la terminologia formale è, ma sto solo cercando di capire come le persone sono in grado di limitare il loro treno-di-pensiero quando ragionamento su problemi, mentre tutti ragionatore automatico che ho visto sembrano in grado di farlo.

Per esempio, in carta di John McCarthy un esempio per Natural comprensione del linguaggio e dei problemi aI solleva , egli descrive i potenziali problemi a ottenere un programma per rispondere in modo intelligente domande su un articolo del New York Times. Nella sezione 4, "La necessità di ragionamento non monotono", ha illustrato l'utilizzo di Razer di Occam per limitare l'inserimento di fatti quando ragionamento sulla storia. La storia del campione che usa è uno circa briganti che vittimizzano proprietario di un negozio di mobili.

Se un programma è stato chiesto di formare un "completamento minimale" della storia nel calcolo dei predicati, potrebbe essere necessario includere fatti non direttamente menzionati nella storia originale. Tuttavia, sarebbe anche bisogno di un certo modo di sapere quando per limitare la sua catena di deduzione, in modo da non includere i dettagli irrilevanti. Ad esempio, potrebbe voler includere il numero esatto di polizia coinvolti nel caso, che l'articolo omette, ma non si vuole includere il fatto che ogni agente di polizia ha una madre.

È stato utile?

Soluzione

buona domanda.

Dalla tua domanda penso che quello che si fa riferimento a come 'la potatura' è un passo modello di costruzione eseguiti ex ante - vale a dire, per limitare gli ingressi disponibili per l'algoritmo per la costruzione del modello. Il termine 'potatura' se usato in Machine Learning si riferisce a qualcosa di diverso - un ex post passo, dopo costruzione del modello e che opera sul modello stesso e non sugli ingressi disponibili. (Ci potrebbe essere un secondo significato nel dominio ML, per il termine 'potatura.' Di, ma non sono a conoscenza di esso.) In altre parole, la potatura è infatti letteralmente una tecnica per "limitare la sua catena di deduzioni", come lo metti, ma lo fa in modo ex post , per l'asportazione di componenti di un modello completo (di lavoro), e non limitando gli ingressi utilizzati per creare quel modello.

D'altra parte, isolando o limitare gli ingressi disponibili per il modello di costruzione - che è quello che penso si potrebbe avere avuto in mente - è davvero un tema chiave Machine Learning; è chiaramente un fattore responsabile della prestazione superiore di molti degli algoritmi più recenti ML - per esempio, Support Vector Machine (l'intuizione che sta alla base SVM è costruzione dell'iperpiano massimo margine da solo un piccolo sottoinsieme dei dati, cioè, i 'vettori di supporto'), e multi-Adaptive Spline di regressione (una tecnica di regressione in cui nessun tentativo di adattare i dati da "tracciare una sola curva continua attraverso di essa", invece, la sezione discreta dei dati sono idonei, uno per uno, utilizzando un'equazione lineare limitata per ciascuna porzione, cioè., i 'spline', quindi il passo predicato di partizionamento ottimale dei dati è ovviamente il nocciolo di questo algoritmo).

Quale problema è risolvere con la potatura?

Almeno w / R / T specifici algoritmi di ML ho effettivamente codificati e usati - Decision Trees, Marte e Reti Neurali - la potatura viene eseguita su un inizialmente over-fit modello (un modello che si adatta così strettamente che non è in grado di generalizzare (prevedere con precisione nuove istanze) dei dati di addestramento. in ciascun caso, la potatura comporta la rimozione nodi marginali (DT, NN) o termini dell'equazione di regressione (MARS) uno per uno.

In secondo luogo, Perché è necessaria la potatura / desiderabile?

Non è meglio impostare solo con precisione i criteri di convergenza / scissione? Che non sempre aiutare. La potatura funziona da "basso verso l'alto"; il modello è costruito dall'alto verso il basso, in modo da messa a punto del modello (per ottenere lo stesso beneficio come la potatura) elimina non solo uno o più nodi decisionali, ma anche i nodi figlio che (come il taglio di un albero più vicino al tronco). Quindi, eliminando un nodo marginale potrebbe anche eliminare uno o più forti nodi subordinato a quello nodo marginale - ma il modellatore non avrebbe mai saputo che a causa sua / la sua messa a punto eliminato creazione altro nodo in quel nodo marginale. lavori potatura dall'altra direzione -. dalle più subordinato (livello più basso) bambino nodi verso l'alto in direzione del nodo radice

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top