¿Propiedades para construir una red neuronal de perceptrones multicapa que usa keras?

datascience.stackexchange https://datascience.stackexchange.com/questions/9502

  •  16-10-2019
  •  | 
  •  

Pregunta

Estoy tratando de construir y entrenar una red neuronal de perceptrones multicapa que predice correctamente lo que el presidente ganó en qué condado por primera vez. Tengo la siguiente información para los datos de capacitación.

Total población mediana mediana % de edad de licenciatura o mayor tasa de desempleo de la tasa de desempleo per cápita hogar total de hogares promedio tamaño de hogar % propietario de vivienda ocupada % inquilino de vivienda ocupada % Vivienda vacante Valor de vivienda Valor de vivienda de la población Casa de la casa Holda del crecimiento del ingreso per cápita Ganador del crecimiento del ingreso

Eso es 14 columnas de datos de entrenamiento y la 15ª columna es lo que debería ser la salida.

Estoy tratando de usar keras para construir una red neuronal de perceptrones multicapa, pero necesito ayuda para comprender algunas propiedades y los pros de los contras de elegir diferentes opciones para estas propiedades.

  1. Función de activación

Sé que mi primer paso es crear una función de activación. Siempre estudié redes neuronales usaron funciones de activación sigmoidea. ¿Es una función de activación sigmoidea la mejor? ¿Cómo sabes cuál usar? Keras también ofrece las opciones de usar una función de activación SoftMax, SoftPlus, Relu, Tanh, Lineal o Hard_Sigmoid. Estoy de acuerdo con usar lo que sea, pero solo quiero poder entender por qué y los pros y los contras.

  1. Probabilidad Inicializaciones

Sé que las inicializaciones definen la distribución de probabilidad utilizada para establecer los pesos aleatorios iniciales de las capas Keras. Las opciones que ofrece Keras son uniformes lecun_uniform, normales, identidad, ortogonales, cero, glorot_normal, glorot_uniform, he_normal y he_uniform. ¿Cómo afecta mi selección aquí mi resultado final o modelo? ¿No debería importar porque estamos "entrenando" el modelo aleatorio con el que comenzamos y presentando una ponderación más óptima de las capas de todos modos?

¿Fue útil?

Solución

1) La activación es una elección de arquitectura, que se reduce a una elección de hiperparameter. Puede hacer un argumento teórico para usar cualquier función, pero la mejor manera de determinar esto es probar varios y evaluar en un conjunto de validación. También es importante recordar que puede mezclar y combinar las activaciones de varias capas.

2) En teoría, sí, muchas inicializaciones aleatorias serían las mismas si sus datos se comportaron extremadamente bien y su red ideal. Pero en la práctica, las inicializaciones buscan garantizar que el gradiente comience razonable y la señal se pueda retroceder correctamente. Probablemente en este caso cualquiera de esas inicializaciones funcionaría de manera similar, pero el mejor enfoque es probarlas, cambiando si obtiene resultados indeseables.

Licenciado bajo: CC-BY-SA con atribución
scroll top