Chuẩn hóa (Normalization) biến đổi dữ liệu về thang đo chung. L2 Normalization (Euclidean norm).scale từng mẫu (row) sao cho chuẩn Euclidean = 1: ||x||₂ = 1.
Ví dụ với sklearn.preprocessing.normalize
import numpy as np
from sklearn import preprocessing
input_data = np.array([
[34.78, 31.9, -65.5],
[-16.5, 2.45, -83.5],
[0.5, -87.98, 45.62],
[5.9, 2.38, -55.82]
])
normalized_data_l2 = preprocessing.normalize(input_data, norm='l2')
print("L2 normalized data:\n", normalized_data_l2)
Kết quả
[[ 0.4308 0.3951 -0.8113] [-0.1938 0.0288 -0.9806] [ 0.0050 -0.8877 0.4603] [ 0.1050 0.0424 -0.9936]]
Mỗi hàng: tổng bình phương = 1.
Giải thích
norm='l2': chuẩn hóa L2 (mặc định).norm='l1': chuẩn hóa L1 (tổng giá trị tuyệt đối = 1).norm='max': chia cho giá trị tuyệt đối lớn nhất.- Áp dụng theo hàng (axis=1 mặc định). Dùng
axis=0cho cột.
Khi nào dùng L2?
- Vector hóa văn bản (TF-IDF → L2 norm cho cosine similarity).
- Đầu vào mạng nơ-ron (stabilize gradient).
- Khoảng cách cosine.