.4 So sánh tỉ lệ phần trăm phát hiện trên bộ dữ liệu lớn

Một phần của tài liệu (LUẬN văn THẠC sĩ) khám phá tương tác trội nhờ phương pháp tối ưu đàn kiến (Trang 52 - 54)

So sánh các thuật toán khác nhau trên bộ dữ liệu lớn

Thuật toán Tỉ lệ phát hiện đúng Tỉ lệ phát hiện sai SNPHarvester

Generic ACO AntEpiSeeker AntEpiSeeker (sau khi giảm thiểu dương tính giả)

26.5% 0 66.7% 53.3% 98.6% 100% 97.1% 18.8%

4.1.3 Xử lý song song và quy tắc cập nhật mùi mới Max-Min trơn (SMMAS)

Xử lý song song

Tính toán song song nhằm mục đích cải thiện thời gian tính toán, cần thiết đối với những bộ dữ liệu lớn.

Theo tư tưởng của thuật toán Generic ACO (xem hình 3.2) tại mỗi lần lặp các con kiến thực hiện độc lập, chọn cho mình một bộ SNP và tính 𝑋2cho mỗi bộ mà kiến chọn. Sau đó tiến hành cập nhật lại mùi cho mỗi vị trí.

Cập nhật mùi dựa vào 𝑋2 (xem công thức 3.3). Quá trình tính toán 𝑋2 ảnh hưởng nhiều đến thời gian thực hiện của thuật toán, phụ thuộc vào số lượng cá thể. Nếu mẫu cá thể càng lớn thì càng mất nhiều thời gian tính toán cho 𝑋2. Trong mục 3.3.3.3 nêu cách tính 𝑋2 trong bài toán, xét 3𝑘 giá trị (k là số vị trí tương tác) với hai nhóm: Cá thể bị bệnh và không bị bệnh, thực hiện tính lần lượt các giá trị với số mẫu cá thể.

Để giảm thời gian tính toán, phân chia số lượng cá thể làm nhiều đoạn thực hiện song song hóa. Sử dụng thư viện hỗ trợ OpenMP, gồm chỉ thị: #pragma omp parallel for và #pragma omp atomic.

Chỉ thị #pragma omp parallel for: Là chỉ thị để OpenMp song song hóa một

vòng lặp for bằng cách chia từng đoạn cho các luồng sẽ thực hiện. Ví dụ, với số mẫu cá thể là 2000, vòng lặp for lặp 2000 lần, lúc này CPU hỗ trợ 4 luồng, mỗi luồng thực hiện 2000/4= 500 lần lặp cho từng phần.

Chỉ thị #pragma omp atomic: Chỉ thị nhằm mục đích giúp không xảy ra tranh

chấp giữa các luồng khi cùng ghi kết quả.

Hình 4.5 Minh họa OpenMp

Quy tắc cập nhật mùi SMMAS

Được Đỗ Đức Đông đề xuất năm 2012[1] và được trình bày trong công thức 2.11. Trong bài báo quy tắc cập nhật mùi được xác định (công thức 3.3):

∆𝜏𝑘 𝑖 = 0,1. 𝑋2 𝑛ế𝑢 𝑘 ∈ 𝑆𝑚 0 𝑛𝑔ượ𝑐 𝑙ạ𝑖 Quy tắc cập nhật mùi mới SMMAS:

∆𝜏𝑘 𝑖 = 𝜌𝜏𝜌𝜏𝑚𝑎𝑥 𝑛ế𝑢 𝑘 ∈ 𝑆𝑚 𝑚𝑖𝑛 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (4.1) Trong đó: 𝜌 = 0.5; 𝜏𝑚𝑎𝑥= 0,1. 𝑋2 và 𝜏𝑚𝑎𝑥 𝜏𝑚𝑖𝑛 = N.k. với k= 𝑁+50 100 𝑛ế𝑢 𝑁 ≥ 50 1 𝑛ế𝑢 𝑁 < 50 (N là số đỉnh).

Kết quả thực nghiệm

Gọi kết quả của bài báo ban đầu là kết quả của thuật toán AntEpiSeeker(1) và kết quả với quy tắc cập nhật mùi mới SMMAS là thuật toán AntEpiSeeker(2).

Đo thời gian chạy

Chạy với bộ dữ liệu của bài báo đưa ra gồm 2000 cá thể (1000 cá thể bị bệnh và 1000 cá thể không bệnh) với 2000 SNPs. Thực hiện chạy lại với số lần lặp cho từng bộ kích thước lớn và nhỏ tương ứng là: iItCountLarge =150; iItCountSmall =300. Ngoài ra chạy với bộ dữ liệu giả lập tạo ra gồm 4000 cá thể (2000 cá thể bị bệnh và 2000 cá thể không bệnh) với 2000SNPs (xem bảng 4.5).

Mỗi hàng tương ứng với một thuật toán theo thứ tự lần lượt: AntEpiSeeker(1)- thuật toán với quy tắc cập nhật mùi mà bài báo đưa ra; AntEpiSeeker(2)- thuật toán của bài báo với quy tắc cập nhật mùi mới SMAAS; xử lý song song. Đơn vị đo thời gian chạy giữa các thuật toán là giây.

Một phần của tài liệu (LUẬN văn THẠC sĩ) khám phá tương tác trội nhờ phương pháp tối ưu đàn kiến (Trang 52 - 54)

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

(66 trang)