Hồi quy tuyến tính: Phương pháp giảm độ dốc
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Phương pháp giảm độ dốc là một kỹ thuật toán học lặp đi lặp lại để tìm ra các trọng số và độ lệch tạo ra mô hình có mức tổn thất thấp nhất. Phương pháp giảm độ dốc tìm ra trọng số và độ lệch tốt nhất bằng cách lặp lại quy trình sau đây cho một số lần lặp do người dùng xác định.
Mô hình bắt đầu huấn luyện với các trọng số và độ lệch ngẫu nhiên gần bằng 0, sau đó lặp lại các bước sau:
Tính toán mức tổn thất với trọng số và độ lệch hiện tại.
Xác định hướng di chuyển các trọng số và độ lệch giúp giảm tổn thất.
Di chuyển các giá trị trọng số và độ lệch một lượng nhỏ theo hướng làm giảm tổn thất.
Quay lại bước một và lặp lại quy trình cho đến khi mô hình không thể giảm tổn thất thêm nữa.
Sơ đồ dưới đây trình bày các bước lặp lại mà phương pháp giảm độ dốc thực hiện để tìm ra các trọng số và độ lệch tạo ra mô hình có mức tổn thất thấp nhất.
Hình 11 Phương pháp giảm độ dốc là một quy trình lặp lại để tìm ra các trọng số và độ lệch tạo ra mô hình có mức tổn thất thấp nhất.
Nhấp vào biểu tượng dấu cộng để tìm hiểu thêm về phép toán đằng sau phương pháp giảm độ dốc.
Ở cấp độ cụ thể, chúng ta có thể xem xét các bước phương pháp giảm độ dốc bằng cách sử dụng tập dữ liệu nhỏ về hiệu suất nhiên liệu sau đây với 7 ví dụ và Sai số bình phương trung bình (MSE) làm chỉ số tổn thất:
Pao (tính bằng nghìn) (đối tượng)
Số dặm trên mỗi ga lông (nhãn)
3,5
18
3,69
15
3,44
18
3,43
16
4,34
15
4,42
14
2,37
24
Mô hình bắt đầu huấn luyện bằng cách đặt trọng số và độ lệch thành 0:
Nhấp vào biểu tượng dấu cộng để tìm hiểu về cách tính độ dốc.
Để lấy độ dốc cho các đường tiếp tuyến với trọng số và độ lệch, chúng ta lấy đạo hàm của hàm tổn thất theo trọng số và độ lệch, sau đó giải các phương trình.
Chúng ta sẽ viết phương trình để đưa ra dự đoán như sau:
$ f_{w,b}(x) = (w*x)+b $.
Chúng ta sẽ viết giá trị thực là: $ y $.
Chúng ta sẽ tính MSE bằng cách sử dụng:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
trong đó $i$ biểu thị ví dụ huấn luyện thứ $i$ và $M$ biểu thị số lượng ví dụ.
Đạo hàm trọng số
Đạo hàm của hàm tổn thất theo trọng số được viết là:
$ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
và được đánh giá là:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $
Trước tiên, chúng ta tính tổng từng giá trị dự đoán trừ đi giá trị thực tế, sau đó nhân kết quả với hai lần giá trị của đối tượng.
Sau đó, chúng ta chia tổng này cho số lượng ví dụ.
Kết quả là độ dốc của đường tiếp tuyến với giá trị của trọng số.
Nếu giải phương trình này với trọng số và độ lệch bằng 0, chúng ta sẽ được -119,7 cho độ dốc của đường thẳng.
Đạo hàm thiên kiến
Đạo hàm của hàm tổn thất theo độ lệch được viết là:
$ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
và được đánh giá là:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $
Trước tiên, chúng ta cộng từng giá trị dự đoán trừ đi giá trị thực tế, sau đó nhân kết quả với 2. Sau đó, chúng ta chia tổng này cho số lượng ví dụ. Kết quả là độ dốc của đường tiếp tuyến với giá trị của độ lệch.
Nếu giải phương trình này với trọng số và độ lệch bằng 0, chúng ta sẽ được -34,3 cho độ dốc của đường thẳng.
Di chuyển một lượng nhỏ theo hướng dốc âm để nhận được trọng số và độ lệch tiếp theo. Hiện tại, chúng ta sẽ tuỳ ý xác định "số tiền nhỏ" là 0,01:
Sử dụng trọng số và độ lệch mới để tính toán mức tổn thất và lặp lại. Hoàn tất quy trình này trong 6 lần lặp, chúng ta sẽ nhận được các trọng số, độ lệch và tổn thất sau:
Lần lặp lại
Trọng lượng
Thiên kiến
Tổn thất (MSE)
1
0
0
303,71
2
1,20
0,34
170,84
3
2,05
0,59
103,17
4
2,66
0,78
68,70
5
3.09
0,91
51,13
6
3,40
1,01
42,17
Bạn có thể thấy rằng mức tổn thất giảm xuống với mỗi trọng số và độ lệch được cập nhật.
Trong ví dụ này, chúng ta đã dừng sau 6 lần lặp. Trong thực tế, một mô hình sẽ huấn luyện cho đến khi hội tụ.
Khi một mô hình hội tụ, các lần lặp lại bổ sung sẽ không làm giảm tổn thất nữa vì phương pháp giảm độ dốc đã tìm thấy các trọng số và độ lệch gần như giảm thiểu tổn thất.
Nếu mô hình tiếp tục huấn luyện sau khi hội tụ, tổn thất sẽ bắt đầu dao động ở mức nhỏ khi mô hình liên tục cập nhật các tham số xung quanh các giá trị thấp nhất. Điều này có thể gây khó khăn cho việc xác minh rằng mô hình đã thực sự hội tụ. Để xác nhận rằng mô hình đã hội tụ, bạn sẽ muốn tiếp tục huấn luyện cho đến khi tổn thất ổn định.
Đường cong hội tụ và đường cong tổn thất của mô hình
Khi huấn luyện một mô hình, bạn thường xem xét đường cong tổn thất để xác định xem mô hình có hội tụ hay không. Đường cong tổn thất cho biết mức tổn thất thay đổi như thế nào khi mô hình huấn luyện. Sau đây là hình dạng của một đường cong tổn thất điển hình. Tổn thất nằm trên trục y và các lần lặp lại nằm trên trục x:
Hình 12 Đường cong tổn thất cho thấy mô hình hội tụ xung quanh dấu lặp lại thứ 1.000.
Bạn có thể thấy rằng mức tổn thất giảm đáng kể trong vài lần lặp lại đầu tiên, sau đó giảm dần trước khi ổn định ở khoảng lần lặp lại thứ 1.000. Sau 1.000 lần lặp lại, chúng ta có thể chắc chắn rằng mô hình đã hội tụ.
Trong các hình sau, chúng ta sẽ vẽ mô hình tại 3 điểm trong quá trình huấn luyện: điểm bắt đầu, điểm giữa và điểm kết thúc. Việc trực quan hoá trạng thái của mô hình tại các ảnh chụp nhanh trong quá trình huấn luyện sẽ củng cố mối liên kết giữa việc cập nhật trọng số và độ lệch, giảm tổn thất và hội tụ mô hình.
Trong các số liệu, chúng ta sử dụng các trọng số và độ lệch được suy ra tại một lần lặp cụ thể để biểu thị mô hình. Trong biểu đồ có các điểm dữ liệu và ảnh chụp nhanh mô hình, các đường tổn thất màu xanh dương từ mô hình đến các điểm dữ liệu cho thấy mức tổn thất. Đường truyền càng dài thì tổn thất càng lớn.
Trong hình sau, chúng ta có thể thấy rằng vào khoảng lần lặp thứ hai, mô hình sẽ không dự đoán chính xác do mức tổn thất cao.
Hình 13. Đường cong tổn thất và ảnh chụp nhanh của mô hình khi bắt đầu quá trình huấn luyện.
Ở khoảng lần lặp thứ 400, chúng ta có thể thấy rằng phương pháp giảm độ dốc đã tìm ra trọng số và độ lệch tạo ra một mô hình tốt hơn.
Hình 14. Đường cong tổn thất và ảnh chụp nhanh của mô hình vào khoảng giữa quá trình huấn luyện.
Và ở khoảng lần lặp thứ 1.000, chúng ta có thể thấy rằng mô hình đã hội tụ, tạo ra một mô hình có mức tổn thất thấp nhất có thể.
Hình 15. Đường cong tổn thất và ảnh chụp nhanh của mô hình gần cuối quy trình huấn luyện.
Bài tập: Kiểm tra kiến thức
Vai trò của phương pháp giảm độ dốc trong hồi quy tuyến tính là gì?
Phương pháp giảm độ dốc là một quy trình lặp đi lặp lại để tìm ra các trọng số và độ lệch tốt nhất nhằm giảm thiểu tổn thất.
Phương pháp giảm độ dốc giúp xác định loại tổn thất cần sử dụng khi huấn luyện một mô hình, ví dụ: L1 hoặc L2.
Không có phương pháp giảm độ dốc trong việc lựa chọn hàm tổn thất để huấn luyện mô hình.
Phương pháp giảm độ dốc loại bỏ các điểm ngoại lai khỏi tập dữ liệu để giúp mô hình đưa ra dự đoán chính xác hơn.
Phương pháp giảm độ dốc không làm thay đổi tập dữ liệu.
Hàm lồi và sự hội tụ
Các hàm tổn thất cho mô hình tuyến tính luôn tạo ra một bề mặt lồi. Do thuộc tính này, khi mô hình hồi quy tuyến tính hội tụ, chúng ta biết rằng mô hình đã tìm thấy các trọng số và độ lệch tạo ra mức tổn thất thấp nhất.
Nếu vẽ đồ thị bề mặt tổn thất cho một mô hình có một đặc điểm, chúng ta có thể thấy hình dạng lồi của mô hình đó. Sau đây là bề mặt tổn thất cho một tập dữ liệu giả định về số dặm trên mỗi gallon. Trọng số nằm trên trục x, độ lệch nằm trên trục y và tổn thất nằm trên trục z:
Hình 16. Mất bề mặt cho thấy hình dạng lồi của nó.
Trong ví dụ này, trọng số là -5,44 và độ lệch là 35,94 tạo ra mức tổn thất thấp nhất là 5,54:
Hình 17. Bề mặt tổn thất cho thấy các giá trị trọng số và độ lệch tạo ra mức tổn thất thấp nhất.
Một mô hình tuyến tính sẽ hội tụ khi tìm thấy mức tổn thất tối thiểu. Nếu chúng ta vẽ đồ thị các điểm trọng số và độ lệch trong quá trình phương pháp giảm độ dốc, các điểm sẽ trông giống như một quả bóng lăn xuống đồi, cuối cùng dừng lại ở điểm không còn độ dốc xuống nữa.
Hình 18. Biểu đồ tổn thất cho thấy các điểm phương pháp giảm độ dốc dừng lại ở điểm thấp nhất trên biểu đồ.
Lưu ý rằng các điểm mất mát màu đen tạo ra hình dạng chính xác của đường cong mất mát: giảm mạnh trước khi giảm dần cho đến khi đạt đến điểm thấp nhất trên bề mặt mất mát.
Khi sử dụng các giá trị trọng số và độ lệch tạo ra mức tổn thất thấp nhất (trong trường hợp này là trọng số -5,44 và độ lệch 35,94), chúng ta có thể vẽ biểu đồ mô hình để xem mức độ phù hợp của mô hình với dữ liệu:
Hình 19. Mô hình được vẽ biểu đồ bằng cách sử dụng các giá trị trọng số và độ lệch tạo ra mức tổn thất thấp nhất.
Đây sẽ là mô hình tốt nhất cho tập dữ liệu này vì không có giá trị trọng số và độ lệch nào khác tạo ra mô hình có mức tổn thất thấp hơn.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2026-02-03 UTC."],[],[]]