Top 10 thuật toán hồi quy phổ dụng trong Machine Learning

Khi đứng trước một bài toán cần sử dụng học máy Machine Learning (ML), chúng ta thường phân vân trước một rừng thuật toán. Thông thường, chúng ta chọn một vài thuật toán quen thuộc, sau đó phân tích, so sánh chúng với nhau để lựa chọn cái nào phù hợp nhất. Bài viết này sẽ tổng hợp và giới thiệu tóm tắt 10 thuật toán ML thông dụng nhất trong bài toán hồi quy.

Hồi quy (Regression) và phân loại (Classification) là 2 phần khác nhau trong bài toán học có giám sát (supervised learning). Sự khác biệt giữa chúng chỉ là giá trị đầu ra. Trong khi Phân loại chia các dữ liệu ra thành các lớp, thì hồi quy lại đưa ra kết quả là những giá trị liên tục [1].

Tổng quan về bài toán học máy. Nguồn: Dominick Polzer [1]

Trong bài viết này, tôi sẽ dựa vào các bài viết trước đó (xem list tài liệu tham khảo), tổng hợp lại và đưa ra 10 thuật toán hồi quy được sử dụng nhiều nhất. Chúng bao gồm [2]:
1. Linear Regression
2. Ridge Regression
3. Neural Network Regression 
4. Lasso Regression 
5. Decision Tree Regression 
6. Random Forest
7. KNN Model 
8. Support Vector Machines (SVM)
9. Gausian Regression
10. Polynomial Regression

------------------
1. Linear Regression (hồi quy tuyến tính)

Đây là một trong những thuật toán hồi quy được sử dụng nhiều nhất trong ML. Thuật toán hồi quy tuyến tính được sử dụng nếu các nhãn là liên tục, như số lượng chuyến bay hàng ngày từ một sân bay, v.v. Biểu diễn của hồi quy tuyến tính là y = b * x + c.


Trong cách biểu diễn ở trên, ‘y’ là biến độc lập, trong khi ‘x’ là biến phụ thuộc. Khi bạn vẽ biểu đồ hồi quy tuyến tính, thì độ dốc của đường cung cấp cho chúng ta các biến đầu ra được gọi là ‘b’ và ‘c’ là điểm chặn của nó. Thuật toán hồi quy tuyến tính giả định rằng có một mối quan hệ tuyến tính giữa đầu vào và đầu ra. 
Khi bạn sử dụng nhiều hơn 1 biến độc lập để tính toán đầu ra, nó được gọi là hồi quy tuyến tính đa biến (multiple linear regression) [3]. 

Ưu điểm [4]:
 - Đơn giản, dễ thực hiện
- Có thể tránh được over-fitting bằng cách giảm chiều dữ liệu, kỹ thuật regularization và cross-validation
Nhược điểm [4]:
- Bị tác động xấu bởi các giá trị ngoại lai outliers
- Đơn giản hóa quá mức bằng cách giả định mối quan hệ tuyến tính giữa các biến. Do đó, nó không được khuyến nghị trong các bài toán thực tế.

2. Ridge Regression

Ridge regression là một thuật toán hồi quy phổ biến khác trong ML. Các chuyên gia ML thích dùng Ridge regression bởi vì nó giảm thiểu được loss, và cũng sử dụng được trong đa hồi quy. Hệ số của nó không được ước tính bằng bình phương nhỏ nhất thông thường (OLS), mà bằng công cụ ước lượng gọi là ridge, có độ lệch và phương sai thấp hơn OLS. Với loại mô hình này, chúng ta có thể giảm mức độ phức tạp của mô hình [3].

Ưu điểm [5]:

- Đánh đổi giữa phương sai với độ lệch (nghĩa là khi có đồng tuyến tính, đáng để có kết quả bị lệch nhằm giảm phương sai)

- Ngăn chặn overfitting

Nhược điểm [5]:

- Làm tăng bias

- Cần chọn được hệ số alpha hoàn hảo (hyper parameter)

- Khả năng diễn giải mô hình thấp

3. Neural network regression (NNR)

Neural network có sức mạnh thực sự trong việc đưa ra các dự đoán hồi quy cũng như phân loại. Mỗi node trong mạng neural có một chức năng kích hoạt tương ứng xác định nút đầu ra dựa trên một tập hợp đầu vào. Trong ML, thư viện Keras được sử dụng để xây dựng một mạng neural thích hợp.

Đầu ra của một nơ ron được ánh xạ tới nhiều giá trị khác nhau trong NNR, do đó nó đảm bảo tính phí tuyến. Các nơ ron được kết nối tốt giúp dự đoán các giá trị đầu ra và thiết lập mối quan hệ giữa các biến phụ thuộc và độc lập.

Ưu điểm [6]:

- NN rất linh hoạt và có thể được sử dụng cho cả hồi quy và phân loại. 

- NN rất tốt để lập mô hình với dữ liệu phi tuyến với số lượng đầu vào lớn. 

- Sau khi được huấn luyện, NN dự đoán khá nhanh

- NN có thể được huấn luyện với bất kỳ số lượng đầu vào và lớp

- NN làm việc tốt nhất với các điểm dữ liệu (data points)

Nhược điểm [6]:

- NN là hộp đen, có nghĩa là chúng ta không biết mỗi biến độc lập đang ảnh hưởng đến biến phụ thuộc như thế nào

- Về mặt tính toán, đòi hỏi CPUs đủ tốt (chi phí cao) và cả thời gian huấn luyện lâu

- NN phụ thuộc nhiều vào dữ liệu huấn luyện. Điều này dẫn đến over-fitting và generalization. Chế độ này dựa nhiều vào training data và có thể được điều chỉnh theo dữ liệu.

4. Lasso Regression

LASSO là viết tắt của Least Absolute Selection Shrinkage Operator. Shrinkage được định nghĩa là một ràng buộc với các thuộc tính hoặc tham số.

Lasso hoạt động bằng cách tìm và áp dụng một ràng buộc đối với các thuộc tính của mô hình khiến cho hệ số hồi quy của một biến thu hẹp về 0.

Các biến có hệ số hồi quy bằng 0 sẽ bị loại khỏi mô hình

Do đó, Lasso regression về cơ bản là một phương pháp thu hẹp và lựa chọn biến số, và nó giúp xác định yếu tố dự báo nào là quan trọng nhất.

Ưu điểm [4]:
 - Tránh được over-fitting
Nhược điểm [4]:
Lasso sẽ chỉ chọn một feature từ một nhóm của các features có tương quan.
- Các tính năng được chọn có thể bị sai lệch nhiều

5. Decision tree regression (DTR)

DTR có thể được áp dụng cho tất cả những dữ loại kiểu số và kiểu categorical. DTR thực hiện rất tốt trong việc bắt các tương tác phi tuyến giữa các đối tượng và mục tiêu. DTR khá giống với tư duy của con người nên rất trực quan để hiểu dữ liệu. [4]

Vì thế, DT chính là cây mà mỗi node đại diện cho một feature, mỗi nhánh đại diện cho một quyết định và một lá đại diện cho một kết quả (giá trị số cho hồi quy)

Ưu điểm [4]:
- Dễ hiểu và diễn giải, trực quan
- Hoạt động tốt với biến kiểu số và biến kiểu phân loại
- Ít yêu cầu tiền xử lý dữ liệu: không cần mã hóa một lần, biến giả...
Nhược điểm [4]:
- Có xu hướng dễ bị over-fitting
- Một sự thay đổi nhỏ trong dữ liệu có thể gây ra khác biệt lớn ở cấu trúc cây, điều này tạo ra sự thiếu ổn định.

6. Random Forest (RF)

RF cũng là một thuật toán sử dụng rất rộng rãi cho bài toán hồi quy phi tuyến trong ML. Không giống như DTR, RF sử dụng nhiều decision trees (DT) cho việc dự đoán đầu ra. Dữ liệu điểm ngẫu nhiên được lựa chọn từ tập dữ liệu đầu vào, và một cây quyết định được xây dựng với chúng. Sau đó, một số DT được lập mô hình để dự đoán giá trị của bất cứ điểm dữ liệu mới nào [2].

Vì có nhiều DT, nhiều giá trị output sẽ được dự đoán thông qua một rừng thuật toán ngẫu nhiên. Bạn phải tìm giá trị trung bình của tất cả các giá trị dự đoán cho một điểm dữ liệu mới để tính toán kết quả cuối cùng. Hạn chế duy nhất của RF là nó đòi hỏi dữ liệu đầu vào nhiều hơn để training. Điều này xảy ra do có số lượng lớn các DT được ánh xạ theo thuật toán này, vì nó đòi hỏi nhiều sức mạnh tính toán hơn.

Ưu điểm [4]:
- Rất tốt trong việc học các quan hệ phức tạp và phi tuyến
- Dễ hiểu
- Hiệu suất cao
- Phù hợp với các yếu tố dự đoán tương quan
Nhược điểm [4]:
Có xu hướng dễ bị over-fitting
- Dùng nhiều nhóm rừng ngẫu nhiên nên làm chậm tốc độ tính toán và cần nhiều bộ nhớ

7. KNN model

KNN = K Nearest Neighbours, cũng là một thuật toán phổ biến dùng cho hồi quy phi tuyến trong ML. KNN giả định rằng điểm dữ liệu mới tương tự với các điểm dữ liệu hiện có. Giá trị trung bình của K lân cận gần nhất được lấy làm đầu vào cho thuật toán này. Các điểm hàng xóm trong KNN được đưa ra một trọng số cụ thể xác định đóng góp của chúng vào giá trị trung bình. Khi xác định giá trị của của điểm dữ liệu mới thông qua KNN, những điểm lân cận gần nhất sẽ có trọng số cao hơn những điểm ở xa.

Ưu điểm [7]:
- Trực quan và đơn giản
- KNN không có giả định
- Không có bước training
- KNN không ngừng phát triển: KNN dựa vào bộ nhớ, nên nó sẽ tự học và thích ứng khi thu thập một dữ liệu đào tạo mới
- Chỉ một Hyper parameter: KNN có thể mất một chút thời gian trong khi chọn hyper parameter đầu vào, nhưng sau đó, phần còn lại sẽ được căn chỉnh phù hợp
- Linh hoạt trong tiêu chí về khoảng cách lựa chọn. Có thể sử dụng khoảng cách Euclide, Hamming, Manhattan, Mikowshi
Nhược điểm [7]:
- Chậm
- Khi số lượng biến tăng lên, KNN gặp khó khăn trong việc dự đoán đầu ra
- Số lượng neighbors tối ưu
- Dữ liệu không cân bằng gây ra nhiều vấn đề với KNN
- Rất nhạy cảm với outlier
- Không có khả năng xử lý giá trị missing

8. Support Vector Machines (SVM)

SVM có thể dùng tốt cho cả hồi quy tuyến tính và phi tuyến trong ML. Trong không gian đa chiều, khi chúng ta có nhiều hơn 1 biến để xác định đầu ra, thì mỗi điểm trong 2D sẽ thành một vector trong đa chiều. Điều cần lưu ý là SVM hoàn toàn không phù hợp để dự đoán các giá trị cho tập training lớn. Khi dữ liệu bị noise, SVM cũng thể hiện không tốt. [3]

Ưu điểm [4]:
- Xử lý tốt với outliers
- Khả năng tổng quát hóa tuyệt vời
- Độ chính xác cao

Nhược điểm [4]:
- Không phù hợp với bộ dữ liệu lớn
- Hoạt động không tốt với dữ liệu bị nhiễu

9. Gaussian Processes Regression (GPS)
GPS được sử dụng rộng rãi trong ML bởi vì tính linh hoạt của chúng. Một quá trình Gaussian được xây dựng dựa trên các khái niệm cơ bản như phân phối chuẩn đa biến, mô hình phi tham số, hạt nhân (kernels), xác suất khớp và có điều kiện.
Mô hình GPS có thể dự đoán kết quả bằng cách sử dụng kiến thức trước đó (kernels) và cung cấp biện pháp không chắc chắn cho những dự đoán đó. Đây là một phương pháp học có giám sát được phát triển bởi cộng đồng khoa học máy tính và thống kê.
Do tính chất phi tham số của quá trình Gaussian, nó không bị ràng buộc bởi bất kỳ dạng hàm nào. Do đó, thay vì phân phối xác suất của các tham số của 1 hàm cụ thể, GPR sẽ tính toán phân phối xác suất cho tất cả các hàm phù hợp với dữ liệu [2].
Example of GPR. Source: Dominik Polzer [1]

10. Polynomial Regression (PR)
Hồi quy đa thức PR, là một thuật toán hồi quy mô hình hóa mối quan hệ giữa một biến độc lập x và một biến phụ thuộc y dưới dạng một đa thức bậc n. Phương trình cho hồi quy PR như sau:
y= b0 + b1x + b2x^2  + b3x^3 +…… +bnx^n
Nó còn được gọi là trường hợp đặc biệt của hồi quy đa tuyến trong ML. Bởi vì để làm cho nó thành hồi quy đa thức, một số thuật ngữ đã thức được thêm vào phương trình hồi quy đa tuyến. Đây là mô hình tuyến tính đã được sửa đổi để cải thiện độ chính xác. Tập dữ liệu được sử dụng để huấn luyện là phi tuyến tính. 

                                Example of PR. Source: Dominik Polzer [1]

-------------------
Bảng một số hyper parameters quan trọng nhất của một số phương pháp hồi quy

                                                Source: Dominik Polzer [1]

---------------------------

Tài liệu tham khảo

[1] Dominik Polzer, 2021. 7 of the most used regression algorithms and how to choose the right one. Towardsdatascience. Link: https://towardsdatascience.com/7-of-the-most-commonly-used-regression-algorithms-and-how-to-choose-the-right-one-fc3c8890f9e3

[2] Ajay Ohri, 2022. 10 popular regression algorithms in ML of 2022. Jigsaw.  https://www.jigsawacademy.com/popular-regression-algorithms-ml/

[3] Surbhi_22, 2021. A quick overview of regression algorithms in ML. Analytics Vidhya.  https://www.analyticsvidhya.com/blog/2021/01/a-quick-overview-of-regression-algorithms-in-machine-learning/

[4] Gaurav Sharma, 2021. 5 regression algorithms you should know - Introductory guide!. Analytics Vidhya. https://www.analyticsvidhya.com/blog/2021/05/5-regression-algorithms-you-should-know-introductory-guide/

[5]. Gokul Elumalai, 2019. Pros and cons of common ML algorithms. Medium.  https://medium.com/@gokul.elumalai/pros-and-cons-of-common-machine-learning-algorithms-45e05423264f

[6] Pros and cons of neural networks.  https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781788397872/1/ch01lvl1sec27/pros-and-cons-of-neural-networks

[7] Genesis, 2018. Pros and Cons of KNN. https://www.fromthegenesis.com/pros-and-cons-of-k-nearest-neighbors/

Top 10 thuật toán hồi quy phổ dụng trong Machine Learning Top 10 thuật toán hồi quy phổ dụng trong Machine Learning Reviewed by VinhHD on 09:37 Rating: 5

Không có nhận xét nào:

ads 728x90 B
Được tạo bởi Blogger.