Bài toán phân lớp Bài toán phân lớp Classification Đối với một tập các ví dụ/bản ghi instances/records – gọi là tập ộ ập ụ g gọ ập huấn luyện/học training/learning set Mỗi bản ghi
Trang 2Nội dung môn học:
Giới thiệu về Khai phá dữ liệu
ề
Giới thiệu về công cụ WEKA
Tiền xử lý dữ liệu
Phát hiện các luật kết hợp
Các kỹ thuật phân lớp và dự đoán
Các kỹ thuật phân lớp và dự đoán
Phân lớp bằng phương pháp học Bayes
Học cây quyết định
Các kỹ thuật phân nhóm
2
Khai Phá Dữ Liệu
Trang 3Bài toán phân lớp
Bài toán phân lớp (Classification)
Đối với một tập các ví dụ/bản ghi (instances/records) – gọi là tập ộ ập ụ g ( ) gọ ập huấn luyện/học (training/learning set)
Mỗi bản ghi được biểu diễn bằng một tập các thuộc tính, trong
đó có một thuộc tính phân lớp (class attribute)ộ ộ p p ( )
Tìm/học một hàm cho thuộc tính phân lớp (hàm phân lớp) đối
với các giá trị của các thuộc tính khác
Sử dụng một tập các ví dụ khác với các ví dụ học để
kiểm tra độ chính xác của hàm phân lớp học được – gọi
là tập kiểm thử (test set)
Thông thường, tập dữ liệu ban đầu được chia thành 2 tập (không
giao nhau): training set (để học hàm phân lớp) và test set (để
kiểm thử hàm phân lớp học được)
Trang 4Phân lớp vs Dự đoán
Bài toán phân lớp (Classification problem)
Học một hàm mục tiêu có giá trị rời rạc (a discrete-valued target function)
Miền giá trị: một tập các nhãn lớp (class labels) xác địn trước
Với mỗi ví dụ cần phân loại, hệ thống xác định nhãn lớp của nó
Bài toán dự đoán/hồi quy (Prediction/regression problem) ự q y ( g p )
Học một hàm mục tiêu có giá trị liên tục (a continuous-valued
target function)
Miền giá trị: tập các giá trị số thực (real numbers)
Với mỗi ví dụ cần dự đoán, hệ thống xác định giá trị dự đoán của nó
4
Khai Phá Dữ Liệu
Trang 5Học có vs không có giám sát
Học có giám sát (supervised learning)
Mỗi ví dụ học gồm 2 phần: mô tả (biểu diễn) của ví dụ học và
Mỗi ví dụ học gồm 2 phần: mô tả (biểu diễn) của ví dụ học, và
nhãn lớp (hoặc giá trị đầu ra mong muốn) của ví dụ học đó
Bài toán học phân lớp (classification problem)
D train = {(<Biểu diễn của x> <Nhãn lớp của x>)}
Bài toán học dự đoán/hồi quy (prediction/regression problem)
D_train = {(<Biểu_diễn_của_x>, <Giá_trị_đầu_ra_của_x>)}
Học không có giám sát (unsupervised learning)
Mỗi ví dụ học chỉ chứa mô tả (biểu diễn) của ví dụ học đó - màkhông có bất kỳ thông tin nào về nhãn lớp hay giá trị đầu ra mongmuốn của ví dụ học đó
Bài toán học phân cụm (Clustering problem)
Tập học D train = {(<Biểu diễn của x>)}
Trang 6Các khái niệm cơ bản về xác suất
Giả sử chúng ta có một thí nghiệm (ví dụ: đổ một quân xúc sắc) mà kết quả của nó mang tính ngẫu nhiên (phụ thuộc vào khả năng có thể xảy ra)
Không gian các khả năng S Tập hợp tất cả các kết quả có thể xảy ra
Ví dụ: S= {1 2 3 4 5 6} đối với thí nghiệm đổ quân xúc sắc
Sự kiện E Một tập con của không gian các khả năng
Biến ngẫu nhiên A Một biến ngẫu nhiên biểu diễn (diễn đạt) một sự
kiện và có một mức độ về khả năng xảy ra sự kiện này
6
Khai Phá Dữ Liệu
Trang 7Biểu diễn xác suất
P(A): “Phần của không gian (thế giới) mà trong đó A là đúng”
đúngKhông gian mà
[http://www cs cmu edu/~awm/tutorials]
Không gian mà trong đó A là sai
[http://www.cs.cmu.edu/~awm/tutorials]
Trang 8Các biến ngẫu nhiên Bool
Một biến ngẫu nhiên Bool có thể nhận một trong 2 giá trị đúng (true) hoặc sai (false)
• P(not A)≡ P(~A)= 1 - P(A)
• P(A)= P(A ∧ B) + P(A ∧ ~B) P(A) P(A ∧ B) + P(A ∧ B)
8
Khai Phá Dữ Liệu
Trang 9Các biến ngẫu nhiên nhiều giá trị
Một biến ngẫu nhiên nhiều giá trị có thể nhận một trong số
k (>2) giá trị {v ( ) g 11,v22,…,vkk}
j i
v A
v A
v A
v A
v A
v A
B
[http://www.cs.cmu.edu/~awm/tutorials] j= 1
Trang 10Xác suất có điều kiện (1)
P(A|B) là phần của không gian (thế giới) mà trong đó A
là đúng, với điều kiện (đã biết) là B đúng
Ví dụ
• A: Tôi sẽ đi đá bóng vào ngày mai
• B: Trời sẽ không mưa vào ngày mai
• P(A|B): Xác suất của việc tôi sẽ đi đá bóng vào
ngày mai nếu (đã biết rằng) trời sẽ không mưa (vào
à i) ngày mai)
10
Khai Phá Dữ Liệu
Trang 11Xác suất có điều kiện (2)
Định nghĩa: P ( A | B ) P ( A , B )
Định nghĩa:
) (
) ,
( )
|
(
B P
B A
Không gian
mà trong
đó B đú
ệ q
P(A,B)=P(A|B).P(B)
đúng
Không gian mà trong đó A đúng
A
P
1
1 )
| (
Trang 12Các biến độc lập về xác suất (1)
Hai sự kiện A và B được gọi là độc lập về xác suất nếu
xác suất của sự kiện A là như nhau đối với các trường g hợp:
• Khi sự kiện B xảy ra, hoặc
• Khi sự kiện B không xảy ra hoặc
• Khi sự kiện B không xảy ra, hoặc
• Không có thông tin (không biết gì) về việc xảy ra của sự kiện B
Ví dụ
Ví dụ
•A: Tôi sẽ đi đá bóng vào ngày mai
•B: Tuấn sẽ tham gia trận đá bóng ngày maig ậ g g y
•P(A|B) = P(A)
→ “Dù Tuấn có tham gia trận đá bóng ngày mai hay không cũng không
ả h h ở tới ết đị h ủ tôi ề iệ đi đá bó à i ” ảnh hưởng tới quyết định của tôi về việc đi đá bóng ngày mai.”
12
Khai Phá Dữ Liệu
Trang 13Các biến độc lập về xác suất (2)
Từ định nghĩa của các biến độc lập về xác suất
P(A|B)=P(A), chúng ta thu được các luật như sau
Trang 14Xác suất có điều kiện với >2 biến
P(A|B,C) là xác suất của A đối với (đã
biết) à C
biết) B và C
Ví dụ
• A: Tôi sẽ đi dạo bờ sông vào sáng mai
• B: Thời tiết sáng mai rất đẹp
A
P(A|B C)
• C: Tôi sẽ dậy sớm vào sáng mai
• P(A|B,C): Xác suất của việc tôi sẽ đi dạo
dọc bờ sông vào sáng mai, nếu (đã biết rằng)
Trang 15Độc lập có điều kiện
Hai biến A và C được gọi là độc lập có điều kiện đối với
biến B, nếu xác suất của A đối với B bằng xác suất của A đối với B và C
Công thức định nghĩa: P(A|B,C) = P(A|B) g ị g ,
Ví dụ
• A: Tôi sẽ đi đá bóng vào ngày mai
• B: Trận đá bóng ngày mai sẽ diễn ra trong nhà
• C: Ngày mai trời sẽ không mưa
• P(A|B,C)=P(A|B)
→ Nếu biết rằng trận đấu ngày mai sẽ diễn ra trong nhà, thì xác suất của việc tôi sẽ đi đá bóng ngày mai không phụ thuộc vào thời tiết
Trang 16Các quy tắc quan trọng của xác suất
Quy tắc chuỗi (chain rule)
• P(A B) = P(A|B) P(B) = P(B|A) P(A)
• P(A,B) = P(A|B).P(B) = P(B|A).P(A)
• P(A|B) = P(A,B)/P(B) = P(B|A).P(A)/P(B)
• P(A,B|C) = P(AP(A,B|C) P(A, ,BB, ,C)/P(C) = P(A|BC)/P(C) P(A|B, ,C).P(BC).P(B, ,C)/P(C)C)/P(C)
= P(A|B,C).P(B|C)
Độc lập về xác suất và độc lập có điều kiện
Độc lập về xác suất và độc lập có điều kiện
• P(A|B) = P(A); nếu A và B là độc lập về xác suất
• P(A,B|C) = P(A|C).P(B|C); nếu A và B là độc lập có điềuP(A,B|C) P(A|C).P(B|C); nếu A và B là độc lập có điều kiện đối với C
• P(A1,…,An|C) = P(A1|C)…P(An|C); nếu A1,…,An là độc lập
có điều kiện đối với C
16
Khai Phá Dữ Liệu
Trang 17Định lý Bayes
) (
) ( ).
|
( )
|
(
D P
h P h
D
P D
P(h|D): Xác suất (có điều kiện) của giả thiết h là đúng nếu
P(h|D): Xác suất (có điều kiện) của giả thiết h là đúng, nếu biết rằng tập dữ liệu D được quan sát
→ Các phương pháp suy diễn dựa trên xác suất sẽ sử
dụng xác suất có điều kiện (posterior probability) này!
Trang 18Định lý Bayes – Ví dụ (1)
Giả sử chúng ta có tập dữ liệu sau (dự đoán 1 người có chơi tennis)?
Trang 19Định lý Bayes – Ví dụ (2)
Giả thiết h: Anh ta chơi tennis
Tập dữ liệu D: Ngoài trời là nắng và Gió là mạnh
Tập dữ liệu D: Ngoài trời là nắng và Gió là mạnh
Xác suất P(h): Xác suất rằng anh ta chơi tennis (bất kể
Xác suất P(D): Xác suất rằng Ngoài trời là nắng và Gió là
mạnh
P(D|h): Xác suất rằng Ngoài trời là nắng và Gió là mạnh,
nếu biết rằng anh ta chơi tennis
P(h|D): Xác suất rằng anh ta chơi tennis nếu biết rằng
P(h|D): Xác suất rằng anh ta chơi tennis, nếu biết rằng
Ngoài trời là nắng và Gió là mạnh
Giá trị xác suất có điều kiện này sẽ được dùng để dự đoán xem anh ta có y g chơi tennis hay không?
Trang 20Cực đại hóa xác suất có điều kiện
Với một tập các giả thiết (các phân lớp) có thể H, hệ thống học
sẽ tìm giả thiết có thể xảy ra nhất (the most probable g y ( p
hypothesis) h(∈H) đối với các dữ liệu quan sát được D
Giả thiết h này được gọi là giả thiết cực đại hóa xác suất có
điều kiện (maximum a posteriori – MAP)
)
| ( max
) ( ).
|
( max
arg
D P
h P h D
P h
H h
| ( max arg P D h P h
h
H h
Trang 21MAP – Ví dụ
Tập H bao gồm 2 giả thiết (có thể)
• h11: Anh ta chơi tennis
• h2: Anh ta không chơi tennis
Tính giá trị của 2 xác xuất có điều kiện: P(h1|D), P(h2|D)
Giả thiết có thể nhất hMAP=h1 nếu P(h1|D) ≥ P(h2|D); ngược lại thì hMAP=h2
Bởi vì P(D)=P(D h )+P(D h ) là như nhau đối với cả 2 giả
Bởi vì P(D)=P(D,h1)+P(D,h2) là như nhau đối với cả 2 giả thiết h1 và h2, nên có thể bỏ qua đại lượng P(D)
Vì vậy, cần tính 2 biểu thức: P(D|h ậy, ( | 11).P(h ) ( 11) và )
P(D|h2).P(h2), và đưa ra quyết định tương ứng
• Nếu P(D|h1).P(h1) ≥ P(D|h2).P(h2), thì kết luận là anh ta chơi tennis
N l i thì kết l ậ là h t khô h i t i
• Ngược lại, thì kết luận là anh ta không chơi tennis
Trang 22Đánh giá khả năng xảy ra cao nhất
Phương pháp MAP: Với một tập các giả thiết có thể H, cần tìm một giả thiết cực đại hóa giá trị: P(D|h).P(h) ộ g ự ạ g ị ( | ) ( )
Giả sử (assumption) trong phương pháp đánh giá khả năng
xảy ra cao nhất (maximum likelihood estimation – MLE):
Tất ả á iả thiết đề ó iá t ị á ất t ớ h h
Tất cả các giả thiết đều có giá trị xác suất trước như nhau: P(hi)=P(hj), ∀hi,hj∈H
Phương pháp MLE tìm giả thiết cực đại hóa giá trị P(D|h); g p p g ự ạ g ị ( | );
trong đó P(D|h) được gọi là khả năng xảy ra (likelihood) của
dữ liệu D đối với h
Giả thiết đ i hó khả ă ả ( i lik lih d
Giả thiết cực đại hóa khả năng xảy ra (maximum likelihood hypothesis)
)
| (
max
h
H h
Trang 23MLE – Ví dụ
Tập H bao gồm 2 giả thiết có thể
• h1: Anh ta chơi tennis
• h2: Anh ta không chơi tennis
D: Tập dữ liệu (các ngày) mà trong đó thuộc tính Outlook có giá trị Sunny
và thuộc tính Wind có giá trị Strong
Tính 2 giá trị khả năng xảy ra (likelihood values) của dữ liệu D đối với 2 giả thiết: P(D|h1) và P(D|h2)
→ Bởi vì P(Ngoài-trời=Nắng, Gió=Mạnh | h1) < P(
Ngoài-trời=Nắng, Gió=Mạnhg, ạ | h | 22), hệ thống kết luận rằng: Anh ta sẽ ), ệ g ậ g
không chơi tennis!
Trang 24Phân loại Nạve Bayes (1)
Biểu diễn bài tốn phân loại (classification problem)
• Một tập học D train trong đĩ mỗi ví dụ học x được biểu diễn là
• Một tập học D_train, trong đĩ mỗi ví dụ học x được biểu diễn làmột vectơ n chiều: (x1, x2, , xn)
• Một tập xác định các nhãn lớp: C={c1, c2, , cm}
• Với một ví dụ (mới) z, z sẽ được phân vào lớp nào?
Mục tiêu: Xác định phân lớp cĩ thể (phù hợp) nhất đối với z
)
|(max
C c
c = argmax ( i | 1, 2, , n)
C c
c
i∈
), ,,
(
)()
|, ,,
(max
arg
2 1
2 1
n
i i
n C
c
MAP
z z
z P
c P c z z
z P c
( 1 2 n
C
c i∈
Trang 25Phân loại Nạve Bayes (2)
Để tìm được phân lớp cĩ thể nhất đối với z…
) ( )
| ( , , , | ) ( ) (P(z z z ) là(
max
C c
c
như nhau với các lớp)
Giả sử (assumption) trong phương pháp phân loại Nạve
Giả sử (assumption) trong phương pháp phân loại Nạve
Bayes Các thuộc tính là độc lập cĩ điều kiện (conditionally
independent) đối với các lớp
z z
Phân loại Nạve Bayes tìm phân lớp cĩ thể nhất đối với z
Phân loại Nạve Bayes tìm phân lớp cĩ thể nhất đối với z
C c
( max arg
j
Trang 26Phân loại Nạve Bayes – Giải thuật
Giai đoạn học (training phase), sử dụng một tập học
Đối với mỗi phân lớp cĩ thể (mỗi nhãn lớp) ci∈C
• Tính giá trị xác suất trước: P(ci)
• Đối với mỗi giá trị thuộc tính xj, tính giá trị xác suất xảy ra của giá trị thuộc tính đĩ đối với một phân lớp cg ị ộ ộ p p ii: P(x( jj|c| ii))
Giai đoạn phân lớp (classification phase), đối với một ví dụ mới
• Đối với mỗi phân lớp cii∈C, tính giá trị của biểu thức:g
c x P c
Trang 27Phân lớp Nạve Bayes – Ví dụ (1)
Một sinh viên trẻ với thu nhập trung bình và mức đánh giá tín dụng bình thường sẽ mua một cái máy tính?
Rec ID Age Income Student Credit_Rating Buy_Computer
Trang 28Phân lớp Nạve Bayes – Ví dụ (2)
Biểu diễn bài tốn phân loại
• z = (Age=Young Income=Medium Student=Yes Credit Rating=Fair)
• Cĩ 2 phân lớp cĩ thể: c1 (“Mua máy tính”) và c2 (“Khơng mua máy
Trang 29Phân lớp Nạve Bayes – Ví dụ (3)
Tính tốn xác suất cĩ thể xảy ra (likelihood) của ví dụ z đối với mỗiphân lớp
ố
• Đối với phân lớp c1
P(z|c1) = P(Age=Young|c1).P(Income=Medium|c1).P(Student=Yes|c1)
P(Credit_Rating=Fair|c1) = (2/9).(4/9).(6/9).(6/9) = 0.044
• Đối với phân lớp c2
P(z|c2) = P(Age=Young|c2).P(Income=Medium|c2).P(Student=Yes|c2)
P(Credit_Rating=Fair|c2) = (3/5).(2/5).(1/5).(2/5) = 0.019
Xác định phân lớp cĩ thể nhất (the most probable class)
• Đối với phân lớp c1
Trang 30Phân lớp Nạve Bayes – Vấn đề (1)
Nếu khơng cĩ ví dụ nào gắn với phân lớp ci cĩ giá trị thuộc tính xj…
P(x( jj|c| ii)=0 , và vì vậy: ) , ậy P(c ) ∏n P(x | c ) = 0
Giải pháp: Sử dụng phương pháp Bayes để ước lượng P(xj|ci)
0)
|()
c P
)(
• n(ci): số lượng các ví dụ học gắn với phân lớp ci
m c
n
mp x
c
n c
x P
i
j i i
),
()
|(
• n(ci,xj): số lượng các ví dụ học gắn với phân lớp ci cĩ giá trị thuộc tính xj
• p: ước lượng đối với giá trị xác suất P(xjj|ci)
→ Các ước lượng đồng mức: p=1/k, với thuộc tính fj cĩ k giá trị cĩ thể
• m: một hệ số (trọng số)
→ Để bổ sung cho n(ci) các ví dụ thực sự được quan sát với thêm
m mẫu ví dụ với ước lượng p
30
Khai Phá Dữ Liệu
Trang 31Phân lớp Nạve Bayes – Vấn đề (2)
Giới hạn về độ chính xác trong tính tốn của máy tính
•P(xP(xjj|c|cii)<1 đối với mọi giá trị thuộc tính x)<1, đối với mọi giá trị thuộc tính xjj và phân lớp cvà phân lớp cii
• Vì vậy, khi số lượng các giá trị thuộc tính là rất lớn, thì:
0 )
| (
Giải pháp: Sử dụng hàm lơgarit cho các giá trị xác suất
C c
( log
max arg
C c
( log max
arg
Trang 32Phân loại văn bản bằng NB (1)
Biểu diễn bài toán phân loại văn bản
• Tập học D_train, trong đó mỗi ví dụ học là một biểu diễn văn bản gắn với một nhãn lớp: D = {(dk, ci)}
• Gọi D c Gọi D_cii ( ( ⊆D train) là tập các văn bản trong D train có nhãn lớp c ⊆D_train) là tập các văn bản trong D_train có nhãn lớp cii
• Đối với mỗi phân lớp ci
- Tính giá trị xác suất trước của phân lớp ci:
D
c D c
P i _ i)
n c
1 ) ,
( )
| ( (n(dtừ khóa tk,tj): số lần xuất hiện của
Trang 33Phân loại văn bản bằng NB (2)
Để phân lớp cho một văn bản mới d
Giai đoạn phân lớp
Giai đoạn phân lớp
• Từ văn bản d, trích ra tập T_d gồm các từ khóa (keywords) tj đã được định nghĩa trong tập T (T_d ⊆ T)
Giả ử ( ti ) Xá ất từ khó ất hiệ đối ới lớ
• Giả sử (assumption) Xác suất từ khóa tj xuất hiện đối với lớp
ci là độc lập đối với vị trí của từ khóa đó trong văn bản
i j
i P t c c
Trang 34Học cây quyết định – Giới thiệu
Học cây quyết định (Decision tree –DT– learning)
• Để học (xấp xỉ) một hàm mục tiêu có giá trị rời rạc
(discrete-• Để học (xấp xỉ) một hàm mục tiêu có giá trị rời rạc
(discrete-valued target function) – hàm phân lớp
• Hàm phân lớp được biểu diễn bởi một cây quyết định
Một cây quyết định có thể được biểu diễn (diễn giải) bằng một tập các luật IF-THEN (dễ đọc và dễ hiểu)
H â ết đị h ó thể th hiệ ả ới á dữ liệ ó
Học cây quyết định có thể thực hiện ngay cả với các dữ liệu có chứa nhiễu/lỗi (noisy data)
Là một trong các phương pháp học quy nạp (inductive ộ g p g p p ọ q y ạp (
learning) được dùng phổ biến nhất
Được áp dụng thành công trong rất nhiều các bài toán ứng
dụng thực tế
34
Khai Phá Dữ Liệu
Trang 35Ví dụ về DT: Những tin tức nào mà tôi quan tâm?
Trang 36Ví dụ về DT: Một người có chơi tennis không?
Sunny
Outlook=?
Rain Overcast
Trang 37Biểu diễn cây quyết định (1)
Mỗi nút trong (internal node) biểu diễn một thuộc tính cần kiểm tra giá trị (an attribute to be tested) đối với các ví dụ
Mỗi nhánh (branch) từ một nút sẽ tương ứng với một giá
trị có thể của thuộc tính gắn với nút đó
Mỗi nút lá (leaf node) biểu diễn một phân lớp (a
classification))
Một cây quyết định học được sẽ phân lớp đối với một ví
dụ, bằng cách duyệt cây từ nút gốc đến một nút lá ụ, g yệ y g ộ
→ Nhãn lớp gắn với nút lá đó sẽ được gán cho ví dụ cần phân lớp