Σε αυτό το άρθρο, θα αναλύσουμε τους θεωρητικούς υπολογισμούς του μετασχηματισμού συναρτήσεις γραμμικής παλινδρόμησης в αντίστροφη συνάρτηση μετασχηματισμού λογαριασμών (αλλιώς ονομάζεται συνάρτηση λογιστικής απόκρισης). Στη συνέχεια, χρησιμοποιώντας το οπλοστάσιο μέθοδος μέγιστης πιθανότητας, σύμφωνα με το μοντέλο λογιστικής παλινδρόμησης, εξάγουμε τη συνάρτηση απώλειας Logistic Loss, ή με άλλα λόγια, θα ορίσουμε μια συνάρτηση με την οποία επιλέγονται οι παράμετροι του διανύσματος βάρους στο μοντέλο λογιστικής παλινδρόμησης .
Περίληψη άρθρου:
- Ας επαναλάβουμε τη γραμμική σχέση μεταξύ δύο μεταβλητών
- Ας προσδιορίσουμε την ανάγκη για μεταμόρφωση συναρτήσεις γραμμικής παλινδρόμησης в λειτουργία υλικοτεχνικής απόκρισης
- Ας πραγματοποιήσουμε τους μετασχηματισμούς και την έξοδο λειτουργία υλικοτεχνικής απόκρισης
- Ας προσπαθήσουμε να καταλάβουμε γιατί η μέθοδος των ελαχίστων τετραγώνων είναι κακή κατά την επιλογή παραμέτρων λειτουργίες Logistic Loss
- Χρησιμοποιούμε Μέθοδος μέγιστης πιθανότητας για τον καθορισμό συναρτήσεις επιλογής παραμέτρων :
5.1. Περίπτωση 1: λειτουργία Logistic Loss για αντικείμενα με χαρακτηρισμούς κλάσεων 0 и 1:
5.2. Περίπτωση 2: λειτουργία Logistic Loss για αντικείμενα με χαρακτηρισμούς κλάσεων -1 и +1:
Το άρθρο είναι γεμάτο με απλά παραδείγματα στα οποία όλοι οι υπολογισμοί είναι εύκολο να γίνουν προφορικά ή σε χαρτί· σε ορισμένες περιπτώσεις, ενδέχεται να απαιτείται αριθμομηχανή. Ετοιμαστείτε λοιπόν :)
Αυτό το άρθρο προορίζεται κυρίως για επιστήμονες δεδομένων με αρχικό επίπεδο γνώσης στα βασικά της μηχανικής μάθησης.
Το άρθρο θα παρέχει επίσης κώδικα για τη σχεδίαση γραφημάτων και υπολογισμών. Όλος ο κώδικας είναι γραμμένος στη γλώσσα python 2.7. Επιτρέψτε μου να εξηγήσω εκ των προτέρων σχετικά με την "καινοτομία" της χρησιμοποιούμενης έκδοσης - αυτή είναι μία από τις προϋποθέσεις για να παρακολουθήσετε το γνωστό μάθημα από Yandex σε μια εξίσου γνωστή διαδικτυακή εκπαιδευτική πλατφόρμα Coursera, και, όπως θα μπορούσε κανείς να υποθέσει, το υλικό ετοιμάστηκε με βάση αυτό το μάθημα.
01. Εξάρτηση ευθείας γραμμής
Είναι πολύ λογικό να τεθεί το ερώτημα - τι σχέση έχει η γραμμική εξάρτηση και η λογιστική παλινδρόμηση;
Είναι απλό! Η λογιστική παλινδρόμηση είναι ένα από τα μοντέλα που ανήκουν στον γραμμικό ταξινομητή. Με απλά λόγια, το καθήκον ενός γραμμικού ταξινομητή είναι να προβλέψει τις τιμές-στόχους από μεταβλητές (παλίνδρομοι) . Πιστεύεται ότι η εξάρτηση μεταξύ των χαρακτηριστικών και τιμές στόχου γραμμικός. Εξ ου και το όνομα του ταξινομητή - γραμμικό. Για να το θέσω πολύ χοντρικά, το μοντέλο λογιστικής παλινδρόμησης βασίζεται στην υπόθεση ότι υπάρχει μια γραμμική σχέση μεταξύ των χαρακτηριστικών και τιμές στόχου . Αυτή είναι η σύνδεση.
Υπάρχει το πρώτο παράδειγμα στο στούντιο και, σωστά, αφορά την ευθύγραμμη εξάρτηση των ποσοτήτων που μελετώνται. Κατά τη διαδικασία προετοιμασίας του άρθρου, συνάντησα ένα παράδειγμα που έχει ήδη θέσει πολλούς ανθρώπους στην άκρη - την εξάρτηση του ρεύματος από την τάση («Εφαρμοσμένη ανάλυση παλινδρόμησης», N. Draper, G. Smith). Θα το δούμε και εδώ.
Σύμφωνα με Νόμος του Ohm:
Όπου - τρέχουσα ισχύς, - Τάση, - αντίσταση.
Αν δεν ξέραμε Ο νόμος του Ohm, τότε θα μπορούσαμε να βρούμε την εξάρτηση εμπειρικά αλλάζοντας και μέτρηση , ενώ υποστηρίζει σταθερός. Τότε θα βλέπαμε ότι το γράφημα εξάρτησης από δίνει μια περισσότερο ή λιγότερο ευθεία γραμμή μέσω της αρχής. Λέμε "περισσότερο ή λιγότερο" επειδή, αν και η σχέση είναι πραγματικά ακριβής, οι μετρήσεις μας μπορεί να περιέχουν μικρά σφάλματα, και επομένως τα σημεία στο γράφημα μπορεί να μην εμπίπτουν ακριβώς στη γραμμή, αλλά θα διασκορπίζονται γύρω της τυχαία.
Γράφημα 1 «Εξάρτηση» από »
Κώδικας σχεδίασης γραφήματος
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import random
R = 13.75
x_line = np.arange(0,220,1)
y_line = []
for i in x_line:
y_line.append(i/R)
y_dot = []
for i in y_line:
y_dot.append(i+random.uniform(-0.9,0.9))
fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(x_line,y_line,color = 'purple',lw = 3, label = 'I = U/R')
plt.scatter(x_line,y_dot,color = 'red', label = 'Actual results')
plt.xlabel('I', size = 16)
plt.ylabel('U', size = 16)
plt.legend(prop = {'size': 14})
plt.show()
02. Η ανάγκη μετασχηματισμού της εξίσωσης γραμμικής παλινδρόμησης
Ας δούμε ένα άλλο παράδειγμα. Ας φανταστούμε ότι εργαζόμαστε σε μια τράπεζα και καθήκον μας είναι να προσδιορίσουμε την πιθανότητα ο δανειολήπτης να αποπληρώσει το δάνειο ανάλογα με ορισμένους παράγοντες. Για να απλοποιήσουμε την εργασία, θα εξετάσουμε μόνο δύο παράγοντες: τον μηνιαίο μισθό του δανειολήπτη και το μηνιαίο ποσό αποπληρωμής του δανείου.
Η εργασία είναι πολύ υπό όρους, αλλά με αυτό το παράδειγμα μπορούμε να καταλάβουμε γιατί δεν αρκεί η χρήση της συναρτήσεις γραμμικής παλινδρόμησηςκαι μάθετε επίσης ποιοι μετασχηματισμοί πρέπει να πραγματοποιηθούν με τη συνάρτηση.
Ας επιστρέψουμε στο παράδειγμα. Εννοείται ότι όσο υψηλότερος είναι ο μισθός, τόσο περισσότερα ο δανειολήπτης θα μπορεί να διαθέσει μηνιαίως για την αποπληρωμή του δανείου. Ταυτόχρονα, για ένα συγκεκριμένο εύρος μισθών αυτή η σχέση θα είναι αρκετά γραμμική. Για παράδειγμα, ας πάρουμε ένα εύρος μισθών από 60.000 RUR έως 200.000 RUR και ας υποθέσουμε ότι στο καθορισμένο εύρος μισθών, η εξάρτηση του μεγέθους της μηνιαίας πληρωμής από το μέγεθος του μισθού είναι γραμμική. Ας πούμε ότι για το καθορισμένο εύρος μισθών αποκαλύφθηκε ότι η αναλογία μισθού προς πληρωμή δεν μπορεί να πέσει κάτω από το 3 και ο δανειολήπτης πρέπει να έχει ακόμα 5.000 RUR στο αποθεματικό. Και μόνο σε αυτή την περίπτωση, θα υποθέσουμε ότι ο δανειολήπτης θα αποπληρώσει το δάνειο στην τράπεζα. Τότε, η εξίσωση γραμμικής παλινδρόμησης θα πάρει τη μορφή:
όπου , , , - μισθού -ο δανειολήπτης, - πληρωμή δανείου -ος δανειολήπτης.
Αντικατάσταση μισθού και πληρωμής δανείου με σταθερές παραμέτρους στην εξίσωση Μπορείτε να αποφασίσετε εάν θα εκδώσετε ή θα αρνηθείτε ένα δάνειο.
Κοιτάζοντας μπροστά, σημειώνουμε ότι, με τις δεδομένες παραμέτρους συνάρτηση γραμμικής παλινδρόμησης, χρησιμοποιείται σε λειτουργίες υλικοτεχνικής απόκρισης θα παράγει μεγάλες αξίες που θα περιπλέξουν τους υπολογισμούς για τον προσδιορισμό των πιθανοτήτων αποπληρωμής του δανείου. Επομένως, προτείνεται η μείωση των συντελεστών μας, ας πούμε, κατά 25.000 φορές. Αυτή η μετατροπή των συντελεστών δεν θα αλλάξει την απόφαση για την έκδοση δανείου. Ας θυμηθούμε αυτό το σημείο για το μέλλον, αλλά τώρα, για να γίνει ακόμα πιο σαφές για τι μιλάμε, ας εξετάσουμε την κατάσταση με τρεις πιθανούς δανειολήπτες.
Πίνακας 1 «Πιθανοί δανειολήπτες»
Κωδικός για τη δημιουργία του πίνακα
import pandas as pd
r = 25000.0
w_0 = -5000.0/r
w_1 = 1.0/r
w_2 = -3.0/r
data = {'The borrower':np.array(['Vasya', 'Fedya', 'Lesha']),
'Salary':np.array([120000,180000,210000]),
'Payment':np.array([3000,50000,70000])}
df = pd.DataFrame(data)
df['f(w,x)'] = w_0 + df['Salary']*w_1 + df['Payment']*w_2
decision = []
for i in df['f(w,x)']:
if i > 0:
dec = 'Approved'
decision.append(dec)
else:
dec = 'Refusal'
decision.append(dec)
df['Decision'] = decision
df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision']]
Σύμφωνα με τα στοιχεία του πίνακα, ο Vasya, με μισθό 120.000 RUR, θέλει να λάβει δάνειο για να μπορεί να το αποπληρώνει μηνιαία με 3.000 RUR. Καθορίσαμε ότι για να εγκρίνουμε το δάνειο, ο μισθός του Βάσια πρέπει να υπερβαίνει το τριπλάσιο του ποσού της πληρωμής και πρέπει να απομένουν 5.000 RUR. Η Vasya ικανοποιεί αυτήν την απαίτηση: . Απομένουν ακόμη και 106.000 RUR. Παρά το γεγονός ότι κατά τον υπολογισμό έχουμε μειώσει τις πιθανότητες 25.000 φορές, το αποτέλεσμα ήταν το ίδιο - το δάνειο μπορεί να εγκριθεί. Ο Fedya θα λάβει επίσης δάνειο, αλλά ο Lesha, παρά το γεγονός ότι λαμβάνει τα περισσότερα, θα πρέπει να περιορίσει τις ορέξεις του.
Ας σχεδιάσουμε ένα γράφημα για αυτήν την περίπτωση.
Διάγραμμα 2 «Ταξινόμηση δανειοληπτών»
Κωδικός για τη σχεδίαση του γραφήματος
salary = np.arange(60000,240000,20000)
payment = (-w_0-w_1*salary)/w_2
fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(salary, payment, color = 'grey', lw = 2, label = '$f(w,x_i)=w_0 + w_1x_{i1} + w_2x_{i2}$')
plt.plot(df[df['Decision'] == 'Approved']['Salary'], df[df['Decision'] == 'Approved']['Payment'],
'o', color ='green', markersize = 12, label = 'Decision - Loan approved')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'],
's', color = 'red', markersize = 12, label = 'Decision - Loan refusal')
plt.xlabel('Salary', size = 16)
plt.ylabel('Payment', size = 16)
plt.legend(prop = {'size': 14})
plt.show()
Έτσι, η ευθεία μας, κατασκευασμένη σύμφωνα με τη συνάρτηση , διαχωρίζει τους «κακούς» δανειολήπτες από τους «καλούς». Οι δανειολήπτες των οποίων οι επιθυμίες δεν συμπίπτουν με τις δυνατότητές τους βρίσκονται πάνω από τη γραμμή (Lesha), ενώ όσοι, σύμφωνα με τις παραμέτρους του μοντέλου μας, είναι σε θέση να αποπληρώσουν το δάνειο βρίσκονται κάτω από τη γραμμή (Vasya και Fedya). Με άλλα λόγια, μπορούμε να πούμε το εξής: η απευθείας γραμμή μας χωρίζει τους δανειολήπτες σε δύο κατηγορίες. Ας τα χαρακτηρίσουμε ως εξής: στην τάξη Θα ταξινομήσουμε όσους δανειολήπτες είναι πιο πιθανό να αποπληρώσουν το δάνειο ως ή Θα συμπεριλάβουμε τους δανειολήπτες που πιθανότατα δεν θα μπορέσουν να αποπληρώσουν το δάνειο.
Ας συνοψίσουμε τα συμπεράσματα από αυτό το απλό παράδειγμα. Ας πάρουμε ένα σημείο και, αντικαθιστώντας τις συντεταγμένες του σημείου στην αντίστοιχη εξίσωση της ευθείας , εξετάστε τρεις επιλογές:
- Αν το σημείο είναι κάτω από τη γραμμή και το αντιστοιχίσουμε στην τάξη , τότε η τιμή της συνάρτησης θα είναι θετικό από να . Αυτό σημαίνει ότι μπορούμε να υποθέσουμε ότι η πιθανότητα αποπληρωμής του δανείου είναι εντός . Όσο μεγαλύτερη είναι η τιμή της συνάρτησης, τόσο μεγαλύτερη είναι η πιθανότητα.
- Αν ένα σημείο βρίσκεται πάνω από μια ευθεία και το αντιστοιχίσουμε στην τάξη ή , τότε η τιμή της συνάρτησης θα είναι αρνητική από να . Τότε θα υποθέσουμε ότι η πιθανότητα αποπληρωμής του χρέους είναι εντός και, όσο μεγαλύτερη είναι η απόλυτη τιμή της συνάρτησης, τόσο μεγαλύτερη είναι η εμπιστοσύνη μας.
- Το σημείο βρίσκεται σε μια ευθεία γραμμή, στο όριο μεταξύ δύο τάξεων. Σε αυτή την περίπτωση, η τιμή της συνάρτησης θα είναι ίσοι και η πιθανότητα αποπληρωμής του δανείου είναι ίση με .
Τώρα, ας φανταστούμε ότι δεν έχουμε δύο παράγοντες, αλλά δεκάδες, και όχι τρεις, αλλά χιλιάδες δανειολήπτες. Τότε αντί για ευθεία γραμμή θα έχουμε m-διάσταση επίπεδο και συντελεστές δεν θα μας πάρουν από τον αέρα, αλλά θα προκύψουν σύμφωνα με όλους τους κανόνες και με βάση τα συσσωρευμένα δεδομένα για τους δανειολήπτες που έχουν ή δεν έχουν αποπληρώσει το δάνειο. Και πράγματι, σημειώστε ότι τώρα επιλέγουμε δανειολήπτες χρησιμοποιώντας ήδη γνωστούς συντελεστές . Στην πραγματικότητα, το καθήκον του μοντέλου λογιστικής παλινδρόμησης είναι ακριβώς να καθορίσει τις παραμέτρους , στην οποία συναρτάται η τιμή της απώλειας Logistic Loss θα τείνει στο ελάχιστο. Αλλά για το πώς υπολογίζεται το διάνυσμα , θα μάθουμε περισσότερα στην 5η ενότητα του άρθρου. Στο μεταξύ, επιστρέφουμε στη γη της επαγγελίας - στον τραπεζίτη μας και τους τρεις πελάτες του.
Χάρη στη λειτουργία γνωρίζουμε σε ποιον μπορεί να δοθεί δάνειο και σε ποιον πρέπει να αρνηθεί. Αλλά δεν μπορείτε να πάτε στον διευθυντή με τέτοιες πληροφορίες, γιατί ήθελαν να πάρουν από εμάς την πιθανότητα ο κάθε δανειολήπτης να αποπληρώσει το δάνειο. Τι να κάνω? Η απάντηση είναι απλή - πρέπει με κάποιο τρόπο να μεταμορφώσουμε τη συνάρτηση , οι τιμές των οποίων βρίσκονται στο εύρος σε μια συνάρτηση της οποίας οι τιμές θα βρίσκονται στο εύρος . Και μια τέτοια συνάρτηση υπάρχει, λέγεται συνάρτηση λογιστικής απόκρισης ή μετασχηματισμός αντίστροφου λογαριασμού. Συναντώ:
Ας δούμε βήμα βήμα πώς λειτουργεί λειτουργία υλικοτεχνικής απόκρισης. Σημειώστε ότι θα περπατήσουμε προς την αντίθετη κατεύθυνση, δηλ. θα υποθέσουμε ότι γνωρίζουμε την τιμή πιθανότητας, η οποία βρίσκεται στο εύρος από να και μετά θα "ξετυλίξουμε" αυτήν την τιμή σε όλο το εύρος των αριθμών από να .
03. Εξάγουμε τη συνάρτηση λογιστικής απόκρισης
Βήμα 1. Μετατρέψτε τις τιμές πιθανότητας σε εύρος
Κατά τη μετατροπή της συνάρτησης в λειτουργία υλικοτεχνικής απόκρισης Θα αφήσουμε ήσυχο τον πιστωτικό αναλυτή μας και θα κάνουμε μια περιήγηση στα πρακτορεία στοιχημάτων. Όχι, φυσικά, δεν θα βάλουμε στοιχήματα, το μόνο που μας ενδιαφέρει είναι η έννοια της έκφρασης, για παράδειγμα, η πιθανότητα είναι 4 προς 1. Οι πιθανότητες, γνωστές σε όλους τους παίκτες, είναι η αναλογία «επιτυχιών» προς « αποτυχίες». Σε όρους πιθανοτήτων, οι πιθανότητες είναι η πιθανότητα να συμβεί ένα γεγονός διαιρεμένη με την πιθανότητα να μην συμβεί το γεγονός. Ας γράψουμε τον τύπο για την πιθανότητα να συμβεί ένα συμβάν :
Όπου - πιθανότητα να συμβεί ένα συμβάν, — πιθανότητα να ΜΗΝ συμβεί ένα συμβάν
Για παράδειγμα, εάν η πιθανότητα ένα νεαρό, δυνατό και παιχνιδιάρικο άλογο με το παρατσούκλι «Veterok» να νικήσει μια ηλικιωμένη και πλαδαρή ηλικιωμένη γυναίκα που ονομάζεται «Matilda» σε έναν αγώνα είναι ίση με , τότε οι πιθανότητες επιτυχίας για το "Veterok" θα είναι к και αντίστροφα, γνωρίζοντας τις πιθανότητες, δεν θα μας είναι δύσκολο να υπολογίσουμε την πιθανότητα :
Έτσι, μάθαμε να «μεταφράζουμε» τις πιθανότητες σε πιθανότητες, οι οποίες παίρνουν τιμές από να . Ας κάνουμε ένα ακόμη βήμα και ας μάθουμε να «μεταφράζουμε» την πιθανότητα σε ολόκληρη την αριθμητική γραμμή από να .
Βήμα 2. Μετατρέψτε τις τιμές πιθανότητας σε εύρος
Αυτό το βήμα είναι πολύ απλό - ας πάρουμε τον λογάριθμο των πιθανοτήτων στη βάση του αριθμού του Euler και παίρνουμε:
Τώρα ξέρουμε ότι αν , στη συνέχεια υπολογίστε την τιμή θα είναι πολύ απλό και, επιπλέον, θα πρέπει να είναι θετικό: . Αυτό είναι αλήθεια.
Από περιέργεια, ας ελέγξουμε τι θα γίνει αν , τότε αναμένουμε να δούμε μια αρνητική τιμή . Ελέγχουμε: . Σωστά.
Τώρα ξέρουμε πώς να μετατρέψουμε την τιμή πιθανότητας από να κατά μήκος ολόκληρης της αριθμητικής γραμμής από να . Στο επόμενο βήμα θα κάνουμε το αντίθετο.
Προς το παρόν, σημειώνουμε ότι σύμφωνα με τους κανόνες του λογάριθμου, γνωρίζοντας την τιμή της συνάρτησης , μπορείτε να υπολογίσετε τις πιθανότητες:
Αυτή η μέθοδος προσδιορισμού των πιθανοτήτων θα μας φανεί χρήσιμη στο επόμενο βήμα.
Βήμα 3. Ας εξαγάγουμε έναν τύπο για τον προσδιορισμό
Έτσι μάθαμε, γνωρίζοντας , βρείτε τιμές συναρτήσεων . Ωστόσο, στην πραγματικότητα, χρειαζόμαστε ακριβώς το αντίθετο - γνωρίζοντας την αξία να βρούμε . Για να το κάνουμε αυτό, ας στραφούμε σε μια τέτοια έννοια όπως η συνάρτηση αντίστροφων πιθανοτήτων, σύμφωνα με την οποία:
Στο άρθρο δεν θα αντλήσουμε τον παραπάνω τύπο, αλλά θα τον ελέγξουμε χρησιμοποιώντας τους αριθμούς από το παραπάνω παράδειγμα. Γνωρίζουμε ότι με πιθανότητες 4 προς 1 (), η πιθανότητα να συμβεί το συμβάν είναι 0.8 (). Ας κάνουμε μια αντικατάσταση: . Αυτό συμπίπτει με τους υπολογισμούς μας που έγιναν νωρίτερα. Ας προχωρήσουμε.
Στο τελευταίο βήμα το συμπεράνουμε , που σημαίνει ότι μπορείτε να κάνετε μια αντικατάσταση στη συνάρτηση αντίστροφων πιθανοτήτων. Παίρνουμε:
Διαιρέστε και τον αριθμητή και τον παρονομαστή με , Επειτα:
Σε κάθε περίπτωση, για να βεβαιωθούμε ότι δεν έχουμε κάνει λάθος πουθενά, θα κάνουμε έναν ακόμη μικρό έλεγχο. Στο βήμα 2, εμείς για καθόρισε ότι . Στη συνέχεια, αντικαθιστώντας την τιμή στη λειτουργία υλικοτεχνικής απόκρισης, περιμένουμε να μπούμε . Αντικαθιστούμε και παίρνουμε:
Συγχαρητήρια, αγαπητέ αναγνώστη, μόλις καταλήξαμε και δοκιμάσαμε τη συνάρτηση λογιστικής απόκρισης. Ας δούμε το γράφημα της συνάρτησης.
Γράφημα 3 «Λειτουργία λογιστικής απόκρισης»
Κωδικός για τη σχεδίαση του γραφήματος
import math
def logit (f):
return 1/(1+math.exp(-f))
f = np.arange(-7,7,0.05)
p = []
for i in f:
p.append(logit(i))
fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(f, p, color = 'grey', label = '$ 1 / (1+e^{-w^Tx_i})$')
plt.xlabel('$f(w,x_i) = w^Tx_i$', size = 16)
plt.ylabel('$p_{i+}$', size = 16)
plt.legend(prop = {'size': 14})
plt.show()
Στη βιβλιογραφία μπορείτε επίσης να βρείτε το όνομα αυτής της συνάρτησης ως σιγμοειδής συνάρτηση. Το γράφημα δείχνει ξεκάθαρα ότι η κύρια αλλαγή στην πιθανότητα ενός αντικειμένου να ανήκει σε μια κλάση συμβαίνει σε ένα σχετικά μικρό εύρος , κάπου από να .
Προτείνω να επιστρέψετε στον πιστωτικό αναλυτή μας και να τον βοηθήσετε να υπολογίσει την πιθανότητα αποπληρωμής του δανείου, διαφορετικά κινδυνεύει να μείνει χωρίς μπόνους :)
Πίνακας 2 «Πιθανοί δανειολήπτες»
Κωδικός για τη δημιουργία του πίνακα
proba = []
for i in df['f(w,x)']:
proba.append(round(logit(i),2))
df['Probability'] = proba
df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision', 'Probability']]
Έτσι, προσδιορίσαμε την πιθανότητα αποπληρωμής του δανείου. Σε γενικές γραμμές, αυτό φαίνεται να είναι αλήθεια.
Πράγματι, η πιθανότητα ότι ο Vasya, με μισθό 120.000 RUR, θα μπορεί να δίνει 3.000 RUR στην τράπεζα κάθε μήνα είναι κοντά στο 100%. Παρεμπιπτόντως, πρέπει να καταλάβουμε ότι μια τράπεζα μπορεί να εκδώσει δάνειο στη Lesha εάν η πολιτική της τράπεζας προβλέπει, για παράδειγμα, δανεισμό σε πελάτες με πιθανότητα αποπληρωμής δανείου μεγαλύτερη από, ας πούμε, 0.3. Απλώς σε αυτή την περίπτωση η τράπεζα θα δημιουργήσει μεγαλύτερο αποθεματικό για πιθανές ζημίες.
Θα πρέπει επίσης να σημειωθεί ότι η αναλογία μισθού προς πληρωμή τουλάχιστον 3 και με περιθώριο 5.000 RUR αφαιρέθηκε από το ανώτατο όριο. Επομένως, δεν μπορούσαμε να χρησιμοποιήσουμε το διάνυσμα βαρών στην αρχική του μορφή . Χρειάστηκε να μειώσουμε πολύ τους συντελεστές και σε αυτή την περίπτωση διαιρέσαμε κάθε συντελεστή με 25.000, δηλαδή στην ουσία προσαρμόσαμε το αποτέλεσμα. Αλλά αυτό έγινε ειδικά για να απλοποιηθεί η κατανόηση του υλικού στο αρχικό στάδιο. Στη ζωή, δεν θα χρειαστεί να επινοήσουμε και να προσαρμόσουμε συντελεστές, αλλά να τους βρούμε. Στις επόμενες ενότητες του άρθρου θα εξαγάγουμε τις εξισώσεις με τις οποίες επιλέγονται οι παράμετροι .
04. Μέθοδος ελαχίστων τετραγώνων για τον προσδιορισμό του διανύσματος των βαρών στη συνάρτηση λογιστικής απόκρισης
Γνωρίζουμε ήδη αυτή τη μέθοδο για την επιλογή ενός διανύσματος βαρών ως Μέθοδος ελαχίστων τετραγώνων (LSM) και στην πραγματικότητα, γιατί δεν το χρησιμοποιούμε σε προβλήματα δυαδικής ταξινόμησης; Πράγματι, τίποτα δεν σας εμποδίζει να το χρησιμοποιήσετε MNC, μόνο αυτή η μέθοδος στα προβλήματα ταξινόμησης δίνει αποτελέσματα που είναι λιγότερο ακριβή από Logistic Loss. Υπάρχει μια θεωρητική βάση για αυτό. Ας δούμε πρώτα ένα απλό παράδειγμα.
Ας υποθέσουμε ότι τα μοντέλα μας (χρησιμοποιώντας MSE и Logistic Loss) έχουν ήδη ξεκινήσει την επιλογή του διανύσματος των βαρών και σταματήσαμε τον υπολογισμό σε κάποιο βήμα. Δεν έχει σημασία αν στη μέση, στο τέλος ή στην αρχή, το κύριο πράγμα είναι ότι έχουμε ήδη κάποιες τιμές του διανύσματος των βαρών και ας υποθέσουμε ότι σε αυτό το βήμα, το διάνυσμα των βαρών και για τα δύο μοντέλα δεν υπάρχουν διαφορές. Στη συνέχεια, πάρτε τα βάρη που προκύπτουν και αντικαταστήστε τα λειτουργία υλικοτεχνικής απόκρισης () για κάποιο αντικείμενο που ανήκει στην κλάση . Εξετάζουμε δύο περιπτώσεις όταν, σύμφωνα με το επιλεγμένο διάνυσμα βαρών, το μοντέλο μας είναι πολύ λανθασμένο και το αντίστροφο - το μοντέλο είναι πολύ σίγουρο ότι το αντικείμενο ανήκει στην κατηγορία . Ας δούμε τι πρόστιμα θα εκδοθούν κατά τη χρήση MNC и Logistic Loss.
Κωδικός για τον υπολογισμό των ποινών ανάλογα με τη συνάρτηση απώλειας που χρησιμοποιείται
# класс объекта
y = 1
# вероятность отнесения объекта к классу в соответствии с параметрами w
proba_1 = 0.01
MSE_1 = (y - proba_1)**2
print 'Штраф MSE при грубой ошибке =', MSE_1
# напишем функцию для вычисления f(w,x) при известной вероятности отнесения объекта к классу +1 (f(w,x)=ln(odds+))
def f_w_x(proba):
return math.log(proba/(1-proba))
LogLoss_1 = math.log(1+math.exp(-y*f_w_x(proba_1)))
print 'Штраф Log Loss при грубой ошибке =', LogLoss_1
proba_2 = 0.99
MSE_2 = (y - proba_2)**2
LogLoss_2 = math.log(1+math.exp(-y*f_w_x(proba_2)))
print '**************************************************************'
print 'Штраф MSE при сильной уверенности =', MSE_2
print 'Штраф Log Loss при сильной уверенности =', LogLoss_2
Υπόθεση γκάφας — το μοντέλο εκχωρεί ένα αντικείμενο σε μια κλάση με πιθανότητα 0,01
Ποινή κατά τη χρήση MNC θα είναι:
Ποινή κατά τη χρήση Logistic Loss θα είναι:
Μια περίπτωση ισχυρής εμπιστοσύνης — το μοντέλο εκχωρεί ένα αντικείμενο σε μια κλάση με πιθανότητα 0,99
Ποινή κατά τη χρήση MNC θα είναι:
Ποινή κατά τη χρήση Logistic Loss θα είναι:
Αυτό το παράδειγμα δείχνει καλά ότι σε περίπτωση χονδροειδούς σφάλματος η συνάρτηση απώλειας Απώλεια καταγραφής τιμωρεί το μοντέλο σημαντικά περισσότερο από MSE. Ας καταλάβουμε τώρα ποιο είναι το θεωρητικό υπόβαθρο για τη χρήση της συνάρτησης απώλειας Απώλεια καταγραφής σε προβλήματα ταξινόμησης.
05. Μέθοδος μέγιστης πιθανότητας και λογιστική παλινδρόμηση
Όπως υποσχέθηκε στην αρχή, το άρθρο είναι γεμάτο με απλά παραδείγματα. Στο στούντιο υπάρχει ένα άλλο παράδειγμα και παλιοί επισκέπτες - δανειολήπτες τράπεζας: Vasya, Fedya και Lesha.
Για κάθε περίπτωση, πριν αναπτύξω το παράδειγμα, επιτρέψτε μου να σας υπενθυμίσω ότι στη ζωή έχουμε να κάνουμε με ένα δείγμα εκπαίδευσης χιλιάδων ή εκατομμυρίων αντικειμένων με δεκάδες ή εκατοντάδες χαρακτηριστικά. Ωστόσο, εδώ οι αριθμοί λαμβάνονται έτσι ώστε να χωρούν εύκολα στο κεφάλι ενός αρχάριου επιστήμονα δεδομένων.
Ας επιστρέψουμε στο παράδειγμα. Ας φανταστούμε ότι ο διευθυντής της τράπεζας αποφάσισε να εκδώσει ένα δάνειο σε όλους όσους το είχαν ανάγκη, παρά το γεγονός ότι ο αλγόριθμος του είπε να μην το εκδώσει στη Lesha. Και τώρα έχει περάσει αρκετός καιρός και ξέρουμε ποιος από τους τρεις ήρωες αποπλήρωσε το δάνειο και ποιος όχι. Τι ήταν αναμενόμενο: Η Vasya και η Fedya αποπλήρωσαν το δάνειο, αλλά η Lesha δεν το έκανε. Τώρα ας φανταστούμε ότι αυτό το αποτέλεσμα θα είναι ένα νέο δείγμα εκπαίδευσης για εμάς και, ταυτόχρονα, είναι σαν να έχουν εξαφανιστεί όλα τα δεδομένα σχετικά με τους παράγοντες που επηρεάζουν την πιθανότητα αποπληρωμής του δανείου (μισθός δανειολήπτη, μέγεθος μηνιαίας πληρωμής). Τότε, διαισθητικά, μπορούμε να υποθέσουμε ότι κάθε τρίτος δανειολήπτης δεν αποπληρώνει το δάνειο στην τράπεζα, ή με άλλα λόγια, η πιθανότητα ο επόμενος δανειολήπτης να αποπληρώσει το δάνειο . Αυτή η διαισθητική υπόθεση έχει θεωρητική επιβεβαίωση και βασίζεται σε Μέθοδος μέγιστης πιθανότητας, συχνά στη βιβλιογραφία ονομάζεται αρχή της μέγιστης πιθανότητας.
Αρχικά, ας εξοικειωθούμε με την εννοιολογική συσκευή.
Πιθανότητα δειγματοληψίας είναι η πιθανότητα να ληφθεί ακριβώς ένα τέτοιο δείγμα, να ληφθούν ακριβώς τέτοιες παρατηρήσεις/αποτελέσματα, δηλ. το γινόμενο των πιθανοτήτων απόκτησης καθενός από τα αποτελέσματα του δείγματος (για παράδειγμα, εάν το δάνειο των Vasya, Fedya και Lesha εξοφλήθηκε ή δεν εξοφλήθηκε ταυτόχρονα).
Συνάρτηση πιθανότητας συσχετίζει την πιθανότητα ενός δείγματος με τις τιμές των παραμέτρων κατανομής.
Στην περίπτωσή μας, το δείγμα εκπαίδευσης είναι ένα γενικευμένο σχήμα Bernoulli, στο οποίο η τυχαία μεταβλητή παίρνει μόνο δύο τιμές: ή . Επομένως, η πιθανότητα δείγματος μπορεί να γραφτεί ως συνάρτηση πιθανότητας της παραμέτρου ως εξής:
Το παραπάνω λήμμα μπορεί να ερμηνευτεί ως εξής. Η κοινή πιθανότητα ότι η Vasya και η Fedya θα αποπληρώσουν το δάνειο είναι ίση με , η πιθανότητα ότι η Lesha ΔΕΝ θα αποπληρώσει το δάνειο είναι ίση με (αφού ΔΕΝ έγινε η αποπληρωμή του δανείου), επομένως η κοινή πιθανότητα και των τριών γεγονότων είναι ίση .
Μέθοδος μέγιστης πιθανότητας είναι μια μέθοδος για την εκτίμηση μιας άγνωστης παραμέτρου με μεγιστοποίηση συναρτήσεις πιθανότητας. Στην περίπτωσή μας, πρέπει να βρούμε μια τέτοια τιμή , στο οποίο φτάνει στο μέγιστο.
Από πού προέρχεται η πραγματική ιδέα - να αναζητήσουμε την τιμή μιας άγνωστης παραμέτρου στην οποία η συνάρτηση πιθανότητας φτάνει στο μέγιστο; Η προέλευση της ιδέας πηγάζει από την ιδέα ότι ένα δείγμα είναι η μόνη πηγή γνώσης που έχουμε στη διάθεσή μας για τον πληθυσμό. Όλα όσα γνωρίζουμε για τον πληθυσμό αντιπροσωπεύονται στο δείγμα. Επομένως, το μόνο που μπορούμε να πούμε είναι ότι ένα δείγμα είναι η πιο ακριβής αντανάκλαση του πληθυσμού που έχουμε στη διάθεσή μας. Επομένως, πρέπει να βρούμε μια παράμετρο στην οποία το διαθέσιμο δείγμα γίνεται το πιο πιθανό.
Προφανώς, έχουμε να κάνουμε με ένα πρόβλημα βελτιστοποίησης στο οποίο πρέπει να βρούμε το ακραίο σημείο μιας συνάρτησης. Για να βρεθεί το ακραίο σημείο, είναι απαραίτητο να ληφθεί υπόψη η συνθήκη πρώτης τάξης, δηλαδή να εξισωθεί η παράγωγος της συνάρτησης με το μηδέν και να λυθεί η εξίσωση ως προς την επιθυμητή παράμετρο. Ωστόσο, η αναζήτηση για την παράγωγο ενός προϊόντος μεγάλου αριθμού παραγόντων μπορεί να είναι μια μακρά εργασία· για να αποφευχθεί αυτό, υπάρχει μια ειδική τεχνική - η μετάβαση στον λογάριθμο συναρτήσεις πιθανότητας. Γιατί είναι δυνατή μια τέτοια μετάβαση; Ας δώσουμε προσοχή στο γεγονός ότι δεν αναζητούμε το άκρο της ίδιας της συνάρτησης, και το ακραίο σημείο, δηλαδή την τιμή της άγνωστης παραμέτρου , στο οποίο φτάνει στο μέγιστο. Όταν μετακινούμαστε σε λογάριθμο, το άκρο δεν αλλάζει (αν και το ίδιο το άκρο θα διαφέρει), αφού ο λογάριθμος είναι μια μονότονη συνάρτηση.
Ας συνεχίσουμε, σύμφωνα με τα παραπάνω, να αναπτύσσουμε το παράδειγμά μας με δάνεια από τους Vasya, Fedya και Lesha. Πρώτα ας προχωρήσουμε στο λογάριθμος της συνάρτησης πιθανότητας:
Τώρα μπορούμε εύκολα να διαφοροποιήσουμε την έκφραση κατά :
Και τέλος, θεωρήστε την συνθήκη πρώτης τάξης - εξισώνουμε την παράγωγο της συνάρτησης με μηδέν:
Έτσι, η διαισθητική μας εκτίμηση για την πιθανότητα αποπληρωμής του δανείου δικαιολογήθηκε θεωρητικά.
Ωραία, αλλά τι πρέπει να κάνουμε με αυτές τις πληροφορίες τώρα; Αν υποθέσουμε ότι κάθε τρίτος δανειολήπτης δεν επιστρέφει τα χρήματα στην τράπεζα, τότε η τελευταία αναπόφευκτα θα χρεοκοπήσει. Αυτό είναι σωστό, αλλά μόνο όταν αξιολογείται η πιθανότητα αποπληρωμής του δανείου ίση με Δεν λάβαμε υπόψη τους παράγοντες που επηρεάζουν την αποπληρωμή του δανείου: τον μισθό του δανειολήπτη και το μέγεθος της μηνιαίας πληρωμής. Ας θυμηθούμε ότι προηγουμένως υπολογίσαμε την πιθανότητα αποπληρωμής του δανείου από κάθε πελάτη, λαμβάνοντας υπόψη αυτούς τους ίδιους παράγοντες. Είναι λογικό ότι λάβαμε πιθανότητες διαφορετικές από το σταθερό ίσο .
Ας ορίσουμε την πιθανότητα δειγμάτων:
Κωδικός για τον υπολογισμό των πιθανοτήτων δείγματος
from functools import reduce
def likelihood(y,p):
line_true_proba = []
for i in range(len(y)):
ltp_i = p[i]**y[i]*(1-p[i])**(1-y[i])
line_true_proba.append(ltp_i)
likelihood = []
return reduce(lambda a, b: a*b, line_true_proba)
y = [1.0,1.0,0.0]
p_log_response = df['Probability']
const = 2.0/3.0
p_const = [const, const, const]
print 'Правдоподобие выборки при константном значении p=2/3:', round(likelihood(y,p_const),3)
print '****************************************************************************************************'
print 'Правдоподобие выборки при расчетном значении p:', round(likelihood(y,p_log_response),3)
Πιθανότητα δείγματος σε σταθερή τιμή :
Δείγμα πιθανότητας κατά τον υπολογισμό της πιθανότητας αποπληρωμής του δανείου λαμβάνοντας υπόψη παράγοντες :
Η πιθανότητα ενός δείγματος με πιθανότητα υπολογισμένη ανάλογα με τους παράγοντες αποδείχθηκε μεγαλύτερη από την πιθανότητα με σταθερή τιμή πιθανότητας. Τι σημαίνει αυτό? Αυτό υποδηλώνει ότι η γνώση σχετικά με τους παράγοντες κατέστησε δυνατή την ακριβέστερη επιλογή της πιθανότητας αποπληρωμής του δανείου για κάθε πελάτη. Επομένως, κατά την έκδοση του επόμενου δανείου, θα ήταν πιο σωστό να χρησιμοποιηθεί το μοντέλο που προτείνεται στο τέλος της ενότητας 3 του άρθρου για την αξιολόγηση της πιθανότητας αποπληρωμής του χρέους.
Αλλά τότε, αν θέλουμε να μεγιστοποιήσουμε δείγμα συνάρτησης πιθανότητας, τότε γιατί να μην χρησιμοποιήσετε κάποιον αλγόριθμο που θα παράγει πιθανότητες για τους Vasya, Fedya και Lesha, για παράδειγμα, ίσες με 0.99, 0.99 και 0.01, αντίστοιχα. Ίσως ένας τέτοιος αλγόριθμος να έχει καλή απόδοση στο δείγμα εκπαίδευσης, καθώς θα φέρει την τιμή πιθανότητας του δείγματος πιο κοντά στο , αλλά, πρώτον, ένας τέτοιος αλγόριθμος πιθανότατα θα έχει δυσκολίες με την ικανότητα γενίκευσης και δεύτερον, αυτός ο αλγόριθμος σίγουρα δεν θα είναι γραμμικός. Και αν οι μέθοδοι καταπολέμησης της υπερβολικής προπόνησης (εξίσου αδύναμη ικανότητα γενίκευσης) σαφώς δεν περιλαμβάνονται στο σχέδιο αυτού του άρθρου, τότε ας δούμε το δεύτερο σημείο με περισσότερες λεπτομέρειες. Για να το κάνετε αυτό, απλώς απαντήστε σε μια απλή ερώτηση. Μπορεί η πιθανότητα η Vasya και η Fedya να αποπληρώσουν το δάνειο να είναι η ίδια, λαμβάνοντας υπόψη τους γνωστούς σε εμάς παράγοντες; Από την άποψη της ορθής λογικής, φυσικά όχι, δεν μπορεί. Έτσι ο Βάσια θα πληρώνει το 2.5% του μισθού του μηνιαίως για να αποπληρώσει το δάνειο και ο Φέντια - σχεδόν το 27,8%. Επίσης στο γράφημα 2 «Ταξινόμηση πελατών» βλέπουμε ότι η Vasya είναι πολύ πιο μακριά από τη γραμμή που χωρίζει τις κλάσεις από τη Fedya. Και τέλος, γνωρίζουμε ότι η συνάρτηση για Vasya και Fedya παίρνει διαφορετικές τιμές: 4.24 για Vasya και 1.0 για Fedya. Τώρα, εάν ο Fedya, για παράδειγμα, κέρδιζε μια τάξη μεγέθους περισσότερο ή ζητούσε μικρότερο δάνειο, τότε οι πιθανότητες αποπληρωμής του δανείου για τον Vasya και τον Fedya θα ήταν παρόμοιες. Με άλλα λόγια, η γραμμική εξάρτηση δεν μπορεί να ξεγελαστεί. Και αν όντως υπολογίσαμε τις πιθανότητες , και δεν τα βγάλαμε από τον αέρα, θα μπορούσαμε με ασφάλεια να πούμε ότι οι αξίες μας μας επιτρέπουν καλύτερα να εκτιμήσουμε την πιθανότητα αποπληρωμής του δανείου από κάθε δανειολήπτη, αλλά εφόσον συμφωνήσαμε να υποθέσουμε ότι ο καθορισμός των συντελεστών πραγματοποιήθηκε σύμφωνα με όλους τους κανόνες, τότε θα το υποθέσουμε - οι συντελεστές μας μας επιτρέπουν να δώσουμε μια καλύτερη εκτίμηση της πιθανότητας :)
Ωστόσο, παρεκκλίνουμε. Σε αυτή την ενότητα πρέπει να κατανοήσουμε πώς καθορίζεται το διάνυσμα των βαρών , το οποίο είναι απαραίτητο για την αξιολόγηση της πιθανότητας αποπληρωμής του δανείου από κάθε δανειολήπτη.
Ας συνοψίσουμε εν συντομία με ποιο οπλοστάσιο αναζητούμε αποδόσεις :
1. Υποθέτουμε ότι η σχέση μεταξύ της μεταβλητής στόχου (τιμή πρόβλεψης) και του παράγοντα που επηρεάζει το αποτέλεσμα είναι γραμμική. Για το λόγο αυτό χρησιμοποιείται συνάρτηση γραμμικής παλινδρόμησης μορφή , η γραμμή του οποίου χωρίζει αντικείμενα (πελάτες) σε κλάσεις и ή (πελάτες που είναι σε θέση να αποπληρώσουν το δάνειο και αυτοί που δεν είναι). Στην περίπτωσή μας, η εξίσωση έχει τη μορφή .
2. Χρησιμοποιούμε αντίστροφη συνάρτηση logit μορφή για τον προσδιορισμό της πιθανότητας ενός αντικειμένου να ανήκει σε μια κλάση .
3. Θεωρούμε το εκπαιδευτικό μας σύνολο ως εφαρμογή μιας γενικευμένης Σχέδια Bernoulli, δηλαδή για κάθε αντικείμενο δημιουργείται μια τυχαία μεταβλητή, η οποία με πιθανότητα (το δικό του για κάθε αντικείμενο) παίρνει την τιμή 1 και με πιθανότητα - 0.
4. Ξέρουμε τι πρέπει να μεγιστοποιήσουμε δείγμα συνάρτησης πιθανότητας λαμβάνοντας υπόψη τους αποδεκτούς παράγοντες ώστε το διαθέσιμο δείγμα να γίνει το πιο αληθοφανές. Με άλλα λόγια, πρέπει να επιλέξουμε παραμέτρους στις οποίες το δείγμα θα είναι πιο εύλογο. Στην περίπτωσή μας, η επιλεγμένη παράμετρος είναι η πιθανότητα αποπληρωμής του δανείου , το οποίο με τη σειρά του εξαρτάται από άγνωστους συντελεστές . Πρέπει λοιπόν να βρούμε ένα τέτοιο διάνυσμα βαρών , στο οποίο η πιθανότητα του δείγματος θα είναι μέγιστη.
5. Ξέρουμε τι να μεγιστοποιήσουμε δείγμα συναρτήσεων πιθανότητας μπορείτε να χρησιμοποιήσετε Μέθοδος μέγιστης πιθανότητας. Και γνωρίζουμε όλα τα δύσκολα κόλπα για να δουλέψουμε με αυτήν τη μέθοδο.
Έτσι αποδεικνύεται μια κίνηση πολλών βημάτων :)
Τώρα θυμηθείτε ότι στην αρχή του άρθρου θέλαμε να εξαγάγουμε δύο τύπους συναρτήσεων απώλειας Logistic Loss ανάλογα με το πώς ορίζονται οι κλάσεις αντικειμένων. Έτυχε ότι σε προβλήματα ταξινόμησης με δύο κλάσεις, οι κλάσεις συμβολίζονται ως и ή . Ανάλογα με τη σημείωση, η έξοδος θα έχει μια αντίστοιχη συνάρτηση απώλειας.
Περίπτωση 1. Ταξινόμηση αντικειμένων σε и
Νωρίτερα, κατά τον προσδιορισμό της πιθανότητας ενός δείγματος, στο οποίο η πιθανότητα αποπληρωμής του χρέους από τον δανειολήπτη υπολογίστηκε με βάση παράγοντες και δεδομένους συντελεστές , εφαρμόσαμε τον τύπο:
Πραγματικά είναι το νόημα λειτουργίες υλικοτεχνικής απόκρισης για ένα δεδομένο διάνυσμα βαρών
Τότε τίποτα δεν μας εμποδίζει να γράψουμε τη συνάρτηση πιθανότητας δείγματος ως εξής:
Συμβαίνει ότι μερικές φορές είναι δύσκολο για ορισμένους αρχάριους αναλυτές να καταλάβουν αμέσως πώς λειτουργεί αυτή η λειτουργία. Ας δούμε 4 σύντομα παραδείγματα που θα ξεκαθαρίσουν τα πράγματα:
1. αν (δηλαδή, σύμφωνα με το δείγμα εκπαίδευσης, το αντικείμενο ανήκει στην κλάση +1) και τον αλγόριθμό μας καθορίζει την πιθανότητα ταξινόμησης ενός αντικειμένου σε μια κλάση ίση με 0.9, τότε αυτό το τμήμα πιθανότητας δείγματος θα υπολογιστεί ως εξής:
2. αν Και , τότε ο υπολογισμός θα είναι ως εξής:
3. αν Και , τότε ο υπολογισμός θα είναι ως εξής:
4. αν Και , τότε ο υπολογισμός θα είναι ως εξής:
Είναι προφανές ότι η συνάρτηση πιθανότητας θα μεγιστοποιηθεί στις περιπτώσεις 1 και 3 ή στη γενική περίπτωση - με σωστά εικασμένες τιμές των πιθανοτήτων εκχώρησης ενός αντικειμένου σε μια κλάση .
Λόγω του γεγονότος ότι κατά τον προσδιορισμό της πιθανότητας εκχώρησης ενός αντικειμένου σε μια κλάση Μόνο τους συντελεστές δεν ξέρουμε , τότε θα τα αναζητήσουμε. Όπως αναφέρθηκε παραπάνω, αυτό είναι ένα πρόβλημα βελτιστοποίησης στο οποίο πρώτα πρέπει να βρούμε την παράγωγο της συνάρτησης πιθανότητας σε σχέση με το διάνυσμα των βαρών . Ωστόσο, πρώτα έχει νόημα να απλοποιήσουμε την εργασία για εμάς: θα αναζητήσουμε την παράγωγο του λογαρίθμου συναρτήσεις πιθανότητας.
Γιατί μετά από λογάριθμο, σε συναρτήσεις λογιστικού σφάλματος, αλλάξαμε το σήμα από επί . Όλα είναι απλά, αφού στα προβλήματα αξιολόγησης της ποιότητας ενός μοντέλου συνηθίζεται να ελαχιστοποιείται η τιμή μιας συνάρτησης, πολλαπλασιάσαμε τη δεξιά πλευρά της έκφρασης με και κατά συνέπεια, αντί να μεγιστοποιήσουμε, τώρα ελαχιστοποιούμε τη συνάρτηση.
Στην πραγματικότητα, αυτή τη στιγμή, μπροστά στα μάτια σας, προέκυψε με κόπο η συνάρτηση απώλειας - Logistic Loss για ένα σετ εκπαίδευσης με δύο τάξεις: и .
Τώρα, για να βρούμε τους συντελεστές, πρέπει απλώς να βρούμε την παράγωγο συναρτήσεις λογιστικού σφάλματος και στη συνέχεια, χρησιμοποιώντας μεθόδους αριθμητικής βελτιστοποίησης, όπως gradient descent ή stochastic gradient descent, επιλέξτε τους βέλτιστους συντελεστές . Όμως, δεδομένου του σημαντικού όγκου του άρθρου, προτείνεται να πραγματοποιήσετε τη διαφοροποίηση μόνοι σας, ή ίσως αυτό θα είναι ένα θέμα για το επόμενο άρθρο με πολλή αριθμητική χωρίς τέτοια λεπτομερή παραδείγματα.
Περίπτωση 2. Ταξινόμηση αντικειμένων σε и
Η προσέγγιση εδώ θα είναι η ίδια όπως και με τις τάξεις и , αλλά η ίδια η διαδρομή προς την έξοδο της συνάρτησης απώλειας Logistic Loss, θα είναι πιο περίτεχνα. Ας αρχίσουμε. Για τη συνάρτηση πιθανότητας θα χρησιμοποιήσουμε τον τελεστή "αν τότε...". Αν δηλαδή Το αντικείμενο ανήκει στην κλάση , τότε για να υπολογίσουμε την πιθανότητα του δείγματος χρησιμοποιούμε την πιθανότητα , εάν το αντικείμενο ανήκει στην κλάση , τότε αντικαθιστούμε στην πιθανότητα . Έτσι φαίνεται η συνάρτηση πιθανότητας:
Ας περιγράψουμε στα δάχτυλά μας πώς λειτουργεί. Ας δούμε 4 περιπτώσεις:
1. αν и , τότε η πιθανότητα δειγματοληψίας θα «πάει»
2. αν и , τότε η πιθανότητα δειγματοληψίας θα «πάει»
3. αν и , τότε η πιθανότητα δειγματοληψίας θα «πάει»
4. αν и , τότε η πιθανότητα δειγματοληψίας θα «πάει»
Είναι προφανές ότι στις περιπτώσεις 1 και 3, όταν οι πιθανότητες καθορίστηκαν σωστά από τον αλγόριθμο, συνάρτηση πιθανότητας θα μεγιστοποιηθεί, δηλαδή αυτό ακριβώς θέλαμε να πάρουμε. Ωστόσο, αυτή η προσέγγιση είναι αρκετά επαχθής και στη συνέχεια θα εξετάσουμε έναν πιο συμπαγή συμβολισμό. Αλλά πρώτα, ας λογαριθμήσουμε τη συνάρτηση πιθανότητας με αλλαγή πρόσημου, αφού τώρα θα την ελαχιστοποιήσουμε.
Ας αντικαταστήσουμε έκφρασης :
Ας απλοποιήσουμε τον σωστό όρο κάτω από τον λογάριθμο χρησιμοποιώντας απλές αριθμητικές τεχνικές και πάρουμε:
Τώρα ήρθε η ώρα να απαλλαγούμε από τον χειριστή "αν τότε...". Σημειώστε ότι όταν ένα αντικείμενο ανήκει στην τάξη , μετά στην έκφραση κάτω από τον λογάριθμο, στον παρονομαστή, ανυψώθηκε στην εξουσία , εάν το αντικείμενο ανήκει στην κλάση , τότε το $e$ ανυψώνεται στην ισχύ . Επομένως, η σημείωση για τον βαθμό μπορεί να απλοποιηθεί συνδυάζοντας και τις δύο περιπτώσεις σε μία: . Επειτα συνάρτηση λογιστικού σφάλματος θα λάβει τη μορφή:
Σύμφωνα με τους κανόνες του λογάριθμου, αναποδογυρίζουμε το κλάσμα και βγάζουμε το σύμβολο "" (μείον) για τον λογάριθμο, παίρνουμε:
Εδώ είναι η συνάρτηση απώλειας υλικοτεχνική απώλεια, το οποίο χρησιμοποιείται στο σετ εκπαίδευσης με αντικείμενα που έχουν εκχωρηθεί σε τάξεις: и .
Λοιπόν, σε αυτό το σημείο παίρνω την άδεια μου και ολοκληρώνουμε το άρθρο.
Βοηθητικά υλικά
1. Λογοτεχνία
1) Εφαρμοσμένη ανάλυση παλινδρόμησης / N. Draper, G. Smith - 2nd ed. – M.: Finance and Statistics, 1986 (μετάφραση από τα αγγλικά)
2) Θεωρία πιθανοτήτων και μαθηματική στατιστική / V.E. Gmurman - 9η έκδ. - Μ.: Ανώτατο Σχολείο, 2003
3) Θεωρία πιθανοτήτων / N.I. Chernova - Novosibirsk: Novosibirsk State University, 2007
4) Business analytics: από τα δεδομένα στη γνώση / Paklin N. B., Oreshkov V. I. - 2nd ed. — Αγία Πετρούπολη: Πέτρος, 2013
5) Επιστήμη Δεδομένων Επιστήμη δεδομένων από το μηδέν / Joel Gras - Αγία Πετρούπολη: BHV Petersburg, 2017
6) Πρακτικές στατιστικές για ειδικούς της Επιστήμης Δεδομένων / P. Bruce, E. Bruce - St. Petersburg: BHV Petersburg, 2018
2. Διαλέξεις, μαθήματα (βίντεο)
1)
2)
3)
4)
5)
3. Πηγές Διαδικτύου
1)
2)
3)
4)
6)