Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

¿Qué es?

Puedes utilizar un canal de Kalman donde tengas datos inseguros sobre algún marco único, y puedes hacer una teoría informada sobre lo que el marco hará inmediatamente. Independientemente de si la realidad desordenada va y se mete con el movimiento inmaculado sobre el que especulaste, el canal de Kalman hará regularmente una actividad generalmente excelente de dar sentido a lo que realmente ocurrió. Además, puede explotar las relaciones entre las locas maravillas que posiblemente no habrías pensado en usarlas mal.

Los canales de Kalman son perfectos para los marcos que evolucionan sin cesar. Tienen el poco margen de maniobra de que son ligeros en la memoria (no tienen que guardar ninguna historia que no sea la del estado pasado), y son rápidos, lo que los hace apropiados para cuestiones continuas y marcos implantados.

La matemática para actualizar el canal de Kalman se muestra verdaderamente aterradora y oscura en muchos puntos que se encuentran en Google. Esa es una situación horrible, a la luz del hecho de que el canal de Kalman es en realidad excesivamente básico y directo en la remota posibilidad de que le eches un vistazo de la manera correcta. Por consiguiente, es un tema increíble para el artículo, y me esforzaré por iluminarlo con un montón de imágenes y tonos claros y bonitos. Lo esencial es sencillo; todo lo que necesitas es una comprensión fundamental de la probabilidad y de los entramados.

Empezaré con un caso gratis del tipo de cosas que un canal de Kalman puede iluminar, sin embargo en el caso de que necesites ir directamente a las imágenes brillantes y a las matemáticas, no dudes en adelantarte.

¿Qué podríamos hacer con un canal Kalman?

Deberíamos hacer un modelo de juguete: Has construido un pequeño robot que puede deambular por las zonas boscosas, y el robot tiene que saber con precisión dónde está con el objetivo de que pueda explorar.

Diremos que nuestro robot tiene un estado xk→, que es sólo una posición y una velocidad:

xk→=(p⃗ ,v⃗ )

Tenga en cuenta que el estado es sólo un resumen de los números sobre la disposición oculta de su marco; podría ser cualquier cosa. En nuestro modelo es la posición y la velocidad, sin embargo, podría ser información sobre la medida de líquido en un tanque, la temperatura de un motor, la situación del dedo de un cliente en un touchpad, o cualquier número de cosas que tengas que monitorear.

Nuestro robot tiene además un sensor GPS, que es exacto a unos 10 metros, lo que es genial, pero tiene que conocer su área más correctamente que 10 metros. Hay montones de abismos y acantilados en estos bosques, y si el robot no está bien por más de un par de metros, podría caerse de un precipicio. Así que el GPS sin la participación de nadie más no es suficiente.

También podemos saber algo sobre cómo se mueve el robot: Se da cuenta de las direcciones enviadas a los motores de las ruedas, y se da cuenta de que si va en una dirección y nada se interpone, en el momento siguiente probablemente estará más lejos que la dirección equivalente. Obviamente no sabe nada de su movimiento: Puede ser golpeado por la brisa, las ruedas pueden resbalar un poco, o girar sobre el paisaje desigual; así que la suma de las ruedas que han girado puede no hablar de cuán lejos ha viajado realmente el robot, y el pronóstico no será inmaculado.

El sensor del GPS nos revela algo sobre el estado, aunque sólo sea de manera indirecta, y con alguna vulnerabilidad o incorrección. Nuestro pronóstico nos revela algo sobre cómo se está moviendo el robot, aunque sólo sea de manera indirecta, y con alguna vulnerabilidad o incorrección.

En cualquier caso, en la remota posibilidad de que utilicemos todos los datos a los que tenemos acceso, ¿podríamos mostrar signos de mejora de la respuesta que cualquier indicador nos daría sin nadie más? Obviamente la respuesta apropiada es verdadera, y para eso está el canal de Kalman.

Cómo un filtro Kalman ve tu problema

Miremos el paisaje que estamos tratando de interpretar. Continuaremos con un estado simple que sólo tiene posición y velocidad.

x⃗ =[pv]

No tenemos ni idea de cuál es la posición y la velocidad genuinas; hay todo un abanico de posibles combinaciones de posición y velocidad que pueden ser válidas, aunque algunas de ellas son casi seguras que otras:

El canal de Kalman espera que los dos factores (posición y velocidad, para nuestra situación) sean irregulares y gausianos dispersos. Cada factor tiene una estima media μ, que es el punto focal de la circulación arbitraria (y su estado en toda probabilidad), y una diferencia σ2, que es la vulnerabilidad:

En el cuadro anterior, la posición y la velocidad no están correlacionadas, lo que implica que la condición de una variable no revela nada sobre lo que puede ser la otra.

El modelo de abajo muestra algo aún más intrigante: La posición y la velocidad están conectadas. La probabilidad de ver una posición específica depende de la velocidad que tengas:

Este tipo de circunstancia puede surgir si, por ejemplo, estamos evaluando otra posición dependiente de una antigua. En el caso de que nuestra velocidad fuera alta, lo más probable es que nos moviéramos más lejos, por lo que nuestra posición será progresivamente eliminada. En caso de que nos movamos gradualmente, no llegamos tan lejos.

Esta clase de relación es extremadamente imperativa de monitorear ya que nos da más datos: Una estimación nos revela algo sobre lo que podrían ser las otras. Además, ese es el objetivo del canal de Kalman, necesitamos aplastar tantos datos de nuestras estimaciones cuestionables como podamos!

Esta conexión es atrapada por algo que muchos llaman un marco de covarianza. Para decirlo claramente, cada componente del entramado Σij es el nivel de conexión entre la variable de estado ith y la variable de estado jth. (Puedes tener la opción de calcular que la red de covarianza es simétrica, lo que implica que no hay diferencia en la posibilidad de que intercambies I y j). Las redes de covarianza se denominan regularmente “Σ”, por lo que llamamos a sus componentes “Σij”.