10 thuật toán Machine Learning hàng đầu được giới khoa học dữ liệu sử dụng
12/07/2021 Đăng bởi: Hà Thu
Hồi quy tuyến tính, Naive Bayes, thuật toán Quantization về Vector, Random Forest và Gagging,... là những thuật toán Machine Learning hàng đầu được giới khoa học dữ liệu sử dụng. Nếu là người mới học về lĩnh vực này, đừng vội bỏ qua những chia sẻ dưới đây bạn nhé!
Hồi quy tuyến tính(Linear Regression)
Đây là một trong những thuật toán nổi tiếng được hiểu rõ nhất trong Machine Learning và thống kê. Mô hình tiên đoán quan tâm chủ yếu đến việc giảm thiểu sai sót hoặc đưa ra những dự đoán chính xác nhất có thể với chi phí giải trình.
Hồi quy tuyến tính(Linear Regression)
Biểu diễn hồi quy tuyến tính là phương trình cho biết 1 đường thẳng mô tả phù hợp nhất mối quan quan hệ giữa biến đầu vào(x) và biến đầu ra(y) bằng cách tìm các trọng số cụ thể cho x được gọi là các hệ số(B).
Các kỹ thuật khác nhau có thể được dùng để tìm mô hình hồi quy tuyến tính từ dữ liệu. Thuật toán này đã được phát minh khoảng hơn 200 năm và được nghiên cứu rộng rãi.
Khi dùng kỹ thuật này có một số quy tắc tốt là loại bỏ các biến giống nhau và loại bỏ bớt yếu tố xao lãng từ dữ liệu nếu có thể.
Hồi quy Logistic(Logistic Regression)
Hồi quy Logistic là thuật toán được Machine Learning mượn từ lĩnh vực thống kê. Đây là phương thức tốt nhất cho các vấn đề phân loại nhị phân.
Thuật toán này có mục đích là tìm ra các giá trị cho hệ số trọng lượng mối biến đầu vào. Dự đoán đầu ra được chuyển đổi bằng cách dùng 1 hàm không tuyến tính được gọi là hàm Logistic.
Hàm này sẽ biến đổi bất kỳ giá trị nào thành 0-1, rất hữu ích vì bạn có thể áp dụng một quy tắc cho đầu ra của hàm Logistic để tăng giá trị cho 0 và 1, đồng thời dự đoán 1 lớp giá trị.
Các dự án được quy hồi Logistic thực hiện có thể được dùng như là xác suất của 1 ví dụ dữ liệu nhất định thuộc tầng lớp 0 hoặc 1. Điều này đối với các vấn đề khi cần đưa ra nhiều lý do cho 1 dự đoán có thể sẽ hữu ích.
Hoạt động của thuật toán này tốt hơn khi bạn loại bỏ các thuộc tính không liên quan đến biến đầu ra và các thuộc tính giống nhau.
Phân tích phân loại tuyến tính(Linear Discriminant Analysis)
Đối với các vấn đề phân loại nhiều hơn 2 lớp, bạn nên ưu tiên đến thuật toán phân tích phân loại tuyến tính.
Phân tích phân loại tuyến tính(Linear Discriminant Analysis)
Sự biểu hiện của thuật toán này khá đơn giản, gồm các thuộc tính thống kê của dữ liệu được tính cho mỗi lớp.
Dự đoán được thực hiện thông qua phương pháp tính giá trị phân biệt cho mỗi lớp, sau đó dự đoán cho lớp vừa được tính có giá trị lớn nhất.
Tốt nhất, bạn nên loại bỏ các giá trị ngoại vi khỏi dữ liệu trước vì kỹ thuật giả định rằng dữ liệu có 1 phân bố Gaussian.
Cây phân loại và hồi quy(Classification and regression trees)
Cây phân loại là thuật toán có vai trò rất quan trọng trong mô hình tiên đoán Machine Learning. Sự biểu diễn của nó là 1 cây nhị phân. Mỗi node sẽ đại diện cho 1 biến đầu vào(x) và 1 điểm phân chia trên biến đó.
Các node lá của cây phân loại lại chứa 1 biến đầu ra(y) được dùng để dự đoán. Chúng được thực hiện bằng cách đi trên các nhánh của cây đến khi 1 node lá đưa ra giá trị.
Naive Bayes - thuật toán đơn giản nhưng mạnh mẽ
Về mô hình tiên đoán, Naive Bayes là thuật đoán đơn giản nhưng rất mạnh mẽ. Từ dữ liệu của bạn, mô hình sẽ có 2 loại xác suất được tính trực tiếp là: xác suất của mỗi lớp và xác suất có điều kiện cho mỗi lớp giá trị x.
Naive Bayes - thuật toán đơn giản nhưng mạnh mẽ
Sở dĩ, thuật toán này được gọi là Naive vì nó giả định rằng mỗi x(biến đầu vào) đều độc lập – một giả định mạnh mẽ và không thực tế đối với dữ liệu. Nhưng kỹ thuật này lại mang lại hiệu quả trên 1 phạm vi rộng lớn, đối với các vấn đề phức tạp.
Thuật toán KNN
KNN là một thuật toán đơn giản và hiệu quả, mô hình đại diện của nó là toàn bộ dữ liệu tập huấn. Dự đoán được thiện hiện cho 1 điểm dữ liệu mới thông qua cách tìm kiếm toàn bộ tập đào tạo cho hầu hết các ví dụ giống nhau và tóm tắt biến đầu ra cho các ví dụ.
Nếu các thuộc tính của bạn có cùng kích cỡ, kỹ thuật đơn giản nhất là dùng khoảng cách Euclide, giúp bạn có thể tính toán trực tiếp dựa trên sự khác biệt giữa mỗi biến đầu vào.
Thuật toán Quantization về Vector
Quantization về Vector là thuật toán mạng thần kinh nhân tạo cho phép người dùng lựa chọn có bao nhiêu trường hợp đào tạo để treo lên và tìm hiểu đúng những trường hợp này sẽ ra sao.
Thuật toán Quantization về Vector
Sự biểu diễn cho thuật toán này là tập hợp các codebook vector, được chọn ngẫu nhiên từ đầu và thích nghi để tóm tắt tốt nhất tập dữ liệu qua 1 số lần lặp của thuật toán.
Sau khi học được, về cơ bản các vector có thể được dùng để tạo ra các dự đoán giống với thuật toán KNN. Nếu thấy KNN mang lại kết quả tốt trên tập dữ liệu, hãy thử dùng sang Quantization về Vector để giảm yêu cầu về bộ nhớ để lưu trữ tất cả tập dữ liệu đào tạo.
Thuật toán Support Vector Machines
Đây có lẽ là 1 trong những thuật toán được dùng phổ biến và được nhắc đến nhiều nhất. Trong thuật toán này, một Hyperplane(đường phân chia không gian biến đầu vào) được chọn để phân tách tốt nhất các điểm trong không gian biến đầu vào dựa theo lớp của chúng.
Trong 2 chiều, có thể hình dung đây như 1 đường thẳng và coi rằng mọi biến đầu vào có thể được tách hoàn toàn bằng dòng này. Thuật toán Support Vector Machines tìm ra các hệ số dẫn đến sự phân tách tốt nhất theo Hyperplane của các lớp.
Có thể nói, thuật toán Support Vector Machines là 1 trong những phương pháp phân loại hàng đầu mạnh mẽ nhất và nên thử trên tập dữ liệu của bạn.
Random Forest và Gagging
Một trong những thuật toán Machine Learning phổ biến nhất và mạnh nhất là Random Forest. Ngoài ra, nó còn được gọi là Bagging hoặc Bootstrap Aggregation.
Random Forest và Gagging
Bootstrap là phương pháp thống kê mạnh mẽ để ước tính số lượng từ một mẫu dữ liệu. Còn trong Bagging sẽ sử dụng cách tiếp cận tương tự. Tuy nhiên, thay vì để ước lượng toàn bộ mô hình thống kê, người ta thường dùng cây phân loại.
Random Forest là một sự tinh chỉnh dựa trên phương pháp tiếp cận nơi các cây phân loại được tạo ra để thực hiện việc phân chia tối ưu bằng cách đưa ra sự ngẫu nhiên.
AdaBoost và Boosting
Boosting là kỹ thuật đồng bộ để nỗ lực tạo ra một phương pháp phân loại mạnh từ những cách phân loại yếu. Bằng cách xây dựng mô hình từ dữ liệu đào tạo, sau đó sẽ tạo ra một mô hình khác cố gắng sửa lỗi như mô hình đầu tiên.
AdaBoost là thuật toán Boosting thành công đầu tiên được phát triển nhằm mục đích phân loại nhị phân. Thuật toán này được sử dụng với các cây phân loại ngắn.
Sau khi cây đầu tiên được hình thành, trên mỗi trường hợp huấn luyện, hiệu suất của cây được dùng để đo độ chú ý của cây kế tiếp.
Những dữ liệu đào tạo khó dự đoán sẽ có trọng lượng hơn và ngược lại. Các mô hình được lặp lại theo tuần tự và mỗi lần cập nhật các trọng số sẽ ảnh hưởng đến việc học được thực hiện bởi cây tiếp theo trong chuỗi.
Theo Topdev.vn
4.9/5 (103 votes)