2011-11-03 14 views
9

Sto seguendo lo Stanford Machine Learning class con il prof. Andrew Ng e io vorremmo iniziare a implementare gli esempi in ruby.Algoritmi di apprendimento automatico in rubino

Ci sono quadri/gemme/librerie/codici esistenti là fuori che si avvicinano all'apprendimento automatico in rubino? Ho trovato alcune domande relative a questo e alcuni progetti, ma sembra essere piuttosto vecchio.

+1

bisogno di aiuto con l'intelligenza artificiale? http://area51.stackexchange.com/proposals/93481/artificial-intelligence – 6119

risposta

4

ho trovato questo bel succo:

Di seguito sono alcuni algoritmi biblioteche degne di nota che potrebbe (o non potrebbe) essere già elencati in quel gist:

  • AI4R

    http://www.ai4r.org/ - https://github.com/SergioFierens/ai4r

    AI4R è una raccolta di implementazioni di algoritmi rubino, che coprono diversi campi di intelligenza artificiale, e semplici esempi pratici che li utilizzano. Un parco giochi Ruby per i ricercatori di IA. Implementa:

    • algoritmi genetici

    • mappe auto-organizzata (SOM)

    • Reti Neurali: Perceptron a più strati con Backpropagation apprendimento, Hopfield rete.

    • classificatori
    • automatico (Machine Learning): ID3 (Decision Trees), PRISM (J. Cendrowska, 1987), Perceptron a più strati, Oner (AKA Una regola attributo, 1R), Zeròr, Hyperpipes, Naive Bayes, IB1 (D Aha, D. Kibler - 1991).

    • il clustering dei dati: K-means, bisettrice k-means, collegamento singolo, il collegamento completo, linkage media, ponderata legame media, il collegamento Centroid, linkage mediana, il metodo di collegamento di Ward, Diana (Analisi Divisive)

  • Kmeans-clusterer - Kmeans di clustering in Ruby:

    https://github.com/gbuesing/kmeans-clusterer

  • Kmeans clustering Un semplice gioiello Rubino per Kmeans parallelizzati il ​​clustering:

    https://github.com/vaneyckt/kmeans-clustering

  • tlearn-rb - biblioteca Recurrent Neural Network per Ruby:

    https://github.com/josephwilk/tlearn-rb


Se JRuby è una valida alternativa a Ruby per voi:


anche rilevanti: sembra che il lavoro sta per iniziare a costruire un'API tensorflow Rubino:

https://github.com/tensorflow/tensorflow/issues/50#issuecomment-216200945


UPDATE: il Risorse per l'apprendimento automatico in Ruby gist sopra ora sta iniziando a essere mantenuto come repository: https://github.com/arbox/machine-learning-with-ruby

8

Gli algoritmi stessi non sono specifici del linguaggio. Puoi implementarli usando qualsiasi lingua tu voglia. Per la massima efficienza vorrete utilizzare il calcolo basato su matrice/vettore.

Ruby ha uno Matrix class incorporato che è possibile utilizzare per implementare questi algoritmi. L'implementazione sarà molto simile a quella che usa Octave. Tutto ciò di cui hai bisogno per implementare autonomamente gli algoritmi è incluso nella libreria standard di base per 1.9+.

L'ottava viene utilizzato perché fornisce una libreria Matrix completa e semplice.

+1

Grazie per il collegamento alla classe matrix, penso che dovrò implementare personalmente gli algoritmi: P – fuzzyalej

+1

Stai guardando un algoritmo specifico. Posso scrivere un po 'di rubino. –

+0

@KassymDorsel Conoscete tutte le risorse per gli algoritmi Machine Learning/Matrix in Ruby (dato che lo avete menzionato, era solo curioso)? Gli algoritmi ML – rcd

Problemi correlati