Estoy construyendo una red neuronal para predecir el valor de una obra de arte con una amplia gama de entradas (tamaño, medio artístico, etc.) y me gustaría incluir también al autor como entrada (a menudo es una gran factor en el valor de una sola obra de arte).
Mi preocupación actual es que el nombre del autor no es una entrada numérica ideal para un NN (es decir, si solo codifico a cada autor con un valor entero creciente, indirectamente asignaré más valor a los autores más abajo en la lista -_-) . Mis pensamientos eran crear entradas separadas para todos los autores en mi conjunto de datos y luego usar una codificación activa para representar mejor la entrada al NN.
Sin embargo, este enfoque se encuentra con un problema cuando un autor que no está incluido en mis datos de entrenamiento se utiliza como entrada para el NN (es decir, un nuevo autor). Puedo evitar esto con un campo de entrada de "otro autor", pero me preocupa que esto no sea exacto, ya que no habría entrenado al NN para esta entrada (todas las obras de arte con una valoración tienen un autor).
No he pensado completamente en esto, pero pensé en entrenar 2 NN, uno para una valoración sin autor y otro para la valoración con un autor para asegurarme de que tengo suficientes datos de entrenamiento para que una "valoración sin autor" siga siendo razonablemente precisa.
Todavía estoy tratando de conceptualizar la mejor arquitectura NN antes de atascarme en la implementación, por lo que si alguien tiene alguna sugerencia / comentario, ¡estaría muy agradecido!
Gracias de antemano, Vince
PD: Estoy haciendo esto como una pequeña competencia con un amigo para probar un NN frente a las técnicas tradicionales de valoración comercial. Por favor, ayúdame a obtener una victoria en Informática sobre Ciencia actuarial.
fuente
Respuestas:
El enfoque más directo que recomendaría sería la solución de codificación única sin una función para "otro autor". Si usa el abandono durante el entrenamiento, la red debería aprender a lidiar con los vectores de entrada que no tienen ninguna característica de autor establecida en 1. Luego, cuando tenga un autor desconocido, simplemente no tiene ningún 1 para ninguno. de las características del autor, y aún así debería haber aprendido a lidiar con eso.
Otro enfoque posible sería una codificación única con una función para "otro autor". Para obtener datos de entrenamiento para ese peso, simplemente puede usar el aumento de datos. El enfoque de aumento de datos más directo para esto sería crear copias de las instancias en sus datos de entrenamiento, pero para esas copias establezca la función '' otro autor '' en 1 en lugar del autor real.
La solución más compleja que se me ocurre sería tomar la representación en cadena del autor, intentar que su programa encuentre información sobre ese autor en línea (por ejemplo, buscar una página de wikipedia), insertar todo ese texto en un LSTM. La '' capa de salida '' del LSTM se puede fusionar con sus otras características (esas dos juntas serán su '' vector de entrada ''), apile unas capas más encima de eso y entrene todo el extremo. para terminar. A menos que la competencia con tu amigo implique una gran cantidad de dinero, esto probablemente será demasiado complicado para que valga la pena.
fuente
Intentaría encontrar algunas características proxy sobre el autor, en lugar de codificar la identidad del autor. Las características probablemente buenas de un autor incluyen promedios de otras características sobre el trabajo (como tamaño, tipos de medios, etc.), y críticamente para su predicción, algunas estadísticas sobre los precios de venta anteriores de cualquier obra. Recuerde que los datos históricos de capacitación deben incluir los datos proxy tal como aparecerían en el momento de la venta.
Es probable que tener estos proxys funcione mucho mejor que codificar en caliente una identidad de autor y obtener el algoritmo ML para asignar pesos basados solo en la identidad, especialmente para los autores con solo pequeñas cantidades de datos para representarlos.
Hasta donde yo sé, hay pocas razones para esperar que la cadena de caracteres del nombre de un autor se correlacione con el valor de la obra de arte. No puede haber algo de bueno contra mal de marca efecto, pero creo que va a ser muy difícil de predecir, incluso al margen de otros factores, e incluyendo los datos de ventas históricos deben tener en cuenta este y otros efectos, excepto para los artistas sin historia conocida.
fuente