Machine learning
Secondo la definizione di A. Samuel (1959), Machine Learning è il campo di studi che dona ai computer l'abilità di imparare senza essere esplicitamente programmati per farlo. È quindi un'area fondamentale dell'AI e riguarda lo sviluppo di sistemi e algoritmi che sfruttano le informazioni raccolte.
Secondo T. Mitchell (1998) invece un programma impara da un’esperienza E rispetto a un argomento T e una performance P, se la performance P misurata su T migliora con l'esperienza E.
Esempio spam
Prendiamo in considerazione lo spam. In tal caso:
- ⇒ T (Task) classificare le email come spam o non-spam
- ⇒ E (Experience) Notare quali email sono marcate come spam dall'utente
- ⇒ P (Performance) Il numero di email correttamente classificate come spam/non-spam
Un esempio pratico di machine Learning è lo spam: si richiede al computer di imparare automaticamente a riconoscere le mail di spam, senza l'intervento umano, creando un modello decisionale. Un altro esempio di Machine Learning è l'assistente vocale, che preleva i dati in input, li trasforma in vettoriale (binari) per poi inviarlo alla macchina. O ancora il riconoscimento facciale, che dato un insieme di dati riesce a strutturarli.
Applicazioni
Possiamo ritrovare il Machine Learning in vari ambiti:
- Es. riconoscimento scrittura a mano, Natural Language Processing. Applicazioni che non sono programmabili a mano, da un essere umano.
- Es. Web click data, Database Mining, ovvero l'estrazione di dati utili da grandi dataset. Registrazioni mediche.
- Programmi Self customizing, ovvero che in base alle preferenze dell'utente riescono a consigliare determinati contenuti. Bisogna tenere presente che esiste un'incredibile varietà di utenti e, es. Netflix, Amazon, sarebbe impensabile per un essere umano consigliare contenuti per ognuno di essi.
Il Machine Learning può essere suddiviso in tre categorie:
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
Supervised learning
Il Supervised Learning consiste nella creazione di un modello sulla base dei dati in entrata provenienti dai dataset. Si chiamano in tal modo poiché le tecnologie supervised utilizzano dataset in cui la risposta è data.
Dal supervised learning si possono creare modelli:
- Lineari, se l'andamento è crescente
- Non lineari, se non seguono una linea retta, ma seguono un andamento a curva (sono più precisi, ma richiedono più risorse).
Gli algoritmi di supervised Learning possono essere:
- Regressione, se in base ai valori in input forniti (detti dataset annotati poiché contengono informazioni di risposta utilizzabili) si riesce a predire il valore in output e questi è un valore continuo. Questo tipo di algoritmi restituiscono un valore reale a ogni input ricevuto. Es. Riconoscimento spam.
- Classificazione, se in base ai dati in input si può creare un modello che permette di dare una risposta positiva o negativa (booleano). Es. Riconoscimento volto.
In questo secondo caso si possono usare simboli diversi invece che colori diversi: la notazione cambia, ma il significato rimane lo stesso. Spesso le classi sono individuate con notazioni diverse poiché possono esserci enormi quantità di dati in input. È possibile inoltre avere più caratteristiche che consentono di distinguere varie classi: in questi casi si rende necessario definire una linea di separazione (decision boundary) che separi le classi. Una volta trovata, qualsiasi nuovo esempio ci permette di sapere in quale delle due classi rientra, dato che avremo fermato due gruppi in cui i componenti sono similari.
Un algoritmo supervised learning impara dai dati che gli sono dati in input. Può capitare però che se questi non sono esaustivi, che il sistema entri in conflitto e che sia necessaria una revisione (es. cigno nero non riconosciuto, poiché generalmente il cigno è bianco). L'insieme di esempi disponibili generalmente è partizionato in:
- Training set, costituito da una parte degli esempi disponibili e vantaggioso per imparare le ipotesi (per imparare).
- Test set, costituito dalla parte rimanente degli esempi disponibili e vantaggioso per valutare quanto siano accurate le ipotesi imparate (valuta il sistema del training set).
Chiaramente il successo dipende direttamente dal criterio di partizionamento. Il training set dovrebbe essere ben bilanciato e sparso su tutti i possibili casi del fenomeno analizzato, altrimenti ci sarebbe il rischio di un apprendimento parziale (es. cigno nero). Questa situazione viene detta overfitting.
Unsupervised learning
Nei problemi unsupervised i dati non hanno etichette, quindi i dati non sono strutturabili secondo una distinzione. Un algoritmo non supervisionato potrebbe decidere che queste informazioni vivono in due diversi gruppi (Clustering Algorithm).
I clustering algorithm possono essere utilizzati in diversi campi. Tanto per citarne uno, Google News analizza ogni giorno migliaia e migliaia di nuove storie e le raggruppa nelle storie correlate. Le notizie non sono classificate, ma sono simili per argomento, data, corriere, scrittore ecc. Il sistema non sa riconoscere l'argomento del testo, ma nota che la News1 e la News2 sono vicine (simili) e quindi correlate.
Per suddividere in qualche modo i dati si può segmentare il mercato secondo diversi fattori o tramite analisi dei social network. Questo tipo di apprendimento si dice unsupervised perché i dati in input non sono annotati con la risposta.
Reinforcement learning
Con il reinforcement Learning i risultati sono valutati e il consolidamento è applicato (feedback) e può essere positivo (nel caso in cui i risultati siano corretti) o negativo (se i risultati sono incorretti). Le macchine imparano quindi sbagliando. Per esempio, avendo una macchina che ha il compito di raccogliere oggetti, questa imparerà dove saranno gli oggetti sbagliando posizione: se fa una mossa e non preleva nessun oggetto, capisce che deve spostarsi e non controllare più quella zona.
In pratica a partire da un'AZIONE, si diramano due scelte: il SUCCESSO e il FALLIMENTO. Se si verifica quest'ultimo, avviene un cambiamento apportato dall'esperienza e si ritenta.
Linear regression
X Dato Y identifichiamo un dataset con G dati Ml addestrare di im di un modello per f numero examples training f dataset c idel dataset x.gl training example riga m m Xigi i Y della valori example resina esimo training riga del dataset linear di.
La Training determinare permette regression lineare retta modello di ingrato un valore ogni valore di associare un y.
Learning algorithm
Hgkt0otq.tn NortE Target HYPOTHESIS MODEL tf si Il4 LL per x convenzione ALTEZZA INCLINAZIONE a trovare come Esempio hdxt.ttgsoiohohof stai faa a tea 1.
L'idea QQ è di set quella il Rischio di n.rs fedelmente scegliere seguendo overtaking training μ il ha tale che alla in modo più si e sistema avvicini minima narrazione intit del IX andrà possibile training example ay y elementi numero nel Poltronarli costori corresi alla dataset.
Funzione di costo
Funzione di JIEIleo gifdicasterror Gsquared function Ìn permette ho.lici si discosta matematicamente quanto capire dalla soluzione ottimale valore risposta calcoli 2 per funzione delle ale che darebbe di coste computazionali set corretta.
Esempio essere training parametri hifi più modello ipotesi μ X di fedele errore per margine ogni esempio X toonatio errori ogni somma degli per medio terrore esempi sulle.
Intuizioni di costo funzioni semplificazioni held hagateau a Ipotesi QQ Parametri e yiIJlQl yiI519,91 di Funzione costo lhdH lhdxYIM lqnHead HatGoal e Esempio ho eq.li di della Grafico costo funzione112 e ii33 noi.sn xa Hit lhdd.si Il e'una della di modello costa funzione1 alta dati deiascenda parabola t.gl sjls jlzzjtl3 glad etesio una garantisce però ha vannino funzione convessa sempre opolonio QiaY Itae 0hadb ho0,5 0.580.50 2.35651 ftp.ifeng.s.jp0.581 2.250.25 se6.
Due avessimo parametri il della Y grafico di funzione holdGEO costo sarebbe c oh ho.IQ eatenQIII b2.3491 funzione convessa. Le coppie di Delta che forniscono lo stesso costo sono rappresentate da un ellisse.
Gradient descent algorithm
GRADIENT Goa'sima Gea azeroo Prendere uguali randomici GD gola dae Continuare modo un algoritmo a cambiare generale in minimizzare la fleela G iterazione di di funzione costo minimizzare funzione per la ilaoG. L'iterazione termina trova costo avendo si funzione minimo quando Gdf di trovare jloo.eepermette è derivabile solo se.
Si diminuisce la funzione di costo cambiando i parametri, guardandosi attorno nella speranza di trovare il minimo globale (nelle funzioni convesse). Procedendo alla cieca, si rischia però di trovare un minimo locale, non globale.
Diga con Updatesimultanea Algoritmo 0 until Qdj.IQrepeat converge IIII0 1for9 and aafghana oG è tempo ai tempi derivata della funzione variabili delle pendenza. L'aggiornamento rate è altrimenti simultanea temporanee learning 0 si cambiare cardaticisi a andrebbe quanto sposta del incoerenti lunghezza passo L 0.
Intuizioni Q Qa astai stai afq s.iqafqs.iq Noto Noto caso ed ese se fà fà2 a0 70a a allora allora2 ala destra si ela funzioresisposta casi sinistra sposta funzione aL9 9.
Nella c È formula a sentono L il carretto permette1 tanti c piccoli passi delle Slow diminuisce iterazioni.
Convergence e overshooting
CONVERGENCE la si ottiene quando convergenza la i di nell'arco un'iterazione incesti eiirischia odi oltrepassarlo del tutto evitarlo OVERSHOOTING Errorcast Function squared JAG calcolo derivate xigi4 aGtadi Noo a rispetto yaaj.fm derapata Gigida 1Go dj atsei I taxi gieim yiri rispetto Q.PetQxididerivata If yit.siT aol.qxiIla1sei InGDR.
Riassumendo l'algoritmo until repeat convergence yj.tohdiyG a mt ornati Èea ho ym i. Per il G sicuri da funzioni che essere correttamente 510 iterazione dovrebbe decrescere a ogni a deve non troppo grande essere né iterazioni troppo piccolo 19 del DAG.
Andamento corretto Il descent può minimolo cale un gradient a convergere.
Linear regression multiple with features
Dato un dataset con i identifichiamo i ho Gotdi features n features numero μ È e'xdella I input features esima riga hp con alla valore della feature jesina esimariga fetenti ha11 t it feature del non dim dataset righe numero linea 1 informa.
Ogni ne coefficiente ci Regression Qntha Got della feature Hp nin dell'importanza go.fr Parametri in yi519 di G Cheli costo funzione IlanGoal n μG repeatsDA il È.to9 atai ii sina.aneoa.gr.
Le otilizzare misure diverse feature possono 110. Le si etichette non 0 Marees numeriche identificano lo con una 0 notazione posizionale 1 Montagna Io il collina ofeature.
Avendo più potrebbero queste In diversi casi avere2am questi S iecal Tramite minimo normalizzazione la un andamento funzione assume JI ledi XD dise circolare in morfologia morfologia allahanno normalizzazione diverse feature seguito grandezze alalarduo arrivare minimo più arrivare minimo semplice come.
Feature scaling
Normalizzare xi.si È il Feature valore size dividere tutti 2000mio es gli oper Scaling odalla 5del floors assunto 1massimo sirange 6 5esimaJ feature tra lei approssimativamente dal1.
Mean normalization
Prelevare dataset feature Mean Average xi ogni mi dei set Normalization è la Porre media nel valori2 deve traslazione miXi mi training è ti lo che di standard misura deviation quanto dati i dalla siano scala media dispersi riduzione co e ini μ la dati bassa i vicini.
FORMULA se sono media standard alla121 Al può la adeviatione È_N 1 alta lontani dati i essere se sono dalla media dem distanza dalla media punto.
Polynomial regression
Se i dati hanno distribuzione i dati Inodelli lineari non ricalcano fedelmente nonlineare utilizzare I dimodellicon grado una si può elevato adattarsi permettono del set ai dati polinomiale canzischio di funzione meglio regressione training di secondo grado overfkinghglxfqtqxtq.tt Q linearmente risolvibile XX ti.
Dataset ESizees hph size size Gotf that size Polinomiale Price size Price DoeLEGHE YiFn in in risolvibile linearmente in polinomiale Yn Yn un'ipotesi e della tramite nelle sue feature potenze mappatura del tener del conto.
Bisogna cambiamento range però della nell'elevamento e a quindi potenza delle normalizzazione feature xi.cidi.
Pearson correlation coefficient
Dataset in Yache tenendo presente fmesempidi numero m training example feature dion numero n feature Il ideale mdn.se sarebbe man caso Due allora tanti il dati feature Aumentare set strategie ci saranno quante training letroverà feature tramite Ridurre possibili e soluzione si una non una è selezione che detto non tutte la lail utili calcolare utilizziamo e sia una feature target feature per tra Inidue Correlazione questo modo e possibile Canalise effettuare Pearson selezione una Np Nel di caso modello un IIIIEIiii areannicinacorreazione rai diretta feature inversa target perciò o e il che fra target e feature di vale o coefficiente Pearson1vale.
Pearson coefficiente
Io IREGRESSIONLOGISTIC HAIIl della il classificazione eproblema problemacomemai diamo diePrendonodisolo valoriinconsiderazione quantitàunapiccola Esdiscreti Spamononspam 0_voltovolto senzao BenignImmaginecon z sizeTomaTumorebenigno o maligno si linearsi linearedefinire ilpuòchiama Binaria modelloun conClassificazioneanche regression0 puòi Peròcome il benedatositarget notare nonfunzionamodelloapossonoappartenere è lineare1classe lacheclasse unaclassificazioneo funzionepositivanegativa non0.5seKDE BenignySET se41470.5 MalignantTRAINING h 021puòProblemaLOGISTICREGRESSION valoriassumere oppure01ALGORITHM solodovrebbeassumere equandoµ la ilUtilizziamo dovesoluzione Regression targetLogisticèGIÀ il 1geloho 0,1 0x sempre oppure èLa dilogisticHYPOTHESIS un classificazionealgoritmoregressionDISCRETIZZAZIONE0.5ho eg Oho 0.5.
Come calcolare un modello logistico
1della zUtilizzo1 glogistica FunctionSigmoid funzione zfare 4x 1la teche siafunzioneper inmodo05hG 1s È 1in holineare2 l'ipotesi haCambiano g èItbtxghelo.sih E0.5 giaPer 0la in 2,0pazzo3 se1 go.siydescretizzare classificazione e 44 0.5 0 1 0la se e
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.