2009-06-28 13 views

risposta

11

ma come funziona normalmente il campo?

È una tecnica di data mining. Data Mining viene utilizzato come parte della Business Intelligence (Data Warehouse e simili) cercando di trovare relazioni e informazioni in enormi quantità di dati. È un'area di informatica, che riguarda anche l'apprendimento automatico in generale, ad es. riconoscimento del modello. I consigli automatici vengono forniti da Association Mining. Un'associazione con un alto supporto è mostrata come raccomandazione. L'algoritmo k-nearest-neighbor è solo uno dei molti algoritmi utilizzati dalle persone di machine learning/data mining.

Se sei interessato alla teoria di base, ti consiglio di scrivere a Data Mining: Practical Machine Learning Tools and Techniques di Ian H. Witten.

Per Java è disponibile un ottimo pacchetto di machine learning, WEKA che è in grado di eseguire association mining. Anche Ian Witten è uno degli autori di WEKA.

11

Dai un'occhiata a questo articolo di Wikipedia: Euclidean Distance.

L'idea di base è che si utilizza una metrica di distanza (come quella Euclidea sopra) per confrontare le persone o le cose l'una con l'altra.

Il nuovo libro O'Reilly, Programming Collective Intelligence: Building Smart Web 2.0 Applications ha un grande capitolo su questo argomento.

+0

Un altro approccio è la distanza di manhattan (o geometria di Taxicab) (più veloce da calcolare, meno preciso di Euclideo) – adhg

5

La maggior parte dei concorrenti di Netflix ha utilizzato variazioni su un Singular Value Decomposition. Questo algoritmo opera prendendo una matrice grande e semplificandola in una matrice 2x2 approssimativa. Questa matrice 2x2 può quindi essere tracciata su uno spazio bidimensionale in cui punti vicini l'uno all'altro condividono l'affinità l'uno con l'altro nella matrice originale.

Quindi, nel caso di Netflix, è possibile creare una matrice con i filmati come colonne e gli utenti come le righe in cui qualsiasi valore [i, j] è la valutazione che l'utente i ha assegnato al film j. Questa è una matrice molto grande che può quindi avere un SVD applicato per generare una matrice bidimensionale che serve come approssimazione della matrice più grande. Gli utenti vicini tra loro se tracciati su questo piano condividono valutazioni simili, quindi se un utente non ha visto un film che un altro utente ha visto chi è vicino a questo piano, potrebbe essere una raccomandazione per il nuovo utente.

La soluzione vincente ha progettato una variante di un algoritmo SVD semplice chiamato SVD ++ e si è unito a altri casi limite per provare a produrre un algoritmo che superasse il miglioramento del 10% necessario per richiedere il premio.

Problemi correlati