Chính xác GA_RF và GA_Kernel k-NN trên dữ liệu DLBCL

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu phương pháp tìm thuộc tính tối ưu nhằm tăng hiệu quả phân tích trong phân tích dữ liệu lớn (Trang 46)

Trong Hình 3.5, đường nét đậm thể hiện kết quả thuật toán GA_Kernel k-NN,

còn đường nét đứt thể hiện kết quả của thuật toán GA_RF.

Thuật toán

Độ chính xác phân lớp (Accuracy) Thấp nhất Trung bình Cao nhất

GA_Kernel k-NN 85.63 % 89.63 % 93.54 %

GA_RF 80.40 % 89.59 % 92.26 %

Bảng 3.6: Tóm tắt độ chính xác GA_Kernel k-NN và GA_RF trên DLBCL

Bảng 3.6 tóm tắt kết quả của 50 lần thực nghiệm, tôi thấy độ chính xác phân lớp

khi sử dụng GA_Kernel k-NN so với GA_RF cao hơn 0.04 %. Nếu xét độ chính xác phân lớp thấp nhất, GA_Kernel k-NN cao hơn 5.23% so với GA_RF.Và khi xét độ chính xác phân lớp cao nhất, GA_Kernel k-NN so với GA_RF cao hơn

1.28 %. Phương sai của độ chính xác phân lớp khi chạy thuật toán GA_Kernel k-

NN là 1.98 % trong khi đó, thuật toán GA_RF là 2.15 %. Từ những số liệu thống kê trên, thuật toán do tôi đề xuất cho kết quả phân lớp cao hơn và ổn định hơn so thuật toán GA_RF.

- Kết quả số thuộc tính trích chọn GA_Kernel k-NN và GA_RF

Hình 3.6: Thuộc tính chọn GA_RF và GA_Kernel k-NN trên dữ liệu DLBCL

Trong hình 3.6, đường nét đậm thể hiện kết quả của tôi, còn đường nét đứt thể hiện kết quả khi chạy thuật toán GA_RF.

Thuật toán

Số thuộc tính trích chọn

Thấp nhất Trung bình Cao nhất

GA_Kernel k-NN 249 546.0 842

GA_RF 258 1093.5 2444

Bảng 3.7: Số thuộc tính trích chọn GA_Kernel k-NN và GA_RF trên DLBCL

Với tổng số 2773 thuộc tính của bộ dữ liệu DLBCL, sau khi thực hiện thuật toán

GA_Kernel k-NN, số thuộc tính trung bình giảm còn 546.0 thuộc tính, trung

bình giảm còn 19.69 %. Phương sai là 162.40 thuộc tính. Đối với thuật toán GA_RF, số thuộc tính giảm trung bình còn 1093.0 thuộc tính, trung bình giảm còn 39.42 %. Phương sai là 549.72 thuộc tính. Từ biểu đồ và số liệu thống kê

cho thấy số lượng thuộc tính được trích trọn trong thuật toán GA_Kernel k-NN

- Độ chính xác phân lớp GA_Kernel k-NN và một số công bố khác

Tài liệu [5] đề xuất thuật toán tối ưu hóa bộ phận quần thể PSO (Particle Swarm Optimisation). Thuật toán kết hợp việc tìm kiếm cục bộ (PSO-LS) và sử dụng cơ chế thiết lập tham số gbest (PSO-RG), mô hình Wrapper được sử dụng để trích chọn thuộc tính. Việc kết hợp được đặt tên thành PSO – LSRG, thuật toán cho độ chính xác 98.66 %

Tài liệu [8] đề xuất thuật toán Rfprox-SVM (Proximity Measure and Support Vector Machine) tương ứng hai tham số là Jaccard index và Kuncheva index với độ chính xác phân lớp lần lượt là 82.00% và 90.00 %.

Tài liệu [9] đề xuất thuật toán kết hợp phi tuyến trên nền tảng lựa chọn thuộc tính không giám sát (Nonlinear Mixture Models) với độ chính xác phân lớp 96.25 %.

Do tài liệu [8, 9] không công bố phương sai của phương pháp do họ đề xuất, nên tôi lấy độ chính xác phân lớp cao nhất của 50 thực nghiệm khi chạy

thuật toán GA_Kernel k-NN là 93.54% để đối chiếu. Nếu so tài liệu [9] thuật

toán do tôi đề xuất cho độ chính xác phân lớp thấp hơn 2.71%, so tài liệu [5] thuật toán cho độ chính xác phân lớp thấp hơn 5.12%. Nhưng nếu so kết quả với

tài liệu [8], thuật toán GA_Kernel k-NN có độ chính xác phân lớp cao hơn 11.54

% và 3.54%

Phương pháp Độ chính xác phân lớp

GA_Kernel k-NN 93.54 %

Nonlinear Mixture Models [9] 96.25 %

PSO – LSRG [5] 98.66 %

Rfprox-SVM (Jaccard index) [8] 82.00 % Rfprox-SVM (Kuncheva index) [8] 90.00 %

Bảng 3.8: Độ chính xác GA_Kernel k-NN và công bố trên DLBCL

Hình 3.7 minh họa số liệu của bảng 3.8. Cột ở vị trí đầu tiên minh họa cho độ chính xác phân lớp cao nhất trong 50 lần thực nghiệm của thuật toán GA_Kernel k-NN trên bộ dữ liệu DLBCL. Khi đối chiếu, thuật toán do tôi đề xuất cho kết quả rất khả quan.

Hình 3.7: Độ chính xác GA_Kernel k-NN và công bố khác trên DLBCL

Đối với bộ dữ liệu DLBCL, việc áp dụng một số bộ lọc để chuẩn hóa dữ liệu giúp giảm dữ liệu dư thừa qua đó giảm thời gian thực thi thuật toán, nhưng kết quả phân lớp không thay đổi nhiều, số thuộc tính trích chọn ít và đồng đều. Dữ liệu DLBCL có đặc điểm số thuộc tính rất lớn, việc mở rộng không gian tìm

kiếm của thuật toán GA, cũng là cơ hội mang lại cho thuật toán GA_Kernel k-

NN tìm được được tập thuộc tính tốt nhất có kích thước đủ nhỏ giúp nâng cao độ chính xác phân lớp. Nhưng đổi lại thời gian thực hiện thuật toán sẽ tăng lên, chi phí tài nguyên dành cho hệ thống cũng sẽ tăng lên.

3.4. Kết luận

Độ chính xác phân lớp liên quan mật thiết với số thuộc tính trích chọn, nếu số thuộc tính trích chọn quá ít sẽ gây ra sự mất mát thông tin lớn thường dẫn đến kết quả phân lớp không cao. Từ kết quả thực ngiệm trên, việc kết hợp hai thuật

toán GA và Kernel k-NN mang lại kết quả rất khả quan. GA đã giúp tối ưu dữ liệu đầu vào, từ đó nâng cao độ chính xác phân lớp của thuật toán Kernel k-NN. Thuật toán GA_Kernel k-NN chứng tỏ việc trích chọn được thuộc tính tốt vẫn có

thể mang lại kết quả phân lớp cao. Các kết quả thực nghiệm đã minh chứng phương pháp tôi đề xuất có tiềm năng và có thể được ứng dụng rộng rãi trong các bài toán phân lớp thực tế.

Kết luận

Trong luận văn này tôi đã giới thiệu một phương pháp mới kết hợp thuật

toán GA và thuật toán Kernel k-NN. Về cơ bản thuật toán GA và thuật toán

Kernel k-NN đều là những thuật toán tốt sử dụng trong phân tích thống kê, áp dụng đối với dữ liệu có số chiều tương đối lớn (hàng trăm, hàng trăm nghìn thuộc tính). Việc kết hợp hai thuật toán, giúp kế thừa được ưu điểm đồng thời khắc phục phần nào nhược của hai thuật toán này. Cụ thể, thuật toán Kernel k- NN giúp giải quyết việc tính toán khoảng cách trên không gian dữ liệu phi tuyến, trong khi thuật toán GA luôn cho kết quả phân tích tốt trong tập n kết quả tìm được với kích thước xác định, số lần lặp giới hạn và biết trước. Theo mô

hình Wrapper, GA dùng để tìm tập thuộc tính được coi là tốt nhất, Kernel k-NN

trả về kết quả của hàm mục tiêu trong GA. Cách tiếp cận của tôi về cơ bản đã

giúp tăng độ chính xác của thuật toán Kernel k-NN . Không chỉ tăng độ chính xác phân lớp so với thuật toán Kernel k-NN và thuật toán GA_RF, thuật toán GA_Kernel k-NN còn cho thấy khả năng phân lớp tốt hơn khi so sánh với một

số phương pháp phân lớp khác khi chạy trên cùng một bộ dữ liệu [8] [15]. Cụ thể, với bộ dữ liệu Arcene phương pháp tôi đề xuất cho kết quả phân lớp cao

nhất là 90.05%, phương sai 2.03%. Tuy nhiên, việc xác định giá trị k, xác định tham số đầu vào của hàm nhân, ảnh hưởng đến kết quả của thuật toán Kernel k-

NN. Đối với thuật toán GA, kích cỡ của không gian khảo sát cũng ảnh hưởng đến chất lượng của kết quả tìm kiếm. Về mặt lý thuyết, quẩn thể càng lớn thì càng có nhiều cơ hội tìm được nhiều thuộc tính tốt hơn, tìm được cự tiểu toàn cục trong không gian rộng hơn. Tuy nhiên, kích cỡ của quần thể là bao nhiêu ? để tránh hiện tượng “quá” của không gian khảo sát dẫn đến lãng phí tài nguyên hệ thống, thời gian thực thi và độ ổn định. Vì vậy ngoài việc tối ưu dữ liệu, thuật toán do tôi đề xuất có thể tiếp tục nâng cao được hiệu quả nếu được tối ưu thêm

các tham số đầu vào của hai thuật toán GA và Kernel k-NN. Đây cũng là hướng

Tài liệu tham khảo  Tiếng Việt

[1] Bùi Văn Bình – CNCK, Giới thiệu về Giải Thuật di truyền (GA)

http://www.epu.edu.vn/cnck/Default.aspx?BT=14258

[2] Nguyễn Hà Nam (2009), "Tối ưu hóa KPCA bằng GA để chọn các thuộc

tính đặc trưng nhằm tăng hiệu quả phân lớp của thuật toán Random Forest", Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên và Công nghệ,

số 25, tr. 84-93.

 Tiếng Anh

[3] A.L. Blum, P. Langley, “Selection of Relevant Features and Examples in

Machine Learning”, Artificial Intelligence Vol 97 (1997) 245.

[4] Alexander Statnikov, Constantin F. Aliferis, Ioannis Tsamardinos, Douglas

Hardin, Shawn Levy, “A comprehensive evaluation of multicategory

classification methods for microarray gene expression cancer diagnosis, Bioinformatics”, 21(5), 2005, 631-643

[5] Binh Tran, Bing Xue, and Mengjie Zhang, “Improved PSO for Feature

Selection on High-Dimensional Datasets”, page 503, Simulated Evolution

and Learning 10th International Conference, SEAL 2014

[6] Dong-Sheng Cao, Jian-Hua Huang, Jun Yan, Liang-Xiao Zhang, Qian-Nan

Hu, Qing-Song Xu, Yi-Zeng Liang (2012), “Kernel k-nearest neighbor

algorithm as a flexible SAR modeling tool”, Chemometrics and Intelligent Laboratory Systems 114 (2012) 19–23

[7] Hechenbichler Klaus, Schliep Klaus (2004), “Weighted k-Nearest-Neighbor

Techniques and Ordinal Classification”, Discussion Paper 399, SFB 386,

Ludwig-Maximilians University Munich.

[8] Huazhen Wang, Cheng Wang∗ , Bing Lv, Xiaoming Pan (2015), “Improved

Variable Importance Measure of Random Forest via Combining of Proximity Measure and Support Vector Machine for Stable Feature Selection” Journal

[9] Ivica Kopriva, “A Nonlinear Mixture Model based Unsupervised Variable

Selection in Genomics and Proteomics”, BIOINFORMATICS 2015 –

International Conference on Bioinformatics Models, Method and Algorithms

[10] Leif E.Peterson (2009), “K-Nearest Neighbor”, Scholarpedia, 4 (2).

[11] Krzysztof J.Cios, Witold Deddrycz, Roman W.Swiniarski, Lukasz

A.Kurgan, “Data Mining A Knowledge Discovery Approach”, Springer,

(2007)

[12] Kai Yu, Liang Ji, Xuegong Zhang (2002), “Kernel Nearest-Neighbor

Algorithm”, Neural Processing Letters, 15 (2), pp.147-156.

[13] R. Kohavi, G.H. John, “Wrappers for Feature Subset Selection”, Artificial

Intelligence Vol 97 (1997) 273

[14] Rutgers University, Chapter 9 :Genetic Algorithm

http://www.cs.rutgers.edu/~mlittman/courses/ml04/ch9.pdf

[15] Viktoriya Krakovna, Jiong Du, Jun S. Liu (2015), “ Selection Bayesian

Forest Classifier : Simultaneous Variable Selection and Classification”

Một phần của tài liệu (LUẬN văn THẠC sĩ) tìm hiểu phương pháp tìm thuộc tính tối ưu nhằm tăng hiệu quả phân tích trong phân tích dữ liệu lớn (Trang 46)