Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Collaborative Filtering with Privacy via Factor Analysis

Ähnliche Präsentationen


Präsentation zum Thema: "Collaborative Filtering with Privacy via Factor Analysis"—  Präsentation transkript:

1 Collaborative Filtering with Privacy via Factor Analysis
Data Mining Seminar im Sommersemester 2005 Prof. Dr. Thomas Hofmann, Dipl. Inform. Steffen Hartmann TU Darmstadt, Fachbereich Informatik Fachgebiet: Intelligente Systeme Collaborative Filtering with Privacy via Factor Analysis Stefan Seiermann

2 Collaborative Filtering with Privacy via Factor Analysis
Inhalt Einleitung Problemstellungen Das Wahrscheinlichkeitsmodell Aspekte der Vertraulichkeit Verwandte Arbeiten Fazit & Ausblick Collaborative Filtering with Privacy via Factor Analysis

3 Beispiel: "Empfehlungen" eines Web-Buchhändlers
1 Einleitung Hintergrund: Menschen nutzen oft „Empfehlungen“ von anderen Personen mit ähnlichen Interessen, falls Sie keine weiteren Informationen für eine Handlungsauswahl besitzen. Beispiele: Bücher, CD´s, Restaurants, ... Automatisierung durch: „Collaborative Filtering“ Berechnung von Ähnlichkeiten zwischen dem eigenem Verhalten und dem Verhalten von anderen Benutzern durch den Einsatz von Datenbanken. Generiert Aussagen, wie z.B.: „Benutzer wie Sie, haben folgende Artikel betrachtet (gekauft, gemocht, …)“ Unterstützen den Benutzer bei der Auswahl von Produkten (Entscheidungen) Beispiel: "Empfehlungen" eines Web-Buchhändlers Collaborative Filtering with Privacy via Factor Analysis

4 Beispiel: Bewertung eines Artikel durch einen Kunden
1 Einleitung Anwendungsmöglichkeiten: e-Commerce Empfehlungssysteme („recommendation systems“) für: Filme, Musik, Restaurants, Nachrichten, Witze, etc. Die Erhebung der Daten für eine Bewertung: a) Explizit Durch die Bewertung eines Artikels auf einer Skala Durch das Erstellen einer Rezension (wie z.B. bei Büchern) b) Implizit Durch den Kauf eines Artikels auf einer Web-Seite, meist mit persönlichen Daten verknüpft (Anschrift, etc.) Durch das Anklicken, Verweilen, Wechseln einer Web-Seite Durch Standortinformationen bei der Auswahl (wie z.B. GSM-, UMTS- oder WLAN-Standorte) Beispiel: Bewertung eines Artikel durch einen Kunden Collaborative Filtering with Privacy via Factor Analysis

5 Beispiel für Bewertungen in einer Filmdatenbank (Movielens, 2003)
1 Einleitung 1.1 Beispiel: „Movielens“ Bewertung von Spielfilmen durch die Benutzer, anhand der Vergabe von „Sternen“ Erfordert eine Identifizierung des Benutzers durch das System Ziel: Personalisierte Empfehlungen von Filmen durch: „Collaborative Filtering“ Beispiel für Bewertungen in einer Filmdatenbank (Movielens, 2003) Collaborative Filtering with Privacy via Factor Analysis

6 Collaborative Filtering with Privacy via Factor Analysis
2 Problemstellungen a) „Lückenhafte“ Datenbanken (è Kapitel 3) Beispiel: Ein einzelner Kunde eines Web-Buchladens (z.B. Amazon.com) bewertet nur einen Bruchteil des Angebotes an Büchern. Die durchschnittliche „Besetzung“ einer Filmdatenbank (z.B. EachMovie) mit Bewertungen beträgt nur ca. 3%, andere Datenbanken erreichen hingegen nur einen Wert von ca. 0.01%-0.1% der möglichen Bewertungen. Dieses kann zu einer fehlerhaften Interpretation der Daten und somit auch zu fehlerhaften Empfehlungen führen. b) Vertraulichkeit der Benutzerdaten (è Kapitel 4) Die personalisierten Daten der Benutzer können von den Betreibern unkontrolliert weiterverwendet, mit anderen Daten verknüpft oder weitergegeben werden (SPAM). Der Anwender hat keinerlei Kontrolle mehr über diese Vorgänge. (Beispiel: Mögliche Kontrolle des Leseverhaltens in US-Buchläden) Tatsächlich stellen solche Daten aber einen hohen Wert für ein Unternehmen dar. Collaborative Filtering with Privacy via Factor Analysis

7 3 Das Wahrscheinlichkeitsmodell
3.1 Grundlagen Ziel: Entwicklung eines Wahrscheinlichkeitsmodells zur Vorhersage des Benutzerverhaltens durch Beobachtung. Extrapolieren von beobachteten Bewertungen zur Erstellung von Empfehlungen, durch die Verwendung der linearen Faktor-Analyse. Verwendete Größen: m Die Anzahl der Benutzer einer Empfehlungsdatenbank n Die Anzahl der zu bewertenden „Artikel“, wie z.B. Filme in einer Filmdatenbank k Anzahl der „Benutzerprofile“ (preference space) Diese kann z.B. eine Vorliebe eines Benutzers für bestimmte Filmtypen enthalten. (k liegt zwischen 4 und 20, k<<n, k<<m) Collaborative Filtering with Privacy via Factor Analysis

8 3 Das Wahrscheinlichkeitsmodell
3.1 Grundlagen (Forts.) Verwendete Matrizen: Y: Bewertungen Dimension: Artikel x Benutzer (n x m) Enthält die beobachteten Bewertungen der Benutzer für die zu bewertenden Artikel. Beispiel: yi,j=5 entspricht einer Bewertung des Benutzers j für den Film i von 5 Punkten, auf einer Werteskala (z.B. von 0 bis 10 Punkte). X: Benutzerprofile Dimension: Benutzerprofile x Benutzer (k x m) Enthält die Vorlieben eines Benutzers für eine bestimmte Artikelgruppen, z.B. Vorlieben für bestimmte Filmtypen. Diese Matrix wird im Laufe des Algorithmus automatisch generiert. Collaborative Filtering with Privacy via Factor Analysis

9 3 Das Wahrscheinlichkeitsmodell
3.1 Grundlagen (Forts.) A: "Zielmatrix" Dimension: Artikel x Benutzergruppen (n x k) Matrix, die durch den Algorithmus berechnet werden soll. N: Rauschen („Noise“) Dimension: Artikel x Benutzer (n x m) Enthält das typische Rauschen bei der Bewertung eines Artikels durch einen Benutzer. Varianz über die Bewertung der Artikel: VAR (Ni) = y, Initialisierung mit Gausscher Verteilung Annahme: Alle VAR(Ni) sind identisch Varianz VAR(Ni) = y i Collaborative Filtering with Privacy via Factor Analysis

10 3 Das Wahrscheinlichkeitsmodell
3.2 Lineare Regression Lineares Modell für eine Bewertungsdatenbank: a) Falls X und Y zur gleichen Zeit bekannt sein sollten, handelt es sich um ein Problem, welches sich mit linearen Regression lösen lässt. b) Falls X nicht bekannt sein sollte, handelt es sich um ein Problem, welches sich mit Hilfe der Faktor-Analyse lösen lässt. Ziele: Berechnung von A, wobei X mit Zufallswerten nach einer Gaußschen Verteilung initialisiert wird (lineare Regression). Þ "schnelles" Verfahren "Lücken" in Y werden mit Mittelwerten (über alle Benutzer & Artikel) gefüllt, aber nur in diesem Berechnungs-Schritt. Die somit erhaltenen Werte für A können dann für eine Faktor-Analyse verwendet werden. (1) Collaborative Filtering with Privacy via Factor Analysis

11 3 Das Wahrscheinlichkeitsmodell
3.2 Lineare Regression (Forts.) Vorgehen: Initialisierung von X mit Zufallswerten nach Gausscher Verteilung Durchführung der folgenden Berechnungen (ca. 10 Iterationen): AU (2) Hinweise: A(p) = Wert von A nach der p. Iteration A = Wert von A vor der p. Iteration Alle zu invertierenden Matrizen besitzen die Dimension k x k (Zeitfaktor!) k ist unabhängig von der Anzahl der Benutzer oder Artikel (4 <= k <=20) AU = (ATA)-1AT : sog. "Pseudoinverse". Vorteil: quadratisch, Nachteil: AUA = (ATA)-1(ATA) = I, aber AAU = "nicht immer" I. Collaborative Filtering with Privacy via Factor Analysis

12 3 Das Wahrscheinlichkeitsmodell
3.3 Faktor-Analyse Statistisches Verfahren Gegeben ist eine Vielzahl von möglicherweise voneinander abhängigen Variablen (z.B. Beobachtungen von Personen). Gesucht ist eine geringe Anzahl von untereinander unabhängigen „Einfluss- Faktoren“. Diese Faktoren sind nicht „beobachtbar“, sie „verbergen“ sich in den Variablen. Faktoren können aber aus den Variablen isoliert werden. Ziel: Generierung der Faktoren, mit welchen sich die Merkmale der Variablen (Beobachtungen) besonders gut erklären lassen. Anwendungen: Beobachtungen in der Chemie, Psychologie, Wirtschaft (z.B. Kundenverhalten), … Beispiel: Automatische, angeborene Faktor-Analyse von menschlichen Gesichtern. Umkehrung: Visualisierung von Zusammenhängen durch sog. „Chernoff-Gesichter“, für bis zu 19 Dimensionen (Wandmacher, 1993). Collaborative Filtering with Privacy via Factor Analysis

13 3 Das Wahrscheinlichkeitsmodell
3.3 Faktor-Analyse (Forts.) i Zusätzliche Matrix (für jeden Benutzer j): Ij: "Trimming-Matrix" Dimension: Artikel x Artikel (n x n) Enthält auf der Hauptdiagonalen eine "1", falls der Benutzer j den Artikel i bewertet hat, sonst "0". Einschränkung der weiteren Berechnung auf Artikel, die der Benutzer schon bewertet hat. = I: Einheitsmatrix Dimension: Benutzerprofile x Benutzerprofile (k x k) i Collaborative Filtering with Privacy via Factor Analysis

14 3 Das Wahrscheinlichkeitsmodell
3.3 Faktor-Analyse (Forts.) Algorithmus: EM-Faktoranalyse Expectation Maximization (Newcomb, 1887 Þ Dempster, Laird & Robin, 1977) Motivation: Einfacher rekursiver Algorithmus (2 Schritte, E- & M-Schritt) Sicherer Umgang mit dünn besetzten Matrizen (keine "Default-Annahmen") Lässt sich für den vertraulichen Umgang mit Benutzerdaten adaptieren Vorgehen ("distributed EM-Faktor-Analyse") Initialisierung A, y mit Werten aus der linearen Regression Schritt 1: Anwender (Clients) berechnen A', B, C aus A und y Þ Server Schritt 2: "Totalizer" (Server) berechnet neues A und y aus allen A', B, C Þ Clients weiter mir Schritt 1, bis Konvergenz (ca Iterationen), oder bei Änderungen A, y A, y A',B,C A',B,C Server: berechnet A, y Client: berechnet A',B,C Client: berechnet A',B,C Collaborative Filtering with Privacy via Factor Analysis

15 3 Das Wahrscheinlichkeitsmodell
3.3 Faktor-Analyse (Forts.) Schritt 1: Berechnungen der Benutzer (Clients): (nur für die eigenen Bewertungen) Berechnung nur für Artikel, die auch vom Client bewertet wurden Berücksichtigung der Varianz aus (2) Berechnung von A', B, C Formeln zur Berechnung ergeben sich aus dem Maximize-Schritt (M-Schritt) des EM-Algorithmus (3) (4) Ä = Kronecker-Produkt (èAnhang B) Collaborative Filtering with Privacy via Factor Analysis

16 3 Das Wahrscheinlichkeitsmodell
3.3 Faktor-Analyse (Forts.) Schritt 2: Berechnung der Summen (über alle Benutzer m): Iterative Berechnung von A und y (L(A) èAnhang B) Formeln zur Berechnung ergeben sich aus dem EM-Algorithmus Ergebnis (Modell: A, y): Dieses Modell wurde aus allen Bewertungen von allen Benutzern berechnet. Ein Benutzer kann jetzt mit Hilfe dieses Modells (A, y) sich eigene Empfehlungen, auf der Basis seiner Bewertungen, berechnen lassen. Aufwand: O(n m k2) je Iteration, günstig bei großen Datenbanken (5) Collaborative Filtering with Privacy via Factor Analysis

17 3 Das Wahrscheinlichkeitsmodell
3.3 Faktor-Analyse (Forts.) Vorhersage einer Bewertung für Benutzer j: yj = Bewertungen des Benutzers j Benutzer j kennt A, y Berechnung von xj aus (3) Fehlende Bewertungen (=Empfehlungen) durch die Berechnung von y=A xj "Persönliche Empfehlungen" für Benutzer j: Korrektur der Mittelwerte: Annahme der Faktoranalyse ist, dass die Bewertungen der Benutzer den Mittelwert: 0 haben. Vor der Berechnung des Modells (A, y) werden die Bewertungen durch einen Schätzwert korrigiert (subtrahiert). Bei der Verwendung einer Empfehlung (s.O.) muss dieser Schätzwert wieder auf die Empfehlungen addiert werden. Ermittlung des Schätzwertes: Mittelwert aller Bewertungen eines Artikels (z.B. falls #Benutzer >> #Artikel) Mittelwert aller Bewertungen eines Benutzers Collaborative Filtering with Privacy via Factor Analysis

18 4 Aspekte der Vertraulichkeit
è Die verteilte Faktor-Analyse kann durch iterative Vektoradditionen der Benutzer- Daten (A', B, C) auf einem Server durchgeführt werden (5). Wie kann hierbei die Vertraulichkeit der Benutzerdaten sichergestellt werden? Verschlüsselung mit einem asymmetrischen Schlüssel p: (è nächste Seite) Jeder Client sendet nur seine verschlüsselten Daten E(Mj) = E(A', B, C) Nutzung des "Homomorphismus" von Verschlüsselungs-Methoden (z.B. RSA): è Der Server kann die Additionen der Benutzerdaten (A', B, C) durch Multiplikationen der verschlüsselten Nachrichten E(Mj) der Benutzer durchführen. 4.1 Verschlüsselung A',B,C A',B,C Client 1: berechnet A',B,C Server Client n: berechnet A',B,C (6) Collaborative Filtering with Privacy via Factor Analysis

19 4 Aspekte der Vertraulichkeit
4.2 Key Sharing Erzeugung eines verteilten El-Gamal-Schlüsselpaares (Nach der Methode von Pendersen) n = # User, a = # "trusted Users", wähle t, so dass t > (1-a)n Beispiel: Benutzer online = 60% -> t > 0.4n Public Key p, dieser ist jedem Benutzer bekannt Private Key s, wobei jeder Benutzer nur einen "Teil" des Schlüssels (si) kennt s kann aber wieder aus t+1 "Teilschlüsseln" si konstruiert werden A, y Server berechnet A, y aus den verschlüsselten Werten der Clients Client 1 Client n Collaborative Filtering with Privacy via Factor Analysis

20 4 Aspekte der Vertraulichkeit
4.2 Key Sharing (Forts.) Um das verschlüsselte Ergebnis des Servers (A, y) zu entschlüsseln, müssen die Benutzer dieses jeweils mit Ihrem Teilschlüssel si entschlüsseln. Durch das Zusammensetzten der entschlüsselten (Teil-)Ergebnisse kann nun (A, y) berechnet und nach Kapitel 3.3 eine persönliche Empfehlung generiert werden. Bei diesem Protokoll werden zu keiner Zeit unverschlüsselte Bewertungsdaten der Benutzer übertragen è Sicherung der Vertraulichkeit der Benutzerdaten. Nachteile: User können ungültige Werte (z.B. außerhalb der Bewertungsskala) übertragen Server können Ergebnisse der User unterschlagen oder duplizieren Einsatz eines ZKP-Protokolls ("zero-knowledge proofs"), sind (A', B, C) gültig? Dieses ist wirksam bis zu einem Anteil von ca. 20% "Betrügern" (Beispiel für den Einsatz von ZKP: Authentifizierungsprotokolle) Collaborative Filtering with Privacy via Factor Analysis

21 Performance-Vergleiche (Canny, 2002)
5 Verwandte Arbeiten Vergleich des NMAE ("Normalized Mean Absolut Error", nach Goldberg) mit anderen Methoden: "Pearson correlation" (è Anhang C) "Personality diagnosis" 1. Witz-Datenbank ("Jester") 100 Artikel x Benutzer Bewertungen: ca. 50 % Performance: + 14 % (Standard) + 5 % (Pearson) 2. Film-Datenbank ("EachMovie") U 1.600 Artikel x Benutzer Bewertungen: ca. 3 % Performance: +18 % (Standard) + 9 % (Pearson) è Performance-Zugewinn, speziell bei besonders "dünn besetzten" Datenbanken "besser" Standard: Durchschnittliche Bewertung eines Artikel über alle Benutzer (>0,07%) Performance-Vergleiche (Canny, 2002) Collaborative Filtering with Privacy via Factor Analysis

22 Der Einsatz von Metadaten (Canny, 2002)
6 Fazit und Ausblick Mit der Faktor-Analyse, aufbauend auf einem linearen Modell, können effizient Empfehlungen für Produkte, basierend auf den Bewertungen (keine "binäre" Daten) anderer Benutzer, berechnet werden ("Recommending System"). Dieses ist besonders für lückenhafte, "dünn besetzte" Datenbanken geeignet, wie sie bei Empfehlungssystemen häufig auftreten. Durch den Einsatz eines verteilten Systems (Server, Clients) und der Verwendung von verteilten Schlüsseln ist die Vertraulichkeit der Benutzerdaten gewährleistet. Durch eine Erweiterung der Methode mit sog. "Meta-Daten" (Attribute) kann eine weitere Performance-Steigerung erreicht werden. Beispiele: Kategorien, Beschreibungen, Texte, ... Dieses ist besonders wichtig bei "neuen" Produkten, die bisher noch keinerlei Bewertungen der Benutzer aufweisen. Der Einsatz von Metadaten (Canny, 2002) Collaborative Filtering with Privacy via Factor Analysis

23 Literaturverzeichnis
Canny, J. (2002). Collaborative Filtering with Privacy via Factor Analysis, Annual ACM Conference on Research and Development in Information Retrieval. Proceedings of the 25th annual international ACM SIGIR conference on Research and development. Retrieved , from Canny, J. (2002). Some techniques for privacy in ubicomp and context-aware applications. In UBICOMP-2002, Goteborg, Sweden, Sept Retrieved , from Kamps, T. & Frommholz, I. (2004). Industrielle Wissensanwendungen. Skript zur Vorlesung im SS 2004. Fraunhofer Institut für integrierte Publikations- und Informationssysteme. TU-Darmstadt. Retrieved , from Movielens (2003). Movielens - Project Homepage. Group Lens Research. University of Minnesota. Department of Computer Science and Engineering. Retrieved , from Pedersen, T. (2001). A Gentle Introduction to the EM-Algorithm. Department of Computer Science. University of Minnesota Duluth. Retrieved , from Wandmacher, J. (1993). Mensch-Computer-Kommunikation – Grundwissen 2: Software-Ergonomie. Berlin: Walter de Gruyter. Wikipedia (2005). Online-Enzyklopädie. Div. Artikel über die lineare Algebra, wie z.B. das Kronecker-Produkt. Wikimedia Foundation. Florida, USA. Retrieved , from Collaborative Filtering with Privacy via Factor Analysis

24 Vielen Dank für Ihre Aufmerksamkeit
Collaborative Filtering with Privacy via Factor Analysis

25 Münzwurf als MLE-Beispiel (Pedersen, 2001)
Anhang A Maximum Likelihood Estimates (am Beispiel von Münzwürfen): Münzwurf als MLE-Beispiel (Pedersen, 2001) Collaborative Filtering with Privacy via Factor Analysis

26 Beispiel für die Berechnung des Kronecker-Produkts (Wikipedia, 2005)
Anhang B Das Kronecker-Produkt: Beispiel für die Berechnung des Kronecker-Produkts (Wikipedia, 2005) L(A) - "Stacking" von A - Beispiel: Collaborative Filtering with Privacy via Factor Analysis

27 Berechnung der Pearson-Korrelation (aus: Kamps & Frommholz, 2004)
Anhang C Pearson User to User Korrelation 1. Schritt: Berechnung der Korrelation zwischen den Benutzern a und u: Berechnung der Pearson-Korrelation (aus: Kamps & Frommholz, 2004) Collaborative Filtering with Privacy via Factor Analysis

28 Vorhersage für den Artikel i (aus: Kamps & Frommholz, 2004)
Anhang C Pearson User to User Korrelation (Forts.) 2. Schritt: Berechnung der Empfehlungen Um für User a Empfehlungen zu generieren, werden die n User mit höchster Pearson-Korrelation ausgewählt (50<n<200) Für jedes Item i wird eine Voraussage pa,i gemacht, wie User a das Item i bewerten würde. Empfehlung = Items mit höchstem pa,i Vorhersage für den Artikel i (aus: Kamps & Frommholz, 2004) Hinweis: Es erfolgt eine Modifizierung der Korrelation, je nach "Güte" (Anzahl der gemeinsam bewerteten Artikel m). Collaborative Filtering with Privacy via Factor Analysis


Herunterladen ppt "Collaborative Filtering with Privacy via Factor Analysis"

Ähnliche Präsentationen


Google-Anzeigen