Tìm kiếm xác suất

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 33 - 36)

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

3.3. Tìm kiếm xác suất

Có thể nói rằng các phương pháp xác suất là kết quả của việc các nhà nghiên cứu tiếp tục theo đuổi mục đích tìm kiếm tập con tối ưu mà không muốn thực hiện việc tìm kiếm toàn bộ trong không gian tìm kiếm. Không giống như hai phương pháp tìm kiếm theo kinh nghiệm và tìm kiếm toàn bộ được trình bày ở trên, các thuộc tính không tuần tự được loại bỏ/thêm vào từ một tập các thuộc tính cho trước. Phương pháp tìm kiếm theo xác suất cho phép tìm kiếm các tập con thuộc tính mà ở đó các tập con này được tạo ra một cách ngẫu nhiên. Trong nội dung này chúng ta tìm hiểu hai phương pháp xác suất là (i) LVF (Las Vegas algorithm for Filter feature selection) và (ii) LVW (Las Vegas algorithm for Wrapper feature selection).

3.3.1. Phương pháp LVF

Phương pháp LVF được Liu và Setiono đưa ra vào năm 1996, phương pháp LVF bao gồm một thủ tục có thể tạo ra tạo ra các tập con thuộc tính một cách ngẫu nhiên và một thủ tục nhằm đánh giá xem mỗi tập con được tạo ra có thỏa mãn tiêu chuẩn chọn lựa hay không. Dưới đây thể hiện pseudo-code của phương pháp LVF.

LVF

Input: maxTries - the maximum number of loops U - the inconsistency measure

D - a dataset with N features γ - an allowed inconsistency rate

initialize: list L = {} /* L stores equally good sets */

Cbest = N

for maxTries loops begin

S = randomSet(seed)

C = #(S) /* the cardinality of S */

If (C < Cbest ^ CalU(S,)< γ) Sbest = S

Cbest = C

L = {S} /* L is reinitialized */

else if (C = Cbest ^ CalU(S,D)< γ) L = append(S,L)

end

Output: L /* all equivalently good subsets found by LVF

*/

Kết quả của hai thủ tục trong giải thuật LVF là một tập con thuộc tính tối ưu. Đo lường được sử dụng để đánh giá trong LVF là tỷ lệ lỗi (inconsistency). Giải thuật LVF này có hai tham số quan trọng đó là (1) Tỷ lệ lỗi của dữ liệu khi sử dụng tất cả các thuộc tính, (2) Số lượng tối đa các tập con thuộc tính được tạo ra ngẫu nhiên.

Trong pseudo-code của giải thuật LVF ở trên maxTries là một hằng số liên quan đến số lượng các thuộc tính có trong tập dữ liệu ban đầu, bằng trực quan chúng ta nhận thấy rằng dữ liệu càng có nhiều thuộc tính thì càng khó phân lớp. Thông thường maxTries = c x N, trong đó c là một hằng số (c<=N). Giá trị maxTries càng lớn có nghĩa là số lần lặp của giải thuật càng lớn và kết quả của giải thuật cũng tốt hơn. Một cách khác để xác định giá trị maxTries trong LVF đó là xác định giá trị maxTries theo không gian tìm kiếm mà người sử dụng muốn LVF thực hiện. Chúng ta biết rằng không gian tìm kiếm là 2N, nếu người sử dụng muốn LVF thực hiện việc tìm kiếm trong p% của không gian tìm kiếm thì maxTries=2N x p%. Hàm randomSet() yêu cầu một bộ sinh ngẫu nhiên tốt để thực hiện việc phân ngẫu nhiên các tập con thuộc tính khác nhau. Có một bộ sinh số ngẫu nhiên tốt cũng có nghĩa là có ít hơn các tập con giống nhau được tạo ra.

3.3.2. Phương pháp LVW

LFV là một giải thuật tương đối đơn giản điều này cũng có nghĩa là nó có thể dễ dàng thay đổi được. Chúng ta có thể thay đổi một trong hai thủ thục. Nếu chúng ta thay đổi thủ tục tạo ra ngẫu nhiên các tập con thuộc tính cũng có nghĩa là chúng ta sẽ không có được giải thuật tìm kiếm ngẫu nhiên. Do đó, chúng ta chỉ có thể thay đổi thủ

tục đánh giá nếu chúng ta vẫn muốn phương pháp này thuộc vào nhóm các phương pháp chọn lựa thuộc tính dựa trên xác suất. Giả sử rằng chúng ta quyết định sử dụng độ chính xác ước lượng của bộ phân lớp như một tiêu chí đo lường, chúng ta có phương pháp LWF. Psuedo-code của phương pháp LVW được thể hiện trong dưới đây.

Trong phương pháp LVW các phương pháp thống kê được áp dụng nhằm ước tính độ chính xác của bộ phân lớp. Giá trị maxTries trong LVW được xác định tương tự như trong LVF. Tuy nhiên, để chạy giải thuật học (LA) có thể phải thiết lập một vài tham số khác theo yêu cầu của giải thuật học. Hàm estimate() được sử dụng trong LVW thay vì hàm CalU() trong LVF, có nhiều cách để thực hiện hàm estimate() và mỗi cách có thể đưa ra những kết quả chọn lựa thuộc tính khác nhau. Một điểm khác nhau nữa trong hai phương pháp này là LVF sử dụng tỷ lệ lỗi như một đo lường đánh giá, trong khi đó LVW sử dụng độ chính xác của bộ phân lớp như một đo lường đánh giá.

LVW

Input: maxTries - the maximum number of loops LA - a learning algorithm

D - a dataset with N features F - a full set of features

Initialize: list L = {} /*L stores sets with equal accuracy*/

Abest = estimate(D, F,LA) for maxTries loops begin

S = randomSet(seed) A = estimate(D,S,LA) if (A > Abest)

Sbest = S Abest = A

L = {S} /*L is reinitialized*/

else if (A = Abest)

L = append(S,L) end

Output: L /*all equivalently good subsets found by LVW*/

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 33 - 36)

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

(75 trang)