5

Soy bastante nuevo con este tema así que cualquier ayuda sería genial. Lo que necesito es optimizar una red neuronal en MATLAB usando GA. Mi red tiene entrada [2x98] y objetivo [1x98], intenté consultar la ayuda de MATLAB, pero todavía no tengo ni idea de qué hacer :(así que cualquier ayuda sería apreciada. Gracias de antemano.¿Cómo optimizar la red neuronal mediante el uso de algoritmo genético?

Editar: Supongo que no dije lo que hay que optimizar como dijo Dan en la primera respuesta. Creo que lo más importante es el número de neuronas ocultas. Y tal vez el número de capas ocultas y parámetros de entrenamiento como el número de épocas más o menos. Lo siento por no proporcionar suficiente información, todavía estoy aprendiendo sobre esto.

Respuesta

0

Bueno, tiene que ser más específico sobre lo que está tratando de optimizar. ¿Es el tamaño de la capa oculta? ¿Tiene una capa oculta ? Es la optimización de parámetros (tasa de aprendizaje, parámetros del kernel)?

+0

gracias por la respuesta, edité la pregunta –

1

Si esta es una tarea, haz lo que se te enseñó en clase.

De lo contrario, elimine por completo el MLP. La regresión de vectores de soporte (http://www.csie.ntu.edu.tw/~cjlin/libsvm/) es mucho más fiable para una amplia gama de problemas, y casi nunca se topa con el problema de minería localizada a menudo golpeada con MLP entrenado en retro-propagación que te obliga a resolver una red problema de optimización topográfica solo para encontrar una red que realmente entrenará.

0

Supongo que tiene un conjunto de parámetros (# de capas ocultas, # de neuronas por capa ...) que deben ajustarse, en lugar de usar fuerza bruta para buscar todas las combinaciones y elegir una buena, GA puede ayudar "saltas" de esta combinación a otra. Por lo tanto, puede "explorar" el espacio de búsqueda de posibles candidatos.

GA puede ayudar a seleccionar las características "útiles". Algunas funciones pueden parecer redundantes y desea podarlas. Sin embargo, por ejemplo, los datos tienen demasiadas características para buscar el mejor conjunto de características mediante algunos enfoques, como la selección directa. De nuevo, GA puede "saltar" de este candidato establecido a otro.

Tendrá que buscar para codificar los datos (parámetros de entrada, características ...) alimentados a GA. Para encontrar un conjunto de parámetros de entrada o un buen conjunto de características, creo que la codificación binaria debería funcionar. Además, elegir operadores para GA para reproducir descendencias también es importante. Sin embargo, GA también debe ajustarse (detención temprana que también se puede aplicar a ANN).

Aquí hay algunas ideas. Es posible que desee buscar más información sobre GA, selección de funciones, poda ANN ...

+0

gracias por la respuesta, pero la necesito más específica. Por ejemplo, si estoy usando la función GA en matlab, X = GA (FITNESSFCN, NVARS) cuál debería ser la función, las entradas y qué hacer con x al final. –

+0

Lo siento, nunca he tocado GA de matlab. Creo que puede consultar su documento para conocer los significados de args y el valor devuelto. – user247468

-1

Buscar Matthew Settles en Google Scholar. Hizo algún trabajo en esta área en la Universidad de Idaho en los últimos 5-6 años. Él debería tener citas relevantes para su trabajo.

0

Dado que está utilizando MATLAB ya le sugiero que busque en el Genetic Algorithms solver (conocido como GATool, parte de la Global Optimization Toolbox) y el Neural Network Toolbox. Entre esos dos deberías ser capaz de ahorrar bastante.

Usted básicamente tiene que hacer 2 tareas principales:

  1. llegar a una representación (o codificación) para sus soluciones candidatas
  2. Código de su función de aptitud (que básicamente pone a prueba las soluciones candidatas) y pase como un parámetro para el solucionador de GA.

Si necesita ayuda en términos de crear una función de acondicionamiento físico o codificación de las soluciones candidatas, entonces deberá ser más específico.

Espero que ayude.

0

Matlab tiene una explicación simple pero excelente para este problema here. Explica tanto la parte ANN como GA.

Para obtener más información sobre el uso de ANN en la línea de comandos, vea this.

También hay mucha literatura sobre el tema si lo googleas. Sin embargo, no está relacionado con MATLAB, sino simplemente los resultados y el método.

Cuestiones relacionadas