Cómo codificar entradas y salidas en una red neuronal artificial?
Mié, 01/16/2008 - 20:45 — omercade
Si alguna vez os enfrentáis al reto de modelar un problema para que sea resuelto mediante una red neuronal artificial, rápidamente os encontrareis con la necesidad de cómo modelar la información infinita del mundo en un número entre 0 y 1.
La respuesta depende del tipo de dato que queramos modelar. Los booleanos son los más fáciles, basta con un 0 para false y un 1 para true.
Para modelar un número la cosa se complica. Imaginemos que queremos que una red neuronal nos dé cómo resultado una estimación del precio de un artículo.
digamos que el precio puede variar entre 1€ a 1.000.000€ una forma rápida de meter toda ésa cantidad de posibilidades en un numero comprendido entre 0 y 1 es modelar tal que el resultado de la red neuronal sea ( 1/precio_en_€ )
Jugando con ésta aproximación vemos que muchas veces se manejan números tan pequeños que el propio sistema los considera 0.
ejemplo:
un piso de 313.000€ nos daría un valor de 3.19*10-6 o lo que es lo mismo 0,00000319 La propia red neuronal se educará con números tan cercanos a cero que su resolución será muy baja, y dependiendo de la estimación nos puede devolver muy fácilmente el valor 0. Para recuperar su valor en euros, 1/0 ... infinito. No nos sirve.
En el último proyecto en el que ha participado Omitsis, hemos solucionado el problema haciendo una red neuronal artificial con 7 outputs, cada output representa una parte del precio: unidades, decenas, centenas, miles...
por lo que la red es mucho mas precisa, tiene muchísima más resolución y capacidad de estimación.
Si necesitáis ayuda para modelar problemas con redes neuronales o para codificar un número de la forma que proponemos no dudéis en poneros en contacto con nosotros. Nos encanta ayudar.
Responder
Omitsis S.L. c/Carme Karr 16 1er 1a 08034 (Barcelona) - 622302299
