S O SÁNH CÁC PHƯƠNG PHÁP PHÂN LỚP lớp dự đoán đúng dữ liệu chưa biết trước nhãn hiện dự đoán đúng với dữ liệu nhiễu hay thiếu giá trị Tính kích cỡ scalability : khả năng tạo bộ phân
Trang 1P HÂN LỚP VÀ DỰ ĐOÁN
TS Võ Đình Bảy bayvodinh@gmail.com
Trang 3PHÂN LỚP LÀ GÌ ? DỰ ĐOÁN LÀ GÌ?
Có thể dùng phân lớp và dự đoán để xác lập mô
hình nhằm mô tả các lớp quan trọng hay dự đoán
khuynh hướng dữ liệu trong tương lai
Phân lớp(classification): Tạo ra bộ phân lớp/ mô
hình phân lớp từ dữ liệu
Dự đoán (prediction): Dựa vào bộ phân lớp để dự
đoán nhãn của các mẫu chưa biết nhãn
Trang 4 Phân lớp dữ liệu là tiến trình có 2 bước
Huấn luyện : Dữ liệu huấn luyện được phân
tích bởi thuật tóan phân lớp ( có thuộc tính
Trang 6 Độ chính xác (accuracy) của bộ phân lớp trên
tập kiểm tra cho trước là phần trăm của các
mẫu trong tập kiểm tra được bộ phân lớp xếp
lớp đúng
Phân lớp là gì? Dự đoán là gì ?
sample test
of number total
sample test
classified
correctly Accuracy
Trang 7CHUẨN BỊ DỮ LIỆU
Làm sạch dữ liệu
Nhiễu
Thiếu giá trị
Phân tích liên quan (chọn đặc trƣng)
Các thuộc tính không liên quan
Trang 8S O SÁNH CÁC PHƯƠNG PHÁP PHÂN LỚP
lớp dự đoán đúng dữ liệu chưa biết trước nhãn
hiện dự đoán đúng với dữ liệu nhiễu hay thiếu giá trị
Tính kích cỡ (scalability) : khả năng tạo bộ phân lớp hiệu quả với số lượng dữ liệu lớn
Khả năng diễn giải : bộ phân lớp cung cấp tri thức có thể hiểu được
Trang 9PHƯƠNG PHÁP CÂY QUYẾT ĐỊNH
Trang 10CÂY QUYẾT ĐỊNH
Cây quyết định là cấu trúc cây sao cho:
Mỗi nút trong ứng với một phép kiểm tra trên một
thuộc tính
Mỗi nhánh biểu diễn kết quả phép kiểm tra
Các nút lá biểu diễn các lớp hay các phân bố lớp
Nút cao nhất trong cây là nút gốc
Trang 12Sườn chung về quy nạp trên cây quyết định
1 Chọn thuộc tính “tốt nhất” theo một độ đo chọn lựa cho trước
2 Mở rộng cây bằng cách thêm các nhánh mới cho từng giá trị thuộc
e2 yes high yes
e3 yes very high yes
yes {e2} no {e5} yes {e3} no {e6}
Trang 13CHIẾN LƢỢC CƠ BẢN
Bắt đầu từ nút đơn biểu diễn tất cả các mẫu
Nếu các mẫu thuộc về cùng một lớp, nút trở thành nút lá và được
gán nhãn bằng lớp đó
Ngược lại, dùng độ đo thuộc tính để chọn thuộc tính sẽ phân tách tốt
nhất các mẫu vào các lớp
Một nhánh được tạo cho từng giá trị của thuộc tính được chọn và các
mẫu được phân hoạch theo
Dùng đệ quy cùng một quá trình để tạo cây quyết định
Tiến trình kết thúc chỉ khi bất kỳ điều kiện nào sau đây là đúng
Tất cả các mẫu cho một nút cho trước đều thuộc về cùng một lớp
Không còn thuộc tính nào mà mẫu có thể dựa vào để phân hoạch
Trang 14B ẢNG DỮ LIỆU HUẤN LUYỆN
Day Outloook Temp Humidity Wind PlayTennis
D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No
Trang 15C ÂY QUYẾT ĐỊNH CHO BÀI TOÁN CHƠI TENNIS
temperature
sunny rain o’cast
{D9} {D5, D6} {D7}
outlook wind outlook
cool hot mild
{D5, D6, D7, D9} {D1, D2, D3, D13} {D4, D8, D10, D11,D12, D14}
true false {D2} {D1, D3, D13}
true false
{D5} {D6}
wind
high normal {D1, D3} {D3}
humidity
yes
true false {D14} {D4}
wind
no yes
no yes
15
TS Võ Đình Bảy
Trang 16C ÂY QUYẾT ĐỊNH ĐƠN GIẢN
sunny o’cast rain {D1, D2, D8 {D3, D7, D12, D13} {D4, D5, D6, D10, D14}
Trang 17Day Outloook Temp Humidity Wind PlayTennis
D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No
Chọn Outlook vì có nhiều mẫu ổn định nhất
17
TS Võ Đình Bảy
Trang 19V ỚI O ULOOK = SUNNY
Sunny Overcast Rain {D1, D2, D8 {D3, D7, D12, D13} {D4, D5, D6, D10, D14} D9, D11}
Day Temp Humidity Wind PlayTennis
D11 Mild Normal Strong Yes
{D4, D5, D6, D10, D14}
[3+, 2-]
?
Trang 20V ỚI O UTLOOK = RAIN
Sunny Overcast Rain {D1, D2, D8 {D3, D7, D12, D13} {D4, D5, D6, D10, D14} D9, D11}
Wind
no yes
Từ cây ta có 5 luật:
1 If Outlook = Overcast then Yes
2 If Outlook = Sunny and Humidity = High then No
3 If Outlook = Sunny and Humidity = Normal then Yes
4 If Outlook = Rain and Wind = Strong then No
5 If Outlook = Rain and Wind= Weak then Yes 20
Day Temp Humidity Wind PlayTennis
D5 Cool Normal Weak Yes D6 Cool Normal Strong No D10 Mild Normal Weak Yes D14 Mild High Strong No
Trang 21E NTROPY
Entropy đặc trưng độ hỗn tạp (tinh khiết) của tập bất kỳ các ví dụ
S là tập các mẫu thuộc lớp âm và lớp dương
P là tỷ lệ các mẫu thuộc lớp dương trong S
p là tỷ lệ các mẫu thuộc lớp âm trong S
Entropy(S) = -p log2p -p log2p
Trang 221 Entropy l à 0 nếu tất cả các thành viên của S đều thuộc về cùng một lớp
Ví dụ, nếu tất cả các thành viên đều thuộc về lớp dương thì :
Entropy(S) = -N/N log2(N/N) - 0 = -1.0 – 0 = 0 (N là số mẫu)
2 Entropy l à 1 nếu tập hợp chứa số lượng bằng nhau các thành viên thuộc lớp dương và lớp âm Nếu các số này là khác nhau, entropy sẽ nằm giữa 0 và
Trang 23I NFORMATION G AIN
Ta định nghĩa độ đo information gain, phản ánh mức độ hiệu quả của một thuộc tính trong phân lớp Đó là sự rút giảm mong muốn của entropy gây ra bởi sự phân hoạch các ví dụ theo thuộc tính này
Giá trị Value(A) là tập các giá trị có thể cho thuộc tính A, và
Sv là tập con của S mà A nhận giá trị v
)
Entropy(S S
S Entropy(S)
A)
Value(A) v
Trang 24I NFORMATION G AIN
Values(Wind) = {Weak, Strong}, S = [9+, 5-]
Sweak là nút con với trị “weak” là [6+, 2-]
Sstrong là nút con với trị “strong”, là [3+, 3-]
Gain(S, Wind) = Entropy(S) - Entropy(S )
Trang 25Thuộc tính nào là phân lớp tốt nhất?
S:[9+, 5-]
E = 0.940 Humidity
Weak Strong
[6+, 2-] [3+, 3-]
E = 0.811 E = 1.00
Gain(S, Wind) = 940 - (8/14).811 - (6/14)1.00 = 048 25
Trang 26I NFORMATION GAIN CỦA TẤT CẢ CÁC
THUỘC TÍNH
Gain (S, Outlook) = 0.246 Gain (S, Humidity) = 0.151
Gain (S, Wind) = 0.048 Gain (S, Temperature) = 0.029
Trang 27Bước kế tiếp trong tiến trình tăng trưởng
trên cây quyết định
Gain(S sunny , Humidity) = 970 - (3/5)0.0 - (2/5)0.0 = 0.970
Gain(S sunny , Temperature) = 970 - (2/5)0.0 - (2/5)1.0 - (1/5)0.0 = 0.570
Gain(S sunny , Wind) = 970 - (2/5)1.0 - (3/5)0.918 = 0.019 27
Day Temp Humidity Wind PlayTennis
D11 Mild Normal Strong Yes
Trang 29Các thuộc tính với nhiều giá trị
Nếu thuộc tính có nhiều giá trị (ví dụ, các ngày trong tháng)
ID3 sẽ chọn nó
C4.5 dùng GainRatio
S
S log S
S A)
mation(S, SplitInfor
A) mation(S, SplitInfor
A)
Gain(S, A)
S, GainRatio(
i 2 S
Trang 30Day Outloook Temp Humidity Wind PlayTennis
D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No
30
TS Võ Đình Bảy
Trang 31PHÂN LỚP BAYES
Trang 32PHÂN LỚP BAYES
Bộ phân lớp Bayes cĩ thể dự báo các xác suất là thành viên của lớp, chẳng hạn xác suất mẫu cho trước thuộc về một lớp xác định
Bộ phân lớp Nạve Bayes cĩ thể so sánh đuợc về cơng năng với Bộ phân lớp cây quyết định và mạng nơron Chúng giả định các thuộc tính là độc lập nhau (độc lập điều kiện lớp)
Trang 33ĐỊNH LÝ BAYES
X là mẫu dữ liệu chưa biết nhãn lớp
H là giả thuyết sao cho X thuộc về lớp C
Ấn định xác suất hậu nghiệm (posterior probability)
P(H|X) sao cho H đúng khi cho trước quan sát X (H
conditioned on X)
Giả sử thế giới các mẫu dữ liệu gồm trái cây, được mô tả
bằng màu sắc và hình dáng
- Giả sử X là màu đỏ và hình tròn
- H là giả thuyết mà X là quả táo
- Thì P(H|X) phản ánh độ tin cậy X là quả táo khi biết
Trang 34) )P(H H
| P(X
) )P(H H
|
P(X X)
| P(H
Trang 35P HÂN LỚP N ẠVE B AYESIAN (NBC)
Mỗi mẫu dữ liệu được biểu diễn bằng X= (x1, x2,…, xn)
với các thuộc tính A1, A2,…, An
Các lớp C1, C2, …, Cm Cho trước mẫu chưa biết X NBC
gán X vào Ci khi và chỉ khi P(Ci|X) > P(Cj|X) với 1 j m,
j i Do vậy, chúng ta cực đại P(Ci|X) Lớp Ci sao cho
P(Ci|X) là cực đại được gọi là giả thuyết hậu nghiệm cực
đại (maximum posterior hypothesis) Theo định lý Bayes
P(X)
) )P(C C
|
P(X X)
Trang 36PHÂN LỚP NẠVE BAYESIAN
Do P(X) l à h ằng cho tất cả các lớp, chỉ cần cực đại P(X|Ci) P(Ci) Nếu chưa biết P(Ci) cần giả định P(C1)=P(C2)=…= P(Cm) và chúng ta sẽ cực đại P(X|Ci) Ngược lại, ta cực đại P(X|Ci) P(Ci)
Nếu m là lớn, sẽ rất tốn kém khi tính P(X|Ci) P(Ci) NBC giả định độc lập điều kiện lớp
) C
| P(x )
C
|
1 k
Trang 37 Có thể phỏng tính P(x1|Ci), …, P(xn|Ci) từ các mẫu huấn luyện
Nếu Ak đƣợc phân lớp thì P(xk|Ci) = sik/si với sik là số mẫu huấn luyện của Ci có trị xk cho Ak và si là số các mẫu thuộc về lớp Ci
Nếu Ak là liên tục thì nó đƣợc giả định có phân bố
Gaussian
2 i C
2 i C k
i
i i
2σ
) μ (x
C
C C
k i
2
1 )
σ , μ , g(x )
C
| P(x
Trang 38PHÂN LỚP NẠVE BAYESIAN
Để phân lớp mẫu chƣa biết X, ta tính P(X|Ci) P(Ci)
cho từng Ci Sau đĩ mẫu X đƣợc gán vào Ci iff
P(C i |X) > P(C j |X) for 1 j m, j i
Nĩi cách khác, NBC gán X vào lớp Ci sao cho
P(X|Ci) P(Ci) là cực đại
Trang 39Day Outloook Temp Humidity Wind PlayTennis
D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No
Với X = {Sunny, Cool, High, Strong} => PlayTennis(X) = ?
Trang 40Day Outlook Temp Humi Wind Play
D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No
X = {Sunny, Cool, High, Strong}
4 5
1 5
3 14
5 )
|
( 9
3 9
3 9
3 9
2 14
9 )
|
P
Trang 41C ÁC THUẬT TOÁN PHÂN LỚP
Trang 43ILA
con Một bảng con ứng với một giá trị của thuộc
tính phân lớp (Lặp lại từ bước 2 đến bước 8 cho
mỗi bảng con)
2. Khởi tạo số lượng thuộc tính kết hợp j với j =1
3. Với mỗi bảng con đang xét, phân chia các thuộc
tính của nó thành một danh sách các thuộc tính
kết hợp, mỗi thành phần của danh sách có j
thuộc tính phân biệt
Trang 44ILA
4. Với mỗi kết hợp các thuộc tính trong danh sách trên,
đếm số lần xuất hiện các giá trị cho các thuộc tính
trong kết hợp đó ở các dòng chưa bị khóa của bảng đang xét nhưng nó không được xuất hiện cùng giá trị
ở những bảng con khác Chọn ra một kết hợp trong danh sách sao cho nó có giá trị tương ứng xuất hiện nhiều nhất và được gọi là Max_combination
5. Nếu Max_combination =0 thì j = j+1 quay lại bước 3
6. Khóa các dòng ở bảng con đang xét mà tại đó giá trị
bằng với giá trị tạo ra max_combination
Trang 45ILA
7. Thêm vào R luật mới với giả thuyết là các giá trị
tạo ra Max_combination kết nối các bộ này bằng
phép AND, kết luận là giá trị của thuộc tính quyết
định trong bảng con đang xét
8. Nếu tất cả các dòng đều khóa:
Nếu còn bảng con thì qua bảng con tiếp theo và
quay lại bước 2
Ngược lại chấm dứt thuật toán
Ngược lại thì quay lại bước 4
Trang 46Ví dụ minh họa ILA
Trang 481 Vừa dương Xanh Hộp Mua
Trang 491 Vừa dương Xanh Hộp Mua
Trang 501 Vừa Xanh dương Hộp Mua
Trang 511 Vừa Xanh dương Hộp Mua
Bước 7: Tạo ra luật R4: IF hình dáng = nón THEN QĐ = Không mua
Bước 8: Quay lại bước 4
Trang 521 Vừa Xanh dương Hộp Mua
Bước 3: Các kết hợp có 2 thuộc tính là [kích cỡ, màu sắc], [kích cỡ, hình dáng], [màu sắc, hình dáng]
Bước 4: Đếm số lần xuất hiện của các giá trị
Trang 531 Vừa Xanh dương Hộp Mua
Bước 7: Tạo ra luật R5: IF Kích cỡ = lớn AND Màu sắc = đỏ THEN
Quyết định = Không mua
Bước 8: Tất cả các dòng đều khóa, ngừng thuật toán
Trang 54Được đề xuất vào năm 1998 bởi Bin Liu và đồng sự
Cách tiếp cận là sinh các luật kết hợp thỏa minSup và
minConf với vế phải là giá trị của thuộc tính quyết định
54
TS Võ Đình Bảy
K HAI THÁC LUẬT PHÂN LỚP DỰA VÀO KHAI
Trang 55 Đị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, ai1), …, (Aim, aim)>
Định nghĩa 2: Luật phân lớp r là phép kéo theo có dạng <(Ai1,
ai1), …, (Aim, aim)> cj Trong đó <(Ai1,ai1), …, (Aim, aim)> là một Itemset còn cjC là một nhãn lớp
Định nghĩa 3: Khả năng xảy ra của r, kí hiệu ActOcc(r), là số
dòng trên D chứa vế trái của r
Định nghĩa 4: Độ phổ biến của r, kí hiệu Sup(r), là số dòng
trên D chứa cả vế trái lẫn vế phải của r
Định nghĩa 5: Độ tin cậy của r, kí hiệu Conf(r) được xác định
như sau: Conf(r) = Sup(r)/ ActOcc(r)
Trang 56 Định nghĩa 6- Obidset (Object identifier set): Obidset(X)
là tập định danh các đối tượng trong D có chứa X
Định nghĩa 7- Lớp tương đương : p(X,k) = X[1:k], nghĩa
là hàm p lấy k phần tử đầu của X
Trang 58Được đề xuất vào năm 1998 bởi Bin Liu và đồng sự
Dựa vào thuật toán Apriori
Trang 59 Định nghĩa 8 - Luật có thứ bậc cao
Cho 2 luật Ri và Rj, ta nói luật Ri có thứ bậc
cao hơn luật Rj, kí hiệu Ri Rj, nếu thỏa một trong các điều kiện sau:
Conf (Ri) > Conf (Rj)
Conf (Ri) = Conf (Rj) và Sup(Ri) > Sup(Rj)
Conf (Ri) = Conf (Rj), Sup(Ri) = Sup(Rj) và Ri
được tạo ra trước Rj
Trang 60 Định nghĩa 9: Luật con
Cho 2 luật Ri và Rj trong đó:
Trang 61Gọi R = {R1, R2, ., Rs} là tập tất cả các luật phân lớp của CSDL D, luật Rj được gọi là dư thừa nếu trong R có chứa luật
Trang 62 Số lượng luật sinh ra (CARs/ pCARs) khá lớn
Chẳng hạn: xét cơ sở dữ liệu German với minSup =
1%, |CARs| = 752.643
Cần có phương pháp rút gọn luật để:
i) Giảm thời gian tiên đoán nhãn lớp của mẫu mới
ii) Tăng độ chính xác tiên đoán
R ÚT GỌN L UẬT (T ẠO BỘ PHÂN LỚP )