Các phương pháp tốt để điều chỉnh tiếng ồn quá trình trên bộ lọc Kalman là gì?


17

Hầu hết việc điều chỉnh ma trận nhiễu của bộ lọc Kalman được thực hiện bằng thử nghiệm và lỗi hoặc kiến ​​thức về miền. Có nhiều cách nguyên tắc hơn để điều chỉnh tất cả các tham số bộ lọc Kalman?

Câu trả lời:


10

Bạn có thể lấy dữ liệu thử nghiệm và thực hiện một số phân tích thống kê để xác định nhiễu quá trình (nhiễu giữa các bước thời gian) và nhiễu cảm biến (so với sự thật mặt đất).

Để có được sự thật nền tảng cho nhiễu cảm biến, bạn cần một cảm biến chính xác hơn, hoặc kiểm tra bằng thực nghiệm trong khi vẫn giữ trạng thái quan tâm ở giá trị đã biết (thường là cố định).

Nếu bạn không có dữ liệu thử nghiệm, bạn có thể sử dụng bảng dữ liệu hoặc thông số kỹ thuật cho từng cảm biến để xác định tiếng ồn của nó. Trong trường hợp này, nhiễu quá trình sẽ khó khăn hơn, nhưng bạn có thể đoán được giá trị của nó bằng cách giả sử một lượng nhiễu nhất định do, ví dụ, một bộ truyền động, nếu bộ truyền động là nguồn gây nhiễu chính.


Một cách khác là xem xét thời gian giải quyết tối đa được phép để ước tính. Điều này sẽ xác định tỷ lệ giữa tiếng ồn quá trình và tiếng ồn cảm biến. Điều này cho phép bạn có hiệu ứng lọc tối đa trong khi đáp ứng các yêu cầu về thời gian giải quyết của bạn.

Lưu ý rằng điều này không cung cấp một cách tốt để điều chỉnh tỷ lệ giữa các cảm biến khác nhau hoặc giữa các trạng thái khác nhau, do đó không hoàn hảo.


Về cơ bản, nếu bạn có dữ liệu thử nghiệm, bạn có thể đạt được hiệu suất tối ưu. Mặt khác, bạn chỉ có thể tính toán tiếng ồn quá trình dựa trên giả định tiếng ồn có khả năng của người đóng góp chi phối cho tiếng ồn xử lý hoặc bằng cách xác định hiệu suất tối thiểu là bắt buộc (không tối ưu, nhưng ít nhất là có được những gì cần thiết).


1

Trong lĩnh vực học máy, chúng tôi xem bộ lọc Kalman như một thuật toán suy luận trên một mô hình biến tiềm ẩn. Các phép đo có thể nhìn thấy, nhưng trạng thái thực sự bị ẩn. Bây giờ bạn muốn suy ra các trạng thái thực sự.

Như thường lệ, phương pháp này dựa trên một tập hợp các tham số và - về nguyên tắc - cách để có được ước tính điểm tốt nhất cho các tham số là xem xét khả năng dữ liệu (được cung cấp tham số) và tối ưu hóa các tham số của bạn để có được giá trị tối đa. Điều này cung cấp cho bạn ước tính khả năng tối đa.

Thật không may, trong trường hợp bộ lọc Kalman, cách tiếp cận này không dễ dàng và khó thực hiện ở dạng đóng. Điều này là do chúng ta không quan sát các trạng thái ẩn. Do đó, người ta phải áp dụng một số thủ thuật. Một trong số đó là sử dụng Thuật toán Tối đa hóa Expecation (EM), đây là một cách tiếp cận lặp lại: Trong bước đầu tiên, bạn tính giá trị rất có thể cho các trạng thái ẩn (giá trị dự kiến) theo các tham số hiện tại của bạn. Trong bước thứ hai, bạn giữ các trạng thái ẩn cố định và tối ưu hóa các tham số để có được giải pháp với khả năng cao nhất. Các bước này được lặp lại cho đến khi hội tụ.

Bạn có thể đọc khái niệm chung về EM trong một loạt sách giáo khoa về học máy (chỉ có một ví dụ: "Lý luận Bayes và học máy" của David Barber). Quá trình suy ra các tham số cho các hệ thống động lực tuyến tính (cung cấp cho bạn kiểu mô hình bộ lọc Kalman) được mô tả kỹ trong báo cáo công nghệ của Zoubin Ghahramani và Geoffrey Hinton .


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.