Chương 4 : Giải thuật random forest
4.3. Một số điểm cần chú ý của giải thuật RandomForest
4.3.1. OOB
Nhắc lại ở trên khi tập mẫu được rút ra từ một tập huấn luyện của một cây với sự thay thế (bagging), thì theo ước tính cĩ khoảng 1/3 các phần từ khơng cĩ nằm trong mẫu này [7]. Điều này cĩ nghĩa là chỉ cĩ khoảng 2/3 các phần tử trong tập huấn luyện tham gia vào trong các tính tốn của chúng ta, và 1/3 các phần tử này được gọi là dữ liệu out-of-bag. Dữ liệu out-of-bag được sử dụng để ước lượng lỗi tạo ra từ việc kết
Chương 4: Giải thuật Random Forest Trang 45
hợp các kết quả từ các cây tổng hợp trong random forest cũng như dùng để ước tính độ quan trọng thuộc tính (variable important).
Trong random forest OBB được tính như sau: Giả sử cĩ một phương pháp cho việc xây dựng một bộ phân lớp từ bất kỳ tập huấn luyện nào. Cho một tập huấn luyện T ban đầu, sử dụng phương pháp bootstrap xây dựng được tập huấn luyện Tk, sau đĩ xây dựng các bộ phân lớp h(x, Tk) và sử dụng các bộ phân lớp này “bỏ phiếu” để xây dựng một tập tham số dự báo. Đối với mỗi cặp y, x trong tập huấn luyện, việc tổng hợp các lá phiếu chỉ được thực hiện trên những bộ phân lớp đối với những tập Tk khơng chứa y, x. Chúng ta gọi tính tốn trên là out-of-bag classifier. Sử dụng dữ liệu out-of-bag để ước tính tỷ lệ lỗi trong RF là việc tính tốn tỉ lệ lỗi của out-of-bag classifier trên tập huấn luyện Tk. Cách tính trên cĩ thể được hiểu một cách đơn giản như sau: Gửi các “đối tượng” trong OBB xuống cây và “đếm” số các dự đốn đúng, ta gọi kết quả của tính tốn này là ROOB .
Hình 4.4 dưới đây thể hiện sử dụng dữ liệu OOB để ước lượng lỗi trong RF.
Hình 4. 4: Sử dụng OBB ước lượng lỗi
4.3.2. Thuộc tính quan trọng
Việc thực hiện các tính tốn để xác định thuộc tính quan trọng trong RF cũng gần như tương tự việc sử dụng OOB để tính tốn lỗi trong RF. Cách thực hiện như sau: Giả sử chúng ta cần xác định “thuộc tính quan trọng” của thuộc tính thứ thứ m. Đầu tiên tính ROOB, sau đĩ hốn vị ngẫu nhiên các giá trị của thuộc tính m trong dữ liệu
Chương 4: Giải thuật Random Forest Trang 46
OOB, lần lượt “gửi” các giá trị này xuống cây và “đếm” số các dự đốn đúng ta gọi việc tính tốn này đối với thuộc tính là Rperm.
Độ quan trọng thuộc tính được tính như sau:
Trong trường hợp giá trị của thuộc tính quan trọng trên mỗi cây là độc lập thì chúng ta cĩ thể tính được lỗi chuẫn (standard error) của ROOB - Rperm.
Ngồi độ quan trọng thuộc tính, trong RF cũng cần chú ý đến độ quan trọng GINI (GINI important). Chỉ số GINI tại nút N được định nghĩa là tổng bình phương xác suất mỗi lớp tại nút N [6]. Chỉ số GINI được tính như sau:
Trong đĩ p(wj) là là xác suất của lớp wj cĩ mặt tại nút N. Điều này cũng cĩ nghĩa là nếu trong tất cả các trường hợp tại nút N chỉ rơi vào một lớp duy nhất, thì giá trị chỉ số GINI tại nút N bằng 0.
Trong một số giải thuật như CART, SLIQ và RF chỉ số GINI được sử dụng như là một tiêu chỉ để phân nhánh trong cây. Các giải thuật này cố gắng cực tiểu hĩa giá trị chỉ số GINI tại nút dựa vào việc phân nhánh trong cây theo cơng thức sau:
Trong đĩ k là số lượng các nút con được phân chia ra từ nút N, ni là số lượng các mẫu tại nút con i và n là tống số các mẫu tại nút N. Trong RF tại mỗi lần phân nhánh tại một nút thì giá trị chỉ số GINI tại hai nút con sẽ nhỏ hơn so với giá trị chỉ số GINI tại nút cha. Thêm vào đĩ chỉ số GINI giảm đối với mỗi thuộc tính đơn lẻ trên tất cả các cây đưa ra một độ quan trọng thuộc tính nhanh, và điều này là rất đồng nhất với đo lường độ quan trọng hốn vị [8].
Trong mơ hình máy học đề xuất trong chương tiếp theo nhằm tăng hiệu quả phân lớp của giải thuật RF, mức độ giảm của chỉ số GINI cũng được sử dụng như một tiêu chí trong việc xác định độ quan trọng thuộc tính.