Τι γίνεται αν θα μπορούσατε να προβλέψετε εάν το απόθεμα επιλογής σας θα ανέβει ή θα πέσει τον επόμενο μήνα; Ή εάν η αγαπημένη σας ομάδα ποδοσφαίρου θα κερδίσει ή θα χάσει τον επόμενο αγώνα; Πώς μπορείτε να κάνετε τέτοιες προβλέψεις; Ίσως η μηχανική μάθηση μπορεί να προσφέρει μέρος της απάντησης. Cortana, ο νέος ψηφιακός προσωπικός βοηθός που υποστηρίζεται από Μπινγκ που συνοδεύει Windows Phone 8.1 προέβλεψε με ακρίβεια 15 από τους 16 αγώνες στο Παγκόσμιο Κύπελλο της FIFA 2014.
Σε αυτό το σεμινάριο Azure, θα διερευνήσουμε τις δυνατότητες και τις δυνατότητες της Azure Machine Learning μέσω της επίλυσης ενός από τα προβλήματα που αντιμετωπίζουμε στην καθημερινή μας ζωή.
Από το προγραμματιστής μηχανικής μάθησης άποψη, τα προβλήματα μπορούν να χωριστούν σε δύο ομάδες - εκείνα που μπορούν να επιλυθούν χρησιμοποιώντας τυπικές μεθόδους και εκείνα που δεν μπορούν να λυθούν χρησιμοποιώντας τυπικές μεθόδους. Δυστυχώς, τα περισσότερα προβλήματα στην πραγματική ζωή ανήκουν στη δεύτερη ομάδα. Εδώ μπαίνει η μηχανική μάθηση. Η βασική ιδέα είναι η χρήση μηχανών για την εύρεση σημαντικών προτύπων σε ιστορικά δεδομένα και τη χρήση τους για την επίλυση του προβλήματος.
Οι τιμές του φυσικού αερίου είναι πιθανώς ένα από τα στοιχεία που βρίσκονται ήδη στον προϋπολογισμό των περισσότερων ατόμων. Η συνεχής αύξηση ή μείωση μπορεί να επηρεάσει και τις τιμές άλλων ειδών παντοπωλείου και υπηρεσιών. Υπάρχουν πολλοί παράγοντες που μπορούν να επηρεάσουν τις τιμές του φυσικού αερίου, από τις καιρικές συνθήκες έως τις πολιτικές αποφάσεις και τα διοικητικά τέλη, και σε εντελώς απρόβλεπτους παράγοντες όπως οι φυσικές καταστροφές ή οι πόλεμοι.
Το σχέδιο για αυτό το σεμινάριο μηχανικής εκμάθησης Azure είναι να διερευνήσει ορισμένα προσβάσιμα δεδομένα και να βρει συσχετίσεις που μπορούν να αξιοποιηθούν για να δημιουργήσουν ένα μοντέλο πρόβλεψης.
Azure Machine Learning Studio είναι ένα διαδικτυακό ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) για την ανάπτυξη πειραμάτων δεδομένων. Είναι στενά συνδεδεμένο με τις υπόλοιπες υπηρεσίες cloud της Azure και απλοποιεί την ανάπτυξη και την ανάπτυξη μοντέλων και υπηρεσιών μηχανικής μάθησης.
Υπάρχουν πέντε βασικά βήματα για τη δημιουργία ενός παραδείγματος μηχανικής μάθησης. Θα εξετάσουμε κάθε ένα από αυτά τα βήματα αναπτύσσοντας το δικό μας μοντέλο πρόβλεψης για τις τιμές του φυσικού αερίου.
Η συλλογή δεδομένων είναι ένα από τα πιο σημαντικά βήματα αυτής της διαδικασίας. Η συνάφεια και η σαφήνεια των δεδομένων αποτελούν τη βάση για τη δημιουργία καλών μοντέλων πρόβλεψης. Το Azure Machine Learning Studio παρέχει μια σειρά δειγμάτων συνόλων δεδομένων. Μπορείτε να βρείτε μια άλλη μεγάλη συλλογή συνόλων δεδομένων στο archive.ics.uci.edu/ml/datasets.html .
Αφού συλλέξουμε τα δεδομένα, πρέπει να τα ανεβάσουμε στο Studio μέσω του απλού μηχανισμού αποστολής δεδομένων:
.h αρχεία c++
Μετά τη μεταφόρτωση, μπορούμε να πραγματοποιήσουμε προεπισκόπηση των δεδομένων. Η παρακάτω εικόνα δείχνει μέρος των δεδομένων μας που μόλις ανεβάσαμε. Στόχος μας εδώ είναι να προβλέψουμε την τιμή κάτω από τη στήλη με την ένδειξη E95.
Το επόμενο βήμα μας είναι να δημιουργήσουμε ένα νέο πείραμα σύροντας και ρίχνοντας μονάδες από τον πίνακα στα αριστερά στην περιοχή εργασίας.
Η προεπεξεργασία των διαθέσιμων δεδομένων περιλαμβάνει την προσαρμογή των διαθέσιμων δεδομένων στις ανάγκες σας. Η πρώτη ενότητα που θα χρησιμοποιήσουμε εδώ είναι «Περιγραφική στατιστική». Υπολογίζει στατιστικά δεδομένα από τα διαθέσιμα δεδομένα. Εκτός από την ενότητα «Περιγραφική στατιστική», μία από τις κοινώς χρησιμοποιούμενες ενότητες είναι «Καθαρά ελλείποντα δεδομένα». Ο στόχος αυτού του βήματος είναι να δώσει νόημα στις τιμές που λείπουν (μηδενικές) αντικαθιστώντας την με κάποια άλλη τιμή ή αφαιρώντας τις εντελώς.
Μια άλλη ενότητα που εφαρμόζεται σε αυτό το βήμα στο σεμινάριό μας είναι η ενότητα 'Επιλογή λειτουργιών βάσει φίλτρου'. Αυτή η ενότητα καθορίζει τις δυνατότητες του συνόλου δεδομένων που σχετίζονται περισσότερο με τα αποτελέσματα που θέλουμε να προβλέψουμε. Σε αυτήν την περίπτωση, όπως μπορείτε να δείτε στην παρακάτω εικόνα, οι τέσσερις πιο σχετικές δυνατότητες για τις τιμές 'E95' είναι 'EDG BS', 'Oil', 'USD / HRK' και 'EUR / USD'.
Δεδομένου ότι το 'EDG BS' είναι μια άλλη τιμή 'εξόδου' που δεν μπορεί να χρησιμοποιηθεί για την πραγματοποίηση προβλέψεων, θα επιλέξουμε μόνο δύο από τα υπόλοιπα σημαντικά χαρακτηριστικά - δηλαδή την τιμή του πετρελαίου και τη συναλλαγματική ισοτιμία στη στήλη USD / HRK.
Το δείγμα του συνόλου δεδομένων μετά την επεξεργασία εμφανίζεται παρακάτω:
Το επόμενο βήμα μας είναι να χωρίσουμε τα διαθέσιμα δεδομένα χρησιμοποιώντας τη μονάδα 'Split'. Το πρώτο μέρος των δεδομένων (στην περίπτωσή μας 80%) θα χρησιμοποιηθεί για την εκπαίδευση του μοντέλου και το υπόλοιπο χρησιμοποιείται για τη βαθμολόγηση του εκπαιδευμένου μοντέλου.
Τα ακόλουθα βήματα είναι τα πιο σημαντικά βήματα σε ολόκληρη τη διαδικασία μηχανικής εκμάθησης Azure. Η ενότητα 'Train Model' δέχεται δύο παραμέτρους εισόδου. Πρώτον είναι τα μη επεξεργασμένα δεδομένα εκπαίδευσης και το άλλο είναι ο αλγόριθμος μάθησης. Εδώ, θα χρησιμοποιήσουμε τον αλγόριθμο 'Linear Regression'. Η έξοδος της μονάδας 'Train Model' είναι μία από τις παραμέτρους εισόδου της μονάδας 'Score Model'. Το άλλο είναι τα υπόλοιπα διαθέσιμα δεδομένα. Το Score Model προσθέτει μια νέα στήλη στο σύνολο δεδομένων μας, Scored Labels. Οι τιμές στη στήλη 'Βαθμολογημένες Ετικέτες' είναι πιο κοντά στις τιμές των αντίστοιχων τιμών Ε95 όταν ο εφαρμοσμένος αλγόριθμος εκμάθησης λειτουργεί καλά με τα διαθέσιμα δεδομένα.
Η ενότητα Evaluate Model μας δίνει μια αξιολόγηση του εκπαιδευμένου μοντέλου που εκφράζεται σε στατιστικές τιμές. Αν κοιτάξουμε τον «Συντελεστή Προσδιορισμού», μπορούμε να συμπεράνουμε ότι υπάρχει πιθανότητα περίπου 80% να προβλέψουμε τη σωστή τιμή χρησιμοποιώντας αυτό το μοντέλο.
Τώρα, αξίζει να δοκιμάσετε να χρησιμοποιήσετε τη μονάδα 'Neural Network Regression'. Θα χρειαστεί να προσθέσουμε νέες ενότητες 'Μοντέλο τρένου' και 'Μοντέλο βαθμολογίας' και να συνδέσουμε την έξοδο με την υπάρχουσα ενότητα 'Αξιολόγηση μοντέλου'.
Η ενότητα 'Neural Network Regression' απαιτεί λίγο περισσότερη διαμόρφωση. Δεδομένου ότι αυτή είναι η πιο σημαντική ενότητα ολόκληρου του πειράματος, είναι εκεί όπου πρέπει να εστιάσουμε τις προσπάθειές μας, να τροποποιήσουμε και να πειραματιστούμε με τις ρυθμίσεις και την επιλογή του κατάλληλου αλγορίθμου μάθησης στο σύνολό του.
Σε αυτήν την περίπτωση, το Evaluate module μας δίνει μια σύγκριση των δύο εκπαιδευμένων μοντέλων μας. Και πάλι, με βάση τον Συντελεστή Προσδιορισμού βλέπουμε ότι τα Νευρωνικά Δίκτυα παρέχουν ελαφρώς λιγότερο ακριβείς προβλέψεις.
Σε αυτό το σημείο μπορούμε να αποθηκεύσουμε τα επιλεγμένα εκπαιδευμένα μοντέλα για μελλοντική χρήση.
πώς βγάζουν χρήματα οι ιστότοποι γνωριμιών
Όταν έχουμε ένα εκπαιδευμένο μοντέλο, μπορούμε να προχωρήσουμε στη δημιουργία του 'Scoring Experiment'. Αυτό μπορεί να γίνει δημιουργώντας ένα νέο πείραμα από το μηδέν ή χρησιμοποιώντας το βοηθό Azure Machine Learning Studio. Απλώς επιλέξτε το εκπαιδευμένο μοντέλο και κάντε κλικ στο 'Δημιουργία πειράματος βαθμολογίας'. Οι νέες ενότητες που χρειαζόμαστε εδώ είναι «Εισαγωγή υπηρεσίας Ιστού» και «Έξοδος υπηρεσίας Ιστού». Θα προσθέσουμε μια ενότητα 'Στήλες έργου' για να επιλέξετε τις τιμές εισόδου και εξόδου. Οι τιμές εισόδου είναι Oil και USD / HRK και η έξοδος είναι προβλεπόμενη τιμή στη στήλη 'Scored Labels' της εξόδου 'Model Score'.
Η παρακάτω εικόνα δείχνει το πείραμα βαθμολόγησης μετά από αυτές τις λίγες προσαρμογές και μετά τη σύνδεση των μονάδων 'Εισαγωγή υπηρεσίας Ιστού' και 'Έξοδος υπηρεσίας Ιστού'.
Ένα άλλο καλό βοηθητικό χαρακτηριστικό έρχεται να παίξει σε αυτό το σημείο. Με το 'Publish Web Service' μπορείτε να δημιουργήσετε μια απλή υπηρεσία ιστού που φιλοξενείται στην υποδομή cloud του Azure.
Τέλος, μπορούμε να δοκιμάσουμε την υπηρεσία διαδικτυακής πρόβλεψης χρησιμοποιώντας μια απλή φόρμα δοκιμής.
Μέσα από αυτό το απλό φροντιστήριο μηχανικής μάθησης έχουμε δείξει πώς να δημιουργήσουμε μια πλήρως λειτουργική υπηρεσία διαδικτυακής πρόβλεψης. Το Azure Machine Learning Studio που είναι ενσωματωμένο στην πλατφόρμα Azure μπορεί να είναι πολύ ισχυρό εργαλείο για τη δημιουργία πειραμάτων δεδομένων. Εκτός από το Machine Learning Studio, υπάρχουν και άλλες λύσεις μηχανικής μάθησης όπως Πορτοκάλι και Κουραστική . Ανεξάρτητα από το περιβάλλον ανάπτυξης που σας αρέσει, σας ενθαρρύνω να εξερευνήσετε τη μηχανική μάθηση και να βρείτε τον επιστήμονα των εσωτερικών σας δεδομένων.