Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων ΔΠΜΣ Πληροφορική Επιστημών Ζωής Ακαδ. Έτος 2013 – 2014 2ο Φροντιστήριο: 11.12.13
Περίληψη 1ου μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη 1ου μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων k - Nearest Neighbors Ένα σημείο ταξινομείται σε μια ομάδα με βάση την ομάδα στην οποία ανήκει η πλειοψηφία από τα k πλησιέστερα σημεία Η απόσταση υπολογίζεται μέσω μιας από τις γνωστές μετρικές Το k επιλέγεται τυχαία ή με χρήση ευρετικών τεχνικών
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Παράδειγμα load fisheriris x = meas(:,3:4); gscatter(x(:,1),x(:,2),species) set(legend, 'location', 'best') np = [5 1.45]; %introduce new point hold on plot(np(1),np(2),'kx','markersize',10,'linewidth',2) %find 10 nearest points [n,d] = knnsearch(x,np,'k',10) plot(x(n,1),x(n,2),'ko','markersize',10) tabulate(species(n)) %frequency table
Descriptive statistics Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Descriptive statistics Πως θα απεικονίσω γραφικά τα δεδομένα, έτσι ώστε να βγάλω συμπεράσματα; Παράδειγμα 1: load fisheriris boxplot(meas) %boxplots of all columns in data boxplot([meas(1:50,3) meas(51:100,3)],'labels',{'versicolor','virginica'}) %boxplot of column 3 in both categories
Descriptive statistics Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Descriptive statistics Παράδειγμα 2: %scatterplots of columns 1 and 2 (x axis) versus 3 and 4 (y axis), grouped by color gplotmatrix(meas(:,1:2),meas(:,3:4),species) %scatterplots of columns 2,3 and their histograms scatterhist(meas(:,2),meas(:,3)) Column 3 Column 3 Column 4 Column 2 Column 1 Column 2
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Decision Trees Κατασκευάζεται πάνω σε δεδομένα εκπαίδευσης Κόμβος: έλεγχος γνωρισμάτων Φύλλο: πιθανή κατηγορία Μονοπάτι: κανόνας ταξινόμησης Classification – Regression trees
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Decision Trees Παράδειγμα: t = classregtree(meas,species,'names',{'SL' 'SW' 'PL' 'PW'}) Decision tree for classification 1 if PL<2.45 then node 2 elseif PL>=2.45 then node 3 else setosa 2 class = setosa 3 if PW<1.75 then node 4 elseif PW>=1.75 then node 5 else versicolor 4 if PL<4.95 then node 6 elseif PL>=4.95 then node 7 else versicolor 5 class = virginica 6 if PW<1.65 then node 8 elseif PW>=1.65 then node 9 else versicolor 7 class = virginica 8 class = versicolor 9 class = virginica
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Decision Trees Πως θα «δω» το δέντρο που κατασκευάστηκε; view(t)
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Decision Trees Ταξινόμηση μελλοντικού δείγματος ns=[3 1 5 1] t(ns)
Support Vector Machines (SVMs) Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Support Vector Machines (SVMs) Τα SVM είναι ένας δυαδικός ταξινομητής, που προσπαθεί να διαχωρίσει τα δεδομένα σε δύο κλάσεις Ο τρόπος που προσπαθεί να το κάνει είναι μέσω της εύρεσης ενός βέλτιστου υπερεπιπέδου διαχωρισμού των κλάσεων Το υπερεπίπεδο (hyperplane) είναι μια Ν-διάστατη αναλογία της γραμμής, ή του επιπέδου, που διαχωρίζει τον (Ν+1) – διάστατο χώρο στα δύο
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Hyperplane
Maximum Margin Hyperplane Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Maximum Margin Hyperplane Margin: άθροισμα των αποστάσεων από το υπερεπίπεδο στα κοντινότερα θετικά και αρνητικά σωστά ταξινομημένα δείγματα Βέλτιστο υπερεπίπεδο: μέγιστη απόσταση του υπερεπιπέδου από το κοντινότερο σημείο εκπαίδευσης Όσο μεγαλύτερο το margin τόσο πιο σαφής ο διαχωρισμός
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Αλγόριθμος class +1 Όπου: Πρέπει να διαλέξουμε τα w, b ώστε να μεγιστοποιούμε το margin Για γραμμικά διαχωρίσιμα δεδομένα, ανάγεται σε πρόβλημα βελτιστοποίησης υπό περιορισμούς (constrained optimization) Μπορεί να επιλυθεί χρησιμοποιώντας πολλαπλασιαστές Lagrange class -1
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Support Vectors Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Support Vectors: τα στοιχεία που ορίζουν τα παράλληλα hyperplanes
Μη γραμμική ταξινόμηση Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Μη γραμμική ταξινόμηση Πως γενικεύουμε για μη γραμμικά διαχωρίσιμα δεδομένα? Kernel Trick: χρήση γραμμικού ταξινομητή για μη γραμμικά διαχωρίσιμα δεδομένα Χαρτογράφηση δεδομένων σε ένα χώρο υψηλότερων διαστάσεων όπου ο γραμμικός διαχωρισμός τους είναι δυνατός Αντί για εσωτερικά γινόμενα υπολογίζουμε κάποια Kernel Function
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Θεώρημα του Cover A complex pattern-classification problem, cast in a high-dimensional space nonlinearly, is more likely to be linearly separable than in a low-dimensional space, provided that the space is not densely populated. Mapping of data
Μεταφορά από input space σε feature space Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Μεταφορά από input space σε feature space
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Kernel Functions Γραμμική Συνάρτηση: Πολυωνυμική Συνάρτηση: Radial Basis Function (RBF):
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Training Errors Στις περιπτώσεις λάθους ταξινόμησης, καθορίζουμε ένα penalty of error: η απόσταση ανάμεσα στο σημείο που ταξινομήθηκε λάθος και το υπερεπίπεδο, πολλαπλασιασμένη με ένα κόστος λάθους C soft margin: επιτρέπει σε μερικά παραδείγματα εκπαίδευσης να πέφτουν στην λάθος πλευρά του διαχωριστικού υπερεπιπέδου. πρέπει να καθορίσουμε επιπλέον το magnitude of penalty που θα εφαρμοστεί αν παραβιαστεί το περιθώριο αυτό.
Overfitting vs. Underfitting Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Overfitting vs. Underfitting
Multiclass Classification Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Multiclass Classification ONE-versus-ALL ONE-versus-ONE
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Παράδειγμα 1. Generate data for classification r = sqrt(rand(100,1)); % radius t = 2*pi*rand(100,1); % angle data1 = [r.*cos(t), r.*sin(t)]; % points r2 = sqrt(3*rand(100,1)+1); % radius t2 = 2*pi*rand(100,1); % angle data2 = [r2.*cos(t2), r2.*sin(t2)]; % points 2. Plot plot(data1(:,1),data1(:,2),'r.') hold on plot(data2(:,1),data2(:,2),'b.') ezpolar(@(x)1);ezpolar(@(x)2); axis equal hold off
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Παράδειγμα 3. Prepare data: data3 = [data1;data2]; theclass = ones(200,1); theclass(1:100) = -1; 4. Train an SVM classifier Syntax: SVMstruct = svmtrain(data,groups,'Kernel_Function','rbf'); cl = svmtrain(data3,theclass,'Kernel_Function','rbf', 'boxconstraint',Inf,'showplot',true); hold on axis equal ezpolar(@(x)1) hold off
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Aποτέλεσμα
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Παράδειγμα 5. Train with different parameters cl = svmtrain(data3,theclass,'Kernel_Function','rbf',... 'showplot',true); hold on axis equal ezpolar(@(x)1) hold off
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Επόμενο μάθημα Εργασία! Απορίες;