Bình phương tối thiểu tuyến tính

trang định hướng Wikimedia

Bình phương tối thiểu tuyến tính là một kỹ thuật trong ngành tối ưu toán học để tìm một nghiệm gần đúng cho một hệ phương trình tuyến tính không có nghiệm chính xác. Điều này thường xảy ra khi số phương trình là (m) lớn hơn số biến (n). (Xem thêm linear regression.)

Định nghĩa

sửa

Theo từ ngữ toán học, chúng ta muốn tìm nghiệm của "phương trình"

 ,

với A là một ma trận cỡ m-nhân-n (với m > n) và xb theo thứ tự đó là vectơ cột với n- và m-hàng. Một cách chính xác hơn, ta muốn làm tối thiểu chuẩn Euclidean bình phương của phần dư Axb, nghĩa là, đại lượng

 

với [Ax]i ký hiệu phần tử thứ i của vectơ Ax. Do đó mà có cái tên "bình phương tối thiểu".

Sử dụng sự kiện bình phương chuẩn của vvTv, với vT ký hiệu cho ma trận chuyển của v, ta viết lại biểu thức trên như là

 

Hai hạng tử ở giữa là như nhau, do đó giá trị tối thiểu có thể được tìm tại zero của đạo hàm theo biến x,

 

Do vậy là tối thiểu x là nghiệm của phương trình normal sau đây

 

Để ý rằng điều này tương đương với một hệ phương trình tuyến tính. Ma trận ATA ở phía bên trái là một ma trận vuông, và khả nghịch nếu như A có đầy rank theo cột (nghĩa là, nếu như rank của An). Trong trường hợp đó, nghiệm của hệ phương trình tuyến tính là duy nhất và được cho bởi

 

Ma trận   gọi là ma trận giả nghịch đảo của A. Chúng ta không thể sử dụng ma trận nghịch đảo thật sự của A (nghĩa là,  ), vì nó không tồn tại do A không phải là một ma trận vuông (mn).

Tính toán

sửa

Nếu ma trận ATA đầy rank và ổn định (well-conditioned), phương trình normal có thể được giải trực tiếp bằng phân tích Cholesky ATA = RTR, cho ta:

 

với R là một ma trận tam giác trên (ma trận mà các số phía dưới đường chéo đều bằng 0,upper triangular matrix).

Một phương pháp chậm hơn nhưng ổn định hơn, vẫn làm việc nếu A không đầy rank, có thể đạt được bằng cách tính phân tích QR A = Q R. Sau đó ta có thể giải

 

với Q là một ma trận trực giaoR là một ma trận tam giác trên.

Một cách thứ ba là sử dụng singular value decomposition (SVD). Nếu   là singular value decomposition của A, thì ma trận giả nghịch đảo của AV Σ+ U*, so

 

với Σ+ là ma trận chuyển của Σ với mọi phần tử khác 0 được thay bằng phần tử nghịch đảo. Phương pháp này cần dùng nhiều sức máy nhất, nhưng rất hữu ích nếu như ma trận A rất không ổn định (i.e. nếu như số điều kiện của nó nhân với sai số của máy khá lớn). Trong trường hợp đó, thêm vào những giá trị nhỏ nhất của các giá trị singular trong ma trận nghịch đảo chỉ cộng thêm nhiễu vào đáp số. Điều này có thể được chữa bằng tiếp cận sử dụng SVD, cho ra một lời giải chính xác hơn và ổn định hơn, bằng cách đặt bằng zero tất cả các giá trị singular dưới một ngưỡng nào đó và mặc kệ chúng, trước khi tính toán ma trận giả nghịch đảo.

Áp dụng

sửa

Phương pháp bình phương tối thiểu tuyến tính có thể được sử dụng để tìm một hàm affine RnR khớp nhất với một tập hợp dữ liệu cho trước (xem phương pháp bình phương tối thiểu).

Ví dụ

 

là một mô hình regression tuyến tính, với phần phải là một tổ hợp tuyến tính của các tham số α, β, và γ; hơn nữa, các đánh giá bình phương tối thiểu của các tham số này là tuyến tính trong vector của các giá trị quan sát y.

Chúng ta viết hàm tuyến tính cần tìm như là một ma trận 1-nhân-n xT (do đó x thật ra là 1 vectơ cột, xem thêm biến đổi tuyến tính).

Tập dữ liệu gồm có m (n + 1)-bộ số (x1,..., xn, y). Những giá trị này được viết vào một ma trận m-nhân-n A và một vector b, với mỗi bộ tương ứng với một hàng của A, và y trở thành các phần tử tương ứng trong b.

Sau đó,

Axb

cho ta hàm số x cần tìm.

Ví dụ

sửa

Cho các điểm (0, 3), (2, 3), (4, 4), (−1, 2). Chúng ta tìm một lời giải có dạng αx + β = y, nghĩa là,

 

Chúng ta sau đó có thể lập ma trận A:

 
 
 

và vectơ b

 

và sau đó

 

Do đó, phương trình normal là

 
Hình vẽ các điểm và lời giải.
 
 

Sau đó,

 

and

 

và đường thẳng tốt nhất là (20/59)x + 152/59 = y.

Xem thêm

sửa

Tham khảo

sửa

Liên kết ngoài

sửa