Bài viết được đăng tại ThetaLog: https://thetalog.com/machine-learning/kalman-filter/
Kalman Filter là một quy mô Linear-Gaussian State Space Model thuộc nhóm thuật toán dự kiến chuỗi thời gian. Thuật toán được mang tên theo Rudolf E. Kálmán, một nhà khoa học ảnh hưởng quan trọng trong thừa trình cải tiến và phát triển thuật toán.
Bạn đang xem: Kalman filter là gì
Bạn đang xem: cỗ lọc kalman filter là gì, cụ thể về cỗ lọc kalman mới nhất 2021
Lập luận theo cách trên lại có một ưu thế nữa, trong tương đối nhiều bài toán công nghệ kỹ thuật, nhiều khi bạn cần phải biết xác suất xảy ra trong một vùng làm sao đấy, chẳng hạn:
Đôi lúc họ chỉ quan tâm đến một vùng nào kia của một đại lượng, chẳng hạn từ 95 mang đến 110 độ C thì CPU máy tính phải tắt vì ánh nắng mặt trời vượt ngưỡng an toàn, tỷ lệ để nhiệt độ độ lâm vào cảnh vùng này là từng nào nhỉ? tương tự như với một tập đại lượng, bọn họ quan trọng tâm đến một vùng giá trị nào đó thật sự đặc biệt trong vấn đề đang xét.Với hàm mật độ xác suất liên tiếp p(x_t) chúng ta có thể dể dàng tính phần trăm xảy ra vào vùng E bằng tích phân int_E p(x_t) dx_t, thật tiện thể lợi đúng không nào!
Giả định rằng tại thời điểm t chiến thuyền có:
hatx_t = left
Sigma_t = left
Trong trường thích hợp này, chúng ta giả định rằng:y_t = G_t x_t + v_t cùng với v_t là 1 vector hốt nhiên nhiễu có phân bố chuẩn chỉnh nhiều chiều v_t sim mathcalN(0,R_t), bọn họ gọi v_t là nhiễu mô hình quan cạnh bên (observation noise).
Xem thêm: Top 10 Mẫu Áo Bóng Đá Đẹp Nhất 2016 2017, Áo Bóng Đá Đẹp Nhất
Giả định trên rất có thể hiểu y_t được xem như thể “nhiễu quan gần kề được tự x_t”, y_t là kết quả của tổng hợp tuyến tính từng nguyên tố x_t dựa trên ma trận G_t cùng bị tác động cộng thêm 1 lượng nhiễu môi trường thiên nhiên với vector tự nhiên v_t. Fan ta gọi bí quyết trên là quy mô quan sát, nó thể hiện quá trình x_t đổi khác thành y_t đồng thời bị ảnh hưởng nhiễu từ bỏ môi trường.
Giờ đây, bọn họ có tinh thần của chúng ta về trạng thái phi thuyền qua hàm mật độ xác suất p(x_t) với một sự khiếu nại đã xảy ra là tin tức thu được tự bộ cảm biến – trạng thái y_t, liệu rằng bạn có thể kết vừa lòng cả nhì thông tin đang xuất hiện thành một tin tức mới có ý nghĩa hơn, giúp chúng ta hiểu rộng về trạng thái hiện tại tại khối hệ thống hay không?
Biết y_t sẽ giúp bọn họ cập nhật ý thức về x_t như vậy nào? nếu bạn đang search một chiến thuật như trên, chắc hẳn rằng định lý Bayes là một trong những câu trả lời họ đang tìm:
p(x_t | y_t) = fracp(y_t p(y_t)
p(x_t) hàm tỷ lệ xác suất tiên nghiệm, niềm tin của họ không dựa vào vào sự khiếu nại y_t xảy ra.p(y_t | x_t) hàm mật độ xác suất khả dĩ, tỷ lệ xác suất có điều kiện khi biết trạng thái x_t xảy ra, vì chúng ta biết rằng y_t là một vector ngẫu nhiên sao cho y_t = G_t x_t + v_t , lúc biết x_t xẩy ra nghĩa là G_t x_t là một trong những vector hằng, vector tự nhiên y_t được màn biểu diễn bằng một vector hằng cộng thêm một vector ngẫu nhiên bao gồm phân bố chuẩn chỉnh nhiều chiều v_t sim mathcalN(0,R_t), hay nói cách khác y_t | x_t hiện nay tại là 1 trong phân bố chuẩn nhiều chiều. Phân bố y_t | x_t sim mathcalN(G_t x_t ,R_t).p(y_t) hàm mật độ xác suất biên không nhờ vào vào x_t đóng vai trò như một hằng số chuẩn chỉnh hóa.
Phân tía x_t | y_t được tìm như thế nào? Trên nền tảng Linear Gaussian Systems (LGS – quy mô phân bố chuẩn chỉnh tuyến tính), giải thuật của định lý Bayes cho vấn đề này như sau:
Định lý Bayes đến Linear Gaussian Systems
Giả định tất cả hai vector thốt nhiên m in mathbbR^D_m với n in mathbbR^D_n cùng với m là vectơ ẩn, n là vector nhiễu quan gần cạnh được từ bỏ m với:
m sim mathcalN(mu_m , Sigma_m ) n | m sim mathcalN(C m + d, Sigma_n ) phân bố hậu nghiệm m | n lúc biết n là m | n sim mathcalN(mu_m , Sigma_ n) với: Sigma_m = left( Sigma_m^-1 + C^intercal Sigma_n^-1 C right)^-1 mu_m = Sigma_m left TL;DR: phần chứng minh định lý sẽ không được bàn sống đây, trong một cơ hội nào kia nếu rất có thể mình đang viết về các quy mô phân bố chuẩn nhiều chiều, bạn đọc quan tâm có thể bài viết liên quan tài liệu lắp kèm. (Kevin phường Murphy phần 6 tài liệu , Chris Bracegirdle tư liệu phần hệ luận Corollary 5) |
Tuy nhiên nếu đo lường và tính toán trực tiếp ma trận hiệp phương sai Sigma_x_t như trên thì có lẽ rằng bạn vừa bỏ qua một vài “điều thú vị” trong đại số tuyến tính khiến phương án của bọn họ thú vị hơn!
Đồng độc nhất vô nhị thức ma trận Woodbury (hay có cách gọi khác matrix inversion lemma)
Cho 4 ma trận A (n times n), U (n times k), C (k times k), V (k times n)Đồng độc nhất thức Woodbury nói rằng:
left( A + UCV right)^-1 = A^-1 – A^-1U(C^-1 + VA^-1U)^-1VA^-1
Trước lúc giải thích chân thành và ý nghĩa của đồng hóa thức ma trận Woodbury trong Kalman Filter, bọn họ hãy cùng mọi người trong nhà viết lại lời giải phân bố hậu nghiệm x_t | y_t vừa search được, bọn họ gọi đây là “phân bố lọc” (Filtering Distribution):
x^mathttF_t sim x_t | y_t sim mathcalN(hatx^mathttF, Sigma^mathttF)
Với tham số kỳ vọng với ma trận hiệp phương không đúng của phân bố chuẩn chỉnh nhiều chiều:
colorWildStrawberrySigma^mathttF_t = left( Sigma_t^-1 + G_t^intercal R_t^-1 G_t right)^-1 = Sigma_t – Sigma_t G_t^intercal left( R + G_t Sigma_t G_t^intercal right)^-1 G_t Sigma_t
colorWildStrawberryhatx^mathttF_t = hatx_t + Sigma_t G_t^intercal left( G_t Sigma_t G_t^intercal + R_t right)^-1 (y_t – G_t hatx_t)
Ý nghĩa của nhất quán thức ma trận Woodbury: trong vô số ứng dụng theo thời gian thực, hay thì chỉ có một trong những ít trạng các bạn nhận được trường đoản cú bộ cảm biến tại 1 thời điểm, hay nói theo một cách khác số chiều của vector đột nhiên y_t siêu nhỏ, bây giờ chi tầm giá tìm ma trận nghịch hòn đảo của left( R_t + G_t Sigma_t G_t^intercal right)^-1 kha khá nhỏ, đồng thời các ma trận khác đã tất cả rồi, việc tính toán còn lại chỉ là nhân ma trận sẽ nhanh hơn rất nhiều so với câu hỏi gốc nhân rồi tính một ma trận nghịch đảo rất lớn!