Cây Quyết Định (Decision Tree) cho người hay phân vân

Okay, các bạn sinh viên ngành học máy, chuẩn bị tinh thần để “debug” sự phân vân của mình với Cây Quyết Định (Decision Tree)! 😎 Đây là cách để các bạn thoát khỏi vòng xoáy “chọn gì bây giờ?” mà không cần phải tuning hyperparameters cả ngày.


Hướng dẫn xây cây quyết định kiểu sinh viên học máy:

Xác định “loss function” của vấn đề

  • Hỏi: “Mình đang phân vân cái gì đây?”
  • Ví dụ: “Tối nay ăn gì: cơm tấm, phở hay bánh mì?”
  • Ghi rõ câu hỏi, không thì model của bạn sẽ overfit vào… sự lười!

Feature engineering: Liệt kê các lựa chọn

  • Tìm các “class” khả thi:
    • Cơm tấm: Ngon, rẻ, nhưng hơi xa.
    • Phở: Ấm bụng, nhưng hơi đắt.
    • Bánh mì: Nhanh gọn, nhưng ăn hoài hơi ngán.
  • Pro tip: Đừng để dataset quá nhiều class, không thì cây của bạn sẽ sâu như rừng Amazon!

Chọn features để split

  • Xác định các tiêu chí như dân ML chọn feature:
    • Giá tiền (học bổng còn bao nhiêu?).
    • Thời gian (deadline assignment có dí không?).
    • Độ ngon (scale 1-10, dựa trên vibe của dạ dày).
    • Vibe tâm trạng (muốn chill hay muốn flex?).
  • Nếu thích xịn, gán weight cho feature (VD: Giá tiền x2 nếu bạn là sinh viên nghèo).

Vẽ cây quyết định (không cần TensorFlow đâu!)

  • Root node: Câu hỏi chính (VD: “Ăn gì đây?”).
  • Split node: Các tiêu chí (VD: “Giá < 30k?”, “Đi < 10 phút?”).
  • Leaf node: Kết quả cuối (VD: “Cơm tấm: ngon, rẻ, đi 15 phút”).
  • Dùng giấy bút hoặc Canva nếu bạn không muốn code matplotlib cả đêm.

Tính “information gain” để chọn

  • Chấm điểm từng lựa chọn kiểu đánh giá model:
    • Cơm tấm: 8/10 (ngon, rẻ, nhưng xa tí).
    • Phở: 7/10 (ngon, đắt, gần).
    • Bánh mì: 6/10 (nhanh, rẻ, nhưng ngán).
  • Chọn nhánh có “score” cao nhất, hoặc chạy thử A/B testing (ăn thử miếng bánh mì trước).

Predict & Deploy

  • Chọn lựa chọn ngon nhất, chạy thử nghiệm thực tế (ra quán ăn liền!).
  • Nếu vẫn phân vân, apply ensemble method: hỏi bạn thân hoặc crush xem họ vote gì.

Ví dụ cây quyết định siêu lầy (Tối nay ăn gì?):

Root: Tối nay ăn gì đây? 
├── Class 1: Cơm tấm
│   ├── Giá: 25k (Tốt, ví sinh viên approve)
│   ├── Thời gian: 15 phút đi bộ (Hơi mệt, nhưng ổn)
│   ├── Độ ngon: 8/10 (Sườn nướng là chân ái)
│   └── Output: Ăn cơm tấm, vừa ngon vừa flex được trên story!
├── Class 2: Phở
│   ├── Giá: 40k (Hơi đau ví)
│   ├── Thời gian: 5 phút (Gần ký túc xá)
│   ├── Độ ngon: 7/10 (Nước dùng ngon nhưng hơi ít)
│   └── Output: Phở cho vibe ấm áp, nhưng ví hơi lạnh!
└── Class 3: Bánh mì
    ├── Giá: 15k (Rẻ như cho)
    ├── Thời gian: 2 phút (Quán dưới lầu)
    ├── Độ ngon: 6/10 (Ăn hoài ngán vl)
    └── Output: Bánh mì cho ngày lười, nhưng không có gì để khoe.

Predict: Cơm tấm (score 8/10, ngon bổ rẻ, đáng để đi xa tí).


Hack cho dân ML hay phân vân:

  • Prune cây: Đừng thêm quá nhiều lựa chọn, không thì cây sâu quá, bạn sẽ “out of memory” mà vẫn không quyết được.
  • Cross-validation: Hỏi ý kiến bạn cùng nhóm ML, nhưng đừng hỏi cả lớp, không thì variance cao quá!
  • Overfitting alert: Đừng overthink, chọn dựa trên data hiện có, không cần tưởng tượng quán mới mở ở… sao Hỏa.
  • Gradient descent vào hành động: Quyết xong thì đứng dậy, đi ăn ngay, đừng chờ loss xuống 0!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: Content is protected !!