Data Visualization
Trực quan hóa dữ liệu biểu diễn dữ liệu dưới dạng biểu đồ, đồ thị và bản đồ để làm nổi bật mẫu, điểm ngoại lệ và lỗi, từ kiểm tra tập dữ liệu đến đường cong huấn luyện.
Trực quan hóa dữ liệu là cách biểu diễn dữ liệu bằng đồ họa, mã hóa giá trị thông qua vị trí, độ dài, màu sắc hoặc hình dạng trong biểu đồ, đồ thị, bản đồ và ảnh được chú thích, giúp mọi người nhận ra các mẫu, điểm ngoại lệ và lỗi mà các bảng số liệu khó thể hiện. Trực quan hóa khám phá giúp nhà phân tích hiểu dữ liệu trong quá trình phân tích dữ liệu khám phá, phương pháp được John Tukey đề cao trong cuốn sách cùng tên xuất bản năm 1977; trực quan hóa giải thích giúp truyền đạt phát hiện cho người khác. Trong machine learning và thị giác máy tính, trực quan hóa giúp chuyên gia kiểm tra dataset, theo dõi quá trình huấn luyện, chẩn đoán lỗi model và giải thích dự đoán.
Vì sao Trực quan hóa Quan trọng#
Năm 1973, nhà thống kê Francis Anscombe đã đưa ra luận điểm này bằng bốn dataset nhỏ, hiện được gọi là bộ tứ Anscombe, có các thống kê tóm tắt gần như giống hệt nhau:
import matplotlib.pyplot as plt
import numpy as np
# Anscombe's quartet: four datasets of 11 (x, y) points each
x = [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5]
quartet = {
"I": (x, [8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68]),
"II": (x, [9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74]),
"III": (x, [7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.42, 5.73]),
"IV": ([8] * 7 + [19] + [8] * 3, [6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89]),
}
# Print each dataset's summary statistics and draw its scatter plot side by side
fig, axes = plt.subplots(1, 4, figsize=(12, 3), sharex=True, sharey=True)
for ax, (name, (xs, ys)) in zip(axes, quartet.items()):
r = np.corrcoef(xs, ys)[0, 1]
print(f"{name}: mean y {np.mean(ys):.2f}, variance y {np.var(ys, ddof=1):.2f}, correlation {r:.3f}")
ax.scatter(xs, ys)
ax.set_title(f"Dataset {name}")
fig.savefig("anscombe.png")Cả bốn dataset đều có giá trị trung bình y là 7.50, phương sai là 4.12 hoặc 4.13, và tương quan là 0.816 hoặc 0.817; tuy nhiên, các biểu đồ tương ứng trông hoàn toàn khác nhau: dataset I là xu hướng tuyến tính nhiễu, II là đường cong trơn, III là đường thẳng hoàn hảo với một điểm ngoại lệ, còn IV là một chồng điểm theo chiều dọc có hệ số tương quan hoàn toàn đến từ một điểm nằm xa. Năm 2017, các nhà nghiên cứu tại Autodesk mở rộng ý tưởng này với Datasaurus Dozen, gồm mười ba dataset có cùng thống kê, trong đó một dataset khi vẽ thành hình khủng long.
Chọn Biểu đồ#
Biểu đồ phù hợp khi cách mã hóa dữ liệu khớp với câu hỏi cần trả lời. Biểu đồ cột phù hợp để so sánh các danh mục, biểu đồ đường thể hiện xu hướng theo thời gian, histogram và box plot thể hiện phân phối, scatter plot thể hiện mối quan hệ giữa hai biến, còn bản đồ và heatmap thể hiện các mẫu không gian. Trong các thí nghiệm về nhận thức đồ họa năm 1984, William Cleveland và Robert McGill phát hiện rằng con người đánh giá vị trí trên cùng một thang đo chính xác nhất, tiếp theo là độ dài, góc, diện tích và cuối cùng là sắc độ; đó là lý do biểu đồ cột và biểu đồ chấm tốt hơn biểu đồ tròn khi cần so sánh chính xác. Màu sắc thể hiện danh mục và mức độ tốt nhất với các bảng màu đồng nhất về cảm nhận, an toàn cho người mù màu như viridis, bảng màu mặc định trong Matplotlib từ phiên bản 2.0.
Trực quan hóa trong Machine Learning#
- Kiểm tra thiên lệch dataset: Histogram lớp cho thấy tình trạng mất cân bằng; bản đồ vị trí và kích thước bounding box chỉ ra đối tượng luôn xuất hiện ở một vùng hoặc tỷ lệ nhất định; lưới ảnh giúp phát hiện lỗi nhãn.
- Đường cong hàm loss: Loss huấn luyện và validation được vẽ theo từng epoch cho thấy mức độ hội tụ; loss validation tăng trong khi loss huấn luyện giảm là dấu hiệu overfitting.
- Ma trận nhầm lẫn và đường cong precision-recall: Cho biết model nhầm lẫn giữa những lớp nào và precision thay đổi như thế nào so với recall khi ngưỡng confidence thay đổi.
- Bản đồ embedding với t-SNE: Các phép chiếu như t-SNE đặt những mẫu tương tự gần nhau trong không gian hai chiều, qua đó làm lộ ra các cụm, mẫu trùng lặp và điểm ngoại lệ.
- Bản đồ saliency và lớp phủ dự đoán: Vẽ bounding box, mask hoặc keypoint lên ảnh, đồng thời làm nổi bật các pixel góp phần tạo nên quyết định.
Các công cụ theo dõi thí nghiệm như TensorBoard và Weights & Biases vẽ trực tiếp các metric này qua nhiều lượt huấn luyện, nên có thể phát hiện overfitting ngay khi loss validation bắt đầu tăng. Ultralytics YOLO cũng mặc định lưu các biểu đồ chính vào thư mục của mỗi lượt huấn luyện: labels.jpg hiển thị số lượng instance của từng lớp, mẫu hình dạng bounding box và histogram 2D về tâm bounding box, cũng như chiều rộng so với chiều cao của box; results.png vẽ từng loss và metric theo epoch, còn validation bổ sung ma trận nhầm lẫn và đường cong precision-recall.
Trực quan hóa Dữ liệu và các Thuật ngữ Liên quan#
- Phân tích dữ liệu: Quy trình rộng hơn bao gồm kiểm tra, làm sạch và lập model dữ liệu để trả lời câu hỏi. Trực quan hóa là một trong những công cụ chính để khám phá dữ liệu và báo cáo kết quả.
- AI có thể giải thích (XAI): Giải thích lý do model đưa ra quyết định; các hình thức trực quan hóa như bản đồ saliency là một trong những đầu ra chính của phương pháp này.
- Khai phá dữ liệu: Sử dụng thuật toán để tự động tìm mẫu trong các dataset lớn; trực quan hóa thường trình bày các mẫu được phát hiện.
- Dashboard: Tập hợp các biểu đồ trên cùng một màn hình để theo dõi metric quan trọng theo thời gian, thường thấy trong các công cụ business intelligence và giám sát model trên môi trường production.










