Πώς να εφαρμόσετε τον αλγόριθμο Find-S στη μηχανική εκμάθηση;



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

Σε , η εκμάθηση έννοιας μπορεί να ονομαστεί ως « πρόβλημα αναζήτησης μέσω ενός προκαθορισμένου χώρου πιθανής υπόθεσης για την υπόθεση που ταιριάζει καλύτερα στα εκπαιδευτικά παραδείγματα »- Tom Mitchell. Σε αυτό το άρθρο, θα εξετάσουμε έναν τέτοιο αλγόριθμο εκμάθησης έννοιας γνωστός ως αλγόριθμος Find-S. Τα ακόλουθα θέματα συζητούνται σε αυτό το άρθρο.

Τι είναι ο αλγόριθμος Find-S στη μηχανική εκμάθηση;

Για να κατανοήσετε τον αλγόριθμο Find-S, πρέπει επίσης να έχετε μια βασική ιδέα για τις ακόλουθες έννοιες:





  1. Εκμάθηση έννοιας
  2. Γενική υπόθεση
  3. Ειδική υπόθεση

1. Εκμάθηση εννοιών

Ας προσπαθήσουμε να κατανοήσουμε την έννοια της μάθησης με ένα πραγματικό παράδειγμα. Το μεγαλύτερο μέρος της ανθρώπινης μάθησης βασίζεται σε προηγούμενες περιπτώσεις ή εμπειρίες. Για παράδειγμα, είμαστε σε θέση να αναγνωρίσουμε οποιοδήποτε τύπο οχήματος με βάση ένα συγκεκριμένο σύνολο χαρακτηριστικών, όπως μάρκα, μοντέλο κ.λπ., που ορίζονται σε ένα μεγάλο σύνολο χαρακτηριστικών.



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

Παρόμοια με αυτό, οι μηχανές μπορούν επίσης να μάθουν από έννοιες για να προσδιορίσουν εάν ένα αντικείμενο ανήκει σε μια συγκεκριμένη κατηγορία ή όχι. Οποιος που υποστηρίζει την εκμάθηση εννοιών απαιτεί τα εξής:

  • Δεδομένα εκπαίδευσης
  • Έννοια στόχου
  • Πραγματικά αντικείμενα δεδομένων

2. Γενική υπόθεση



Η υπόθεση, γενικά, είναι μια εξήγηση για κάτι. Η γενική υπόθεση δηλώνει βασικά τη γενική σχέση μεταξύ των κύριων μεταβλητών. Για παράδειγμα, μια γενική υπόθεση για την παραγγελία φαγητού θα ήταν Θέλω ένα μπιφτέκι.

G = {‘?’, ‘?’, ‘?’,… .. ’?’}

3. Ειδική υπόθεση

Η συγκεκριμένη υπόθεση συμπληρώνει όλες τις σημαντικές λεπτομέρειες σχετικά με τις μεταβλητές που δίνονται στη γενική υπόθεση. Οι πιο συγκεκριμένες λεπτομέρειες στο παραπάνω παράδειγμα θα ήταν Θέλω ένα cheeseburger με κοτόπουλο πεπερόνι γεμάτο με πολύ μαρούλι.

S = {'& Phi', '& Phi', '& Phi', ......, '& Phi'}

Τώρα, ας μιλήσουμε για τον αλγόριθμο Find-S στη Μηχανική Εκμάθηση.

Ο αλγόριθμος Find-S ακολουθεί τα παρακάτω βήματα:

  1. Αρχικοποιήστε το «h» στην πιο συγκεκριμένη υπόθεση.
  2. Ο αλγόριθμος Find-S λαμβάνει υπόψη μόνο τα θετικά παραδείγματα και εξαλείφει τα αρνητικά παραδείγματα. Για κάθε θετικό παράδειγμα, ο αλγόριθμος ελέγχει για κάθε χαρακτηριστικό στο παράδειγμα. Εάν η τιμή του χαρακτηριστικού είναι ίδια με την τιμή υπόθεσης, ο αλγόριθμος κινείται χωρίς καμία αλλαγή. Αλλά αν η τιμή του χαρακτηριστικού είναι διαφορετική από την τιμή υπόθεσης, ο αλγόριθμος το αλλάζει σε «?».

Τώρα που έχουμε τελειώσει με τη βασική εξήγηση του αλγορίθμου Find-S, ας ρίξουμε μια ματιά στο πώς λειτουργεί.

Πώς λειτουργεί?

αλγόριθμος flowchart-find-s στη μηχανική μάθηση - edureka

  1. Η διαδικασία ξεκινά με την αρχικοποίηση του «h» με την πιο συγκεκριμένη υπόθεση, γενικά, είναι το πρώτο θετικό παράδειγμα στο σύνολο δεδομένων.
  2. Ελέγχουμε για κάθε θετικό παράδειγμα. Εάν το παράδειγμα είναι αρνητικό, θα προχωρήσουμε στο επόμενο παράδειγμα, αλλά εάν είναι θετικό παράδειγμα, θα το εξετάσουμε για το επόμενο βήμα.
  3. Θα ελέγξουμε εάν κάθε χαρακτηριστικό στο παράδειγμα είναι ίσο με την τιμή υπόθεσης.
  4. Εάν η τιμή ταιριάζει, τότε δεν γίνονται αλλαγές.
  5. Εάν η τιμή δεν ταιριάζει, η τιμή αλλάζει σε «?».
  6. Αυτό το κάνουμε μέχρι να φτάσουμε στο τελευταίο θετικό παράδειγμα στο σύνολο δεδομένων.

Περιορισμοί του αλγορίθμου Find-S

Υπάρχουν μερικοί περιορισμοί του αλγορίθμου Find-S που αναφέρονται παρακάτω:

  1. Δεν υπάρχει τρόπος να καθοριστεί εάν η υπόθεση είναι συνεπής σε όλα τα δεδομένα.
  2. Τα ασυνεπή σετ προπόνησης μπορούν πραγματικά να παραπλανήσουν τον αλγόριθμο Find-S, καθώς αγνοεί τα αρνητικά παραδείγματα.
  3. Ο αλγόριθμος Find-S δεν παρέχει τεχνική backtracking για τον προσδιορισμό των καλύτερων δυνατών αλλαγών που θα μπορούσαν να γίνουν για τη βελτίωση της υπόθεσης που προκύπτει.

Τώρα που γνωρίζουμε τους περιορισμούς του αλγορίθμου Find-S, ας ρίξουμε μια ματιά στην πρακτική εφαρμογή του αλγορίθμου Find-S.

Υλοποίηση αλγορίθμου Find-S

Για να κατανοήσουμε την εφαρμογή, ας προσπαθήσουμε να την εφαρμόσουμε σε ένα μικρότερο σύνολο δεδομένων με μια σειρά από παραδείγματα για να αποφασίσουμε εάν κάποιος θέλει να πάει μια βόλτα.

Η ιδέα αυτού του συγκεκριμένου προβλήματος θα είναι σε ποιες μέρες αρέσει ένα άτομο να περπατά.

χρόνος Καιρός Θερμοκρασία Εταιρία Υγρασία Ανεμος Πηγαίνει
ΠρωίΗλιόλουστοςΖεστόςΝαίΉπιοςΙσχυρόςΝαί
ΑπόγευμαΒροχερόςΚρύοΟχιΉπιοςΚανονικόςΟχι
ΠρωίΗλιόλουστοςΜέτριοςΝαίΚανονικόςΚανονικόςΝαί
ΑπόγευμαΗλιόλουστοςΚρύοΝαίΥψηλόςΙσχυρόςΝαί

Κοιτάζοντας το σύνολο δεδομένων, έχουμε έξι χαρακτηριστικά και ένα τελικό χαρακτηριστικό που καθορίζει το θετικό ή αρνητικό παράδειγμα. Σε αυτήν την περίπτωση, ναι είναι ένα θετικό παράδειγμα, που σημαίνει ότι το άτομο θα πάει για μια βόλτα.

Τώρα, η γενική υπόθεση είναι:

η0= {'Πρωί', 'Ηλιόλουστο', 'Ζεστό', 'Ναι', 'Ήπιο', 'Ισχυρό'}

Αυτή είναι η γενική μας υπόθεση, και τώρα θα εξετάσουμε κάθε παράδειγμα ένα προς ένα, αλλά μόνο τα θετικά παραδείγματα.

ηένας= {‘Morning’, ‘Sunny’, ‘?’, ‘Yes’, ‘?’, ‘?’}

η2= {‘?’, ‘Sunny’, ‘?’, ‘Yes’, ‘?’, ‘?’}

Αντικαταστήσαμε όλες τις διαφορετικές τιμές στη γενική υπόθεση για να πάρουμε μια προκύπτουσα υπόθεση. Τώρα που γνωρίζουμε πώς λειτουργεί ο αλγόριθμος Find-S, ας ρίξουμε μια ματιά σε μια εφαρμογή χρησιμοποιώντας Πύθων .

Χρήση θήκης

Ας προσπαθήσουμε να εφαρμόσουμε το παραπάνω παράδειγμα χρησιμοποιώντας . Ο κώδικας για την εφαρμογή του αλγορίθμου Find-S χρησιμοποιώντας τα παραπάνω δεδομένα δίνεται παρακάτω.

εισαγωγή panda ως pd import numpy as np # για να διαβάσετε τα δεδομένα στο αρχείο csv data = pd.read_csv ('data.csv') print (data, 'n') # κάνοντας έναν πίνακα όλων των χαρακτηριστικών (δεδομένα) [:,: - 1] εκτύπωση ('n Τα χαρακτηριστικά είναι:', d) #segragating the target που έχει θετικά και αρνητικά παραδείγματα target = np.array (data) [:, - 1] print ('n Ο στόχος είναι: ', target) #training function για την υλοποίηση του αλγορίθμου find-s def train (c, t): for i, val in enumerate (t): if val ==' Yes ​​': specific_hypothesis = c [i]. copy () break για i, val in numerate (c): if t [i] == 'Yes': for x in range (len (συγκεκριμένη_ υπόθεση)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [ x] = ';' αλλιώς: pass return specific_hypothesis # απόκτηση της τελικής εκτύπωσης υπόθεσης ('n Η τελική υπόθεση είναι:', train (d, target))

Παραγωγή:

Αυτό μας φέρνει στο τέλος αυτού του άρθρου όπου μάθαμε τον αλγόριθμο Find-S στο Machine Learning με την εφαρμογή και την περίπτωση χρήσης του. Ελπίζω να είστε ξεκάθαροι με όλα όσα έχουν μοιραστεί μαζί σας σε αυτό το σεμινάριο.

Εάν βρήκατε αυτό το άρθρο σχετικά με τον 'Αλγόριθμο Find-S In Machine Learning' σχετικό, ανατρέξτε στο μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με ένα δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.

προγραμματισμός socket σε παράδειγμα java

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

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να υποβάλετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'Find-S Algorithm In Machine Learning' και η ομάδα μας θα χαρεί να απαντήσει.