0
Tải bản đầy đủ (.pdf) (75 trang)

Bootstrap và Bagging

Một phần của tài liệu NGHIÊN CỨU, XÂY DỰNG PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG DỰA TRÊN GIẢI THUẬT PHÂN LỚP RANDOM FOREST (Trang 41 -41 )

Chương 4 : Giải thuật random forest

4.1. Bootstrap và Bagging

4.1. 1. Bootstrap

Là một phương pháp rất nổi tiếng trong thống kê được giới thiệu bởi Bradley Efron vào năm 1979. Phương pháp này chủ yếu dùng để ước lượng lỗi chuẩn (standard errors), độ lệch (bias) và tính tốn khoảng tin cậy (confidence interval) cho các tham số. Phương pháp này được thực hiện như sau: Từ một quần thể ban đầu lấy ra một mẫu L = (x1, x2,..xn) gồm n thành phần, tính tốn các tham số mong muốn. Trong các bước tiếp theo lặp lại b lần việc tạo ra mẫu Lb cũng gồm n phần từ từ L bằng cách lấy lại mẫu với sự thay thế các thành phần trong mẫu ban đầu sau đĩ tính

Chương 4: Giải thuật Random Forest Trang 41

tốn các tham số mong muốn. Hình 4.2 dưới đây thể hiện một ví dụ sử dụng phương pháp bootstrap trong việc tính tốn giá trị trung bình.

Hình 4. 2: Ví dụ sử dụng phương pháp bootstrap

4.1. 2. Bagging

Phương pháp này được xem như là một phương pháp tổng hợp kết quả cĩ được từ các bootstrap. Tư tưởng chính của phương pháp này như sau: Cho một tập huấn luyện D={(xi, yi): i=1,2,…,n} và giả sử chúng ta muốn cĩ một một dự đốn nào đĩ đối với biến x.

 Một mẫu gồm B tập dữ liệu, mỗi tập dữ liệu gồm n phần tử được chọn lựa ngẫu nhiên từ D với sự thay thế (giống như bootstrap). Do đĩ, B=(D1, D2, ….,DB) trơng giống như là một tập các tập huấn luyện được nhân bản;

 Tập huấn một máy hoặc một mơ hình đối với mỗi tập Db (b=1, 2, …,B) và lần lượt thu thập các kết quả dự báo cĩ được trên mỗi tập Db;

 Kết quả tổng hợp cuối cùng được tính tốn bằng cách trung bình hĩa (regression) hoặc thơng qua số phiếu bầu nhiều nhất (classification).

Dưới đây là thể hiện chi tiết của phương pháp bagging  Xây dựng B boostrap của L ký kiệu: L1, L2, ….,LB;

 Áp dụng giải thuật học cho mỗi Lb (b=1:B) để cĩ tính tốn dự đốn hb

 Gọi Tb = L\Lb là các điểm dữ liệu khơng xuất hiện trong Lb (out of bag points)  Đối với mỗi điểm dữ liệu , chúng ta sẽ quan sát giá trị y tương ứng và tính

tốn một vài dự đốn 1( , 2( , …, K( . Tính tốn trung bình dự đốn ( .

Chương 4: Giải thuật Random Forest Trang 42

 Ước lượng sai lệch (bias) và phương sai (variance)

o Bias = y - (

o Variance=

Một cách trực quan chúng ta thấy rằng phương pháp bagging cĩ thể làm giảm độ sai lệch (phương sai):

 Nếu mỗi bộ phân lớp đơn lẻ khơng ổn định thì điều đĩ cĩ nghĩa là bộ phân lớp đĩ cĩ phương sai lớn, một phân lớp tổng hợp sẽ cĩ phương sai nhỏ hơn so với một phân lớp đơn lẻ.

 Một phân lớp tổng hợp cĩ thể xem như một xấp xỉ tới giá trị trung bình thực sự của f cĩ được bằng cách thay đổi các phân bổ xác suất p với các bootstrap.

Bagging làm việc tốt với các giải thuật học khơng ổn định (neutral networks, Decision trees và Regression trees, Subset selection in logistic/linear Regression). Tuy nhiên bagging cũng cĩ thể làm giảm độ chính xác của các giải thuật học ổn định (K- nearest neighbors) (do sự thay đổi trong dữ liệu của tập huấn luyện).

4.2. Random Forest

Trong random forest, việc cải thiện một cách đáng kể trong độ chính xác phân lớp là kết quả cĩ được từ sự phát triển của một tập hợp các cây, 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.

Chương 4: Giải thuật Random Forest Trang 43

Ý 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 log2(p) 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 sốt. Tỷ lệ lỗi này được gọi là tỷ lệ lỗi “out-of-bag” (OOB).

Dưới đây là pseudo-code của giải thuật RF:

Select the number of trees to be generated K

For (k=1; k<=K; k++)

o Draw a bootstrap sample Θk from the training data

o Grow an unpruned classification tree h(x,Θk)

o For (i=1; i<=number-of-nodes; i++)

Randomly sample m priditor variables

Select the best split from among variables End

End

Each of the K classification trees casts 1 vote for the most polular class at input x

Aggregate the classification of the K trees and select the class with maximum votes.

Tĩm tắt cuả giải thuật RF cho phân lớp được diễn giải như sau:  Lấy ra K mẫu bootstrap từ tập huấn luyện.

 Đối với mỗi mẫu bootstrap xây dựng một cây phân lớp khơng được tỉa (unpruned tree) theo hướng dẫn sau: Tại mỗi nút thay vì chọn một phân chia tốt nhất trong tất cả các biến dự đốn, ta chọn ngẫu nhiên một mẫu m của các biến dự đốn sau đĩ chọn một phân chia tốt nhất trong các biến này. Ví dụ chúng ta cĩ 500 thuộc tính (các biến dự đốn), chúng ta sẽ chỉ chọn lựa

Chương 4: Giải thuật Random Forest Trang 44

ngẫu nhiên 23 biến sau đĩ thực hiện việc phân chia dựa trên các biến tốt nhất trong số 23 biến này chứ khơng phải trong số 500 biến.

 Đưa ra các dự đốn bằng cách tổng hợp các dự đốn của K cây.

Hình vẽ 4.3 dưới đây thể hiện các bước trong random forest. Để phân lớp một đối tượng mới random forest căn cứ vào số phiếu mà các cây trong rừng bỏ cho đối tượng đĩ thuộc về lớp nào.

Hình 4. 3: Các bước trong random forest

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 người 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 người học trong việc tổng hợp các kết quả.

Ngồ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.

4.3. Một số điểm cần chú ý của giải thuật Random Forest

4.3.1. OOB 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.

Chương 5: Phương pháp học máy đề xuất Trang 48

Chương 5: Phương pháp học máy đề xuất

Trong chương này chúng tơi đề xuất một phương pháp học máy nhằm tăng hiệu quả phân lớp của giải thuật RF. Nội dung chủ yếu của phương pháp học máy chúng tơi để xuất dựa vào: (1) Độ chính xác của việc kiểm chứng chéo (cross-validation) giữa các tập dữ liệu trong bộ dữ liệu; và (2) Độ quan trọng thuộc tính của mỗi thuộc tính trong tập dữ liệu tập huấn (chỉ số GINI).

Trước khi đi vào trình bày phương pháp học máy đề xuất, chúng ta cùng tìm hiểu một số kỹ thuật, lý thuyết được sử dụng trong phương pháp học máy đề xuất, đĩ là kỹ thuật kiểm chứng chéo (n-fold cross validation) và lý thuyết Bayes.

5.1. Một số kỹ thuật sử dụng trong phương pháp đề xuất 5.1.1. Kiểm chứng chéo (cross-validation)

5.1.1. Kiểm chứng chéo (cross-validation)

Những kinh nghiệm cĩ được từ đánh giá hiệu quả thơng qua thực nghiệm cĩ thể cũng được sử dụng trong việc xác định các tham số của mơ hình [9]. Tuy nhiên, cách này chỉ thực hiện được trong một số trường hợp dữ liệu và mơ hình giản đơn, ví dụ việc xác định tham số K trong K hàng xĩm gần nhất, cịn đối với các trường hợp khác là rất khĩ xác định các tham số của mơ hình. Dưới đây, chúng ta xem xét phương pháp kiểm chứng chéo, đây là một trong những phương pháp được sử dụng tương đối phổ biến trong việc xác định các tham số mơ hình.

Hold-out Validation: Đây là phương pháp đơn giản nhất, đầu tiên chúng ta chia

ngẫu nhiên tập dữ liệu ra thành hai tập dữ liệu con tập tập huấn và tập kiểm tra. Giả sử K là một tham số của mơ hình mà chúng ta chưa biết. Chúng ta chọn một tập hợp các giá trị cĩ thể của K, ví dụ K=1,…,5. Đối với mỗi giá trị cĩ thể của K, chúng ta học một mơ hình trên tập huấn luyện, và tính tốn lỗi của mơ hình trên tập kiểm tra, ví dụ là bình phương lỗi . Sau đĩ, ta sẽ chọn giá trị K là giá trị sao cho lỗi của mơ hình trên tập kiểm tra là bé nhất. Nếu mơ hình cĩ nhiều tham số thì việc áp dụng với các tham số khác cũng tương tự. Tuy nhiên, chúng ta phải thử nhiều các khả năng cĩ thể của K để tìm ra giá trị nào của K là tốt nhất. Cĩ một vấn đề đối với phương pháp này đĩ là: chúng ta chỉ sử dụng một số lượng ít dữ liệu cho tập tập huấn khi cố định các tham số mơ hình khác, do đĩ chúng ta sẽ chỉ cĩ một kết quả tốt nếu tập tập huấn ban đầu của chúng ta thực sự lớn. Trong trường hợp dữ liệu là “đắt” hoặc khơng thể thu thập được, thì vấn đề trên quả là một vấn đề hết sức nghiêm trọng.

Chương 5: Phương pháp học máy đề xuất Trang 49

N-Fold Cross Validation: Chúng ta cĩ thể sử dụng dữ liệu một cách hiệu quả hơn

bằng việc sử dụng N-fold cross validation. Trong phương pháp này, chúng ta chia một cách ngẫu nhiên tập dữ liệu thành N tập con với kích cỡ bằng nhau và chạy giải thuật học N lần. Trong mỗi lần chạy, một tập con trong số N tập được chọn là tập kiểm tra và mơ hình được tập huấn trên N-1 tập cịn lại. Giá trị của K được tính bằng việc trung bình các lỗi trong mỗi lần kiểm tra. Chúng ta cĩ thể chọn giá trị của K cĩ giá trị lỗi nhỏ nhất, sau đĩ tính tốn các tham số mơ hình khác dựa theo mơ hình cĩ K nhỏ nhất này. Theo kinh nghiệm, cách chọn lựa N tốt nhất là chọn N=M-1 trong đĩ M là số lượng điểm dữ liệu. Cách chọn lựa này được gọi là leave-one-out cross-validation.

Phương pháp N-fold cross validation là một trong những phương pháp được đánh giá tốt trong việc xử lý vấn đề over-fitting khi xây dựng mơ hình [10-11], tuy nhiên phương pháp này cĩ nhược điểm là tiêu tốn rất nhiều thời gian do việc phải thực hiện nhiều lần giải thuật học.

5.1.2. Lý thuyết Bayes

Lý thuyết Bayes được đặt theo tên nhà khoa học người Anh Thomas Bayes ở thế kỷ 18, ơng là một trong những nhà khoa học tiên phong đặt nền mĩng cho lý thuyết xác suất và lý thuyết quyết định.

Giả sử X là một tập dữ liệu, theo Bayes, X được xem là bằng chứng và X được mơ tả bằng việc đo lường được thực hiện trên một tập n các thuộc tính. Giả sử H là một giả thiết cho rằng tập dữ liệu X thuộc về một lớp C nào đĩ. Đối với các vấn đề liên quan đến việc phân lớp chúng ta muốn xác định P(H|X), là xác suất mà giả thiết H cĩ

Một phần của tài liệu NGHIÊN CỨU, XÂY DỰNG PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG DỰA TRÊN GIẢI THUẬT PHÂN LỚP RANDOM FOREST (Trang 41 -41 )

×