CHƢƠNG 2 : THUẬT TOÁN RANDOM FOREST VÀ GIẢI THUẬT DI TRUYỀN
2.4 Một số đặc điểm của RF
2.4.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 toá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 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 OOB đƣợ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 toá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 toá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 OOB xuống cây và “đếm” số các dự đoán đúng, ta gọi kết quả của tính toán này là ROOB .
Hình 2.4.1[7] dƣới đây thể hiện sử dụng dữ liệu OOB để ƣớc lƣợng lỗi trong RF.
Hình 2.4.1 Sử dụng OOB ước lượng lỗi[7]
2.4.2 Thuộc tính quan trọng
Việc thực hiện các tính toá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 toá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 đó hoán vị ngẫu nhiên các giá trị của thuộc tính m trong dữ
liệu OOB, lần lƣợt “gửi” các giá trị này xuống cây và “đếm” số các dự đoán đúng ta gọi việc tính toá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
Ngoà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 [28]. Chỉ số GINI đƣợc tính nhƣ sau:
2 1 ( ) 1 ( ) 2 j j gini N p
Trong đó p(wj) là là xác suất của lớp wj có mặt tại lớp 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 [8]:
1 ( ) k i split i n gini gini i n
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 hoán vị [28].
Trong chƣơng tiếp theo luận văn đề xuất một mô hình học máy nhằm tăng hiệu quả các thuật toán phân lớp nói chung và của giải thuật RF nói riêng.