LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[11] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteBerello » 25 gen 2011, 14:51

Forse è meglio se per ora lasci perdere il tuo progetto e ti dedichi a qualcosa che sia mirato solamente ad imparare i metodi di apprendimento. Poi con calma, dopo aver conosciuto le tecniche, ti dedicherai al tuo progetto.
Per quanto riguarda gli "Hidden Markov Models" durante il corso c'è solo qualche accenno, quindi poi l'applicazione al riconoscimento dei comandi vocali devi studiartela per conto tuo. Le reti neurali invece sono sufficientemente approfondite durante il corso.

Mi pare di capire che quello che hai intenzione di fare è:
-imparare bene un linguaggio di programmazione;
-imparare a scrivere driver usando questo linguaggio di programmazione;
-costruire una periferica elettronica da collegare al computer;
-imparare la teoria dell'apprendimento automatico (per poi sostenere l'orale durante la consegna del progetto);
-studiare per conto tuo l'applicazione degli "Hidden Markov Models" al riconoscimento dei comandi vocali e la loro integrazione con le reti neurali;
-imparare a gestire flussi audio (acquisizione dal microfono, codifica e interpretazione dei dati audio per poterli gestire) attraverso il linguaggio di programmazione che avrai scelto;
-preparare il progetto da portare all'esame.

Probabilmente ognuno di questi compiti, preso singolarmente ed escludendo gli ultimi 2, equivale al lavoro di un esame da 6 crediti se preparato bene. Il totale corrisponderebbe a circa 5 esami più gli ultimi 2 compiti: diciamo in tutto 6 esami.
E' un po' tanto! :mrgreen:

Secondo me è meglio se prima ti dedichi al singolo compito di imparare le tecniche di apprendimento.
Quindi per ora ti studi bene un linguaggio di programmazione (ad esempio C++), poi seguirai il corso e studierai la teoria. Limiterei il progetto a qualcosa di più semplice, senza aggiungerti la complicazione di periferiche non-standard. Già il riconoscimento di comandi vocali non è semplicissimo, però potresti provare a farlo: ma complicazioni aggiuntive non le metterei.

Estenderai poi per conto tuo il risultato.
Ora devo scappare! Tra un po' ho lezione! :mrgreen:

Avatar utente
Foto UtenteTONYSTARK
3.760 5 11 13
Expert EY
Expert EY
Messaggi: 2022
Iscritto il: 24 mag 2010, 21:00
Località: Roma
Contatta:
0
voti

[12] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteTONYSTARK » 25 gen 2011, 14:57

La tabella di marcia è esattamente quella che volevo seguire:

- studiare bene un linguaggio di programmazione;
-seguire il corso di apprendimento automatico;
-approfondire alcune applicazioni per mio conto.

il bello è che avendo un anno di tempo prima del corso posso imparare per bene un linguaggio e poi sostenere il corso per bene.
Per quello che riguarda l'interfaccia vocale quella si vedrà, è più una mia passione che una cosa per l'esame.

BUONA LEZIONE okts

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[13] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteBerello » 26 gen 2011, 20:38

Grazie! :mrgreen:

Mentre andavo a lezione, ho ripensato ad alcuni miei amici che hanno fatto l'esame prima di me e mi avevano detto che avevano realizzato il progetto in Matlab. A parte il fatto che hanno trovato già pronti molti algoritmi di apprendimento (già implementati nelle librerie di Matlab), hanno tratto grande vantaggio dal fatto che Matlab può creare automaticamente i grafici relativi all'apprendimento (che ti serviranno per documentare il progetto). E' utile, perché fa risparmiare un sacco di tempo (io li ho dovuti fare "a mano", facendo in modo che il codice salvasse su file le statistiche sul livello di apprendimento raggiunto dopo TOT tempo di apprendimento :mrgreen: ).

Quindi anche Matlab è un'opzione. Non trascurare anche la possibilità suggerita da angus: infatti se il professore ha accettato l'uso di Matlab (con librerie già pronte), non farà sicuramente storie se usi una versione di Python ottimizzata per l'apprendimento.

Avatar utente
Foto UtenteTONYSTARK
3.760 5 11 13
Expert EY
Expert EY
Messaggi: 2022
Iscritto il: 24 mag 2010, 21:00
Località: Roma
Contatta:
0
voti

[14] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteTONYSTARK » 26 gen 2011, 21:29

Il print dei grafici è implementato anche in Fortran e C.
Paradossalmente i miei amici hanno detto che la mia idea per il progetto è troppo semplice a confronto con il tuo riconoscitore facciale! parlo di una fisica programmatrice in c ed di un ragazzo di informatica.
Se si possono utilizzare le librerie già fatte credo che i punti di forza del linguaggio debbano essere la possibilità di interfaccia con l'hardware e la presenza di librerie pronte per il riconoscimento vocale.

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[15] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteBerello » 26 gen 2011, 22:11

TONYSTARK ha scritto:[...] interfaccia con l'hardware e la presenza di librerie pronte per il riconoscimento vocale.

Ah, giusto, non pensavo più all'interfaccia con l'hardware... Beh, allora Matlab è da scartare. :ok:

Per le librerie, non so suggerirti, ma mi aspetto che per C/C++ le trovi meno difficilmente, essendo questi due linguaggi diffusissimi.

Avatar utente
Foto UtenteTONYSTARK
3.760 5 11 13
Expert EY
Expert EY
Messaggi: 2022
Iscritto il: 24 mag 2010, 21:00
Località: Roma
Contatta:
0
voti

[16] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteTONYSTARK » 26 gen 2011, 22:15

Ricapitolando, il C++ è meglio del C perché indirizzato agli oggetti, il linguaggio c/c++ ha la possibilità di parti di programma in assembler... in somma la domanda è se il C# che dovrebbe essere l'evoluzione per il Framework .NET de C++, mantiene le caratteristiche mi butto su quello?

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[17] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteBerello » 26 gen 2011, 22:54

In realtà non so quanto C# possa andare a basso livello: essendo basato sul framework .NET, credo che non possa essere usato per realizzare driver e quindi non so quanto puoi "spingerti in basso" con la programmazione.

TONYSTARK ha scritto:[...] il linguaggio c/c++ [...]

Non so se fosse già chiaro, ma preciso che quando scrivo C/C++ intendo "il linguaggio C oppure il linguaggio C++", non un altro singolo linguaggio a sé stante! ;-)
Il motivo per cui scrivo così è che i programmi C sono un sottoinsieme dei programmi C++!
Cioè un linguaggio C può essere considerato un programma C++ che non fa uso di classi/oggetti.

Infatti C++ è stato realizzato prendendo il linguaggio C e ampliandolo con queste nuove funzionalità (programmazione ad oggetti). Non a caso il nome indica che si tratta di "C più qualcosina" (infatti l'operatore "++" in linguaggio C significa approssimativamente "aggiungi uno"; ad esempio, "var++;" è equivalente a "var = var + 1;").

Questo significa che con C++ puoi fare TUTTO quello che puoi fare con C, e hai anche qualche strumento in più per farlo.

Non so dirti quale sia meglio tra C e C++.



C, pro e contro:
  • C è un linguaggio bellissimo, insuperabile! E' veramente bello e ben progettato. LO AMO!!!!
  • Però è stato inventato quando la programmazione ad oggetti doveva ancora uscire allo scoperto, quindi non fa uso degli oggetti.

C++, pro e contro:
  • C++ mantiene la potenza del C (infatti, come ti ho detto, il codice è lo stesso con la possibilità di qualche aggiunta) e permette la creazione di oggetti.
  • Io non conosco il C++, ma diversi personaggi autorevoli del mondo dell'informatica (tra cui Linus Torvalds, il creatore di Linux) sostengono che questo linguaggio sia troppo confusionario: il loro parere è "meglio complicarsi la vita rinunciando agli oggetti, piuttosto che complicarsela avendo gli oggetti ma usando C++". A quanto pare il C++ finisce spesso per creare situazioni contorte e poco comprensibili (difficoltà nel rilevare gli errori e fatti simili difficilmente spiegabili).

Personalmente non ho mai approfondito la questione C++: ho visto diverse volte codice C++, a volte riusandolo per necessità, ma non posso dare una mia opinione al riguardo. Semplicemente mi fido di quei grandi dell'informatica, che hanno certamente più esperienza di me, e continuo a preferire il C (che è sicuramente un capolavoro di linguaggio).

Per lo scopo di questo progetto può far molto comodo usare gli oggetti, quindi probabilmente C++ sarà meglio. In ogni caso per imparare C++ devi prima imparare C! :D

Se comunque scopri che con C# riesci a fare i driver per la tua periferica, allora si, buttati pure su quello. Però, dovendo comunque imparare da 0, io continuerei a preferire C/C++, visto che sono più o meno universali! (C# non lo è altrettanto)
E poi, una volta imparato il C, credo che ci metti ben poco ad apprendere anche il C#.

Mamma mia, in questo periodo sono diventato logorroico... :(

Ah, a proposito, volevo aggiungere che, per motivi universitari, sto pian piano approfondendo l'argomento "speech recognition" e similari, quindi se farai il progetto l'anno prossimo, avrò sicuramente materiale per spunti e suggerimenti! ;-)

Avatar utente
Foto UtenteTONYSTARK
3.760 5 11 13
Expert EY
Expert EY
Messaggi: 2022
Iscritto il: 24 mag 2010, 21:00
Località: Roma
Contatta:
0
voti

[18] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteTONYSTARK » 26 gen 2011, 23:21

Non sei affatto logorroico, anzi chiaro ed esplicativo. direi allora di gettarmi nel C visto che una mia cara amica a fisica ci lavora su.
Per il fatto dello speech recognition, credo che hai vinto una numerosa serie di post rompi scatole da parte mia! ancora mille grazie e se hai sviluppi o suggerimenti posta tutto

Avatar utente
Foto UtenteBerello
110 1 3 7
Expert EY
Expert EY
Messaggi: 449
Iscritto il: 3 mar 2009, 22:53
Località: Roma
0
voti

[19] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteBerello » 26 gen 2011, 23:54

In bocca al lupo! ;-)

E anche mentre impari il C puoi sempre chiedere a me! Risponderò volentieri! ;-)
Se vuoi comprare un libro sul C per impararlo, io ho trovato il Kernighan & Ritchie (che sono i creatori del C in persona!), intitolato "Il linguaggio C", che, pur essendo la prima edizione risalente al '78, è (secondo me) un ottimo libro, che fa capire i dettagli fondamentali del C.

Avatar utente
Foto UtenteTONYSTARK
3.760 5 11 13
Expert EY
Expert EY
Messaggi: 2022
Iscritto il: 24 mag 2010, 21:00
Località: Roma
Contatta:
0
voti

[20] Re: LINGUAGGIO PER L'APPRENDIMENTO AUTOMATICO

Messaggioda Foto UtenteTONYSTARK » 27 gen 2011, 0:06

perfetto farò del mio meglio, di strada ne devo fare tanta, ma partire bene è già un ottima cosa, grazie dell'aiuto


Torna a “Programmi applicativi: simulatori, CAD ed altro”