41
Khai phá dữ liệu 1 Bài 4: Bài 4: Ph Ph ân lớp - ân lớp - C C lassification lassification GVPT: TS. ĐỖ PHÚC GVPT: TS. ĐỖ PHÚC

Bai 4 Phan Lop

Embed Size (px)

DESCRIPTION

Phân lớp văn bản

Citation preview

Page 1: Bai 4 Phan Lop

Khai phá dữ liệu 1

Bài 4:Bài 4:PhPhân lớp - Cân lớp - Classification lassification

GVPT: TS. ĐỖ PHÚCGVPT: TS. ĐỖ PHÚC

Page 2: Bai 4 Phan Lop

Khai phá dữ liệu 2

• Phân lớp là gì? Dự báo là gì?Phân lớp là gì? Dự báo là gì?• Giới thiệu cây quyết địnhGiới thiệu cây quyết định• Phân lớp kiểu BayesPhân lớp kiểu Bayes• Những phương pháp phân lớp khácNhững phương pháp phân lớp khác• Độ chính xác trong phân lớpĐộ chính xác trong phân lớp• Tóm tắtTóm tắt

Phân lớp và dự báoPhân lớp và dự báo

TTổng quanổng quan

Page 3: Bai 4 Phan Lop

Khai phá dữ liệu 3

• Mục đích: Mục đích: để dự đoán những nhãn phân lớp cho các bộ dữ liệu/mẫu mới

• Đầu vào: Đầu vào: một tập các mẫu dữ liệu huấn luyện, với một nhãn phân lớp cho mỗi mẫu dữ liệu

• Đầu ra: Đầu ra: mô hình (bộ phân lớp) dựa trên tập huấn luyện và những nhãn phân lớp

Phân lớp là gì?Phân lớp là gì?

Page 4: Bai 4 Phan Lop

Khai phá dữ liệu 4

MMột số ột số ứng dụng phân lớp tiứng dụng phân lớp tiêu biểu êu biểu

• Tín dụngTín dụng

• Tiếp thị Tiếp thị

• Chẩn đoán y khoaChẩn đoán y khoa

• PhPhân tích hiệu quả điều trịân tích hiệu quả điều trị

Page 5: Bai 4 Phan Lop

Khai phá dữ liệu 5

• Tương tự với phân lớpTương tự với phân lớpo xây dựng một mô hìnho sử dụng mô hình để dự đoán cho những

giá trị chưa biết• Phương thức chủ đạo: Giật lùi Phương thức chủ đạo: Giật lùi

o hồi quy tuyến tính và nhiều cấpo hồi quy không tuyến tính

Dự đoán là gì?Dự đoán là gì?

Page 6: Bai 4 Phan Lop

Khai phá dữ liệu 6

• Phân lớp:Phân lớp:

o dự đoán các nhãn phân lớp

o phân lớp dữ liệu dựa trên tập huấn luyện và các giá trị trong một thuộc tính phân lớp và dùng nó để xác định lớp cho dữ liệu mới

• Dự báo:Dự báo:

o xây dựng mô hình các hàm giá trị liên tục

o dự đoán những giá trị chưa biết

Phân lớp so với dự báoPhân lớp so với dự báo

Page 7: Bai 4 Phan Lop

Khai phá dữ liệu 7

1. Bước 1:1. Bước 1:

Xây dựng mô hìnhXây dựng mô hình từ tập huấn luyện

2. Bước 2:2. Bước 2:

Sử dụng mô hìnhSử dụng mô hình - kiểm tra tính đúng đắn của mô hình và dùng nó để phân lớp dữ liệu mới

Phân lớp - tiến trình hai bứơcPhân lớp - tiến trình hai bứơc

Page 8: Bai 4 Phan Lop

Khai phá dữ liệu 8

XXây dựng mô hìnhây dựng mô hình

• Mỗi bộ/mẫu dữ liệu Mỗi bộ/mẫu dữ liệu được phân vào một lớp được xác định trước

• Lớp của một bộ/mẫu dữ liệu được xác định bởi thuộc tính gán nhãn lớp thuộc tính gán nhãn lớp

• Tập các bộ/mẫu dữ liệu huấn luyện - tập huấn luyệntập huấn luyện - được dùng để xây xây dựng mô hìnhdựng mô hình

• Mô hình được biểu diễn bởi các luật các luật phân lớpphân lớp, các cây quyết địnhcác cây quyết định hoặc các công thức toán họccác công thức toán học

BBước ước 11

Page 9: Bai 4 Phan Lop

Khai phá dữ liệu 9

• Phân lớp cho những đối tượng mới Phân lớp cho những đối tượng mới hoặc chưa được phân lớp hoặc chưa được phân lớp

• Đánh giá độ chính xác của mô hình Đánh giá độ chính xác của mô hình

o lớp biết trước của một mẫu/bộ dữ liệu đem kiểm tra được so sánh với kết quả thu được từ mô hình

o tỉ lệ chính xác = phần trăm các mẫu/bộ dữ liệu được phân lớp đúng bởi mô hình trong số các lần kiểm tra

SSử dụng mô hìnhử dụng mô hình

BBước 2ước 2

Page 10: Bai 4 Phan Lop

Khai phá dữ liệu 10

VVí dụí dụ: x: xây dựng mô hìnhây dựng mô hình

Dữ liệu huấn luyện

NAME RANK YEARS TENUREDMary Assistant Prof 3 noJames Assistant Prof 7 yesBill Professor 2 noJohn Associate Prof 7 yesMark Assistant Prof 6 noAnnie Associate Prof 3 no

Các thuật toán phân

lớp

IF rank = ‘professor’OR years > 6THEN tenured = yes

Bộ phân lớp(Mô hình)

Page 11: Bai 4 Phan Lop

Khai phá dữ liệu 11

VVí dụí dụ: s: sử dụng mô hìnhử dụng mô hình

Dữ liệu kiểm tra

Bộ phân lớp

NAME RANK YEARS TENUREDTom Assistant Prof 2 noLisa Associate Prof 7 noJack Professor 5 yesAnn Assistant Prof 7 yes

Dữ liệu chưa phân lớp

(Jeff, Professor, 4)

Tenured?

YesYes

Page 12: Bai 4 Phan Lop

Khai phá dữ liệu 12

• Làm sạch dữ liệuLàm sạch dữ liệu

o nhiễu

o các giá trị trống

• Phân tích sự liên Phân tích sự liên quan quan (chọn đặc trưng)

• Biến đổi dữ liệuBiến đổi dữ liệu

Chuẩn bị dữ liệuChuẩn bị dữ liệu

Page 13: Bai 4 Phan Lop

Khai phá dữ liệu 13

• Độ chính xácĐộ chính xác

• Tốc độTốc độ

• Bền vữngBền vững

• Co dãn (scalability)Co dãn (scalability)

• Có thể biểu diễn đượcCó thể biểu diễn được

• Dễ làmDễ làm

Đánh giá các phương pháp phân lớpĐánh giá các phương pháp phân lớp

Page 14: Bai 4 Phan Lop

Khai phá dữ liệu 14

Qui nQui nạp cây quyết định ạp cây quyết định

Cây quyết định là một cây Cây quyết định là một cây trong đótrong đó

• nút trongnút trong = một phép kiểm tra trên một thuộc tính

• nhánh của cây = đầu ra của một phép kiểm tra

• nút lá = nhãn phân lớp hoặc sự phân chia vào lớp

A?

B? C?

D? Yes

Page 15: Bai 4 Phan Lop

Khai phá dữ liệu 15

TTạo cây quyết địnhạo cây quyết định

Hai giai đoạn tạo cây quyết định:Hai giai đoạn tạo cây quyết định:• xây dựng câyxây dựng cây

o bắt đầu, tất cả các mẫu huấn luyện đều ở gốco phân chia các mẫu dựa trên các thuộc tính được

chọno kiểm tra các thuộc tính được chọn dựa trên một độ

đo thống kê hoặc heuristic • thu gọn câythu gọn cây

o xác định và loại bỏ những nhánh nhiễu hoặc tách khỏi nhóm

Page 16: Bai 4 Phan Lop

Khai phá dữ liệu 16

CCây quyết địnhây quyết định – – VVí dụ tiêu biểuí dụ tiêu biểu: play tennis?: play tennis?

Thời tiết Nhiệt độ Độ ẩm Gió Lớpnắng nóng cao không Nnắng nóng cao không Nu ám nóng cao không Pmưa ấm áp cao không Pmưa mát vừa không Pmưa mát vừa có Nu ám mát vừa có Pnắng ấm áp cao không Nnắng mát vừa không Pmưa ấm áp vừa không Pnắng ấm áp vừa có Pu ám ấm áp cao có Pu ám nóng vừa không Pmưa ấm áp cao có N

TTập huấn ập huấn luyện trích luyện trích từtừ Quinlan’s Quinlan’s ID3ID3

Page 17: Bai 4 Phan Lop

Khai phá dữ liệu 17

CCây quyết định thu được vớiây quyết định thu được với ID3 ID3 (Quinlan 86)(Quinlan 86)

thời tiết

u ám

độ ẩm gió

cao vừa khôngcó

nắng mưa

P

PN N P

Page 18: Bai 4 Phan Lop

Khai phá dữ liệu 18

Rút luật phân lớp từ cây quyết địnhRút luật phân lớp từ cây quyết định

• Mỗi một đường dẫn từ gốc đến lá trong cây tạo thành một luật

• Mỗi cặp giá trị thuộc tính trên một đường dẫn tạo nên một sự liên

• Nút lá giữ quyết định phân lớp dự đoán

• Các luật tạo được dễ hiểu hơn các cây

IF thời tiết=nắngAND độ ẩm=vừaTHEN play tennis

thời tiết

u ám

độ ẩm gió

cao vừa khôngcó

nắng mưa

P

PN N P

Page 19: Bai 4 Phan Lop

Khai phá dữ liệu 19

CCác thuật toán trên cây quyếtác thuật toán trên cây quyết địnhđịnh

• Thuật toán căn bảnThuật toán căn bản

o xây dựng một cây đệ quy phân chia và xác định đặc tính từ trên xuống

o các thuộc tính được xem là rõ ràng, rời rạc

o tham lam (có thể có tình trạng cực đại cục bộ)

• Nhiều dạng khác nhauNhiều dạng khác nhau: ID3, C4.5, CART, CHAID

o điểm khác biệt chính: tiêu chuẩn/thuộc tính phân chia, độ đo để chọn lựa

Page 20: Bai 4 Phan Lop

Khai phá dữ liệu 20

Các độ đo để lựa chọn thuộc tínhCác độ đo để lựa chọn thuộc tính

• Độ lợi thông tin Độ lợi thông tin (Information gain)(Information gain)

• Gini indexGini index 22 – số thống kê bảng ngẫu – số thống kê bảng ngẫu

nhiên (contingency table nhiên (contingency table statistic)statistic)

• G- thống kê (statistic)G- thống kê (statistic)

Page 21: Bai 4 Phan Lop

Khai phá dữ liệu 21

Độ lợi thông tin (1)Độ lợi thông tin (1)))

• Chọn thuộc tính có chỉ số có độ lợi thông tin lớn nhất

• Cho PP và NN là hai lớp và SS là một tập dữ liệu có p phần tử lớp P P và n phần tử lớp NN

• Khối lượng thông tin cần thiết để quyết định một mẫu tùy ý có thuộc về lớp PP hay NN hay không là

npn

npn

npp

npp

npI

22 loglog),(

Page 22: Bai 4 Phan Lop

Khai phá dữ liệu 22

Độ lợi thông tin (2)

• Cho các tập {S1, S2 , …, Sv} là một phân hoạch trên tập S, khi sử dụng thuộc tính A

• Cho mỗi Si chứa pi mẫu lớp P and ni mẫu lớp N• entropy, hay thông tin mong muốn cần thiết để

phân lớp các đối tượng trong tất cả các cây con Si là

• Thông tin có được bởi việc phân nhánh trên thuộc tính A là

1),()(

iii

ii npInp

npAE

)(),()( AEnpIAGain

Page 23: Bai 4 Phan Lop

Khai phá dữ liệu 23

Độ lợi thông tin – Ví dụ (1) – Ví dụ (1)

Thừa nhận:Thừa nhận:

• Lớp PP: plays_tennis = “yes”

• Lớp NN: plays_tennis = “no”

• Thông tin cần thiết để phân lớp một mẫu được cho là:

940.0)5,9(),( InpI

Page 24: Bai 4 Phan Lop

Khai phá dữ liệu 24

Độ lợi thông tin – Ví dụ (2) – Ví dụ (2)

Tính entropy cho thuộc tính thời tiết:

thời tiết pi ni I(pi, ni)nắng 2 3 0.971u ám 4 0 0mưa 3 2 0.971

694.0)2,3(14

5)0,4(

14

4)3,2(

14)( IIIthoitietE

048.0)(

151.0)(

029.0)(

gioGain

doamGain

nhietdoGain

246.0)()5,9()( thoitietEIthoitietGainDo đó

Ta có

Tương tự

Page 25: Bai 4 Phan Lop

Khai phá dữ liệu 25

NhNhững tiên chuẩn khác dùng để ững tiên chuẩn khác dùng để xây dựng cây quyếtxây dựng cây quyết

• Các điều kiện để ngừng phân chia Các điều kiện để ngừng phân chia

o tất cả các mẫu thuộc về cùng một lớp

o không còn thuộc tính nào nữa để phân chia

o không còn mẫu nào để phân lớp

• Chiến lược rẽ nhánhChiến lược rẽ nhánh

o nhị phân và k-phân

o các thuộc tính rời rạc, rõ ràng và các thuộc tính liên tục

• LuLuật đánh nhãnật đánh nhãn: một nút lá được đánh nhãn vào một lớp mà phần lớn các mẫu tại nút này thuộc về lớp đó

Page 26: Bai 4 Phan Lop

Khai phá dữ liệu 26

Overfitting trong phân lớp bằng Overfitting trong phân lớp bằng cây quyết địnhcây quyết định

• Cây tạo được có thể overfit dữ liệu Cây tạo được có thể overfit dữ liệu huấn luyện huấn luyện o quá nhiều nhánh o độ chính xác kém cho những mẫu

chưa biết • Lý do overfit Lý do overfit

o dữ liệu nhiễu và tách rời khỏi nhómo dữ liệu huấn luyện quá ít o các giá trị tối đa cục bộ trong tìm

kiếm tham lam (greedy search)

Page 27: Bai 4 Phan Lop

Khai phá dữ liệu 27

Cách nào để tránh overfitting?Cách nào để tránh overfitting?

Hai hướng:Hai hướng:

• rút gọn trước:rút gọn trước: ngừng sớm

• rút gọn sau:rút gọn sau: loại bỏ bớt các nhánh sau khi xây xong toàn bộ cây

Page 28: Bai 4 Phan Lop

Khai phá dữ liệu 28

Phân lớp trong các cơ sở dữ liệu lớnPhân lớp trong các cơ sở dữ liệu lớn

• Tính co dãnTính co dãn: phân lớp các tập dữ liệu có hàng triệu mẫu và hàng trăm thuộc tính với tốc độ chấp nhận được

• Tại sao sử dụng cây quyết định trong khai thác dữ Tại sao sử dụng cây quyết định trong khai thác dữ liệu?liệu?o tốc độ học tương đối nhanh hơn các phương pháp

khác o có thể chuyển đổi thành các luật phân lớp đơn giản

và dễ hiểu o có thể dùng các truy vấn SQL phục vụ truy cập cơ sở

dữ liệu o độ chính xác trong phân lớp có thể so sánh

Page 29: Bai 4 Phan Lop

Khai phá dữ liệu 29

Các phương pháp sử dụng cây quyết Các phương pháp sử dụng cây quyết định trong các nghiên cứu về khai định trong các nghiên cứu về khai

phá dữ liệuphá dữ liệu • SLIQSLIQ (EDBT’96 — Mehta et

al.)

• SPRINTSPRINT (VLDB’96 — J. Shafer et al.)

• PUBLICPUBLIC (VLDB’98 — Rastogi & Shim)

• RainForestRainForest (VLDB’98 — Gehrke, Ramakrishnan & Ganti)

Page 30: Bai 4 Phan Lop

Khai phá dữ liệu 30

Phân lớp Bayes: Tại sao? (1)Phân lớp Bayes: Tại sao? (1)

• Học theo xác suấtHọc theo xác suất:

o tính các xác suất rõ ràng cho các giả thiết

o một trong những hướng thiết thực cho một số vấn đề thuộc loại học

• Có tăng trưởngCó tăng trưởng:

o mỗi mẫu huấn luyện có thể tăng/giảm dần khả năng đúng của một giả thiết

o tri thức ưu tiên có thể kết hợp với dữ liệu quan sát

Page 31: Bai 4 Phan Lop

Khai phá dữ liệu 31

Phân lớp Bayes: Tại sao? (2)Phân lớp Bayes: Tại sao? (2)

• Dự đoán theo xác suấtDự đoán theo xác suất:

o dự đoán nhiều giả thiết, trọng số cho bởi khả năng xảy ra của chúng

• ChuẩnChuẩn:

o Ngay cả khi các phương pháp Bayes khó trong tính toán, chúng vẫn có thể cung cấp một chuẩn để tạo quyết định tới ưu so những phương pháp khác

Page 32: Bai 4 Phan Lop

Khai phá dữ liệu 32

PhPhân lớp Bayesân lớp Bayes

• Bài toán phân lớp có thể hình thức hóa bằng xác suất xác suất a-posteriori:a-posteriori:

P(P(C|X) = ) = xác suất mẫu

X=<x1,…,xk> thuộc về lớp C

• Ví dụ

P(P(class==N | N | outlook=sunny,windy=true,…))

• Ý tưởng: Ý tưởng: gán cho mẫu X nhãn phân lớp là C sao cho P(P(C|X)) là lớn nhất

Page 33: Bai 4 Phan Lop

Khai phá dữ liệu 33

TTính xác suất ính xác suất a-posterioria-posteriori

• Định lý BayesĐịnh lý Bayes:

P(P(C|X) = P() = P(X|C)·P()·P(C) / P() / P(X))

• P(P(X)) là hằng số cho tất cả các lớp

• P(P(C)) = tần số liên quan của các mẫu thuộc lớp CC

• C sao cho P(P(C|X) lớn nhất = C sap cho P(P(X|C)·P()·P(C)) lớn nhất

• Vấn đềVấn đề: tính P(P(X|C)) là không khả thi!

Page 34: Bai 4 Phan Lop

Khai phá dữ liệu 34

PhPhân lớp ân lớp Naïve BayesianNaïve Bayesian

• Thừa nhận Naïve: sự độc lập thuộc tính sự độc lập thuộc tính

P(P(x1,…,xk|C) = P() = P(x1|C)·…·P()·…·P(xk|C))

• Nếu thuộc tính thứ i là rời rạcrời rạc:P(P(xi|C)) được ước lượng bởi tần số liên quan của các mẫu có giá trị xi cho thuộc tính thứ i trong lớp C

• Nếu thuộc tính thứ i là liliên tụcên tục:P(P(xi|C)) được ước lượng thông qua một hàm mật độ Gaussian

• Tính toán dễ dàng trong cả hai trường hợp

Page 35: Bai 4 Phan Lop

Khai phá dữ liệu 35

PhPhân lớp ân lớp Naïve Bayesian – VNaïve Bayesian – Ví dụí dụ (1) (1)

• Ứơc lượng P(P(xi|C)) P(pp) = 9/14

P(nn) = 5/14

Thời tiếtP(nắng | p) = 2/9 P(nắng | n) = 3/5P(u ám | p) = 4/9 P(u ám | n) = 0P(mưa | p) = 3/9 P(mưa | n) = 2/5Nhiệt độP(nóng | p) = 2/9 P(nóng | n) = 2/5P(ấm áp | p) = 4/9 P(ấm áp | n) = 2/5P(mát | p) = 3/9 P(mát | n) = 1/5

Độ ẩmP(cao | p) = 3/9 P(cao | n) = 4/5P(vừa | p) = 6/9 P(vừa | n) = 1/5

GióP(có | p) = 3/9 P(có | n) = 3/5P(không | p) = 6/9 P(fkhông | n) = 2/5

Page 36: Bai 4 Phan Lop

Khai phá dữ liệu 36

PhPhân lớp ân lớp Naïve Bayesian – VNaïve Bayesian – Ví dụí dụ (2) (2)

• Phân lớp X:

o một mẫu chưa thấy X = <mưa, nóng, cao, không>

o P(P(X|p)·P()·P(p) = ) = P(P(mưa|p)·P()·P(nóng|p)·P()·P(cao|p)·P()·P(không|p)·P()·P(p) = ) = 3/9·2/9·3/9·6/9·9/14 = = 0.010582

o P(P(X|n)·P()·P(n) = ) = P(P(mưa|n)·P()·P(nóng|n)·P()·P(cao|n)·P()·P(không|n)·P()·P(n) = ) = 2/5·2/5·4/5·2/5·5/14 = = 0.0182860.018286

o Mẫu X được phân vào lớp n (không chơi tennis)

Page 37: Bai 4 Phan Lop

Khai phá dữ liệu 37

PhPhân lớp ân lớp Naïve Bayesian –Naïve Bayesian –gigiả thuyết độc lậpả thuyết độc lập

• … làm cho có thể tính toán• … cho ra bộ phân lớp tối ưu khi thỏa yêu cầu• … nhưng yêu cầu ít khi được thỏa trong thực tế vì các

thuộc tính (các biến) thường có liên quan với nhau.• Những cố gắng khắc phục điểm hạn chế này:

o Các mạng Bayes (Bayesian networks)Các mạng Bayes (Bayesian networks), kết hợp lý luận Bayes với các mối quan hệ nhân quả giữa các thuộc tính

o CCác cây quyết địnhác cây quyết định, lý luận trên một thuộc tính tại một thời điểm, xét những thuộc tính quan trọng nhất trước

Page 38: Bai 4 Phan Lop

Khai phá dữ liệu 38

Các phương pháp phân lớp khácCác phương pháp phân lớp khác

• Mạng NeuralMạng Neural• Phân lớp k láng giềng gần Phân lớp k láng giềng gần

nhất nhất • Suy luận dựa vào trường hợp Suy luận dựa vào trường hợp • Thuật toán di truyềnThuật toán di truyền• Hướng tập thôHướng tập thô• Các hướng tập mờ Các hướng tập mờ

CCác ác pphhương ương pháp pháp kháckhác

Page 39: Bai 4 Phan Lop

Khai phá dữ liệu 39

Độ chính xác trong phân lớpĐộ chính xác trong phân lớp

Ước lượng tỉ lệ sai:Ước lượng tỉ lệ sai:• Phân hoạchPhân hoạch: huấn luyện và kiểm tra (những tập dữ liệu

lớn)o dùng hai tập dữ liệu độc lập , tập huấn luyện (2/3), tập

kiểm tra (1/3)• Kiểm tra chéoKiểm tra chéo (những tập dữ liệu vừa)

o chia tập dữ liệu thành k mẫu cono sử dụng k-1 mẫu con làm tập huấn luyện và một mẫu

con làm tập kiểm tra --- kiểm tra chép k thành phần • BootstrappingBootstrapping: xóa đi một - leave-one-out (những tập dữ

liệu nhỏ)

Page 40: Bai 4 Phan Lop

Khai phá dữ liệu 40

• Phân lớp là một vấn đề nghiên cứu bao quát Phân lớp là một vấn đề nghiên cứu bao quát

• Phân lớn có khả năng là một trong những kỹ thuật Phân lớn có khả năng là một trong những kỹ thuật khai phá dữ liệu được dùng rộng rãi nhất với rất khai phá dữ liệu được dùng rộng rãi nhất với rất nhiều mở rộng nhiều mở rộng

Tóm tắt (1)Tóm tắt (1)

Page 41: Bai 4 Phan Lop

Khai phá dữ liệu 41

• Tính uyển chuyển vẫn đang là một vấn đề quan Tính uyển chuyển vẫn đang là một vấn đề quan trọng của tất các ứng dụng cơ sở dữ liệu trọng của tất các ứng dụng cơ sở dữ liệu

• Các hướng nghiên cứu: phân lớp dữ liệu không-Các hướng nghiên cứu: phân lớp dữ liệu không-quan hệ, ví dụ như text, không gian và đa quan hệ, ví dụ như text, không gian và đa phương tiện phương tiện

Tóm tắt (2)Tóm tắt (2)