Input
Sample[ ][ ] - Mảng các mẫu thuộc lớp thiểu số ban đầu T - Số mẫu lớp thiểu số
N - Tỷ lệ phần trăm trên T cần tạo sử dụng SMOTE k - Số láng giềng gần nhất
Output
Synthetic[ ][ ] - Mảng các mẫu tổng hợp lớp thiểu số được tạo
Begin
1: If N < 100 then
2: T = (int) ((N/100) ∗ T)
3: Sample[][] = Lấy ngẫu nhiên T mẫu từ lớp thiểu số ban đầu
4: N = 100
5: End if
6: N = (int) ((N/100) * T)
7: numattrs = Số các thuộc tính
8: newindex = 0 #Sớ bản ghi tổng hợp được tạo
9: For i = 1 to T do
10: Tính k láng giềng gần nhất của i, và lưu các chỉ số trong mảng nnarray 11: Populate (N, i, nnarray) #Gọi hàm để tạo các mẫu tổng hợp
12: End for
13: Return #Kết thúc chương trình
Bản ghi lớp thiểu sớ
Bản ghi lớp thiểu sớ được chọn Bản ghi tởng hợp mới
End
Populate (N, i, nnarray) #Hàm tạo các mẫu tổng hợp
14: While N 0
15: Chọn 1 số ngẫu nhiên giữa 1 và k, gọi nĩ là nn 16: For attr = 1 to numattrs do
17: dif = Sample[nnarray[nn]][attr] - Sample[i][attr]
18: w = Số ngẫu nhiên giữa 0 và 1
19: Synthetic[newindex][attr] = Sample[i][attr] + w ∗ dif
20: End for
21: newindex++
22: N = N − 1
23: End while
24: Return #Kết thúc của hàm Populate End Populate
b) Cluster SMOTE
Hình 2.2. Kỹ thuật tăng mẫu Cluster SMOTE
Ở kỹ thuật tăng mẫu Cluster SMOTE, dữ liệu huấn luyện trước tiên được phân thành
k cụm sử dụng thuật tốn K-means, ở mỗi cụm tính tỷ lệ mất cân bằng: IR = 𝑆ố 𝑏ả𝑛 𝑔ℎ𝑖 𝑡ℎ𝑢ộ𝑐 𝑙ớ𝑝 𝑡ℎ𝑖ể𝑢 𝑠ố 𝑡𝑟𝑜𝑛𝑔 𝑐ụ𝑚
𝑆ố 𝑏ả𝑛 𝑔ℎ𝑖 𝑡ℎ𝑢ộ𝑐 𝑙ớ𝑝 đ𝑎 𝑠ố 𝑡𝑟𝑜𝑛𝑔 𝑐ụ𝑚
Sau đĩ, sử dụng SMOTE để tăng số lượng bản ghi của lớp thiểu số trong các cụm cĩ tỷ lệ mất cân bằng IR > 1. Hình 2.2 thể hiện chi tiết việc sử dụng kỹ thuật Cluster SMOTE để
Bản ghi lớp thiểu sớ Bản ghi lớp đa sớ Biên quyết định Bản ghi tởng hợp mới
Dữ liệu đầu vào Tìm thấy 3 cụm và tính tỷ lệ mất cân bằng (IR)
Dữ liệu sau khi tăng mẫu điều
chỉnh biên quyết định Dùng SMOTE để tăng mẫu các cụm có IR>1 IR1=5/2
IR2=1/48
IR3=14/1
tạo các dữ liệu tổng hợp thuộc lớp thiểu số [12].
c) ADASYN
Kỹ thuật lấy mẫu tổng hợp thích ứng ADASYN (Adaptive Synthetic Sampling) xây dựng dựa trên phương pháp của SMOTE, bằng cách chuyển tầm quan trọng của ranh giới phân lớp sang các lớp thiểu số khĩ khăn. ADASYN sử dụng phân phối cĩ trọng số cho các bản ghi lớp thiểu số khác nhau tùy theo mức độ khĩ khăn trong huấn luyện, trong đĩ dữ liệu tổng hợp được tạo ra nhiều hơn cho các bản ghi lớp thiểu số khĩ học hơn [13]. Thuật tốn ADASYN được thực hiện cụ thể như sau (Thuật tốn 2.6):