Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
SMOTE-INFFC: Giải quyết nhiễu và các phần tử ở đường biên
trong phân lớp mất cân bằng, bởi bộ lọc dựa trên sự hợp nhất
các phân lớp
Giáp Thị Phương Thảo
Phòng Đào tạo - NCKH
Trường CĐ Sư phạm Điện Biên
Email:
om
Bùi Dương Hưng
Khoa Công nghệ thông tin
Trường Đại học Cơng Đồn
E-mail:
Tóm tắt:Sự phân bố khơng đồng
đều giữa các phần tử trong các bộ
dữ liệu được gọi là dữ liệu mất cân
bằng. Đối với các tập dữ liệu này
việc phân lớp thường có hiệu suất
thấp. Tuy nhiên sự mất cân bằng
phân lớp cũng khơng phải là vấn đề
chính ảnh hưởng đến hiệu suất phân
lớp mà còn liên quan đến các yếu tố
khác. Một trong số đó là sự xuất hiện
của các phần tử nhiễu và phần tử
đường biên (các phần tử nằm xung
quanh khu vực ranh giới lớp). Kỹ
thuật sinh thêm phần tử nhân tạo
(SMOTE) là một trong những
phương pháp tiền xử lý tốt nhất để
cân bằng số lượng các phần tử trong
mỗi lớp. Tuy vậy SMOTE cịn có
những hạn chế nội tại có thể làm
trầm trọng thêm vấn đề các phần tử
nhân tạo được sinh thêm. Bài báo đề
xuất một sự mở rộng mới của
SMOTE thông qua bộ lọc nhiễu dựa
trên sự hợp nhất các phân lớp
(INFFC) có thể khắc phục được các
vấn đề được tạo ra bởi các phần tử
nhiễu và phần tử đường biêntrong
các bộ dữ liệu không cân bằng. Phần
mở rộng mới SMOTE-INFFC này
được nghiên cứu thực nghiệm và so
sánh với SMOTE, INFFC cơ bản và
Đặng Xuân Thọ
Khoa Công nghệ thông tin
Trường Đại học Sư phạm Hà Nội
E-mail:
một số các mở rộng của SMOTE.
Các thí nghiệm được thực hiện trên
các bộ dữ liệu mất cân bằng
coil2000,
yeast,
abalone,
newthyroid, haberman, ecoli, blood .
Các kết quả cho thấy rằng cơ chế
hoạt động mới tốt hơn các phương
pháp hiện có. Phân tích các kết quả
này cũng giúp xác định các đặc tính
của INFFC so với các phương pháp
lọc khác.
Keywords: Noise; imbalanced;
imbalanced classification
I. GIỚI THIỆU
Trong khai phá dữ liệu, hai vấn đề
phổ biến về chất lượng dữ liệu mà
thường ảnh hưởng đến phân lớp dữ
liệu trong thực tế là lớp nhiễu và lớp
mất cân bằng. Lớp nhiễu, nơi các giá
trị thuộc tính được ghi nhầm lẫn làm
rối một bộ phân lớp và làm giảm
hiệu suất dự đoán. Lớp mất cân bằng
xảy ra khi một lớp chỉ chiếm một
phần nhỏ trong những phần tử trong
tập dữ liệu, và trong trường hợp như
vậy thì phân lớp thường kém chính
xác trên lớp thiểu số. Hiệu suất phân
lớp càng trở nên tồi tệ hơn khi hai
vấn đề xảy ra đồng thời.
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
Hiện nay để giải quyết bài tồn
phân lớp dữ liệu có chứa lớp mất cân
bằng và lớp nhiễu đa số các nghiên
cứu dựa trên hai hướng tiếp cận
chính là dựa trên mức độ dữ liệu và
dựa trên mức độ thuật toán. Tiếp cận
dựa trên mức độ thuật tốn là cải tiến
các kỹ thuật tìm kiếm hoặc chiến
lược phân lớp để phù hợp cho loại dữ
liệu mất cân bằng và xử lý đúng đắn
các nhiễu hoặc ít chịu ảnh hưởng bởi
sự xuất hiện của nó. Tiếp cận dựa
trên mức độ dữ liệu bao gồm những
phương pháp tiền xử lý các tập dữ
liệu[10][1] nhằm loại bỏ các phần tử
nhiễu như một bước trước và điều
chỉnh phân bố dữ liệu của các lớp
làm giảm tính mất cân bằng trong lớp
mất cân bằng.
Một số phương pháp đã được thực
hiện để xử lý dữ liệu nhiễu và mất
cân bằng như sinh thêm phần tử nhân
tạo ở lớp thiểu số SMOTE[10]; sinh
thêm phần tử nhân tạo ở vùng an
toàn Safe-Level SMOTE[2], sinh
thêm phần tử nhân tạo ở khu vực
đường biên Boderline- SMOTE[5].
Ngoài các phương pháp mở rộng
của SMOTE cịn có các phương pháp
áp dụng các bộ lọc như: Lọc tập hợp
EF[3], lọc phân vùng IPF[12], lọc
dựa trên sự hợp nhất của các phân
lớp INFFC[8].
Một phương pháp mở rộng mới
của SMOTE đó là kết hợp với bộ lọc
IPF để xử lý nhiễu trong lớp mất cân
bằng cũng đã được giới thiệu vào
năm 2015 đó là SMOTE-IPF
[7].Mặc dù các phương pháp trên đã
có những hiệu quả nhất định đối với
mất cân bằng lớp có dữ liệu nhiễutuy
nhiên các phương pháp này vẫn có
những
hạn
chế
nhất
định
như:SMOTE có một số hạn chế liên
quan đến sinh thêm phần tử “mù”.
Bởi vậy việc sinh thêm các phần tử
tích cực (ở lớp thiểu số) chỉ làm cho
các phần tử mới tạo ra và những
phần tử ở mỗi lớp là gần sát nhau.
Trong khi các đặc tính khác của dữ
liệu bị bỏ qua như sự phân bố của
các phần tử ở lớp đa số. Những
phương pháp lọc nhiễu chỉ xử lý
được vấn đề về dữ liệu nhiễu chưa
giải quyết được vấn dề mất cân bằng
dữ liệu nên khi khi phân lớp dữ liệu
cho các bộ dữ liệu mất cân bằng có
xử lý nhiễu khó thực hiện với một số
bộ dữ liệu.
Từ đó tác giả đề xuất một sự mở
rộng mới của SMOTE thông qua một
nhân tố mới với một bộ lọc lặp đi lặp
lại dựa trên tập hợp các phân lớp đó
là INFFC (Iterative Noise Filter
based on the Fusion of Classifiers)
để loại bỏ nhiễu.
Phương pháp SMOTE – INFFC
trong phân lớp dữ liệu mất cân bằng.
Phương pháp này sử dụng kỹ thuật
tái lấy mẫu SMOTE để sinh thêm
phần tử nhân tạo ở lớp thiểu số, cân
bằng phân lớp và áp dụng kỹ thuật
lọc INFFC (Iterative Noise Filter
based on the Fusion of Classifiers)
để loại bỏ nhiễu ở đường biên. Phần
II sẽ giới thiệu chi tiết về phương
pháp SMOTE-INFFC. Một số kết
quả đạt được và đánh giá sẽ được
trình bày trong phần III, và cuối cùng
là phần IV sẽ kết luận.
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
II. PHƯƠNG PHÁP SMOTEINFFC XỬ LÝ NHIỄU VÀ CÁC
PHẦN TỬ ĐƯỜNG BIÊN TRONG
PHÂN LỚP MẤT CÂN BẰNG
1.Phương pháp SMOTE
Thuật toán dựa trên lấy mẫu
SMOTE (Synthetic Minority Oversampling Technique) được đưa ra
vào năm 2002, thuật toán SMOTE cố
gắng để giải quyết vấn đề mất cân
bằng lớp. Nó là một trong những
cách tiếp cận nổi tiếng nhất được
thông qua do sự đơn giản và hiệu quả
của nó. Nó là sự kết hợp của
oversampling và undersampling,
nhưng cách tiếp cận oversampling
không phải là bằng cách tái tạo lớp
thiểu số mà xây dựng phần tử dữ liệu
mới ở lớp thiểu số.
Dữ liệu nhân tạo ở lớp thiểu số
được sinh thêm bằng cách [10]:
Tìm hàng xóm gần nhất của mỗi
phần tử của lớp thiểu số.
Chọn ngẫu nhiên một trong số
những hàng xóm gần nhất (tùy thuộc
vào số lượng phần tử muốn sinh
thêm).
Sinh thêm phần tử nhân tạo trên
đoạn thẳng nối phần tử đang xét và
láng giềng được lựa chọn bằng cách
tính độ lệch giữa véc tơ thuộc tính
của phần tử lớp thiểu số đang xét và
láng giềng của nó. Nhân độ lệch này
với một số ngẫu nhiên giữa 0 và 1.
Và lấy kết quả thu được thêm nó vào
vector thuộc tính phần tử lớp thiểu số
đang xét.
2. Phương pháp INFFC
Phương pháp lọc của INFFC là lọc
dựa trên sự kết hợp của các phân lớp.
Cách thức lọc dựa trên 3 mơ hình
chính.
Lọc tồn bộ (Ensemble-based
filtering). Ưu điểm chính của các
phương pháp tiếp cận này dựa trên
giả thiết thu thập các dự đoán từ các
phân lớp khác nhau có thể cung cấp
khả năng phát hiện nhiễu tốt hơn so
với thu thập thông tin từ một phân
lớp đơn lẻ.
Lọc lặp lại (Iterative filtering) Sức
mạnh của các loại bộ lọc là việc sử
dụng một loại bỏ lặp đi lặp lại các
phần tử nhiễu dưới ý tưởng rằng các
phần tử loại bỏ trong một lần lặp
không ảnh hưởng đến việc phát hiện
nhiễu trong các bộ lọc tiếp theo.
Lọc dựa trên số liệu (Metric-based
filtering) Các bộ lọc nhiễu này dựa
trên tính tốn các số đo đối với dữ
liệu huấn luyện và thường cho phép
người thực hành kiểm soát mức độ
dự đoán của bộ lọc theo cách mà chỉ
những ví dụ mà mức độ nhiễu ước
tính vượt quá ngưỡng được loại bỏ.
Đề xuất lọc của INFFC là sự kết
hợp của 3 mơ hình nói trên.
Ba bước được thực hiện trong mỗi
lần lặp đó là [8]:
Lọc
sơ
bộ
(Preliminary
filtering): Bước đầu tiên này loại bỏ
một phần của nhiễu hiện tại trong lần
lặp hiện tại để giảm ảnh hưởng của
nó ở các bước sau. Cụ thể hơn, các
phần tử nhiễu được xác định với độ
tin cậy cao được dự kiến sẽ được loại
bỏ trong bước này.
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thơng – Quy Nhơn, 23-24/11/2017
DT
1, Lọc
Bộ
đánh
giá
CTbộ hiện
Hình 1: Sơ đồ sơ
thực
của
OulọcCPC
tpu
Bộ lọc
INFFC
[8]
I
CT
tTập
2, Lọc
n
FC(C4.
CPC
khơng
huấn
CNhiện
Ou thực
Trong hình
1nhiễu
lọc3-sơ bộ
p
5,
Bộ
lọc
luyện
tpu
u liệu đưa vào lọc là C T có
như sau: Dữ
NN,
3,xóa
t
khả năng tchứaFC(C4.5,
cácCNphần
tửBộ
nhiễu (C T
nhiễu
cuối
phân CF
LOG
Ou
3-NN,
LOG
Tính tiên).
số
= DT ở lần lặp cùng
đầu
Do
tích đó, việc
tpu
điểm
lọc dựa trênFals
những
dữdừng
liệu
t nhiễu này
Điều
kiện
nhiễu
e
có thể gây hiểu nhầm vì các mơ hình
lọc được xây dựngCFbịTr
uảnh hưởng bởi
các phần tử nhiễu. Vì evậy, các dữ liệu
này không đủ đáng tin cậy để quyết
định loại bỏ các phần tử nhiễu.
Trong phần này trước tiên thực hiện
lọc sơ bộ dữ liệu CT ở mỗi lần lặp để
loại bỏ hầu hết các phần tử có khả
năng nhiễu cao. Sau đó, xem xét
bước lọc thứ hai, lọc khơng nhiễu,
trong đó bộ lọc ở giai đoạn này chỉ
được huấn luyện với các phần tử
được coi là không có nhiễu (CPC) vì
vậy xác định nhiễu của lọc khơng
nhiễu được mong đợi là đáng tin cậy
hơn.
Bộ lọc là một hệ thống dựa trên
tập hợp các phân lớp FC (fusion of
classifiers) của ba bộ phân lớp nói
C4.5 [6], 3-NN [4] và LOG [11] từ
CT (tập huấn luyện khi bắt đầu lặp
lại). Bộ lọc dựa trên FC này được sử
dụng để đánh giá các phần tử của
cùng bộ CT. Các phần tử nhiễu CPN
được xác định bởi bộ lọc sẽ được xố
khỏi CT, dẫn đến dữ liệu huấn luyện
CPC.
Lọc khơng nhiễu (Noise-free
filtering): Một bộ lọc mới, được tạo
từ dữ liệu đã được dọn sạch một
phần từ bước trước, được áp dụng
cho tất cả các phần tử huấn luyện
trong lần lặp hiện tại, kết quả thành
hai bộ phần tử: một bộ sạch và một
bộ nhiễu. Bộ lọc này dự kiến sẽ
chính xác hơn so với bộ lọc trước đó
vì các bộ lọc nhiễu được xây dựng từ
dữ liệu sạch hơn.
Trong hình 1số liệu lọc được cung
cấp bởi lọc sơ bộ (CPC) là một bộ dữ
liệu sạch hơn tập huấn luyện đầu
vào CT . Do đó, bộ lọc dựa trên FC
được xây dựng từ những dữ liệu sạch
hơn CPC này dự kiến sẽ thực hiện xác
định nhiễu chính xác hơn trong CT, vì
các mơ hình được xây dựng để lọc
khơng bị ảnh hưởng bởi các phần tử
nhiễu, do các phần tử có khả năng
nhiễu cao đã được phát hiện và loại
bỏ khỏi CT. Do đó, ở bước thứ hai
của mỗi lần lặp, bộ lọc dựa trên FC
thực hiện trên bộ dữ liệu CPC. Bộ lọc
này được đánh giá trên toàn bộ các
phần tử CT (tất cả các phần tử huấn
luyện ban đầu). Từ đây thu được hai
bộ dữ liệu khác nhau là C C và CN
(CC CT, bao gồm các phần tử được
coi là sạch bởi bộ lọc và CN CT, là
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
tập các phần tử được coi là có tiềm
năng nhiễu (với CC CN = và CC
CN = CT)).
Loại bỏ nhiễu cuối cùng (Final
removal of noise): Bước cuối cùng
này bộ lọc kiểm soát độ nhạy cảm
nhiễu làm giảm số lượng các phần tử
nhiễu bị loại bỏ, đảm bảo rằng chỉ
những phần tử gây nhiễu thực sự mới
bị loại bỏ còn các phần tử nghi ngờ
là nhiễu sẽ được phân tích lại sau.
Các phần tử nhiễu được xác định
trong bước lặp thứ hai CN là những
phần tử được xem xét phân tích với
điểm số nhiễu. Chúng được sắp xếp
theo điểm số nhiễu, từ những nhiễu
hơn đến nhiễu ít hoặc có thể là
những phần tử sạch được nhận dạng
sai bởi nhiễu do bộ lọc. Cuối cùng,
các phần tử vượt quá ngưỡng thiết
lập bởi người dùng sẽ bị loại bỏ. Việc
xác định điểm số nhiễu được thực
hiện qua các quan sát sau:
Nhãn lớp của một số phần tử
huấn luyện có thể là sai: Bất kỳ tập
dữ liệu nào cũng dễ bị nhiễu. Vì bộ
lọc thiết kế đặc biệt để xử lý các tập
dữ liệu có nhiễu trong lớp nên không
thể tin tưởng vào lớp của tất cả các
phần tử.
Các phần tử nhiễu phát hiện bởi
bất kỳ bộ lọc nào có thể khơng chính
xác: Từ tiền đề ở trên, các quyết định
thu được từ dữ liệu nhiễu cũng có thể
khơng chính xác. Bộ lọc INFFC liên
quan đến các quyết định của bộ lọc
nhiễu trong đó các phần tử nhiễu
được chỉ định. Do đó, tập hợp các
phần tử nhiễu phát hiện trong bước
thứ hai tại mỗi lần lặp sẽ được phân
tích với điểm số nhiễu.
Phần tử trong các cụm nhiễu có
độ tin cậy thấp hơn: Thông tin thu
được từ một cụm phần tử nhiễu, tức
là tập hợp các phần tử nhiễu là
khơng đáng tin cậy. Có những phần
tử được dán nhãn là nhiễu do bộ lọc
có thể sạch và ngược lại. Tương tự
xảy ra với các nhãn lớp: rõ ràng là
trong một cụm các phần tử nhiễu,
hầu hết trong số chúng sẽ có nhãn
lớp được gán khơng chính xác. Vì
vậy, thơng tin từ các cụm này cần
được thận trọng (với sự tự tin ít).
Sự hiện diện của các phần tử với
các nhãn lớp khác nhau trong vùng
lân cậncủa một phần tử có thể chỉ ra
rằng đó là một phần tử nhiễu: Các
phần tử khác trong vùng lân cận (k
hàng xóm gần nhất) của một phần tử
e có nhãn lớp khác với phần tử e thì
phần tử e có khả năng như là nhiễu.
Sẽ càng có nhiều khả năng e là nhiễu
nếu k hàng xóm gần nhất của nó đã
được dán nhãn là các phần tử sạch
bằng bộ lọc nhiễu.
Sự hiện diện của các phần tử với
nhãn lớp tương tự trong vùng lân
cận của một phần tử có thể cho thấy
đó là một phần tử sạch: Các phần tử
khác trong vùng lân cận (k hàng xóm
gần nhất) của một ví dụ e có cùng
nhãn lớp với ví dụ e, thì ví dụ e sẽ
sạch hơn. Nó thậm chí sẽ rất có thể
cho e là sạch nếu hàng xóm gần nhất
của nó đã được dán nhãn là phần tử
sạch bằng bộ lọc nhiễu. Trong bộ lọc
INFFC sẽ xem xét các thông tin sau
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
(được cung cấp bởi các phần tử từ
CT) để đặt độ tin cậy (confidence)
của một ví dụ e CN có nhãn nhiễu
là nhiễu:
+ Các kết quả phát hiện của bộ lọc
khơng có nhiễu FC (liên quan đến
các quan sát 1 và 2): mỗi phần tử
được dán nhãn là sạch hoặc nhiễu
bởi bộ lọc dựa trên FC được xây
dựng trong bước thứ hai của phương
pháp.
+ Thông tin của mỗi phần tử huấn
luyện thuộc về hàng xóm của các
phần tử nhiễu khác (liên quan đến
quan sát 3): thời gian một phần tử
trong số k hàng xóm gần nhất của
các phần tử khác được dán nhãn là
nhiễu trong CN (gọi là t(e)). Giá trị
này cung cấp ý tưởng về mức độ liên
quan đến một phần tử trong các khu
vực nhiễu (các cụm với nhiễu). Nếu
giá trị cao, có nghĩa là phần tử này là
một trong những hàng xóm gần nhất
của nhiều phần tử khác có thể có
nhiễu.
+ Thơng tin về vùng lân cận của
mỗi phần tử e (liên quan đến quan sát
4 và 5) các phân lớp của e và các
phần tử gần e, nghĩa là, k hàng xóm
gần nhất (k = 5 được xem xét trong
bộ lọc này). Dựa trên quan sát 3, hàm
confidence(e) được định nghĩa như
sau:
(1)
Hàm này kiểm tra xem phần tử e
có gần các phần tử nhiễu khác
khơng. Nó trả về các giá trị trong
khoảng
(0,1].
Giá
trị
của
confidence(e) cao hơn nếu e không
nằm trong vùng lân cận của các phần
tử nhiễu khác, trong khi đó e thấp
hơn nếu e nằm trong vùng lân cận
của một số phần tử nhiễu. Do đó, nếu
confidence(e) = 1 (khi e khơng nằm
trong vùng lân cận của bất kỳ phần
tử nhiễu nào), thông tin mà phần tử
này cung cấp rất đáng tin cậy (vì nó
được gán nhãn lớp là sạch hoặc
nhiễu bởi bộ lọc dựa trên FC). Tuy
nhiên, nếu confidence(e) 0 (khi e là
một trong những hàng xóm gần nhất
của nhiều phần tử nhiễu), thơng tin
mà nó cung cấp khơng được tính
đến.
Tương tự như vậy, dựa trên quan
sát 3-5, hàm neighborhood(e) được
định nghĩa như sau:
(2)
Chức năng này nhằm mục đích
phân tích các vùng lân cận của một
phần tử e (k hàng xóm gần nhất) để
xác định mức độ e đang ở trong một
cụm nhiễu. Hàm này tính giá trị
trung bình của k hàng xóm gần nhất
xem
xét
các
lớp
(hàm
differentClasses(e, ei)), mức độ sạch
của mỗi láng giềng của e (chức năng
clean(ei)) và độ tin cậy của mỗi hàng
xóm (hàm confidence(ei))
Hàm differentClasses(e1; e2),
được định nghĩa trong phương trình
(3), có tính đến các quan sát 4 (các
lớp khác nhau tăng điểm nhiễu) và 5
(các lớp đồng thời làm giảm điểm
nhiễu). Trong trường hợp đó, nếu
phần tử e và ei lân cận của nó có các
nhãn lớp khác nhau thì giá trị
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
neighborhood(e) tăng lên, trong khi
nếu chúng có cùng nhãn lớp thì giá
trị của neighborhood(e) sẽ bị giảm.
Hơn nữa, các quan sát 4 và 5 nêu
rõ rằng các phần tử sạch phải có
trọng số cao hơn các phần tử có
nhiễu trong việc tính tốn điểm số
nhiễu. Do đó, chức năng clean(ei)
được xác định dựa trên việc xem xét
số lượng các phần tử nhiễu xung
quanh một phần tử ei (trong đó n(ei))
là chỉ số độ sạch của phần tử). Do
đó, các phần tử sạch được bao quanh
bởi nhiều phần tử sạch có mức độ
sạch cao hơn các phần tử sạch được
bao quanh bởi các phần tử nhiễu, vì
chúng ta không được tin tưởng vào
thông tin được cung cấp bởi các khu
vực với nhiều phần tử nhiễu (quan
sát 3). Tương tự xảy ra với các phần
tử nhiễu: nếu một phần tử nhiễu
được bao quanh bởi nhiều phần tử
nhiễu khác, thì có thể nói rằng phần
tử này có mức độ nhiễu thấp hơn các
phần tử nhiễu khác bao quanh bởi
các phần tử sạch, được đặt trong một
khu vực đáng tin cậy hơn. Vì những
lý do này, chức năng clean(ei) được
định nghĩa như sau:
(4)
Hàm isnoise(ei), được sử dụng bởi
clean(ei), chỉ đơn giản trả về 1 nếu ei
là một phần tử nhiễu và -1 nếu nó là
sạch. Nhớ lại rằng sự gắn kết của
mỗi phần tử với bộ lọc sạch và nhiễu
được xác định bởi bộ lọc dựa trên FC
được sử dụng trong bước thứ hai của
q trình lọc. Do đó, chức năng
clean(e) cung cấp một giá trị về sự
sạch sẽ của phần tử e
Cuối cùng, tính điểm số nhiễu NS
cho phần tử e CN là chủ yếu dựa
vào phân tích khu vực lân cận của
nó,
được
đại
diện
bởi
neighborhood(e), và giá trị này được
đánh giá bởi độ tin cậy của riêng
phần tử
e, được đại diện bởi
confidence(e). Do đó, cả hai chức
năng được kết hợp để xác định điểm
số nhiễu NS(e) như sau:
NS(e) = confidence(e)
.neighborhood(e)(5)
Như chúng ta đã đề cập, hàm
confidence(e) được định nghĩa trong
khoảng [0,1], trong khi hàm
neighborhood(e) được định nghĩa
trong [-1, 1]. Do đó, NS được xác
định trong khoảng [-1, 1], cao hơn
nếu phần tử e có nhiều khả năng có
nhiễu. Dấu hiệu của kết quả được
cung cấp bởi hàm neighborhood(e)
xác định nếu phần tử e thực sự là
sạch (giá trị âm) hoặc nhiễu (giá trị
dương), trong khi giá trị tuyệt đối
của nó xác định mức độ tin cậy trong
sự lựa chọn này (giá trị là -1 tương
ứng nếu phần tử e hoàn toàn sạch và
1 nếu phần tử e chắc chắn là nhiễu).
Một giá trị NS(e) =0 ngụ ý rằng
khơng có thơng tin đáng tin cậy về
phần tử e được dán nhãn sạch hoặc
nhiễu. Mặt khác, chức năng
confidence(e) là một yếu tố khác xác
định mức độ đại diện của kết quả
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
cung cấp bởi neighbourhood(e), dựa
trên mức độ thành viên của e đến các
cụm nhiễu. Sau khi tính điểm nhiễu
cho mỗi ví dụ về nhiễu tiềm năng
trong CN, những phần tử có điểm số
nhiễu cao hơn ngưỡng được thiết lập
bởi người dùng sẽ được loại bỏ.
3. Phương pháp SMOTE-INFC
Phương pháp INFFC duy trì mức
độ loại bỏ các phần tử nhiễu cân bằng
hơn các bộ lọc nhiễu khác đặc biệt
khi mức độ nhiễu tăng. Do đó,
phương pháp INFFC thể duy trì sự
cân bằng giữa các phần tử đã xóa
(phần tử nhiễu) và những phần tử
khơng nhiễu (phần tử sạch).
Tuy nhiên đối với phân lớp mất
cân bằng thì phương pháp này cịn có
những hạn chế nhất định vì vậy tác
giả đề xuất một phương pháp
SMOTE-INFFC để làm giảm tính
mất cân bằng giữa lớp đa số và lớp
thiểu số đồng thời bộ lọc INFFC giúp
xử lý nhiễu và các phần tử ở đường
biên, góp phần nâng cao hiệu quả
phân lớp.
Ý tưởng của thuật toán như sau:
Input (tập dữ liệu mất cân bằng
chứa nhiễu)
Output(Tập dữ liệu cân bằng và
sạch)
DT là tập dữ liệu huấn luyện mất
cân bằng gốc
Áp dụng SMOTE với tập D được
tập DT =SMOTE(D) thu được tập dữ
liệu cân bằng.
Với mỗi lần lặp:
Ph
ần
tử
đa
số
Ph
ần
tử
+ Lọc sơ bộ: áp dụng lần lượt các
thuật toán C4.5, 3-NN, LOG vào tập
DT thu được tập dữ liệu sạch DPC
+ Lọc Không nhiễu: Áp dụng lần
lượt các thuật toán C4.5, 3-NN, LOG
vào tập DPC vừa thực hiện ở lọc sơ bộ
thu được 2 tập dữ liệu là DC (tập dữ
liệu sạch) và DN (tập dữ liệu nhiễu).
+ Loại bỏ tập nhiễu: Tại bước này
các phần tử nhiễu được xác định ở
bước lọc không nhiễu sẽ được tính
điểm số nhiễu dựa vào thơng tin các
phần tử trong tậpdữ liệu huấn luyện
là hàng xóm của những phần tử nhiễu
và thông tin vùng lân cận của các
phần tử nhiễu. Sau đó các phần tử
nhiễu sẽ được sắp xếp theo điểm số
này từ nhiễu nhiều đến nhiễu ít. Cuối
cùng, các phần tử vượt quá ngưỡng
thiết lập bởi người dùng sẽ bị loại bỏ.
- Kết thúc quá trình thu được tập
dữ liệu sạch DF
Hình 2a mơ tả dữ liệu gốc có sự
mất cân bằng giữa các phần tử, đồng
thời chứa các phần tử nhiễu và phần
tử đường biên. Hình 2b dữ liệu được
thực hiện bởi phương pháp SMOTE
để cân bằng số lượng phần tử, hình
2c áp dụng lọc INFFC để loại bỏ
nhiễu giúp việc phân lớp được
thường xuyên.
- Ý tưởng chính của thuật tốn là
loại bỏ nhiễu và các phần tử ở đường
biên trong phân lớp mất cân bằng dựa
trên sự kết hợp của SMOTE và tập
hợp các phân lớp. Phương pháp này
khơng làm tăng chi phí phân lớp và
cân bằng các phần tử lớp thiểu số với
lớp đa số. Sơ đồ q trình thực
nghiệm được mơ tả trong hình 3. Từ
thi
ểu
số
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
tập dữ liệu huấn luyện ban đầu được
chi thành 2 tập là train (dùng để huấn
luyện) và test (dùng để kiểm thử) tiếp
đó tập train sẽ được thực hiện lần
lượt các phương pháp SMOTE,
INFFC tiếp đó được phân lớp bằng
phương pháp bagging tree, xây dựng
mơ hình và kiểm thử trên tập test.
Hình 3: Sơ đồ quá trình thực hiện
phương pháp SMOTE-INFFC
III. THỰC NGHIỆM VÀ ĐÁNH
GIÁ
1. Dữ liệu
Các bộ dữ liệu được sử dụng là các
bộ dữ liệu thực tế áp dụng cho phân
lớp mất cân bằng với các phần tử
nhiễu và đường biên được trình bày
trong [9] và các bộ dữ liệu dành cho
phân lớp mất cân bằng khác. Các bộ
dữ liệu này có sẵn tại kho dữ liệu
KEEL () và kho dữ liệu
UCI. Cụ thể như sau:
BẢNG 1: DỮ LIỆU THỰC
NGHIỆM
Dữ liệu
abalone
blood
newthyroi
d
ecoli
haberman
yeast
Số
Tỷ lệ
Thuộc
phần
mất cân
tính
tử
bằng
731
8
1:16
748
4
1:3
215
55
1:5
768
306
1484
88
3
8
1:8
1:3
1:28
coil2000
5822
85
1:17
2. Cách thực nghiệm
Để đánh giá hiệu quả của phương
pháp kết hợp, tơi đã tiến hành cài đặt
và chạy chương trình bằng ngôn ngữ
R. Tôi thực nghiệm trên các bộ dữ
liệu được trình bày trong bảng 1 với
các phương pháp điều chỉnh dữ liệu:
SMOTE, INFFC, IPF, BLSMOTE,
SLSMOTE
và
phương
pháp
SMOTE-INFFC. Sau khi áp dụng các
phương pháp điều chỉnh dữ liệu, các
bộ dữ liệu mới được phân lớp bằng
giải thuật “bagging tree” và thực hiện
tính 2 tiêu chí đánh giá AUC và
Gmean mục đích là để so sánh kết
quả AUC và Gmean của các phương
pháp điều chỉnh dữ liệu. Kết quả so
sánh cuối cùng là giá trị trung bình
của Gmean và AUC sau 20 lần thực
hiện các phương pháp trên.
Hình 4: Kết quả AUC của 7 bộ dữ liệu thực nghiệm
Hình 5: Kết quả Gmean của 7 bộ dữ liệu thực nghiệm
3. Kết quả
Qua kết quả thu được ở Hình 4. và
5. cho thấy phương pháp SMOTEINFFC có kết quả cao hơn các
phương pháp khác về lĩnh vực lọc dữ
liệu cũng như các phương pháp có
tiền xử lý với SMOTE.
a.
b.
c.
d.
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thơng – Quy Nhơn, 23-24/11/2017
f.
g
e.
Hình 6: Phân bố của các bộ dữ liệu: a. ablone; b. blood; c. ecoli;
d.haberman; e. newthyroid,; f. coil2000; g. yeast.
Đối với hướng lọc dữ liệu thì
phương pháp SMOTE-INFFC thực
hiện tốt hơn các phương pháp IPF,
INFFC bởi vì đối với dữ liệu mất cân
bằng thì các phần tử tích cực thường
ít nhưng lại có ý nghĩa quan trọng
cho việc phân lớp. Đặc biệt với bộ dữ
liệu coil2000, khi chỉ áp dụng bộ lọc
IPF hoặc INFFC sẽ dẫn đến các
nhiều phần tử thiểu số bị xóa, khơng
thực hiện phân lớp dữ liệu
Đối với các phương pháp có tiền
xử lý với SMOTE như SMOTE-IPF,
BLSMOTE, SLSMOTE thì phương
pháp của chúng tôi cũng đạt hiệu suất
phân lớp cao hơn hẳn. Điều đó là do
sau khi thực hiện tiền xử lý với
SMOTE thì bộ lọc INFFC sẽ loại bỏ
các phần tử nhiễu và phần tử đường
biên có kiểm sốt độ nhạy cảm nhiễu
bằng cách tính số điểm nhiễu (được
trình bày trong phần II, mục 2) và
ngưỡng loại bỏ nhiễu không vượt quá
1% dữ liệu huấn luyện.
4. Đánh giá
Qua kết quả thực nghiệm chúng
tôi thấy rằng với tất cả các bộ dữ liệu
thực nghiệm thì phương pháp
SMOTE-INFFC cho kết quả tốt. Các
bộ dữ liệu ecoli, newthyroid có kết
quả khá cao lần lượt là 0.82, 0.950
bởi các bộ dữ liệu này có phân bố dữ
liệu tốt, ít các phần tử nhiễu và phần
tử đường biên.
Các bộ dữ liệu abalone, blood,
haberman, coil2000, yeast có AUC
và Gmean thấp hơn vì các bộ dữ liệu
này có phân bố khơng đồng đều, có
nhiều phần tử nhiễu và phần tử
đường biên.
Đối với bộ dữ liệu coil2000 có
AUC và Gmean của INFFC và IPF
có giá trị 0 vì trong quá trình áp dụng
bộ lọc các phần tử positive là các
phần tử nhiễu và phần tử đường biên
khá nhiều dẫn đến bị xóa khơng thể
phân lớp dữ liệu được.
Dưới đây là mô tả của cácbộ dữ
liệu thực nghiệm.Thông qua các hình
ảnh mơ tả của các bộ dữ liệu chúng
tơi thấy rằng phương pháp SMOTEINFFC phù hợp với các bộ dữ liệu có
phân bố thường xuyên hơn. Đối với
các bộ dữ liệu liệu mất cân bằng có
phân bố chồng chéo thì phương pháp
của chúng tôi cũng giải quyết tốt vấn
đề mất cân bằng và nhiễu do sự
chồng chéo tạo ra ranh giới lớp
thường xuyên hơn như các bộ dữ liệu
coil2000, haberman, blood.
IV. KẾT LUẬN
Bài báo đã nghiên cứu phương
pháp giải quyết nhiễu ở đường biên
trong phân lớp mất cân bằng bởi
phương pháp mới đó là kết hợp sinh
thêm phần tử nhân tạo và bộ lọc
nhiễu dựa trên sự hợp nhất của các
phương pháp phân lớp nhằm làm
tăng độ chính xác phân lớp dữ liệu.
Sự phù hợp của phương pháp này đã
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thơng – Quy Nhơn, 23-24/11/2017
được phân tích và đánh giá trên các
bộ dữ liệu mất cân bằng có phân bố
khác nhau của lớp thiểu số.
Các giá trị của AUC và Gmean cho
thấy rằng đề xuất của chúng tơi có
hiệu quả hơn tốt hơn đối với dữ liệu
mất cân bằng với các phần tử nhiễu
và phần tử đường biên. Dữ liệu mất
cân bằng có chứa nhiễu được tiền xử
lý bởi SMOTE sau đó được lọc nhiễu
bởi bộ lọc INFFC có kiểm sốt độ
nhạy cảm nhiễu bằng tính số điểm
nhiễu.
Từ các kết quả nghiên cứu trong
phân lớp dữ liệu mất cân bằng, trong
khai thác dữ liệu cho thấy đây là một
lĩnh vực khoa học hữu ích, thiết thực
trong thực tế bởi bất kỳ bộ dữ liệu
nào cũng có thể chứa nhiễu. Thơng
qua việc kết hợp giữa sinh thêm phần
tử nhân tạo ở lớp thiểu số và loại bỏ
các phần tử nhiễu trong dữ liệu tạo ra
khả năng khai phá dữ liệu hiệu quả,
đồng thời làm tăng độ chính xác của
các kết quả phân lớp dữ liệu mất cân
bằng khi áp dụng các thuật toán phân
lớp chuẩn.
Đây cũng là tiền đề cho hướng
nghiên cứu trong thời gian tới đó là
kết hợp giảm chiều dữ liệu với
SMOTE-INFFC cho các bộ dữ liệu
mất cân bằng có số lượng phần tử,
thuộc tính lớn. Ngồi ra kết hợp
SMOTE-INFFC với các phương
pháp cải thiện hiện suất phân lớp
cũng là một hướng nghiên cứu của
chúng tôi trong thời gian tới
TÀI LIỆU THAM KHẢO
[1] A.
Estabrooks
(2000),A
combination scheme for inductive
learning from imbalanced data
sets,Master’s thesis, Faculty of
Computer Science, Dalhousie
University, Halifax, Nova Scotia,
Canada
[2] Bunkhumpornpat,
K.
Sinapiromsaran, C. Lursinsap
(2009),
“Safe-level-SMOTE:
safe-level-synthetic
minority
over-sampling technique for
handling the class imbalanced
problem”, Proceedings of the
13th Pacific-Asia Conference on
Advances
in
Knowledge
Discovery and Data Mining,
Berlin, Heidelberg,pp. 475–482.
[3] C.E. Brodley, M.A. Friedl (1999),
“Identifying mislabeled training
data”,J. Artif, pp. 131–167.
[4] G.J.
Mclachlan
(2004),
Discriminant
Analysis
and
Statistical Pattern Recognition,
Wiley Interscience.
[5] H. Han, W.Y. Wang, B.H. Mao
(2005), “Borderline-SMOTE: a
new over-sampling method in
imbalanced data sets learning”,
Proceedings
of
the
2005
International Conference on
Advances
in
Intelligent
Computing – Volume Part I,
Springer-Verlag,
Berlin,
Heidelberg, pp.878–887.
[6] J.R. Quinlan (1993), C4.5:
Programs for Machine Learning,
Hội thảo quốc gia lần thứ XX: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông – Quy Nhơn, 23-24/11/2017
Morgan Kaufman Publishers, San
Francisco, CA, USA.
[7] José A. Sáez, Julián Luengo,
Jerzy Stefanowski, Francisco
Herrera (2015), “SMOTE–IPF:
Addressing the noisy and
borderline examples problem in
imbalanced classification by a resampling method with filtering”,
Information Sciences(291), pp.
184–203.
[8] José A. Sáez, Mikel Galar, Julián
Luengo,
Francisco
Herrera
(2016), “INFFC: An iterative
class noise filter based on the
fusion of classifiers with noise
sensitivity control”, Information
Fusion(27), pp. 19–32.
[9] K. Napierala, J. Stefanowski, S.
Wilk (2010), “Learning from
imbalanced data in presence of
noisy and borderline examples”,
Rough Sets and Current Trends in
Computing, Lecture Notes in
Computer Science, vol. 6086,
Springer, Berlin/Heidelberg,pp.
158–167.
[10] N.V. Chawla, K.W. Bowyer,
L.O. Hall, W.P. Kegelmeyer
(2002),
“SMOTE:
synthetic
minority
over-sampling
technique”, Journal of Artificial
Intelligence Research (16), pp.
321–357.
[11] S. le Cessie, J.
van
Houwelingen (1992), “Ridge
estimators in logistic regression”,
Applied Statistics 41(1) pp. 191–
201.
[12] T.M. Khoshgoftaar, P. Rebours
(2007), “Improving software
quality prediction by noise
filtering techniques”, Journal of
Computer
Science
and
Technology,(22)pp.387–396.