Posso utilizzare l'apprendimento automatico per lo screening dei dati sperimentali?

4

Sono un fisico sperimentale. Nella nostra ricerca, abbiamo i nostri dati sperimentali in una matrice 400 * 400 * 400 (asse x, y, z di uno spazio 3d), ogni voce è associata a un valore ("luminosità"). Ci aspettiamo che le voci più brillanti formeranno un percorso chiuso nello spazio 3d. Ma alcune parti del percorso sono sempre troppo scure per identificarle, inoltre ci sono dei rumori nello spazio (linee luminose casuali).

Il nostro algoritmo attuale genera punti seme casuali nello spazio, sono attratti dalla luminosità dei dati. Dopo un certo periodo di tempo, saranno intrappolati nel percorso. Se registriamo la posizione dei semi, possiamo ottenere il percorso. Il nostro attuale algoritmo fa un lavoro abbastanza buono mentre ho ancora bisogno di aggiungere manualmente quei punti relativamente scuri al percorso.

Non ho familiarità con l'apprendimento automatico, ma mi chiedo se possa essere utilizzato in questo caso? Ad esempio, è possibile che io dica al programma quali sono i punti dati sul percorso, il programma saprà come scegliere i punti dati per il percorso in futuro. O se c'è qualche altro metodo che possiamo usare? Grazie!

    
posta user3221852 22.01.2014 - 13:27
fonte

2 risposte

2

Non è solo una regressione su (x, y, z) ? Ma sembra una regressione piuttosto che una classificazione perché stai cercando di determinare un percorso - in altre parole, i valori (continui) di x, y, z vicino al percorso misurato, in base alle misurazioni iniziali della luminosità.

  • In alternativa, è possibile addestrare una rete neurale per identificare il percorso e produrre una stima di "fitness" basata sugli input (x, y, z) . Potrebbe essere necessario avere una rete neurale diversa per ciascun set di dati, tuttavia, se la forma del percorso è diversa ogni volta. (Penso che questa sarebbe solo una versione più generalizzata di fare una regressione matematica, però.)

  • Se potessi esprimere il percorso come una formula parametrizzata che segna una tupla (x, y, z) basata sulla vicinanza al percorso, potresti fare un Algoritmo Genetico per cercare lo spazio e indovinare e selezionare buoni valori per i parametri. In altre parole, l'Algoritmo Genetico potrebbe cercare parametri che ottimizzino la formula per il percorso.

Dalla tua descrizione, sembra che tu stia già quasi facendo un Algoritmo Genetico - selezionando un punto casuale e poi facendo un'ottimizzazione incrementale. Questa è l'idea di base, la differenza sarebbe nel metodo di ottimizzazione.

Ciascuna di queste tecniche ottimizza la risposta per ridurre al minimo l'effetto del rumore.

...

Dire "regressione" è ancora abbastanza ampio, perché ci sono molte variazioni sulla regressione (regressione lineare, regressione logistica, ecc.). Ecco una tabella di marcia dal sito di Python per gli scikit-learn che potrebbe darti una roadmap di tecniche che potrebbero funzionare per te:

link

(Si noti che qualcosa è accaduto qualche tempo fa, e l'intero campo dell'analisi statistica si è schiantato nel reame dell'intelligenza artificiale e creato la buzzword di Machine Learning. Quindi molte cose che sarebbero state solo "statistiche" o "analisi" "sono ora" machine learning "perché soddisfano i criteri di" miglioramento della qualità della risposta dato più tempo e dati ")

    
risposta data 28.03.2014 - 21:44
fonte
1

Sì, sembra che quello che vuoi fare sia l'apprendimento automatico di base. Spiacente, non posso ancora commentare.

Essenzialmente, devi essere in grado di (in futuro con dati reali) fare un buon lavoro di discriminazione tra i punti oscuri non effettivamente su un percorso e i punti scuri su un percorso. Quindi, devi addestrare un classificatore che discrimini tra percorso e non percorso.

Amon, ogni dato è (x, y, z, luminosità). Inoltre, ci sono punti l'uno intorno all'altra. Quindi un classificatore o un algoritmo di clustering [per definizione, apprendimento automatico] non guarderebbe solo la luminosità di un dato punto, ma ciò che gli altri punti stanno facendo attorno ad esso.

Le macchine vettoriali di supporto possono essere un buon classificatore per iniziare. Potrebbe essere necessario cercare in giro o chiedere nel proprio ufficio CS per materiale di risorse introduttivo. La difficoltà del tuo problema è tale che ritengo che tu sia più che capace di far funzionare un classificatore entro una settimana o due di lavoro su questo. Non conosco alcun tutorial online, in genere mi riferisco alle mie intro alle note di apprendimento automatico ogni volta che ho bisogno di un aggiornamento "semplice".

    
risposta data 27.01.2014 - 20:17
fonte

Leggi altre domande sui tag