1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng thuật toán Cây quyết định và Naïve Bayes trong phân lớp dữ liệu

25 1,2K 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 247,2 KB

Nội dung

Trong số các nhiệm vụ phân tích thơng tin cĩ nhiệm vụnhận biết mẫu, dự báo, phân tích trí tuệ đối với các dữ liệu khai thác dữ liệu - DataMining hỗ trợ việc đề ra quyết định, tạo dựng và

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN

BÀI THU HOẠCH MƠN MÁY HỌC VÀ ỨNG DỤNG

ĐỀ TÀI:

SỬ DỤNG THUẬT TỐN CÂY QUYẾT ĐỊNH VÀ NẠVE BAYES TRONG

PHÂN LỚP DỮ LIỆU

GVHD : PGS.TS Vũ Thanh Nguyên SVTH : Bùi Lê Thuận

MSSV : CH1301062 Lớp : Cao học khĩa 8

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 4

CHƯƠNG I : MÁY HỌC 6

1.1 Khái niệm 6

1.2 Phân loại 7

1.2.1 Học có giám sát (Supervised Learning) 7

1.2.2 Học Không giám sát (Unsupervised Learning) 8

1.2.3 Học nửa giám sát 8

CHƯƠNG II : PHÂN LỚP DỮ LIỆU 9

2.1 Giới thiệu 9

2.2 Quy trình phân lớp 9

2.2.1 Bước thứ nhất (Learning) 9

2.2.2 Bước thứ hai (Classification) 10

2.3 Các kỹ thuật phân lớp 10

CHƯƠNG III : PHƯƠNG PHÁP PHÂN LỚP DỰA TRÊN CÂY QUYẾT ĐỊNH 11

3.1 Định nghĩa 11

3.2 Các bước xây dựng cây quyết định 11

3.3 Thuật toán xây dựng cây quyết định 12

3.4 Các độ đo sự đồng nhất 12

3.4.1 Entropy (Information Gain): ID3 / C4.5 12

3.4.2 Information Gain Ratio 13

3.4.3 Chỉ mục Gini (Gini Index) 13

3.5 Bài toán ứng dụng 14

3.5.1 Tính độ lợi thông tin lần 1 14

3.5.2 Tính độ lợi thông tin lần 2 15

3.5.3 Tập luật 19

Trang 4

4.6.2 Nhược điểm 19

CHƯƠNG IV : PHƯƠNG PHÁP NẠVE BAYES 20

4.1 Sơ lược 20

4.2 Thuật tốn 20

4.3 Làm trơn Laplace 21

4.4 Bài tốn ứng dụng 21

4.4.1 Bước 1 22

4.4.2 Bước 2 22

4.4.3 Làm trơn Laplace 23

4.5 Nhận xét 23

4.5.1 Ưu điểm 23

4.5.2 Nhược điểm 23

TÀI LIỆU THAM KHẢO 24

Trang 5

LỜI MỞ ĐẦU

Trong cuộc sống hiện nay, máy tính đã trở thành công cụ đắc lực hỗ trợ conngười giải quyết nhiều vấn đề thực tế Tuy nhiên, việc giải quyết những vấn đề vẫncòn đòi hỏi những can thiệp của con người: ta cần phát biểu những bài toán về dạngtìm kiếm hoặc dưới dạng logic trước khi sử dụng máy tính làm công cụ giải quyết.Việc phát biểu tri thức cho vấn đề thông thường đòi hỏi chi phí lớn hoặc không thểthực hiện đầy đủ Điểm khó khăn này xuất phát từ ngay trong bản chất tri thức của conngười: con người vốn vẫn chưa hiểu biết đầy đủ về các lĩnh vực liên quan đến mình

Máy học là hướng tiếp cận trong đó thay vì con người phải chỉ ra những trithức cần thiết để giải quyết bài toán, máy tính sẽ tự động rút trích tri thức này mộtcách từ những dữ liệu được cung cấp Máy học mô phỏng quá trình học của con ngườiqua các mức từ đơn giản đến phức tạp: đầu tiên máy tính ghi nhớ những trường hợp

đã xuất hiện và cuối cùng học những trường hợp tổng quát chưa từng xuất hiện

Trong một bài toán máy học, đầu vào là một tập dữ liệu huấn luyện bao gồmcác mẫu dữ liệu Mỗi mẫu dữ liệu bao gồm một tập giá trị ứng với các thuộc tính Tậpthuộc tính được chia làm hai phần: thuộc tính quan sát và thuộc tính kết quả Mục tiêucủa máy học là tìm một ánh xạ từ thuộc tính quan sát vào thuộc tính kết quả (tìm mốiquan hệ giữa thuộc tính quan sát và thuộc tính kết quả) ứng với tập dữ liệu huấnluyện Ánh xạ này sẽ được áp dụng lên những mẫu quan sát mới để rút ra kết quảtương ứng

Công nghệMáy học là một trong những phương pháp chính trong khai phá dữliệu Nó được sử dụng trong tiến trình khám phá tri thức

Một số lợi ích của máy học:

- Các thông tin ngày càng nhiều, hàng ngày ta phải xử lý rất nhiều thông tinđến từ nhiều nguồn khác nhau Máy học có thể giúp xứ lý và dự báo các thông tin đóbằng cách tạo ra các luất sản xuất từ dữ liệu thu thập

- Ở những nơi không có chuyên gia, máy học có thể giúp tạo ra được các quyếtđịnh từ các dữ liệu có được

- Các thuật toán máy học có thể giúp xử lý khi dữ liệu không đầy đủ, khôngchính xác

- Máy học giúp thiết kế hệ thống huấn luyện tự động (mạng nơrôn nhân tạo) và

Trang 6

từ khối lượng khổng lồ đĩ lượng thơng tin thực sự cần thiết cho ứng dụng cụ thể, đãtrở nên tuyệt đối cần thiết Trong số các nhiệm vụ phân tích thơng tin cĩ nhiệm vụnhận biết mẫu, dự báo, phân tích trí tuệ đối với các dữ liệu (khai thác dữ liệu - DataMining) hỗ trợ việc đề ra quyết định, tạo dựng và bổ sung tri thức.

Với những yếu tố trên, ứng dụng máy học trong khai thác dữ liệu thực sự đã trởthành một ngành nghiên cứu mang lại rất nhiều lợi ích thực tiễn Nội dung của bài tiểuluận này tập trung vào việc tìm hiểu phân lớp dữ liệu với các thuật tốn phổ biến hiệnnay là cây quyết định và Nạve Bayes

Em xin gửi lời cám ơn sâu sắc đến PGS.TS Vũ Thanh Nguyên đã tận tìnhgiảng dạy, truyền đạt kiến thức, giúp em hiểu hơn về các ứng dụng của máy học, từ đĩtạo cho em định hướng để thực hiện bài thu hoạch này Tuy nhiên do thời gian nghiêncứu cĩ hạn nên bài thu hoạch này khơng thể tránh khỏi những thiếu sĩt nhất định, emrất mong nhận được sự gĩp ý của thầy để cĩ thể hồn thiện bài thu hoạch một cách tốtnhất

Trang 7

CHƯƠNG I : MÁY HỌC

1.1 Khái niệm

Máy học là một cụm từ dùng để chỉ khả năng một chương trình máy tính đểtăng tính thực thi dựa trên những kinh nghiêm đã trải qua hoặc máy học là để chỉ khảnăng một chương trình có thể phát sinh ra một cấu trúc dữ liệu mới khác với các cấutrúc dữ liệu cũ

Lợi điểm của các phương pháp máy học là nó phát sinh ra các luật tường minh,

có thể được sửa đổi, hoặc được huấn luyện trong một giới hạn nhất định

Máy học là sự tự động của quy trình học và việc học thì tương đương với việcxây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và những sựchuyển hoá của chúng.Đây là lĩnh vực rộng lớn không chỉ bao gồm việc học từ mẫu,

mà còn học tăng cường, học với “thầy”,

Các thuật toán học lấy bộ dữ liệu và những thông tin quen thuộc của nó khinhập và trả về một kết quả câu nói hay một câu ví dụ, một khái niệm để diễn tả nhữngkết quả học

Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cả những kết quả củachúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những

sự tổng quát hóa cho những trường hợp mới

Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấnluyện Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách nào

đó để máy có thể đọc và hiểu được Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn

do đó không phải toàn bộ dữ liệu sẽ được học một cách chính xác

Một tiến trình máy học gồm 2 giai đoạn:

- Giai đoạn học (learning): hệ thống phân tích dữ liệu và nhận ra sự mối quan

hệ (có thể là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu Kết quả của việchọc có thể là: nhóm các đối tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp chocác đối tượng mới

- Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp ) được tạo ra phảiđược kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữliệu huấn luyện hoặc trên một tập dữ liệu lớn

Trang 8

1.2Phân loại

Các thuật toán máy học được chia làm 3 loại: học giám sát, học không giám sát

và học nửa giám sát

1.2.1Học có giám sát(Supervised Learning)

Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệthống xây dựng cách xác định những lớp dữ liệu Hệ thống phải tìm một sự mô tả chotừng lớp (đặc tính của mẫu dữ liệu)

Người ta có thể sử dụng các luật phân loại hình thành trong quá trình học vàphân lớp để có thể sử dụng dự báo các lớp dữ liệu sau này

Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:

S = {(xi, cj) i=1,…,M; j=1,…,C}

Các cặp huấn luyện này được gọi là mẫu, với

xi là vector n-chiều còn gọi là vector đặc trưng,

cj là lớp thứ j đã biết trước

Thuật toán máy học giám sát tìm kiếm không gian của những giả thuyết có thể,

gọi là H Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x c.

Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những mô hìnhhọc giám sát như sau:

- Học vẹt (rote): hệ thống luôn luôn được “dạy” những luật đúng, rồi có học hội

tụ

- Học bằng phép loại suy (analogy): hệ thống được dạy phản hồi đúng cho một

công việc tương tự, nhưng không xác định Vì thế hệ thống phải hiệu chỉnh phản hồitrước đó bằng cách tạo ra một luật mới có thể áp dụng cho trường hợp mới

- Học dựa trên trường hợp (case-based learning): trong trường hợp này hệ

thống học lưu trữ tất cả các trường hợp, cùng với kết quả đầu ra của chúng Khi bắtgặp một trường hợp mới, nó sẽ cố gắng hiệu chỉnh đến trường hợp mới này cách xử lýtrước đó của nó đã được lưu trữ

- Học dựa trên sự giải thích (explanation-based learning), hệ thống sẽ phân

tích tập hợp những giải pháp nhằm chỉ ra tại sao mỗi phương pháp là thành công haykhông thành công Sau khi những giải thích này được tạo ra, chúng sẽ được dùng đểgiải quyết những vấn đề mới

Trang 9

1.2.2Học Không giám sát (Unsupervised Learning)

Đây là việc học từ quan sát và khám phá Hệ thống khai thác dữ liệu được ứngdụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà để nó phải

tự hệ thống quan sát những mẫu và nhận ra mẫu Hệ thống này dẫn đến một tập lớp,mỗi lớp có một tập mẫu được khám phá trong tập dữ liệu

Học không giám sát còn gọi là học từ quan sát và khám phá

Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu vào,khi đó một hệ thống học không giám sát sẽ khám phá ra những phân lớp của dữ liệu,bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hình thành nêntập dữ liệu

Một thuật toán máy học giám sát luôn có thể biến đổi thành một thuật toán máyhọc không giám sát (Langley 1996)

Đối với một bài toán mà những mẫu dữ liệu được mô tả bởi n đặc trưng, người

ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với một đặc trưng khác nhau

đóng vai trò thuộc tính lớp, mà chúng ta đang tiên đoán

Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy vọng là ít nhất một trong n bộ phân lớp đó là đúng.

1.2.3Học nửa giám sát.

Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học khônggiám sát Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và họckhông giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này

Trang 10

CHƯƠNG II : PHÂN LỚP DỮ LIỆU

Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiêncứu trong nhiều lĩnh vực khác nhau như học máy (machine learning), hệ chuyên gia(expert system), thống kê (statistics) Công nghệ này cũng ứng dụng trong nhiều lĩnhvực khác nhau như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảohiểm, y tế, giáo dục Phần lớn các thuật toán ra đời trước đều sử dụng cơ chế dữ liệu

cư trú trong bộ nhớ (memory resident), thường thao tác với lượng dữ liệu nhỏ Một sốthuật toán ra đời sau này đã sử dụng kỹ thuật cư trú trên đĩa cải thiện đáng kể khảnăng mở rộng của thuật toán với những tập dữ liệu lớn lên tới hàng tỉ bản ghi

đó Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là cácmẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trường hợp(case)

+ Trong tập dữ liệu này, mỗi phần tử dữ liệu được giả sử thuộc về một lớp địnhtrước, lớp ở đây là giá trị của một thuộc tính được chọn làm thuộc tính gán nhãn lớphay thuộc tính phân lớp (class label attribute) Đầu ra của bước này thường là các quytắc phân lớp dưới dạng luậtdạngif-then,câyquyếtđịnh,côngthứclogic,haymạngnơron

Trang 11

2.2.2Bước thứ hai (Classification)

+ Bước thứ hai dùng mơ hình đã xây dựng ở bước trước để phân lớp dữ liệumới Trước tiên độ chính xác mang tính chất dự đốn của mơ hình phân lớp vừa tạo rađược ước lượng Holdout là một kỹ thuật đơn giản để ước lượng độ chính xác đĩ Kỹthuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp Cácmẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu đào tạo

+ Độ chính xác của mơ hình trên tập dữ liệu kiểm tra đã đưa là tỉ lệ phần trămcác các mẫu trong tập dữ liệu kiểm tra được mơ hình phân lớp đúng (so với thực tế).Nếu độ chính xác của mơ hình được ước lượng dựa trên tập dữ liệu đào tạo thì kết quảthu được là rất khả quan vì mơ hình luơn cĩ xu hướng “quá vừa” dữ liệu Quá vừa dữliệu là hiện tượng kết quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng

mơ hình phân lớp từ tập dữ liệu đào tạo cĩ thể đã kết hợp những đặc điểm riêng biệtcủa tập dữ liệu đĩ

+ Do vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo.Nếu độ chính xác của mơ hình là chấp nhận được, thì mơ hình được sử dụng để phânlớp những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp làchưa biết

Cĩ thể liệt kê ra đây các kỹ thuật phân lớp :

- Phương pháp dựa trên cây quyết định

- Phương pháp dựa trên luật

- Phương pháp Nạve Bayes

- Mạng Neural

- SVM (hỗ trợ các máy tính vector)

- Tập thơ

Trang 12

CHƯƠNG III : PHƯƠNG PHÁP PHÂN LỚP DỰA TRÊN CÂY

Ngoài ra, ta có nhánh: mang giá trị thuộc tính

3.2 Các bước xây dựng cây quyết định

Gồm 2 bước để thực hiện xây dựng cây quyết định

- Bước 1: Thiết lập cây quyết định, bắt đầu từ gốc, kiểm tra các giá trị của

thuộc tính và phân chia các mẫu đệ qui

- Bước 2: Tỉa bớt cây, xác định và loại bỏ bớt các nhánh không ổn định hoặc cá

biệt

Trang 13

3.3 Thuật toán xây dựng cây quyết định

Ý tưởng chính

- Phương pháp “tham lam” (greedy)

- Phân chia tập mẫu dựa trên thuộc tính cho kết quả tối ưu hóa tiêu chuẩn

Vấn đề

- Xác định cách phân chia các mẫu dựa trên độ đo sự đồng nhất của dữ liệu

- Tiêu chuẩn phân chia: tạo ra các nhóm sao cho một lớp chiếm ưu thế trongtừng nhóm

- Thuộc tính được chọn là thuộc tính cho độ đo tốt nhất, có lợi nhất cho quátrình phân lớp

- Độ đo để đánh giá chất lượng phân chia là độ đo sự đồng nhất : Entropy(Information Gain), Information Gain Ratio, Gini Index

Điều kiện dừng

- Tất cả các mẫu rơi vào một nút thuộc về cùng một lớp

- Không còn thuộc tính nào có thể dùng để phân chia mẫu nữa

- Không còn lại mẫu nào tại nút

3.4 Các độ đo sự đồng nhất

3.4.1 Entropy (Information Gain): ID3 / C4.5

- Chọn thuộc tính có độ lợi thông tin cao nhất

- Giả sử

+ D: tập huấn luyện+ Ci,D: tập các mẫu của D thuộc lớp Ci với I = {1, …, m}

+ |Ci,D|, |D|: lực lượng của tập Ci,D và D tương ứng+ pi là xác suất để một mẫu bất kỳ của D thuộc về lớp Ci

- Thông tin kỳ vọng để phân lớp một mẫu trong D là

Info (D) =m p ilog2(p i) p i= ¿C i, D∨¿D∨¿ ¿¿¿

Trang 14

- Độ lợi thông tin (information gain) dựa trên phân chia theo thuộc tính A

Gain (A) = Info(D) – Info A (D)

3.4.2 Information Gain Ratio

Độ đo Gain có xu hướng thiên vị cho các thuộc tính có nhiều giá trị nên cầnchuẩn hóa độ đo Gain

Chọn thuộc tính có độ đo Gain Ratio lớn nhất

GainRatio (A) = Gain(A)/SplitInfo A (D)

3.4.3 Chỉ mục Gini (Gini Index)

- Gồm CART, SLIQ, SPRINT

- Tập huấn luyện D chứa các mẫu của m lớp

- Chỉ mục Gini của tập D – gini(D) là

gini(D) =1−∑

i =1

m

p i2 với pi là tần suất của lớp C i trong D

- Thuộc tính A có các giá trị :{a1, a2, …,av}

- Dùng thuộc tính A để phân chia tập huấn luyện D thành v tập con {D1, D2,

Trang 15

3.5Bài toán ứng dụng

Cho tập dữ liệu huấn luyện

ID Bood Type Give birth Can fly Live in water Class

Với tập dữ liệu nêu trên, chúng ta sẽ sử dụng độ đo Gain để tiến hành xây dựngcây quyết định và rút luật

3.5.1 Tính độ lợi thông tin lần 1

|D| = 20, C1 = “mammal”, C2 = “reptile”, C3= “fishes”, C4 = “amphibians”, C5

Trang 16

Warm Cold

Bood type

 Gain (bood Type) = 2.201 – 1.208 = 0.993

 Infogive birth= (7/20)I(6,0,1,0,0) + (13/20)I(0,4,3,2,0) = 1.612

 Gain (give birth) = 2.201 – 1.612= 0.589

 Infocan fly = (4/20)I(1,0,0,0,3) + (16/20)I(6,4,3,2,1) = 1.849

 Gain (can fly) = 2.201 – 1.849 = 0.353

 Infolive in water= (5/20)I(2,0,3,0,0) + (4/20)IS(0,1,0,2,1) + (11/20)I(5,3,0,0,3) = 1.389

 Gain (live in water) = 2.201 – 1.389 = 0.812

Chọn “Boodtype” làm thuộc tính phân loại lần 1

3.5.2 Tính độ lợi thông tin lần 2

Tính độ lợi thông tin bảng Warm của thuộc tính Boodtype

|D| = 11, C1 = “mammal”, C2 = “birds”, |D1| = 7, |D2| = 4

Info (D) = (-7/11) log2(7/11) – (4/11)log2(4/11) = 0.946

 Infogive birth = (6/11)I (6,0) + (5/11)I(1,4) = 0.328

 Gain (bood Type) = 0.946 – 0.328 = 0.618

 Infocan fly = (4/11)I(1,3) + (7/11)I(6,1) = 0.672

 Gain (can fly) = 0.946 – 0.6727 = 0.274

 Infolive in water= (2/1)I(2,0) + (1/11)I(0,1) + (8/11)I(5,3) = 0.694

Ngày đăng: 21/05/2015, 12:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Bài giảng môn Máy học và ứng dụng- PGS.TS. Vũ Thanh Nguyên Khác
2. Giáo trình Thống kê máy tính, Khoa Công nghệ thông tin, Trường ĐHKHTN Tp.HCM – Lý thuyết ra quyết định Bayes Khác
3. Bài giảng của Khai thác dữ liệu và ứng dụng - Giảng viên Th.S Nguyễn Hoàng Tú Anh, ĐH Khoa học Tự nhiên TP.HCM Khác
5. Nạve Bayes Classifier Slide - Ke Chen, Extended by Longin Jan Latecki Khác
5. C. Apte and S. Weiss. Data mining with decision treesand decision rules. Future Generation ComputerSystems, 13, 1997 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w