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”