Khai Phá Dữ Liệu

55 163 0
Khai Phá Dữ Liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Khai Phá Dữ Liệu Nguyễn Nhật Quang quangnn-fit@mail.hut.edu.vn Trường Đại học Bách Khoa Hà Nội Viện Công nghệ Thông tin Truyền thông Năm học 2011-2012 Nội dung môn học: „ Giới thiệu Khai phá liệu „ Giới thiệu ề công cụ WEKA „ Tiền xử lý liệu „ Phát luật kết hợp „ Các kỹ thuật phân lớp dự đoán „ ‰ Phân lớp phương pháp học Bayes ‰ Học định Các kỹ thuật phân nhóm Khai Phá Dữ Liệu Bài toán phân lớp „ Bài toán phân lớp (Classification) ‰ ‰ „ Đối với ộ tập ập ví dụ/bản ụ ghi g ((instances/records)) – gọ gọi tập ập huấn luyện/học (training/learning set) „ Mỗi ghi biểu diễn tập thuộc tính, có ộ thuộc ộ tính phân p lớp p ((class attribute)) Tìm/học hàm cho thuộc tính phân lớp (hàm phân lớp) giá trị thuộc tính khác Sử dụng tập ví dụ khác với ví dụ học để kiểm tra độ xác hàm phân lớp học – gọi tập kiểm thử (test set) ‰ Thông thường, tập liệu ban đầu chia thành tập (không giao nhau): training set (để học hàm phân lớp) test set (để kiểm thử hàm phân lớp học được) Khai Phá Dữ Liệu Phân lớp vs Dự đoán „ Bài toán phân lớp (Classification problem) ‰ Học H ột hàm hà mục tiêu tiê có ó giá iá ttrịị rời ời rạc (a ( discrete-valued di t l d ttargett function) „ ‰ „ Miền giá trị: tập nhãn lớp (class labels) xác địn trước Với ví dụ cần phân loại, hệ thống xác định nhãn lớp Bài toán dự ự đoán/hồi q quy y ((Prediction/regression g p problem)) ‰ Học hàm mục tiêu có giá trị liên tục (a continuous-valued target function) „ ‰ Miề giá Miền iá ttrị: ị tập tậ giá iá ttrịị số ố thực th (real ( l numbers) b ) Với ví dụ cần dự đoán, hệ thống xác định giá trị dự đoán Khai Phá Dữ Liệu Học có vs giám sát „ Học có giám sát (supervised learning) ‰ ‰ Mỗi ví dụ học gồm phần: mô tả (biểu diễn) ví dụ học, học nhãn lớp (hoặc giá trị đầu mong muốn) ví dụ học Bài toán học phân lớp (classification problem) D train = {( )} )} ‰ Bài toán học dự đoán/hồi quy (prediction/regression problem) D_train = {(, )} „ Học giám sát (unsupervised learning) ‰ ‰ Mỗi ví dụ học chứa mô tả (biểu diễn) ví dụ học - mà thông tin nhãn lớp hay giá trị đầu mong muốn ví dụ học Bài toán học phân cụm (Clustering problem) Tập học D_train D train = {()} {()} Khai Phá Dữ Liệu Các khái niệm xác suất „ Giả sử có thí nghiệm (ví dụ: đổ quân xúc sắc) mà kết mang tính ngẫu nhiên (phụ thuộc vào khả xảy ra) „ Không gian khả S Tập hợp tất kết xảy Ví dụ: S S= {1,2,3,4,5,6} {1 6} thí nghiệm đổ quân xúc sắc „ Sự kiện E Một tập không gian khả Ví dụ: E= {1}: kết quân súc xắc đổ Ví dụ: E= {1,3,5}: kết ế quân súc xắc ắ đổ ổ số ố lẻ „ Không gian kiện W Không gian (thế giới) mà kết ự kiện ệ xảy y Ví dụ: W bao gồm tất lần đổ súc xắc „ Biến ngẫu nhiên A Một biến ngẫu nhiên biểu diễn (diễn đạt) kiện có mức độ khả xảy kiện kiện, Khai Phá Dữ Liệu Biểu diễn xác suất P(A): “Phần không gian (thế giới) mà A đúng” Không gian kiện ((không gg gian tất giá trị xảy A) Không gian mà A Không gian mà A sai [http://www cs cmu edu/~awm/tutorials] [http://www.cs.cmu.edu/~awm/tutorials] Khai Phá Dữ Liệu Các biến ngẫu nhiên Bool „ Một biến ngẫu nhiên Bool nhận giá trị (true) sai (false) „ Các tiên đề • ≤ P(A) ≤ • P(true)= P(false)= • P(false) • P(A V B)= P(A) + P(B) - P(A ∧ B) „ Các hệ • P(not A)≡ P(~A)= - P(A) P(A)= P(A ∧ B) + P(A ∧ ~B) B) • P(A) Khai Phá Dữ Liệu Các biến ngẫu nhiên nhiều giá trị Một biến ngẫu nhiên nhiều giá trị nhận số k ((>2)) g giá trị {v1,v2,…,vk} P ( A = vi ∧ A = v j ) = if i ≠ j P(A=v1 V A=v2 V V A=vk) = i P( A = v1 ∨ A = v2 ∨ ∨ A = vi ) = ∑ P( A = v j ) j =1 k ∑ P( A = v ) = j =1 j i P(B ∧ [A = v1 ∨ A = v2 ∨ ∨ A = vi ]) = ∑ P( B ∧ A = v j ) [http://www.cs.cmu.edu/~awm/tutorials] Khai Phá Dữ Liệu j j= Xác suất có điều kiện (1) „ P(A|B) phần không gian (thế giới) mà A đúng, với điều kiện (đã biết) B „ Ví dụ •A: Tôi đá bóng vào ngày mai •B: Trời không mưa vào ngày mai •P(A|B): Xác suất việc đá bóng vào ngày mai (đã biết rằng) trời không mưa (vào ngày mai) i) Khai Phá Dữ Liệu 10 Giải thuật ID3 – Ý tưởng „ Thực trình tìm kiếm greedy search không gian định „ Xây dựng (học) định theo chiến lược top-down, nút gốc „Ở nút nút, thuộc tính kiểm tra (test attribute) thuộc tính có khả phân loại tốt ví dụ học gắn với nút „ Tạo (sub-tree) nút cho giá trị thuộc tính kiểm tra, tra tập học tách (thành tập con) tương ứng với vừa tạo „ Mỗi thuộc tính phép xuất tối đa lần đ đường ttrong ⠄ Quá trình phát triển (học) định tiếp tục khi… • Cây định phân loại hoàn toàn (perfectly classifies) ví dụ học, • Tất thuộc tính sử dụng Khai Phá Dữ Liệu 41 Giải thuật ID3 ID3_alg(Training_Set, Class_Labels, Attributes) Create a node Root for the tree If allll iinstances t iin Training_Set i i h have th the same class l llabel b l c, Return R t th ttree off the the th single-node Root associated with class label c If the set Attributes is empty, Return the tree of the single-node Root associated with class label ≡ Majority_Class_Label(Training_Set) A ← The attribute in Attributes that “best” classifies Training_Set The test attribute for node Root ← A For each possible value v of attribute A Add a new ttree b branch h under d Root, corresponding di to t the th test: t t “value “ l off attribute tt ib t A is i v”” Compute Training_Setv = {instance x | x ⊆ Training_Set, xA=v} If (Training_Setv is empty) Then Create a leaf node with class label ≡ Majority_Class_Label(Training_Set) Majority Class Label(Training Set) Attach the leaf node to the new branch Else Attach to the new branch the sub-tree ID3_alg(Training_Setv, Class_Labels, {Attributes \ A}) R t Return Root Khai Phá Dữ Liệu 42 Lựa chọn thuộc tính kiểm tra „ Rất quan trọng: nút, chọn thuộc tính kiểm tra nào? „ Chọn ọ thuộc ộ tính q quan trọng ọ g cho việc ệ p phân lớp p ví dụ ụ học ọ g gắn với nút „ Làm để đánh giá khả thuộc tính việc phân tách ví dụ p ụ học ọ theo nhãn lớp p chúng? g → Sử dụng đánh giá thống kê – Information Gain „ Ví dụ: Xét toán phân lớp có lớp (c1, c2) → Thuộc tính nào, A1 hay A2, nên chọn thuộc tính kiểm tra? A1=? (c1: 35, c2: 25) v11 c1: 21 c2: v12 c1: c2: A2=? (c1: 35, c2: 25) v21 v13 c1: c2: 11 c1: 27 c2: Khai Phá Dữ Liệu v22 c1: c2: 19 43 Entropy „ Một đánh giá thường sử dụng lĩnh vực Information Theory „ Để đánh g giá mức độ ộ hỗn tạp ạp ((impurity/inhomogeneity) p y g y) ộ tập ập „ Entropy tập S việc phân lớp có c lớp c Entropy ( S ) = ∑ − pi log pi i =1 pi tỷ lệ ví dụ tập S thuộc vào lớp i, 0.log20=0 „ Entropy py tập ập S việc ệ p phân lớp p có lớp p Entropy(S) = -p1.log2p1 – p2.log2p2 „Ý nghĩa entropy lĩnh vực Information Theory → Entropy tập S số lượng bits cần thiết để mã hóa lớp phần tử lấy ngẫu nhiên từ tập S Khai Phá Dữ Liệu 44 Entropy – Ví dụ với lớp gồm 14 ví dụ, ví dụ thuộc lớp c1 ví dụ thuộc lớp c2 „S tập S phân lớp có lớp: Entropy(S) = -(9/14).log2(9/14)(5/14).log2(5/14) ≈ 0.94 „ Entropy =0, tất ví dụ thuộc lớp (c1 c2) Entropy(S) „ Entropy 0.5 0.5 p1 „ Entropy =1, số lượng ví dụ thuộc lớp c1 số lượng ví dụ thuộc lớp c2 „ Entropy = giá trị khoảng (0,1), số lượng ví dụ thuộc lớp c1 khác với số lượng ví dụ thuộc lớp c2 Khai Phá Dữ Liệu 45 Information Gain „ Information Gain thuộc tính tập ví dụ: • Mức độ giảm Entropy • Bởi việc phân chia (partitioning) ví dụ theo giá trị ủ thuộc tính „ Information Gain thuộc tính A tập S Gain( S , A) = Entropy ( S ) − | Sv | Entropy ( S v ) ∑ v∈Values ( A ) | S | Values(A) tập giá trị thuộc tính A, Sv = {x | x∈S, xA=v} „ Trong công thức trên, thành phần thứ thể giá trị Entropy sau tập S phân chia giá trị thuộc tính A „ Ý nghĩa Gain(S,A): Số lượng bits giảm (reduced) việc mã hóa lớp phần tử lấy ngẫu nhiên từ tập S, biết ế giá trị thuộc tính A Khai Phá Dữ Liệu 46 Tập ví dụ học Xét tập liệu S ghi lại ngày mà người chơi (không chơi) tennis: Day Outlook Temperature Humidity Wind Play Tennis D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 R i Rain Mild Hi h High W k Weak Y 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 [Mitchell, 1997] Khai Phá Dữ Liệu 47 Information Gain – Ví dụ „ Hãy tính giá trị Information Gain thuộc tính Wind tập học S – Gain(S,Wind)? „ Thuộc „S tính Wind có giá trị có thể: Weak Strong = {9 ví dụ lớp Yes ví dụ lớp No} „ Sweak = {6 ví dụ lớp Yes ví dụ lớp No có giá trị Wind=Weak} „ Sstrong = {3 ví dụ lớp Yes ví dụ lớp No có giá trị Wind=Strong} Gain( S , Wind ) = Entropy ( S ) − | Sv | Entropy ( S v ) ∑ v∈{Weak , Strong } | S | = Entropy ( S ) − (8 / 14).Entropy ( SWeak ) − (6 / 14).Entropy ( S Strong ) = 0.94 − (8 / 14).(0.81) − (6 / 14).(1) = 0.048 Khai Phá Dữ Liệu 48 Học định – Ví dụ (1) „ Tại nút gốc, thuộc tính số {Outlook, Temperature, Humidity, y, Wind}} nên ợ chọn ọ thuộc ộ tính kiểm tra? • • • • Gain(S, Gain(S, Gain(S Gain(S, Gain(S, Outlook) = = 0.246 Temperature) = = 0.029 Humidity) = = 0.151 151 Wind) = = 0.048 →Vì vậy, Outlook chọn thuộc tính kiểm tra cho nút gốc! Outlook=? Sunny Node1 SSunny ={2+, 3-} S Overcast Yes SOvercast={{4+, 0-} Khai Phá Dữ Liệu S={9+, 5-} Rain Node2 SRain R i ={3+, 2-} 49 Học định – Ví dụ (2) „ Tại nút Node1, thuộc tính số {Temperature, Humidity, idi Wind} i d} nên ê đ chọn thuộc tính kiểm tra? Lưu ý! Thuộc tính Outlook bị loại ra, vìì đ ợc sử dụng cha nút Node1 (là nút gốc) Outlook=? S={9+, 5-} Sunny Overcast SSunny= {2+, 3-} • Gain(SSunny, Temperature) = = = = 0.57 H idit ? Humidity=? High Yes SOvercast= {4+, 0-} Node3 Node4 • Gain(SSunny, Wind) = = 0.019 SHigh= {0+, 3-} SNormal= {2+, 0-} Khai Phá Dữ Liệu Node2 SRain= {3+, 2-} Normal • Gain(SSunny, Humidity) = = 0.97 →Vì vậy, Humidity chọn thuộc tính kiểm tra cho nút Node1! Rain 50 Học định – Chiến lược tìm kiếm (1) „ ID3 tìm kiếm không gian giả thiết (các định có thể) định phù hợp (fits) ví dụ học „ ID3 thực chiến lược tìm kiếm từ đơn giản đến phức tạp, bắt đầu với rỗng (empty tree) „ Quá trình tìm kiếm ID3 ợ điều khiển độ ộ đo đánh giá Information Gain „ ID3 tìm kiếm ((chứ không gp phải tất các)) câyy định phù hợp với ví dụ học Khai Phá Dữ Liệu 51 Học định – Chiến lược tìm kiếm (2) „ Trong trình tìm kiếm, ID3 không thực quay lui (not backtrack) → Chỉ đảm bảo tìm lời giải tối ưu cục (locally optimal solution) – không đảm bảo tìm lời giải tối ưu tổng thể (globally optimal solution) → Một thuộc tính chọn thuộc tính kiểm tra cho nút, ID3 không cân nhắc lại (backtracks to reconsider) id ) llựa chọn h „ Ở bước trình tìm kiếm, ID3 sử dụng đánh giá thống kê (Information Gain) để cải thiện giả thiết → Nhờ vậy, trình tìm kiếm (lời giải) bị ảnh hưởng lỗi (nếu có) số ví dụ học Khai Phá Dữ Liệu 52 Ưu tiên học định (1) „ Cả định phù hợp với tập học cho „ Vậy thì, định ưu tiên (được học) giải thuật ID3? O tl k ? Outlook=? Outlook=? Sunny Overcast Humidity=? High No Normal Yes Y Yes Sunny Rain Wind=? Strong No Weak Yes Temperature=? Hot Cool No Yes Y Yes Wind=? i Strong Mild Humidity=? High No Khai Phá Dữ Liệu Rain Overcast No Weak Yes Normal Yes 53 Ưu tiên học định (2) „ Đối với tập ví dụ học, tồn nhiều (hơn 1) định phù hợp với ví dụ học „ Cây định (trong số đó) chọn? „ ID3 chọn h â ết định đị h phù hù h hợp đầu đầ tiê tiên tì tìm thấy thấ t trình tìm kiếm →Lưu ý trình tìm kiếm, giải thuật ID3 không cân nhắc lại lựa chọn trước (without backtracking) „ Chiến lược tìm kiếm giải thuật ID3 • Ưu Ư tiên tiê â ết định đị h đơn đ giản iả (ít mức ứ độ sâu) â ) • Ưu tiên định thuộc tính có giá trị Information Gain lớn thuộc tính kiểm tra nút gần ầ nút gốc ố Khai Phá Dữ Liệu 54 Các vấn đề học định „ Cây định học phù hợp (over-fit) với ví dụ học „ Xử lý thuộc tính có kiểu giá trị liên tục (kiểu số thực) „ Các đá Cá đánh h giá iá phù hù h hợp h (tốt h Information I f ti Gain) G i ) việc xác định thuộc tính kiểm tra cho nút „ Xử lý ví dụ học thiếu giá trị thuộc tính (missing-value (missing value attributes) „ Xử lý thuộc tính có chi phí (cost) khác → Cải tiến giải thuật ID3 với tất vấn đề nêu giải quyết: giải thuật C4 C4.5 Khai Phá Dữ Liệu 55

Ngày đăng: 05/11/2016, 13:46

Tài liệu cùng người dùng

Tài liệu liên quan