Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων ΔΠΜΣ Πληροφορική Επιστημών Ζωής Ακαδ. Έτος 2013 – 2014 1ο Φροντιστήριο: 04.12.13
Πρόγραμμα μαθημάτων και Project Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Πρόγραμμα μαθημάτων και Project 3 μαθήματα - φροντιστήρια (4 - 18 Δεκέμβρη) Ανακοίνωση και συζήτηση project Μάθημα για απορίες στις 15 Γενάρη 2014 Παράδοση 29 Γενάρη 2014 Αναφορά – παρουσίαση αποτελεσμάτων Κώδικας Σύντομες παρουσιάσεις αντί για εξέταση Απορίες: rapsoman@upatras.gr
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Σύνολα δεδομένων βιοπληροφορικής Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Σύνολα δεδομένων βιοπληροφορικής Genomics: Ακολουθίες Έκφραση Proteomics: Δομή Αλληλεπιδράσεις Μονοπάτια Τροποποιήσεις
Δεδομένα υψηλής απόδοσης Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Δεδομένα υψηλής απόδοσης Τι σημαίνει ο όρος high-throughput ? Σύνθετα δεδομένα, περιλαμβάνουν εκατοντάδες ή χιλιάδες ταυτόχρονες μετρήσεις ανά δείγμα Ολιστική εικόνα του προς μελέτη αντικειμένου Οι κλασικές στατιστικές μέθοδοι ανάλυσης δεν επαρκούν Παραδείγματα πειραμάτων που θεωρούνται HT? -omics data: genomics, transcriptomics, proteomics, metabolomics and the list goes on…
Δεδομένα Μικροσυστοιχιών (Microarray data) Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Δεδομένα Μικροσυστοιχιών (Microarray data) Μέτρηση επιπέδων έκφρασης εκατοντάδων γονιδίων σε ένα μόνο δείγμα τη φορά: Αναγνώριση λειτουργίας γονιδίων Αναγνώριση νέων μορφών ασθενειών Παρακολούθηση της απόκρισης σε φάρμακα
Δεδομένα Φασματομετρίας μάζας (Mass Spectrometry Data) Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Δεδομένα Φασματομετρίας μάζας (Mass Spectrometry Data) Μέτρηση συγκεντρώσεων εκατοντάδων πρωτεϊνών από βιολογικά δείγματα: Αναγνώριση πρωτεϊνικών προτύπων για διαχωρισμό καταστάσεων Ανακάλυψη βιολογικών δεικτών (biomarkers)
Τελική Μορφή Δεδομένων Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Τελική Μορφή Δεδομένων Microarrays Mass Spectrometry Γραμμές - Χαρακτηριστικά: π.χ. Γονίδια ή πρωτεΐνες Στήλες – Δείγματα: π.χ. Διαφορετικές Καταστάσεις – Ασθενείς - Κύτταρα
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Γραφικό Περιβάλλον Πως/που γράφω κώδικα; Command line, scripts, functions
Πίνακες και διανύσματα Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Πίνακες και διανύσματα Create Arrays – Matrices: Array: a = [1 2 3 4]; Matrix: a = [1 2 3; 4 5 6; 7 8 10]; zeros, ones, rand etc .. Concatenation: A = [a,a]; A = [a;a]; Select elements, rows, columns b=a(2,3); b=a(:,3);, b=a(1:3,2); Transpose: b=a’; Edit contents: a(1,1)=100; Ισχύουν οι κλασικοί αριθμητικοί τελεστές!
Πως φορτώνω δεδομένα στο MATLAB? Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Πως φορτώνω δεδομένα στο MATLAB? Δυνατότητα εισαγωγής (import) και εξαγωγής (export) πολλών τύπων αρχείων, όπως text files (.txt), spreadsheets (csv, .xls), images (.jpg, .tiff, .bmp), video, audio etc. Όταν κάνω import ένα αρχείο, τα περιεχόμενα εμφανίζονται στo workspace ως variables. .mat files: MATLAB Data files, load/save from workspace Σύνταξη: S = load(filename);, load filename Παράδειγμα: S = load('yeastdata.mat') load yeastdata.mat
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Variables - workspace
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Graphics Graphics 2-D plots: plot(x,y) Παράδειγμα: x = -pi:.1:pi; y = sin(x); plot(x,y) 3-D plots: plot3(x,y,z) Παράδειγμα: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t)
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Προεπεξεργασία (Ι) Ελλειπή δεδομένα: εμφανίζονται ως τιμές NaN (Not-A-Number) Παράδειγμα: idx=isnan(yeastvalues); Το idx είναι ένα logical matrix: περιέχει 0 εκεί που η πρόταση ειναι ψευδής και 1 όταν η πρόταση είναι αληθής Τα logical matrices/arrays ειναι πολύ βολικά για indexing! Πως θα αντικαταστήσω τις ελλειπείς τιμές; nanIndices = any(isnan(yeastvalues),2); yeastvalues(nanIndices,:) = [];
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Προεπεξεργασία (ΙΙ) Κανονικοποίηση: πολλές επιλογές, π.χ. min-max normalization, mean/median normalization etc. Σχετικές συναρτήσεις: mapminmax, manorm, etc Παράδειγμα: [s1,s2]=manorm(yeastvalues);
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Ερωτήματα ... Ποιών γονιδίων η έκφραση ακολουθεί ένα κοινό πρότυπο? Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Ερωτήματα ... Ποιών γονιδίων η έκφραση ακολουθεί ένα κοινό πρότυπο? Μπορούμε να διακρίνουμε κατηγορίες ασθενειών με βάση τα αντίστοιχα πρωτεϊνικά προφίλ? Υπάρχουν πρωτεΐνες που μας βοηθούν να διαχωρίσουμε 2 καταστάσεις? Μπορούμε να ταξινομήσουμε έναν ασθενή με βάση το πρωτεϊνικό προφίλ του? Υπάρχουν υποκατηγορίες της ασθένειας Χ που διακρίνονται με βάση τη γονιδιακή έκφραση ? Ποιά θα μπορούσε να είναι η λειτουργία του γονιδίου Χ? Ποια γονίδια διαχωρίζουν καλύτερα δυο γνωστές ομάδες γονιδίων?
Επιβλεπόμενη vs. Μη επιβελπόμενη μάθηση Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Επιβλεπόμενη vs. Μη επιβελπόμενη μάθηση Supervised Learning: Επιπρόσθετη πληροφορία ως προς τις κατηγορίες Χρήση συνόλου παραδειγμάτων γνωστών κατηγοριών για εκπαίδευση Ταξινόμηση - Κατηγοριοποίηση ή Classification Unsupervised Learning: Καμία a priori γνώση για τις κατηγορίες Μάθηση μόνο από τα χαρακτηριστικά των δειγμάτων Ομαδοποίηση ή Clustering
Ομαδοποίηση vs. Ταξινόμηση Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Ομαδοποίηση vs. Ταξινόμηση Clustering: Βρίσκει ομάδες με κοινά χαρακτηριστικά και θεωρητικά κοινή λειτουργία Classification: Δημιουργεί ένα μοντέλο - ταξινομητή που προβλέπει κατηγορίες για μελλοντικά δείγματα
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Ομαδοποίηση Ορισμός: Οργάνωση μιας συλλογής από δείγματα σε ομάδες (clusters) με βάση κάποιο μέτρο ομοιότητας. Η ομαδοποίηση συνεχίζεται μέχρι να ικανοποιηθεί κάποιο κριτήριο τερματισμού. Εφαρμογή σε microarrays: παραδείγματα = γονίδια / πειράματα αναγνώριση ομάδων γονιδίων που εκφράζονται παράλληλα άρα έχουν μεγάλη πιθανότητα συμμετοχής στην ίδια λειτουργία
Πίνακας Γονιδιακής Έκφρασης Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων 24 Πίνακας Γονιδιακής Έκφρασης Χαρακτηριστικά / Δείγματα Πείραμα 1 Πείραμα 2 … Πείραμα M Γονίδιο 1 1083 . 1464 . 1115 . Γονίδιο 2 1585 . 398 . 511 . Γονίδιο N 170 . 302 . 751 . Διαστάσεις: n x m Κάθε πείραμα: ένα διάνυσμα n διαστάσεων ένα δείγμα στον n-διάστατο χώρο Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Ομοιότητα - Απόσταση Έστω γονίδια a, b, με a = [a1,a2,…,an]T και b = [b1,b2,…,bn]T z Euclidean: Γονίδιο 1 Γονίδιο 3 d Manhattan: y x Γονίδιο 2 x y z Euclidean Manhattan Γονίδιο 1 2 1 √ (0-1)2+ (2+1)2+(1-1)2 = 1+ 9 = √10 |0-1|+|2+1|+|1-1| = 1 + 3 = 4 Γονίδιο 2 1 -1 1
k-means clustering Ναι Όχι Επέλεξε στην τύχη k κεντροειδή Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων k-means clustering Επέλεξε στην τύχη k κεντροειδή Καταχώρησε κάθε γονίδιο στην ομάδα με το πλησιέστερο κεντροειδες Προσάρμοσε τα k κεντροειδή Υπάρχει αλλαγή στις ομάδες ? Ναι Όχι ΤΕΛΟΣ
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Παράδειγμα (απλό!) 1. Create biased samples: X = [randn(100,2)+ones(100,2);... randn(100,2)-ones(100,2)]; plot(X(:,1),X(:,2),'.k') 2. Apply k-means with k=2: [idx,ctrs] = kmeans(X,2) plot(X(idx==1,1),X(idx==1,2), 'r.') hold on plot(X(idx==2,1),X(idx==2,2), 'b.') plot(ctrs(:,1),ctrs(:,2), 'kx') legend('Cluster 1','Cluster 2','Centroids')
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Παράδειγμα (δύσκολο!) [cidx, ctrs] = kmeans(yeastvalues, 16, 'distance', 'correlation', 'replicates',5); figure; for c = 1:16 subplot(4,4,c); plot(times,yeastvalues((cidx == c),:)'); axis tight end Kαλώ την συνάρτηση kmeans με παραμέτρους: 16 clusters μετρική απόστασης (distance) = correlation Επαναλήψεις (replicates) = 5 Για να δω όλες τις επιλογές γράφω στο command line: doc kmeans
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Ταξινόμηση Ορισμός: Δεδομένου ενός συνόλου γνωστών παραδειγμάτων, προσδιορισμός κατηγορίας για νέα, άγνωστα παραδείγματα Εφαρμογή σε microarrays: παραδείγματα = γονίδια / πειράματα κλάσεις = λειτουργικές κατηγορίες διάγνωση ασθένειας πρόβλεψη λειτουργικής κατηγορίας γονιδίου
Μορφή δεδομένων (c) Χαρακτηριστικά → Παραδείγματα→ Πείραμα 1 Πείραμα 2 Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων 31 Μορφή δεδομένων (c) Χαρακτηριστικά → Παραδείγματα→ Πείραμα 1 Πείραμα 2 … Πείραμα N Κατηγορία Γονίδιο 1 1083 . 1464 . 1115 . Y Γονίδιο 2 1585 . 398 . 511 . X Γονίδιο M 170 . 302 . 751 . (d) B A Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων 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))
Περίληψη μαθήματος Δεδομένα Βιοπληροφορικής Προεπεξεργασία Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Περίληψη μαθήματος Experimental data Δεδομένα Βιοπληροφορικής Εισαγωγή στο MATLAB Προεπεξεργασία Κανονικοποίηση Ανάλυση Δεδομένων Ομαδοποίηση K-means clustering Ταξινόμηση K- Nearest Neighbor Σύνοψη Preprocessing Higher level analysis Clustering Classification Knowledge Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων
Βασικές Μέθοδοι Μηχανικής Μάθησης και Εξόρυξης Δεδομένων Πηγές MATLAB documentation, available through the installation or online: http://www.mathworks.com/products/bioinfo/ doc command, help command Tutorials and videos – enjoy!