Primero debes decidir qué es exactamente lo que estás recomendando y bajo qué circunstancias. Hay muchas cosas para tener en cuenta. ¿Vas a considerar los "otros usuarios que compraron X también compraron Y?" ¿Solo va a recomendar artículos que tengan una naturaleza similar entre sí? ¿Está recomendando artículos que tengan este tipo de relación de este tipo de uno-es-más-útil-con-uno?
Estoy seguro de que hay muchas más decisiones, y cada una de ellas tiene sus propios objetivos en mente. Sería muy difícil entrenar una red gigante para manejar todo lo anterior.
Las redes neuronales se reducen a lo mismo. Usted tiene un conjunto dado de entradas. Usted tiene una topología de red. Usted tiene una función de activación. Tienes pesos en las entradas de los nodos. Tiene salidas, y tiene un medio para medir y corregir el error. Cada tipo de red neuronal puede tener su propia forma de hacer cada una de esas cosas, pero están presentes todo el tiempo (según mi conocimiento limitado). Luego, entrena la red al alimentar una serie de conjuntos de entrada que tienen resultados de salida conocidos. Ejecutas este conjunto de entrenamiento todo lo que desees sin un entrenamiento excesivo o insuficiente (que es tanto tu conjetura, ya que es el siguiente), y luego estás listo para rodar.
Esencialmente, su conjunto de entrada se puede describir como un conjunto de cualidades que usted considera relevantes para la función subyacente (por ejemplo: precipitación, humedad, temperatura, enfermedad, edad, ubicación, costo, habilidad, tiempo) El día, el día de la semana, el estado laboral y el género pueden tener un papel importante a la hora de decidir si una persona va a jugar golf en un día determinado o no. Por lo tanto, debe decidir qué es exactamente lo que está tratando de recomendar y en qué condiciones. Sus entradas de red pueden ser de naturaleza booleana (0.0 es falso y 1.0 es verdadero, por ejemplo) o mapeadas en un espacio pseudo continuo (donde 0.0 puede significar nada, .45 significa algo, .8 significa probable, y 1.0 significa sí). Esta segunda opción puede proporcionarle las herramientas para mapear el nivel de confianza de una entrada determinada, o un cálculo matemático simple que usted cree que es relevante.
Espero que esto haya ayudado. No dio mucho para seguir :)
En cuanto a tu edición: No, se está perdiendo el punto. El punto de un NN es la clasificación basada en propiedades estadísticas.No son de naturaleza bayeseana, pero puedes pensar de esa manera si te ayuda: "cuando tengo la entrada A de cierto valor, la entrada B de un cierto valor, la entrada C de un cierto valor ... ¿cuál es la Probabilidad de que este conjunto de entrada específico pertenezca a un determinado grupo (más exactamente, pregunte a qué grupo pertenece) Ese es el propósito de una NN. Puede flexionar este modelo para usarlo en una clasificación más que simple, pero en su corazón, eso es lo que hace. –
Gracias, su respuesta explica claramente cómo ingresar los datos pero no cómo deberían ser/deberían ser las salidas y cómo significan algo. Ahí es donde estoy confundido. – Louis
Las salidas serán numéricas, pero esos números deben tener significado. "Lo que quieren decir" depende de USTED, el diseñador de la red, pero no va a funcionar simplemente asignarlos a una ID de base de datos (que es una etiqueta sin significado matemático) en el camino usted quiere. Las salidas no se pueden convertir directamente a una etiqueta. re los valores de un modelo estadístico. Sería como intentar predecir el rendimiento de un mariscal de campo basado en el número de su maillot. A menos que el maillot sea asignado según criterios específicos y observables sobre el jugador, cualquier predicción de ese tipo no tendría sentido. –