Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO) Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO) Tìm hiểu thuật toán phân lớp dựa trên khai phá luật kết hợp sử dụng thuật toán ant colony optimization (ACO)
Trang 1xv
MỤC LỤC
MỤC LỤC xiv
DANH SÁCH KÍ HIỆU, TỪ VIẾT TẮT xviii
DANH MỤC BẢNG BIỂU xix
DANH MỤC HÌNH ẢNH xxi
MỞ ĐẦU 1
1 Giới thiệu 1
2 Mục tiêu, đối tượng, phạm vi nghiên cứu 1
3 Nhiệm vụ và hướng tiếp cận 2
4 Kết quả đạt được 2
5 Cấu trúc luận văn 3
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ LUẬT KẾT HỢP 4
1.1 Giới thiệu về khai phá luật kết hợp 4
1.2 Định nghĩa luật kết hợp 4
1.3 Các khái niệm về luật kết hợp 6
1.3.1 Độ hỗ trợ (Support) 7
1.3.2 Độ tin cậy (Confident) 8
1.3.3 Tập mục phổ biến (Frequent itemset) 8
1.4 Các công trình nghiên cứu 9
CHƯƠNG 2: PHÂN LỚP DỰA TRÊN LUẬT KẾT HỢP 14
2.1 Giới thiệu chung 14
2.2 Luật phân lớp 15
2.3 Các khái niệm cơ bản trong bài toán phân lớp dựa trên luật kết hợp 16
2.4 Các công trình liên quan 17
2.4.1 Thuật toán CMAR (classification based on multiple association rules) 17
2.4.2 Thuật toán PRM (Predictive Rule Mining) 18
2.4.3 Thuật toán CPAR 19
2.4.4 Thuật toán FCBA : Fast Classification Based on Association Rules Algorithm 20
2.4.5 Phân loại dữ liệu dựa trên chọn lọc tính năng 21
2.4.6 CBIR: Phân lớp dựa trên luật kết hợp và các cách tiếp cận trong Datamining 21
Trang 2xvi
2.4.7 MISFP-Growth:Mô hình khai thác và hỗ trợ nhiều mặt hàng 22
CHƯƠNG 3: PHÂN LỚP DỰA TRÊN LUẬT KẾT HỢP SỬ DỤNG GIẢI THUẬT ĐÀN KIẾN (ACO) 23
3.1 Kiến thức từ thực tế đến nhân tạo 23
3.1.1 Kiến thật 23
3.1.2 Kiến nhân tạo 25
3.2 Mô tả thuật toán ACO tổng quát 26
3.3 Các công trình liên quan đến giải thuật đàn kiến 30
3.3.1 Hệ Kiến (AS) 31
3.3.2 Hệ đàn kiến (ACS) 34
3.3.3 Hệ kiến MIN-MAX 37
3.4 Một số vấn đề khác khi áp dụng ACO 40
3.4.1 Đặc tính hội tụ 40
3.4.2 Thực hiện song song 40
3.4.3 ACO kết hợp với tìm kiếm cục bộ 42
3.5 Phân lớp dựa trên luật kết hợp sử dụng giải thuật đàn kiến Ant-system 43
3.5.1 Tìm luật phân lớp 43
3.5.2 Phân lớp (classification): 44
3.6 Phân lớp dựa trên luật kết hợp sử dụng giải thuật lai ghép ACO-AC 45
3.6.1 Tìm luật phân lớp 45
3.6.2 Phân lớp (classification): 53
3.6.3 Nhận xét thuật toán ACO-AC 54
3.7 Phân lớp dựa trên luật kết hợp sử dụng giải thuật ACO cải tiến 55
3.8 Cách tiếp cận chung của các giải thuật khai phá luật kết hợp 59
3.9 Đánh giá độ chính xác của luật 59
CHƯƠNG 4: ĐÁNH GIÁ THỰC NGHIỆM 64
4.1 Môi trường cài đặt chương trình thực nghiệm 64
4.2 Mô tả dữ liệu thực nghiệm 65
4.3 Tiêu chí đánh giá 66
4.4 Giao diện chương trình thực nghiệm 66
4.5 Các trường hợp thực nghiệm và đánh giá kết quả 70
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81
Trang 3xvii
5.1 Kết luận 81
5.2 Hạn chế 82
5.3 Hướng phát triển 82
TÀI LIỆU THAM KHẢO 83
Trang 4xviii
DANH SÁCH KÍ HIỆU, TỪ VIẾT TẮT
Viết tắt Viết đầy đủ
(Tối ưu hóa đàn kiến)
(Hệ kiến ACS)
(Hệ kiến AS)
(Hệ kiến đa mức MLAS)
(Hệ kiến MMAS)
(Tối ưu hóa bầy đàn)
(Hệ kiến MMAS trơn)
Trang 5xix
DANH MỤC BẢNG BIỂU
Bảng 1 1 Dữ liệu mua hàng ở siêu thị 6
Bảng 1 2 CSDL với các giao dịch 6
Bảng 2 1 Ví dụ về cơ sở dữ liệu huấn luyện mẫu 16
Bảng 3 1 Thuật toán ACO theo thứ tự thời gian xuất hiện 30
Bảng 3 2 Thuật toán ACO - AC 45
Bảng 3 3 Business Database Itemsets 57
Bảng 3 4 Frequent one itemset 57
Bảng 3 5 Initial Global power set 57
Bảng 3 6 The statistics of candidate itemsets with frequency 58
Bảng 3 7 Prune the candidate itemsets with frequency 58
Bảng 3 8 Frequency itemsets 59
Bảng 3 9 Ví dụ về độ bao phủ Coverage và độ chính xác Accuracy 60
Bảng 3 10 Ví dụ hình thành luật dựa trên tập huấn luyện 61
Bảng 3 11 Sử dụng tập luật để xác định lớp cho các mẫu mới 62
Bảng 4 1 Kết quả thời gian thực thi (mili giây) của các thuật tuần tự theo độ hỗ trợ thay đổi từ 14% đến 18% với bộ dữ liệu đơn hàng 71
Bảng 4 2 Kết quả về độ chính xác của các thuật toán trên bộ dự liệu đơn hàng với độ hỗ trợ thay đổi từ 14% đến 18% 72
Bảng 4 3 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 16% với bộ dữ liệu hàng 73
Bảng 4 4 Kết quả thực nghiệm về thời gian thực thi (mili giây) của các thuật toán trên bộ dữ liệu mushroom với độ hỗ trợ thay đổi từ 50% đến 80% 73
Bảng 4 5 Kết quả về độ chính xác của các thuật toán trên bộ dữ liệu mushroom với độ hỗ trợ 80% 74
Bảng 4 6 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 60% với bộ dữ liệu mushrom 75
Bảng 4 7 Kết quả thực nghiệm về thời gian thực thi (mili giây) của các thuật toán trên bộ dữ liệu T10I4D100K với độ hỗ trợ thay đổi từ 5% đến 9% 76
Bảng 4 8 Kết quả về độ chính xác của các thuật toán trên bộ dữ liệu T10I4D100K với độ hỗ trợ từ 5% đến 7% 76
Trang 6xx
Bảng 4 9 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 7% với bộ dữ liệu T10I4D100K 77 Bảng 4 10 Kết quả thực nghiệm về thời gian thực thi (mili giây) của các thuật toán trên bộ
dữ liệu BMS_WebView_1 với độ hỗ trợ thay đổi từ 2.5% đến 4.5% 78 Bảng 4 11 Kết quả về độ chính xác của các thuật toán trên bộ dữ liệu BMS_WebView_1 với
độ hỗ trợ từ 5% đến 7% 78 Bảng 4 12 Kết quả về số lượng tài nguyên (mà thuật toán cần sử dụng) với độ hỗ trợ được chọn là 3.5% với bộ dữ liệu BMS_WebView_1 80
Trang 7xxi
DANH MỤC HÌNH ẢNH
Hình 1 1 Minh họa định nghĩa Item, Itemset, Transaction 5
Hình 3 1 Thí nghiệm trên cây cầu đôi 24
Hình 3 2 Thí nghiệm ban đầu chỉ một nhánh dài và sau 30 phút thêm nhánh ngắn 25
Hình 3 3 Đặc tả thuật toán ACO 27
Hình 3 4 Sơ đồ tìm đường của kiến từ tổ đến nguồn thức ăn 29
Hình 3 5 Lựa chọn đỉnh đi tiếp theo khi kiến 30
Hình 4 1 Giao diện dữ liệu đầu vào 67
Hình 4 2 Giao diện thực hiện thuật toán ACO (Ant-System) 68
Hình 4 3 Giao diện thực hiện thuật toán ACO-AC 69
Hình 4 4 Giao diện thực hiện thuật toán ACO cải tiến 70
Trang 8Trong điều kiện và yêu cầu của thương trường, đòi hỏi phải có những phương pháp nhanh, phù hợp, tự động, chính xác và có hiệu quả để lấy được thông tin có giá trị Các tri thức chiết xuất được từ cơ sở dữ liệu sẽ là một nguồn tài liệu hỗ trợ cho lãnh đạo trong việc lên kế hoạch hoạt động hoặc trong việc ra quyết định sản xuất kinh doanh Vì vậy, tính ứng dụng của khai phá luật kết hợp từ cơ sở dữ liệu là một vấn đề đang được quan tâm
Khai phá dữ liệu là giai đoạn quan trọng trong tiến trình khai phá tri thức từ cơ sở dữ liệu, các tri thức này hỗ trợ cho việc ra quyết định trong khoa học và kinh doanh
Luật kết hợp là phương tiện hữu ích để khám phá các mối liên kết trong dữ liệu Khai phá luật kết hợp trong cơ sở dữ liệu Multimedia cho phép tiết kiệm chi phí và làm tăng hiệu suất làm việc
Tối ưu hóa đàn kiến (Ant Colony Optimization - ACO) là cách tiếp cận metaheuristic tương đối mới, do Dorigo giới thiệu vào năm 1991 và liên tục được phát triển cho đến nay Thành công đầu tiên của các thuật toán ACO là giải quyết bài toán Người chào hàng nổi tiếng với số đỉnh lên hơn 2000 với kết quả thu được là tốt, hiệu quả của nó được chứng minh bằng thực nghiệm
Đầu tiên, luận văn đã hệ thống hóa các kiến thức cơ sở về lý thuyết độ phức tạp thuật toán Sau đó, luận văn trình bày các bài toán điển hình trong lớp các bài toán vị trí
cơ sở cùng các nghiên cứu đã được công bố gần đây Tiếp theo, tác giả đề xuất thuật toán dựa trên giải thuật tối ưu đàn kiến giải một số bài toán vị trí cơ sở hiện nay và so sánh kết quả thu được với một số công trình đã được công bố gần đầy nhằm rút ra được các ưu nhược điểm của thuật toán
2 Mục tiêu, đối tượng, phạm vi nghiên cứu
Mục tiêu:
Trang 92
Tìm hiểu tổng quan về khai phá luật kết hợp
Tìm hiểu bài toán phân lớp
Tìm hiểu bài toán liên quan đến phân lớp dựa trên luật kết hợp
Tìm hiểu bài toán Khai Phá Luật Kết Hợp Tương Quan Sử Dụng Thuật Toán Ant Colony Optimization
Đối tượng nghiên cứu
Luật kết hợp
Bài toán phân lớp áp dụng luật kết hợp
Giải thuật đàn kiến (Ant Colony Optimization)
Phạm vi nghiên cứu:
Nghiên cứu sự tương quan thuật toán khai phá luật kết hợp
Áp dụng khai phá luật kết hợp vào phân lớp dữ liệu
3 Nhiệm vụ và hướng tiếp cận
Tìm hiểu thuật toán Ant Colony Optimization
Tìm hiểu về bài toán phân lớp
Tìm hiểu tổng quan về khai phá luật kết hợp
Tìm hiểu bài toán phân lớp dựa vào khai phá luật kết hợp có áp dụng thuật toán Ant Colony Optimization
4 Kết quả đạt được
Hiểu được cơ bản về hệ thống khai phá dữ liệu, phát hiện tri thức, những quy trình căn bản và nắm được các giai đoạn, chức năng của từng quá trình đánh giá Trong mỗi khâu của quá trình khai phá tri thức có những phương pháp được nêu và khái quát có những ưu điểm khác nhau làm cho các hệ thống khai phá được đa dạng, phục vụ ngày càng tốt hơn, đầy đủ hơn các nhu cầu của cuộc sống
Tìm hiểu các thuật toán luật kết hợp tương quan sử dụng thuật toán đường đi ngắn nhất hay còn gọi là thuật toán đàn kiến Có sự đối chiếu, so sánh về hiệu suất, độ chính xác thông qua thực nghiệm để đưa ra nhận xét kết luận về ưu điểm và khuyết điểm của các cải tiến trong thuật toán ra đời sau
Trang 103
5 Cấu trúc luận văn
Cấu trúc chuyên đề được phân thành 5 chương, trong đó:
Chương 1: Giới thiệu tổng quan về khai phá luật kết hợp
Chương 2: Giới thiệu phân lớp dựa trên luật kết hợp
Chương 3: Trình bày chi tiết về thuật toán tối ưu hóa đàn kiến Phân lớp dựa trên luật kết hợp sử dụng giải thuật đàn kiến (ACO)
Chương 4: Phần đánh giá thực nghiệm Trình bày về cài đặt chương trình, thử nghiệm và so sánh kết quả với một số công trình đã công bố gần đây
Chương 5: Kết luận và hướng phát triển
Trang 114
CHƯƠNG 1:
TỔNG QUAN VỀ KHAI PHÁ LUẬT KẾT HỢP
1.1 Giới thiệu về khai phá luật kết hợp
Khai phá luật kết hợp (ARM - Association rules mining) lần đầu được Rakesh Agrawal Agrawal đưa ra vào năm 1993 [1] Khai phá luật kết hợp là một kỹ thuật được sử dụng trong khai phá dữ liệu nhằm tìm ra các phần tử thường xuất hiện cùng nhau trong cơ sở dữ liệu; từ đấy rút ra được các luật và ảnh hưởng của một tập phần tử dẫn đến sự xuất hiện của tập phần
tử khác Ví dụ, sự xuất hiện của A kéo theo sự xuất hiện của B nên ta có luật kết hợp (A→B)
Dạng luật nhờ vậy được gọi là luật kết hợp và quá trình tìm ra được các luật kết hợp được gọi
là khai phá luật kết hợp
Luật kết hợp là dạng luật khá đơn giản nhưng mang lại khá nhiều ý nghĩa Thông tin
mà luật kết hợp cung cấp hỗ trợ đáng kể trong quá trình đưa ra quyết định Các giải thuật khai phá luật kết hợp tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như nhóm các món hàng thường được mua kèm với nhau trong siêu thị Những nghiên cứu về luật kết hợp gần đây tập trung xây dựng các thuật toán khai phá luật kết hợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các thuật toán đã có
Giả định chúng ta có rất nhiều mặt hàng, ví dụ như “bánh mì”, “sữa”,…(coi là tính chất hoặc trường) Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một số mặt hàng nào
đó, và chúng ta muốn tìm hiểu các khách hàng thường mua các mặt hàng nào đồng thời, chúng ta không cần biết khách hàng cụ thể là ai Nhà quản lý dùng những thông tin này để điều chỉnh việc nhập hàng về siêu thị, hay đơn giản là để bố trí sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó theo một gói hàng, giúp cho khắc đỡ mất công tìm kiếm Khai phá luật kết hợp được mô tả như sự tương quan của các sự kiện, những sự kiện xuất hiện thường xuyên một cách đồng thời Nhiệm vụ chính của khai phá luật kết hợp là phát
Trang 12đó X, Y I, thỏa mãn điều kiện X Y= Các tập hợp X và Y được gọi là các tập hợp tính
chất (itemset) Tập X gọi là mệnh đề điều kiện hay còn gọi là nguyên nhân (phần bên trái), tập Y gọi là mệnh đề kết quả của luật tương ứng hay còn gọi là hệ quả (phần bên phải)
Transaction ID List of Item_IDs
T100 I1, I2, I5 T200 I2, I4 T300 I2, I3 T400 I1, I2, I4 T500 I1, I3 T600 I2, I3 T700 I1, I3 T800 I1, I2, I3, I5 T900 I1, I2, I3
Hình 1 1 Minh họa định nghĩa Item, Itemset, Transaction
Item (phần tử): Các phần tử, mẫu, đối tượng đang được quan tâm
I = {i 1 ,i 2 , … ,i n } tập tất cả m phần tử có thể có trong tập dữ liệu
Itemset (tập phần tử): Là tập hợp các Items Một itemset có k items được gọi là Itemset
k- Transaction (giao dịch): Lần thực hiện tương tác với hệ thống (ví dụ: giao dịch
“khách hàng mua hàng”) Liên hệ với một tập T gồm các phần tử được giao dịch
Ví dụ: trong siêu thị, ta có tập các mục I = {Sữa, Bánh mì, Bơ, Gạo} và một cơ sở dữ
liệu chứa các mục (tại mỗi giao tác, giá trị 1 là có mục, giá trị 0 là không có) như sau:
Trang 136
Bảng 1 1 Dữ liệu mua hàng ở siêu thị
Transaction ID Sữa Bánh mì Bơ Gạo
1.3 Các khái niệm về luật kết hợp
Để chọn ra các luật có ích từ tập các luật có thể có, ta cần ràng buộc những số đo đảm bảo ý nghĩa Hai ràng buộc được xem là quan trọng nhất, đó là giá trị độ hỗ trợ (Support) [2]
và độ tin cậy (Confident)
Để minh họa cho các khái niệm, ta lấy ví dụ CSDL với các giao dịch sau
Trang 147
Hạng mục (item): mặt hàng A = apple, B = bread, C = cereal, D = donuts, E = eggs
Tập các hạng mục (itemset): danh sách các hạng mục trong giỏ hàng
như {A,B,C,D,E}
Giao dịch (transaction): tập các hạng mục được mua trong một giỏ hàng, lưu kèm
với mã giao dịch (TID)
Mẫu phổ biến (frequent item): là mẫu xuất hiện thường xuyên trong tập dữ liệu
như {A,C} xuất hiện khá nhiều trong các giao dịch
Tập k-hạng mục (k-itemset): ví dụ danh sách sản phẩm (1-itemset) như {A,B,C},
danh sách cặp sản phẩm đi kèm (2-itemset) như {{A,B},{A,C}}, danh sách 3 sản phẩm đi kèm (3-itemset) như {{A,B,C},{A,C,E}}
Tập mục phổ biến (frequent itemset): là tập các hạng mục S (itemset) thỏa mãn độ
phổ biến tối thiểu (minsupp – do người dùng xác định như 40% hoặc xuất hiện 5 lần)
Nếu Supp(S) >= minsupp thì S là tập phổ biến Sẽ được giới thiệu chi tiết hơn ở phần
bên dưới
1.3.1 Độ hỗ trợ (Support)
Độ hỗ trợ (tên tiếng anh là support) của một tập mục X [2] được định nghĩa là tỷ lệ các giao tác có chứa tập mục này trong cơ sở dữ liệu với tổng số các giao tác Là độ đo tần số xuất hiện của các phần tử/tập phần tử
Ví dụ, tập mục {milk, bread, butter} có độ phổ biến là 2/5 = 0.4 hay 40% số giao tác
Định nghĩa 2:
Độ hỗ trợ của một tập hợp X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi
T D có chứa tập X và tổng số bản ghi trong D [2] (hay là phần trăm của các bản ghi trong
D có chứa tập hợp X), ký hiệu là support(X) hay supp(X)
Trang 158
Supp(XY) = |{TD: TYX}|
|D|
Khi chúng ta nói rằng độ hỗ trợ của một luật là 50%, nghĩa là có 50% tổng số giao tác
chứa X Y [2] Như vậy, độ hỗ trợ mang ý nghĩa thống kê của luật
1.3.2 Độ tin cậy (Confident)
Định nghĩa 4:
Độ đo đo tần số xuất hiện của một tập phần tử trong điều kiện xuất hiện của một tập phần tử khác
Độ tin cậy (tên tiếng anh là confident) được định nghĩa như sau: Độ tin cậy của luật X
Y là xác suất xuất hiện Y với điều kiện X trong tất cả các giao tác:
Conf(XY) = Supp(X Y)/Supp(X)
Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi của tập hợp chứa
X Y, so với tổng số các bản ghi chứa X
Ta có thêm định nghĩa khác để hiểu rõ hơn về độ tin cậy :
Định nghĩa 5:
Độ tin cậy của một luật kết hợp X Y là tỷ lệ giữa số lượng các bản ghi trong D chứa
XY với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là Conf(r)
Ta có 0 ≤ conf(r) ≤ 1
Nhận xét:
Supp(X Y)=P(XY) Conf (X Y) = P(Y/X)=supp(XY)/supp(X)
Nói rằng độ tin cậy của một luật X=>Y là 90%, có nghĩa là có tới 90% số bản ghi chứa
X chứa luôn cả Y Hay nói theo ngôn ngữ xác suất là: “ Xác suất có điều kiện để sảy ra sự kiện Y đạt 90%” Điều kiện ở đây chính là: “Xảy ra sự kiện X”
1.3.3 Tập mục phổ biến (Frequent itemset)
Định nghĩa 6: Tập hợp X được gọi là tập mục phổ biến (Frenquent itemset) nếu có supp(X) minsup, với minsup là ngưỡng độ hỗ trợ cho trước Kí hiệu các tập này là FI
Định nghĩa 7: Một tập mục X được gọi là đóng (closed) nếu không có tập cha nào của
X có cùng độ hỗ trợ với nó, tức là không tồn tại một tập mục X’ nào mà X’X và t(X) = t(X’)
Trang 169
(với t(X) và t(X’) tương ứng là tập các giao chứa tập mục X và X’) Ký hiệu tập phổ biến đóng là FCI
Khai phá luật kết hợp là công việc phát hiện ra (tìm ra, khám phá, phát hiện) các luật kết
hợp thỏa mãn các ngưỡng độ hỗ trợ ( ) và ngưỡng độ tin cậy () cho trước Bài toán khai phá
luật kết hợp được chia thành hai bài toán nhỏ, hay như người ta thường nói, việc giải bài toán trải qua hai pha:
Pha 1: Tìm tất cả các tập phổ biến (tìm FI) trong CSDL T
Pha 2: Sử dụng tập FI tìm được ở pha 1 để sinh ra các luật tin cậy (interesting rules) Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng
ta có thể xác định luật AB →CD với tỷ lệ độ tin cậy:
conf =supp(ABCD)
𝑠𝑢𝑝𝑝(𝐴𝐵)
Nếu conf minconf thì luật được giữ lại (và thỏa mãn độ hỗ trợ tối thiểu vì ABCD là
phổ biến)
1.4 Các công trình nghiên cứu
Khai phá luật kết hợp là một kỹ thuật quan trọng trong lĩnh vực khai phá dữ liệu Mục tiêu khai phá là phát hiện những mối liên hệ giữa các giá trị dữ liệu trong các dữ liệu giao dịch Mô hình đầu tiên của bài toán khai phá luật kết hợp là mô hình nhị phân hay còn gọi là
mô hình cơ bản (Agrawal et al., 1993) [1], phân tích dữ liệu giao dịch, phát hiện các mối liên
hệ giữa các tập mục hàng hoá đã bán được tại các siêu thị Từ đó, doanh nghiệp có kế hoạch
bố trí, sắp xếp, kinh doanh hợp lý, đồng thời tổ chức sắp xếp các quầy gần nhau để có doanh thu trong các phiên giao dịch là lớn nhất
Bài toán khai phá luật kết hợp là bài toán khai phá các luật kết hợp có độ hỗ trợ (support) cũng như độ tin cậy (confidence) lớn hơn hoặc bằng một ngưỡng hỗ trợ tối thiểu (minsup) và ngưỡng tin cậy tối thiểu (minconf)
Các thuật toán được đề xuất để khai phá luật kết hợp bao gồm 2 giai đoạn [1] [3]:
(Agrawal et al., 1993, 1994; Han.J et al., 2000)
Giai đoạn 1: Tìm tất cả các tập mục phổ biến từ dữ liệu giao dịch thoả minsupp Giai đoạn 2: Sinh các luật tin cậy kết hợp từ tập mục phổ biến tìm thấy ở giai đoạn thứ nhất
Trang 1710
Giai đoạn thứ nhất chiếm hầu hết thời gian cho quá trình khai phá luật kết hợp Giá trị ngưỡng phổ biến tối thiểu minsup là yếu tố quan trọng trong quá trình rút gọn không gian tìm kiếm cũng như giới hạn các luật sinh trong giai đoạn thứ hai Các thuật toán khai phá luật kết hợp truyền thống chỉ dùng một giá trị ngưỡng hỗ trợ tối thiểu ‘minsupp’ với ngầm định là các mục hàng có cùng tính chất và tần số trong dữ liệu, điều này không thực tế Trong kinh doanh bán lẻ, thông thường các mặt hàng thiết yếu, hàng tiêu dùng và các sản phẩm giá rẻ được mua nhiều hơn, trong khi các mặt hàng xa xỉ và các sản phẩm giá trị cao lại ít được mua Nếu chọn minsupp quá cao thì các mặt hàng được khai phá thông thường có giá thành thấp và mang lại lợi nhuận không cao cho doanh nghiệp Ngược lại, nếu chọn minsupp quá thấp thì các mặt hàng được khai phá quá lớn, điều này làm cho doanh nghiệp khó khăn khi ra quyết định kinh doanh Vì vậy, Liu et al (1999) đã mở rộng bài toán khai phá luật kết hợp với nhiều ngưỡng phổ biến tối thiểu (mỗi mục hàng có một ngưỡng phổ biến tối thiểu riêng) tương ứng mỗi mục hàng khác nhau có tính chất khác nhau và tần số giao dịch khác nhau Nhóm tác giả này
đã đề xuất thuật toán MSApriori – khai phá luật kết hợp khác nhau thỏa ngưỡng phổ biến tối
thiểu khác nhau phụ thuộc vào các mục hàng có trong luật
Một số thuật toán điển hình khai phá tập phổ biến với nhiều ngưỡng phổ biến tối thiểu:
Thuật toán growth++ (Kiran et al., 2011) đã đề xuất cải tiến thuật toán
CFP-growth bằng cách rút gọn không gian tìm kiếm và xây dựng MIStree nhỏ gọn dựa trên tree Thuật toán đề xuất bốn kỹ thuật rút gọn không gian tìm kiếm : ngưỡng phổ biến tối thiểu thấp nhất, ngưỡng phổ biến tối thiểu có điều kiện, tính chất bao đóng có điều kiện và tỉa các nút lá không phổ biến Thuật toán cải thiện hiệu suất đáng kể so với thuật toán CFP-growth
MIS-Các thuật toán trên chưa đáp ứng thực tế, khi cần khai phá luật kết hợp thì người dùng
có thể yêu cầu thực hiện khai phá luật kết hợp thỏa nhiều ngưỡng phổ biến tối thiểu trong nhiều chuỗi thao tác liên tiếp khác nhau (xây dựng lại MIS-tree và rút gọn không gian từ đầu
Thuật toán Apriori
Thuật toán dựa trên một nhận xét khá đơn giản là bất kỳ tập hợp con nào của tập xuất hiện
thường xuyên cũng là tập xuất hiện – thường xuyên Do đó, trong quá trình đi tìm các tập ứng cử viên, nó chỉ cần dùng đến các tập ứng cử viên vừa xuất hiện ở bước ngay trước
đó, chứ không cần dùng đến tất cả các tập ứng cử viên (cho đến thời điểm đó) Nhờ vậy, bộ nhớ được giải phóng đáng kể
Trang 18được các tập hợp – thường xuyên có 2 phần tử Ký hiệu tập hợp này là L2
Bước 3: Với chủ ý đã nêu (về tính chất tăng dần của các tập hợp – thường xuyên), ta
tiến hành tìm các ứng cử viên có 3 phần tử (lấy từ L1) Gọi nó là tập C3 Lưu ý là nếu {A, B, C} muốn là “ứng cử viên” thì các tập 2 phần tử {A, B},{B,C},{C, A } đều phải
là – thường xuyên, tức là chúng đều là phần tử của tập L2 Ta đi “kiểm tra tư cách
đại biểu” trong tập C3 và lọc ra được tập các tập hợp – thường xuyên có 3 phần tử
Tập hợp này được ký hiệu là L3
Bước 4: Ta tiến hành tìm các ứng cử viên có n phần tử Gọi tập của chúng là tập Cn
và từ đây, lọc ra Ln là tập các tập hợp – thường xuyên có n phần tử
Mã giả thuật toán Apriori
Dữ liệu vào: Tập các giao dịch D, ngưỡng hỗ trợ minsup
Dữ liệu ra: Tập trả lời bao gồm các tập mục phổ biến trên D
Trang 1912
Cốt lõi của thuật toán Apriori là hàm apriori_gen() do Agrawal đề nghị năm 1994 [1]
Hàm này hoạt động theo 2 bước, bước 1- tập hợp Lk-1 tự kết nối (join) với chính nó để tạo
ra tập ứng cử viên Ck Sau đó hàm apriori_gen() loại bỏ các tập hợp có một hợp con (k-1)
phần tử không nằm trong Lk-1 (vì chúng không thể là tập hợp xuất hiện – thường xuyên, theo như nhận xét ban đầu)
Thuật toán Apriori-TID
Thuật toán Apriori-TID là phần mở rộng theo hướng tiếp cận cơ bản của thuật toán Apriori Thay vì dựa vào cơ sở dữ liệu thô thuật toán Apriori- TID biểu diễn bên trong mỗi giao dịch bởi các ứng cử viên hiện hành
Như ta đã thấy, thuật toán Apriori đòi hỏi phải quét toàn bộ cơ sở dữ liệu để tính độ hỗ trợ cho các tập hợp ứng cử viên ở mỗi bước Đây là một sự lãng phí lớn Dựa trên tư tưởng ước đoán và đánh giá độ hỗ trợ, Agrawal đề xuất cải tiến Apriori theo hướng chỉ phải quét cơ
sở dữ liệu lần đầu tiên, sau đó tính độ hỗ trợ cho các tập hợp 1 phần tử Từ bước thứ hai trở
đi, Thuật toán Apriori-TID nhờ lưu trữ song song cả ID của giao dịch và các ứng cử viên, có thể đánh giá, ước lượng độ hỗ trợ mà khỏi phải quét lại toàn bộ cơ sở dữ liệu
Sự khác nhau giữa Apriori và AprioriTID là: cơ sở dữ liệu không được sử dụng để đếm các support sau lần đầu tiên quét qua cơ sở dữ liệu Vì sau lần quét đầu tiên các 1- itemset đã được sinh (các L1), các L1 này được dùng để lọc ra các giao dịch của cơ sở dữ liệu bất kỳ
item nào là không phổ biến và những giao dịch trong C1 chỉ chứa những item không phổ biến Kết quả đó được đưa vào C2 và sử dụng lần quét đó Vì vậy kích thước của C2 là khá nhỏ hơn
so với C1 Sự giống nhau của hai thuật toán này là đều sử dụng bước cắt tỉa trong hàm
Apriori_gen()
Thuật toán FP-Growth
Đề xuất bởi J.Han năm 2000 [3] , là một thuật toánbiểu diễn dữ liệu các giao dịch bằng một cấu trúc dữ liệu gọi là FP-Tree
FP-Growth sử dụng FP-Tree để xác định trực tiếp các tập hạng mục phổ biến (không sinh các tập hạng mục ứng viên từ các tập hạng mục ứng viên trước)
Khi một FP-Tree đã được xây dựng, FP-Growth sử dụng cách tiếp cận chia để trị đệ quy
để khai phá các tập phổ biến Với mỗi giao dịch, FP-Tree xây dựng một đường đi (path) trong cây Hai giao dịch có chứa cùng một số các mục, thì đường đi của chúng sẽ có phần (đoạn)
Trang 21Khác với phân cụm dữ liệu, phân lớp dữ liệu được xem là một quá trình “học có giám sát” Sau khi được xây dựng, mô hình phân lớp có thể được sử dụng để phân lớp các dữ liệu mới Mỗi bản ghi trong tập dữ liệu huấn luyện có một thuộc tính gọi là nhãn lớp (Class label)
để chỉ ra bản ghi đó thuộc lớp nào Mục đích: để dự đoán những nhãn dùng để phân lớp cho các bộ dữ liệu hay mẫu mới
Đầu vào là một tập các mẫu dữ liệu huấn luyện với một nhãn phân lớp cho mỗi mẫu dữ liệu Trong khi đó, đầu ra là một mô hình hay còn gọi là bộ phân lớp dựa trên tập huấn luyện
và những nhãn phân lớp
Trong phân lớp kết hợp, trọng tâm là trình bày các luật kết hợp chỉ có một thuộc tính
cụ thể trong hệ quả Những luật kết hợp được chọn lọc sau khi kiểm tra độ hỗ trợ (support)
và độ tin cậy (confident)
Có các kỹ thuật khai phá dữ liệu khác nhau bao gồm phân lớp giám sát, khai phá luật kết hợp hoặc phân tích thị trường, phân cụm không giám sát, khai phá dữ liệu web và hồi quy tuyến tính Một kỹ thuật liên quan đến khai phá dữ liệu là phân lớp Mục đích của phân lớp
là xây dựng một mô hình dữ liệu đào tạo có thể dự đoán chính xác lớp của các đối tượng chưa được xác định hoặc là những dữ liệu thử nghiệm Đầu vào của quá trình huấn luyện này là một tập hợp các đối tượng cùng với các lớp (dữ liệu đào tạo có giám sát)
Khi một mô hình dự đoán được xây dựng, nó có thể được sử dụng để dự đoán lớp của các đối tượng trong các trường hợp thử nghiệm mà các lớp đó không được biết đến Để đo lường độ chính xác của mô hình, bộ dữ liệu có sẵn được chia thành quá trình huấn luyện và
Trang 22dữ liệu (dataset) Độ support và confidence được tận dụng để tìm ra các luật quan trọng Đưa ra một bộ luật chứa các luật cho mỗi lớp, bằng cách sử dụng các luật k tốt nhất của mỗi lớp để dự đoán, với quy trình sau:
(1) Chọn tất cả các luật thỏa mãn bằng các ví dụ;
(2) Từ các luật được chọn trong bước (1), chọn k luật tốt nhất cho mỗi lớp;
(3) So sánh độ chính xác của các k luật tốt nhất của mỗi lớp và chọn lớp có độ chính xác cao nhất để làm lớp dự đoán
Lý do sử dụng nhiều luật trong dự đoán vì:
Độ chính xác của các luật không thể được ước tính chính xác
Không thể mong đợi rằng bất kỳ luật nào có thể hoàn hảo dự đoán được nhãn lớp của mọi ví dụ
Hơn nữa, sử dụng các k luật tốt nhất thay vì tất cả các luật vì có số lượng luật khác nhau cho các lớp khác nhau và không muốn sử dụng thứ hạng thấp hơn luật trong dự đoán khi đã có đủ luật để đưa ra dự đoán
Một luật kết hợp dựa trên lớp là một luật trong đó hệ quả của luật luôn là nhãn lớp Sự khác biệt chính giữa khai phá luật kết hợp và bài toán phân lớp là kết quả của các luật được tạo ra
Việc tìm kiếm các luật trong bài toán phân lớp hướng tới là lớp, trong khi đó khai phá luật kết hợp không được hướng tới bất kỳ thuộc tính cụ thể
Mục đích của phân lớp là xây dựng một mô hình dữ liệu đào tạo có thể dự đoán chính xác lớp của các đối tượng không nhìn thấy hoặc thử nghiệm
Trang 2316
2.3 Các khái niệm cơ bản trong bài toán phân lớp dựa trên luật kết hợp
Phân lớp dựa trên khai phá luật kết hợp (Classification based on Association Rules (CBA)) là tìm một tập con của các luật kết hợp có trong cơ sở dữ liệu Mỗi luật trong tập con này chứa vế phải là giá trị của lớp Bài toán được phát biểu như sau:
Cho cơ sở dữ liệu D, I là tập tất cả các item trong D Y là tập các nhãn lớp Luật phân lớp kết hợp là một biểu thức có dạng X y trong đó X I và y Y Độ tin cậy của luật là c
nếu c% mẫu trong D chứa X được gán nhãn là lớp y Độ phổ biến của luật là s nếu có s% mẫu
trong D chứa X được gán nhãn là lớp y Trong đó, mứ c đô ̣ mà ta ̣i đó kết quả không thay đổi theo thời gian và đại diện chính xác cho tổng thể được nghiên cứu được gọi là độ tin cậy và nếu kết quả nghiên cứu có thể được sao chép theo phương pháp luận tương tự, khi đó, công
cụ nghiên cứu được xem là đáng tin cậy Và độ hỗ trợ đã được định nghĩa ở chương 1 Các bước thực hiện phân lớp dựa vào luật kết hợp là:
(1) Tìm các tập mục phổ biến dựa vào minsupp và luật kết hợp dựa vào minconf
(2) Phát sinh luật, xây dụng mô hình phân lớp
(3) Tiến hành phân lớp
Cho D là một CSDL huấn luyện với n thuộc tính A1, A2, …, An, mỗi thuộc tính có một tập các giá trị tương ứng C là lớp chứa k giá trị khác nhau C1, C2, …, Ck đại diện các lớp trong D
Chẳng hạn, cho D là CSDL huấn luyện được cho trong bảng 1, với 8 dòng dữ liệu (|D| = 8), trong đó A = {A, B, C}, lớp là thuộc tính quyết định, chẳng hạn Class = {y, n}, là
Trang 2417
Định nghĩa 1: Itemset là một tập các thuộc tính cùng với giá trị xác định của nó trong
tập đó, kí hiệu <(Ai1 , a i1), …, (Aim , a im )>
Định nghĩa 2: Luật phân lớp r là phép kéo theo có dạng
<(Ai1 , a i1), …, (Aim , a im )> → cj Trong đó <(A i1 , a i1), …, (Aim , a im )>.là một Itemset còn c ∈ C là một nhãn lớp
Định nghĩa 3: Độ hỗ trợ r, ký hiệu là Sup(r), là số dòng của r chứa cả vế trái lẫn vế
phải
Định nghĩa 4: Độ tin cậy của r, ký hiệu là Conf(r), Conf(r) = Sup{(A il , a il ),…, (A im , a im ), c}/ Sup{( Ail , a il ),…, (A im , a im )}
Định nghĩa 5: literal: Một literal p là một cặp thuộc tính, có dạng (Ai;v), trong đó Ai là
một thuộc tính và v một giá trị Một tuple hay còn gọi là chỉ số t đáp ứng một literal p = (Ai; v) khi và chỉ khi ti = v, trong đó ti là giá trị của thuộc tính thứ i của t
Định nghĩa 6: (luật - Rule) Một luật r, có hình thức“p1 ^ p2 ^ · · · ^ pl! c," bao gồm một
sự kết hợp của chữ p1, p2 , , pl, liên kết với nhãn lớp c Một tuple t thỏa mãn luật r của phần thân khi và chỉ khi nó thỏa mãn mỗi một literal trong luật Nếu t thỏa mãn phần thân của luật r, thì r sẽ dự đoán t đó là của lớp c Nếu một luật không có literal, thì phần thân
sẽ thỏa mãn được bởi bất kỳ tuple nào
2.4 Một số thuật toán liên quan
2.4.1 Thuật toán CMAR (classification based on multiple association rules)
Năm 2001, Li và các đồng sự đã đề xuất thuật toán CMAR (classification based on multiple association rules) [4] Phương pháp này dựa vào FP-tree để nén dữ liệu và dùng phép chiếu trên cây để tìm luật phân lớp Đầu tiên, để khai phá với chỉ một lần quét CSDL và dựa vào phần giao giữa các tập định danh các đối tượng để tính nhanh độ hỗ trợ của các itemset
và luật Mặc dù có một số ưu điểm như chỉ quét CSDL một lần và khai phá luật nhanh nhưng vẫn còn một số hạn chế như sau: Do nhóm tất cả các giá trị của cùng một tập thuộc tính thành một nút nên ECR-CARM tốn thời gian kiểm tra tiền tố để kết hợp các phần tử từ các nút trên cây
Trang 2518
2.4.2 Thuật toán PRM (Predictive Rule Mining)
Thuật toán luật dự đoán khai phá (PRM), được điều chỉnh từ thuật toán FOIL để đạt được độ chính xác cao hơn và hiệu quả Một lý do khiến FOIL không đạt được độ chính xác cao là nó tạo ra một số luật rất nhỏ Trong PRM, sau khi một mẫu được bao phủ một cách chính xác theo luật, thay vì xóa nó, trọng số của nó bị giảm bằng cách nhân với factor
𝑔𝑎𝑖𝑛(𝑎) = 𝑊𝑃′ ∗ (log 𝑊𝑃
′
𝑊𝑃′+ 𝑊𝑁′− log 𝑊𝑃
𝑊𝑃 + 𝑊𝑁) (1)
Trong đó : WP’ : tổng số lần xuất hiện của a trong P’
WN’ : tổng số lần xuất hiện của a trong N’
WP : tổng trọng số của P
WN : tổng trọng số của N
PN = WP + WN
Phần tốn nhiều thời gian nhất của FOIL là đánh giá từng literal khi tìm kiếm thuộc tính
có mức tăng cao nhất Thực tế để tính toán gain, chỉ cần biết thông tin được lưu trữ trong dữ liệu cấu trúc được gọi là PNArray
PNArray là một cấu trúc 2 chiều lưu trữ thông tin sau đây tương ứng với luật r
1 P và N: số mẫu dương tính và số mẫu âm tính thỏa nội dung của luật r
2 P (p) và N (p): cho mỗi p có thể, số các mẫu dương tính và âm tính làm thỏa nội dung của luật r’, luật được xây dựng bằng cách thêm p vào r
PRM có hiệu quả cao hơn nhưng độ chính xác thấp hơn phân lớp kết hợp Trong PRM, các luật được tạo từ tập dữ liệu còn lại Giả sử một mẫu t trong tập dữ liệu còn lại được bao phủ bởi luật r vừa được tạo Không chắc chắn r là tốt nhất cho t vì r được tạo ra bởi thuật toán tham lam; và r được tạo từ tập dữ liệu còn lại thay vì toàn bộ tập dữ liệu
Trong PRM, cũng tạo ít nhất một số luật nhất định cho mỗi mẫu (tùy thuộc vào hệ số phân rã trọng số α) Tuy nhiên, những một số luật không nhất thiết phải là luật tốt nhất cho mẫu được minh họa ở trên Khi chọn literal trong quá trình xây dựng luật, PRM chỉ chọn literal tốt nhất và bỏ qua tất cả những literal khác Thường có một vài literal với một gain tương tự Do đó, thường có nhiều luật tương tự độ chính xác dựa trên tập dữ liệu còn lại luật tốt nhất trong số đó có thể không phải là luật tốt nhất dựa trên toàn bộ tập dữ liệu Tuy nhiên, PRM chỉ chọn một trong số chúng, có thể dẫn đến thiếu một số luật quan trọng
Trang 2619
2.4.3 Thuật toán CPAR
So với phân lớp kết hợp, phân lớp dựa trên luật truyền thống, chẳng hạn như C4.5, FOIL
và RIPPER, nhanh hơn đáng kể nhưng độ chính xác của chúng, trong hầu hết các trường hợp,
có thể không cao CPAR (Classification based on Predictive Association Rules) [5], kết hợp các lợi thế của cả phân lớp kết hợp và phân lớp dựa trên luật truyền thống Thay vì tạo ra một
số lượng lớn các luật ứng viên như trong phân lớp kết hợp, CPAR sử dụng thuật toán tham lam để tạo ra các luật trực tiếp từ dữ liệu đào tạo Hơn nữa, CPAR tạo và kiểm tra nhiều luật hơn các bộ phân lớp dựa trên luật truyền thống để tránh thiếu các luật quan trọng
CPAR kế thừa ý tưởng cơ bản của FOIL trong việc tạo luật và tích hợp các tính năng của phân lớp kết hợp trong phân tích luật dự đoán So với phân lớp kết hợp, CPAR có những
ưu điểm sau: CPAR tạo ra một bộ luật tiên đoán chất lượng cao hơn nhiều trực tiếp từ tập dữ liệu; để tránh tạo ra các luật dư thừa, CPAR tạo ra mỗi luật bằng cách xem xét bộ luật "đã được phát hành"; và khi dự đoán nhãn lớp của một ví dụ, CPAR sử dụng các luật k tốt nhất
mà ví dụ này thỏa mãn
Trong phân lớp kết hợp, khai phá luật kết hợp được sử dụng để tạo ra các luật ứng viên, bao gồm tất cả các tập hợp của các literal đáp ứng ngưỡng hỗ trợ Sau đó, một tập con của các luật được chọn từ các ứng viên Tập hợp con này được xây dựng bằng cách kết hợp các luật tốt nhất cho mọi mẫu dữ liệu
Nó đứng ở giữa các thuật toán và kết hợp các ưu điểm của cả hai CPAR xây dựng các luật bằng cách thêm từng literal một tương tự như PRM Tuy nhiên, thay vì bỏ qua tất cả các literal ngoại trừ cái tốt nhất, CPAR giữ tất cả những literal tốt nhất trong quá trình xây dựng luật Bằng cách làm như vậy, CPAR có thể chọn nhiều hơn một literal và xây dựng nhiều luật
cùng một lúc
Giả sử tại một số bước trong quá trình xây dựng luật, sau khi tìm literal p tốt nhất, một literal q khác có gain tương tự như p (mẫu: khác nhau nhiều nhất là 1%) được tìm thấy Bên cạnh việc tiếp tục xây dựng luật bằng cách thêm p vào r, q cũng được nối thêm với luật hiện tại r để tạo luật mới r’, bằng cách đẩy vào hàng đợi Mỗi lần khi luật mới được xây dựng, hàng đợi được kiểm tra đầu tiên Nếu nó không trống, một luật được trích xuất từ nó và được lấy làm luật hiện hành Kết quả là, CPAR có hiệu quả về thời gian hơn trong cả việc tạo luật
và dự đoán nhưng đạt được độ chính xác cao như phân lớp sơ cấp Positive example là tập
mẫu đươc dán nhãn 1 (Mẫu tích cực)
Trang 2720
Ví dụ: Trong chuẩn đoán bệnh nhân bị lao, tập hợp những người bị chuẩn đoán mắc bệnh được dán nhãn 1 (đây là positive example), những người được chuẩn đoán không bị bệnh sẽ được dán nhãn 0 (tập những người như thế được gọi là tập nagative example)
2.4.4 Thuật toán FCBA : Fast Classification Based on Association Rules Algorithm
Hiện nay có nhiều ứng dụng quan trọng được chú trọng áp dụng luật phân lớp - chẳng hạn như chẩn đoán y tế, văn bản phân tích, lừa đảo trang web và nhiều thứ khác Vì vậy cần một công cụ tự động để nâng cao quá trình đưa ra quyết định Sử dụng các quy tắc kết hợp trong quá trình phân loại là một kỹ thuật trong lĩnh vực khai phá dữ liệu để làm cho chính xác hơn trong các quyết định quan trọng Đây được gọi là phân loại liên kết (AC) Tuy nhiên, hầu hết các thuật toán AC không có thể mở rộng vì chúng bị ảnh hưởng bởi kích thước của tập
dữ liệu
Hơn nữa, vấn đề về mức độ chính xác của thuật toán so với thời gian cần thiết để xây dựng mô hình là rất quan trọng; một số các thuật toán có mức độ chính xác cao nhưng mất nhiều thời gian để xây dựng một mô hình, trong khi những người khác mất thời gian ngắn để xây dựng một mô hình nhưng có mức độ chính xác thấp Để giải quyết những vấn đề này,
vào năm 2016 các tác giả Jaber Alwidian, Bassam Hammo, and Nadim Obeid [5] đã đề
xuất trong bài báo này, phân loại nhanh dựa trên liên kết Thuật toán quy tắc (FCBA) dựa trên nội bộ và bên ngoài mới phương pháp cắt tỉa để tạo ra quy tắc kết hợp bằng cách sử dụng Thuật toán Apriori Các tác giả đã so sánh thuật toán được đề xuất với bốn thuật toán AC nổi tiếng, cụ thể là CBA, CMAR, Các thuật toán MCAR và FACA, dựa trên 11 bộ dữ liệu UCI Phần lớn của bộ dữ liệu là y tế và có kích thước khác nhau Điều này cho phép các tác giả có thể đánh giá khả năng mở rộng và độ chính xác của các thuật toán Ngoài ra, các nghiên cứu thử nghiệm rộng rãi cho thấy rằng thuật toán FCBA là có khả năng mở rộng hơn những thuật toán khác Không những thế, thuật toán FCBA vượt trội hơn những thuật toán khác về độ chính xác và thời gian xây dựng mô hình FCBA đứng đầu với 64% và đứng thứ hai trong 36% bộ dữ liệu, với thời gian trung bình nhỏ hơn 0,01 giây Do đó, nó đạt được độ chính xác cao nhất và nhanh nhất thời gian trung bình để xây dựng mô hình, so với các thuật toán khác Trong bộ dữ liệu y tế, FCBA hoạt động tốt hơn, chiến thắng trong 67% bộ dữ liệu và đứng thứ hai trong 33%, với mức trung bình thời gian dưới 0,01 giây
Trang 2821
2.4.5 Phân loại dữ liệu dựa trên chọn lọc tính năng
Mục đích của bài báo này là nghiên cứu vấn đề tìm ra bộ tính năng tối ưu có ảnh hưởng đến khám phá và đề xuất một phương pháp mới để lựa chọn tính năng
phân loại dữ liệu
Nghiên cứu này nhằm mục đích nghiên cứu việc phân loại dữ liệu về dữ liệu chiều cao dựa trên tính năng chọn lọc với khai phá quy tắc kết hợp Vấn đề dữ liệu phân loại với nhiều đặc điểm là phân loại mô hình có thể mang lại độ chính xác thấp và giai đoạn xây dựng mô hình tiêu thụ rất nhiều tài nguyên tính toán do kết quả của các tính năng vô dụng trong dữ liệu Do đó, ở ý tưởng này đề xuất sử dụng khai phá quy tắc kết hợp để tạo ra các quy tắc có
hệ quả như thuộc tính lớp [6] Lý do là những quy tắc có thể hiển thị các tính năng thường xuyên có tác động lớn đến thuộc tính lớp Trong bài báo này thuật toán để xem xét các tính năng thường xuyên từ liên kết tạo ra luật Thuật toán của này cũng lược bỏ các tính năng xuất hiện ít hơn so với các tính năng được khám phá khác
2.4.6 CBIR: Phân lớp dựa trên luật kết hợp và các cách tiếp cận trong Data
mining
Hầu hết các phương pháp khai thác văn bản hiện có đều áp dụng các cách tiếp cận dựa trên thuật ngữ nhưng tất cả đều mắc phải vấn đề về từ đồng nghĩa Polysemy là từ mang lại nhiều nghĩa của từ và từ đồng nghĩa là từ mang lại ý nghĩa tương tự của từ Sau một số năm, người ta đã được áp dụng các phương pháp tiếp cận dựa trên khuôn mẫu nên hoạt động tốt hơn các phương pháp tiếp cận dựa trên thuật ngữ Bài báo này với các triển khai hệ thống được đề xuất kỹ thuật khám phá mẫu và hiệu quả hơn bao gồm các quy trình triển khai mẫu
và phát triển mẫu, để cải thiện hiệu quả của việc sử dụng và cập nhật các mẫu đã khám phá
để tìm kiếm thông tin có liên quan và hiệu quả với người dùng
Ý tưởng là phát triển một bản mô tả đặc điểm của những bộ khung để hình dung ra các quy tắc đáp ứng các ràng buộc đã cho Điều này mô tả đặc tính cho phép sau này xem xét tất cả các bộ mặt hàng có mục tiêu cuối cùng mà bất kỳ tập hợp mạnh nào cũng sẽ không định hình các quy tắc bất hợp lệ
Một khung phân loại dựa trên quy tắc kết hợp được khai thác trong điều kiện WEKA
Ý tưởng đã triển khai thuật toán xây dựng mô hình CBA và so sánh việc thực thi CBA với
mô hình tất cả các quy tắc (ARM) trong đó tất cả các quy tắc được khai phá là một phần của
mô hình [7] Ở đây đã phát triển các chế độ khác nhau để dự đoán một trường hợp chưa được
Trang 2922
phân loại, ví dụ: quy tắc đơn lẻ hoặc dự đoán quy tắc khác được cân nhắc bởi độ tin cậy / hỗ trợ
2.4.7 MISFP-Growth:Mô hình khai thác và hỗ trợ nhiều mặt hàng
Trong thực tế, hỗ trợ một mục không thể giải quyết toàn diện sự phức tạp của các mục trong tập dữ liệu lớn Trong nghiên cứu này đã đề xuất một khung phân tích dữ liệu lớn (có tên là Mẫu hỗ trợ nhiều mặt hàng thường xuyên, thuật toán tăng trưởng MISFP) sử dụng tính toán song song dựa trên Hadoop để đạt được hiệu quả cao khai thác các tập hợp vật phẩm với nhiều hỗ trợ mục (MIS)
Để tạo điều kiện thuận lợi cho những người ra quyết định trong việc thiết lập MIS, ở đây cũng đề xuất khái niệm phân loại mặt hàng (COI), phân loại các mặt hàng có tính đồng nhất cao hơn vào cùng một loại, theo đó các mặt hàng kế thừa hỗ trợ lớp như hỗ trợ vật phẩm của họ
Trang 303.1 Kiến thức từ thực tế đến nhân tạo
Khi tìm đường đi, đàn kiến trao đổi thông tin gián tiếp và hoạt động theo phương thức tự
tổ chức Mặc dù đơn giản nhưng phương thức này giúp cho đàn kiến có thể thực hiện được những công việc phức tạp vượt xa khả năng của từng con kiến, đặc biệt là khả năng tìm đường đi ngắn nhất từ tổ đến nguồn thức ăn mặc dù chúng không có khả năng đo độ dài đường đi Trước hết
ta xem các đàn kiến tìm đường đi như thể nào mà có thể giải quyết được các vấn đề tối ưu hóa
3.1.1 Kiến thật
Trên đường, mỗi con kiến để lại một chất hóa học gọi là vết mùi (pheromon) dùng để đánh dấu đường đi Bằng cách cảm nhận vết mùi, kiến = có thể lần theo đường đi đến nguồn thức ăn được các con kiến khác khám phá theo phương thức chọn ngẫu nhiên có định hướng theo nồng độ vết mùi Các con kiến chịu ảnh hưởng của các vết mùi của các con kiến khác là ý tưởng để thiết kế thuật toán ACO
Thí nghiệm trên cây cầu đôi
Có nhiều thực nghiệm nghiên cứu về hành vi để lại vết mùi và theo vết mùi của loài kiến Một thực nghiệm được thiết kế bởi Deneubourg và các đồng nghiệp (Deneubourg, Aron, Goss, & Pasteels, 1990; Goss et al., 1989) nhờ dùng một chiếc cầu đôi nối từ tổ của loài kiến tới nguồn thức ăn như minh họa trong hình 3.1 Họ đã thực nghiệm với tỉ lệ độ dài đường r =
𝑙l / 𝑙s giữa hai nhánh của chiếc cầu đôi khác nhau, trong đó 𝑙l là độ dài của nhánh dài còn 𝑙𝑠
là độ dài của nhánh ngắn
Trong thực nghiệm thứ nhất, chiếc cầu đôi có hai nhánh bằng nhau (𝑟 = 1) Ban đầu, kiến lựa chọn đường đi một cách tự do đi từ tổ đến nguồn thức ăn, cả hai nhánh đều có kiến đi, nhưng sau một thời gian các con kiến này tập trung đi theo cùng một nhánh Kết quả có thể được giải thích như sau: Ban đầu không có vết mùi nào trên
cả hai nhánh, do đó các kiến lựa chọn nhánh bất kỳ với xác suất như nhau Một cách ngẫu
Trang 3124
nhiên, sẽ có một nhánh có số lượng kiến lựa chọn nhiều hơn nhánh kia Do kiến để lại vết mùi trong quá trình di chuyển, nhánh có nhiều kiến lựa chọn sẽ có nồng độ mùi lớn hơn nồng độ mùi của nhánhcòn lại Nồng độ mùi trên cạnh lớn hơn sẽ ngày càng lớn hơn vì ngày càng có nhiều kiến lựa chọn Cuối cùng, hầu như tất cả các kiến sẽ tập trung trên cùng một nhánh.Thực nghiệm này cho thấylà sự tương tác địa phương giữa các con kiến nhờ thông tin gián tiếp qua vết mùi để lại mà có thể điều chỉnh hoạt động vĩ mô của kiến
Trong thực nghiệm thứ hai (xem hình 3.1b), độ dài giữa nhánh dài hơn gấp đôi nhánh ngắn hơn (tỉ lệ 𝑟 = 2) Trong trường hợp này, sau một thời gian tất cả các kiến chọn đi duy nhất theo đường ngắn hơn Cũng như thực nghiệm
thứ nhất, ban đầu kiến lựa chọn đường đi theo hai nhánh như nhau, ta có thể giả sử một nửa kiến đi theo nhánh ngắn và một nửa đi theo nhánh dài (mặc dù ngẫu nhiên nhưng vẫn có thể một nhánh sẽ có nhiều lựa chọn hơn nhánh khác) Tuy nhiên thực nghiệm này khác với thực nghiệm trên: bởi vì một nhánh ngắn hơn nhánh kia nên các kiến lựa chọn theo nhánh ngắn hơn sẽ nhanh chóng quay trở lại từ nguồn thức ăn về tổ và phải lựa chọn giữa nhánh ngắn và nhánh dài, nồng độ mùi trên nhánh ngắn đang cao hơn nồng
độ mùi trên nhánh dài, do đó nó ưu tiên lựa chọn đi theo nhánh ngắn hơn Thật thú vị, chúng ta có thể quan sát thấy rằng, với nhánh dài gấp đôi nhánh ngắn thì không phải tất
Hình 3 1 Thí nghiệm trên cây cầu đôi (a) Hai nhánh có độ dài bằng nhau (b) Hai nhánh có độ dài khác nhau
Trang 3225
cả các kiến cũng đều đi theo nhánh ngắn hơn và phải mất một thời gian nữa thì các kiến này sẽ đi theo nhánh ngắn hơn Điều này được hiểu là một loại thăm dò, tìm đường mới Một điều thú vị nữa là điều gì sẽ xảy ra nếu sau khi hội tụ lại xuất hiện một đường mới từ tổ đến nguồn thức ăn Việc này được thực nghiệm như sau: Ban đầu từ tổ đến nguồn thức ăn chỉ có một nhánh dài và sau 30 phút thì thêm một nhánh ngắn Trong trường hợp này, nhánh ngắn thường không được kiến chon mà chúng tập trung đi trên nhánh dài Điều này có thể giải thích bởi nồng độ vết mùi trên cạnh dài cao và do sự bay hơi chậm của vết mùi nên đại đa số các con kiến lựa chọn các nhánh dài (vì nồng độ vết mùi cao) và hành vi này tiếp tục củng cố trên nhánh dài, ngay cả khi một nhánh ngắn xuất hiện Việc bay hơi vết mùi có thể có lợi cho việc tìm đường mới, nghĩa là việc bay hơi có thể giúp kiến quên đi đường đi tối ưu cục bộ để tìm đường đi mới tốt hơn có thể được khám phá
3.1.2 Kiến nhân tạo
Qua thực nghiệm cây cầu đôi ta nhận thấy rằng đàn kiến trong tự nhiên có thể sử dụng luật di chuyển theo xác suất dựa trên thông tin địa phương để tìm được đường đi ngắn nhất giữa hai địa điểm Vết mùi của đàn kiến làm ta liên tưởng tới cách học tăng cường (reinforcement learning) cho bài toán chọn tác động tối ưu gợi mở một mô hình
mô phỏng cho bài toán tìm đường đi ngắn nhất giữa hai nút (tương ứng là tổ và nguồn thức ăn) trên đồ thị, trong đó dùng các tác tử (agent) làm con kiến nhân tạo
Tuy nhiên, trong các bài toán ứng dụng thì các đồ thị phức tạp hơn, từ mỗi đỉnh
có nhiều cạnh nên nếu mô phỏng trung thực với kiến tự nhiên thì nhiều con kiến sẽ đi luẩn quẩn và hiệu quả sẽ rất kém Vì vậy người ta dùng đa tác tử (multiagent) làm đàn
Hình 3 2 Thí nghiệm ban đầu chỉ một nhánh dài và
sau 30 phút thêm nhánh ngắn
Trang 3326
kiến nhân tạo, trong đó mỗi con kiến có nhiều khả năng hơn kiến tự nhiên Mỗi con kiến nhân tạo (về sau sẽ gọi là kiến) có bộ nhớ riêng, có khả năng ghi nhớ các đỉnh đã thăm trong hành trình và tính được độ dài đường đi nó chọn Ngoài ra các con kiến có thể trao đổi thông tin có được với nhau, thực hiện tính toán cần thiết, cập nhật mùi…
Nhờ các con kiến nhân tạo này Dorigo [10] đã xây dựng hệ kiến (AS) giải bài toán người chào hàng, hiệu quả của nó so với các phương pháp mô phỏng tự nhiên khác đã được kiểm chứng bằng thực nghiệm và được phát triển và ứng dụng phong phú với tên gọi chung là phương pháp ACO
3.2 Mô tả thuật toán ACO tổng quát
Với điều kiện kết thúc đã chọn (có thể là số bước lặp hoặc/và thời gian chạy cho trước), người ta dùng đàn kiến 𝑚 con thực hiện lặp xây dựng lời giải trên đồ thị cấu trúc 𝐺
= (𝑉, 𝐸, 𝐻, r) như sau: Trong mỗi lần lặp, mỗi con kiến chọn ngẫu nhiên một đỉnh 𝑢0 ∈ 𝐶0 làm thành phần khởi tạo 𝑥0 = {𝑢0} và thực hiện xây dựng lời giải theo thủ tục bước ngẫu nhiên để xây dựng lời giải Dựa trên lời giải tìm được đàn kiến sẽ thực hiện cập nhật mùi theo cách học tăng cường
Tuy nhiên, theo thời gian pheromone được lưu lại trên đường đi sẽ bắt đầu bay hơi, do vậy làm giảm đi nồng độ mùi Thời gian càng dài pheromone mà chúng để lại trên đoạn đường trước sẽ càng giảm, dần pheromone cũng sẽ bốc hơi hoàn toàn Bằng cách so sánh, những con đường ngắn hơn sẽ lưu lại nồng độ pheromone cao hơn so với các con đường dài
do có nhiều kiến đi qua hơn Nếu pheromone bị bốc hơi hoàn toàn những con đường được chọn bởi những con kiến đầu tiên sẽ không còn thu hút đối với các con kiến sau đó Trong trường hợp này ảnh hưởng của sự bốc hơi của pheromone có thể không thực sự ảnh hưởng tới việc tìm đường của đàn kiến nhưng nó có ý nghĩa rất quan trọng với các hệ thống nhân tạo
Cập nhật mùi:
Tùy theo chất lượng của lời giải tìm được mà vết mùi trên mỗi cạnh sẽ được điều chỉnh tăng hoặc giảm tùy theo đánh giá mức độ ưu tiên tìm kiếm về sau Lượng mùi cập nhật theo mỗi quy tắc cập nhật mùi khác nhau cho ta các thuật toán khác nhau Vì vậy, quy tắc cập nhật mùi thường dùng làm tên gọi thuật toán Đa số trong chúng đều có dạng:
Trang 3427
τi, j ← (1 − ρ)τi, j + ∆(i, j), ∀(i, j)
đối với các cạnh được cập nhật, trong đó 𝜌 là hằng số thuộc khoảng (0,1) là tỷ lệ lượng mùi bị bay hơi
Các bước thực hiện của các thuật toán ACO được đặc tả trong hình
Nhận xét chung về các thuật toán ACO
Nhờ kết hợp thông tin heuristic và thông tin học tăng cường nhờ mô phỏng hoạt động của đàn kiến, các thuật toán ACO có các ưu điểm nổi trội sau:
1) Việc tìm kiếm ngẫu nhiên dựa trên các thông tin heuristic làm cho phép tìm kiếm linh hoạt và mềm dẻo trên miền rộng hơn phương pháp heuristic sẵn có, do đó cho ta lời giải tốt hơn và có thể tìm được lời giải tối ưu
2) Sự kết hợp học tăng cường thông qua thông tin về cường độ vết mùi cho phép ta từng bước thu hẹp không gian tìm kiếm mà vẫn không loại bỏ các lời giải tốt, do đó nâng cao chất lượng thuật toán
Procedure of ACO algorithms;
Trang 35ta sử dụng các ràng buộc Ω một cách hợp lý để giảm miền tìm kiếm cho mỗi con kiến
2) Chọn thông tin heuristic Thông tin heuristic tốt sẽ tăng hiệu quả thuật toán Tuy nhiên, nhiều bài toán ta không có thông tin này thì có thể đánh giá chúng như nhau Khi đó lúc ban đầu, thuật toán chỉ đơn thuần chạy theo phương thức tìm kiếm ngẫu nghiên, vết mùi thể hiện định hướng của học tăng cường và thuật toán vẫn thực hiện được
3) Chọn quy tắc cập nhật mùi Quy tắc cập nhật mùi thể hiện chiến lược học của thuật toán Nếu đồ thị cấu trúc và thông tin heuristics luôn phụ thuộc vào từng bài toán cụ thể thì quy tắc cập nhật mùi là yếu tố phổ dụng và thường dùng để đặt tên cho thuật toán
Kết quả là khi các con kiến tìm thấy con đường tốt nhất tới nguồn thức ăn
từ tổ của chúng thì những con kiến khác cũng sẽ di chuyển theo con đường đó và
có những phản hồi tích cực về con đường dẫn đến việc các con kiến sau cũng sẽ
đi theo một con đường duy nhất
Ant System được phát triển với Marco Dorigo (Italy) trong luận án tiến sĩ của ông năm 1992 Max-Min Ant System được phát triển bởi Hoos và Stützle năm
1996 [11] Ant Colony được phát triển bởi Gambardella Dorigo năm 1997 [10] Qua đó những tác giả trên đã cho ta thấy được Giải thuật Ant colony optimization (ACO) là:
Trang 3629
Tìm kiếm đường đi tối ưu trong đồ thị dựa trên hành vi tìm kiếm đường đi của kiến từ tổ cho đến nguồn thức ăn
Tối ưu hóa Meta-heuristic
Tối ưu hóa những giải pháp dài và phức tạp
Meta-heuristic: Phương pháp Heuristic để giải quyết một lớp các vấn đề tính toán rất chung bằng cách kết hợp các kinh nghiệm do người dùng cung cấp với hi vọng đưa
ra được một quy trình hiệu quả hơn ACO là meta-heuristic Kỹ thuật tính toán mềm
để giải quyết các vấn đề tối ưu hóa rời rạc
Hình 3 4 Sơ đồ tìm đường của kiến từ tổ đến nguồn thức ăn
Kiến điều hướng từ nơi tổ của chúng tới nguồn thức ăn Và chúng bị mù do
đó chúng định hướng bằng dấu vết mà chúng để lại (pheromone) Đường đi ngắn
Trang 37 Các dấu vết ảo được tích lũy trên các đoạn đường đi
Đường đi được lựa chọn bằng cách lựa chọn ngẫu nhiên dựa trên lượng dấu vết hiện tại trên các đoạn đường từ nút bắt đầu đi
Các con kiến đến điểm tiếp theo, lựa chọn đường đi tiếp sau đó
Tiếp tục cho đến khi đến nút bắt đầu
Mỗi hành trình kết thúc là một giải pháp
Hành trình sẽ được phân tích để tối ưu
3.3 Các công trình liên quan đến giải thuật đàn kiến
Bảng 3 1 Thuật toán ACO theo thứ tự thời gian xuất hiện
Hình 3 5 Lựa chọn đỉnh đi tiếp
theo khi kiến
Trang 3831
Ant System (AS) Có Dorigo (1992); Dorigo, Maniezzo & Colorni
(1991, 1996) Elitist AS Có Dorigo (1992); Dorigo, Maniezzo & Colorni
(1991, 1996) Ant-Q Có Gambardella & Dorigo(1995); Dorigo &
Gambardella (1996) Ant Colony
System
Có Dorigo & Gambardella (1997a,b)
Max-Min Ant
System
Có Stützle & Hoos (1996, 2000); Stützle (1999)
Rank-based AS Có Bullnheimer, Hartl & Strauss (1997, 1999c)
Hyper-cube AS Không Blum, Roli, & Dorigo (2001); Blum & Dorigo
(2004)
Trong các thuật toán ACO hiện nay thông dụng nhất là hệ kiến MAX-MIN (MMAS) và ACS, tuy hiệu quả của chúng như nhau nhưng MAX-MIN dễ dùng hơn còn ACS được nhóm của Dorigo quan tâm hơn Dưới đây là những giới thiệu về các thuật toán AS, MMAS và ACS theo trình tự thời gian xuất hiện
Bài toán người chào hàng (Traveling Salesman Problem - TSP) là bài toán có
nhiều ứng dụng trong thực tế, được phát biểu như sau: một người giới thiệu sản phẩm muốn tìm một hành trình ngắn nhất, xuất phát từ thành phố của mình, đi qua tất cả các thành phố mà khách hàng cần giới thiệu sản phẩm và sau đó trở về thành phố xuất phát với điều kiện các thành phố của khách hàng chỉ đi qua đúng một lần Bài toán TSP thuộc loại NP-khó và được xem là bài toán chuẩn để đánh giá hiệu quả của các thuật toán giải các bài toán tối ưu tổ hợp (TƯTH) mới Thuật toán ACO đầu tiên được
gọi là hệ kiến (Ant System - AS), các thuật toán ACO về sau là cải tiến của AS và đều
dùng bài toán TSP để thử nghiệm chất lượng Trong mục này giới thiệu các thuật toán chính để giải bài toán này như là ví dụ minh họa cho phương pháp ACO
3.3.1 Hệ Kiến (AS)
Trang 3932
Nhờ các con kiến nhân tạo này (về sau cũng gọi đơn giản là kiến) Dorigo (1991) đã xây dựng hệ kiến (AS) giải bài toán người chào hàng, hiệu quả của nó so với các phương pháp mô phỏng tự nhiên khác đã được kiểm chứng bằng thực nghiệm
và được phát triển, ứng dụng phong phú với tên gọi chung là phương pháp ACO
Ban đầu có ba phiên bản của AS mà Dorigo đề xuất là ant-density, ant- quantity và ant-cycle Ở phiên bản ant-density và ant-quantity, các kiến cập nhật vết mùi trực tiếp lên cạnh vừa đi, còn trong phiên bản ant-cycle vết mùi được cập nhật khi tất cả các kiến đã xây dựng xong hành trình và lượng mùi được cập nhật của mỗi kiến phụ thuộc vào độ dài hành trình mà kiến tìm được Hai thuật toán ant-density và ant-quantity không hiệu quả so với ant-cycle nên khi nói tới thuật toán AS người ta chỉ quan tâm đến phiên bản ant-cycle
Hai bước chính của thuật toán AS là xây dựng lời giải của kiến và cập nhật mùi Trong AS, một lời giả tìm được bằng phương pháp heuristic nào đó (có thể dung phương pháp ăn tham) được dùng để xác định vết mùi khởi tạo Lý do cho việc lựa chọn này là nếu khởi tạo vết mùi 𝜏0 quá thấp thì việc tìm kiếm có khuynh hướng nhanh chóng hội tụ quanh những hành trình đầu tiên tìm được, dẫn đến việc tìm kiếm hướng vào vùng này và chất lượng lời giải kém, còn nếu khởi tạo vết mùi quá cao thì có thể phải mất nhiều vòng lặp để bay hơi mùi trên các cạnh tồi và thêm mùi cho các cạnh tốt để hướng việc tìm kiếm vào vùng không gian
có chất lượng
Xây dựng lời giải
Trong AS, 𝑚 con kiến nhân tạo đồng thời xây dựng lời giải Ban đầu các kiến được đặt ngẫu nhiên trên các thành phố Tại mỗi bước, kiến sẽ lựa chọn theo xác suất, gọi là ngẫu nhiên theo tỉ lệ (random proportional) để chọn đỉnh đến tiếp theo Cụ thể, kiến 𝑘 đang ở đỉnh 𝑖 sẽ lựa chọn đỉnh 𝑗 theo xác suất:
Trang 4033
𝑖
𝑖
(2) Trong đó 𝑛𝑖𝑗 = 1
𝑑𝑖𝑗 là giá trị heuristic như đã nói ở trên, 𝛼, 𝛽 là hai tham
số quyết định đến sự ảnh hưởng tương quan giữa thông tin mùi và thông tin heuristic, 𝑁𝑘 là các đỉnh lân cận của đỉnh 𝑖 mà kiến 𝑘 có thể đi đến (là tập các đỉnh mà kiến 𝑘 chưa đến, xác suất cho lựa chọn các đỉnh không thuộc 𝑁𝑖𝑘 bằng 0) Theo quy tắc ngẫu nhiên này, xác suất lựa chọn cạnh (𝑖, 𝑗) tăng theo giá trị thông tin mùi 𝜏𝑖𝑗 và thông tin heuristic 𝜂𝑖𝑗 Vai trò của hai tham số 𝛼, 𝛽 như sau: nếu 𝛼 = 0, thành phố gần nhất sẽ được lựa chọn nhiều hơn, khi đó thuật toán tương đương với thuật toán chọn ngẫu nhiên theo nghịch đảo độ dài cạnh mà không có học tăng cường Nếu 𝛽 = 0, chỉ có thong tin học tăng cường biểu thị qua vết mùi được sử dụng màkhông có thông tin heuristic Với 𝛼 > 1, thuật toán nhanh chóng bị tắc nghẽn (tất cả các kiến sẽ lựa chọn cũng một hành trình) [9]
và lời giả tìm được hội tụ về lời giải tối ưu cục bộ (Dorigo và cộng sự)
Để cài đặt, mỗi kiến 𝑘 sẽ duy trì một bộ nhớ 𝑀𝑘 chứa thông tin lần lượt các thành phố mà kiến đã đi qua Thông tin trong bộ nhớ dùng để xác định các thành phố lân cận phù hợp 𝑁𝑘 Hơn nữa, thông tin trong bộ nhớ 𝑀𝑘 giúp cho kiến tính được độ dài hành trình 𝑇𝑘 và dùng để xác định các cạnh được cập nhật mùi Liên quan đến việc xây dựng lời giải, có hai cách để thực hiện: xây dựng lời giải song song và xây dựng tuần tự Trong cách xây dựng song song, tại mỗi bước tất cả các kiến sẽ di chuyển sang đỉnh tiếp theo, trong khi cách xây dựng tuần tự thì lần lượt từng kiến xây dựng lời giải (một kiến xây dựng xong mới đến kiến tiếp theo) Chú ý rằng trong AS, cả hai cách xây dựng này là như nhau vì không ảnh hưởng gì đến thuật toán nhưng điều này không đúng với thuật toán ACS
Cập nhật mùi