Khái niệm về Mean Squared Error
Mean Squared Error (MSE) là một phép đo lường phổ biến trong thống kê và machine learning để đánh giá chất lượng của một mô hình dự đoán. Nó được sử dụng để đo lường độ chính xác của dự đoán so với giá trị thực tế.
MSE tính bằng cách tính trung bình của bình phương sai số giữa giá trị dự đoán và giá trị thực tế trên một tập dữ liệu. Công thức tính MSE như sau:
MSE = (1/n) * Σ(yᵢ – ȳ)²
Trong đó:
- n là số lượng mẫu trong tập dữ liệu.
- yᵢ là giá trị dự đoán của mẫu thứ i.
- ȳ là giá trị thực tế của mẫu thứ i.
Mean Squared Error được tính theo cách giống như loss equation chung trước đó. Chúng tôi cũng sẽ xem xét giá trị bias vì đó cũng là một tham số cần được cập nhật trong quá trình đào tạo.
Mean Squared Error được giải thích tốt nhất bằng hình ảnh minh họa.
Các bài viết liên quan:
Giả sử chúng ta có một bộ giá trị và chúng ta bắt đầu bằng cách vẽ một số tham số đường hồi quy có kích thước bằng một bộ trọng số và giá trị thiên vị ngẫu nhiên như trước.
Sai số tương ứng với khoảng cách giá trị thực tế so với giá trị dự đoán – khoảng cách thực tế giữa chúng.
Đối với mỗi điểm, lỗi được tính bằng cách so sánh các giá trị dự đoán được tạo bởi mô hình đường của chúng tôi với giá trị thực tế bằng cách sử dụng công thức sau
Mọi điểm đều gắn với một lỗi, có nghĩa là chúng ta phải tính tổng lỗi cho từng điểm. Chúng tôi biết dự đoán có thể được viết lại thành
Khi chúng tôi tính toán sai số bình phương trung bình, chúng tôi phải lấy giá trị trung bình bằng cách chia cho không có điểm dữ liệu. Bây giờ được đề cập trước khi gradient của hàm lỗi sẽ đưa chúng ta theo hướng có sự gia tăng lỗi lớn nhất.
Di chuyển về phía âm của độ dốc của hàm chi phí, chúng tôi di chuyển theo hướng có sai số nhỏ nhất. Chúng tôi sẽ sử dụng gradient này như một la bàn để luôn đưa chúng tôi xuống dốc. Trong gradient descent, chúng tôi bỏ qua sự hiện diện của sai lệch, nhưng đối với lỗi, cả hai tham số A và b đều được yêu cầu xác định.
Xem thêm numpy.mean() trong Python
Bây giờ, những gì chúng ta làm tiếp theo, chúng ta sẽ tính toán các đạo hàm từng phần cho mỗi và như trước khi chúng ta bắt đầu với bất kỳ cặp giá trị A và b nào.
Chúng tôi sử dụng thuật toán giảm độ dốc để cập nhật A và b theo hướng ít lỗi nhất dựa trên hai đạo hàm riêng được đề cập ở trên. Đối với mỗi lần lặp lại, trọng lượng mới bằng
A1=A0-∝ f'(A)
Và giá trị bias mới bằng
b1=b0-∝ f'(b)
Ý tưởng chính để viết mã, tức là, chúng tôi bắt đầu với một số mô hình ngẫu nhiên với một tập hợp ngẫu nhiên các tham số giá trị trọng lượng và thiên vị. Mô hình ngẫu nhiên này sẽ có xu hướng có hàm lỗi lớn, hàm chi phí lớn, và sau đó chúng tôi sử dụng gradient descent để cập nhật trọng số của mô hình theo hướng ít lỗi nhất. Giảm thiểu lỗi đó để trả về kết quả được tối ưu hóa.
MSE có một số đặc điểm quan trọng:
- Nó tính toán bình phương sai số, do đó, các giá trị lớn hơn sẽ có ảnh hưởng nặng nề hơn đến kết quả so với các giá trị nhỏ hơn.
- MSE luôn là một số không âm. Giá trị càng nhỏ, mô hình càng chính xác.
- MSE cần phải được so sánh với một ngưỡng hoặc so với các mô hình khác để đánh giá chất lượng dự đoán.
MSE được sử dụng rộng rãi trong các lĩnh vực như học máy, học sâu, thống kê và kỹ thuật tài chính để đánh giá hiệu suất của các mô hình dự đoán và so sánh chúng với nhau.
Xem thêm Định lý giá trị trung bình của Lagrange
Cách tính toán Mean Squared Error
Để tính toán Mean Squared Error (MSE), bạn cần làm theo các bước sau:
- Chuẩn bị dữ liệu:
- Cần có một tập dữ liệu gồm các cặp giá trị thực tế và giá trị dự đoán tương ứng.
- Tính toán sai số bình phương (Squared Error):
- Với mỗi cặp giá trị, tính sai số bằng cách lấy hiệu giá trị thực tế trừ đi giá trị dự đoán. Sau đó, bình phương sai số này.
- Thực hiện bước này cho tất cả các cặp giá trị trong tập dữ liệu.
- Tính tổng bình phương sai số:
- Tính tổng của tất cả bình phương sai số tính được trong bước trước.
- Chia tổng bình phương sai số cho số lượng mẫu:
- Lấy tổng bình phương sai số từ bước trước và chia cho số lượng mẫu trong tập dữ liệu.
- Điều này tương đương với việc tính trung bình của các bình phương sai số.
- Kết quả là Mean Squared Error (MSE):
- Kết quả cuối cùng là giá trị MSE, được tính bằng cách lấy tổng bình phương sai số chia cho số lượng mẫu.
Công thức tính MSE có thể được biểu diễn như sau:
MSE = (1/n) * Σ(yᵢ – ȳ)²
Trong đó:
- n là số lượng mẫu trong tập dữ liệu.
- yᵢ là giá trị dự đoán của mẫu thứ i.
- ȳ là giá trị thực tế của mẫu thứ i.
Bằng cách tính toán MSE, bạn có thể đánh giá chất lượng của mô hình dự đoán và so sánh hiệu suất giữa các mô hình khác nhau.
Xem thêm Hướng dẫn SAS PROC MEANS giá trị trung bình số học trong SAS
Ví dụ về tính toán Mean Squared Error?
Để minh họa cách tính toán Mean Squared Error (MSE), hãy xem một ví dụ đơn giản. Giả sử bạn có một tập dữ liệu gồm 5 điểm dữ liệu và mỗi điểm có giá trị thực tế và giá trị dự đoán tương ứng như sau:
Giá trị thực tế: [3, 4, 2, 5, 7] Giá trị dự đoán: [2.5, 4.5, 1.5, 4, 6]
Bây giờ, chúng ta sẽ tính toán MSE cho ví dụ này:
- Tính toán sai số bình phương (Squared Error):
- Bước này, chúng ta sẽ tính sai số bình phương cho từng cặp giá trị thực tế và giá trị dự đoán. Bình phương sai số là (giá trị thực tế – giá trị dự đoán)².
- Áp dụng công thức cho từng cặp giá trị trong tập dữ liệu, ta có:
- Sai số bình phương: [(3-2.5)², (4-4.5)², (2-1.5)², (5-4)², (7-6)²]
- Sai số bình phương: [0.25, 0.25, 0.25, 1, 1]
- Tính tổng bình phương sai số:
- Tính tổng của tất cả bình phương sai số tính được trong bước trước:
- Tổng bình phương sai số: 0.25 + 0.25 + 0.25 + 1 + 1 = 2.75
- Tính tổng của tất cả bình phương sai số tính được trong bước trước:
- Chia tổng bình phương sai số cho số lượng mẫu:
- Lấy tổng bình phương sai số và chia cho số lượng mẫu (trong trường hợp này là 5):
- MSE = 2.75 / 5 = 0.55
- Lấy tổng bình phương sai số và chia cho số lượng mẫu (trong trường hợp này là 5):
Vậy kết quả tính toán cho ví dụ này là MSE = 0.55. Điều này cho biết mức độ sai lệch trung bình bình phương giữa giá trị dự đoán và giá trị thực tế trong tập dữ liệu. Mức độ gần với 0 hơn, mô hình dự đoán càng chính xác.
Xem thêm Error Boundaries trong React