Paling sering menyetel matriks noise filter Kalman dilakukan dengan coba-coba atau pengetahuan domain. Apakah ada lebih banyak cara berprinsip untuk menyetel semua parameter filter Kalman?
sumber
Paling sering menyetel matriks noise filter Kalman dilakukan dengan coba-coba atau pengetahuan domain. Apakah ada lebih banyak cara berprinsip untuk menyetel semua parameter filter Kalman?
Anda bisa mendapatkan data eksperimental, dan melakukan beberapa analisis statistik untuk menentukan noise proses (noise antara langkah waktu), dan noise sensor (dibandingkan dengan kebenaran dasar).
Untuk mendapatkan kebenaran dasar untuk noise sensor, Anda memerlukan sensor yang lebih akurat, atau dengan cara lain menguji secara eksperimental sambil menjaga ketertarikan pada nilai yang diketahui (biasanya tetap).
Jika Anda tidak memiliki data eksperimental, Anda dapat menggunakan lembar data atau spesifikasi untuk setiap sensor untuk menentukan noise-nya. Kebisingan proses akan lebih sulit dalam hal ini, tetapi Anda mungkin dapat menebak nilainya dengan mengasumsikan sejumlah kebisingan karena, misalnya, aktuator, jika aktuator adalah sumber utama kebisingan proses.
Cara lain adalah dengan mempertimbangkan waktu penyelesaian maksimum yang diizinkan untuk estimasi. Ini akan menentukan rasio antara noise proses dan noise sensor. Ini memungkinkan Anda untuk memiliki efek penyaringan maksimum sambil memenuhi persyaratan waktu penyelesaian Anda.
Perhatikan bahwa ini tidak memberikan cara yang baik untuk menyempurnakan rasio antara sensor yang berbeda, atau antara negara yang berbeda, sehingga tidak sempurna.
Pada dasarnya, jika Anda memiliki data eksperimental, Anda dapat memperoleh kinerja yang optimal. Jika tidak, Anda hanya dapat menghitung kebisingan proses dengan mengasumsikan kemungkinan kebisingan dari kontributor dominan untuk memproses kebisingan, atau dengan menentukan kinerja minimum yang diperlukan (yang tidak optimal, tetapi setidaknya mendapatkan apa yang diperlukan).
Di bidang pembelajaran mesin, kita melihat filter Kalman sebagai algoritma inferensi pada model variabel laten. Pengukuran terlihat, tetapi kondisi sebenarnya disembunyikan. Anda sekarang ingin menyimpulkan keadaan sebenarnya.
Seperti biasa, metode ini bergantung pada serangkaian parameter dan - pada prinsipnya - cara untuk mendapatkan estimasi titik terbaik untuk parameter adalah dengan melihat kemungkinan data (mengingat parameter) dan mengoptimalkan parameter Anda untuk mendapatkan nilai maksimum. Ini memberi Anda perkiraan kemungkinan maksimum.
Sayangnya, dalam kasus filter Kalman, pendekatan ini tidak begitu mudah dan sulit dilakukan dalam bentuk tertutup. Ini karena kita tidak mengamati keadaan tersembunyi. Karena itu, seseorang harus menerapkan beberapa trik. Salah satunya adalah menggunakan Algoritma Expecation Maximization (EM), yang merupakan pendekatan berulang: Pada langkah pertama, Anda menghitung nilai yang paling mungkin untuk status tersembunyi Anda (nilai yang diharapkan) di bawah parameter Anda saat ini. Pada langkah kedua, Anda menjaga status tersembunyi tetap dan mengoptimalkan parameter untuk mendapatkan solusi dengan kemungkinan tertinggi. Langkah-langkah ini diulang sampai konvergensi.
Anda dapat membaca tentang konsep umum EM dalam sejumlah besar buku teks tentang pembelajaran mesin (hanya satu contoh: "Bayesian Reasoning and Machine Learning" oleh David Barber). Proses menyimpulkan parameter untuk sistem dinamika linear (yang memberi Anda jenis model filter Kalman) dijelaskan dengan baik dalam laporan teknologi oleh Zoubin Ghahramani dan Geoffrey Hinton .
Anda mungkin ingin membaca "Alat untuk Penyaringan Kalman Filter" oleh Bernt M. Åkesson, et. Al. Ini menjelaskan metode autocovariance least-square (ALS).