Đường cong càng đi dọc theo biên trái và rồi đi dọc theo biên phía trên của
không gian ROC, thì chứng tỏkết quảkiểm tra càng chính xác.
Đường cong càng tiến tới thành đường chéo 45 độ(TPR=FPR) trong không
gian ROC, thì độchính xác của kiểm tra càng kém.
Diện tích phía dưới đường cong, giới hạn trong không gian ROC, là thước đo
cho độchính xác, chẳng hạn: 1 là tối ưu, 0.5 là kém.
119 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2496 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Phát hiện dữ liệu bất thường với rừng cô lập, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ến hàng
trăm, ngược lại giá trị này ở các thể hiện thuộc nhóm Bottom(4) thì rất nhỏ (<10).
Thuộc tính thứ 56 biểu thị số nguyên xác định độ dài dài nhất của chuỗi liên tục
các ký tự hoa (nếu các email không phải Spam thì giá trị này cũng phải nhỏ, vì trong
email thông thường rất ít khi sử dụng chuỗi liên tục các ký tự hoa). Quan sát trên hình
5.4 cho thấy Top(4) có giá trị ở thuộc tính này khá cao, giá trị có thể đến hàng trăm,
hàng ngàn. Trong khi đó các thể hiện ở Bottom(4) có giá trị ở thuộc tính này thấp hơn
rất nhiều (nhỏ hơn 100).
Tuy nhiên trong trường hợp này, thể hiện thứ 3 tính từ trên xuống ở Top(4)
thuộc lớp 0 (email không là Spam) bị cô lập (nhận dạng sai), lý do dễ hiểu vì ở các
thuộc tính 49, 50, 54, 55, 56 của thể hiện này giá trị dữ liệu tương đối cao (đây có thể
là trường hợp đặc biệt của email trong thực tế, cũng có thể là nhiễu hoặc phân lớp sai).
So sánh giá trị TB của một số thuộc tính từ 49 đến 56 của 2
nhóm Top(4) và Bottom(4) - Tập Spambase
0
100
200
300
400
500
600
700
800
900
1000
kí tự
xuất
hiện
(%)
kí tự
xuất
hiện
(%)
kí tự
xuất
hiện
(%)
kí tự
xuất
hiện
(%)
kí tự
xuất
hiện
(%)
kí tự
xuất
hiện
(%)*10
Độ dài
tb chuỗi
kt hoa
Độ dài
dài nhất
chuỗi kt
hoa
Thuộc tính
Top(4)
Bottom(4)
Hình 5.7: So sánh giá trị trung bình của các thuộc tính
của 2 nhóm Top(4) và Bottom(4)
69
Bảng 5.17: Kết quả tính theo AUC trên tập Spambase theo thực nghiệm 1.
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.67948 0.638003 0.707587 0.712655 0.691624 0.706523 0.693641 0.704326 0.699093 0.69728 0.714335 0.695954
Y=16 0.614875 0.630456 0.662796 0.657548 0.677981 0.662885 0.6536 0.655953 0.680663 0.662171 0.659556 0.674009
Y=32 0.619284 0.61732 0.623038 0.615075 0.620421 0.608945 0.606689 0.627383 0.625414 0.633339 0.613212 0.64053
Y=64 0.549639 0.601659 0.583868 0.590301 0.605365 0.60254 0.599032 0.593821 0.590246 0.593899 0.615182 0.586554
Y=128 0.586803 0.581387 0.565119 0.58711 0.587362 0.571157 0.583808 0.596353 0.587439 0.575731 0.589765 0.582995
Y=256 0.575969 0.560937 0.572857 0.564769 0.563704 0.572814 0.576547 0.58135 0.596216 0.578112 0.582043 0.578235
Y=512 0.566771 0.554754 0.580927 0.575317 0.574037 0.586873 0.576288 0.582043 0.57718 0.566665 0.572688 0.559272
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Y=512
Biểu đồ 5.6: Kết quả thực nghiệm trên tập Spambase
70
d) Kết quả thực nghiệm trên tập Pima (theo thực nghiệm 1)
Kết quả chạy mô hình trên tập Pima được ghi lại trên bảng 5.19 và biểu đồ 5.8
bên dưới. Dựa trên biểu đồ 5.8, đường trên cùng là đường biểu diễn cho giá trị Ψ=8,
và giá trị AUC trên đường này có sự dao động khi quan sát dọc theo giá trị T. Nếu
không có lý do gì đặc biệt, trong trường hợp này ta chọn điểm T=100, Ψ=8 đại diện
cho trường hợp tốt nhất của mô hình chạy trên tập dữ liệu này. Lấy giá trị trung bình
trên 10 lần thực nghiệm tại điểm này theo các ngưỡng ta được bảng 5.18, biểu đồ 5.7
được vẽ để biểu diễn đường ROC trong trường hợp này.
Bảng 5.18: Bảng giá trị cho các (FPR,TPR) trường hợp tại T=100, Ψ=8.
FPR TPR
0 0
0.058915 0.160814
0.158671 0.278801
0.230298 0.405323
0.338436 0.500258
0.437662 0.617999
0.527721 0.708158
0.632424 0.822827
0.752602 0.861849
1 1
Biểu đồ 5.7 cho thấy đường ROC tiến gần về đường chéo 450 với hiệu quả phát
hiện AUC=0.62704. Cho thấy mô hình cho hiệu quả phát hiện khá thấp cho tập Pima.
Hình 5.8 cho thấy có các thể hiện bình thường bị nhận dạng sai là bất thường ở
top(4) và có một phần tử bất thường bị nhận dạng sai là bình thường ở bottom(4).
Phân tích trên dữ liệu:
…...............................................................................................
Biểu đồ 5.7: Đường cong ROC (Pima)
Đường ROC (T=100, Y=8) - Tập Pima
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R
AUC=0.62704
Hình 5.8: top(4) và bottom(4) trên tập Pima
Sắp xếp theo điểm số bất thường giảm dần
Top(4){
Bottom(4){
1 2 3 4 5 6 7 8 9 Score
STT theo
bảng 5.8
71
Phân tích trên dữ liệu:
Quan sát số liệu trên hình 5.8 và hình ảnh trực quan trên hình 5.9 cho ta một số
nhận xét sau:
Thuộc tính 1 cho biết số lần mang thai của bệnh nhân, ở đây các thể hiện thuộc
nhóm Top(4) có số lần mang thai lớn hơn các thể hiện ở nhóm Bottom(4). Điều này
đưa ra thông tin rằng những người có số lần mang thai nhiều có nguy cơ cao cho bệnh
tiểu đường.
Thuộc tính 2 biểu thị giá trị huyết tương được theo dõi trong hai giờ kiểm tra,
các bệnh nhân thuộc top(4) có chỉ số huyết tương nhìn chung cao hơn các bệnh nhân
thuộc bottom(4).
Thuộc tính 3 biểu thị huyết áp của người bệnh, ở thuộc tính này ta nhận thấy
huyết áp thường dao động lân cận với 80 mmHg, tuy nhiên quan sát giá trị thuộc tính
này cho thể hiện thứ 3 ta nhận thấy bệnh nhân này có huyết áp quá thấp (58mmHg), có
thể chính vì giá trị này quá nhỏ so với các giá trị khác (khác biệt lớn) nên rất có khả
năng thể hiện này bị chia tách sớm (do quá trình chọn thuộc tính ngẫu nhiên và giá trị
cắt ngẫu nhiên), khả năng mẫu bệnh này biểu thị cho một bệnh nhân có bệnh về huyết
áp chứ không chắc có liên quan đến bệnh tiểu đường. Trong trường hợp này thể hiện
thứ 3 bị nhận dạng sai vào nhóm có khả năng cao bệnh tiểu đường. Điều này cho thấy
khuyết điểm của Rừng cô lập là không phân biệt được nhiễu và bất thường. Giải thích
tương tự cho mẫu cuối cùng bị nhận dạng sai vào lớp không bệnh tiểu đường.
Thuộc tính 4 biểu thị mức độ dày đặc của những nếp gấp ở da cánh tay, ta nhận
xét giá trị dữ liệu cho thuộc tính này không tách biệt rõ giữa các thể hiện bình thường
và bất thường.
Thuộc tính 5 biểu thị mức huyết thanh trong 2 giờ (U/ml) cho các mẫu bệnh,
các mẫu bệnh thuộc top(4) có giá trị ở thuộc tính này khá cao (khoảng vài trăm), trong
khi các mẫu bệnh thuộc bottom(4) có giá trị nhỏ hơn rất nhiều (bằng 0).
Thuộc tính 6 biểu thị chỉ số cơ thể (chiều cao, cân nặng): trong trường hợp này
ta nhận thấy không có sự tách biệt rõ về giá trị của thuộc tính này đối với các thể hiện
thuộc lớp có bệnh và không bệnh.
Thuộc tính 7 biểu thị quan hệ huyết thống (tính theo tỷ lệ phần trăm) cho các
mẫu bệnh, trên hình 5.5 cho thấy các mẫu bệnh ở top(4) có tỷ lệ này cao hơn rõ rệt đối
với các mẫu bệnh ở nhóm dưới bottom(4). Điều này khẳng định quan hệ huyết thống
rất quan trọng trong chuẩn đoán bệnh tiểu đường (mẹ hay bà mắc bệnh có thể di truyền
72
sang con). Đồng thời quan sát độ tuổi của bệnh nhân ở thuộc tính 8, cho thấy các bệnh
nhân bệnh tiểu đường ở độ tuổi khá cao (tuy nhiên vẫn có một số trường hợp ngoại lệ).
So sánh giá trị tb của các thuộc tính giữa 2 nhóm Top(4) và Bottom(4)- Tập Pima
0
20
40
60
80
100
120
140
160
180
200
220
240
260
280
300
320
Số lần
mang thai
*10
Huyết
tương/2giờ
Huyết áp Dày đặc
nếp nhăn
Huyết thanh Chỉ số cơ
thể
Huyết
thống*100
Tuổi
Top(4)
Bottom(4)
Hình 5.9: So sánh giá trị trung bình của các thuộc tính của 2 nhóm
Top(4) và Bottom(4)
73
Bảng 5.19: Kết quả tính theo AUC trên tập Pima theo thực nghiệm 1.
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.552646 0.564907 0.608755 0.596584 0.62714 0.61684 0.597788 0.616358 0.606536 0.593924 0.611865 0.608819
Y=16 0.578296 0.577752 0.583398 0.574865 0.585563 0.609351 0.592814 0.591366 0.585547 0.591055 0.584689 0.588703
Y=32 0.610285 0.57467 0.57045 0.590929 0.58158 0.576962 0.565194 0.574152 0.568863 0.583543 0.590259 0.590897
Y=64 0.572635 0.575972 0.588461 0.570884 0.574076 0.571568 0.584989 0.572092 0.581404 0.576637 0.570594 0.579704
Y=128 0.588976 0.567729 0.582591 0.577531 0.571647 0.563596 0.577081 0.581759 0.567433 0.573636 0.579409 0.577549
Y=256 0.591306 0.585298 0.587365 0.578569 0.590756 0.585616 0.580211 0.573275 0.572627 0.580582 0.586301 0.572357
Y=512 0.588213 0.571724 0.578129 0.574635 0.589504 0.582914 0.575503 0.581005 0.580166 0.580192 0.571039 0.581986
0.5
0.52
0.54
0.56
0.58
0.6
0.62
0.64
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Y=512
Biểu đồ 5.8: Kết quả thực nghiệm trên tập Pima
74
d) Kết quả thực nghiệm trên tập Mammographic (theo thực nghiệm 1)
Kết quả chạy mô hình trên tập Mammographic được ghi lại trên bảng 5.21 và
biểu đồ 5.10. Quan sát biểu đồ 5.10, các đường biểu diễn theo Ψ không tách biệt rõ
nên rất khó trong việc chọn Ψ thích hợp. Ngoài ra giá trị AUC theo T khá dao động
nên cũng gây khó khăn cho việc chọn giá trị T thích hợp. Nếu không có lý do gì đặc
biệt, trong trường hợp này ta chọn điểm T=60, Ψ=16 đại diện cho trường hợp tốt nhất
của mô hình chạy trên tập dữ liệu này. Lấy giá trị trung bình trên 10 lần thực nghiệm
tại điểm này theo các ngưỡng ta được bảng 5.20, biểu đồ 5.9 được vẽ để biểu diễn
đường ROC trong trường hợp này.
Bảng 5.20: Bảng giá trị cho các (FPR,TPR) trường hợp tại T=60, Ψ=16.
FPR TPR
0 0
0.103003 0.082599
0.192796 0.199589
0.286896 0.290378
0.395406 0.388925
0.484068 0.509921
0.570245 0.614933
0.673808 0.72173
0.763951 0.822238
1 1
Đường ROC tiến gần sát đường chéo 450, mô hình cho hiệu quả phát hiện quá
thấp trên tập Mammographic (tương đương với trường hợp ngẫu nhiên AUC=0.5), phù
hợp với dự đoán ban đầu về tính không tương thích của các thuộc tính của tập đối với
mô hình.
ĐƯỜNG ROC (T=60,Y=16)
Mammographic
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R
AUC=0.519019
Biểu đồ 5.9: Đường ROC cho tập Mammographic
Hình 5.10: top(4) và bottom(4) trên tập Mammographic
Bi-r Tuổi Hdáng Gồgh Mậtđộ Lớp Score
Top(4){
Bottom(4){
75
Phân tích trên dữ liệu:
Quan sát số liệu ở hình 5.10 và hình ảnh trực quan trên hình 5.11 cho ta một số
nhận xét sau:
Ở nhóm Top(4) có 2 thể hiện bị nhận dạng sai là có nguy cơ cao ung thư vú ác
tính, trong khi đó nhóm Bottom(4) có một thể hiện thuộc lớp bất thường lại bị nhận
dạng sai là mẫu bệnh lành tính. Theo phân tích trên dữ liệu (bảng 5.10 và bảng 5.11)
và kết quả trên hình 5.6, ta có một vài nhận xét sau:
Khoảng giá trị dữ liệu của các thuộc tính khá dày (từ 1 đến 5 hoặc từ 1 đến 4)
nên trong quá trình chọn giá trị cắt ngẫu nhiên dễ dẫn đến sự chia tách không tốt, và
đồng thời các thuộc tính có tính cô đặc (phối hợp với nhau). Ví dụ mẫu thứ ba từ trên
xuống biểu thị mẫu bệnh có khối u ác tính có các giá trị thuộc tính lần lượt như sau
(chỉ số bức xạ bi-rads=4, tuổi = 71, hình dáng =4 (không đồng đều), loại mép gồ
ghề=5, Mật độ khối u ở mức vừa (iso)= 2). Ví dụ tương tự cho mẫu thứ tư từ trên
xuống (chỉ số bức xạ bi-rads=4, tuổi = 44, hình dáng =1 (tròn), loại mép gồ ghề=1,
Mật độ khối u ở mức cao (iso)= 1) biểu thị cho mẫu lành tính bị nhận dạng sai là ác
tính.
Quan sát thuộc tính thứ 4 là loại mép gồ ghề ta nhận xét hầu hết các mẫu bệnh
lành tính có loại mép gồ ghề là đường viền vòng quanh (circumscribed=1), còn các
mẫu còn lại có loại mép gồ ghề có gai (spiculated=5).
Tương tự quan sát trên thuộc tính 5 là mật độ của các khối u: hầu hết các mẫu ở
nhóm Bottom(4) đều có mật độ các khối u ở mức thấp low=3, trong khi đó các mẫu ở
nhóm Top(4) có giá trị mật độ các khối u ở mức vừa iso=2.
Các thuộc tính của tập Mammographic hầu hết là kiểu định danh: thuộc tính thứ
ba (hình dáng khối u có 4 loại), thuộc tính thứ tư (mép gồ ghề có 5 kiểu). Nên trong
quá trình chia tách tập theo giá trị cắt sẽ rất có khả năng sai lầm khi phân chia. Các
thuộc tính còn lại (ngoại trừ thuộc tính tuổi có kiểu liên tục) đều có kiểu thứ tự: thuộc
tính 1 là giá trị đánh giá bức xạ đánh theo chiều tăng dần của chỉ số bức xạ Bi-Rads,
thuộc tính 5 là thuộc tính mật độ khối u nhưng lại đánh theo chiều ngược (nếu mật độ
cao thì có giá trị là 1, bình thường là 2, thấp là 3).
Cụ thể khi quan sát trên hình 5.11, một nhận xét chung cho cả 5 thuộc tính trên
tập Mammographic là giá trị dữ liệu trên các thuộc tính giữa 2 nhóm bất thường và
bình thường không có sự khác biệt lớn, gần như tương đương nhau. Ngoài ra tập
Mammographic có tỷ lệ bất thường tương đối lớn (46.9%). Tập Mammographic không
thỏa mãn được cả hai giả định của mô hình nên ảnh hưởng xấu đến hiệu quả phát hiện
của mô hình.
76
So sánh giá trị trung bình của các thuộc tính giữa 2
nhóm Top(4) và Bottom(4)- Tập Mammographic
0
10
20
30
40
50
60
Chỉ số bức
xạ Bi-rads
Tuổi Hình dáng
khối u
Mức ghồ ghề Mật độ dày
đặc
Top(4)
Bottom(4)
Hiệu quả phát hiện trên tập Mammographic khá thấp (gần bằng với giá trị ngẫu
nhiên AUC=0.5) cho thấy mô hình không làm việc tốt trên các thuộc tính có kiểu
nominal và ordinal. Một lần nữa khẳng định mô hình chỉ làm việc tốt trên các thuộc
tính kiểu liên tục (continuous).
Hình 5.11: So sánh giá trị trung bình của các thuộc tính của 2
nhóm Top(4) và Bottom(4)
77
Bảng 5.21: Kết quả tính theo AUC trên tập Mammographic theo thực nghiệm 1.
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.477334 0.467636 0.48721 0.420142 0.499607 0.494714 0.515036 0.461589 0.49602 0.486969 0.47224 0.505445
Y=16 0.470043 0.451449 0.518849 0.497933 0.490979 0.508821 0.486706 0.479797 0.479766 0.477919 0.482511 0.493786
Y=32 0.4827 0.480964 0.513767 0.484003 0.477483 0.481142 0.489548 0.48629 0.472998 0.478961 0.471085 0.492456
Y=64 0.509109 0.48622 0.478187 0.479852 0.501333 0.488427 0.48268 0.48379 0.484981 0.48377 0.493507 0.486943
Y=128 0.48406 0.483897 0.481702 0.480567 0.487538 0.47082 0.474709 0.482765 0.474631 0.474674 0.489929 0.490415
Y=256 0.505331 0.474213 0.466445 0.475563 0.475516 0.480503 0.468581 0.493197 0.488102 0.479949 0.474481 0.485044
Y=512 0.475782 0.480005 0.485242 0.4684 0.492649 0.481772 0.482254 0.487913 0.480091 0.487886 0.475146 0.486017
Biểu đồ 5.10: Kết quả thực nghiệm trên tập Mammographic
0.4
0.42
0.44
0.46
0.48
0.5
0.52
0.54
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Y=512
78
So sánh các đường ROC cho 5 tập dữ liệu (Breastw, RayNau, Spambase, Pima,
Mammographic) theo thực nghiệm 1
Các đường ROC cho 5 tập thực nghiệm
Phương Pháp 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Breastw
RayNau
Spambase
Pima
Mamographic
Quan sát biểu đồ 5.11, hiệu quả phát hiện của mô hình chia thành 2 nhóm rõ rệt,
nhóm 1 (tập Breastw và tập RayNau) cho hiệu quả phát hiện tối ưu (AUC≈1), nhóm 2
(tập Spambase, Pima, Mammographic) cho hiệu quả phát hiện khá thấp (AUC trong
khoảng (0.5 đến 0.7). Tập Mammographic cho kết quả tệ nhất (AUC≈0.5).
5.2.2. Thực nghiệm 2: tập Training và tập Test là một
Mô tả thực nghiệm:
Ở thực nghiệm này tôi dùng tập Training là tập gốc ban đầu (loại bỏ thuộc tính
nhãn), sau đó ở giai đoạn kiểm thử tôi đi tính điểm số cho toàn bộ các thể hiện trên tập
gốc, đây là cách thực nghiệm mà tác giả của bài báo “Rừng cô lập” đã sử dụng để thực
nghiệm [27].
Vì quá trình xây dựng rừng là ngẫu nhiên, mỗi lần thực hiện xây dựng rừng ta
sẽ thu được một tập các cây khác nhau và tập các cây này sẽ khác với tập các cây ở
những lần xây dựng trước, Vì thế khả năng đánh giá sẽ có sự sai khác trên từng rừng
khác nhau. Chính vì lý do đó, thực nghiệm trên mỗi tập sẽ được lập lại nhiều lần rồi
lấy giá trị trung bình để tìm độ ổn định cho đánh giá. Kết quả ghi nhận được từ thực
nghiệm, khi số lần lập lại càng lớn thì giá trị trung bình đạt được có sự sai khác không
đáng kể, nói cách khác là kết quả đủ ổn định. Số lần lặp lại càng lớn thì càng đạt sự tin
Biểu đồ 5.11: Các đường ROC (thực nghiệm 1)
79
tưởng khi lấy trung bình. Nên tôi chọn 10 lần lặp để dùng trong thực nghiệm này. Vì
khi chọn số lần lặp lớn hơn sẽ làm tăng khối lượng dữ liệu phải xử lý không cần thiết.
Thực nghiệm tiến hành đúng theo 4 bước sau đây:
Bước 1: Thực nghiệm tiến hành chạy mô hình trên các tập dữ liệu bằng cách
thay đổi số cây T=20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 250, 300. Trên mỗi T,
cho thực nghiệm chạy trên giá trị kích thước mẫu Ψ=8, 16, 32, 64, 128, 256, 512. Trên
mỗi cặp (T, Ψ), chọn nhiều ngưỡng phát hiện bao gồm 0, 10, 20, 30, 40, 50, 60, 70,
80, 90, 100 để đánh giá hiệu quả cho mỗi cặp (T, Ψ) theo giá trị AUC.
Bước 2: Tổng hợp kết quả sau 10 lần chạy mô hình cho từng tập dữ liệu bằng
cách lấy trung bình của các giá trị AUC thu được.
Bước 3: Vẽ biểu đồ theo bảng giá trị để so sánh hiệu quả theo Ψ (chọn Ψ) và
quan sát tính ổn định theo T (chọn T).
Bước 4: Chọn một cặp (T, Ψ) cho giá trị AUC tốt nhất, vẽ biểu đồ ROC biểu
diễn cho hiệu quả phát hiện của mô hình trên từng tập cụ thể.
Kết quả Thực nghiệm:
Kết quả thực nghiệm trên 5 tập: Breastw, RayNau, Spambase, Pima,
Mammographic mô tả trên biểu đồ 5.12, kết quả chi tiết tham khảo phần phụ lục 2.
Các đường ROC cho 5 tập thực nghiệm
Phương Pháp 2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Breastw
RayNau
Spambase
Pima
Mammographic
Biểu đồ 5.12: Các đường ROC (thực nghiệm 2)
80
5.2.3. Thực nghiệm 3: Loại bỏ các thể hiện bất thường ra khỏi tập Training
Để kiểm chứng trường hợp đặc biệt khi không có phần tử bất thường nào trong
tập huấn luyện, thực nghiệm tiến hành huấn luyện trên các tập dữ liệu sau khi đã loại
bỏ các phần tử bất thường, sau đó tính điểm số bất thường cho tất cả các thể hiện trên
tập gốc ban đầu. Cách thức tiến hành thực nghiệm và thu nhận kết quả cũng được thực
hiện qua các bước giống như thực nghiệm 2. Qua thực nghiệm 3 ta nhận được kết quả
phát hiện của mô hình trên các tập dữ liệu đạt khá tốt như 2 thực nghiệm đầu (bảng
5.22). Tuy nhiên ở tập Mammographic (do tính chất thuộc tính không thỏa mãn mô
hình) nên kết quả thu được khó dự đoán và không chính xác (qua thực nghiệm). Nên
phần báo cáo thực nghiệm chỉ báo cáo kết quả cho 4 tập: Breastw, RayNau, Spambase,
Pima. Kết quả được biểu diễn trên biểu đồ 5.13 bên dưới. Kết quả chi tiết ở phụ lục 2.
5.3. Đánh giá kết quả thực nghiệm
5.3.1. Khẳng định lại một số tính chất của mô hình dựa vào thực nghiệm:
Mô hình đáp ứng tốt với kích thước mẫu nhỏ Ψ=8, 16, 32 (tùy vào từng tập cụ
thể) và số cây dao động theo các giá trị T=60, 80, 100, 200. Kết quả được tổng hợp
trên bảng 5.22 và biểu đồ 5.14.
Mô hình đáp ứng tốt về hiệu quả phát hiện ngay cả trường hợp tập Training
không chứa bất kỳ một thể hiện bất thường nào. Điều này đã được kiểm chứng qua
phần thực nghiệm 3 (tham khảo phụ lục 2), kết quả thực nghiệm trên 5 tập dữ liệu cho
thấy rằng hiệu quả phát hiện của mô hình đạt giá trị khá ổn định (biểu đồ 5.14).
Các đường ROC của 5 tập thực nghiệm - Trường hợp
không có phần tử bất thường trong tập Training
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Breastw
RayNau
Spambase
Pima
Biểu đồ 5.13: Các đường ROC (thực nghiệm 3)
81
Bảng 5.22: Tổng hợp kết quả chọn T, Ψ và giá trị AUC cho 3 thực nghiệm
Thực nghiệm 1 Thực nghiệm 2 Thực nghiệm 3
Tên tập
T Ψ AUC T Ψ AUC T Ψ AUC
Breastw 100 32 0.987 100 32 0.989 100 32 0.988
RayNau 60 16 1 100 32 1 80 32 1
Spambase 80 8 0.713 200 8 0.764 140 16 0.741
Pima 100 8 0.627 200 8 0.606 100 16 0.643
Mammographic 60 16 0.518 100 8 0.564 x x x
Để dễ đối chiếu hiệu quả phát hiện của mô hình trên 3 thực nghiệm, biểu đồ
5.14 sau đây biểu diễn hiệu quả của mô hình (theo AUC) trên 3 thực nghiệm cho 4 tập
dữ liệu được chọn thực nghiệm là Breastw, RayNau, Spambase và Pima. Quan sát biểu
đồ dễ nhận ra rằng hiệu quả phát hiện của mô hình cho kết quả gần như ổn định trên cả
3 thực nghiệm (sự sai khác không đáng kể).
So sánh 3 thực nghiệm
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
Breastw RayNau Spambase Pima
Các tập thực nghiệm
AU
C
Thực nghiệm 1
Thực nghiệm 2
Thực nghiệm 3
5.3.2. Đánh giá hiệu quả phát hiện của mô hình
Qua 3 phương pháp thực nghiệm áp dụng lên 5 tập dữ liệu: Breastw, RayNau,
Spambase, Pima và Mammographic, hiệu quả phát hiện của mô hình trên 5 tập được
Biểu đồ 5.14: So sánh hiệu quả của mô hình trên 3 thực nghiệm
82
biểu diễn trên 3 biểu đồ 5.11, 5.12 và 5.13 cho thấy hiệu quả phát hiện của mô hình
gần như chia theo 2 nhóm rõ rệt, nhóm 2 tập Breastw (AUC≈0.99). và RayNau
(AUC≈1) cho được kết quả gần như tối ưu. Nhóm 3 tập Spambase (AUC≈0.7), Pima
(AUC≈0.6) và Mammographic (AUC≈0.5) cho kết quả thấp hơn nhiều.
Trở lại với dự đoán ban đầu khi phân tích trên các tập dữ liệu (mục 5.1), 2 tập
Breastw và RayNau thỏa mãn tốt với 2 giả định của mô hình, và qua kết quả thực
nghiệm cho thấy mô hình có thể cho kết quả tối ưu với AUC≈1 (thực nghiệm 1,2,3)
khi áp dụng lên các tập thỏa mãn tốt 2 giả định “ít và khác” của mô hình rừng cô lập.
Ngược lại đối với các tập không thỏa mãn tốt 1 trong 2 giả định trên đều có ảnh
hưởng không tốt lên hiệu quả phát hiện của mô hình: tập Spambase, Pima (thực
nghiệm 1,2,3) và Mammographic (thực nghiệm 1,2). Đặc biệt đối với tập
Mammographic, cả 2 giả định của mô hình đều không thỏa mãn (lớp 1 chiếm đến
46.9% và hầu hết các thuộc tính kiểu định danh (nominal) và thứ tự (ordinal) không
phù hợp với tính chất thuộc tính của mô hình), vì vậy qua thực nghiệm ta thấy tỉ lệ
phát hiện quá thấp cho tập này chỉ đạt AUC ≈ 0.5 (thực nghiệm 1,2).
Nhìn chung, các kết quả thu được từ thực nghiệm phù hợp với những dự đoán
ban đầu của mô hình đó là:
- Mô hình đã đáp ứng tốt với những tập dữ liệu thoả mãn được 2 giả định của
mô hình (cho ra hiệu quả phát hiện trên 90%, thậm chí 100%). Ngay cả khi tập
training không chứa bất kỳ mẫu bất thường nào thì mô hình vẫn cho kết quả phát hiện
rất tốt (Phụ lục 2).
- Trên những tập có chứa nhiều thuộc tính không thoả mãn được sự khác biệt
lớn về dữ liệu, mô hình sẽ thu được hiệu quả phát hiện rất thấp (50%-70%), thậm chí
dưới 50%. Từ đó cho thấy, khi các tập dữ liệu chứa các thuộc tính mà bản thân chúng
chỉ có ý nghĩa khi kết hợp lại với nhau (các thuộc tính không độc lập), thì mô hình sẽ
cho hiệu quả phát hiện rất kém trong những trường hợp này.
- Trong trường hợp một số tập dữ liệu gốc ban đầu có nhiều thuộc tính không
phù hợp với giả định của mô hình, có thể thực hiện thêm bước nghiên cứu tập dữ liệu
để tìm ra những thuộc tính không liên quan (có nhiều lí do) để tiến hành loại bỏ chúng
khỏi tập dữ liệu trước khi đem vào thực nghiệm, với mong muốn tăng hiệu quả phát
hiện của mô hình.
5.3.3. Nhận xét về thời gian chạy của chương trình
Thời gian chạy của mô hình trên tập n phần tử được tính bằng thời gian huấn
luyện cộng với thời gian đánh giá (tính điểm số bất thường).
83
Qua thực nghiệm, ta nhận thấy mô hình rừng cô lập (iForest) có thời gian chạy
rất nhanh, giai đoạn training không bị ảnh hưởng vào kích thước của tập dữ liệu gốc
ban đầu mà chỉ phụ thuộc vào số cây t và kích thước mẫu Ψ, qua thực nghiệm ta đã
thu được kết quả mô hình phù hợp với kích thước mẫu nhỏ và số cây t dao động
khoảng 60 đến 200. Giai đoạn đánh giá có giá trị tăng tuyến tính theo n.
Độ phức tạp thời gian tuyến tính = O(t Ψ log Ψ) + O(nt logΨ)
84
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1. Kết luận
Qua quá trình thực hiện đề tài “Phát hiện bất thường với Rừng cô lập”, bản thân
tôi đã thu được những kết quả cụ thể như sau:
Nắm được cơ sở lý thuyết về phát hiện bất thường bao gồm: sự tồn tại của dữ
liệu cô lập (bất thường) trong tập dữ liệu, những vấn đề khó khăn đưa ra trong lĩnh vực
phát hiện bất thường, một số khía cạnh có liên quan về phát hiện bất thường như: bản
chất của dữ liệu bất thường, các loại dữ liệu bất thường trong thực tế, những ứng dụng
phổ biến hiện nay cho lĩnh vực phát hiện bất thường, một số kỹ thuật đang được triển
khai cho phát hiện bất thường và các phương pháp đánh giá hiệu quả cho phát hiện bất
thường.
Kế đến tôi đã tiến hành nghiên cứu và đã hiểu được bản chất của dữ liệu cô lập
trong rừng cô lập [27], nắm vững được các giải thuật chính được đề nghị trong bài báo
“Rừng cô lập” như: xây dựng cây cô lập, rừng cô lập, tính độ dài đường dẫn của các
thể hiện trong tập dữ liệu, tính điểm số bất thường của các thể hiện trên tập dữ liệu. Cụ
thể tôi đã thực hiện xây dựng rừng cô lập theo các giải thuật đã nêu (mục 3.6) một
cách khá cụ thể theo từng giai đoạn: giai đoạn xây dựng rừng, giai đoạn tính điểm số
bất thường và cuối cùng là chỉ ra được ý nghĩa của dữ liệu cô lập bị cô lập nhanh khi
đi qua các cây cô lập trong rừng cô lập. Điều này có ý nghĩa thiết thực để tôi tiến hành
bắt tay viết chương trình cho mô hình Rừng cô lập.
Từ sự hiểu biết có được trên cơ sở nghiên cứu về Rừng cô lập, tôi đã tiến hành
viết chương trình cho mô hình rừng cô lập. Chương trình được viết bằng ngôn ngữ
Java với tổng cộng số dòng lệnh của lớp chính iForest lên đến trên 400 dòng lệnh. Mô
tả cụ thể các công đoạn chính (các hàm) trong chương trình được trình bày khá chi tiết
ở chương 4. Để hổ trợ người dùng tôi đã thiết kế được giao diện cho mô hình rừng cô
lập (hình 4.1), giao diện tuy khá đơn giản nhưng cũng đã đưa ra được một số công cụ
cần thiết cho người dùng sử dụng mô hình để ứng dụng vào phát hiện bất thường cho
một tập dữ liệu bất kỳ theo định dạng .csv. Ngoài ra để hổ trợ cho phần thực nghiệm
tôi cũng đã viết thêm 3 đoạn mã lệnh để chạy cho 3 phương pháp thực nghiệm được
điều khiển dưới 2 nút lệnh: AUC (cho thực nghiệm 1) và newTest (thực nghiệm 2,3).
Tôi đã lựa chọn được 5 tập dữ liệu cho phần thực nghiệm (mục 5.1), kế tiếp tôi
đã tiến hành phân tích trên dữ liệu, tìm hiểu ý nghĩa của các thuộc tính trên từng tập dữ
liệu để từ đó có thể chỉ ra được đặc tính cô lập của những phần tử bất thường trong dữ
liệu, dựa trên kiến thức đã nghiên cứu về rừng cô lập, kiến thức có được từ sự phân
tích dữ liệu trên từng tập cụ thể đã chọn, kết quả có được do mô hình rừng cô lập chạy
85
trên từng tập dữ liệu cụ thể, tôi đã phân tích lại vấn đề bất thường trên dữ liệu dựa trên
các kết quả thực nghiệm.
Tôi đã tiến thành làm thực nghiệm theo 3 nghi thức và tôi tạm gọi là thực
nghiệm 1, 2, 3 theo từng nghi thức. Vì kết quả thu được từ 3 thực nghiệm khá ổn định
trên các tập, sự sai khác không đáng kể về hiệu quả phát hiện (mục 5.3.1). Nên phần
báo cáo cụ thể tôi chỉ trình bày cho thực nghiệm 1. Kết quả chi tiết thu được từ thực
nghiệm 2, 3 được trình bày ở phần phụ lục.
Dựa trên những con số thống kê cụ thể qua các thực nghiệm, tôi đã tổng hợp số
liệu từ 3 thực nghiệm (bằng bảng và biểu đồ) để từ đó có những nhận định lại về mô
hình rừng cô lập đã triển khai đó là: kỹ thuật rừng cô lập ứng dụng trong phát hiện dữ
liệu bất thường cho kết quả khá tốt trong trường hợp tập dữ liệu thỏa mãn 2 tính chất
‘ít và khác’. Mặc khác, thời gian thực thi của chương trình cũng được đánh giá là một
ưu thế của kỹ thuật rừng cô lập qua thực nghiệm vì việc xây dựng rừng cô lập chỉ phụ
thuộc vào số cây và kích cỡ mẫu trên mỗi cây. Nó không phụ thuộc vào kích cỡ của
toàn tập dữ liệu.
86
6.2. Hướng phát triển
Đề tài có thể được phát triển thêm như sau:
o Kết hợp thêm một kỹ thuật có khả năng làm giảm chiều của tập, điều này có thể
làm giảm sự ảnh hưởng của các thuộc tính không liên quan trong quá trình lựa
chọn ngẫu nhiên.
o Cải tiến theo hướng tính khoảng cách giữa các thể hiện bất thường và các thể
hiện bình thường trong tập dữ liệu.
87
TÀI LIỆU THAM KHẢO
[1] Agovic, A. and A. Banerjee. Anomaly Detection in Transportation Corridors
using Manifold Embedding. in Procedings of the 1st International Workshop on
Knowledge Discovery from Sensor. 2007: ACM Press.
[2] Aleskerov, E., B. Freisleben, and B. Rao. CARDWATCH: a neural network
based database mining system for credit card fraud detection. in Computational
Intelligence for Financial Engineering (CIFEr), 1997., Proceedings of the
IEEE/IAFE 1997. 1997.
[3] Ando, S., Clustering Needles in a Haystack: An Information Theoretic Analysis
of Minority and Outlier Detection, in Proceedings of the 2007 Seventh IEEE
International Conference on Data Mining. 2007, IEEE Computer Society.
[4] Anscombe, F.J. and I. Guttman, Rejection of Outliers. Technometrics, 1960.
2(2): p. 123-147.
[5] Asuncion, A. and D. Newman, UCI Machine Learning Repository. 2009.
[6] Augusteijn, M.F. and B.A. Folkert, Neural network classification and novelty
detection. J. Remote Sensing, 2002. 23: p. 2891-2902.
[7] Basu, S., M. Bilenko, and R.J. Mooney, A probabilistic framework for semi-
supervised clustering, in Proceedings of the tenth ACM SIGKDD international
conference on Knowledge discovery and data mining. 2004, ACM: Seattle,
WA, USA.
[8] Bolton, R., D. Hand, and David. Unsupervised Profiling Methods for Fraud
Detection. in Proc. Credit Scoring and Credit Control VII. 2001.
[9] Boriah, S., V. Chandola, and V. Kumar. Similarity Measures for Categorical
Data: A Comparative Evaluation. in Proceedings of 2008 SIAM Data Mining
Conference. 2008.
[10] Bramer, M., Principles of Data Mining. 2007: Springer-Verlag London limited.
[11] Brotherton, T., T. Johnson, and G. Chadderdon. Classification and novelty
detection using linear models and a class dependent-elliptical basis function
neural network. in Neural Networks Proceedings, 1998. IEEE World Congress
on Computational Intelligence. The 1998 IEEE International Joint Conference
on. 1998.
[12] Chandola, V., A. Banerjee, and V. Kumar, Anomaly detection: A survey. 2007,
Computer Science Department, University of Minnesota. p. 07-017.
[13] Dasgupta, D. and F. Nino. A comparison of negative and positive selection
algorithms in novel pattern detection. in Systems, Man, and Cybernetics, 2000
IEEE International Conference on. 2000.
[14] De Stefano, C., C. Sansone, and M. Vento, To reject or not to reject: that is the
question-an answer in case of neural classifiers. Systems, Man, and
Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, 2000.
30(1): p. 84-94.
[15] Diehl, C.P. and J.B. Hampshire, II. Real-time object classification and novelty
detection for collaborative video surveillance. in Neural Networks, 2002.
IJCNN '02. Proceedings of the 2002 International Joint Conference on. 2002.
88
[16] Do, T., et al., Classifying very-high-dimensional data with random forests of
oblique decision trees. 2009, Springer.
[17] Eskin, E., Anomaly Detection over Noisy Data using Learned Probability
Distributions, in Proceedings of the Seventeenth International Conference on
Machine Learning. 2000, Morgan Kaufmann Publishers Inc.
[18] Ester, M., H. peter Kriegel, and X. Xu. A density-based algorithm for
discovering clusters in large spatial databases with noise. 1996: AAAI Press.
[19] Fujimaki, R., T. Yairi, and K. Machida, An approach to spacecraft anomaly
detection problem using kernel feature space, in Proceedings of the eleventh
ACM SIGKDD international conference on Knowledge discovery in data
mining. 2005, ACM: Chicago, Illinois, USA.
[20] Goldberger, A.L., et al., PhysioBank, PhysioToolkit, and PhysioNet :
Components of a New Research Resource for Complex Physiologic Signals.
Circulation, 2000. 101(23): p. e215-220.
[21] Hofmann, D., et al., A Hierarchical Probabilistic Model for Novelty Detection
in Text. 1999.
[22] Jain, A.K. and R.C. Dubes, Algorithms for clustering data. 1988: Prentice-Hall,
Inc. 320.
[23] Joshi, M.V., R.C. Agarwal, and V. Kumar, Mining needle in a haystack:
classifying rare classes via two-phase rule induction, in Proceedings of the
2001 ACM SIGMOD international conference on Management of data. 2001,
ACM: Santa Barbara, California, United States.
[24] Keogh, E., et al., Finding the most unusual time series subsequence: algorithms
and applications. Knowl. Inf. Syst., 2006. 11(1): p. 1-27.
[25] Larose, D.T., Discovering Knowledge In Data: An Introduction to Data
Mining. 2005: A John Wiley & Sons, Inc., Publication.
[26] Latinne, P., O. Debeir, and C. Decaestecker, Limiting the Number of Trees in
Random Forests, in Multiple Classifier Systems. 2001. p. 178-187.
[27] Liu, F.T., K.M. Ting, and Z.H. Zhou, Isolation forest. Proceedings of the 8th
IEEE International Conference on Data Mining (ICDM'08), 2008: p. 413-422.
[28] Noble, C.C. and D.J. Cook, Graph-based anomaly detection, in Proceedings of
the ninth ACM SIGKDD international conference on Knowledge discovery and
data mining. 2003, ACM: Washington, D.C.
[29] Phoha, V.V., Internet security dictionary. 2002: Springer-Verlag New York,
Inc. 237.
[30] Preiss, B.R., Data Structures and Algorithms with Object - Oriented Design
Patterns in Java. 1999: Wiley.
[31] Shekhar, S., C.-T. Lu, and P. Zhang, Detecting graph-based spatial outliers:
algorithms and applications (a summary of results), in Proceedings of the
seventh ACM SIGKDD international conference on Knowledge discovery and
data mining. 2001, ACM: San Francisco, California.
[32] Song, X., M. Wu, and C. Jermaine, Conditional Anomaly Detection. IEEE
Trans. on Knowl. and Data Eng., 2007. 19(5): p. 631-645.
[33] Spence, C., L. Parra, and P. Sajda, Detection, Synthesis and Compression in
Mammographic Image Analysis with a Hierarchical Image Probability Model,
89
in Proceedings of the IEEE Workshop on Mathematical Methods in Biomedical
Image Analysis (MMBIA'01). 2001, IEEE Computer Society.
[34] Tan, P.-N., M. Steinbach, and V. Kumar, Introduction to Data Mining, (First
Edition). 2005: Addison-Wesley Longman Publishing Co., Inc.
[35] Theiler, J. and M. Cai. Resampling Approach for Anomaly Detection in
Multispectral Images. in in Proc. SPIE. 2003.
[36] Warrender, C., S. Forrest, and B. Pearlmutter. Detecting intrusions using system
calls: alternative data models. in Security and Privacy, 1999. Proceedings of
the 1999 IEEE Symposium on. 1999.
[37] Weigend, A., M. Mangeas, and A. Srivastava, Nonlinear Gated Experts for
Time Series: Discovering Regimes and Avoiding Overfitting. 1995.
[38] Witten, I.H. and E. Frank, Data Mining: Practical Machine Learning Tools and
Techniques. Second Edition ed. 2005: Morgan Kaufmann Publishers.
[39] Wong, W.-K., et al. Bayesian Network Anomaly Pattern Detection for Disease
Outbreaks. in In Proceedings of the Twentieth International Conference on
Machine Learning. 2003: AAAI Press.
90
PHỤ LỤC
PHỤ LỤC 1: CÁC LỚP CHÍNH CÓ TRONG CHƯƠNG TRÌNH
1.1. Lớp: IForest
Bảng thuộc tính:
STT Tên Kiểu Diễn giài
1. inputData double[][] Mảng chứa tập dữ liệu đầu vào
2. numTree int Số lượng cây
3. numAtt int Số thuộc tính
4. numInstance int Số thể hiện
5. sampleSize int Số thể hiện trong một mẫu con
6. isCreated boolean iForest được tạo hay không
7. iTree Node[] Danh sách các cây trong iForest
Bảng phương thức
STT Tên phương thức Kiểu trả
về
Các tham số Diễn giải
1. initializeValue void double [][] input,
int noAtt, int
noInstance, int
noTree, int
noSample
Khởi tạo giá trị cho
các thuộc tính lớp
2. setNumInstance void int n Đặt giá trị cho
numInstance = n
3. setNumAtt void int n Đặt giá trị cho
numAtt = n
4. setNumTree void int n Đặt giá trị cho
numTree = n
91
5. setSampleSize void int n Đặt giá trị cho
sampleSize = n
6. getNumInstance int Không đối số Trả về số thể hiện
7. getNumAtt int Không đối số Trả về số thuộc tính
8. getNumTree int Không đối số Trả về số cây
9. getSampleSize int Không đối số Trả về kích thước
mẫu
10. getInputData double[][] Không đối số Trả về mảng các
thể hiện đầu vào
11. importDataFromFile boolean String filename Import dữ liệu đầu
vào từ một tập tin
12. readDataFromFile double[][] String filename Đọc dữ liệu từ File
lưu vào mảng
13. createIForest void Không đối số Dựng rừng cô lập,
cho isCreated=true
14. createITree Node int[] xIndex, int
noInstance, int
currentHeight, int
heightLimit
Dựng cây cô lập
15. getPathLength double double[] x, Node
tree, double
currentLength
Trả về độ cao của x
trên cây
16. getScore double double[] x Trả về điểm số bất
thường của x
17. getAveragePathLen
gth
double double[] x Trả về độ cao trung
bình của của x trên
tập các cây cô lập
18. getSplitValue double int[] xIndex, int Trả về giá trị cắt p
92
attIndex, int
noInstance
để chia tập
19. getHeightLimit int int n Trả về độ cao giới
hạn trên cây có n
phần tử
20. getSample int[] Không đối số Trả về mảng các
chỉ số của các thể
hiện trong tập (mẫu
con)
1.2. LỚP: Node
Bảng thuộc tính
STT Tên Kiểu Diễn giải
1. leftChild Node Con trái
2. rightChild Node Con phải
Bảng phương thức
Tên PT Kiểu trả về Các tham số Diễn giài
Node Hàm xây dựng Không đối số Hàm xây dựng khởi tạo một nút
1.3. LỚP: ExtNode extends Node
Bảng thuộc tính
Tên thuộc tính Kiểu Diễn giài
exSize int Số các thể hiện trong nút
Bảng phương thức
STT Tên phương thức Kiểu trả về Các tham số Diễn giài
1. ExtNode Hàm xây dựng Không có Gán exSize=0
2. ExtNode Hàm xây dựng int size Gán exSize=size
93
1.4. LỚP: InNode extends Node
STT Tên thuộc tính Kiểu Diễn giài
1. SplitAtt int Chỉ số của thuộc tính cắt
2. SplitValue Double Giá trị cắt
94
PHỤ LỤC 2: KẾT QUẢ THỰC NGHIỆM
2.1. KẾT QUẢ THỰC NGHIỆM 2:
a) Kết quả Thực nghiệm trên Tập Breastw (theo PP2)
Kết quả chạy mô hình trên tập Breastw được ghi lại trên bảng PL-2 và biểu đồ
PL-2 bên dưới. Dựa trên biểu đồ PL-2, chọn điểm (T=100, Ψ=32) có AUC=0.989165
Bảng PL-1: Giá trị (FPR,TPR) tại (T=100, Ψ=32) cho đường ROC trên biểu đồ PL-1
FPR TPR
0 0
0 0.286307
0.002669 0.571692
0.015526 0.837713
0.083697 0.998617
0.235808 1
0.388646 1
0.541485 1
0.694323 1
1 1
b) Kết quả Thực nghiệm trên Tập RayNau (theo thực nghiệm 2): Bảng PL-4
Bảng PL-3: Giá trị (FPR,TPR) tại (T=100, Ψ=32) cho đường ROC trên biểu đồ PL-3
FPR TPR
0 0
0 1
0.111111 1
0.222222 1
0.333333 1
0.444444 1
0.555556 1
0.666667 1
0.777778 1
1 1
ĐƯỜNG ROC (T=100, Y=32) -
BREASTW
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R AUC=0.989165
Đường ROC (T=100,Y=32) - RayNau
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R
Biểu đồ PL-1
Biểu đồ PL-3
95
Bảng PL-2: Kết quả tính theo AUC trên tập Breastw theo thực nghiệm 2
0.974
0.976
0.978
0.98
0.982
0.984
0.986
0.988
0.99
0.992
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-2: Kết quả thực nghiệm trên tập Breastw theo thực nghiệm 2
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.985740818 0.987072 0.987136 0.98815 0.987452 0.987706 0.987896 0.987325 0.988213 0.988467 0.98834 0.987516
Y=16 0.985042762 0.987199 0.988086 0.98815 0.989228 0.988594 0.98853 0.988657 0.98834 0.988974 0.98853 0.988721
Y=32 0.987389697 0.98834 0.988974 0.98853 0.989165 0.988911 0.989418 0.989355 0.989418 0.989799 0.989672 0.989418
Y=64 0.985677399 0.985994 0.986057 0.988277 0.987833 0.988467 0.98796 0.988023 0.988023 0.989038 0.988086 0.988086
Y=128 0.983141568 0.984916 0.98479 0.985614 0.986438 0.984662 0.984536 0.98536 0.985423 0.984725 0.985803 0.985423
Y=256 0.979340539 0.98162 0.981937 0.981874 0.981049 0.982191 0.981366 0.982381 0.982381 0.981748 0.981747 0.982127
96
Bảng PL-4: Kết quả tính theo AUC trên tập RayNau theo thực nghiệm 2
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.988889 0.998333 0.999444 0.999444 1 1 1 1 1 1 1 1
Y=16 0.999222 1 1 1 1 1 1 1 1 1 1 1
Y=32 1 1 1 1 1 1 1 1 1 1 1 1
Y=64 1 1 1 1 1 1 1 1 1 1 1 1
Y=128 0.999444 0.999778 0.999444 0.999889 0.999667 0.999778 0.999778 0.999889 0.999778 0.999778 1 0.999778
Y=256 0.997889 0.998667 0.998889 0.998889 0.998778 0.998889 0.998889 0.998889 0.998889 0.998889 0.998889 0.998889
0.986
0.988
0.99
0.992
0.994
0.996
0.998
1
1.002
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-4: Kết quả thực nghiệm trên tập RayNau theo thực nghiệm 2
97
c) Kết quả thực nghiệm trên tập Spambase ( theo thực nghiệm 2)
Kết quả chạy mô hình trên tập Spambase được ghi lại trên bảng PL-6 và biểu đồ
PL-6 bên dưới. Trong trường hợp này chọn điểm T=80, Ψ=8 đại diện cho trường hợp
tốt nhất của mô hình chạy trên tập dữ liệu này.
Bảng PL-5: giá trị (FPR,TPR) tại T=80, Ψ=8.
FPR TPR
0 0
0.039096 0.193602
0.093651 0.363431
0.165925 0.506012
0.255093 0.622614
0.354484 0.723497
0.461836 0.812135
0.580595 0.883232
0.710976 0.936459
1 1
d) Kết quả thực nghiệm trên tập Pima (theo thực nghiệm 2)
Kết quả chạy mô hình trên tập Pima được ghi lại trên bảng PL-8 và biểu đồ
PL-8 bên dưới. Trong trường hợp này ta chọn điểm T=100, Ψ=8 đại diện cho trường
hợp tốt nhất của mô hình chạy trên tập dữ liệu này.
Bảng PL-7: Bảng giá trị cho các (FPR,TPR) trường hợp tại T=100, Ψ=8.
FPR TPR
0 0
0.0724 0.148507
0.1584 0.275373
0.2562 0.380224
0.3554 0.482463
0.4564 0.581343
0.5584 0.674627
0.6658 0.761567
0.7726 0.849627
1 1
Đường ROC (T=80, Y=8) Spambase
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R
AUC=0.749177
Biểu đồ PL-5
ĐƯỜNG ROC (T=100, Y=8) - PIMA
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R
AUC=0.589698
Biểu đồ PL-7
98
Bảng PL-6: Kết quả tính theo AUC cho tập Spambase (thực nghiệm 2)
0.5
0.55
0.6
0.65
0.7
0.75
0.8
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Y=512
Biểu đồ PL-6: Kết quả thực nghiệm trên tập Spambase theo thực nghiệm 2
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.700674 0.715821 0.730528 0.749177 0.746479 0.746191 0.74261 0.74798 0.747097 0.764849 0.756999 0.75255
Y=16 0.704741 0.692876 0.725769 0.747448 0.72025 0.713014 0.728459 0.735994 0.739357 0.732722 0.723936 0.740595
Y=32 0.668259 0.680231 0.672792 0.672172 0.684154 0.688601 0.686634 0.688005 0.678034 0.701342 0.690603 0.696747
Y=64 0.625378 0.635653 0.650363 0.655267 0.670976 0.662657 0.668405 0.667509 0.675349 0.661097 0.658418 0.665498
Y=128 0.616514 0.636345 0.625346 0.636009 0.638616 0.637106 0.642325 0.63823 0.641511 0.64207 0.647431 0.648022
Y=256 0.607476 0.60555 0.617423 0.63037 0.636796 0.635409 0.628732 0.624632 0.620745 0.626553 0.625323 0.630139
Y=512 0.607334 0.62056 0.632232 0.615181 0.611294 0.611153 0.609766 0.621584 0.613552 0.613246 0.619754 0.612887
99
Bảng PL-8: Kết quả tính theo AUC cho tập Pima (thực nghiệm 2)
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.542542 0.598554 0.59009 0.570012 0.589691 0.569533 0.593988 0.58224 0.568138 0.606567 0.583874 0.587675
Y=16 0.565901 0.569509 0.577901 0.564869 0.576991 0.579967 0.58025 0.577467 0.572739 0.579105 0.569412 0.576209
Y=32 0.55876 0.576778 0.564161 0.566143 0.572589 0.574687 0.566305 0.573763 0.561747 0.567766 0.569942 0.572291
Y=64 0.549751 0.565397 0.568086 0.55999 0.570691 0.559822 0.562435 0.567766 0.56849 0.563443 0.56134 0.567478
Y=128 0.54027 0.562309 0.563957 0.563438 0.557447 0.554581 0.555468 0.556297 0.563581 0.563983 0.560543 0.559164
Y=256 0.574897 0.566629 0.57385 0.560563 0.571235 0.563633 0.566923 0.567678 0.567501 0.566874 0.566497 0.570598
0.5
0.52
0.54
0.56
0.58
0.6
0.62
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-8: Kết quả thực nghiệm trên tập Pima theo thực nghiệm 2
100
d) Kết quả thực nghiệm trên tập Mammographic ( theo thực nghiệm 2)
Kết quả chạy mô hình trên tập Mammographic được ghi lại trên bảng PL-10 và
biểu đồ PL-10. Trong trường hợp này ta chọn điểm T=100, Ψ=8 đại diện cho trường
hợp tốt nhất của mô hình chạy trên tập dữ liệu này.
Bảng PL-9: Bảng giá trị cho các (FPR,TPR) trường hợp tại T=100, Ψ=8.
FPR TPR
0 0
0.112791 0.084944
0.224612 0.171011
0.289341 0.311685
0.357364 0.448539
0.436434 0.572584
0.52907 0.680899
0.631202 0.778202
0.744186 0.862921
1 1
Đường ROC (T=100, Y=8) Mammographic
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
FPR
TP
R
AUC=0.56451
Biểu đồ PL-9
101
Bảng PL-10: Kết quả tính theo AUC cho tập Mammographic (thực nghiệm 2
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.44827 0.506345 0.45472 0.433558 0.56451 0.501512 0.503536 0.527579 0.485611 0.473712 0.519541 0.500003
Y=16 0.547076 0.46593 0.476431 0.49552 0.492924 0.481211 0.486293 0.504669 0.50571 0.486848 0.464234 0.481804
Y=32 0.471166 0.499452 0.490198 0.481515 0.490537 0.488085 0.489995 0.485009 0.501187 0.49029 0.48968 0.47803
Y=64 0.47137 0.491471 0.493146 0.50187 0.489047 0.500167 0.485702 0.487176 0.489701 0.48807 0.494455 0.487211
Y=128 0.467294 0.484453 0.475245 0.471542 0.488499 0.488062 0.477955 0.487162 0.481997 0.48321 0.474943 0.481038
Y=256 0.482172 0.453707 0.481884 0.484207 0.485987 0.47667 0.482513 0.481071 0.47707 0.482343 0.473598 0.476467
0.4
0.42
0.44
0.46
0.48
0.5
0.52
0.54
0.56
0.58
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-10: Kết quả thực nghiệm trên tập Mammographic theo thực nghiệm 2
102
2.2. KẾT QUẢ THỰC NGHIỆM 3
Kết quả thu được qua trên 4 tập dữ liệu Breastw, RayNau, Spambase và Pima
theo thực nghiệm 3 được trình bày lần lượt qua các bảng và biểu đồ bên dưới.
103
a) Tập Breastw
Bảng PL-11: Kết quả tính theo AUC cho tập Breastw (thực nghiệm 3)
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.980993 0.98213 0.982954 0.983018 0.983589 0.982891 0.983271 0.982574 0.983017 0.983589 0.984221 0.983461
Y=16 0.98359 0.983206 0.985299 0.984412 0.983967 0.984602 0.985108 0.984664 0.985616 0.985046 0.98479 0.985109
Y=32 0.983778 0.985045 0.985298 0.985742 0.986122 0.986249 0.985995 0.985805 0.985869 0.985743 0.986058 0.986438
Y=64 0.986693 0.986439 0.986756 0.986946 0.986882 0.987579 0.987326 0.986882 0.987516 0.987516 0.987516 0.986945
Y=128 0.987517 0.988277 0.98815 0.98815 0.988911 0.98834 0.98834 0.988467 0.988403 0.98853 0.98834 0.988213
Y=256 0.988974 0.989608 0.989101 0.989482 0.989672 0.988974 0.989228 0.989291 0.989355 0.989482 0.989799 0.989165
0.976
0.978
0.98
0.982
0.984
0.986
0.988
0.99
0.992
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-11: Kết quả thực nghiệm trên tập Breastw theo thực nghiệm 3
104
b) Tập RayNau
Bảng PL-12: Kết quả tính theo AUC cho tập RayNau (thực nghiệm 3)
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.781778 0.846333 0.872889 0.888778 0.920444 0.906444 0.906556 0.891889 0.923333 0.891222 0.939 0.913778
Y=16 0.910222 0.917111 0.951222 0.988333 0.982889 0.96 0.984556 0.978889 0.978333 0.988889 0.988667 0.987889
Y=32 0.982889 0.998667 0.999333 0.998444 0.999889 1 1 1 0.999889 0.999889 1 1
Y=64 0.998667 1 1 1 0.999889 1 1 1 1 1 1 1
Y=128 0.999778 0.999778 0.999667 1 0.999889 1 0.999889 1 1 1 1 1
Y=256 0.999556 0.999889 0.999889 0.999889 0.999889 0.999889 1 0.999889 1 1 1 1
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1.05
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-12: Kết quả thực nghiệm trên tập RayNau theo thực nghiệm 3
105
c) Tập Spambase
Bảng PL-13: Kết quả tính theo AUC cho tập Spambase (thực nghiệm 3)
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.6826 0.7328 0.7420 0.7323 0.7506 0.7325 0.7262 0.7383 0.7446 0.7383 0.7394 0.7365 0.7330
Y=16 0.7217 0.7347 0.7446 0.7550 0.7346 0.7594 0.7616 0.7608 0.7556 0.7521 0.7598 0.7684 0.7507
Y=32 0.7554 0.7907 0.7852 0.7861 0.7899 0.7859 0.7776 0.7893 0.7932 0.7857 0.7920 0.7917 0.7852
Y=64 0.7944 0.8042 0.8091 0.8137 0.8092 0.8222 0.8215 0.8311 0.8206 0.8186 0.8253 0.8218 0.8160
Y=128 0.7945 0.8169 0.8350 0.8305 0.8448 0.8297 0.8343 0.8347 0.8390 0.8398 0.8342 0.8353 0.8307
Y=256 0.8139 0.8260 0.8337 0.8375 0.8281 0.8395 0.8393 0.8445 0.8427 0.8424 0.8414 0.8437 0.8361
Y=512 0.8034 0.8201 0.8199 0.8251 0.8312 0.8297 0.8359 0.8349 0.8308 0.8375 0.8349 0.8350 0.8282
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Y=512
Biểu đồ PL-13: Kết quả thực nghiệm trên tập Spambase theo thực nghiệm 3
106
d) Tập Pima
Bảng PL-14: Kết quả tính theo AUC cho tập Pima (thực nghiệm 3)
AUC T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8 0.6078 0.6518 0.6258 0.6423 0.6543 0.6351 0.6271 0.6492 0.6509 0.6575 0.6456 0.6576
Y=16 0.6245 0.6373 0.6408 0.6334 0.6454 0.6389 0.6410 0.6265 0.6343 0.6384 0.6328 0.6372
Y=32 0.6298 0.6279 0.6281 0.6285 0.6274 0.6335 0.6361 0.6236 0.6304 0.6266 0.6314 0.6341
Y=64 0.6371 0.6146 0.6268 0.6316 0.6277 0.6291 0.6301 0.6312 0.6298 0.6360 0.6319 0.6314
Y=128 0.6096 0.6296 0.6285 0.6288 0.6201 0.6275 0.6298 0.6234 0.6286 0.6271 0.6315 0.6280
Y=256 0.6258 0.6239 0.6417 0.6308 0.6318 0.6345 0.6365 0.6373 0.6340 0.6336 0.6372 0.6398
0.58
0.59
0.6
0.61
0.62
0.63
0.64
0.65
0.66
0.67
T=20 T=40 T=60 T=80 T=100 T=120 T=140 T=160 T=180 T=200 T=250 T=300
Y=8
Y=16
Y=32
Y=64
Y=128
Y=256
Biểu đồ PL-14: Kết quả thực nghiệm trên tập Pima theo thực nghiệm 3
Các file đính kèm theo tài liệu này:
- Phát hiện dữ liệu bất thường với rừng cô lập.PDF