Αναγνώριση προτύπων

Η **αναγνώριση προτύπων** (**pattern recognition**) είναι ένα επιστημονικό πεδίο με στόχο την ανάπτυξη αλγορίθμων για την αυτοματοποιημένη απόδοση κάποιας τιμής ή διακριτικού στοιχείου σε εισαγόμενα δεδομένα, συνήθως κωδικοποιημένα ως αλληλουχίες αριθμών. Κατ' αυτόν τον τρόπο, ενδεικτικά, τα δεδομένα αυτόματα ταξινομούνται σε κατηγορίες ή διαχωρίζονται σε ομάδες με βάση κάποια κριτήρια, ακόμα και υπό την παρουσία θορύβου ο οποίος δυσκολεύει την αναγνώριση, ωθώντας συνήθως τα δεδομένα να μοιάζουν περισσότερο τυχαία απ' όσο πραγματικά είναι. Το ερευνητικό ενδιαφέρον για την αναγνώριση προτύπων έχει τις ρίζες του στη δεκαετία του 1960, κατά την πρώτη περίοδο ανάπτυξης της πληροφορικής και, ειδικότερα, της τεχνητής νοημοσύνης.

Οι άνθρωποι και οι ευφυείς οργανισμοί έχουν την ικανότητα να ταυτοποιούν πραγματικά δεδομένα χρησιμοποιώντας τις αισθήσεις τους και την αντιληπτική τους ικανότητα προκειμένου να λάβουν τις κατάλληλες αποφάσεις ώστε να επιβιώσουν στο περιβάλλον τους. Μία μηχανή, όπως ένας ηλεκτρονικός υπολογιστής, πρέπει να εκπαιδευθεί κατάλληλα ώστε να αναγνωρίζει *πρότυπα* (patterns) και να τα κατηγοριοποιεί αυτόματα σε κατηγορίες. Ανάλογα με την εφαρμογή, γίνεται κατάταξη των αντικειμένων σε *κλάσεις* με τη βοήθεια *αλγορίθμων ταξινόμησης*.

Με βάση το θεωρητικό υπόβαθρο που παρείχε η επιστήμη της στατιστικής, η πρώιμη έρευνα επί της αναγνώρισης προτύπων επικεντρώθηκε στην ανάπτυξη θεωρητικών μεθόδων. Μετά το 1970 έγιναν προσπάθειες για την ταχύτερη εξέλιξη του τομέα, ενώ το 1976 ιδρύθηκε η *Διεθνής Ένωση Αναγνώρισης Προτύπων* (IARP). Σήμερα, αλγόριθμοι αναγνώρισης προτύπων εφαρμόζονται σε αρκετές επιστήμες, όπως π.χ. στην ιατρική (βιοϊατρική τεχνολογία, ανάλυση δεδομένων DNA και άλλες εφαρμογές της βιοπληροφορικής), ή σε άλλα πεδία της πληροφορικής και της επιστήμης ηλεκτρονικού μηχανικού, όπως η μηχανική όραση και η ρομποτική. Η ίδια η αναγνώριση προτύπων επικαλύπτεται σημαντικά με συγγενή, επιμέρους πεδία της τεχνητής νοημοσύνης όπως η μηχανική μάθηση και η εξόρυξη δεδομένων.

## Σύστημα μηχανικής μάθησης
:δείτε επίσης: Μηχανική μάθηση
Η *μηχανική μάθηση* αναφέρεται στον σχεδιασμό αλγορίθμων για τη δημιουργία ενός αυτόματου συστήματος που θα αποκτά γνώση βασιζόμενο σε εμπειρικά δεδομένα. Η έννοια της *επιβλεπόμενης μάθησης* έχει ιδιαίτερη σημασία. Δεδομένης μίας υπάρχουσας συλλογής αντικειμένων για τα οποία είναι γνωστή κλάση (ή κατηγορία) στόχος είναι να βρεθεί μία *συνάρτηση* μεταβλητών που θα περιγράφει το μοντέλο της κλάσης. Η επιτυχία πρόβλεψης αξιολογείται με ένα νέο σύνολο δεδομένων.

### Βασική ορολογία
* *Σύνολο Εκπαίδευσης*: Σύνολο εισαγόμενων δεδομένων στο οποίο έχουν εκχωρηθεί εκ των προτέρων *ετικέτες*.
* *Στιγμιότυπο*: Εισαγόμενο αντικείμενο στο οποίο αναμένουμε να αποδοθεί μία τιμή από το σύστημα.
* *Γνώρισμα*: Χαρακτηριστικό του στιγμιότυπου βάσει του οποίου θα γίνει η ταξινόμηση των νέων αντικειμένων.

### Τυπική Διαδικασία
# *Kαθορισμός τύπου *'δεδομένων***.
# ''Δημιουργία '''συνόλου εκπαίδευσης***.  Το σύνολο εκπαίδευσης πρέπει να είναι αντιπροσωπευτικό της πραγματικής φύσης του προβλήματος. Από μετρήσεις ή εξωτερική ανθρώπινη παρέμβαση αναθέτουμε στα δεδομένα του σώματος τις ετικέτες.
# *Επιλογή κατάλληλων *'γνωρισμάτων***. <br /> Μετατρέπουμε κάθε νέο αντικείμενο σε ''διάνυσμα γνωρισμάτων'' προκείμενου να ακολουθήσει η ταξινόμησή του. Είναι σημαντικό να επιλεγούν τα γνωρίσματα εκείνα που περιέχουν την απαραίτητη πληροφορία για την σωστή ανάθεση κλάσης ενώ παράλληλα ο αριθμός τους πρέπει να είναι διαχειρίσιμος υπολογιστικά. Επίσης πρέπει να γνωρίζουμε τον τύπο τιμής κάθε ιδιότητας (ονομαστικής (nominal), τακτικής (ordinal), αναλογικής (ratio)).
# ''Επιλογή '''αλγορίθμου εκπαίδευσης***.  Υπάρχει πληθώρα αλγορίθμων και η επιλογή πρέπει να γίνει ανάλογα με το ποιος κρίνεται πιο αποδοτικός για τη συγκεκριμένη κατηγορία προβλημάτων.
# **''Αξιολόγηση** της διαδικασίας*. <br /> Mετά την ολοκλήρωση της εκπαίδευσης η ακρίβεια της παραγόμενης σχέσης θα πρέπει να αξιολογηθεί με ένα σύνολο αξιολόγησης.

== Αλγόριθμοι ==
Οι αλγόριθμοι για την αναγνώριση προτύπων εξαρτώνται από τον τύπο της εξόδου, σχετικά με το εάν η μάθηση υπό επίβλεψη ή χωρίς και με το εάν ο αλγόριθμος είναι στατιστικά ή μη στη φύση. Οι στατιστικοί αλγόριθμοι μπορούν να κατηγοριοποιηθούν περαιτέρω ως παραγωγικοί ή διακριτικοί.

=== Ταξινόμησης ===
Αντιμετωπίζουν το πρόβλημα κατάταξης νέων αντικειμένων ή παρατηρήσεων (*labeling*) σε ήδη υπάρχουσες υποομάδες ενός δεδομένου συνόλου αντικειμένων (επιβλεπόμενη μάθηση).

*[[Ταξινομητής μέγιστης εντροπίας]]: Σημειώστε ότι η λογιστική παλινδρόμηση είναι ένας αλγόριθμος για ταξινόμηση παρά την ονομασία του. (Το όνομα προέρχεται από το γεγονός ότι η λογιστική παλινδρόμηση χρησιμοποιεί μια επέκταση ενός γραμμικκού μοντέλου παλινδρόμησης για να μοντελοποιήσει την πιθανότητα μιας εισόδου να ανήκει σε μια συγκεκριμένη κλάση.)
*[[Μπεϋζιανός ταξινομητής]]
*[[Δέντρα αποφάσεων]], [[λίστες αποφάσεων]]
*[[Διάνυσμα υποστήριξης μηχανής]] (Support Vector Machines - SVM)
*Αλγόριθμοι [[εκτίμησης πυρήνα]] και [[K-κοντινότερου γείτονα]]
*[[Perceptron]]
*[[Νευρωνικά δίκτυα]] (π.χ. Πολυεπίπεδα Perceptron)

=== Ομαδοποίησης ===
Αντιμετωπίζουν το πρόβλημα διαχωρισμού ενός υπάρχοντος συνόλου αντικειμένου σε κατηγορίες (*clusters*) με βάση κριτήρια ομοιότητας (ανεπίβλεπτη μάθηση).

*Κατηγορηματικά ανάμικτα μοντέλα
*[[K-μέσων ομαδοποίηση]]
*[[Ιεραρχική ομαδοποίηση]]
*[[Πυρήνας Ανάλυσης Κύριων Συνιστωσών]] (Kernel PCA)

=== Παλινδρόμησης ===
Προβλέπουν την τιμή μίας μεταβλητής συνεχών τιμών συναρτήσει άλλων μεταβλητών.

Επιβλεπόμενη:
*[[Γραμμική παλινδρόμηση]] και επεκτάσεις
*[[Νευρωνικά δίκτυα]]
*[[Γκαουσιανή διαδικασία παλινδρόμησης]]

Μη επιβλεπόμενη:
*[[Ανάλυση κύριων συνιστωσών]] (Principal component analysis - PCA)
*[[Ανάλυση ανεξάρτητων συνιστωσών]] (Independent component analysis - ICA)

===Κατηγορηματικοί αλγόριθμοι επισήμανσης ακολουθίας===
Επιβλεπόμενοι:
*[[Κρυμμένα Μαρκοβιανά Μοντέλα]] (Hidden Markov Model - HMMs)
*[[Μαρκοβιανά Μοντέλα Μέγιστης Εντροπίας]] (Maximum Entropy Markov Models - MEMMs)
*[[Τυχαία Πεδία Υπό Συνθήκη]] ([[Conditional Random Fields]] - CRFs)

Ανεπίβλεπτοι:
*Μαρκοβιανά Μοντέλα

===Αλγόριθμοι Συντακτικής ανάλυσης (προβλέπουν ετικέτες δενδρικής δομής)===
Επιβλεπόμενοι και μη επιβλεπόμενοι:
*[[Πιθανοτικές γραμματικές ανεξάρτητες πλαισίου]] (PCFGs)

===Γενικοί αλγόριθμοι για την πρόβλεψη αυθαίρετα δομημένων ετικετών ===
*[[Μπεϋζιανά δίκτυα]]
*[[Τυχαία Μαρκοβιανά Πεδία]]

===Αλγόριθμοι συλλογικής μάθησης===
*[[Bootstrap aggregating]] ("bagging")
*Ενίσχυση ([[Boosting]])
*[[Ensemble averaging]]

== Εφαρμογές==
===Υπολογιστική όραση===
Η *υπολογιστική όραση* (computer vision) είναι μια περιοχή στην οποία η αναγνώριση προτύπων είναι ιδιαίτερα χρήσιμη. Ένα σύστημα υπολογιστικής όρασης καταγράφει εικόνες με τη βοήθεια μιας κάμερας και τις αναλύει προκειμένου να παράγει περιγραφές του περιεχομένου των εικόνων αυτών. Μια τυπική εφαρμογή συστημάτων υπολογιστικής όρασης συναντάται στη βιομηχανία κατασκευών, στα πλάισια της αυτοματοποιημένης επόπτευσης της παραγωγής ή των αυτοματισμών στη γραμμή συναρμολόγησης. Για παράδειγμα, κατά την επόπτευση, τα αντικείμενα που έχουν κατασκευαστεί, τοποθετούνται πάνω σε έναν ιμάντα κίνησης και περνούν μέσα από το σταθμό επόπτευσης, όπου βρίσκεται η κάμερα, προκειμένο0υ να διαγνωστεί αν υπάρχει κάποιο ελάττωμα. Οι εικόνες πρέπει να αναλυθούν επί τόπου (on line) και το σύστημα αναγνώρισης προτύπων καλείται να ταξινομήσει τα αντικέιμενα στις κλάσεις "ελαττωματικό" και "μη ελαττωματικό". Στη συνέχεια, θα λάβει χώρα η κατάλληλη ενέργεια, όπως η απόρριψη των ελαττωματικών αντικειμένων. Σε μία γραμμή συναρμολόγησης, διάφορα αντικείμενα πρέπει να εντοπιστούν και να "αναγνωριστούν", δηλαδή, να ταξινομηθούν σε μία από τις κλάσεις που είναι γνωστές *εκ των προτέρων*. Παράδειγμα τέτοιων κλάσεων σε ένα τμήμα κατασκευών , μπορεί να είναι η "κλάση των κατσαβιδιών", "η κλάση των Γερμανικών κλειδιών", κ.ο.κ. Ακολούθως, ένας ρομποτικός βραχίονας μπορεί να μετακινεί τα αντικείμενα στην κατάλληλη θέση.

===Αναγνώριση χαρακτήρων===
Η *αναγνώριση χαρακτήρων* (*γραμμάτων η αριθμών*) είναι μία άλλη σημαντική περιοχή της αναγνώρισης προτύπων, με μεγάλη χρησιμότητα στον αυτοματισμό και στη διαχείριση της πληροφορίας. Συστήματα [[Οπτική Αναγνώριση Χαρακτήρων|οπτικής αναγνώρισης χαρακτήρων]] (optical character recognition - OCR) είναι ήδη διαθέσιμα στο εμπόριο και όλοι είμαστε, λιγότερο ή περισσότερο εξοικειωμένοι με αυτά. Το εμπρόσθιο τμήμα ενός OCR συστήματος διαθέτει μια συσκευή που αποτελείται από *πηγή φωτός, φακό σάρωσης, μεταφορέα κειμένου* και *διαγνώστη*. Στην έξοδο του φωτοευαίσθητου διαγνώστη, η μεταβολή της έντασης του φωτός μετατρέπεται σε "αριθμούς" και έτσι δημιουργείται ένα μητρώο εικόνας. Στη συνέχεια, εφαρμόζεται μια σειρά από τεχνικές [[Επεξεργασία εικόνας|επεξεργασίας εικόνας]], που οδηγούν στην κατάτμηση γραμμών και κατάτμηση χαρακτήρων. Κατόπιν, αναλαμβάνει δράση το λογισμικό αναγνώρισης προτύπων προκειμένου να γίνει η αναγνώριση των χαρακτήρων, δηλαδή η ταξινόμησητου κάθε χαρακτήρα στη σωστή κλάση "γράμματος", "αριθμού" και σημείου στίξης. Η αποθήκευση του κειμένου που έχει αναγνωριστεί παρουσιάζει ένα διπλό πλεονέκτημα σε σχέση με την αποθήκευση της αντίστοιχης σαρωμένης εικόνας. Πρώτον, είναι εύκολη η περαιτέρω ηλεκτρονική επεξεργασία, εάν απαιτηθεί, με τη βοήθεια κάποιου κειμενογράφου, και δεύτερον, είναι πολύ περισσότερο αποδοτική η αποθήκευση ASCII χαρακτήρων σε σχέση με την αποθήκευση του εγγράφου ως εικόνα. 

Εκτός από τα συστήματα αναγνώρισης τυπωμένων χαρακτήρων, μεγάλο ενδιαφέρον έχουν προσελκύσει και τα συστήματα αναγνώρισης χειρογράφων. Μία τυπική εμπορική εφαρμογή ενός τέτοιου συστήματος είναι η μηχανική ανάγνωση τραπεζικών επιταγών. Η μηχανή πρέπει να είναι σε θέση να αναγνωρίζει τα αναγραφόμενα ποσά και ψηφία και να τα ταιριάζει μεταξύ τους. Επιπλέον, θα μπορούσε να ελέγχει κατά πόσον το πρόσωπο που λαμβάνει τα χρήματα αντιστοιχεί στο λογαριασμό που θα πιστωθεί. Ακόμα και εάν οι μισές από τις τραπεζικές επιταγές τύχουν επιτυχούς επεξεργασίας από μία τέτοια μηχανή, σημαντικό εργατικό κόστος μπορεί να εξοικονομηθεί αποφεύγοντας μία τέτοια επαναλαμβανόμενη και χωρίς ενδιαφέρον εργασία. Μία άλλη εφαρμογή, όπου μπορεί να φανεί χρήσιμη η αναγνώριση προτύπων, είναι στις μηχανές αυτοματοποιημένης ταξινόμησης της αλληλογραφίας, στο πλαίσιο της ταυτοποίησης ταχυδρομικού κώδικα. Επίσης, τα *online* συστήματα αναγνώρισης γραφής είναι μια ακόμα περιοχή μεγάλου εμπορικού ενδιαφέροντος. Τέτοια συστήματα θα συνοδεύουν ηλεκτρονικούς υπολογιστές εφοδιασμένους με ακίδα γραφής, επιτρέποντας την εισαγωγή δεδομένων, όχι από πληκτρολόγιο, αλλά με τη διαδικασίας της γραφής. Αυτό συνάδει με τη σύγχρονη τάση να αναπτύσσονται μηχανές που διαθέτουν διεπαφές, οι οποίες προσομοιάζουν των δυνατοτήτων που έχει ο άνθρωπος.

===Υποβοηθούμενη από τον υπολογιστή διάγνωση===
Η *υποβοηθούμενη από τον υπολογιστή διάγνωση* (computer aided diagnosis) είναι μία άλλη σημαντική εφαρμογή της αναγνώρισης προτύπων, που έχει στόχο να επικουρεί τους γιατρούς στη λήψη διαγνωστικών αποφάσεων. Φυσικά, η τελική διάγνωση γίνεται από το γιατρό. Η υποβοηθούμενη από τον υπολογιστή διάγνωση έχει εφαρμοστεί και παρουσιάζει ενδιαφέρον για πολλούς τύπους ιατρικών δεδομένων, όπως [[ακτίνες Χ]], τομογραφικές εικόνες, εικόνες υπερήχων, ηλεκτροκαρδιογραφήματα (ECG) και ηλεκτροεγκεφαλογραφήματα (EEG). Η ανάγκη για υποβοηθούμενη από τον υπολογιστή διάγνωση πηγάζει από το γεγονός ότι τα ιατρικά δεδομένα, συχνά, δεν είναι εύκολα ερμηνεύσιμα και η ερμηνεία μπορεί να εξαρτάται σε σημαντικό βαθμό από την ικανότητα του γιατρού. Ας θεωρήσουμε ως παράδειγμα, τη μαστογραφία ακτίνων Χ για τη διάγνωση του καρκίνου του στήθους. Αν και η μαστογραφία είναι αυτή τη στιγμή η καλύτερη μέθοδος διάγνωσης καρκίνου του στήθους, το 10%-30% των γυναικών, που πάσχουν από την ασθένεια και υπόκεινται στη διαδικασία της [[Μαστογραφία|μαστογραφίας]], εμφανίζουν αρνητική μαστογραφία. Στα δύο τρίτα των εσφαλμένων αυτών περιπτώσεων, κατά προσέγγιση, ο γιατρός απέτυχε να διαγνώσει τον καρκίνο, ενώ θα έπρεπε. Αυτό μπορεί να οφείλεται σε κακή ποιότητα εικόνας, κούραση των οφθαλμών του γιατρού ή και στην εγγενή δυσκολία επεξεργασίας των ευρημάτων. Το ποσοστό των επιτυχών διαγνώσεων βελτιώνεται με μία δεύτερη ανάγνωση από άλλο γιατρό. Επομένως, έχει νόημα η ανάπτυξη ενός συστήματος αναγνώρισης προτύπων που θα βοηθήσει τους γιατρούς δίνοντας μία "δεύτερη γνώμη".

===Αναγνώριση φωνής===
Η *αναγνώριση φωνής* (voice recognition) είναι μία άλλη περιοχή, στην οποία έχει επενδυθεί
ποιοτική ερευνητική και αναπτυξιακή προσπάθεια. Η φωνή είναι το πιο φυσικό μέσο επικοινω-
νίας και ανταλλαγής πληροφορίας μεταξύ των ανθρώπων. Η ανάπτυξη ευφυών μηχανών που αναγνωριζουν την πληροφορία που εμπεριέχεται στην ομιλία είναι στόχος επιστημόνων, μηχανικών και συγγραφέων επιστημονικής φαντασίας εδώ και πολλά χρόνια. Οι δυνατές εφαρμογές τέτοιων μηχανών είναι πολλές. Για παράδειγμα, μπορούν να χρησιμοποιηθούν στη βελτίωση της αποτελεσματικότητας σε ένα εργοοτασιακό περιβάλλον, στον εξ αποστάσεως έλεγχο μηχανών σε επικίνδυνα περιβάλλοντα και στη βοήθεια ατόμων με αναπηρία προκειμένου αυτά να ελέγχουν μηχανές μέσω της ομιλίας. Μία μεγάλη προσπάθεια, που ήδη έχει στεφθεί με αξιοσημείωτη επιτυχία, αφορά στην εισαγωγή δεδομένων στον υπολογιστή με χρήση μικροφώνου. Το λογισμικό, το οποίο «χτίζεται» γύρω από ένα σύστημα αναγνώρισης προτύπων (σήματος ομιλίας στην προκειμένη περίπτωση), αναγνωρίζει το κείμενο της ομιλίας και το μεταφράζει σε [[ASCII]] χαρακτήρες, που προβάλλονται στην οθόνη του υπολογιστή και μπορούν να αποθηκευθούν στη μνήμη του. Η εισαγωγή πληροφρίας "μιλώντας" στον υπολογιστή είναι δύο φορές γρηγορότερη σε σχέση με έναν/μία ικανή δακτυλογράφο. Επιπλέον, η δυνατότητα 
αυτή μπορεί να εμπλουτίσει την ικανότητά μας να επικοινωνούμε με κωφάλαλους συνανθρώπους μας.

===Εξόρυξη δεδομένων και ανακάλυψη γνώσης===
Η *εξόρυξη δεδομένων και η ανακάλυψη γνώσης'' (data mining and knowledge discovery) από βάσεις δεδομένων είναι μία ακόμα σημαντική περιοχή εφαρμογής της αναγνώρισης προτύπων. Η εξόρυξη δεδομένων παρουσιάζει τεράστιο ενδιαφέρον σε ένα ευρύ φάσμα εφαρμογών, όπως η ιατρική και η βιολογία, η ανάλυση αγορών και οικονομίας, η διαχείριση επιχειρήσεων, η επιστημονική εξερεύνηση, η ανάκτηση εικόνας και μουσικής. Η δημοτικότητά της πηγάζει από το γεγονός ότι στην εποχή της κοινωνίας της πληροφορίας και της γνώσης, υπάρχει μια διαρκώς αυξανόμενη ανάγκη για την ανάκτηση πληροφορίας και την μετατροπή της σε γνώση. Για παράδειγμα, η εξόρυξη βιοϊατρικών δεδομένων και η ανάλυση δεδομένων DNA έχει γνωρίσει τεράστια ανάπτυξη από τα μέσα της δεκαετίας του 1990. Όλες οι ακολουθίες DNA, αποτελούνται από τέσσερα βασικά δομικά στοιχεία, τα νουκλεοτίδια: Αδενίνη (Α), Κυτοσίνη (C), Γουανίνη (G) και Θυμίνη (T). Αυτά τα τέσσερα στοιχεία συνδυάζονται και σχηματίζουν μακριές ακολουθίες με τη μορφή συστραμμένης έλικας. Τα γονίδια αποτελούνται συνήθως από εκατοντάδες νουκλεοτιδίων που οργανώνονται σε συγκεκριμένη διάταξη. Συγκεκριμένα πρότυπα ακολουθιών γονιδίων σχετίζονται με ορισμένες ασθένειες και παίζουν σημαντικό ρόλο στην ιατρική. Προς την κατεύθυνση αυτή, η αναγνώριση προτύπων είναι μια περιοχή-κλειδί που προσφέρει πληθώρα εργαλείων για την εύρεση ομοιότητας και τη σύγκριση μεταξύ ακολουθιών DNA. Τέτοιες συγκρίσεις μεταξύ υγιών και ασθενών ιστών είναι πολύ σημαντικές στην ιατρική, προκειμένου να προσδιοριστούν κρίσιμες διαφορές μεταξύ των δύο καταστάσεων.

## Δείτε επίσης
* Εξόρυξη δεδομένων
* Μηχανική μάθηση
* Ρομποτική

## Αναφορές
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later. 


## Βιβλιογραφία
*
*
*
*
*
*
*

## Εξωτερικοί Σύνδεσμοι
* The International Association for Pattern Recognition
* List of Pattern Recognition web sites
* Journal of Pattern Recognition Research 
* Pattern Recognition Info
* Pattern Recognition (Journal of the Pattern Recognition Society)
* International Journal of Pattern Recognition and Artificial Intelligence 

Κατηγορία:Μηχανική μάθηση
Κατηγορία:Θετικές επιστήμες