CHƢƠNG 2 : THUẬT TOÁN RANDOM FOREST VÀ GIẢI THUẬT DI TRUYỀN
2.3 Thuật toán RandomForest
Trong Random Forest [8], kết quả của việc phát triển một tập hợp các cây sẽ làm cải thiện một cách đáng kể độ chính xác phân lớp, mỗi cây trong tập hợp sẽ “bỏ
phiếu” cho lớp phổ biến nhất. Để phát triển các tập hợp cây này thông thƣờng các véc tơ ngẫu nhiên đƣợc tạo ra, các véc tơ này sẽ chi phối sự phát triển của mỗi cây trong các tập nói trên. Đối với cây thứ k trong tập các cây, một véc tơ ngẫu nhiên Θk đƣợc tạo ra, véc tơ này độc lập với các véc tơ đƣợc tạo ra trƣớc đó Θ1, Θ2, …, Θk-1 nhƣng sự phân bố của các véc tơ này là tƣơng tự nhau. Một cây đƣợc phát triển dựa vào tập tập huấn và véc tơ Θk kết quả là đƣợc một phân lớp h(x, Θk) trong đó x là véc tơ đầu vào. Sau khi một số lƣợng lớn các cây đƣợc tạo ra các cây này “bỏ phiếu” cho lớp phổ biến nhất. Chúng ta gọi những quá trình này là random forest.
Random forest đƣợc định nghĩa nhƣ sau [7]: Một random forest là một phân lớp bao gồm một tập các phân lớp có cấu trúc cây {h(x, Θk), k=1,… trong đó {Θk} là những véc tơ độc lập, tƣơng tự nhau đƣợc phân bố một cách ngẫu nhiên và mỗi cây sẽ bỏ một phiếu bầu cho lớp phổ biến nhất ở véc tơ đầu vào x.
Ý tƣởng chính của giải thuật Random Forest:
• Ở mỗi lần phân chia cây một tập ngẫu nhiên m thuộc tính đƣợc lấy ra và chỉ m thuộc tính này tham gia vào việc phân chia cây. Thông thƣờng m = 𝒑
hoặc p/3 trong đó p là tổng số các thuộc tính.
• Đối với mỗi cây phát triển dựa trên một mẫu boostrap, tỷ lệ lỗi của các phần tử không thuộc vào bootstrap là đƣợc kiểm soát. Tỷ lệ lỗi này đƣợc gọi là tỷ lệ lỗi “out-of-bag” (OOB).
Mô tả thuật toán RF: [8 ]
1. Chọn T là số lƣợng các cây thành phần sẽ đƣợc xây dựng.
2. Chọn m là số lƣợng các thuộc tính sẽ đƣợc dùng để phân chia tại mỗi node của cây, m thƣờng nhỏ hơn p rất nhiều, p là tổng số các thuộc tính. Giá trị m đƣợc giữ không đổi trong suốt quá trình dựng cây.
3. Dựng T cây quyết định. Trong đó mỗi cây đƣợc hình thành nhƣ sau:
a)Xây dựng tập mẫu khởi động ( bootstrap ) với n mẫu, hình thành từ việc hoán vị tập các mẫu ban đầu. Mỗi cây sẽ đƣợc dựng từ tập khởi động này.
b)Khi xây dựng cây, tại mỗi node sẽ chọn ra m thuộc tính, và sử dụng m thuộc tính này để tìm ra cách phân chia tốt nhất.
c)Mỗi cây đƣợc phát triển lớn nhất có thể và không bị cắt xén.
4. Sau khi xây dựng đƣợc Random Forest, để phân lớp cho đối tƣợng T, thu thập kết quả phân lớp đối tƣợng này trên tất cả các cây quyết định và sử dụng kết quả đƣợc chọn nhiều nhất làm kết quả cuối cùng của thuật toán. Tỉ lệ lỗi của cây tổng thể phụ thuộc vào độ mạnh của từng cây quyết định thành phần và mối quan hệ qua lại giữa các cây đó.
Hình vẽ 2.3[3] dƣới đây thể hiện các bƣớc trong Random Rorest. Để phân lớp một đối tƣợng mới Random Rorest căn cứ vào số phiếu mà các cây trong rừng bỏ cho
Hình 2.3 Các bước trong Random Forest[3]
Quá trình học của Random Forest bao gồm việc sử dụng ngẫu nhiên giá trị đầu vào, hoặc kết hợp các giá trị đó tại mỗi node trong quá trình dựng từng cây quyết định. Trong đó Random Forest có một số thuộc tính mạnh nhƣ[8]:
(1) Độ chính xác của RF tƣơng đối cao.
(2) Thuật toán giải quyết tốt các bài toán có nhiều dữ liệu nhiễu. (3) Thuật toán chạy nhanh hơn so với bagging.
(4) Có những sự ƣớc lƣợng nội tại nhƣ độ chính xác của mô hình phỏng đoán hoặc độ mạnh và liên quan giữa các thuộc tính.
(5) Dễ dàng thực hiện song song.
(6) Tuy nhiên để đạt đƣợc các tính chất mạnh trên, thời gian thực thi của thuật toán khá lâu và phải sử dụng nhiều tài nguyên của hệ thống.
Tính chất thứ 4 đƣợc quan tâm rất nhiều và là tính chất đƣợc sử dụng để giải quyết bài toán trích chọn thuộc tính. Sau khi thực hiện học sẽ thu đƣợc một danh sách các thuộc đƣợc xếp hạng dựa theo một trong hai tiêu chí. Tiêu chí thứ nhất là thu đƣợc sau quá trình kiểm tra độ chính xác sử dụng các mẫu out-of-bag .Tiêu chí thứ hai là mức độ dầy đặc tại các node khi phân chia thuộc thuộc tính, và đƣợc tính trung bình trên tất cả các cây.
Qua những tìm hiểu trên về giải thuật RF ta có nhận xét rằng RF là một phƣơng pháp phân lớp tốt do: (1) Trong RF các sai số (variance) đƣợc giảm thiểu do kết quả của RF đƣợc tổng hợp thông qua nhiều bộ học (learner), (2) Việc chọn ngẫu nhiên tại mỗi bƣớc trong RF sẽ làm giảm mối tƣơng quan (correlation) giữa các bộ phân lớp trong việc tổng hợp các kết quả.
Ngoài ra, chúng ta cũng thấy rằng lỗi chung của một rừng các cây phân lớp phụ thuộc vào lỗi riêng của từng cây trong rừng cũng nhƣ mỗi tƣơng quan giữa các cây.