Αρχή

Machine Learning 8: Batch Gradient Descent, Stochastic Gradient Descent και λίγα λόγια για τις Loss Function

Batch Gradient Descent και Stochastic Gradient Descent

Αυτό που εκτελέσαμε στην προηγούμενη ενότητα ήταν Batch Gradient Descent. Στον αλγόριθμο Batch Gradient Descent, για κάθε επανάληψη (epoch) υπολογίζεται το gradient (η κλίση) της συνάρτησης κόστους χρησιμοποιώντας ολόκληρο το σύνολο των δεδομένων training (εκπαίδευσης). Στη συνέχεια οι παράμετροι του μοντέλου ενημερώνονται προς την κατεύθυνση που μειώνει το σφάλμα, ενώ το learning rate καθορίζει το μέγεθος του βήματος της ενημέρωσης. Η μέθοδος αυτή συγκλίνει στο ολικό ελάχιστο όταν η συνάρτηση κόστους είναι κυρτή (convex), ενώ για μη κυρτές συναρτήσεις συγκλίνει σε κάποιο τοπικό ελάχιστο (St-Aubin, n.d.).

Ωστόσο, όταν τα δεδομένα είναι πολύ μεγάλα, ο υπολογισμός του gradient σε ολόκληρο το dataset σε κάθε επανάληψη μπορεί να είναι υπολογιστικά κοστοβόρος. Για τον λόγο αυτό χρησιμοποιείται συχνά το Stochastic Gradient Descent (SGD). Στην περίπτωση αυτή το gradient υπολογίζεται χρησιμοποιώντας μόνο ένα δείγμα κάθε φορά και οι παράμετροι ενημερώνονται αμέσως μετά από κάθε υπολογισμό. Τα δεδομένα συνήθως ανακατεύονται πριν από κάθε epoch ώστε να αποφευχθεί μεροληψία από τη σειρά των παραδειγμάτων. Αν και το SGD είναι πιο γρήγορο υπολογιστικά, η πορεία σύγκλισής του παρουσιάζει μεγαλύτερες διακυμάνσεις (St-Aubin, n.d.).

Regression Loss Functions

Οι συναρτήσεις κόστους (loss functions) στη παλινδρόμηση χρησιμοποιούνται για να μετρήσουν πόσο διαφέρουν οι προβλέψεις ενός μοντέλου από τις πραγματικές τιμές. Οι περισσότερες βασίζονται στα residuals, δηλαδή στη διαφορά μεταξύ της πραγματικής τιμής y και της προβλεπόμενης τιμής f(x). Παρακάτω παρουσιάζονται μερικές από τις πιο συνηθισμένες συναρτήσεις κόστους.

1. Mean Bias Error (MBE)

Μετρά τη μέση διαφορά μεταξύ προβλεπόμενων και πραγματικών τιμών:

L = (1/n) Σ (yᵢ − f(xᵢ))

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

2. Mean Absolute Error (MAE)

Μετρά τον μέσο όρο των απόλυτων σφαλμάτων:

L = (1/n) Σ |yᵢ − f(xᵢ)|

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

3. Mean Squared Error (MSE)

Είναι μία από τις πιο συχνά χρησιμοποιούμενες συναρτήσεις κόστους:

L = (1/n) Σ (yᵢ − f(xᵢ))²

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

4. Root Mean Squared Error (RMSE)

Είναι η τετραγωνική ρίζα του MSE:

RMSE = √((1/n) Σ (yᵢ − f(xᵢ))²)

Έχει το πλεονέκτημα ότι βρίσκεται στην ίδια μονάδα μέτρησης με τη μεταβλητή στόχο.

5. Huber Loss

Η Huber Loss συνδυάζει τα πλεονεκτήματα των MAE και MSE. Για μικρά σφάλματα λειτουργεί όπως το MSE, ενώ για μεγάλα σφάλματα συμπεριφέρεται όπως το MAE, γεγονός που την καθιστά πιο ανθεκτική σε ακραίες τιμές.

6. Log-cosh Loss

Η Log-cosh Loss βασίζεται στον λογάριθμο της υπερβολικής συνημίτονης των residuals. Είναι ομαλή και δύο φορές παραγωγίσιμη, γεγονός που την καθιστά χρήσιμη σε αλγορίθμους που απαιτούν υπολογισμό της Hessian.

7. Root Mean Squared Logarithmic Error (RMSLE)

Η RMSLE εφαρμόζει λογάριθμο στις τιμές πριν τον υπολογισμό του σφάλματος:

RMSLE = √((1/n) Σ [log(yᵢ+1) − log(f(xᵢ)+1)]²)

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


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

Montgomery, D. C., Peck, E. A., & Vining, G. G. (2021). Introduction to linear regression analysis (6th ed.). Wiley.

St-Aubin, A. (n.d.). An introduction to supervised machine learning. McGill University.