Học máy (Machine Learning, ML) là một nhánh của trí tuệ nhân tạo, cho phép máy tính tự học từ dữ liệu để đưa ra dự đoán hoặc quyết định mà không cần lập trình cụ thể cho từng tác vụ.
Thay vì chạy theo những quy tắc logic cứng nhắc do con người viết sẵn, hệ thống học máy tự trích xuất các mẫu (patterns) từ dữ liệu lịch sử và giỏi dần lên qua trải nghiệm.
Máy không được lập trình để biết sẵn đáp án — nó học ra đáp án từ chính dữ liệu.
Học máy là gì và máy tính "học" như thế nào?
Với những bài toán quá phức tạp để liệt kê hết quy tắc, học máy (Machine Learning) là bước nhảy quan trọng so với lập trình truyền thống (rule-based). Năm 1959, Arthur Samuel định nghĩa học máy là lĩnh vực cho máy tính khả năng học hỏi mà không cần được lập trình một cách tường minh.

Cách máy "học" mô phỏng đúng cách con người tích lũy kinh nghiệm, qua ba bước:
- Thu thập dữ liệu huấn luyện (training data). Nạp dữ liệu lịch sử — số liệu, văn bản, hình ảnh — vào hệ thống.
- Huấn luyện thuật toán. Thuật toán dò tìm các đặc trưng và quy luật tiềm ẩn trong dữ liệu đó.
- Dự đoán. Đưa mô hình đã huấn luyện ra xử lý dữ liệu mới chưa từng gặp.
Hệ thống gợi ý của Amazon học từ lịch sử mua hàng để đoán nhu cầu người dùng; bộ lọc thư rác (spam) học đặc điểm của email rác để tự động loại bỏ. Nói gọn, ta đang dạy máy dựng một hàm ánh xạ từ đầu vào sang đầu ra, học thẳng từ dữ liệu thực tế.
Có những loại học máy chính nào?
Chọn phương pháp học nào phụ thuộc trực tiếp vào bản chất dữ liệu bạn có: dữ liệu đã gắn nhãn hay chưa.

Học có giám sát (Supervised Learning)
Mô hình được huấn luyện trên dữ liệu đã gắn nhãn (labeled data) — mỗi đầu vào đều biết trước kết quả đầu ra tương ứng.
- Cơ chế: thiết lập quan hệ giữa biến độc lập (features) và biến mục tiêu (target).
- Ví dụ: mô hình dự đoán giá nhà từ diện tích và số phòng, trong đó giá nhà (Y) là nhãn đã biết.
Học không giám sát (Unsupervised Learning)
Dữ liệu đầu vào không có nhãn. Thuật toán phải tự tìm ra cấu trúc, quy luật ẩn hoặc các nhóm dữ liệu tương đồng.
- Mục tiêu: phân cụm (clustering) hoặc giảm chiều dữ liệu.
- Ví dụ: xếp khách hàng vào các nhóm hành vi khác nhau mà không biết trước tên nhóm.
Học tăng cường (Reinforcement Learning, RL)
Hệ thống học bằng cách tương tác trực tiếp với môi trường để tối đa hóa phần thưởng nhận được.
- Cơ chế: tác nhân (agent) thực hiện hành động, nhận phần thưởng (reward) khi làm đúng và hình phạt (penalty) khi làm sai, rồi tự điều chỉnh chiến lược.
- Ví dụ: huấn luyện robot tìm đường trong mê cung, hay thuật toán tự chơi cờ.
Phân loại (Classification) khác gì so với Hồi quy (Regression)?
Xác định dạng đầu ra là việc phải làm trước khi chọn thuật toán, vì hai dạng bài toán này cần cách tiếp cận khác hẳn nhau.
- Phân loại (classification): dự đoán nhãn danh mục rời rạc. Ví dụ: email là "spam" hay "không phải spam".
- Hồi quy (regression): dự đoán giá trị số liên tục trên một thang đo. Ví dụ: dự báo nhiệt độ hay giá cổ phiếu.
Các thuật toán học máy phổ biến hoạt động ra sao?
Từ mô hình tuyến tính cơ bản đến các mô hình kết hợp (ensemble), mỗi thuật toán có thế mạnh riêng.
- Hồi quy tuyến tính (Linear Regression). Mô hình hóa quan hệ giữa các biến theo dạng
Y = β₀ + β₁X₁ + … + u, dùng phương pháp bình phương tối thiểu (OLS) để cực tiểu hóa tổng bình phương sai số. Để OLS cho kết quả tốt nhất (BLUE), dữ liệu cần thỏa năm giả định: tuyến tính, mẫu ngẫu nhiên, ngoại sinh (exogeneity), phương sai sai số không đổi (homoskedasticity) và không có đa cộng tuyến hoàn hảo. - Hồi quy Logistic (Logistic Regression). Dùng cho bài toán phân loại nhị phân. Hàm Sigmoid ép đầu ra về một xác suất nằm trong khoảng
[0, 1]. - Cây quyết định (Decision Trees). Tách dữ liệu bằng một chuỗi câu hỏi logic. Tiêu chí chia nhánh dựa trên chỉ số Gini hoặc Entropy, nhằm tối đa độ tinh khiết (node purity) tại mỗi lá.
- Rừng ngẫu nhiên (Random Forest). Dùng kỹ thuật bagging (bootstrap aggregation) để dựng nhiều cây quyết định độc lập trên các tập con dữ liệu khác nhau. Kết quả cuối là trung bình cộng (hồi quy) hoặc bỏ phiếu đa số (phân loại), nhờ đó giảm phương sai (variance) và hạn chế quá khớp.
- XGBoost (Extreme Gradient Boosting). Một thuật toán boosting mạnh, dựng cây tuần tự để sửa lỗi của cây trước. XGBoost vượt trội nhờ dùng đạo hàm bậc hai để xác định hướng tối ưu chính xác hơn, cộng với khả năng tính toán song song và thuật toán Approximate Greedy để tìm điểm chia nhánh hiệu quả trên dữ liệu lớn.
Làm thế nào để tối ưu hóa hiệu suất của mô hình?
Hiệu suất của một mô hình được quyết định ở khâu tối ưu hóa toán học và xử lý đặc trưng.

- Hàm chi phí (cost function). Thước đo sai số của mô hình — thường là MSE cho hồi quy và Log Loss cho phân loại. Mục tiêu của huấn luyện là tìm bộ tham số khiến hàm này nhỏ nhất.
- Lao dốc gradient (gradient descent). Thuật toán tối ưu lặp đi lặp lại. Hãy hình dung một người bị bịt mắt tìm đường xuống đáy thung lũng (điểm cực tiểu) bằng cách lần theo độ dốc dưới chân. Ngày nay Adam Optimizer thường được chọn làm mặc định nhờ cơ chế tự điều chỉnh tốc độ học (adaptive learning rate) cho từng tham số.
- Lựa chọn đặc trưng (feature selection). Các kỹ thuật điều chuẩn (regularization) như Lasso (L1) ép hệ số của những biến ít quan trọng về đúng bằng 0, giúp mô hình gọn hơn và bớt quá khớp.
- Chuẩn hóa dữ liệu (feature scaling). Cần thiết cho các thuật toán dựa trên khoảng cách (KNN, SVM) và cho gradient descent, để mô hình hội tụ nhanh. Một lưu ý quan trọng: các mô hình dựa trên cây (decision tree, random forest) không cần chuẩn hóa, vì cách chia nhánh của chúng không phụ thuộc vào thang đo của biến.
Làm sao để biết một mô hình học máy có hoạt động tốt hay không?
Để mô hình chạy ổn định khi đưa vào thực tế (production), điều cần đánh giá là khả năng tổng quát hóa — tức làm tốt trên dữ liệu chưa từng thấy.
- Chỉ số đo lường. MSE, R-squared cho hồi quy; Accuracy, Precision, Recall, F1-score cho phân loại.
- Kiểm chứng chéo (cross-validation). Kỹ thuật K-fold chia dữ liệu thành K phần, luân phiên dùng để huấn luyện và kiểm tra, nhờ đó đánh giá khách quan hơn thay vì phụ thuộc vào một tập kiểm tra cố định.
- Đánh đổi độ chệch – phương sai (Bias–Variance). Mô hình quá đơn giản thì độ chệch cao (underfitting); quá phức tạp thì phương sai cao (overfitting). Việc của kỹ sư là tìm điểm cân bằng để mô hình giữ được độ ổn định trên dữ liệu mới.
Thuật toán Hồi quy tuyến tính có những giới hạn nào?
Ngay cả thuật toán nền tảng nhất cũng có điểm yếu cần biết trước khi dùng:
- Giả định tuyến tính. Hiếm khi khớp với các quan hệ phi tuyến phức tạp ngoài đời thực.
- Điểm ngoại lai (outliers). OLS cực kỳ nhạy với dữ liệu bất thường — chỉ vài điểm lệch cũng đủ kéo lệch cả đường dự báo.
- Đa cộng tuyến. Khi các biến độc lập tương quan mạnh với nhau, việc ước lượng tham số trở nên thiếu ổn định.