• Tidak ada hasil yang ditemukan

Đề xuất hàm đánh giá và chiến lược tìm kiếm đặc trưng phù hợp

CHƯƠNG 2. KỸ THUẬT LỰA CHỌN ĐẶC TRƯNG TRONG BÀI TOÁN CHO

2.3 Phương pháp đề xuất

2.3.2 Đề xuất hàm đánh giá và chiến lược tìm kiếm đặc trưng phù hợp

lựa chọn phương pháp đóng gói sử dụng chiến lược tìm kiếm toàn bộ với hai hướng tìm kiếm là tiến và lùi. Các phương pháp đóng gói thường sử dụng độ chính xác dự đoán làm tiêu chí đánh giá đặc trưng do đó trong nhiều trường hợp phương pháp này sẽ bị “quá khớp”. Để khắc phục vấn đề này chúng tôi đã cải tiến hàm đánh giá đặc trưng sử dụng kiểm chứng chéo n lần trong các phương pháp đề xuất.

2.3.2.1 Chiến lược lựa chọn đặc trưng tiến

Trong hướng tiếp cận này chúng tôi sử dụng chiến lược tìm kiếm tiến, từ một tập rỗng, lần lượt thêm vào tập đó từng đặc trưng tốt nhất. Thuật toán lựa chọn đặc trưng dựa trên phương pháp đóng gói được mô tả như sau:

Hình 2.2 Sơ đồ khối của thuật toán lựa chọn đặc trưng theo hướng tiến Các bước thực hiện của thuật toán được đặc tả dưới dạng giả mã như sau:

Thuật toán 2.1: Lựa chọn đặc trưng theo hướng tiến

Đầu vào: S là tập các mẫu (xi, yi) trong đó xi có chiều là p Đầu ra: danh sách xếp hạng của p đặc trưng

Chương trình:

1. F ← Ø //tập rỗng các đặc trưng

2. R ← Ø //tập kết quả đã sắp thứ tự của các đặc trưng 3. for i:=1 to n do

4. for l:=1 to 20 do //thuc hien 20 lan 5. for j:=1 to p do //

6. Tính Fj,lscore

theo công thức 2.2 7. endfor

8. endfor

9. locbest ← findLocBest() //tìm vị trí tốt nhất

10. fbest ← fj[locbest] //đặc trưng fj có vị trí tốt nhất

11. F = F ᴗ {fbest}

12. R = RF // thêm đặc trưng tốt nhất vào R 13. endfor

14. return R

Ý tưởng của thuật toán là cải tiến việc xây dựng hàm đánh giá đặc trưng tốt nhất sau đó tìm vị trí và đưa vào tập đặc trưng tối ưu. Điểm số của đặc trưng thứ j (j=1..p) được tính bởi công thức (2.2) do chúng tôi xây dựng:

𝐹𝑗𝑠𝑐𝑜𝑟𝑒 = 𝐹𝑗𝑘 ×(𝐴𝑘𝑙𝑒𝑎𝑟𝑛 +𝐴𝑘𝑣𝑎𝑙𝑖𝑑𝑎𝑡𝑖𝑜𝑛 )

𝑛

𝑘=1

(2.2)

Trong đó: 𝐹𝑗𝑘là độ quan trọng của đặc trưng

𝐴𝑘𝑙𝑒𝑎𝑟𝑛 là độ chính xác huấn luyện trong lần kiểm chứng chéo thứ k 𝐴𝑘𝑣𝑎𝑙𝑖𝑑𝑎𝑡𝑖𝑜𝑛là độ chính xác kiểm thử trong lần kiểm chứng chéo thứ k

Giá trị 𝐹𝑗𝑘 xác định độ quan trọng của từng đặc trưng khi huấn luyện dữ liệu bởi bộ phân lớp Random forest. Giá trị của 𝐹𝑗𝑘 càng cao, độ quan trọng của đặc trưng càng lớn. Mục tiêu của công thức (2.2) là tìm các đặc trưng làm tăng độ chính xác trong quá trình huấn luyện. Độ chính xác huấn luyện và độ chính xác kiểm thử càng cao cho độ tốt của đặc trưng càng cao. Tuy nhiên, độ chính xác huấn luyện và độ chính xác kiểm thử chưa đủ để đảm bảo tính ổn định của thuật toán, do đó chúng tôi thực hiện tính toán điểm số 𝐹𝑗𝑠𝑐𝑜𝑟𝑒 n lần và xác định đặc trưng để cho ra điểm số 𝐹𝑗𝑠𝑐𝑜𝑟𝑒 tốt nhất. Việc tìm ra vị trí của đặc trưng tốt nhất được thực hiện trong hàm findBestLoc() sử dụng các luật lựa chọn có thứ tự ưu tiên như sau:

Luật 1: lựa chọn các đặc trưng có điểm số trung vị của 𝐹𝑗𝑠𝑐𝑜𝑟𝑒 cao nhất Luật 2: lựa chọn các đặc trưng có điểm số trung bình 𝐹𝑗𝑠𝑐𝑜𝑟𝑒cao nhất Luật 3: lựa chọn các đặc trưng có độ lệch chuẩn 𝐹𝑗𝑠𝑐𝑜𝑟𝑒thấp nhất

Luật 1 tìm ra vị trí của các đặc trưng có điểm số trung vị cao nhất. Nếu chỉ có 1 điểm số trung vị cao nhất thì đây chính là vị trí của đặc trưng cần tìm. Nếu có từ 2 vị trí trở lên thì tiếp tục sử dụng luật 2 để tìm ra vị trí có điểm số trung bình của trung

lại sẽ dùng luật 3 để tìm ra vị trí của đặc trưng có độ lệch chuẩn thấp nhất. Kết quả trả về là vị trí của đặc trưng có điểm số 𝐹𝑗𝑠𝑐𝑜𝑟𝑒 cao nhất và độ lệch chuẩn thấp nhất.

Hướng tiếp cận tiến có khả năng tính toán nhanh vì: ở vòng lặp đầu tiên nó xây dựng p mô hình dự đoán cho một đặc trưng và ở lần lặp cuối cùng nó xây dựng 01 mô hình dự đoán của p đặc trưng. Tuy nhiên, hướng tiếp cận này có thể bỏ sót nhiều đặc trưng quan trọng.

2.3.2.2 Chiến lược lựa chọn đặc trưng lùi

Một hướng tiếp cận khác sử dụng chiến lược lựa chọn đặc trưng lùi được mô tả bởi sơ đồ khối sau:

Hình 2.3 Sơ đồ khối của lựa chọn đặc trưng theo hướng lui Các bước của thuật toán được mô tả dưới dạng mã giả như sau:

Thuật toán 2.2: Lựa chọn đặc trưng theo hướng lùi

Đầu vào: S là tập các mẫu (xi, yi) trong đó xi có chiều là p Đầu ra: danh sách xếp hạng của p đặc trưng

Chương trình:

1. F ← tập tất cả p đặc trưng trong S

2. R ← tập rỗng các đặc trưng // tập sắp thứ tự của các đặc trưng 3. while F is not empty do

4. for fjF do

5. Tính 𝐹𝑗𝑟𝑎𝑛𝑘 theo công thức (2.3) //sử dụng các đặc trưng // trong tập F \ {fj} 6. end

7. ftoRemove ← FRFE() 8. F = F \ {ftoRemove}

9. R = concatenate(ftoRemove,R) // thêm đặc trưng bị loại 10. end

11. return R

Đối với chiến lược lựa chọn theo thuật toán 2.2, tất cả các đặc trưng ban đầu được coi là tập đặc trưng tốt nhất. Thuật toán sẽ loại bỏ lần lượt các đặc trưng theo hàm đánh giá để có tập đặc trưng tối ưu. Chúng tôi đã cải tiến việc loại bỏ các đặc trưng bằng hàm FRFE(), trong đó áp dụng chiến lược tìm kiếm theo kinh nghiệm để có kết quả tốt hơn.

Ở bước kiểm chứng chéo thứ k, chúng tôi có được đặc trưng quan trọng 𝐹𝑗𝑘, độ chính xác học 𝐴𝑘𝑙𝑒𝑎𝑟𝑛, độ chính xác kiểm thử 𝐹𝑗𝑠𝑐𝑜𝑟𝑒, độ đo AUC (𝐴𝑈𝐶𝑘𝑙𝑒𝑎𝑟𝑛).

Những giá trị này sẽ được sử dụng để tính toán tiêu chí xếp hạng.

Tiêu chí xếp hạng cho đặc trưng thứ j được tính toán như sau:

𝐹𝑗𝑟𝑎𝑛𝑘 = 𝐹𝑗𝑘 × (𝐴𝑘𝑙𝑒𝑎𝑟𝑛 +𝐴𝑘𝑣𝑎𝑙𝑖𝑑𝑎𝑡𝑖𝑜𝑛 )

𝐴𝑘𝑙𝑒𝑎𝑟𝑛 − 𝐴𝑣𝑎𝑙𝑖𝑑𝑎𝑡𝑖𝑜𝑛𝑘 +𝜀+𝐴𝑈𝐶𝑘𝑙𝑒𝑎𝑟𝑛

𝑛

𝑘=1 (2.3)

Trong đó k=1,.., n là số lần kiểm chứng chéo; ε là một số thực đủ nhỏ.

Giá trị 𝐹𝑗𝑘 xác định độ quan trọng của đặc trưng khi huấn luyện dữ liệu bởi thuật toán. Giá trị của 𝐹𝑗𝑘càng cao, độ quan trọng của đặc trưng càng lớn. Mục tiêu của công thức (2.3) là giữ lại các đặc trưng làm tăng độ chính xác huấn luyện (train) và độ chính xác đánh giá (validate). Sự khác biệt giữa độ chính xác huấn luyện (train) và độ chính xác đánh giá (validate) càng nhỏ cho thấy thuật toán càng ổn định. Giá trị nhỏ ε được thêm vào để tránh trường hợp phân số chia cho 0 khi độ chính xác huấn luyện bằng với độ chính xác kiểm tra.

Độ đo AUC thường được sử dụng để đánh giá trong các bài toán phân lớp nhị phân như dự đoán Tốt/ Xấu hay Mua/Bán. Một mô hình hoàn hảo sẽ cho giá trị AUC bằng 1, giá trị AUC lớn hơn 0,8 cho mô hình tốt, trong khi đó nếu giá trị AUC trong khoảng nhỏ hơn 0,6 thì mô hình không tốt. Trong thực tế, AUC thường dự đoán chính xác hơn đối với bài toán phân lớp nhị phân có tập dữ liệu không cân bằng, đó là lý do tại sao chúng tôi sử dụng độ đo này trong công thức.

Chiến lược loại bỏ đệ quy (FRFE) sử dụng cả tiêu chí xếp hạng và độ chính xác kiểm thử (test) để loại bỏ các đặc trưng. Tiêu chuẩn xếp hạng được sử dụng để tạo ra danh sách các đặc trưng sẽ được loại bỏ và độ chính xác kiểm tra sẽ được dùng để xác định đặc trưng nào sẽ bị loại bỏ vĩnh viễn từ danh sách các đặc trưng sẽ được loại bỏ. Hàm FRFE() được mô tả như sau:

Giả sử ta có một tập dữ liệu với 3 đặc trưng (F1, F2, F3). Một mảng nhị phân gồm các thành phần được thiết lập là 1 nếu đặc trưng được chọn, 0 nếu đặc trưng bị loại bỏ. Nếu mảng có giá trị (1, 1, 1) có nghĩa là cả 3 đặc trưng được chọn và (1, 1, 0) có nghĩa là chỉ đặc trưng F3 bị loại. Trong trường hợp này có 3 đặc trưng nên sẽ có tất cả 8 trạng thái (tập con). Một tập con đặc trưng tối ưu thường nằm đâu đó giữa điểm đầu và điểm cuối cây.

Hình 2.4 Chiến lược lựa chọn đặc trưng FRFE

Các nút trong cây được gán nhãn Ni,j trong đó i là mức của cây, còn j là chỉ số của đặc trưng bị loại bỏ trong từng mức.

Bước đầu tiên: tính toán và lưu lại hạng của từng đặc trưng trong nút N0,0, xác định đây là hạng tốt nhất của tập tất các đặc trưng Rbest=R0,0

Bước tiếp theo: loại bỏ từng đặc trưng trong tập đặc trưng ban đầu và tính hạng của các tập con đặc trưng có thể {N1,1, N1,2,N1,3}. Tập các giá trị xếp hạng của ba nút này là {R1,1, R1,2, R1,3}. Giả sử R1,1<Rbest<R1,3<R1,2 Khi đó chúng tôi chọn nút N1,2 là nút có tập con đặc trưng có giá trị hạng cao nhất và gán Rbest=R1,2. Các khả năng có thể từ nút N1,2 là tập {N2,3,N2,1}. Tiếp tục tính hạng cho các tập con này và giả sử có kết quả R2,1<(Rbest=R1,2)<R2,3. Dựa theo các giá trị xếp hạng này chúng tôi chuyển tới nút N2,3 với Rbest=R2,3. Lúc này tập đặc trưng chỉ còn một đặc trưng và không có giá trị xếp hạng mới nào cao hơn Rbest. Lúc này hàm sẽ quay lại nút trước đó và chọn nút tốt nhất thứ hai là nút N1,3. Lúc này có hai tập con đặc trưng ứng viên là N2,1 và N2,2. Tiếp tục lặp lại quá trình tính toán giá trị xếp hạng và so sánh chúng với giá trị tốt

1 1 1

1 0 1

0 1 0

0 0 0

0 1 1 1 1 0

1 0 0

0 0 1

Tập đặc trưng đầy đủ

Tập đặc trưng rỗng N0,0

N1,1 N1,2 N1,3

N2,1 N2,2 N2,3

N3,0

Có thể nhận thấy giá trị xếp hạng thu được tốt hơn giá trị xếp hạng tốt nhất hiện tại thì hàm tiếp tục thực hiện loại bỏ và tập con đặc trưng sẽ thu nhỏ lại. Nếu không có giá trị xếp hạng nào tốt hơn thì sẽ quay lại nút trước đó như trình bày ở trên.

Quá trình sẽ dừng lại khi chỉ còn lại 1 đặc trưng hoặc không còn đường nào để đi.

Thủ tục FRFE loại bỏ đệ qui sử dụng chiến lược tìm kiếm theo kinh nghiệm như đã được trình bày trong chương một nhằm giảm bớt không gian tìm kiếm. Trong trường hợp xấu nhất sẽ là tìm kiếm vét cạn và độ phức tạp tính toán là 𝛰(2𝑁). Còn trong trường hợp tốt thì nó tìm ra tập con đặc trưng nằm trên một đường thẳng.

2.3.3 Cải tiến tốc độ xử lý bằng thư viện H20