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.
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.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
SVML'SVM
'SVM è un discriminatore lineare, in genere classifica le instanze basandosi su una funzione lineare delle features. L'idea dell'SVM è quella di utilizzare una linea che massimizzi il margine fra i vettori di supporto, ovvero i punti più vicini alla linea. L'SVM è molto stabile anche per via della gestione degli errori. Più l'errore è distante dalla linea (cioè si trova nella porzione di piano sbagliata) più viene considerato dalla linea e quindi viene tirata verso l'errore, viceversa, se l'errore si trova in prossimità della linea, viene considerato di meno. Questa funzione di errore viene detta hinge loss.
Regressione attraverso Funzioni Matematiche
La struttura del modello di regressione lineare è uguale alla funzione linear discriminant:
Durante la fase di training provo tutti i parametri possibili fino a quando la linea non si avvicina abbastanza al training set. Capiamo che si
avvicina al training set quando l'errore è minimo. Uno dei modi per calcolare l'errore fra un valore stimato ed il valore attuale è l'errore assoluto, ovvero sottrarre l'uno dall'altro e prendere il valore assoluto. Molto più spesso però si utilizza il quadrato della distanza, questo ci permette di considerare di più gli errori lontani dal valore attuale. Big Data Analysis Pagina 20 valore attuale.
Logistic Regression
La logistic regression utilizza la funzione per predirre il fatto che faccia parte di una classe o dell'altra. Per fare questo bisogna settare dei pesi che ci forniscano una probabilità quindi un valore compreso fra 0 e 1.
Se prendiamo la probabilità di appartenere ad una classe , possiamo formulare la logistic regression come:
Ovvero la probabilità che accada un evento diviso la probabilità che accada l'altro evento. Dato che spesso vogliamo solamente la stima della probabilità
dell'appartenenza alla classe, possiamo sostituire con: Logistic Regression versus Tree InductionClassification Trees e classificatori lineari utilizzano entrambi boundaries binari, ma ci sono due importanti differenze:
- Un classification Tree utilizza boundaries perpendicolari agli assi instanza-spazio, mentre il classificatore lineare può usare dei boundaries di decisione di qualsiasi direzione e orientamento. Questa è una diretta conseguenza del fatto che i Classification Trees selezionano un solo attributo alla volta, mentre i classificatori lineari utilizzano una combinazione pesata di tutti gli attributi.
- Un classification Tree è un classificatore a due-a due, che segmenta lo spazio delle istanze ricorsivamente, usando un approccio divide et impera. Un classification tree può dividere lo spazio in regioni arbitrariamente piccole, mentre il classificatore lineare utilizza una singola divisione dello spazio.
- La logistic regression è facilmente comprensibile da chi ha un background di statistica, ma è estremamente difficile per quelli che non lo hanno.
- Il decision tree, se non troppo grande, è facilmente comprensibile da chiunque.
Dataset:
Problema risolto con logistic regression: Big Data Analysis Pagina 21
Problema risolto con albero: KNN - Nearest Neighbor
Il KNN utilizza la similarità per costruire un modello predittivo:
- Dato un nuovo elemento di cui vogliamo predire la classe, cerchiamo gli elementi più simili nel nostro training set.
- Predire il valore del nuovo elemento basandosi sui valori conosciuti degli elementi più vicini.
Quanti neighbors usare?
- Un numero dispari ci permette di non avere parità fra le due scelte.
- Il "K" in KNN si riferisce al numero di neighbors.
- Più è grande K, più
elementi sono considerati per la predizione e quindi diminuisce l'overfitting. Usando k = n, quindi il massimo, viene utilizzato tutto il dataset per fare ogni predizione. Tutti i neighbors vanno considerati allo stesso modo?
Big Data Analysis Pagina 22
Tutti i neighbors vanno considerati allo stesso modo?
- Il majority voting non considera quanto ogni neighbor è vicino all'istanza.
- I metodi KNN spesso utilizzano il weighted voting oppure il similarity moderated voting, così che il contributo di ogni neighbor sia scalato dalla sua similarità.
- Si utilizza come scaling weight il reciproco del quadrato della distanza.
Interpretazione geometrica:
- Con k = 1 non lasciamo molta complessità al modello, dato che l'n-NN predice il valore medio del dataset per ogni caso.
- Con k = n avremo un modello estremamente complesso, che imposta boundaries complicati, questo porta all'overfitting.
Il KNN viene utilizzato per suggerire acquisti, film, ecc.
problema può sorgere quando si richiede il motivo del perché una scelta è stata fatta, dato che il KNN non è un modello esplicito. In genere il KNN utilizza tutte le feature per determinare le distanze, ecco perché queste vanno normalizzate.
Clustering
Il Clustering si applica quando non ci sono classi da predire, ma si dividono le istanze in gruppi "naturali".
I cluster possono essere:
- Disgiunti o overlapping.
- Deterministici o probabilistici.
- Piatti o gerarchici.
Un dataset su cui si può applicare il clustering è una collezione di punti, ovvero oggetti che appartengono ad uno spazio.
Lo spazio è un insieme universale di punti dal quale vengono presi i punti del dataset, ad esempio lo spazio Euclideo, nel quale i punti sono vettori di numeri reali:
- La lunghezza del vettore è il numero di dimensioni dello spazio.
- Le componenti del vettore sono comunemente chiamate coordinate.
Spazio sia Euclideo, possiamo rappresentare il cluster con il suo centroide, ovvero la media dei punti di un cluster, dopo di che uniamo i due cluster che hanno i centroidi più vicini.
Ci sono diversi approcci per capire quando fermarsi:
- Ci fermiamo quando abbiamo raggiunto un certo numero di clusters, di solito definito dall'utente.
- Ci fermiamo quando il prossimo cluster è inadeguato.
- Si continua fino a quando non rimane un solo cluster.
- Quest'ultimo approccio ha poco senso se ritorniamo un solo cluster, piuttosto viene ritornato un albero che rappresenta il modo in cui tutti i punti sono stati combinati.
Cosa succede se non siamo in uno spazio Euclideo?
Non possiamo calcolare le distanze in base a dove si trovano i punti, abbiamo bisogno di una misura della distanza che viene calcolata a partire dai punti, come la Jaccard, cosine, ecc.
Sorge un problema quando dobbiamo rappresentare un cluster, dato che non possiamo sostituire una collezione di punti con il
Sono stati usati per costruire il modello stesso. L'overfitting è la tendenza, di una procedura di data mining, di costruire il modello perfettamente sul training set, al costo di perdere in generalizzazione. Ogni modello di data mining effettua overfitting in una certa misura, la soluzione è quella di trovare un giusto equilibrio fra generalizzazione e overfitting.
Per trovare il giusto compromesso utilizziamo il grafico di fitting:
Possiamo notare che più la complessità sul training set aumenta e più l'errore sul test set aumenta. Quindi l'accuracy di un modello dipende da quanto è complesso. Un esempio di complessità può essere il numero di nodi in un modello ad albero, più sono i nodi più il modello è complesso e più piccoli diventano i sottoinsiemi:
Il dataset viene diviso in training set, validation set e test set.
Nel caso in cui il dataset sia molto piccolo si utilizza la cross-validation oppure il bootstrap. A differenza della cross-validation, il bootstrap utilizza il sampling con replacement per formare il training set. Una particolare tecnica di bootstrap è il 0.632 bootstrap, in cui ogni istanza ha probabilità di non essere presa. La probabilità di finire nel dataset è quindi:
Questo significa che il training set conterrà circa il 63.2% delle istanze. La stima dell'errore sul test set sarà molto pessimistico, considerando che si fa training solo sul 63% delle istanze, l'errore sarà:
Conteggio del costo e Confusion Matrix
Diversi tipi di errori di classificazione hanno impatto diverso. Ad esempio, classificare se una persona è un terrorista oppure no sarà corretto il 99.99% delle volte, è quindi molto importante classificare bene quel 0.01%.
Successo globale (accuracy) = (TP + TN)/(TP + TN + FP + FN)
TP Rate = TP/(TP + FN)FP
a di classificazione binaria, in cui abbiamo due classi: positiva e negativa. Nella matrice di confusione, abbiamo quattro possibili risultati: - True Positive (TP): il modello ha correttamente classificato un'istanza come positiva. - False Positive (FP): il modello ha erroneamente classificato un'istanza come positiva, quando in realtà era negativa. - True Negative (TN): il modello ha correttamente classificato un'istanza come negativa. - False Negative (FN): il modello ha erroneamente classificato un'istanza come negativa, quando in realtà era positiva. La formula per calcolare il tasso di errore (rate) è: Rate = FP / (FP + TN) Questo tasso ci fornisce una misura dell'accuratezza del modello nella classificazione delle istanze negative. Un tasso di errore più basso indica una maggiore precisione nella classificazione delle istanze negative.