Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Decision Tree

Cây quyết định đưa ra dự đoán bằng cách lần lượt đặt các câu hỏi về đặc trưng đã học từ dữ liệu. Nội dung đề cập cách chọn phép chia, cách tỉa cây để hạn chế overfitting và code.

Cây quyết định là model học có giám sát, đưa ra dự đoán bằng cách đặt một chuỗi câu hỏi có/không về đặc trưng đầu vào, chẳng hạn "Thu nhập có vượt quá 50.000 USD không?", rồi đi theo câu trả lời từ nút gốc đến nút lá chứa dự đoán. Cây phân loại dự đoán một lớp tại mỗi nút lá, còn cây hồi quy dự đoán một con số. Mỗi dự đoán là một chuỗi quy tắc dễ đọc, nhờ đó cây trở thành công cụ tiêu chuẩn cho AI có thể giải thích (XAI); cây cũng là thành phần nền tảng của rừng ngẫu nhiên và tổ hợp gradient boosting, vốn vẫn vượt trội hơn deep learning trên các tập dữ liệu dạng bảng cỡ vừa. Thuật toán CART của Breiman, Friedman, Olshen và Stone (1984), cùng ID3 (1986) và C4.5 (1993) của Ross Quinlan, đã đặt nền tảng cho cách học cây từ dữ liệu.

Cách xây dựng cây quyết định#

Cây phát triển từ trên xuống bằng cách phân hoạch đệ quy. Ở mỗi nút, thuật toán chấm điểm các phép phân nhánh ứng viên, mỗi phép gồm một đặc trưng và ngưỡng đối với đặc trưng số, giữ phép phân nhánh giúp hai nút con đồng nhất nhất rồi lặp lại quá trình tìm kiếm tại từng nút con. Cây phân loại đo độ đồng nhất bằng độ hỗn tạp Gini — xác suất gán nhãn sai cho một mẫu ngẫu nhiên trong nút nếu nhãn được gán ngẫu nhiên theo tỷ lệ lớp của nút — hoặc bằng entropy, mức giảm của entropy được gọi là information gain. Cây hồi quy chọn phép phân nhánh giúp giảm sai số bình phương nhiều nhất; mỗi lá dự đoán giá trị mục tiêu trung bình của các mẫu huấn luyện tại đó. Quá trình phát triển dừng khi một nút thuần nhất, có quá ít mẫu hoặc đạt độ sâu tối đa. Mỗi phép phân nhánh chỉ nhìn trước một bước, vì vậy phương pháp tìm kiếm tham lam này xây dựng cây tốt một cách nhanh chóng, trong khi việc tìm cây tối ưu có thể chứng minh được là NP-hard.

DecisionTreeClassifier của scikit-learn triển khai phiên bản CART đã được tối ưu hóa. Ví dụ này phát triển một cây độ sâu 2 trên tập dữ liệu hoa iris và in ra các quy tắc đã học:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text

iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=42)

# A depth limit keeps the tree small enough to read and less prone to overfitting
clf = DecisionTreeClassifier(max_depth=2, random_state=42)
clf.fit(X_train, y_train)

print(export_text(clf, feature_names=iris.feature_names))
print(f"Test accuracy: {clf.score(X_test, y_test):.2f}")

Cây chỉ sử dụng chiều dài cánh hoa: hoa có chiều dài không quá 2.45 cm là setosa (lớp 0); ngưỡng thứ hai tại 4.75 cm phân biệt versicolor (lớp 1) với virginica (lớp 2). Các quy tắc này phân loại chính xác 97% số hoa trong tập giữ lại để kiểm thử.

Mỗi phép phân nhánh là một quy tắc ngưỡng dạng này; cây có thể học quy tắc từ dữ liệu, còn con người cũng có thể tự thiết lập quy tắc. Công cụ theo dõi bài tập của Ultralytics AIGym tự thiết lập hai quy tắc như vậy cho đầu ra ước tính tư thế của YOLO26: công cụ gán nhãn khung hình là "lên" khi góc khuỷu tay tính từ keypoint vai, khuỷu tay và cổ tay vượt quá 145°, và là "xuống" khi góc giảm dưới 90°; mỗi lần chuyển từ lên xuống được tính là một lần lặp.

Overfitting và cắt tỉa#

Cây phát triển đến khi mọi lá đều thuần nhất sẽ ghi nhớ dữ liệu huấn luyện, kể cả nhiễu — một trường hợp điển hình của overfitting. Cắt tỉa trước dừng quá trình phát triển sớm bằng các giới hạn như độ sâu tối đa hoặc số mẫu tối thiểu cho mỗi lá. Cắt tỉa sau phát triển toàn bộ cây rồi loại bỏ các nhánh đóng góp ít; scikit-learn triển khai phương pháp cắt tỉa độ phức tạp tối thiểu theo chi phí thông qua tham số ccp_alpha, giá trị càng lớn thì càng cắt tỉa nhiều. Cả hai loại giới hạn đều là siêu tham số được lựa chọn bằng cross-validation.

Ngay cả cây đã được cắt tỉa cũng có phương sai cao: một thay đổi nhỏ trong dữ liệu huấn luyện có thể làm thay đổi phép phân nhánh đầu tiên và kéo theo mọi phép phân nhánh bên dưới. Ensemble khắc phục điều này bằng cách kết hợp nhiều cây, theo một trong hai cách: lấy trung bình các cây được huấn luyện trên mẫu bootstrap như rừng ngẫu nhiên, hoặc lần lượt thêm cây để sửa lỗi của các cây trước như gradient boosting.

Ưu điểm và hạn chế#

Cây xử lý đồng thời các đặc trưng số và phân loại, không cần chuẩn hóa đặc trưng, nắm bắt tương tác và tác động phi tuyến mà không cần thiết kế đặc trưng thủ công, đồng thời dự đoán chỉ bằng một số ít phép so sánh. Các phép phân nhánh của cây song song với các trục, vì vậy ranh giới chéo như "chi tiêu vượt quá thu nhập" trở thành một bậc thang gồm nhiều phép phân nhánh, trừ khi bổ sung đặc trưng tỷ lệ. Cây hồi quy dự đoán một giá trị hằng số trong mỗi lá; do đó, khác với hồi quy tuyến tính, cây không thể ngoại suy xu hướng vượt ra ngoài phạm vi dữ liệu huấn luyện.

Ứng dụng#

  • Quyết định tín dụng: Bên cho vay dùng cây nông và bảng điểm dựa trên cây để phân loại hồ sơ theo rủi ro; mọi quyết định đều truy nguyên được về các ngưỡng thu nhập, lịch sử tín dụng và nợ đã tạo ra quyết định đó.
  • Phân loại ưu tiên lâm sàng: Các quy tắc quyết định lâm sàng được biểu diễn dưới dạng cây phân luồng bệnh nhân dựa trên dấu hiệu sinh tồn và triệu chứng, chẳng hạn để xác định bệnh nhân có cần chẩn đoán hình ảnh khẩn cấp hay không.
  • Khách hàng rời bỏ dịch vụ: Cây phân nhóm khách hàng theo mức độ sử dụng, thời gian gắn bó và lịch sử hỗ trợ thành các phân khúc có nguy cơ hủy dịch vụ cao hoặc thấp; các nhánh mô tả từng phân khúc bằng ngôn từ dễ hiểu.
  • Bảo trì dự đoán: Cây gradient boosting sử dụng đặc trưng rung động, nhiệt độ và thời gian vận hành để ước tính máy móc nào có khả năng hỏng trước kỳ bảo dưỡng tiếp theo.
  • Rừng ngẫu nhiên: Lấy trung bình nhiều cây được huấn luyện trên mẫu bootstrap và các tập con đặc trưng ngẫu nhiên, đánh đổi tính dễ đọc của một cây đơn lẻ để đạt độ chính xác và tính ổn định cao hơn.
  • XGBoost, LightGBM và CatBoost: Các thư viện gradient boosting lần lượt thêm cây để sửa lỗi của những cây trước; LightGBM được thiết kế để tăng tốc trên tập dữ liệu lớn, còn CatBoost hướng đến đặc trưng phân loại được xử lý trực tiếp.
  • Deep learning: Mạng neural học đặc trưng từ hình ảnh, âm thanh và văn bản thô, trong khi cây phân nhánh dựa trên các đặc trưng đã có sẵn dưới dạng cột trong bảng.
  • Cây phân tích quyết định: Trong nghiên cứu vận trù và hoạch định kinh doanh, cây quyết định cũng là sơ đồ do chuyên viên phân tích vẽ thủ công, gồm các nút quyết định, nút ngẫu nhiên và kết quả, để so sánh các phương án theo giá trị kỳ vọng; cây được xây dựng từ xác suất ước tính thay vì học từ dữ liệu huấn luyện.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning