Khi bắt đầu làm Machine Learning, nhiều bạn thường bối rối ở bước tiền xử lý dữ liệu:
“Nên dùng Z-score hay Min-Max? Chúng khác gì nhau? Khi nào nên dùng cái nào?”
Sự lúng túng này là bình thường vì scaling là bước thuộc nhóm kiến thức nền trong ML, nhưng ảnh hưởng trực tiếp đến chất lượng mô hình. Bài viết dưới đây giúp bạn phân biệt hai kỹ thuật này theo cách gọn, dễ hiểu và gắn với thực tế dự án.
Vì sao cần chuẩn hóa dữ liệu?
Các thuật toán ML như Logistic Regression, KNN, SVM, PCA… đều hoạt động trong không gian nhiều chiều.
Nếu từng đặc trưng có “đơn vị đo” quá khác nhau:
đặc trưng lớn áp đảo đặc trưng nhỏ
gradient khó hội tụ
mô hình khó học được quan hệ thật
Do đó, chuẩn hóa là bước quan trọng trong pipeline — một nội dung quen thuộc trong nhóm ML cơ bản, ETL và feature engineering.
Min-Max Scaling là gì?
Min-Max Scaling biến dữ liệu về khoảng cố định, thường là từ 0 đến 1.
Cách hiểu đơn giản:
giá trị nhỏ nhất → 0
giá trị lớn nhất → 1
các giá trị còn lại “nằm” giữa hai đầu theo tỉ lệ
Min-Max giống như việc “co giãn” dữ liệu vào một khung chuẩn, giữ nguyên hình dạng phân phối nhưng thay đổi phạm vi.
Z-score Scaling (Standardization) là gì?
Z-score Scaling đưa dữ liệu về dạng có:
trung bình = 0
độ lệch chuẩn = 1
Cách hình dung:
thay vì ép dữ liệu vào một khoảng, nó “đặt dữ liệu về tâm”
đo xem mỗi điểm cách trung bình bao nhiêu độ lệch chuẩn
phù hợp khi dữ liệu có phân phối không cố định hoặc có outlier nhẹ
Khác nhau ở bản chất
Khía cạnh
Min-Max Scaling
Z-score Scaling
Phạm vi sau khi chuẩn hóa
Giới hạn (0–1 hoặc 0–a)
Không cố định
Ảnh hưởng của outlier
Nhạy, dễ bị kéo giãn
Ổn định hơn
Giữ nguyên phân phối
Có
Có nhưng thay đổi tâm và độ trải
Phù hợp cho
Mô hình không chịu outlier, dữ liệu ổn định
Mô hình dựa trên khoảng cách, gradient, hoặc có phân phối bất định
Ví dụ dễ hình dung
Giả sử bạn có 2 đặc trưng:
“Diện tích” từ 30 → 200
“Số phòng” từ 1 → 4
Nếu không scaling, diện tích dễ áp đảo, khiến mô hình dựa quá nhiều lên đặc trưng này.
Min-Max sẽ đưa cả hai đặc trưng về 0–1 → giữ hình dạng phân phối.
Z-score sẽ xem mỗi giá trị lệch trung bình bao nhiêu → phù hợp khi dữ liệu không “sạch”.
Khi làm dự án AI/ML, nên dùng cái nào?
Tuỳ bài toán:
Khi nào nên dùng Min-Max?
Neural Networks dùng activation dạng sigmoid/tanh
Bài toán cần giá trị nằm trong khoảng cố định
Dữ liệu không có outlier mạnh
Muốn giữ nguyên hình dạng phân phối
Khi nào nên dùng Z-score?
Mô hình dựa trên khoảng cách: KNN, K-means
Thuật toán tối ưu hóa gradient: Linear Regression, Logistic Regression
Dữ liệu phân phối không ổn định hoặc có outlier vừa phải
Khi xử lý dữ liệu nhiều chiều (modules Pre-DL, DL1-2)
Liên hệ đến kiến thức trong lộ trình AIO
ETL – Data Engineering basics: bước chuẩn hóa nằm trong quy trình làm sạch dữ liệu.
Feature engineering: scaling là kỹ thuật cơ bản để giúp mô hình học ổn định.
ML1–ML2: nhiều thuật toán phụ thuộc mạnh vào độ lớn của feature.
Deep Learning: normalization giúp gradient ổn định hơn.
Vision/NLP: nhiều pipeline xử lý ảnh hoặc văn bản cũng áp dụng normalization trước khi huấn luyện.
Những nhóm kiến thức này giúp bạn nhìn scaling không phải là “bước phụ”, mà là phần cốt lõi của pipeline.
Lời khuyên cho người mới bắt đầu
Bạn có thể thử áp dụng cả hai kỹ thuật trên một dataset nhỏ và quan sát sự khác biệt.
Hãy kiểm tra phân phối của từng feature trước khi chọn phương pháp.
Thử nghiệm với các mô hình khác nhau để cảm nhận lựa chọn scaling ảnh hưởng thế nào đến quá trình học.
Những trải nghiệm đơn giản này giúp bạn xây dựng trực giác tốt hơn khi xử lý dữ liệu thực tế.