Báo cáo trình bày về ước lượng trung bình bình phương Mean Square Estimatiom MSE. So sánh ước lượng trung bình bình phương (Mean Square Estimation MSE) và ước lượng bình phương nhỏ nhất (Least Squared Estimation LMS). Chương trình thử nghiệm sử dụng Matlab mô phỏng MSE
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
dụng
Đề tài: Tìm hiểu ước lượng MS và so sánh với ước lượng LMS
Nhóm sinh viên thực hiện:
Nguyễn Văn Tuấn 2011 2710 Thái Thị Lộc 2012 2020 Nguyễn Thị Nga 2012 2136 Nguyễn Gia Tuyến 2012 2716
Lê Ngọc Hưng 2012 1860
Giảng viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan
HÀ NỘI – THÁNG 12 NĂM 2015
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 4
PHÂN CÔNG CÔNG VIỆC 5
I Ước lượng trung bình bình phương MSE 6
1 Tổng quan về ước lượng trung bình bình phương 6
1.1 Mô tả bài toán 6
1.2 Ước lượng tuyến tính 6
1.3 Ước lượng phi tuyến 8
2 So sánh MSE và LMS 9
2.1 Giống nhau 9
2.2 Khác nhau 9
II Bài tập 11
1 Bài tập 8.8 11
2 Bài tập 8.18 11
III Thử nghiệm ước lượng MS sử dụng MatLab 13
TÀI LIỆU THAM KHẢO 16
Trang 3LỜI NÓI ĐẦU
Hiện nay, với sự phát triển của khoa học – kỹ thuật, các công nghệ ứng dụng xử lý tín hiệu là các quá trình ngẫu nhiên ngày càng phổ biến Để các công nghệ này có được sự chính xác cao, với chi phí thấp thì rất nhiều các lý thuyết
về lọc nhiễu, chặn nhiễu… được áp dụng vào Trong đó, lý thuyết về ước lượng
là vấn đề mà các công nghệ này không thể bỏ qua
Dựa trên những yêu cầu của bài tập, những kiến thức thực tế đã được học, nhóm chúng em đã lựa chọn đề tài:
“Tìm hiểu ước lượng MSE và so sánh với ước lượng LMS”
Với mong muốn tìm hiểu kỹ hơn về ước lượng MSE và các ứng dụng của
nó trong thực tế, đồng thời so sánh với một ước lượng gần tương tự với nó là LMS để đưa ra những đánh giá về việc sử dụng hai phương pháp này trong thực
tế
Trong bài báo cáo này, chúng em sẽ trình bày một số phần chính như sau:
Phần I: Tìm hiểu về phương pháp ước lượng MSE, các phương pháp ước lượng tuyến tính và phi tuyến Tìm hiểu về nguyên tắc trực giao So sánh ước lượng MSE và ước lượng LMS
Phần II: Làm một số bài tập minh họa
Phần III: Thử nghiệm ước lượng MSE sử dụng MatLab trong bài toán lọc nhiễu
Chúng em xin chân thành cám ơn sự giúp đỡ của PGS.TS Nguyễn Thị Hoàng Lan trong quá trình giảng dạy và góp ý cho bài cáo này
Do thời gian tìm hiểu không nhiều và chưa có nhiều kinh nghiệm nên bài báo cáo sẽ gặp lỗi không đáng có Chúng em rất mong nhận được sự góp ý của
cô giáo để bài cáo hoàn thiện hơn
Hà Nội, Tháng 12 Năm 2015
Trang 4PHÂN CÔNG CÔNG VIỆC
Thành viên Nội dung công việc Thái Thị Lộc Tìm hiểu phương pháp ước lượng
trung bình bình phương MSE
Lê Ngọc Hưng So sánh hai phương pháp ước lượng
MSE và LMS Nguyễn Gia Tuyến Thử nghiệm phương pháp MSE sử
dụng MatLab Nguyễn Văn Tuấn Làm bài tập 8.8
Nguyễn Thị Nga Làm bài tập 8.18
Trang 5I Ước lượng trung bình bình phương MSE
1 Tổng quan về ước lượng trung bình bình phương
1.1 Mô tả bài toán
Bài toán: , , … , là dãy các biến ngẫu nhiên thu nhận được, tìm ước lượng cho biến ngẫu nhiên Y sao cho ước lượng của Y là tốt nhất Mô hình ước lượng của biến ngẫu nhiên Y theo quan hệ sau:
= ( , , … , ) = ( ) Với hàm ( ) là hàm ước lượng đối với Y, hàm này có thể
là hàm tuyến tính hoặc hàm phi tuyến
Hàm chỉ tiêu: Dựa trên quan hệ của mô hình ước lượng biến ngẫu nhiên Y, để tìm được ước lượng tốt nhất đối với Y, ta xét sai số ước lượng sau:
= − = − ( ) Chỉ tiêu ước lượng: Sử dụng phương pháp tối thiểu hóa sai
số trung bình bình phương (Minimum of the Mean Square Error - MMSE)để xác định ước lượng tốt nhất đối với biến ngẫu nhiên Y như sau:
= {| | } = − = {| − ( )| }
⟶ Tùy thuộc vào mối quan hệ giữa Y và X mà sẽ có các loại ước lượng MS khác nhau Có thể là ước lượng tuyến tính (Linear MSE) hoặc ước lượng phi tuyến (Nonlinear MSE)
1.2 Ước lượng tuyến tính
Tìm ước lượng tuyến tính của Y dưới dạng quan hệ với tập
dữ liệu thu nhận được như sau:
Trong đó, các giá trị là các hệ số cần tìm được để đạt ước lượng tốt nhất theo nghĩa sai số trung bình bình phương cực tiểu đối với , = 1,
Dựa trên phương pháp tối thiểu hóa sai số trung bình bình phương – Minimum of the Mean Square Error (MMSE), ta cần tìm cực tiểu của:
Trang 6{| | } = − = −
Ta cần chọn các giá trị , , … , sao cho sai số trung bình bình phương {| | } là nhỏ nhất Giả sử ký hiệu là giá trị nhỏ nhất của sai số trung bình bình phương, ta có:
=
Để tìm cực tiểu, ta cần dựa trên tính chất đạo hàm, ta có:
{| | } = , = , , … ,
Từ đây, suy ra:
{| | } = | | =
∗
= Mặt khác, ta lại có:
= ( − ∑ )= − (∑ ) = −
Sử dụng kết quả này ta có:
{| | } = − { ∗} = Hay, ước lượng tuyến tính là tốt nhất thỏa mãn điều kiện:
{ ∗} = , = , , … , Nguyên tắc trực giao: xét sai số ước lượng = ( − ∑ ), và tập các dữ liệu thu nhận được , =
⟶ , cho ước lượng tuyến tính là tốt nhất khi và chỉ khi
là trực giao với Hay nói cách khác, trong ước lượng tuyến tính các giá trị , , … , phải được chọn sao cho sai số ước lượng và tập dữ liệu thu nhận được là trực giao với nhau
Sử dụng kết quả của nguyên tắc trực giao, giá trị sai số trung bình bình phương được xác định là:
Trang 7, ,…, {| | } =
, ,…, { ∗}
=
∗
=
, ,…, { ∗} −
Sử dụng nguyên tắc trực giao, dễ thấy vế thứ 2 của công thức trên có giá trị bằng 0 Vậy giá trị cực tiểu của sai số trung bình bình phương là:
= { ∗} = − ∗
= {| | } − { ∗}
Với các giá trị , , … , là giá trị được chọn sao cho sai
số ước lượng và dữ liệu thu nhận là trực giao với nhau
1.3 Ước lượng phi tuyến
Hoàn toàn tương tự như trong trường hợp ước lượng tuyến tính, đối với trường hợp phi tuyến thì các biến ngẫu nhiên thu nhận được sẽ được biểu diễn dưới dạng một hàm không tuyến tính
Nguyên tắc trực giao phi tuyến: Xét hàm là hàm biểu diễn đối với tập dữ liệu , , … , quan sát được và
| là ước lượng tốt nhất cho Y theo Với sai số ước lượng = − | , ta có:
= Tức là, sai số ước lượng là trực giao với hàm biểu diễn tập các dữ liệu thu nhận được
Vấn đề đặt ra là cần xác định ước lượng trung bình bình phương trong trường hợp phi tuyến là xác định hàm
sao cho sai số ước lượng trung bình bình phương là nhỏ nhất Sai số trung bình bình phương được biểu diễn như sau:
Trang 8Sai số trung bình bình phương trong trường hợp phi tuyến
là nhỏ nhất khi và chỉ khi:
= | = |
Với hàm | là xác suất có điều kiện của Y với điều kiện
2 So sánh MSE và LMS
2.1 Giống nhau
Về bản chất thì LMS là một trường hợp mở rộng của ước lượng MS Cả hai loại ước lượng này đều dựa trên việc ước lượng sai số trung bình bình phương giữa các giá trị của biến ngẫu nhiên thu được và biến ngẫu nhiên mong muốn
Hai phương pháp ước lượng này được sử dụng khá phổ biến trong các ứng dụng về xử lý tín hiệu, lọc nhiễu, …
2.2 Khác nhau
Đối với ước lượng MSE tuyến tính, sai số trung bình bình phương giữa các giá trị biến ngẫu nhiên thu nhận được và các giá trị mong muốn nhận được có phương trình sau:
= {| | } = − = −
Giá trị biến ngẫu nhiên cần ước lượng biểu diễn dưới dạng tuyến tính của các biến ngẫu nhiên thu nhận được:
= + + ⋯ + Đối với ước lượng LMS tuyến tính, mối quan hệ giữa biến ngẫu nhiên cần ước lượng và biến ngẫu nhiên thu nhận được được biểu diễn như sau:
= + Trong đó, Y là giá trị các biến ngẫu nhiên thu nhận được,
là biến ngẫu nhiên cần ước lượng
Ta cần ước lượng hay tối thiểu hóa hàm chỉ tiêu sau:
= − = {( − ( + )) }
Trang 9Xét với ước lượng không độ lệch (b=0), sử dụng phương pháp tối thiểu hóa sai số trung bình bình phương, ta tìm được:
( ) − = ( − ) = ( , )( − )
Từ những so sánh trên, ta có một số nhận xét như sau:
Ước lượng LMS là một trường hợp cụ thể của ước lượng MSE
Ước lượng MSE phức tạp hơn, yêu cầu tính toán cao hơn
và cần biết nhiều thông tin về mối quan hệ giữa các giá trị thu nhận được và các giá trị ở đầu ra Ngược lại, ước lượng LMS là dễ tìm và tính toán cũng dễ dàng hơn
Vì cần biết nhiều thông tin nên ước lượng MSE sẽ cho kết quả tốt hơn ước lượng LMS
Trang 10II Bài tập minh họa
1 Bài tập 8.8
Đề bài: Chứng mình rằng { | } = { | , }| với { | , } = + là ước lượng MS tuyến tính của Y với điều kiện ,
Giải:
Sai số trung bình bình phương trong ước lượng MS là:
= − = {| − ( + )| }
Để sai số trung bình bình phương của ước lượng MSE là nhỏ nhất khi và chỉ khi sai số ước lượng = − trực giao với tập
dữ liệu thu nhận được, tức là:
{ } = 0, = 1,2
⟺ − = 0
⟺ {| − ( + )| } = 0
⟺ { } − {( + ) } = 0
⟺ { } = {( + ) } Không mất tính tổng quát, xét = 1, ta có:
{ | } = {[( + ) ]| }
⟺ { | } = {( + )| } Theo bài ra ta có: { | , } = +
⟹ { | } = { | , }|
2 Bài tập 8.18
Đề bài: Chứng minh rằng, nếu + + là ước lượng
MS tuyến tính không đồng nhất của S với điều kiện , thì { − | − , − } = ( − ) + ( − ) Giải:
Theo ước lượng MS tuyến tính không đồng nhất, ta có
Ta có sai số ước lượng MS là:
= − ( + + )
⟺ = ( − ) − [ ( − ) + ( − )]
Ước lượng MS tốt nhất khi và chỉ khi sai số ước lượng = 0 Hay nói cách khác, sai số ước lượng và tập dữ liệu thu nhận được
Trang 11Từ đây, suy ra:
⊥ ⇒ ⊥ ( − )
Từ lập luận trên suy ra:
= 0
⟺ ( − ) − [ ( − ) + ( − )] = 0
⟺ ( − ) = [ ( − ) + ( − )]
⟹ {( − )| − , − } = { ( − ) + ( − )| − , − }
⟺ {( − )| − , − } = ( − )| − } + { ( − )| −
⟹ {( − )| − , − } = ( − ) + ( − )
Trang 12III Thử nghiệm ước lượng MSE sử dụng MatLab
1.1 Mô tả bài toán
Trong thiết kế bộ thu tương quan cho một kênh kết nối cơ bản trên cơ sở kênh vào / ra dữ liệu Nếu đầu vào của kênh trong một khoảng thời gian nào đó là biến ngẫu nhiên X, và đầu ra tương ứng của kênh là Y thì ước lượng tương quan của X dựa trên đầu ra Y là:
=
Trong đó, được chọn để sai số trung bình bình phương là nhỏ nhất
Giá trị của được tính là:
1.2 Phân tích bài toán
Nếu ta có tập dữ liệu quan sát được X từ đầu vào của một kênh trong thời gian đủ dài, và Y là đầu ra tương ứng, ta có thể ước lượng được bởi phương trình:
Và ước lượng trung bình bình phương bằng phương trình:
1.3 Thử nghiệm bài toán sử dụng MatLab
Xét kênh đầu vào X là các dữ liệu tuân theo phân phối chuẩn trong đoạn [0,1] Và kênh đầu Y tương ứng theo phương trình
Y = X + Z, với Z là một biến ngẫu nhiên đóng vai trò là nhiễu
có phân phối Gaussian Z = N(0,1), độc lập với X
Các câu lệnh của chương trình như sau:
% Hàm mse_of_channel
% Tham số: n – số biến ngẫu nhiên quan sát được
% Giá trị trả về: theta – giá trị được chọn để sai số trung bình bình phương là nhỏ nhất
% MSE – giá trị sai số trung bình bình phương
Trang 13function [theta, MSE] = mse_of_channel(n)
% tạo các giá trị ngẫu nhiên cho đầu vào
x = rand(1,n);
% tính giá trị đầu ra
y = x + randn(1,n);
% Tính giá trị để ước lượng nhỏ nhất theta = mean(x.*y)/mean(y.^2);
% tính sai số MSE MSE = mean((x-theta.*y).^2);
% Vẽ hình biểu diễn minh họa plot(x,y,x,theta.*y);
Kết quả thu được sau khi chạy file mse_of_channel.m là:
theta = 0.2565;
MSE = 0.2467;
Cùng với đó là hình vẽ thể hiện các giá trị của biến ngẫu nhiên
X thu được được thể hiện bằng các chấm màu xanh dương và các chấm màu xanh lá thể hiện giá trị của biến ngẫu nhiên đã được ước lượng
Trang 15TÀI LIỆU THAM KHẢO
1 Bài giảng Quá trình ngẫu nhiên và ứng dụng, PGS.TS Nguyễn Thị
Hoàng Lan, Viện Công nghệ thông tin và truyền thông, Đại học Bách Khoa Hà Nội
2 Probability, Random Variables and Stochastic Processes, 4th Edition,
Athanasios Papoulis, S Unaikrishna Pillai, McGraw-Hill Higher Education, New York 2002