2011-01-27 19 views
6

Sono nuovo di Machine learning ... Sto sviluppando uno strumento, in cui ho bisogno di prevedere il valore di una variabile in base alla combinazione di un numero di variabili .... L'implementazione deve essere in Java ...Apprendimento automatico di base

Plz help ...

Grazie ...

+6

È questo compito? – Hery

+0

no :) so che la mia domanda è molto astratta ... ho bisogno di un'idea per dare il via al mio lavoro ... – Rahim

+2

Consiglio vivamente di dare un'occhiata a Weka (http://www.cs.waikato.ac.nz/ml/weka /) - Ottimi strumenti di machine learning basati su Java – mikera

risposta

4

Se si vuole iniziare con qualcosa di semplice, si consideri un modello quasi lineare, come la regressione logistica o l'analisi discriminante lineare: sono facili da capire e c'è un codice per tutti su Internet. Considerate anche alcuni dei modelli neurali più semplici (single node) (perceptron, delta rule, ecc.): Sono molto facili da programmare. Se vuoi perseguire questo obiettivo, ti suggerisco di prendere un libro, come "Computer Systems That Learn", di Weiss e Kulikowski.

6

C'è un buon corso aperto di Stanford sull'apprendimento automatico con videoconferenze ecc.
Dai uno sguardo allo here.

1

suona come una regressione lineare multi variata farebbe il lavoro.

2

Mi piacerebbe anche iniziare con K-vicini-vicini - sono più semplici - e si può sperimentare con differenti data-preprocessings, distanza-misure, ecc Essi conducono anche a molto buona (anche se molto molto lento) previsioni .

2

Se la variabile da prevedere è continua, i modelli di regressione sono la chiave. Esistono molte tecniche di regressione, compresi i minimi quadrati, i modelli polinomiali, ANN e SVM. Ovviamente, ogni tecnica può avere la sua assunzione o i suoi parametri.

MATLAB è uno degli ambienti di elaborazione ben documentati. Vorrei consigliare di visitare la seguente pagina della documentazione MATLAB sulla regressione lineare: http://www.mathworks.com/help/stats/nonlinear-regression-1.html#btcgzas-1

Si può iniziare utilizzando un metodo di ricerca globale come gli algoritmi genetici gas da regolare i parametri di un dato modello di regressione polinomiale.

Per la previsione delle variabili discrete, i modelli di regressione elencati possono essere applicati anche in base a una soglia. Gli alberi decisionali possono essere una buona alternativa.

0

Prima di immergerti nel codice, dato che sei un principiante, ti suggerisco di leggere i fondamenti e ottenere una forte presa su questo. Non è necessario leggere una tesi di dottorato, ma almeno le terminologie di base in SVM, regressione logistica e reti neurali sarebbero utili. Vi è abbondanza di materiale su internet attraverso corsi di Stanford, Coursera e libri suggeriti in altre risposte.

Anche se c'è un codice pronto disponibile per l'utilizzo su Internet, il motivo per cui sto dicendo che è necessario leggere i fondamenti è perché in un tipico classificatore come SVM, Rete neurale o anche Regressione logistica, lì sono vari parametri che dovresti regolare per sintonizzarti, e senza una comprensione dei fondamenti, sarebbe difficile e confuso usare questi pacchetti. Ho sperimentato lo stesso quando ero un principiante.

Con una forte presa su come gestire un set di dati inclinato in SVM, come ottimizzare i parametri di una regressione logistica e anche come ridurre le dimensioni del set di dati, renderebbe l'implementazione più rapida ed efficiente - in questo modo puoi ottenere una maggiore precisione. Altrimenti, immergersi direttamente nel codice potrebbe farti tornare qui con alcune domande di base. Spero che questo sia stato utile!

2

Weka si adatta alle vostre necessità. Ha regressione ed è implementato in Java.

0

Se si tratta di un problema di regressione, suggerirei di iniziare con cose come la regressione logistica o lineare in Matlab. Ci sono biblioteche e puoi ottenere il codice tutto intorno per questo. In questo modo, prima prova e trova confrontando l'errore in-sample (dai dati che consideri per la produzione) e l'errore out-of-sample (per testare le tue previsioni rispetto ai dati che non sono stati considerati per effettuare tali previsioni) il numero e l'ordine di caratteristiche e quantità di dati di allenamento necessari. Se i dati di allenamento sono inferiori, usa meno funzioni o regolarizzazione. Se il numero e l'ordine delle caratteristiche sono molto grandi e difficili da determinare, passare a reti neutre o SVM (vedere, se esiste una libreria SVM per java) e quando si dispone di un sistema perfetto in Matlab, quindi distribuirlo in Java. Per quanto ho visto, i sistemi ML richiedono un bel po 'di messa a punto manuale prima che diventino idonei per l'uso pratico e gli ambienti come Matlab/Ocatve sono le migliori piattaforme per questa messa a punto.

Problemi correlati