You are on page 1of 5

Bình phương tối thiểu

Trong toán học, phương pháp bình phương tối thiểu, còn gọi là bình phương nhỏ nhất
hay bình phương trung bình tối thiểu, là một phương pháp tối ưu hóa để lựa chọn một đường
khớp nhất nhất cho một dải dữ liệu ứng với cực trị của tổng các sai số thống kê giữa đường khớp và
dữ liệu.
Phương pháp này giả định các sai số của phép đo đạc dữ liệu là ngẫu nhiên. Định lý Gauss-
Markov chứng minh rằng kết quả thu được từ phương pháp bình phương tối thiểu không thiên vị và
sai số của việc đo đạc dữ liệu không nhất thiết phải tuân theo, ví dụ, phân bố Gauss. Một phương
pháp mở rộng từ phương pháp này là bình phương tối thiểu có trọng số).
Phương pháp bình phương tối thiểu thường được dùng trong khớp đường cong. Nhiều bài
toán tối ưu hóa cũng được quy về việc tìm cực trị của dạng bình phương, ví dụ như tìm cực tiểu của
năng lượng hay cực đại của entropy.

Diễn giải
Giả sử dữ liệu gồm các điểm (xi, yi) với i = 1, 2, ..., n. Chúng ta cần tìm một hàm số f thỏa mãn
f(xi) ≈ yi
Giả sử hàm f có thể thay đổi hình dạng, phụ thuộc vào một số tham số, pj với j = 1, 2, ..., m.
f(x) = f(pj, x)
Nội dung của phương pháp là tìm giá trị của các tham số pj sao cho biểu thức sau đạt cực tiểu:

Nội dung này giải thích tại sao tên của phương pháp là bình phương tối thiểu.
Đôi khi thay vì tìm giá trị nhỏ nhất của tổng bình phương, người ta có thể tìm giá trị nhỏ
nhất của bình phương trung bình:

Điều này dẫn đến tên gọi bình phương trung bình tối thiểu.

Giải quyết
Bài toán thường có lời giải đáng tin cậy khi số lượng các tham số pj nhỏ hơn số lượng các dữ liệu
(m < n).
Trong trường hợp, f là hàm tuyến tính của các tham số pj, bài toán trở nên đơn giản hóa rất
nhiều, rút gọn thành việc giải một hệ phương trình tuyến tính. Xem thêm bình phương tối thiểu
tuyến tính.
Nếu f không là hàm tuyến tính của các tham số, bài toán trở thành một bài toán tối ưu hóa
tổng quát. Bài toán tổng quát này có thể dùng các phương pháp như phương pháp tối ưu hóa
Newton hay phương pháp trượt dốc. Đặc biệt thuật toán Gauss-Newton hay thuật toán Levenberg-
Marquardt là thích hợp nhất cho bài toán bình phương tối thiểu tổng quát này.
[sửa]

Hồi quy tuyến tính


Trong hồi quy tuyến tính, người ta thay biểu thức
f(xi) ≈ yi

bằng

f(xi) = yi + εi

với hệ số nhiễu ε là biến ngẫu nhiên có giá trị trung bình bằng 0.

Trong biểu thức của hồi quy tuyến tính x được đo chính xác, chỉ có y chịu nhiễu loạn ε. Thêm nữa,
hàm f tuyến tính với các tham số pj.

Nếu f không tuyến tính với các tham số, ta có hồi quy phi tuyến, một bài toán phức tạp hơn nhiều
hồi quy tuyến tính.

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


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)

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à x và b 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ư Ax
− b, 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 v là vTv, với vT kí hiệu cho phép transpose 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 A là
n). 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 (ATA) − 1AT 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à, A − 1), vì nó không tồn tại do A không phải là một ma trận vuông (m ≠
n).

Tính toán
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 giao và R 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 A = UΣV * là singular value
decomposition của A, thì ma trận giả nghịch đảo của A là V Σ+ U*, so

với Σ+ là transpose 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
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 Rn → R
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 đó, Ax ≈ b

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

Ví dụ
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à


Sau đó,

And

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

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

You might also like