Phương pháp Metropolis-Hasting

Một phần của tài liệu ỨNG DỤNG lọc PARTICLE TRONG bài TOÁN THEO vết đối TƯỢNG (Trang 38 - 41)

1. Tổng quan về bái toán theo dõi đối tượng

2.2.4.Phương pháp Metropolis-Hasting

Thuật toán Metropolis-Hasting, thuật toán dựa vào phương pháp Monte Carlo xích

Markov (Markov Chain Monte Carlo - MCMC), được đề xuất bởi Metropolis năm 1953 và được Hasting cải tiến vào năm 1970. Ý tưởng chính của thuật toán này dựa

Luận văn tốt nghiệp

trên việc mô phỏng một xích Markov trong không gian trạng thái của , sao cho mật

độ (phân phối) xác suất tĩnh (Stationary Distribution) của xích là .

x

( | )

p x z

Trong hầu hết các bài toán dựa vào mô phỏng (Simulation), vấn đề cần quan tâm là

ước lượng biểu thức EfX ⎡⎣g( )x ⎤⎦. Nếu đã có một tập mẫu ngẫu nhiên {x1, ,… xn} độc lập, đồng nhất từ biến ngẫu nhiên có mật độ xác suất fX ( )i , ta có thểước lượng biểu thức này bằng ( ) 1 1 ( ) X n i f i E g g n = ⎡ ⎤ ⎣ x ⎦= ∑ x (2.9)

Như những phần trên đã đề cập, theo luật mạnh số lớn, ước lượng trong (2.9) là hợp lý. Trong thực tế, từ fX ( )i khó có thể trực tiếp sinh ra các mẫu độc lập và đồng nhất. Nhưng bằng cách giảm bớt ràng buộc về tính độc lập giữa các mẫu dữ liệu, thuật toán Metropolis-Hasting vẫn đảm bảo tính đúng đắn của ước lượng này.

Cho một xích Markov được đặc trưng bởi π(xt+1|xt), trong đó, tại mỗi thời điểm , được sinh ra phụ thuộc vào trước đó và là giá trị khởi tạo của xích (hàm

t xt+1 xt x0

( )

π i còn được gọi là hàm mật độđề xuất như sẽđược đề cập trong phần sau). Để sinh ra các mẫu ngẫu nhiên, thuật toán Metropolis-Hasting dùng hàm π(xt+1|xt) nhằm sinh ra một mẫu mới và tương tự như trong thuật toán loại trừ, nó dùng một luật phân loại nhằm quyết định xem có chọn mẫu mới này hay vẫn giữ nguyên giá trị cũ. Đây cũng chính là điểm cải tiến của thuật toán Metropolis-Hasting so với thuật toán lấy mẫu loại trừ.

Thuật toán này có thểđược tóm tắt như sau

Luận văn tốt nghiệp ( ) ( ) ( )( )( ) ((( ) ( ))) | | , min 1, | | i i i p r p π π i ⎧ ⎫ ⎪ ⎪ ⎨ ⎬ ⎪ ⎪ ⎩ ⎭ = x z x x x x x z x x (2.10)

Bước 2: Sinh số ngẫu nhiên u U⎡0,1⎤

⎣ ⎦

∼ , trong đó U⎡0,1⎤

⎣ ⎦ là phân phối đều trên khoảng đóng ⎡⎣0,1⎤⎦.

Bước 3: Nếu u r< ( )x x, ( )i ,x( )i+1 =x. Ngược lại, x( )i+1 =x( )i .

So với phương pháp lấy mẫu loại trừ, phương pháp Metropolis-Hasting không đòi hỏi ta phải tính được cực đại của hàm số p(x z| ) (/π x z| ). Hơn nữa, tại mỗi bước thực hiện của thuật toán, ta đều chọn được tối thiểu một mẫu x( )i+1 =x hoặc x( )i+1 =x( )i , điều này thực sự là một cải tiến đáng kể về hiệu suất so với thuật toán lấy mẫu loại trừ, vì ta có thể biết được khi nào thì nên dừng thuật toán để đảm bảo về thời gian thực hiện.

Tuy nhiên, thuật toán Metropolis-Hasting gặp phải hai vấn đề khiến nó cũng không thểđược sử dụng trong các ứng dụng thời gian thực.

Một là, thuật toán này đòi hỏi phải được thực hiện rất nhiều lần (có thể lên

đến hàng nghìn lần) trước khi xích Markov đủ khả năng mô phỏng được mật

độ xác suất tĩnh cần quan tâm, hay nói cách khác, mẫu ngẫu nhiên kết quả

thực sựđược sinh ra bởi p(x z| ).

Hai là, trên lý thuyết, khi số lần lặp của thuật toán tiến đến vô cực, thuật toán sẽ hội tụ và các mẫu ngẫu nhiên sinh ra là độc lập nhưng trong thực tế, số lần lặp của thuật toán là hữu hạn. Do đó, các mẫu ngẫu nhiên kết quả hiển nhiên là phụ thuộc nhau. Điều này chúng ta không mong muốn trong phép tính tích phân Monte Carlo, trong đó các mẫu ngẫu nhiên đòi hỏi phải độc lập và đồng nhất với nhau.

Vì những lý do kể trên, mặc dù Metropolis-Hasting là thuật toán rất hiệu quả để

Luận văn tốt nghiệp (adsbygoogle = window.adsbygoogle || []).push({});

tuần tự của nó, thuật toán phải thực hiện rất nhiều lần để có thể sinh ra được một mẫu ngẫu nhiên mong muốn. Điểm yếu này cũng làm cho Metropolis-Hasting trở nên không phù hợp với bài toán lọc trực tuyến của chúng ta.

Một phần của tài liệu ỨNG DỤNG lọc PARTICLE TRONG bài TOÁN THEO vết đối TƯỢNG (Trang 38 - 41)