Hồi quy tuyến tính: Phương pháp giảm độ dốc

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:

  1. Tính toán mức tổn thất với trọng số và độ lệch hiện tại.

  2. Xác định hướng di chuyển các trọng số và độ lệch giúp giảm tổn thất.

  3. 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.

  4. 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. Hình minh hoạ phương pháp giảm độ dốc.

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.

Đườ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. Biểu đồ đường cong tổn thất cho thấy mức giảm mạnh rồi giảm nhẹ.

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à biểu đồ tương ứng của mô hình, nghiêng ra xa các điểm dữ liệu.

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à biểu đồ tương ứng của mô hình, cắt qua các điểm dữ liệu nhưng không ở góc tối ưu.

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à biểu đồ tương ứng của mô hình, phù hợp với dữ liệu.

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. Đồ thị 3D của bề mặt tổn thất.

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. Biểu đồ 3D về bề mặt tổn thất, với (-5,44, 35,94, 5,54) ở dưới cùng.

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. Bề mặt tổn thất lồi 3D với các điểm phương pháp giảm độ dốc di chuyển đến điểm thấp nhất.

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. Biểu đồ về số lượng (tính bằng nghìn) so với số dặm trên một gallon, với mô hình phù hợp 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.