- Giải thích một cách trực quan quá trình máy tính sử dụng các kỹ thuật học thống kê (statistical learning) để tự động nhận diện mẫu từ dữ liệu và đưa ra dự đoán
- Trực quan hóa theo từng bước quá trình xây dựng mô hình phân biệt nhà ở New York và San Francisco bằng bộ dữ liệu nhà ở
- Tập trung vào cây quyết định (decision tree), cho thấy cụ thể quá trình học và dự đoán thông qua các khái niệm như điểm chia (split point), nhánh (branch) và nút lá (leaf node)
- Trực quan hóa vấn đề quá khớp (overfitting) trong quá trình nâng cao độ chính xác của mô hình, đồng thời giải thích sự khác biệt giữa dữ liệu huấn luyện và dữ liệu kiểm tra
- Đây là tài liệu học tập trực quan tương tác được thiết kế để giúp người học hiểu trực giác các khái niệm cốt lõi của machine learning
Khái niệm cơ bản của machine learning
- Machine learning là kỹ thuật cho phép máy tính áp dụng các phương pháp học thống kê để tự động nhận diện các mẫu trong dữ liệu và dựa trên đó thực hiện dự đoán chính xác
- Ví dụ, xây dựng một mô hình dùng dữ liệu nhà ở để phân loại nhà tại New York và San Francisco
- Kiểu tác vụ phân loại này trong machine learning được gọi là bài toán classification (phân loại)
Phân biệt trực quan và feature
- San Francisco có địa hình nhiều đồi nên độ cao lớn hơn
- Vì vậy, độ cao (elevation) của căn nhà có thể là một tiêu chí hữu ích để phân biệt hai thành phố
- Ví dụ, nếu độ cao từ 240 feet trở lên thì có thể phân loại là San Francisco
- Nếu thêm giá trên mỗi foot vuông (price per square foot) thì có thể phân biệt tinh vi hơn
- Nếu độ cao không quá 240 feet và giá trên mỗi foot vuông từ $1776 trở lên thì được phân loại là New York
- Mỗi chiều của dữ liệu được gọi là feature (đặc trưng), predictor (biến dự đoán) hoặc variable (biến)
Ranh giới (boundary) và học mô hình
- Có thể trực quan hóa ranh giới trên biểu đồ phân tán (scatterplot) dựa trên độ cao và giá
- Việc xác định ranh giới của dữ liệu bằng toán học là cốt lõi của học thống kê
- Bộ dữ liệu thực tế có 7 chiều và mô hình được huấn luyện (training) dựa trên đó
- Dùng ma trận biểu đồ phân tán (scatterplot matrix) để khám phá trực quan mối quan hệ giữa các biến
Nguyên lý hoạt động của cây quyết định (Decision Tree)
- Machine learning sử dụng học thống kê để tìm ra các mẫu trong dữ liệu, và cây quyết định là một trong những phương pháp như vậy
- Cây quyết định chia dữ liệu bằng cách áp dụng các quy tắc if-then dựa trên từng biến, mỗi lần một biến
- Ví dụ: áp dụng quy tắc “nếu độ cao vượt một ngưỡng nhất định thì là San Francisco”
- Các điểm phân chia như vậy được gọi là split point (điểm chia) và tạo thành từng nhánh (branch) của cây
Độ chính xác của phân chia và trade-off
- Phân chia ban đầu (ví dụ: theo ngưỡng 240 feet) sẽ phân loại sai một số nhà ở San Francisco (false negatives)
- Ngược lại, nếu cố gắng bao phủ tất cả nhà ở San Francisco thì sẽ kéo theo cả nhà ở New York (false positives)
- Phân chia tối ưu (best split) là cách làm sao cho dữ liệu trong mỗi nhánh đồng nhất (homogeneous) nhất có thể
- Các cách tính phổ biến gồm chỉ số Gini (Gini index) và cross entropy (entropy chéo)
Đệ quy (Recursion) và sự phát triển của cây
- Thuật toán lặp lại quá trình trên với từng tập dữ liệu con và mở rộng cây theo cách đệ quy (recursion)
- Ở độ cao thấp, giá trên mỗi foot vuông được chọn làm biến chia tiếp theo; ở độ cao cao, tổng giá được chọn làm biến chia tiếp theo
- Càng lặp lại việc phân chia, độ chính xác dự đoán (prediction accuracy) của cây càng tăng
- Thêm một bước thì đạt 84%, thêm nhiều bước thì tăng đến 96%
- Nếu thêm toàn bộ các nhánh, có thể đạt độ chính xác 100%
- Điểm phân chia cuối cùng là nút lá (leaf node), mỗi nút sẽ phân loại nhà theo lớp chiếm đa số
Dự đoán và kiểm chứng
- Cây quyết định đã huấn luyện sẽ dự đoán thành phố bằng cách cho từng điểm dữ liệu đi theo các nhánh của cây
- Dữ liệu dùng để huấn luyện gọi là training data, còn dữ liệu mới gọi là test data
- Mô hình có thể hoạt động hoàn hảo trên dữ liệu huấn luyện nhưng lại kém hiệu quả trên dữ liệu mới
- Đó là do quá khớp (overfitting), khi mô hình đã học cả những chi tiết không cần thiết
Tóm tắt và bước tiếp theo
- Machine learning tìm ranh giới trong dữ liệu để nhận diện mẫu và đưa ra dự đoán
- Cây quyết định là một phương pháp tiêu biểu để phân loại dữ liệu bằng các quy tắc if-then
- Quá khớp là hiện tượng mô hình học cả những khác biệt không có ý nghĩa, làm giảm khả năng khái quát hóa
- Bài viết tiếp theo sẽ đề cập đến mối quan hệ giữa quá khớp và trade-off bias/variance
1 bình luận
Ý kiến trên Hacker News
Tôi là một trong những người tạo ra R2D3. Hôm nay thấy lại bài này thật vui. Tôi sẽ nhận câu hỏi ở đây hoặc trên Bluesky
Đây thực sự là một kiệt tác. Mỗi khi giới thiệu về machine learning, tôi đều dùng phần giải thích tương tác này. Có một bộ sưu tập các tài liệu tương tự ở đây
Trước đây tôi từng nhắc đến danh sách tài nguyên học tập S-TIER do tôi tạo.
S-TIER là loại nội dung kết hợp hoàn hảo giữa hoạt hình, trực quan hóa và yếu tố tương tác.
A-TIER thì hữu ích nhưng ít trực quan hơn, còn các blog thiên về ý kiến thì tôi xếp ở mức thấp nhất.
Những trang S-TIER mà tôi chọn là:
growingswe.com/blog, ciechanow.ski/archives, mlu-explain.github.io, seeing-theory.brown.edu, svg-tutorial.com, lumafield.com/scan-of-the-month/health-wearables
Theo tiêu chí này, tôi muốn làm một trình quản lý bookmark có thể tự động phân loại mọi link blog trên HN
Hai dự án tôi thích nhất trong số những gì mình từng làm là Fill in the Blank và Grokking
Đã bookmark lại. Hầu hết các bài giải thích về LLM đều thiếu những tài liệu tham chiếu trực quan như thế này.
Thường либо là một bài báo 10.000 từ, либо chỉ là một dòng tóm tắt kiểu tweet, nên không có tầng trung gian
Đây là tác phẩm từ năm 2015. Xét cả về mặt kỹ thuật lẫn ý tưởng, đây là một công trình đi trước thời đại
Thật sự rất hay. Đây là một lĩnh vực thú vị, nằm ở giao điểm giữa trực quan hóa dữ liệu và AI/ML.
Một số nơi đáng tham khảo là mlu-explain.github.io, visxai.io, explorables của Google PAIR, và poloclub của GA Tech
Giá mà có nhiều bài như thế này hơn. Tôi thích học bằng trực quan.
Nó làm tôi nhớ đến bài Build Your Own React. Không liên quan trực tiếp, nhưng đó là một blog dễ theo dõi với phong cách tương tự. Dạng bài như thế này cho hiệu quả học tập rất cao
Đây là một trong những phần giải thích về cây quyết định hay nhất mà tôi từng xem.
Hoạt hình cho thấy quá trình chia tách khi cuộn xuống trực quan hơn rất nhiều so với những phần diễn giải dài dòng trong giáo trình
Những phần giải thích tương tác này đến giờ vẫn là ví dụ xuất sắc nhất để giúp hiểu trực giác về các khái niệm ML.
Cách tiếp cận này hiệu quả hơn nhiều so với các bài kỹ thuật bắt đầu ngay từ công thức
Tôi tự hỏi có tài liệu nào giải thích các khái niệm bậc cao như cơ chế attention của Transformer theo phong cách R2D3 không