Hỏi đáp

Hồi quy tuyến tính: Cách hoạt động và ứng dụng trong Machine Learning

Huy Erick

Trong thống kê và học máy, hồi quy tuyến tính được coi là một trong những thuật toán đáng tin cậy nhất và dễ hiểu nhất. Trong bài viết này, chúng ta sẽ khám phá...

Trong thống kê và học máy, hồi quy tuyến tính được coi là một trong những thuật toán đáng tin cậy nhất và dễ hiểu nhất. Trong bài viết này, chúng ta sẽ khám phá thuật toán hồi quy tuyến tính, cách nó hoạt động và cách sử dụng nó một cách hiệu quả trong các dự án học máy của chúng ta. Bài viết này sẽ giúp bạn hiểu:

Tại sao hồi quy tuyến tính thuộc cả thống kê và học máy?

Trước khi chúng ta đi sâu vào chi tiết về hồi quy tuyến tính, hãy tự hỏi tại sao chúng ta lại quan tâm đến thuật toán này.

Hồi quy tuyến tính có phải là một phương pháp từ thống kê không?

Trong học máy, chúng ta thường sử dụng các thuật toán từ nhiều lĩnh vực khác nhau, bao gồm cả thống kê, và sử dụng chúng để giảm thiểu sai số của mô hình hoặc đưa ra dự đoán chính xác nhất có thể, với chi phí là khả năng giải thích. Do đó, hồi quy tuyến tính không chỉ là một thuật toán thống kê mà còn là một thuật toán học máy.

Các thuật toán biểu diễn và học tập trong hồi quy tuyến tính

Khi bạn tìm hiểu về hồi quy tuyến tính, có thể rằng mọi thứ trở nên phức tạp.

Lý do là vì hồi quy tuyến tính đã tồn tại từ rất lâu (hơn 200 năm). Nó đã được nghiên cứu từ nhiều góc độ và thường có nhiều tên khác nhau.

Hồi quy tuyến tính là một mô hình tuyến tính. Nó giả định một mối quan hệ tuyến tính giữa biến đầu vào (x) và một biến đầu ra duy nhất (y). Khi chỉ có một biến đầu vào (x), phương pháp này được gọi là hồi quy tuyến tính đơn giản. Khi có nhiều biến đầu vào, phương pháp này được gọi là hồi quy tuyến tính đa biến.

Có nhiều kỹ thuật khác nhau để chuẩn bị hoặc huấn luyện phương trình hồi quy tuyến tính từ dữ liệu, kỹ thuật phổ biến nhất là Bình phương nhỏ nhất thông thường. Vì vậy, một mô hình được chuẩn bị bằng cách sử dụng kỹ thuật này được gọi là Hồi quy tuyến tính bình phương nhỏ nhất hoặc chỉ hồi quy bình phương nhỏ nhất.

Bây giờ chúng ta đã biết về các tên phổ biến được sử dụng để mô tả hồi quy tuyến tính, hãy xem xét cách biểu diễn mô hình này.

Biểu diễn mô hình hồi quy tuyến tính

Hồi quy tuyến tính là một mô hình hấp dẫn vì biểu diễn rất đơn giản.

Biểu diễn là một phương trình tuyến tính kết hợp một tập giá trị đầu vào cụ thể (x), đầu ra dự đoán cho tập giá trị đầu vào đó (y). Vì vậy, cả giá trị đầu vào (x) và giá trị đầu ra đều là số.

Phương trình tuyến tính chỉ định một hệ số tỷ lệ cho mỗi giá trị hoặc cột đầu vào, được gọi là hệ số và được biểu thị bằng chữ cái Hy Lạp viết hoa Beta (B). Một hệ số bổ sung cũng được thêm vào, tạo cho đường thẳng một mức độ tự do bổ sung và thường được gọi là hệ số chặn hoặc hệ số chệch.

Ví dụ, trong một bài toán hồi quy đơn giản (một x và một y duy nhất), dạng của mô hình sẽ là:

y = B0 + B1 * x

Trong các kích thước cao hơn khi chúng ta có nhiều hơn một đầu vào (x), đường được gọi là mặt phẳng hoặc siêu mặt phẳng. Do đó, biểu diễn là dạng của phương trình và các giá trị cụ thể được sử dụng cho các hệ số.

Chúng ta thường nói về độ phức tạp của mô hình hồi quy dựa trên số lượng hệ số được sử dụng trong mô hình. Khi một hệ số trở thành 0, nó sẽ loại bỏ hiệu quả ảnh hưởng của biến đầu vào lên mô hình và do đó không có đóng góp vào dự đoán từ mô hình. Điều này trở nên thích hợp khi áp dụng các phương pháp chính quy để giảm độ phức tạp của các mô hình hồi quy bằng cách áp lực lên kích thước tuyệt đối của các hệ số, đưa một số về 0.

Bây giờ chúng ta đã hiểu về cách biểu diễn được sử dụng cho mô hình hồi quy tuyến tính, hãy xem xét một số cách mà chúng ta có thể tìm hiểu cách biểu diễn này từ dữ liệu.

Mô hình hồi quy tuyến tính trong Machine Learning

Huấn luyện mô hình hồi quy tuyến tính có nghĩa là ước tính giá trị của các hệ số được sử dụng trong biểu diễn với dữ liệu có sẵn.

Trong phần này, chúng ta sẽ xem xét ngắn gọn bốn kỹ thuật để chuẩn bị một mô hình hồi quy tuyến tính. Đây không phải là thông tin đầy đủ để thực hiện chúng từ đầu, nhưng đủ để có được cái nhìn tổng quan về tính toán và các yếu tố liên quan.

Còn rất nhiều kỹ thuật khác bởi vì mô hình đã được nghiên cứu rất kỹ. Chúng ta hãy lưu ý đến Bình phương nhỏ nhất thông thường vì đây là kỹ thuật phổ biến nhất được sử dụng nói chung. Hãy lưu ý về Gradient Descent vì đây là kỹ thuật phổ biến nhất được dạy trong các khóa học học máy.

1. Hồi quy tuyến tính đơn giản

Với hồi quy tuyến tính đơn giản, khi chúng ta chỉ có một đầu vào duy nhất, chúng ta có thể sử dụng thống kê để ước tính các hệ số.

Điều này đòi hỏi bạn tính toán các thuộc tính thống kê từ dữ liệu như mean, standard deviation, correlation, và covariance. Tất cả các dữ liệu này cần phải được có sẵn để duyệt qua và tính toán số liệu thống kê.

Đây là một bài tập thú vị trong excel, nhưng không thực sự hữu ích trong thực tế.

2. Bình phương nhỏ nhất thông thường

Khi chúng ta có nhiều hơn một đầu vào, chúng ta có thể sử dụng Bình phương Nhỏ nhất thông thường để ước tính giá trị của các hệ số.

Quy trình Bình phương Nhỏ nhất thông thường tìm cách giảm thiểu tổng các phần dư bình phương. Điều này có nghĩa là với một đường hồi quy thông qua dữ liệu của chúng ta, chúng ta tính toán khoảng cách từ mỗi điểm dữ liệu đến đường hồi quy, bình phương nó và tổng tất cả các lỗi bình phương lại với nhau. Đại lượng này được định nghĩa là Bình phương Nhỏ nhất thông thường và được tối thiểu hóa.

Cách tiếp cận này xem dữ liệu như một ma trận và sử dụng các phép toán đại số tuyến tính để ước tính giá trị tối ưu cho các hệ số. Điều này có nghĩa là tất cả dữ liệu cần phải có sẵn và bạn cần có đủ bộ nhớ để lưu trữ dữ liệu và thực hiện các phép toán ma trận.

Sẽ không phổ biến nếu bạn tự thực hiện quy trình Bình phương Nhỏ nhất thông thường trừ khi bạn làm việc với đại số tuyến tính. Có nhiều khả năng bạn sẽ gọi một hàm trong thư viện đại số tuyến tính. Thủ tục này nhanh chóng để tính toán.

3. Gradient Descent

Khi có một hoặc nhiều đầu vào, bạn có thể sử dụng phương pháp tối ưu giá trị của các hệ số bằng cách giảm thiểu lặp đi lặp lại lỗi của mô hình trên dữ liệu huấn luyện của bạn.

Thao tác này được gọi là Gradient Descent và hoạt động bằng cách bắt đầu với một giá trị ngẫu nhiên cho mỗi hệ số. Lỗi bình phương tổng được tính cho từng cặp giá trị đầu vào và đầu ra. Tỷ lệ học được sử dụng như một hệ số tỷ lệ và các hệ số được cập nhật theo hướng giảm thiểu lỗi. Quá trình được lặp lại cho đến khi đạt được sai số tổng bình phương tối thiểu hoặc không thể cải thiện thêm được nữa.

Khi sử dụng phương pháp này, bạn phải chọn tham số tốc độ học (alpha) xác định kích thước của bước cải thiện cần thực hiện trên mỗi lần lặp lại của quy trình.

Gradient Descent thường được dạy bằng cách sử dụng mô hình hồi quy tuyến tính vì nó tương đối dễ hiểu. Trong thực tế, nó rất hữu ích khi bạn có một tập dữ liệu lớn với số hàng hoặc cột có thể vượt quá bộ nhớ.

4. Chính quy hóa

Có các phần mở rộng của mô hình hồi quy tuyến tính được gọi là các phương pháp chính quy hóa. Những phương pháp này không chỉ giảm thiểu tổng lỗi bình phương của mô hình trên dữ liệu huấn luyện (sử dụng Bình phương Nhỏ nhất thông thường), mà còn giảm độ phức tạp của mô hình (ví dụ: số lượng hoặc kích thước tuyệt đối của tổng tất cả hệ số trong mô hình).

Hai ví dụ phổ biến về các thủ tục chính quy hóa cho hồi quy tuyến tính là:

  • Hồi quy Lasso: trong đó Bình phương Nhỏ nhất thông thường được sửa đổi để cũng giảm thiểu tổng tuyệt đối của các hệ số (được gọi là chính quy L1).
  • Hồi quy Ridge: trong đó Bình phương Nhỏ nhất thông thường được sửa đổi để cũng giảm thiểu tổng bình phương tuyệt đối của các hệ số (được gọi là chính quy L2).

Các phương pháp này có hiệu quả khi bạn có sự đồng nhất trong các giá trị đầu vào và Bình phương Nhỏ nhất thông thường không phù hợp với dữ liệu huấn luyện của bạn.

Bây giờ chúng ta đã biết cách đưa ra dự đoán dựa trên mô hình hồi quy tuyến tính đã học, hãy xem xét một số quy tắc cơ bản để chuẩn bị dữ liệu của chúng ta để tận dụng tối đa mô hình này.

Chuẩn bị dữ liệu cho hồi quy tuyến tính

Hồi quy tuyến tính đã được nghiên cứu rất nhiều và có rất nhiều tài liệu về cách dữ liệu của bạn phải được cấu trúc để sử dụng mô hình tốt nhất.

Tuy nhiên, có quá nhiều yêu cầu và mong đợi khi nói về việc này, dẫn đến sự rắc rối. Trong thực tế, bạn có thể sử dụng những quy tắc này như ngón tay cái khi sử dụng Hồi quy Bình phương nhỏ nhất thông thường, cách triển khai phổ biến nhất của hồi quy tuyến tính.

Hãy thử các cách chuẩn bị khác nhau cho dữ liệu của bạn bằng cách sử dụng các phép phỏng đoán này và xem cách nào phù hợp nhất với vấn đề của bạn.

  • Giả định tuyến tính: Hồi quy tuyến tính giả định rằng mối quan hệ giữa đầu vào và đầu ra của bạn là tuyến tính. Điều này có thể dễ hiểu, nhưng bạn cần nhớ khi có nhiều thuộc tính. Bạn có thể cần phải chuyển đổi dữ liệu để làm cho mối quan hệ trở nên tuyến tính (ví dụ: biến đổi nhật ký cho mối quan hệ hàm mũ).

  • Loại bỏ tiếng ồn: Hồi quy tuyến tính giả định rằng biến đầu vào và đầu ra của bạn không bị nhiễu. Cân nhắc sử dụng các hoạt động làm sạch dữ liệu để hiển thị và làm rõ tín hiệu trong dữ liệu của bạn tốt hơn. Điều này đặc biệt quan trọng đối với biến đầu ra và bạn muốn loại bỏ các giá trị ngoại lệ trong biến đầu ra (y) nếu có thể.

  • Loại bỏ tính cộng gộp: Hồi quy tuyến tính sẽ quá khớp với dữ liệu của bạn khi bạn có các biến đầu vào có mối tương quan cao. Cân nhắc tính toán các hệ số tương quan theo cặp cho dữ liệu đầu vào của bạn và loại bỏ mối tương quan lớn nhất.

  • Phân phối Gaussian: Hồi quy tuyến tính sẽ đưa ra các dự đoán đáng tin cậy hơn nếu biến đầu vào và đầu ra của bạn có phân phối Gaussian. Bạn có thể nhận được một số lợi ích bằng cách sử dụng các phép biến đổi (ví dụ: log hoặc BoxCox) trên các biến của bạn để làm cho phân phối của chúng trông giống Gaussian hơn.

  • Thay đổi tỷ lệ đầu vào: Hồi quy tuyến tính thường sẽ đưa ra các dự đoán đáng tin cậy hơn nếu bạn thay đổi tỷ lệ các biến đầu vào bằng cách sử dụng chuẩn hóa hoặc chuẩn hóa.

Nguồn : Machine Learning Mastery

Hình ảnh minh họa cho bài viết

1