- Considere 1000 posibles palabras clave.
- Considere un vector x de 1000 ceros.
- Ahora asocie cada índice del vector x a una palabra clave.
- Considere un texto t.
- Ahora agregue 1 a cada elemento en v si y solo si la palabra clave correspondiente a esa posición se encuentra en ese texto t.
- Ahora reúna muchos textos diferentes que un usuario lee.
- Repita el paso 5 hasta que se quede sin textos.
- Normaliza tu vector.
- Construye muchos vectores diferentes x para muchos usuarios diferentes
Ok, esta fue la parte aburrida, ahora vamos a algo más interesante.
- Considere una máquina de Boltzmann restringida (¿Restringido qué?).
- Vaya a github y si ama Python, hay una hermosa implementación de un RBM.
- Úsalo.
- Apila muchos RBM y entrena a cada uno con avidez. Eso significa usar la capa oculta del primer RBM como la capa de entrada para el segundo y así sucesivamente.
- Oye, has creado una red de creencias profundas.
- Las cosas deberían ser más complejas que esto, pero simplifiquemos un poco.
Ahora considere un usuario novato.
- Digamos que ha leído solo dos textos hasta ahora.
- Alimente su vector v en la Red de creencias profundas y reconstruya la entrada.
- Eso significa ir primero de abajo hacia arriba y luego de arriba hacia abajo.
- Ahora tiene una entrada reconstruida r.
- Resta v de r y llámalo d
- Entonces, ahora cada posición de d corresponde a la probabilidad de que al nuevo usuario le guste la nueva palabra clave.
- Combine estas nuevas palabras clave atractivas con las otras que le gustaron al usuario en función de los textos sobre los que construyó su vector.
- Consultar textos con esas palabras clave.
Ya terminaste
- ¿Qué conceptos debería practicar en la programación antes de ir a Machine Learning?
- ¿Qué es un perceptrón?
- Cómo cuantificar la cantidad de ruido en un conjunto de datos
- Redes neuronales artificiales: ¿Qué determina si un problema de clasificación no trivial para el aprendizaje profundo se puede dividir en capas convolucionales en lugar de capas completamente conectadas?
- ¿Qué enfoques utilizas para vectorizar funciones en Matlab?
Descargo de responsabilidad :
No soy un experto en aprendizaje profundo ni he estudiado en la universidad. Sin embargo, estos son mis dos centavos sobre los temas y cómo lo resolvería. Espero eso ayude.