Qual è il modo normale in cui gli algoritmi di apprendimento automatico sono integrati nei programmi normali?

4

Attualmente sto seguendo un corso di apprendimento automatico per divertimento, e il corso si concentra strongmente su Matlab / Octave per scrivere il codice. Una cosa menzionata nel corso è che, mentre Matlab / Octave sono ottimi per la prototipazione, vengono utilizzati molto raramente per gli algoritmi di produzione. Invece, quegli algoritmi sono tipicamente riscritti in C ++ / Python / etc., Usando le librerie appropriate, prima di raggiungere i clienti.

Giusto abbastanza; Ho capito. Ma ecco la mia domanda: è fatto per ragioni culturali, per ragioni tecniche, o perché non c'è davvero un linguaggio che fornisce fluidità Matlab / Octave, ma in una forma compilata che può essere collegata da C / C ++ / $MainstreamLanguage ? L'industria del gioco usa Lua per la logica di gioco perché è facile da incorporare e decisamente superiore per esprimere cose come l'intelligenza artificiale. Allo stesso modo, ci sono varianti Prolog per applicazioni pesanti per le regole, varianti Scheme per compilatori e così via.

Se esiste una lingua equivalente alla matrice, che cos'è? Se non c'è, perché questo campo è diverso?

    
posta Benjamin Pollack 03.10.2012 - 04:41
fonte

1 risposta

6

MATLAB tende a non trovare la sua strada nel codice di produzione per diversi motivi. Tra questi:

  • È proprietario
  • È vecchio e non è invecchiato bene come lingua
  • Era tradizionalmente difficile da incorporare in altre applicazioni

I punti 1 e 3 non sono così veri oggi, dato che abbiamo Octave e ci sono molti modi per interfacciare MATLAB con programmi esterni, ma questi sono ancora gli inconvenienti percepiti. Il punto 2 è sicuramente valido anche se oggi. MATLAB è grandioso quando quello che stai cercando di fare si scompone bene nelle operazioni con le matrici, ma quando parli di manipolazioni della struttura dei dati e di logica complicata, MATLAB inizia davvero a essere irritante e lento. OOP rimane un enorme dolore in MATLAB e per essere un linguaggio di ricerca, manca di molti dei costrutti che i ricercatori hanno imparato ad apprezzare, come le caratteristiche funzionali. Potrebbe essere più istruttivo chiedere perché la gente usa ancora MATLAB nonostante la sua crudeltà, e la risposta sarebbe la sintassi facile, l'IDE ben integrato, l'enorme numero di toolbox specifici per dominio disponibili sul mercato e il fatto che ancora assolutamente rocce per fare trame.

Ma nella mia esperienza, Python sta rapidamente soppiantando MATLAB nel mondo della ricerca. Come lingua, è molto più bello lavorare con. Numpy e SciPy sono in molti modi più moderni e avanzati della libreria di base di MATLAB, prontamente generalizzando le operazioni della matrice alla dimensionalità arbitraria. Ogni campo sembra avere i suoi evangelizzatori Python, lavorando sodo per creare pacchetti che corrispondono alla vasta libreria di strumenti di MATLAB. E Python ha l'enorme vantaggio di essere gratuito, facile da installare e facile da usare.

    
risposta data 03.10.2012 - 10:11
fonte

Leggi altre domande sui tag