Παραγοντοποίηση πινάκων

Η **παραγοντοποίηση πινάκων** είναι μια κατηγορία αλγορίθμων συνεργατικού φιλτραρίσματος που χρησιμοποιούνται σε συστήματα συστάσεων. Οι αλγόριθμοι παραγοντοποίησης πινάκων αποσυνθέτουν τον πίνακα αλληλεπίδρασης χρήστη-στοιχείου σε ένα γινόμενο δύο ορθογώνιων πινάκων χαμηλότερης διάστασης. Αυτή η οικογένεια μεθόδων έγινε ευρέως γνωστή κατά τη διάρκεια του διαγωνισμού για το βραβείο Netflix λόγω της αποτελεσματικότητάς της, όπως ανέφερε ο Σάιμον Φανκ στην ανάρτησή του στο ιστολόγιό του το 2006 , στην οποία μοιράστηκε τα ευρήματά του με την ερευνητική κοινότητα. Τα αποτελέσματα της πρόβλεψης μπορούν να βελτιωθούν με την ανάθεση διαφορετικών βαρών κανονικοποίησης σε λανθάνοντες παράγοντες με βάση τη δημοτικότητα των άρθρων και τη δραστηριότητα των χρηστών.

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

### Funk MF
Ο αρχικός αλγόριθμος που προτάθηκε από τον Σάιμον Φανκ στην ανάρτησή του στο ιστολόγιό του παραγοντοποίησε τον πίνακα αξιολόγησης χρήστη-στοιχείου ως το γινόμενο δύο πινάκων χαμηλότερης διάστασης, ο πρώτος έχει μια γραμμή για κάθε χρήστη, ενώ ο δεύτερος έχει μια στήλη για κάθε στοιχείο. Η γραμμή ή η στήλη που σχετίζεται με έναν συγκεκριμένο χρήστη ή αντικείμενο αναφέρεται ως *λανθάνουσες παραμέτρους*.
Ας σημειωθεί ότι στο Funk MF δεν εφαρμόζεται αποσύνθεση μοναδιαίων τιμών, πρόκειται για ένα πρότυπο μηχανικής μάθησης τύπου SVD.
Οι προβλεπόμενες βαθμολογίες μπορούν να υπολογιστούν ως \tilde{R}=H W, όπου \tilde{R} \in \mathbb{R}^{\text{users} \times \text{items}} είναι ο πίνακας βαθμολογίας χρήστη-αντικειμένου, H \in \mathbb{R}^{\text{users}  \times \text{latent factors}} περιέχει τους λανθάνοντες παράγοντες του χρήστη και W \in \mathbb{R}^{\text{latent factors}  \times \text{items}} τους λανθάνοντες παράγοντες του αντικειμένου.

Συγκεκριμένα, η προβλεπόμενη βαθμολογία που θα δώσει ο χρήστης *u* στο στοιχείο *i* υπολογίζεται ως εξής:

\tilde{r}_{ui} = \sum_{f=0}^{\text{n factors} } H_{u,f}W_{f,i}

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

Λαμβάνοντας υπόψιν όλα τα δεδομένα, το Funk MF ελαχιστοποιεί την ακόλουθη αντικειμενική συνάρτηση:

\underset{H, W}{\operatorname{arg\,min}}\, \|R - \tilde{R}\|_{\rm F} + \alpha\|H\| + \beta\|W\|

Όπου \|.\|_{\rm F} ορίζεται ως ο κανόνας του Φρομπένιους, ενώ οι άλλες νόρμες μπορεί να είναι είτε ο Φρομπένιους είτε κάποια άλλη νόρμα ανάλογα με το συγκεκριμένο πρόβλημα σύστασης.

### SVD++
Ενώ το Funk MF είναι σε θέση να παρέχει πολύ καλή ποιότητα συστάσεων, η ικανότητά του να χρησιμοποιεί μόνο ρητές αριθμητικές αξιολογήσεις ως αλληλεπιδράσεις μεταξύ χρήστη και αντικειμένων δημιουργεί έναν περιορισμό. Τα σύγχρονα συστήματα συστάσεων θα πρέπει να αξιοποιούν όλες τις διαθέσιμες αλληλεπιδράσεις, τόσο τις ρητές (π.χ. αριθμητικές αξιολογήσεις) όσο και τις άρρητες (π.χ. συμπάθειες, αγορές, παραλείψεις, σελιδοδείκτες). Για το σκοπό αυτό, το SVD++ σχεδιάστηκε ώστε να λαμβάνει υπόψιν και τις σιωπηρές αλληλεπιδράσεις. Σε σύγκριση με το Funk MF, το SVD++ λαμβάνει επίσης υπόψιν την προκατάληψη των χρηστών και των αντικειμένων.

Η προβλεπόμενη βαθμολογία που θα δώσει ο χρήστης **u** στο στοιχείο **i** υπολογίζεται ως εξής:

\tilde{r}_{ui} = \mu + b_i + b_u + \sum_{f=0}^{\text{n factors}} H_{u,f}W_{f,i}

Όπου \mu αναφέρεται στη συνολική μέση βαθμολογία για όλα τα στοιχεία και  b_i και b_u αναφέρεται στην παρατηρούμενη απόκλιση του στοιχείου i και του χρήστη u αντίστοιχα από το μέσο επίπεδο. Η SVD++ έχει ωστόσο ορισμένα ελαττώματα, με κύριο μειονέκτημα ότι η μέθοδος αυτή δεν βασίζεται σε πρότυπα. Αυτό σημαίνει ότι εάν προστεθεί ένας νέος χρήστης, ο αλγόριθμος δεν είναι σε θέση να τον μοντελοποιήσει, εκτός εάν επανεκπαιδευτεί ολόκληρο το πρότυπο. Παρόλο που το σύστημα μπορεί να έχει συγκεντρώσει κάποιες αλληλεπιδράσεις για τον εν λόγω νέο χρήστη, οι λανθάνουσες παραμέτρους του δεν είναι διαθέσιμες και επομένως δεν μπορούν να γίνουν υπολογισμοί συστάσεων. Αυτό είναι ένα παράδειγμα προβλήματος ψυχρής εκκίνησης, δηλαδή ο εισηγητής δεν μπορεί να αντιμετωπίσει αποτελεσματικά νέους χρήστες ή στοιχεία και θα πρέπει να εφαρμοστούν ειδικές στρατηγικές για να αντιμετωπιστεί αυτό το μειονέκτημα.

Ένας πιθανός τρόπος για να αντιμετωπιστεί αυτό το πρόβλημα της ψυχρής εκκίνησης είναι να τροποποιηθεί ο SVD++ ώστε να γίνει ένας αλγόριθμος "βασισμένος στο πρότυπο", επιτρέποντας έτσι την εύκολη διαχείριση νέων στοιχείων και νέων χρηστών.

Όπως αναφέρθηκε προηγουμένως στο SVD++ δεν έχουμε τους λανθάνοντες παράγοντες των νέων χρηστών, επομένως είναι απαραίτητο να τους απεικονίσουμε με διαφορετικό τρόπο. Οι λανθάνοντες παράγοντες του χρήστη αντιπροσωπεύουν την προτίμηση του εν λόγω χρήστη για τους λανθάνοντες παράγοντες του αντίστοιχου στοιχείου, επομένως οι λανθάνοντες παράγοντες του χρήστη μπορούν να εκτιμηθούν μέσω των προηγούμενων αλληλεπιδράσεων των χρηστών. Εάν το σύστημα είναι σε θέση να συγκεντρώσει κάποιες αλληλεπιδράσεις για τον νέο χρήστη, είναι δυνατόν να εκτιμηθούν οι λανθάνουσες παράμετροι του.
Σημειώστε ότι αυτό δεν επιλύει πλήρως το πρόβλημα της ψυχρής εκκίνησης, αφού η σύσταση εξακολουθεί να απαιτεί κάποιες αξιόπιστες αλληλεπιδράσεις για τους νέους χρήστες, αλλά τουλάχιστον δεν υπάρχει ανάγκη να υπολογίζεται εκ νέου ολόκληρο το μοντέλο κάθε φορά. Έχει αποδειχθεί ότι αυτή η διατύπωση είναι σχεδόν ισοδύναμη με ένα πρότυπο SLIM, η οποία είναι μια σύσταση βασισμένη στο μοντέλο αντικείμενο-στοιχείο.

\tilde{r}_{ui} = \mu + b_i + b_u + \sum_{f=0}^{\text{n factors}} \biggl( \sum_{j=0}^{\text{n items}} r_{uj} W^T_{j,f} \biggr) W_{f,i}

Με αυτή τη διατύπωση, η ισοδύναμη σύσταση αντικειμένου-αντικειμένου θα ήταν \tilde{R} = R S = R W^{\rm T} W. Επομένως, ο πίνακας ομοιότητας είναι συμμετρικός.

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

Η προβλεπόμενη βαθμολογία που θα δώσει ο χρήστης u στο στοιχείο i υπολογίζεται ως εξής:

\tilde{r}_{ui} = \sum_{f=0}^{\text{n factors}} (H_{u,f}+S_{v_u,f})(W_{f,i}+T_{f,j_i})

Εδώ v_u και j_i συμβολίζουν την ετικέτα ομάδας του χρήστη *u* και του αντικειμένου *i*, αντίστοιχα, οι οποίες είναι ίδιες για τα μέλη της ίδιας ομάδας. Και τα S και T είναι πίνακες των επιδράσεων της ομάδας. Για παράδειγμα, για έναν νέο χρήστη u_{new} του οποίου ο λανθάνων παράγοντας H_{u_{new}} δεν είναι διαθέσιμος, μπορούμε τουλάχιστον να προσδιορίσουμε την ετικέτα της ομάδας του v_{u_{new}}, και να προβλέψουμε τις αξιολογήσεις του ως εξής:

\tilde{r}_{u_{new}i} = \sum_{f=0}^{\text{n factors}} S_{v_{u_{new}},f}(W_{f,i}+T_{f,j_i})

Με τον τρόπο αυτό επιτυγχάνεται μια καλή προσέγγιση των μη παρατηρούμενων αξιολογήσεων.

### Υβριδικό MF
Τα τελευταία χρόνια αναπτύχθηκαν πολλά άλλα πρότυπα παραγοντοποίησης πινάκων για την αξιοποίηση του συνεχώς αυξανόμενου όγκου και της ποικιλίας των διαθέσιμων δεδομένων αλληλεπίδρασης και των περιπτώσεων χρήσης. Οι υβριδικοί αλγόριθμοι παραγοντοποίησης πινάκων είναι ικανοί να συγχωνεύουν ρητές και σιωπηρές αλληλεπιδράσεις  ή τόσο δεδομένα περιεχομένου όσο και δεδομένα συνεργασίας.

### Βαθιά μάθηση MF
Τα τελευταία χρόνια προτάθηκαν διάφορες τεχνικές νευρωνικής και βαθιάς μάθησης, ορισμένες από τις οποίες γενικεύουν τους παραδοσιακούς αλγορίθμους παραγοντοποίησης πινάκων μέσω μιας μη γραμμικής νευρωνικής αρχιτεκτονικής . Αν και η βαθιά μάθηση εφαρμόστηκε σε πολλά διαφορετικά σενάρια: επίγνωση του πλαισίου, επίγνωση της ακολουθίας, κοινωνική σήμανση κ.λπ., η πραγματική αποτελεσματικότητά της όταν χρησιμοποιείται σε ένα απλό σενάριο συνεργατικού φιλτραρίσματος αμφισβητήθηκε. Η συστηματική ανάλυση των δημοσιεύσεων που εφαρμόζουν βαθιά μάθηση ή νευρωνικές μεθόδους στο πρόβλημα των top-k συστάσεων, οι οποίες δημοσιεύονται στα καλύτερα συνέδρια (SIGIR, KDD, WWW, RecSys, IJCAI), έδειξε ότι κατά μέσο όρο λιγότερο από το 40% των άρθρων είναι αναπαραγώγιμα, με ποσοστό που φτάνει το 14% σε ορισμένα συνέδρια. Συνολικά, οι μελέτες εντοπίζουν 26 άρθρα, από τα οποία μόνο τα 12 μπορούν να αναπαραχθούν και τα 11 μπορούν να ξεπεραστούν από πολύ παλαιότερες, απλούστερες, σωστά καθορισμένες βασικές γραμμές. Οι εργασίες επισημαίνουν επίσης ορισμένα πιθανά προβλήματα στην τρέχουσα έρευνα και ζητούν τη βελτίωση της επιστημονικής πρακτικής στον τομέα αυτό.. Παρόμοια προβλήματα έχουν επίσης εντοπιστεί σε συστήματα συστάσεων με επίγνωση της ακολουθίας.

## Βιβλιογραφία
*[ Matrix and Tensor Factorization Techniques for Recommender Systems](https://books.google.gr/books?id=qbkHDgAAQBAJ&newbks=1&newbks_redir=0&lpg=PP1&dq=Matrix%20factorization%20(recommender%20systems)&hl=el&pg=PP1#v=onepage&q=Matrix%20factorization%20(recommender%20systems)&f=false)
*[Recommender Systems Handbook](https://books.google.gr/books?id=hGb_CgAAQBAJ&newbks=1&newbks_redir=0&lpg=PA389&dq=Matrix%20factorization%20(recommender%20systems)&hl=el&pg=PA389#v=onepage&q=Matrix%20factorization%20(recommender%20systems)&f=false)
*[Information and Database Systems: 4th Asian Conference](https://books.google.gr/books?id=TpkuOa50At8C&newbks=1&newbks_redir=0&lpg=PA513&dq=Matrix%20factorization%20(recommender%20systems)&hl=el&pg=PA513#v=onepage&q=Matrix%20factorization%20(recommender%20systems)&f=falseIntelligent)

## Δείτε επίσης
*Ανάλυση πίνακα σε ιδιάζουσες τιμές
*Γκαουσιανή απαλοιφή
*Ταυτοτικός πίνακας

## Παραπομπές

 

 
Κατηγορία:Πίνακες (μαθηματικά)
Κατηγορία:Συλλογική νοημοσύνη
Κατηγορία:Μετασχηματισμός (μαθηματικά)