07_Explicación detallada del algoritmo del sistema de recomendación
1 El mecanismo de recomendación basado en datos demográficos es uno de los métodos de recomendación más fáciles de implementar. Simplemente descubre la relevancia del usuario en función de la información básica del usuario del sistema y luego recomienda otros elementos que les gustan a usuarios similares al usuario actual.
2. Para la información del usuario sin un significado claro (como la hora de inicio de sesión, la región y otra información contextual), los usuarios pueden anotarse mediante agrupación y otros métodos.
3. Para usuarios con etiquetas específicas, se pueden recomendar los elementos correspondientes en función de reglas (conocimientos) o modelos preestablecidos.
4. El proceso de marcar la información del usuario a menudo se denomina elaboración de perfiles de usuario.
(1) User Profile es una aplicación empresarial de tecnología de big data que recopila y analiza datos sobre los atributos sociales, hábitos de vida, comportamientos de consumo y otra información principal de los consumidores, y luego abstrae perfectamente al usuario. El enfoque básico al panorama empresarial.
(2) Los retratos de usuarios proporcionan a las empresas una base de información suficiente, que puede ayudarlas a encontrar rápidamente grupos de usuarios precisos, necesidades de los usuarios y otra información de retroalimentación más amplia.
(3) Como base de big data, abstrae perfectamente una imagen completa de la información del usuario, proporcionando datos suficientes para un análisis más preciso y rápido de información importante como el comportamiento del usuario y los hábitos de consumo.
1. La recomendación basada en contenido (CB) encuentra la relevancia del elemento en función de los metadatos del elemento o contenido recomendado y luego recomienda elementos similares al usuario en función de los registros de preferencias anteriores del usuario.
2. Calcular la similitud extrayendo los valores de las características intrínsecas o extrínsecas de los elementos. Por ejemplo, una película tiene director, actores, etiquetas de usuario UGC, comentarios de usuarios, duración, estilo, etc. Todos pueden considerarse características.
3. Al hacer coincidir las características de la información personal del usuario (basadas en registros de preferencias o etiquetas de interés preestablecidas) con las características del artículo, se puede obtener el interés del usuario en el artículo. Se ha utilizado con éxito en algunos sitios de redes sociales para películas, música y libros, y algunos sitios también invitan a profesionales a codificar/etiquetar genéticamente elementos (PGC).
4. Cálculo de similitud:
5. Extracción de características de la anotación del artículo.
-Etiquetas expertas (PGC)
-Etiquetas definidas por el usuario (UGC)
-Datos de análisis de reducción de dimensionalidad, extracción de etiquetas semánticas ocultas (LFM)
p>
? Extracción de funciones de información de texto: palabras clave
-Segmentación de palabras, procesamiento semántico y análisis de sentimientos (NLP)
-Análisis semántico latente (LSA)
6. Estructura de niveles basada en el sistema de recomendación de contenido
7. Ingeniería de funciones
(1) Características: Información útil para la predicción de resultados extraída de los datos.
? El número de características es la dimensión observacional de los datos.
? La ingeniería de funciones es el proceso de utilizar conocimientos y habilidades profesionales para procesar datos de modo que las funciones puedan desempeñar un mejor papel en los algoritmos de aprendizaje automático.
? La ingeniería de funciones generalmente incluye la limpieza de funciones (muestreo y limpieza de muestras anormales), procesamiento de funciones y selección de funciones.
? Las características se clasifican según diferentes tipos de datos y existen diferentes métodos de procesamiento de características: numérico, categórico, temporal y estadístico.
(2) ¿Procesamiento de características digitales
? Cuando se utilizan valores numéricos continuos para representar características dimensionales actuales, las características numéricas generalmente se procesan matemáticamente y los métodos principales son la normalización y la discretización.
? *Estandarización del ajuste de amplitud:
Las características deben ser equivalentes y las diferencias deben reflejarse en las características.
Por ejemplo, el rango de precios de la vivienda y la superficie de la vivienda es diferente. Los precios de la vivienda pueden oscilar entre 3 millones y 65.438 0.500.000 (diez mil), mientras que la superficie de la vivienda oscila entre 40 y 300 (metros cuadrados). Obviamente, estas dos características son iguales. Después de ingresar al mismo modelo, los efectos serán diferentes debido a diferentes amplitudes, lo cual no es razonable.
?
*Procesamiento de características numéricas - discretización
Dos métodos de discretización: igual tamaño de paso - simple pero no necesariamente igual de frecuencia - mínimo -> 25- gt; /p>
Comparación de dos métodos:
? El método de discretización de igual frecuencia es muy preciso, pero requiere volver a calcular la distribución de datos cada vez. Debido a que la distribución de precios de lo que los usuarios compraron ayer en Taobao puede no ser la misma que hoy, los puntos de segmentación de igual frecuencia de ayer pueden no ser aplicables. Sin embargo, lo más importante que se debe evitar en Internet es que no sea fijo y. requiere cálculo in situ. Por lo tanto, el modelo entrenado ayer no se utilizará hoy.
La frecuencia igual no es fija, pero es muy precisa, y la longitud del paso igual es fija y muy simple, por lo que ambas tienen aplicaciones en la industria.
(3) Procesamiento de características de categoría
? Los datos de categoría en sí no tienen una relación de tamaño y deben codificarse en números, pero no puede haber una relación de tamaño preestablecida entre ellos. Por eso, debemos ser justos y diferenciados, por lo que debemos abrir directamente múltiples espacios.
Codificación one-hot/variable ficticia: la codificación one-hot/variable ficticia expande los datos categóricos en paralelo, es decir, después de la variable ficticia de codificación one-hot, el espacio de esta característica se expandirá.
(4) Procesamiento de características de tiempo
Las características basadas en el tiempo pueden considerarse como valores continuos y valores discretos.
Valores continuos: duración (tiempo de navegación en la página (intervalo de tiempo desde la última compra/clic);
Valores discretos: hora del día; día de la semana; mes/semana del año; fines de semana.
(5) ¿Procesamiento de características estadísticas
? Promedio más o menos: cuánto es el precio del producto más alto que el precio promedio y cuánto consume el usuario en una determinada categoría.
Línea separadora: Es la línea divisoria donde pertenece el producto y el precio de los bienes vendidos.
Pedido: ¿Dónde están los artículos de Productos Populares?
Proporción categoría: ratio de reseñas buenas/medias/malas del producto en comercio electrónico.
8. Datos de comentarios comunes para los sistemas de recomendación:
9. Los usuarios utilizan etiquetas para describir sus opiniones sobre los proyectos, por lo que las etiquetas generadas por el usuario (UGC) son el vínculo entre los usuarios y los proyectos y una fuente importante de datos que reflejan los intereses de los usuarios.
Los conjuntos de datos del comportamiento de etiquetado de los usuarios suelen estar representados por un conjunto de tripletas (usuario, elemento y etiqueta), donde el registro (u, I, b) indica que el usuario u etiquetó el elemento b..
Uno de los algoritmos más simples:
-Cuenta las etiquetas más utilizadas por cada usuario.
-Para cada etiqueta, cuenta el elemento que ha sido etiquetado más veces.
-Para un usuario, primero encuentre sus etiquetas habituales y luego encuentre los productos más populares con estas etiquetas para recomendarle.
Por lo tanto, la fórmula para que el usuario U se interese en el elemento I es que el número de veces que el usuario U es etiquetado con la etiqueta B es el número de veces que el elemento I es etiquetado con la etiqueta B.
En un algoritmo simple, el interés del usuario en una determinada característica del artículo se puede expresar simplemente multiplicando directamente el número de veces que el usuario ingresa la etiqueta y el número de veces que el artículo obtiene la etiqueta.
Este método tiende a dar más peso a las etiquetas populares (etiquetas que cualquiera daría, como "blockbuster" y "funny") y a los elementos populares (los que tienen el mayor número de etiquetas). Si a un producto popular también le corresponde una etiqueta popular, "dominará la lista" y se reducirá la personalización y novedad de las recomendaciones.
Problemas similares también ocurren en la extracción de palabras clave del contenido de noticias. Por ejemplo, en las noticias siguientes, ¿qué palabra clave debería tener una mayor ponderación?
10. TF-IDF: $ TERM frecuencia-frecuencia de documento inversa (TF-DF) es una técnica de ponderación comúnmente utilizada para la recuperación de información y la minería de texto.
TFDF es un método estadístico utilizado para evaluar la importancia de una palabra para un documento en un conjunto de documentos o corpus. La importancia de una palabra es directamente proporcional al número de veces que aparece en el documento, pero al mismo tiempo inversamente proporcional a la frecuencia de su aparición en el corpus.
TFIDF=TF IDF
La idea principal de TF-IDF es que si una palabra o frase aparece con frecuencia en un artículo pero rara vez aparece en otros artículos, se considera La La palabra o frase tiene buena capacidad de clasificación y es adecuada para la clasificación.
Los motores de búsqueda suelen utilizar varias formas de ponderación TF-DF como medida o calificación del grado de relevancia entre un documento y la consulta de un usuario.
? $TERM frecuencia (TF): se refiere a la frecuencia con la que aparece una determinada palabra en el documento. Este número está normalizado según el recuento de palabras para evitar sesgos hacia documentos más largos. La misma palabra puede tener más palabras en un archivo largo que en uno corto, independientemente de si la palabra es importante. ), que indica la frecuencia con la que aparece la palabra I en el documento J, el número de veces que aparece I en el documento J y el número total de palabras en el documento J.
Frecuencia inversa del documento (IDF): Es una palabra. Una medida de importancia general. El IDF para una palabra en particular se puede obtener dividiendo el número total de documentos por el número de documentos que contienen esa palabra y luego tomando el logaritmo del cociente resultante, donde n representa la frecuencia inversa de la palabra I en el conjunto de documentos y n representa el número total de documentos en el conjunto de documentos, lo que indica el número de documentos en el conjunto de documentos que contienen la palabra I.
(11) Mejoras de TF-IDF en las recomendaciones basadas en UGC: para evitar que las etiquetas populares y los productos populares adquieran más peso, debemos castigar lo "caliente".
? Según la idea de TF-IDF, todas las etiquetas de un artículo se consideran "documentos" y las etiquetas se consideran "palabras", calculando así la "frecuencia de términos" (frecuencia entre todas las etiquetas de un artículo) y el "documento inverso". frecuencia". " (una ocurrencia común en las etiquetas de otros elementos).
Dado que "todas las etiquetas del elemento I" no deberían tener ningún impacto en el peso de la etiqueta y que el "número total de todas las etiquetas" n se determina para todas las etiquetas, estos dos elementos se pueden omitir. Basado en un algoritmo simple, se agrega directamente el término de penalización para etiquetas y elementos destacados: que registra cuántos usuarios diferentes han usado la etiqueta B y cuántos usuarios diferentes han marcado el elemento I.
(A) Filtrado colaborativo, ver)
1. Recomendación basada en filtrado colaborativo (CF): basado en contenido (CB) utiliza principalmente las características de contenido de los elementos evaluados por los usuarios. mientras que CF Methods también puede aprovechar el contenido de los elementos calificados por otros usuarios.
El CF puede solucionar algunas limitaciones del CB:
? -Cuando el contenido del artículo está incompleto o es difícil de obtener, aún se pueden dar recomendaciones a través de los comentarios de otros usuarios.
-CF se basa en la evaluación de la calidad de los artículos entre los usuarios, evitando la interferencia que CB puede causar al juzgar la calidad de los artículos basándose únicamente en el contenido.
-Las recomendaciones de CF no están restringidas por contenido. Siempre que otros usuarios similares muestren interés en diferentes artículos, CF puede recomendar artículos con contenidos muy diferentes a los usuarios (pero con ciertas conexiones internas).
Se divide en dos categorías: basado en vecinos y basado en modelos.
2. Sistema de recomendación basado en el vecino más cercano: basado en el mismo criterio del "boca a boca". ¿Debería recomendar Titanic a Cary?
(B) Filtrado colaborativo basado en el vecino más cercano
1. Usuario-CF: el principio básico de la recomendación de filtrado colaborativo basado en el usuario es encontrar elementos que estén relacionados con el A actual. El grupo de usuarios "vecino" con gustos y preferencias de usuario similares recomienda los artículos preferidos por los vecinos.
? En aplicaciones generales, se utiliza el algoritmo para calcular los "K vecinos más cercanos". Con base en la información histórica de preferencias de estos k vecinos, se hacen recomendaciones para el usuario actual.
Experiencia de usuario y mecanismo de recomendación basado en datos demográficos:
-Calcula tanto la similitud de los usuarios como las recomendaciones basadas en grupos de usuarios "vecinos" similares.
La diferencia entre los dos es cómo calcular la similitud del usuario: el mecanismo basado en la demografía solo considera las características del usuario, mientras que el mecanismo de filtrado colaborativo basado en el usuario puede calcular la similitud del usuario basándose en los datos históricos de preferencias del usuario. . El supuesto básico es que los usuarios a quienes les gustan artículos similares probablemente tengan gustos y preferencias iguales o similares.
2.Item-CF: El principio básico de la recomendación de filtrado colaborativo basado en elementos es similar al de la recomendación basada en usuarios, excepto que utiliza todas las preferencias del usuario sobre elementos para encontrar similitudes entre elementos y luego Según el historial del usuario, la información de preferencias recomienda artículos similares a los usuarios.
Proyecto-CF y recomendación basada en contenido (CB)
-De hecho, ambos se basan en la predicción y recomendación de similitud de elementos, pero el método de cálculo de similitud es diferente. Lo primero se infiere de las preferencias históricas del usuario y lo segundo se basa en la información de características de atributos del artículo en sí.
Lo mismo ocurre con el filtrado colaborativo. ¿Cómo elegir entre estrategia basada en usuarios y estrategia basada en proyectos?
-Las webs de comercio electrónico, películas y música tienen más usuarios que artículos.
-Para sitios web de noticias, el número de entradas (texto de noticia) puede ser mayor que el número de usuarios.
3. ¿Comparación del CF del usuario y del proyecto
? También es un filtrado colaborativo. ¿Cómo elegir entre User-CF y LTE-CF?
? Escenarios de aplicación de Item-CF
-?El mecanismo de recomendación de Item-CF es una estrategia mejorada por Amazon en el mecanismo basado en el usuario. En la mayoría de los sitios web, la cantidad de entradas es mucho menor que la cantidad de usuarios, y la cantidad y similitud de las entradas es relativamente estable. Al mismo tiempo, el mecanismo de recomendación de Item-CF es superior al rendimiento en tiempo real basado en el usuario, por lo que Item-CF se ha convertido en la corriente principal de las estrategias de recomendación.
? Escenario de aplicación User-CF
-Imagínese, en algunos sistemas de recomendación de noticias, la cantidad de elementos, es decir, noticias, puede ser mayor que la cantidad de usuarios y las noticias se actualizan rápidamente, por lo que la similitud es todavía inestable. Quizás sea mejor utilizar User-cf en este momento.
Por lo tanto, la elección de la estrategia de recomendación en realidad tiene mucho que ver con el escenario de aplicación específico.
4. Ventajas y desventajas de la recomendación basada en filtrado colaborativo.
? (1) Ventajas del mecanismo de recomendación basado en filtrado colaborativo:
No requiere un modelado estricto de objetos o usuarios, ni requiere que la descripción de las características del objeto sea comprensible por máquina, por lo que este método también es Independiente del dominio.
Las recomendaciones calculadas mediante este método son abiertas y pueden utilizar la experiencia de otros para ayudar a los usuarios a descubrir posibles preferencias de interés.
(2) Problemas
El núcleo de este método se basa en datos históricos, por lo que existe un problema de "inicio en frío" para nuevos proyectos y nuevos usuarios.
La eficacia de las recomendaciones depende de la cantidad y precisión de los buenos datos históricos de los usuarios.
En la mayoría de las implementaciones, las preferencias históricas de los usuarios se almacenan en matrices dispersas. Hay algunos problemas obvios con los cálculos en matrices dispersas, incluido el hecho de que las preferencias incorrectas de unas pocas personas pueden tener un gran impacto en la precisión de los cálculos. recomendaciones. Influencia.
Para algunos usuarios con gustos especiales, es imposible dar buenas recomendaciones.
(C) Filtrado colaborativo basado en modelos
1. Idea básica
(1) Los usuarios tienen ciertas características y estas características determinan sus preferencias.
(2) El artículo tiene ciertas características que afectan si el usuario necesita elegirlo.
(3) La razón por la que el usuario elige un determinado producto es porque las características del usuario y del producto coinciden entre sí.
Basado en esta idea, el establecimiento del modelo equivale a extraer características de los datos de comportamiento y etiquetar usuarios y elementos al mismo tiempo. Esto es esencialmente lo mismo que las etiquetas de usuario basadas en datos demográficos y las etiquetas de elementos; en los métodos de contenido. Lo mismo, todas las características de extracción y coincidencia.
Cuando hay características obvias (como etiquetas de usuario, etiquetas de clasificación de artículos), podemos hacer coincidencias directamente y hacer recomendaciones; de lo contrario, podemos emitir características ocultas basadas en datos de preferencias existentes, lo que requiere el uso de; Funciones ocultas Modelo Semántico (LFM).
2. La recomendación de filtrado colaborativo basada en modelos consiste en entrenar un modelo de recomendación basado en información de preferencias del usuario de muestra y luego predecir la puntuación de nuevos elementos en función de la información de preferencias del usuario en tiempo real y calcular las recomendaciones.
Recomendación basada en vecinos y recomendación basada en modelos.
La recomendación basada en vecinos utiliza directamente los datos de preferencias del usuario existentes en la predicción y predice preferencias para nuevos elementos (clasificación similar) a través de datos de vecinos.
-El método basado en modelos consiste en utilizar estos datos de preferencia para entrenar el modelo, encontrar reglas internas y luego usar el modelo para hacer predicciones (similar a la regresión).
Al entrenar el modelo, puede extraer las características del artículo según el contenido de la etiqueta, o puede dejar que el modelo emita las características potenciales del artículo. Estos modelos se denominan modelos de factores latentes (LFM).
(1) Modelo semántico latente (LFM): el objetivo del filtrado colaborativo del modelo semántico latente;
-Revelar características ocultas que puedan explicar por qué se otorga la puntuación de predicción correspondiente.
——Esta característica puede no explicarse ni describirse directamente con palabras. De hecho, no necesitamos saberlo, similar a la "metafísica"
Descomposición matricial y análisis de reducción de dimensionalidad
-El algoritmo de filtrado colaborativo se basa en gran medida en datos históricos y, en general, en recomendaciones. En los sistemas, los datos de preferencias a menudo son escasos; esto requiere una reducción de la dimensionalidad de los datos originales.
-La matriz descompuesta representa las características ocultas de usuarios y elementos.
Ejemplos de modelos semánticos ocultos: análisis semántico latente basado en probabilidad (pLSA), modelo de distribución de Dirichlet oculto (LDA), modelo de factorización matricial (SVD).
(2) Método de reducción de dimensionalidad de LFM: descomposición matricial
(3) Mayor comprensión de LFM
Podemos pensar que los usuarios otorgan a las películas tales calificaciones. razones. Podemos extraer los factores ocultos que influyen en las calificaciones de los usuarios y luego determinar la calificación prevista de una película sin calificación en función de su correlación con estos factores ocultos.
Debería haber algunos factores implícitos que afecten a las valoraciones de los usuarios, como las películas: actores, temáticas, años... incluso factores implícitos que la gente pueda entender directamente.
Si encuentra los factores ocultos, puede conectar al usuario con Iiem (descubrir qué hace que al usuario le guste/no le guste el artículo, qué determina que al usuario le guste/no le guste el artículo), y luego podrá adivinar si al usuario le gustará una película que no ha visto.
(4) Descomposición de matrices
(5) Resolución de la función de pérdida del modelo
(6) ALS, un algoritmo para resolver el modelo.
? Ahora, el problema de descomposición matricial se ha transformado en un problema de optimización estándar, que requiere resolver P y Q para minimizar la función de pérdida objetivo.
Normalmente se utiliza el algoritmo de descenso de gradiente estocástico o el método de mínimos cuadrados alternos (ALS) para resolver el proceso de minimización.
La idea de ALS es que, dado que las dos matrices P y Q son desconocidas, se acoplan mediante la multiplicación de matrices. Para desacoplar, primero podemos arreglar Q y usar P como variable. y minimizar la función de pérdida. Para obtener P, este es un problema clásico de mínimos cuadrados. Luego corrija la p obtenida en secuencia, use q como variable y resuelva para q: esto se hace alternativamente hasta que el error cumpla con las condiciones de lectura o alcance el límite superior de iteración.
(7) Algoritmo de descenso de gradiente