¿Aprendizaje automático versus identificación del sistema?
12
¿Alguien podría explicarme las diferencias y similitudes entre el aprendizaje automático y las identificaciones del sistema? ¿Son estos solo dos nombres de la misma cosa? En esta página , dicen:
El aprendizaje automático y las comunidades de identificación del sistema se enfrentan a problemas similares en los que uno necesita construir un modelo a partir de observaciones limitadas o ruidosas.
También leí los primeros capítulos del famoso libro Pattern Recognition and Machine Learning de Christopher M. Bishop. Hasta ahora, mi conclusión es que el problema que la identificación del sistema está tratando de resolver es un subconjunto de lo que el aprendizaje automático está tratando de resolver.
La identificación del sistema es la ciencia de construir modelos dinámicos a partir de datos observados. Hay dos enfoques principales: Identificación de error de predicción (PEI) e Identificación de subespacio (SID). Ambos están entregando un llamado modelo paramétrico, es decir, un modelo de estructura fija. Por lo general, el usuario selecciona la estructura del sistema subyacente (especialmente en los métodos PEI) o al menos el orden del sistema (en ambos métodos). Aunque no es necesario, se busca un sistema de bajo orden (es decir, el número de coeficientes básicos es relativamente pequeño) porque a menudo se usa con fines de control, por lo que debemos mantenerlo lo más simple posible para evitar problemas computacionales, etc. Este modelo se puede utilizar para hacer predicciones sobre el comportamiento futuro del sistema a partir de algunas entradas.
Por otro lado, el aprendizaje automático (ML) tiene dos ramas principales, los algoritmos de clasificación y regresión. Los últimos también se utilizan con fines de predicción. Dos de los enfoques más famosos en el aprendizaje automático son Support Vector Machines (SVM) y procesos gaussianos (GP). La principal diferencia con las técnicas de identificación del sistema es que las técnicas de ML están entregando un modelo no paramétrico. Esto último significa que la predicción para una nueva entrada se da en función de los puntos de datos utilizados para el "entrenamiento" (aprendizaje, identificación) del modelo. Por lo tanto, si utilizamos N = 1000 puntos de datos para el entrenamiento, la predicción se expresaría en función de estos puntos de datos. Los métodos de ML son más flexibles ya que no requieren ninguna selección de estructura por parte del usuario, pero enfrentan otras limitaciones (p. Ej.
Hasta hace poco, el ML y las técnicas de identificación del sistema se desarrollaban de forma independiente. Pero en los últimos años hay un gran esfuerzo para establecer un terreno común (por ejemplo, ver el documento "Cuatro encuentros con la identificación del sistema" de Ljung)
Contexto: SysID y controles tipo que se metió en ML.
Creo que la respuesta del usuario110686 hace un buen trabajo al explicar algunas diferencias. SysID se trata necesariamente de modelos dinámicos a partir de datos de entrada / salida, mientras que ML cubre una clase más amplia de problemas. Pero la mayor diferencia que veo es hacer con (a) memoria (número de parámetros); (b) uso final del modelo "aprendido". La identificación del sistema es en gran medida un enfoque de procesamiento de señales que considera representaciones de dominio de frecuencia, análisis de frecuencia de tiempo, etc. Algunas personas de ML llaman a esto "ingeniería de características".
(un recuerdo:SysID se hizo prominente mucho antes de ML cuando se formó un campo de investigación. Por lo tanto, las estadísticas y el procesamiento de señales fueron la base principal de los fundamentos teóricos, y el cálculo fue de miedo. Por lo tanto, las personas trabajaron con una clase de modelos muy simple (compensación de sesgo-varianza) con muy pocos parámetros. Estamos hablando de la mayoría de los parámetros 30-40 y en su mayoría modelos lineales, incluso para los casos en que las personas saben claramente que el problema no es lineal. Sin embargo, ahora la computación es muy barata, pero SysID aún no ha salido de su shell. La gente debería comenzar a darse cuenta de que ahora tenemos sensores mucho mejores, podemos estimar fácilmente miles de parámetros con conjuntos de modelos muy ricos. Algunos investigadores han intentado utilizar redes neuronales para SysID, pero muchos parecen reacios a aceptarlas como "convencionales", ya que no hay muchas garantías teóricas.
(b) Finalizar el uso del modelo aprendido: ahora esto es una cosa que SysID consiguió muy correcta, pero muchos algoritmos de ML no logran capturar. Es importante reconocer que para las aplicaciones de destino, necesariamente está creando modelos que se pueden usar de manera efectiva para la optimización en línea.Estos modelos se utilizarán para propagar cualquier decisión de control tomada, y cuando se configura como un problema de control óptimo, los modelos se convierten en restricciones. Entonces, cuando se utiliza una estructura de modelo extremadamente complicada, la optimización en línea es mucho más difícil. También tenga en cuenta que estas decisiones en línea se toman en la escala de segundos o menos. Una alternativa propuesta es aprender directamente la función de valor de una manera fuera de la política para un control óptimo. Esto es básicamente aprendizaje de refuerzo, y creo que hay una buena sinergia entre SysID y RL.
Me gustaría agregar que también hay enfoques no paramétricos para la identificación del sistema. Vea la caja de herramientas SysId de MATLAB o el libro de Ljung para más detalles. Los enfoques no paramétricos a menudo se utilizan para identificar primero la clase de modelos para estudios paramétricos posteriores. Además, es importante separar el problema de estimación del problema de control (piense en el bucle OODA). Al identificar un sistema, a menudo el objetivo es simplemente caracterizar el sistema sin ninguna entrada de control específica del tipo que se diseñará más adelante (pero esto no siempre es posible). Finalmente, creo que es útil darse cuenta de que un sistema es, desde un punto de vista matemático, un operador que asigna un espacio de funciones a un espacio de funciones. Por lo tanto, las ecuaciones diferenciales son a menudo los tipos de cosas identificadas y estas funciones de mapeo a funciones. Las funciones en SysID son a menudo funciones continuas de tiempo, también conocidas como señales de tiempo continuo. (Pero también pueden ser de tiempo discreto). Por lo tanto, SysID no solo intenta asignar números reales (o vectores) a números reales (o vectores); busca identificar el mejor operador (LTI, LTV, no lineal, etc.) que asigna señales de entrada a señales de salida.
Su respuesta es un poco breve, ¿podría elaborar su respuesta un poco para proporcionar más detalles, por ejemplo, cuál es la diferencia (si la hay, no soy un experto) entre el modelado dinámico de aprendizaje automático y el modelado dinámico de identificación del sistema, o son ¿Está diciendo que la identificación del sistema se centra solo en el aprendizaje automático dinámico, mientras que el área amplia tiene un componente estático? (Solo ideas sobre cómo podría ampliar su respuesta para mejorarla, tal vez no sean buenas)
Me gustaría agregar que también hay enfoques no paramétricos para la identificación del sistema. Vea la caja de herramientas SysId de MATLAB o el libro de Ljung para más detalles. Los enfoques no paramétricos a menudo se utilizan para identificar primero la clase de modelos para estudios paramétricos posteriores. Además, es importante separar el problema de estimación del problema de control (piense en el bucle OODA). Al identificar un sistema, a menudo el objetivo es simplemente caracterizar el sistema sin ninguna entrada de control específica del tipo que se diseñará más adelante (pero esto no siempre es posible). Finalmente, creo que es útil darse cuenta de que un sistema es, desde un punto de vista matemático, un operador que asigna un espacio de funciones a un espacio de funciones. Por lo tanto, las ecuaciones diferenciales son a menudo los tipos de cosas identificadas y estas funciones de mapeo a funciones. Las funciones en SysID son a menudo funciones continuas de tiempo, también conocidas como señales de tiempo continuo. (Pero también pueden ser de tiempo discreto). Por lo tanto, SysID no solo intenta asignar números reales (o vectores) a números reales (o vectores); busca identificar el mejor operador (LTI, LTV, no lineal, etc.) que asigna señales de entrada a señales de salida.
fuente
Aprendizaje automático: modelado para modelo estático y modelo dinámico, identificación del sistema: enfoque en modelo dinámico o proceso dinámico
fuente