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

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

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

Τεχνικές[Επεξεργασία | επεξεργασία κώδικα]

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

Funk MF[Επεξεργασία | επεξεργασία κώδικα]

Ο αρχικός αλγόριθμος που προτάθηκε από τον Σάιμον Φανκ στην ανάρτησή του στο ιστολόγιό του[4] παραγοντοποίησε τον πίνακα αξιολόγησης χρήστη-στοιχείου ως το γινόμενο δύο πινάκων χαμηλότερης διάστασης, ο πρώτος έχει μια γραμμή για κάθε χρήστη, ενώ ο δεύτερος έχει μια στήλη για κάθε στοιχείο. Η γραμμή ή η στήλη που σχετίζεται με έναν συγκεκριμένο χρήστη ή αντικείμενο αναφέρεται ως λανθάνουσες παραμέτρους.[6] Ας σημειωθεί ότι στο Funk MF δεν εφαρμόζεται αποσύνθεση μοναδιαίων τιμών, πρόκειται για ένα πρότυπο μηχανικής μάθησης τύπου SVD.[4] Οι προβλεπόμενες βαθμολογίες μπορούν να υπολογιστούν ως , όπου είναι ο πίνακας βαθμολογίας χρήστη-αντικειμένου, περιέχει τους λανθάνοντες παράγοντες του χρήστη και τους λανθάνοντες παράγοντες του αντικειμένου.

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

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

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

Όπου ορίζεται ως ο κανόνας του Φρομπένιους, ενώ οι άλλες νόρμες μπορεί να είναι είτε ο Φρομπένιους είτε κάποια άλλη νόρμα ανάλογα με το συγκεκριμένο πρόβλημα σύστασης.[10]

SVD++[Επεξεργασία | επεξεργασία κώδικα]

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

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

Όπου αναφέρεται στη συνολική μέση βαθμολογία για όλα τα στοιχεία και και αναφέρεται στην παρατηρούμενη απόκλιση του στοιχείου και του χρήστη αντίστοιχα από το μέσο επίπεδο[13]. Η SVD++ έχει ωστόσο ορισμένα ελαττώματα, με κύριο μειονέκτημα ότι η μέθοδος αυτή δεν βασίζεται σε πρότυπα. Αυτό σημαίνει ότι εάν προστεθεί ένας νέος χρήστης, ο αλγόριθμος δεν είναι σε θέση να τον μοντελοποιήσει, εκτός εάν επανεκπαιδευτεί ολόκληρο το πρότυπο. Παρόλο που το σύστημα μπορεί να έχει συγκεντρώσει κάποιες αλληλεπιδράσεις για τον εν λόγω νέο χρήστη, οι λανθάνουσες παραμέτρους του δεν είναι διαθέσιμες και επομένως δεν μπορούν να γίνουν υπολογισμοί συστάσεων. Αυτό είναι ένα παράδειγμα προβλήματος ψυχρής εκκίνησης, δηλαδή ο εισηγητής δεν μπορεί να αντιμετωπίσει αποτελεσματικά νέους χρήστες ή στοιχεία και θα πρέπει να εφαρμοστούν ειδικές στρατηγικές για να αντιμετωπιστεί αυτό το μειονέκτημα[14].

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

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

Με αυτή τη διατύπωση, η ισοδύναμη σύσταση αντικειμένου-αντικειμένου θα ήταν . Επομένως, ο πίνακας ομοιότητας είναι συμμετρικός.

SVD για κάθε ομάδα[Επεξεργασία | επεξεργασία κώδικα]

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

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

Εδώ και συμβολίζουν την ετικέτα ομάδας του χρήστη u και του αντικειμένου i, αντίστοιχα, οι οποίες είναι ίδιες για τα μέλη της ίδιας ομάδας. Και τα και είναι πίνακες των επιδράσεων της ομάδας. Για παράδειγμα, για έναν νέο χρήστη του οποίου ο λανθάνων παράγοντας δεν είναι διαθέσιμος, μπορούμε τουλάχιστον να προσδιορίσουμε την ετικέτα της ομάδας του , και να προβλέψουμε τις αξιολογήσεις του ως εξής:

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

Υβριδικό MF[Επεξεργασία | επεξεργασία κώδικα]

Τα τελευταία χρόνια αναπτύχθηκαν πολλά άλλα πρότυπα παραγοντοποίησης πινάκων για την αξιοποίηση του συνεχώς αυξανόμενου όγκου και της ποικιλίας των διαθέσιμων δεδομένων αλληλεπίδρασης και των περιπτώσεων χρήσης. Οι υβριδικοί αλγόριθμοι παραγοντοποίησης πινάκων είναι ικανοί να συγχωνεύουν ρητές και σιωπηρές αλληλεπιδράσεις[16] ή τόσο δεδομένα περιεχομένου όσο και δεδομένα συνεργασίας[17][18][19].

Βαθιά μάθηση MF[Επεξεργασία | επεξεργασία κώδικα]

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

Βιβλιογραφία[Επεξεργασία | επεξεργασία κώδικα]

Δείτε επίσης[Επεξεργασία | επεξεργασία κώδικα]

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. «Wayback Machine» (PDF). web.archive.org. Αρχειοθετήθηκε από το πρωτότυπο (PDF) στις 2 Ιουνίου 2016. Ανακτήθηκε στις 29 Ιανουαρίου 2024. 
  2. Koren, Yehuda; Bell, Robert; Volinsky, Chris (August 2009). «Matrix Factorization Techniques for Recommender Systems». Computer 42 (8): 30–37. doi:10.1109/MC.2009.263. 
  3. «Netflix Prize - RecSysWiki». web.archive.org. 13 Αυγούστου 2015. Αρχειοθετήθηκε από το πρωτότυπο στις 13 Αυγούστου 2015. Ανακτήθηκε στις 29 Ιανουαρίου 2024. CS1 maint: Unfit url (link)
  4. 4,0 4,1 4,2 Funk, Simon. «Netflix Update: Try This at Home». 
  5. ChenHung-Hsuan; ChenPu (2019-01-09). «Differentiating Regularization Weights – A Simple Mechanism to Alleviate Cold Start in Recommender Systems» (στα αγγλικά). ACM Transactions on Knowledge Discovery from Data 13: 1–22. doi:10.1145/3285954. 
  6. Agarwal, Deepak· Chen, Bee-Chung (28 Ιουνίου 2009). «Regression-based latent factor models». Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining – KDD '09. ACM. σελίδες 19–28. doi:10.1145/1557019.1557029. ISBN 9781605584959. 
  7. Jannach, Dietmar· Lerche, Lukas· Gedikli, Fatih· Bonnin, Geoffray (2013). «What Recommenders Recommend – an Analysis of Accuracy, Popularity, and Sales Diversity Effects». User Modeling, Adaptation, and Personalization. Lecture Notes in Computer Science (στα Αγγλικά). 7899. Springer Berlin Heidelberg. σελίδες 25–37. doi:10.1007/978-3-642-38844-6_3. ISBN 978-3-642-38843-9. 
  8. 8,0 8,1 Bi, Xuan; Qu, Annie; Wang, Junhui; Shen, Xiaotong (2017). «A group-specific recommender system.». Journal of the American Statistical Association 112 (519): 1344–1353. doi:10.1080/01621459.2016.1219261. https://amstat.tandfonline.com/doi/abs/10.1080/01621459.2016.1219261. 
  9. Zhu, Yunzhang; Shen, Xiaotong; Ye, Changqing (2016). «Personalized prediction and sparsity pursuit in latent factor models.». Journal of the American Statistical Association 111 (513): 241–252. doi:10.1080/01621459.2016.1219261. https://figshare.com/articles/journal_contribution/A_Group-Specific_Recommender_System/3803748/1/files/5921967.pdf. 
  10. Paterek, Arkadiusz (2007). «Improving regularized singular value decomposition for collaborative filtering». Proceedings of KDD Cup and Workshop. https://www.mimuw.edu.pl/~paterek/ap_kdd.pdf. 
  11. Cao, Jian· Hu, Hengkui· Luo, Tianyan· Wang, Jia· Huang, May· Wang, Karl· Wu, Zhonghai· Zhang, Xing (2015). Distributed Design and Implementation of SVD++ Algorithm for E-commerce Personalized Recommender System. Communications in Computer and Information Science (στα Αγγλικά). 572. Springer Singapore. σελίδες 30–44. doi:10.1007/978-981-10-0421-6_4. ISBN 978-981-10-0420-9. 
  12. Jia, Yancheng (Σεπτεμβρίου 2014). «Users' brands preference based on SVD++ in recommender systems». 2014 IEEE Workshop on Advanced Research and Technology in Industry Applications (WARTIA). IEEE. σελίδες 1175–1178. doi:10.1109/wartia.2014.6976489. ISBN 978-1-4799-6989-0. 
  13. Koren, Yehuda; Bell, Robert; Volinsky, Chris (August 2009). [Netflix.pdf «Matrix factorization techniques for recommender systems»]. Computer: 45. https://datajobs.com/data-science-repo/Recommender-Systems-[Netflix].pdf. 
  14. Kluver, Daniel· Konstan, Joseph A. (6 Οκτωβρίου 2014). «Evaluating recommender behavior for new users». Proceedings of the 8th ACM Conference on Recommender systems – Rec Sys '14. ACM. σελίδες 121–128. doi:10.1145/2645710.2645742. ISBN 9781450326681. 
  15. Zheng, Yong· Mobasher, Bamshad· Burke, Robin (6 Οκτωβρίου 2014). «CSLIM». CSLIM: contextual SLIM recommendation algorithms. ACM. σελίδες 301–304. doi:10.1145/2645710.2645756. ISBN 9781450326681. 
  16. Zhao, Changwei; Sun, Suhuan; Han, Linqian; Peng, Qinke (2016). «Hybrid Matrix Factorization for Recommender Systems in Social Networks». Neural Network World 26 (6): 559–569. doi:10.14311/NNW.2016.26.032. 
  17. Zhou, Tinghui· Shan, Hanhuai· Banerjee, Arindam· Sapiro, Guillermo (26 Απριλίου 2012). «Kernelized Probabilistic Matrix Factorization: Exploiting Graphs and Side Information». Proceedings of the 2012 SIAM International Conference on Data Mining. Society for Industrial and Applied Mathematics. σελίδες 403–414. doi:10.1137/1.9781611972825.35. ISBN 978-1-61197-232-0. 
  18. Adams, Ryan Prescott; Dahl, George E.; Murray, Iain (25 March 2010). «Incorporating Side Information in Probabilistic Matrix Factorization with Gaussian Processes 1003.4944». arXiv:1003.4944 [stat.ML]. 
  19. Fang, Yi· Si, Luo (27 Οκτωβρίου 2011). «Matrix co-factorization for recommendation with rich side information and implicit feedback». Proceedings of the 2nd International Workshop on Information Heterogeneity and Fusion in Recommender Systems – Het Rec '11. ACM. σελίδες 65–69. doi:10.1145/2039320.2039330. ISBN 9781450310277. 
  20. He, Xiangnan· Liao, Lizi· Zhang, Hanwang· Nie, Liqiang· Hu, Xia· Chua, Tat-Seng (2017). «Neural Collaborative Filtering». Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee. σελίδες 173–182. arXiv:1708.05031Ελεύθερα προσβάσιμο. doi:10.1145/3038912.3052569. ISBN 9781450349130. Ανακτήθηκε στις 16 Οκτωβρίου 2019. 
  21. Rendle, Steffen· Krichene, Walid· Zhang, Li· Anderson, John (22 Σεπτεμβρίου 2020). «Neural Collaborative Filtering vs. Matrix Factorization Revisited». Fourteenth ACM Conference on Recommender Systems. σελίδες 240–248. arXiv:2005.09683Ελεύθερα προσβάσιμο. doi:10.1145/3383313.3412488Ελεύθερα προσβάσιμο. ISBN 9781450375832. 
  22. Dacrema; Ferrari (2021). «A Troubling Analysis of Reproducibility and Progress in Recommender Systems Research.». ACM Transactions on Information Systems 39 (2): 39.2. doi:10.1145/3434185. 
  23. Ludewig, Malte· Mauro, Noemi· Latifi, Sara· Jannach, Dietmar (2019). «Performance comparison of neural and non-neural approaches to session-based recommendation». Proceedings of the 13th ACM Conference on Recommender Systems. ACM. σελίδες 462–466. doi:10.1145/3298689.3347041Ελεύθερα προσβάσιμο. ISBN 9781450362436.