Tìm kiếm toàn bộ

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 29 - 33)

Chương 3: Một số giải thuật trích chọn thuộc tính

3.1. Tìm kiếm toàn bộ

Phương pháp này do Almuallim và Dietterich đưa ra vào năm 1991. Phương pháp này xem xét tất cả các kết hợp có thể của N các thuộc tính, bắt đầu từ một tập con rỗng các thuộc tính: là tập con thứ nhất, là tập con thứ hai,…. Khi Focus tìm ra một tập con thỏa mãn tiêu chí đo lường độ ổn định, giải thuật sẽ dừng lại. Bỏ qua độ phức tạp thời gian của giải thuật khi kiểm tra độ ổn đinh, giải thuật Focus cần tạo

ra tập con nhằm mục đích tìm ra tập con m thuộc tính bé nhất thỏa mãn tiêu chí ổn định. Khi m không nhỏ (Ví dụ m>N/2), thì chi phí thời gian chạy giải thuật là rất lớn. Dưới đây là pseudo-code của phương pháp Focus

Focus

Input: F – all feature x in data D,

U – inconsistency rate as evaluation measure Initialize: S= {}

For i=1 to N

For each subset S of size i

If CalU(S,D) = 0 /* CalU(S,D) return inconsistency */

Return S

Output: S – minimum subset satisfies U

3.1.2. Phương pháp ABB

Được Liu đưa ra năm 1998, ABB là viết tắt của cụm từ automated Branch and Bound algorithm. Chữ tự động (automated) ở đây có nghĩa là cận (bound) được xác

định một cách tự động, điều này không giống như giải thuật nhánh và cận cổ điển, cận phải được xác định trước. Dưới đây thể hiện Psuedo-code của giải thuật ABB.

ABB Algorithm

Input: S – all feature x in data D,

U – inconsistency rate as evaluation measure, Q – an empty queue,

S1, S2 – subsets Initialize:

L = {S}s δ = CalU(S,D) ABB(S,D)

For each feature x in S {

S1 = S – x /* remove one featue at a time */

enque(Q,S1) } While not Empty(Q) {

S2 = deque (Q);

If (S2 is legitimate ^ CalU(S2,D) ≤ δ) L=append(S2,L)

ABB(S2,D) }

Smin = the minimum subset(x) in L sastifing U.

Output: Smin

Giải thuật ABB bắt đầu với một tập tất cả các thuộc tính, ABB thực hiện chiến lược tìm kiếm theo chiều rộng. Tại mỗi bước giải thuật lần lượt loại bỏ một thuộc tính cho đến khi không còn một thuộc tính nào có thể được loại bỏ mà vẫn thỏa mãn tiêu chí độ ổn định. ABB thực hiện việc mở rộng không gian tìm kiếm cũng giống như là việc cắt tỉa một cây. Một nhánh bị “tỉa” khi nó không thể phát triển thêm được nữa do việc vi phạm tiêu chí ổn định. Khi một nhánh không thể phát triển thêm được nữa thì

gốc của nhánh có thể là một trong những “ứng cử viên” cho kết quả của giải thuật.

Cuối cùng, một tập với số lượng các thuộc tính nhỏ nhất được chọn lựa nếu nó thỏa mãn tiêu chí đo lường U.

3.2. Tìm kiếm theo kinh nghiệm

Có rất nhiều phương pháp chọn lựa thuộc tính theo kinh nghiệm. Nhìn chung, các phương pháp này đều là sự đánh đổi việc tìm ra một tập con tốt nhất, với việc tìm ra một tập con tốt có thể chấp nhận được ở chừng mực nào đó nhưng có thời gian thực hiện nhanh hơn. Mặc dù, mục đích của các phương pháp tìm kiếm theo kinh nghiệm vẫn là tìm ra một tập con tối ưu.

Phương pháp đơn giản nhất trong các phương pháp tìm kiếm theo kinh nghiệm là

“trích” ra một bộ phân lớp và thực hiện việc chọn lựa các thuộc tính bằng cách sử dụng bộ phân lớp được tạo ra trước đó. Dưới đây là pseudo-code của phương pháp tìm kiếm theo kinh nghiệm Wrap1:

Wrap1

Input: x – features

LA – learning algorithm

Initialize: set S ={} /* L stores selected features */

C = induceClassifier(x,LA)

S = findAllFeatures(C) /* Find all features in C */

Output: S

Trong phương pháp Wrap1, từ một tập dữ liệu N thuộc tính chúng ta áp dụng một giải thuật học trên bộ dữ liệu đó nhằm tìm ra một bộ phân lớp (các tham số) có kết quả phân lớp tốt nhất. Sau đó, áp dụng bộ phân lớp này đối với tất cả các thuộc tính trong bộ dữ liệu cần phân lớp.

Một phương pháp phức tạp hơn trong việc sử dụng bộ phân lớp nhằm tìm ra các thuộc tính tốt nhất là việc sử dụng phương pháp chọn lựa thuộc tính tiến hoặc lùi (forward/backward selection). Kết hợp với việc sử dụng độ chính xác của bộ phân lớp như một tiêu chí quyết định xem một thuộc tính có được chọn lựa vào tập kết quả tại mỗi lần thêm/loại bỏ thuộc tính hay không. Một giải thuật chọn lựa thuộc tính theo hướng tiến, tuần tự sẽ thực hiện như sau: Bắt đầu với một tập trống các thuộc tính, tại

mỗi bước lặp (số lần lặp tối đa là N lần) chọn một thuộc tính từ tập các thuộc tính chưa được chọn lựa, sao cho khi thêm thuộc tính này vào bộ phân lớp sẽ cho độ chính xác phân lớp tốt hơn so với các thuộc tính đã được chọn lựa trước đó.

Dưới đây thể hiện pseudo-code một giải thuật tìm kiếm theo kinh nghiệm sử dụng tỷ lệ lỗi của bộ phân lớp như một tiêu chí đo lường cho việc quyết định thêm/loại bỏ thuộc tính.

Accuracy

Input: D - the training data set;

F - the full set of features;

Ai - feature i, i = 1,2,…..,N

Initialize: S=F /*S - full feature set */

L={} /* L - empty list */

ER = induce(D, S) /*ER - error rate with set S */

repeat

min = ER;

for i = 1 to N begin

Si = S – Ai;

ERi = induce(D, Si);

if min > ERi

min = ERi; index = i;

end N = N-1;

remove Aindex from S and append it to L reorganize S from 1 to N

until N=1

append A1 to L /*Features in L are in original indexes*/

Output: reversed L /*The first Ai in L is the best */

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 29 - 33)

Tải bản đầy đủ (PDF)

(75 trang)