Bỏ qua đến nội dung

Các Thuật Toán Machine Learning Phổ Biến Trong Data Science

Bản đồ 8 thuật toán machine learning phổ biến cho người mới: hồi quy, phân loại, phân nhóm và khi nào nên chuyển sang mạng nơ-ron — kèm công thức chọn thuật toán cho dữ liệu dạng bảng.

Phong Nguyen
Phong Nguyen

PNTECH Writer · 13/09/2026

0 lượt xem11 phút đọc

Các Thuật Toán Machine Learning Phổ Biến Trong Data Science

Bạn có bảng dữ liệu 10.000 dòng — bắt đầu từ thuật toán nào?

Bạn vừa xuất file khách hàng ra một bảng Excel 10.000 dòng, mở lên và tự hỏi: "Giờ dùng thuật toán gì đây?". Câu trả lời ngắn: không có thuật toán nào mạnh nhất cho mọi trường hợp — quan trọng là bạn muốn máy tính trả lời câu hỏi gì. Muốn dự đoán một con số (doanh thu tháng tới) là một đường đi, muốn phân loại email rác là đường khác, muốn tự phát hiện nhóm khách hàng lại là chuyện khác nữa.

Bài viết này là một bản đồ 7–8 thuật toán machine learning phổ biến nhất mà người mới nên biết. Mỗi thuật toán được gắn với một bài toán đời thường quen thuộc, kèm câu trả lời "nên dùng khi nào, nên tránh khi nào" để bạn chọn đúng cho dự án đầu tiên mà không bị choáng bởi hàng chục cái tên tiếng Anh.

Machine Learning là gì, và chia thành mấy nhóm?

Machine learning (gọi tắt là ML, tiếng Việt hay dịch là "học máy" hay "máy học") là cách cho máy tính học từ dữ liệu có sẵn để tự đưa ra dự đoán hoặc phân nhóm — thay vì bạn phải viết cứng từng quy tắc "nếu… thì…". Ví dụ thay vì lập trình "email có chữ 'trúng thưởng' + link lạ → rác", bạn đưa cho máy 10.000 email đã gán nhãn rác/không rác, máy sẽ tự tìm quy luật [S2].

Theo cách học, người ta chia thuật toán thành 3 nhóm lớn [S1]:

  • Học có thầy (Supervised Learning) — dữ liệu đã có "đáp án" đi kèm, như bảng khách hàng có cột "đã mua/chưa mua". Máy học từ đáp án này rồi dự đoán cho khách mới.
  • Học không thầy (Unsupervised Learning) — dữ liệu không có đáp án, máy tự tìm cấu trúc ẩn, ví dụ tự phân khách thành 3 nhóm có hành vi giống nhau.
  • Học tăng cường (Reinforcement Learning) — máy học qua thử-sai và được thưởng/phạt, giống như chơi game lặp đi lặp lại để tích điểm. Nhóm này chuyên sâu, ít gặp trong dự án SME nên bài này bỏ qua.

Trong thực tế khoảng 80% bài toán doanh nghiệp rơi vào 2 nhóm đầu, nên bài viết tập trung vào đó.

Sơ đồ 3 nhóm thuật toán machine learning

Chọn thuật toán sai đa số đến từ chọn nhầm bài toán — hãy mô tả được "tôi cần dự đoán cái gì, trên dữ liệu dạng nào" trước khi nghĩ tên thuật toán.

Nhóm hồi quy: khi bạn cần dự đoán một con số

Bạn cần dự đoán một con số liên tục (giá nhà, doanh thu, nhiệt độ ngày mai) → đó là bài toán hồi quy (regression). Nghĩ đơn giản: máy sẽ tìm một "công thức" để biến các yếu tố đầu vào thành con số đầu ra.

Hồi quy tuyến tính (Linear Regression) — thuật toán căn bản nhất, ý tưởng là vẽ một đường thẳng đi "gần" qua tất cả các điểm dữ liệu [S6]. Ví dụ bạn có 200 căn nhà với diện tích và giá bán, máy sẽ vẽ đường thẳng mà từ đó bạn suy ra: nhà 70 m² ước tính 2,3 tỷ. Nên dùng khi quan hệ giữa biến vào và biến ra gần như đường thẳng (diện tích tăng thì giá tăng đều). Tránh khi dữ liệu cong, có nhiều yếu tố tương tác phức tạp, vì đường thẳng sẽ không khớp.

Cây quyết định hồi quy (Decision Tree Regressor) — chia không gian dữ liệu thành từng ô nhỏ, mỗi ô cho một con số dự đoán [S3]. Ví dụ: diện tích > 60 m² VÀ quận trung tâm → giá 3 tỷ, còn lại → 1,8 tỷ. Ưu điểm là dễ đọc, dễ giải thích cho sếp hoặc đối tác không chuyên. Nhược điểm là dễ "học vẹt" (overfit — thuật ngữ chỉ mô hình học quá kỹ dữ liệu cũ, gặp dữ liệu mới thì đoán sai) nếu để cây phân nhánh quá sâu.

Random Forest & Gradient Boosting (XGBoost, LightGBM) — thay vì dùng một cây, người ta dụng hàng trăm cây rồi lấy trung bình ý kiến. Kết quả thường ổn định hơn hẳn một cây đơn lẻ [S3][S4]. Đây là lựa chọn mặc định của nhiều kỹ sư khi gặp dữ liệu dạng bảng (Excel/CSV). Lưu ý: các thư viện XGBoost, LightGBM cập nhật khá nhanh, khi cài nên kiểm tra trang chính hãng để dùng phiên bản ổn định.

Nhóm phân loại: khi đầu ra là "có/không" hoặc nhãn rời rạc

Bạn cần quyết định một mẫu dữ liệu thuộc nhóm nào (email rác hay không, khách có rời bỏ hay không, ảnh là mèo hay chó) → đó là bài toán phân loại (classification).

Hồi quy logistic (Logistic Regression) — dù tên có chữ "hồi quy" nhưng thực ra là thuật toán phân loại, chuyên dùng cho câu hỏi có/không [S7]. Ví dụ dự đoán email rác: đầu vào là các đặc điểm email, đầu ra là xác suất email đó là rác. Xác suất > 0,5 → rác. Đơn giản, chạy nhanh, là baseline (mô hình nền đơn giản nhất để so sánh) tốt để bắt đầu.

Cây quyết định & Random Forest phân loại — cùng triết lý với cây hồi quy ở trên, chỉ khác là lá cây cho một nhãn rời rạc thay vì một con số. Rất phù hợp khi cần giải thích "vì sao khách hàng X bị đánh dấu rời bỏ" [S3].

K-Nearest Neighbors (KNN) — phân loại theo láng giềng gần nhất. Ý tưởng: nhìn K khách hàng giống khách hiện tại nhất, nếu đa số họ đã mua thì dự đoán khách hiện tại cũng mua. Đơn giản, dễ hiểu, nhưng khi dữ liệu lớn thì chậm vì phải so sánh với từng điểm.

Support Vector Machine (SVM) — tìm một đường ranh giới sao cho khoảng cách tới các điểm gần nhất là lớn nhất. Phù hợp với dữ liệu ít chiều hoặc bài toán phân loại văn bản (email, bình luận) [S4]. Với dữ liệu hàng triệu dòng thì SVM chậm, nên cân nhắc.

Minh họa thuật toán phân loại machine learning

Nhóm phân nhóm và giảm chiều: khi dữ liệu không có đáp án

Bạn không có cột nhãn nào cả — ví dụ muốn hiểu "khách hàng của mình chia thành mấy nhóm hành vi?" — đó là bài toán phân nhóm (clustering), thuộc nhóm học không thầy [S1].

K-Means — thuật toán phổ biến nhất: bạn chọn trước muốn chia K nhóm, máy sẽ gán mỗi khách vào nhóm gần trung tâm nhất [S4]. Ví dụ K=3, bạn có thể thu được "khách mua nhiều", "khách ít vào", "khách vào nhưng không mua". Nhược điểm: phải chọn K trước, và các nhóm phải có hình cầu gọn.

Phân cụm phân cấp (Hierarchical Clustering) — xây dựng cây nhóm từ tổng quát đến chi tiết, mỗi lần gộp 2 cụm gần nhất. Phù hợp khi bạn muốn xem cấu trúc tổ chức và chọn số nhóm linh hoạt sau.

DBSCAN — gom nhóm theo mật độ: vùng nào đông điểm thì thành nhóm, điểm nào quá lẻ thì bị đánh dấu nhiễu (outlier). Hữu ích khi dữ liệu có nhiều điểm lạ hoặc hình dạng nhóm không tròn.

PCA (Principal Component Analysis) — không phải thuật toán phân nhóm mà là kỹ thuật giảm chiều (nén nhiều biến số thành vài biến tổng hợp). Ví dụ bạn có 10 câu hỏi khảo sát, PCA gộp lại thành 2 trục "thái độ tích cực" và "thái độ tiêu cực" để vẽ biểu đồ 2D dễ nhìn.

Không có nhãn không có nghĩa là "không làm được" — phân nhóm và giảm chiều là cách khám phá dữ liệu khi bạn chưa biết phải hỏi gì.

Mạng nơ-ron và Deep Learning: khi nào nên chuyển sang?

Mạng nơ-ron (Neural Network) là họ thuật toán lấy cảm hứng từ cách não bộ xử lý, xếp thành nhiều lớp "nơ-ron" nối với nhau. Khi mạng có nhiều lớp sâu, người ta gọi là deep learning (học sâu) [S5].

Với người mới, nguyên tắc đơn giản là: dữ liệu dạng bảng (Excel, CSV) thì cây quyết định và Random Forest vẫn thường thắng. Mạng nơ-ron chỉ nên dùng khi:

  • Dữ liệu là ảnh, video → dùng CNN (Convolutional Neural Network).
  • Dữ liệu là chuỗi thời gian, văn bản ngắn → dùng RNN/LSTM.
  • Dữ liệu là văn bản dài, ngôn ngữ tự nhiên → dùng Transformer, nền tảng của các mô hình ngôn ngữ lớn hiện nay.

Mạng nơ-ron cần nhiều dữ liệu hơn và thường cần GPU (card đồ họa chuyên dụng để tăng tốc tính toán) để chạy trong thời gian chấp nhận được. Vì vậy người mới không nên nhảy vào deep learning đầu tiên — hãy vững các thuật toán truyền thống trước, rồi hãy chuyển sang.

Cách chọn thuật toán cho người mới

Nếu bạn đang bối rối "nên bắt đầu từ đâu", công thức 4 dòng sau đủ dùng cho phần lớn dự án đầu tiên:

  • Cần dự đoán một con số (giá, doanh thu, số lượng) → phân tích dữ liệu với python và bắt đầu với Linear Regression hoặc Random Forest Regressor.
  • Cần phân loại có/không hoặc nhãn rời rạc → bắt đầu với Logistic Regression hoặc Decision Tree Classifier.
  • Dữ liệu không có nhãn, muốn khám phá nhóm → dùng K-Means hoặc PCA.
  • Dữ liệu ảnh, giọng nói, văn bản dài → mới cân nhắc mạng nơ-ron (CNN, Transformer).

Một nguyên tắc nữa người mới hay bỏ qua: luôn chạy một baseline (mô hình nền đơn giản nhất, kiểu "đoán ngẫu nhiên" hoặc "đoán theo trung bình") trước khi thử thuật toán phức tạp. Nếu baseline đã cho kết quả tốt thì không cần đi xa hơn; nếu thuật toán phức tạp không thắng baseline thì có vấn đề cần xem lại.

Sơ đồ chọn thuật toán machine learning cho người mới

Tóm lại và bước tiếp theo

Tám thuật toán phổ biến ở trên không phải để học thuộc lòng, mà để bạn có một bản đồ khởi đầu: biết khi nào nên dùng cái nào, khi nào nên tránh. Hồi quy tuyến tính và hồi quy logistic là hai thuật toán nên nắm đầu tiên vì dễ hiểu và chạy nhanh; Random Forest và XGBoost là "vũ khí" mặc định cho dữ liệu dạng bảng; K-Means và PCA giúp khám phá dữ liệu chưa gán nhãn; mạng nơ-ron để dành cho ảnh, giọng nói và văn bản.

Cuối cùng, đừng quên bài này là bản đồ tổng quan, không thay thế một khóa học chính thống. Nếu bạn đang bắt đầu với một thuật toán cụ thể hoặc có bài toán thực tế muốn gợi ý hướng đi, hãy để lại bình luận bên dưới — đội ngũ PN Tech sẽ cùng bạn gợi ý hướng phù hợp nhất.

  • k-means
  • thuật toán machine learning
  • random forest
  • data science
  • deep learning
  • machine learning cơ bản
  • phân nhóm
  • hồi quy tuyến tính
  • XGBoost
  • phân loại

Xem phần mềm — hoặc nhận tư vấn

Đọc xong thì chọn: phần mềm PN, công cụ khuyên dùng, hoặc nhờ mình làm theo nhu cầu.