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

Nghiên cứu một số phương pháp phân lớp dữ liệu và ứng dụng trong phân lớp nấm mushroom với công cụ weka

85 7 0

Đ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 85
Dung lượng 2,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nó là sự kế thừa, kết hợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như máy học, nhận dạng, thống kê hồi quy, xếp loại, phân cụm, các mô hình đồ thị, các mạng Bayes,

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

INTHAVONG SOUKSAKHONE

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP

DỮ LIỆU VÀ ỨNG DỤNG TRONG PHÂN LỚP NẤM

(MUSHROOM) VỚI CÔNG CỤ WEKA

LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH

Thái Nguyên – 2020

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

INTHAVONG SOUKSAKHONE

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP PHÂN LỚP DỮ LIỆU VÀ ỨNG DỤNG TRONG PHÂN LỚP NẤM

(MUSHROOM) VỚI CÔNG CỤ WEKA

LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 84 8 01 01

Người hướng dẫn khoa học: TS Nguyễn Văn Núi

Thái Nguyên – 2020

Trang 3

LỜI CẢM ƠN

Trước tiên, tôi xin được gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy

giáo, TS Nguyễn Văn Núi đã tận tình chỉ bảo, hướng dẫn, động viên và giúp đỡ tôi

trong suốt quá trình tôi thực hiện luận văn tốt nghiệp

Tôi xin gửi lời cảm ơn tới các thầy cô Trường Đại Học Công nghệ Thông Tin và Truyền Thông – Đại học Thái Nguyên, những người đã tận tình giúp đỡ, hướng dẫn trong quá trình tôi học tập tại trường

Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh, quan tâm, động viên tôi trong suốt quá trình học tập và thực hiện luận văn tốt nghiệp này

Tôi xin chân thành cảm ơn!

Thái Nguyên, tháng 11 năm 2020

Học viên

Inthavong Souksakhone

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong Luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Những điều được trình bày trong nội dung Luận văn, hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn đúng quy cách Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình

Thái Nguyên, tháng 11 năm 2020

Tác giả luận văn

Inthavong Souksakhone

Trang 5

MỤC LỤC

LỜI CẢM ƠN I

LỜI CAM ĐOAN .II

MỤC LỤC III

DANH SÁNH BẢNG VI

DANH SÁNH HÌNH VẼ VII

DANH SÁCH TỪ VIẾT TẮT IX

CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 3

1.1 Giới thiệu tổng quan 3

1.1.1 Khái niệm khai phá dữ liệu 3

1.1.2 Nhiệm vụ của khai phá dữ liệu 4

1.1.3 Một số ứng dụng khai phá dữ liệu 4

1.1.4 Bước phát triển của việc tổ chức và khai thác các CSDL 5

1.1.5 Quá trình phát hiện tri thức 6

1.1.6 Các bước của quá trình KPDL 8

1.2 Một số kỹ thuật khai phá dữ liệu cơ bản 10

1.2.1 Khai phá dữ liệu dự đoán 10

1.2.1.1 Phân lớp (Classification) 10

1.2.1.2 Hồi quy (Regression) 11

1.2.2 Khai phá dữ liệu mô tả 11

1.2.2.1 Phân cụm 11

1.2.2.2 Khai phá luật kết hợp 12

1.3 Một số so sánh giữa khai phá dữ liệu và các phương pháp cơ bản khác 12

1.3.1 So sánh với phương pháp hệ chuyên gia (Expert Systems) 13

1.3.2 So sánh với phương pháp thống kê (Statistics) 14

1.3.3 So sánh với phương pháp học máy (Machine Learning) 14

1.3.4 So sánh với phương pháp học sâu (Deep Learning) 15

Trang 6

1.4 Tổng kết chương 18

CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP VÀ KỸ THUẬT PHÂN LỚP DỮ LIỆU 19

2.1 Tổng quan về phân lớp dữ liệu 19

2.2 Phân lớp dữ liệu bằng cây quyết định 22

2.2.1 Độ lợi thơng tin 26

2.2.2 Tỉ số độ lợi 29

2.2.3 Chỉ số Gini 30

2.2.4 Tỉa cây quyết định 32

2.3 Phân lớp dữ liệu Bayesian 33

2.3.1 Định lý Bayes 33

2.3.2 Phân lớp Nạve Bayes 34

2.4 Phân lớp dữ liệu sử dụng máy hỗ trợ vector (SVM) 36

2.4.1 Phân lớp đa lớp với SVM 40

2.5 Phân lớp dữ liệu với Random Forest (rừng ngẫu nhiên) 40

2.6 Một số phương pháp phân lớp dữ liệu khác 44

2.6.1 Thuật tốn phân lớp k-NN 44

2.7 Đánh giá mơ hình phân lớp dữ liệu 44

2.8 Tổng kết chương 46

CHƯƠNG 3 ỨNG DỤNG PHÂN LỚP DỮ LIỆU MUSHROOM VỚI CƠNG CỤ WEKA VÀ MỘT SỐ THUẬT TỐN CƠ BẢN 47

3.1 Giới thiệu bài tốn phân lớp dữ liệu Mushroom 47

3.1.1 Giới thiệu về bài tốn phân lớp dữ liệu Mushroom 47

3.1.2 Thu thập, tiền xử lý và mã hĩa dữ liệu 47

3.1.3 Mơ tả sơ lược về dữ liệu 51

3.2 Giới thiệu về cơng cụ Weka, cấu hình và ứng dụng phân lớp Mushroom 52

3.2.1 Mơi trường Explorer 53

Trang 7

3.2.2 Khuôn dạng của tập dữ liệu 54

3.2.3 Tiền xử lý dữ liệu 54

3.2.4 Phân tích chức năng phân lớp (Classify) 54

3.2.5 Mô tả chức năng phân lớp (Classify) 58

3.3 Áp dụng các phương pháp phân lớp trên tập dữ liệu Mushroom 60

3.3.1 Thực hiện phân lớp bằng thuật toán Naive Bayes 61

3.3.2 Thực hiện phân lớp bằng thuật toán k-Nearest neighbor 63

3.3.3 Thực hiện phân lớp bằng thuật toán Support Vector Machines 66

3.4 Đánh giá mô hình phân lớp dữ liệu Mushroom 70

3.4.1 Đánh giá mô hình bằng phương pháp Hold-out 70

3.4.2 Đánh giá mô hình bằng phương pháp k-fold Cross validation 71

3.5 Kết luận thực nghiệm phần lớp dữ liệu Mushroom 71

3.6 Tổng kết chương 72

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73

TÀI LIỆU THAM KHẢO 74

Trang 8

DANH SÁNH BẢNG

Bảng 2.1: Bảng dữ liệu khách hàng 25

Bảng 2.3: Bảng biểu diễn ma trận nhầm lẫn 45

Bảng 3.1: Bảng tổng hợp dữ liệu thu thập 47

Bảng 3.2: Các tính năng dành cho các dữ liệu nấm 48

Bảng 3.3: Mô tả ý nghĩa các giá trị dữ liệu nấm 50

Bảng 3.4: Hiệu năng của mô hình dự đoán, đánh giá bởi kiểm tra 70% 70

Bảng 3.5: Hiệu năng của mô hình dự đoán, đánh giá bởi kiểm tra chéo mặt (fold=10 cross-validation) 71

Trang 9

DANH SÁNH HÌNH VẼ

Hinh 1.1: Quá trình phát hiện tri thức 6

Hinh 1.2: Quá trình khai phá dữ liêu (KPDL) 9

Hinh 1.3: Phân cụm tập dữ liệu cho vay thành 3 cụm 12

Hinh 1.4: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo 13

Hinh 1.5: Học sau nhận dạng khuôn mặt hoặc biểu hiện cảm xúc trên khuân mặt 16

Hình 2.1: Quá trình phân lớp dữ liệu - (a) Bước xây dựng mô hình phân lớp 21

Hình 2.2 : Quá trình phân lớp dữ liệu - (b1) Ước lượng độ chính xác của mô hình 22

Hình 2.3: Quá trình phân lớp dữ liệu - (b2) Phân lớp dữ liệu mới 22

Hình 2.4:Phân lớp cho bài toán cho vay vốn của ngân hàng 23

Hình 2.5:Thuật toán xây dựng cây quyết định 24

Hình 2.6: Minh họa cây quyết định 26

Hình 2.7: Thuộc tính tuổi có thông tin thu được cao nhất 29

Hình 2.8 :Các điểm trong không gian D chiều 36

Hình 2.9: Siêu phẳng phân lớp các điểm trong không gian 37

Hình 2.10: Đồ thị biểu diễn các điểm trong mặt phẳng R+ 37

Hình 2.11: Các điểm lựa chọn cho siêu phẳng 38

Hình 2.12: Kiến trúc mô hình SVM 38

Hình 2.13: Đồ thị biểu diễn siêu phẳng tìm được 39

Hình 2.14: Mô hình rừng ngẫu nhiên 42

Hình 2.15: Mô hình chia tập dữ liệu Hold-out 45

Hình 2.16: Mô hình chia tập dữ liệu Cross validation 46

Hình 3.1: Sơ đồ Phương pháp phân lớp nấm (Mushroom) 49

Hình 3.2 : Load Mushroom data 51

Hình 3.3: Giao diên ban đầu Phần mềm WEKA 52

Hình 3.4: Giao diên của WEKA Explorer 53

Hình 3.5: Biểu diễn tập dữ liệu weather trong tập tin văn bản(text) 54

Hình 3.6: Biểu diễn đọc dữ liệu vào chương trình Weka 55

Trang 10

Hình 3.7: Biểu diễn chọn tab Classify để phân lớp 55

Hình 3.8: Biểu diễn chọn thuật toán phân lớp và xác định tham số 56

Hình 3.9: Biểu diễn chọn kiểu test 56

Hình 3.10: Chạy thuật toán phân lớp 57

Hình 3.11: Bảng lưu thông tin 57

Hình 3.12: Bảng kết quả sau chạy thuật toán phân lớp 58

Hình 3.13: Giải thích Running Information 58

Hình 3.14: Giải thích Classifier model (full training set) 59

Hình 3.15: Giải thích xem xét tổng kết số liệu thống kế tập dữ liệu 59

Hình 3.16: Xem độ chính xác chi tiết cho từng phân lớp 59

Hình 3.17: Confusion matrix của bộ phân lớp dữ liêu Mushroom 60

Hình 3.18: Sơ đồ tổng thể Mô hình phân lớp dự đoán nấm (mushroom) 60

Hình 3.19: Cấu hình Weka cho thuật toán Naive Bayes 61

Hình 3.20: Kết quả phân lớp Weka cho thuật toán Naive Bayes với số 70% Split 62

Hình 3.21: Kết quả phân lớp Weka cho thuật toán Naive Bayes kiểm tra chéo 10 mặt 63

Hình 3.22: Cấu hình Weka cho thuật toán k-NN 64

Hình 3.23: Cấu hình Weka cho thuật toán tìm kiếm trong thuật toán k-NN 64

Hình 3.24: Kết quả phân lớp Weka cho thuật toán k-NN với số 70% Split 65

Hình 3.25: Kết quả phân lớp Weka cho thuật toán k-NN kiểm tra chéo 10 mặt 65

Hình 3.26: Cấu hình Weka cho thuật toán SVM 66

Hình 3.27: Kết quả phân lớp Weka cho thuật toán SVM với số 70% Split 67

Hình 3.28: Kết quả phân lớp Weka cho thuật toán SVM kiểm tra chéo 10 mặt 67

Hình 3.29: Cấu hình Weka cho thuật toán J48 68

Hình 3.30: Kết quả phân lớp Weka cho thuật toán J48 decision với số 70% Split 68

Hình 3.31: Kết quả phân lớp Weka cho thuật toán J48 kiểm tra chéo 10 mặt 69

Hình 3.32: Mô hình cây quyết định hiển thị bởi Hold-out J48 69

Hình 3.33: cây quyết định Visualization 70

Trang 11

DANH SÁCH TỪ VIẾT TẮT

2 SVM Supprot Vector Machin Máy hỗ trợ vector

3 KDD Knowlegde Discovery in

Databases

Phát hiện tri thức trong CSDL

7 PCA Principal Component Analysis Thuật toán phân tích thành

Trang 12

MỞ ĐẦU

Ly do chọn đề tài

Sự bùng nổ và phát triển của ngành công nghệ thông tin trong cách mạng 4.0

và việc ứng dụng công nghệ thông tin ở hầu hết các lĩnh vực trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được thu thập và lưu trữ ngày càng lớn Các

hệ quản trị cơ sở dữ liệu truyền thống cũng chỉ khai thác được một lượng thông tin nhỏ không còn đáp ứng đầy đủ những yêu cầu, những thách thức mới Do vậy một khuynh hướng mới được ra đời đó là kỹ thuật phát hiện tri thức trong cơ sở dữ liệu Xin giới thiệu một cách tổng quan về phát hiện tri thức và khai phá dữ liệu cùng một số kỹ thuật cơ bản để trong khai phá dữ liệu để phát hiện tri thức và một số ứng dụng trong thực tế nhằm hỗ trợ cho tiến trình ra quyết định

Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng Bước quan trọng nhất của quá trình này là Khai phá dữ liệu (Data Mining - DM), giúp người sử dụng thu được những tri thức hữu ích từ những CSDL hoặc các nguồn dữ liệu khổng lồ khác Rất nhiều doanh nghiệp và tổ chức trên thế giới đã ứng dụng kĩ thuật khai phá dữ liệu vào hoạt động sản xuất kinh doanh của mình và

đã thu được những lợi ích to lớn

Khai phá dữ liệu và khám phá tri thức (Data mining and Knowledge discovery) là một lĩnh vực quan trọng của ngành Công nghệ thông tin với mục tiêu

là tìm kiếm các tri thức có ích, cần thiết, tiềm ẩn và chưa được biết trước trong cơ

sở dữ liệu lớn Đây là lĩnh vực đã và đang thu hút đông đảo các nhà khoa học trên thế giới và trong nước tham gia nghiên cứu Phân lớp (classification) là một trong những bài toán cơ bản trong khai phá dữ liệu với mục tiêu là phân loại các đối tượng vào các lớp cho trước Nhưng để làm được điều đó, sự phát triển của các mô hình toán học và các giải thuật hiệu quả là chìa khoá quan trọng Vì vậy, trong luận văn này, tác giả sẽ đề cập tới kỹ thuật thường dùng trong khai phá dữ liệu, đó là Phân lớp (Classification)

Trang 13

Sau phần mở đầu, kết luận và tài liệu tham khảo nội dung chính của luận văn được trình bày chi tiết chia thành 3 chương như sau:

Chương 1 Tổng quan về khai phá dữ liệu và phát hiện tri thức

Phần này giới thiệu một cánh tổng quát về quá trình phát hiện tri thức nói chung và khai phá dữ liệu nói riêng Đặc biệt nhấn mạnh về một kỹ thuật chính được nghiên cứu trong luận văn đó là Kỹ thuật phân lớp

Chương 2 Một số phương pháp và kỹ thuật phân lớp dữ liệu

Trong phần này, sẽ giới thiệu tập trung vào kỹ thuật phân lớp được một số cách chi tiết Có nhiều kiểu phân lớp như phân lớp bằng cây quyết định (Decision Tree), phân lớp dữ liệu Bayesian, phân lớp dữ liệu với Random Forest (rừng ngẫu nhiên), Phân lớp dữ liệu sử dụng máy hỗ trợ vector (SVM) và một số phương pháp phân lớp dữ liệu khác Ngoài ra còn đánh giá mô hình của phương pháp phân lớp dữ liệu

Chương 3 Ứng dụng phân lớp dữ liệu Mushroom với công cụ Weka và một số thuật toán cơ bản

Phần này giới thiệu bài toán phân lớp dữ liệu Mushroom, giới thiệu về phân lớp dữ liệu sử dụng công cụ Weka, áp dụng các phương pháp phân lớp trên tập dữ liệu Mushroom Sau đó phân chia tập dữ liệu để đánh giá mô hình theo hai phương pháp Hold-out và K-fold cross validation để kết luận phân lớp dữ liệu Mushroom

cho kết quả phân lớp tốt nhất

Trang 14

CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC

1.1 Giới thiệu tổng quan

Trong thời đại ngày nay, với sự phát triển vượt bật của công nghệ thông tin, các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hàng ngày của chúng Không có một lĩnh vực nào lại không cần đến sự hỗ trợ của công nghệ thông tin và sự thành công của các lĩnh vực đó phụ thuộc rất nhiều vào việc nắm bắt thông tin một cách nhạy bén, nhanh chóng và hữu ích Với nhu cầu như thế nếu chỉ sử dụng thao tác thủ công truyền thống thì độ chính xác không cao và mất rất nhiều thời gian Từ khối dữ liệu này, các kỹ thuật trong Khai Phá Dữ Liệu (KPDL) và Máy Học (MH) có thể dùng để trích xuất những thông tin hữu ích mà chúng ta chưa biết Các tri thức vừa học được có thể vận dụng để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu Do vậy việc khai phá tri thức từ dữ liệu trong các tập tài liệu lớn chứa đựng thông tin phục vụ nhu cầu nắm bắt thông tin có vai trò hết sức to lớn Từ đó, các kĩ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay

Khai phá dữ liệu (Data Mining) là một lĩnh vực mới xuất hiện, nhằm tự động khai thác những thông tin, những tri thức có tính tiềm ẩn, hữu ích từ những CSDL lớn cho các đơn vị, tổ chức, doanh nghiệp,… từ đó làm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả khoa học cùng những ứng dụng thành công trong khám phá tri thức, cho thấy, khai phá dữ liệu là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Hiện nay, khai phá dữ liệu đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như: Thương mại, tài chính, điều trị y học, viễn thông, tin – sinh…

1.1.1 Khái niệm khai phá dữ liệu

Khai phá dữ liệu (data mining) là quá trình trích xuất, khai thác các mẫu trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học,

Trang 15

thống kê và các hệ thống cơ sở dữ liệu và sử dụng những dữ liệu có giá trị tiềm ẩn

từ bên trong lượng lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu (CSDL), kho dữ liệu, trung tâm dữ liệu lớn hơn là Big Data dựa trên kĩ thuật như mạng nơ ron, lí

thuyết tập thô, tập mờ, biểu diễn tri thức Khai phá dữ liệu là một công đoạn trong

hoạt động “làm sạch” dữ liệu giúp cho dữ liệu được truyền dẫn một cách nhanh nhất Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin từ một

bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu,

xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp, xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến Khai thác dữ liệu là bước phân tích của quá trình “khám phá kiến thức trong cơ sở dữ liệu” hoặc KDD

Định nghĩa: Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri

thức mới, tiềm ẩn, hữu dụng trong CSDL lớn

Khai phá tri thức trong CSDL (Knowledge Discovery in Databases - KDD)

là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá dữ liệu và KDD được các nhà khoa học trên hai lĩnh vực xem là tương đương với nhau Thế nhưng, nếu phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình KDD

1.1.2 Nhiệm vụ của khai phá dữ liệu

Những nhiệm vụ cơ bản nhất của KPDL là:

• Phân cụm, phân loại, phân nhóm, phân lớp

• Khai phá luật kết hợp

• Lập mô hình dự báo

• Phân tích đối tượng ngoài cuộc

• Phân tích sự tiến hóa

1.1.3 Một số ứng dụng khai phá dữ liệu

Mặc dù còn rất nhiều vấn đề mà KPDL cần phải tiếp tục nghiên cứu để giải quyết nhưng tiềm năng của nó đã được khẳng định bằng sự ra đời của rất nhiều ứng

Trang 16

dụng các ứng dụng của KPDL trong khoa học cũng được phát triển các công ty phần mềm lớn trên thế giới cũng rất quan tâm và chú trọng tới việc nghiên cứu và phát triển kỹ thuật khai phá dữ liệu: oracle tích hợp các công cụ khai phá dữ liệu vào bộ oracle 9i, IBM đã đi tiên phong trong việc phát triển các ứng dụng khai phá

dữ liệu với các ứng dụng như Intelligence miner, …Ta có thể đưa ra một số ứng dụng trong các lĩnh vực như:

• Thương mại: Phân tích dữ liệu bán hàng và thi trường, phân tích đầu tư,

quyết định cho vay, phát hiện gian lận

• Thông tin sản xuất: Điều khiển và lập kế hoạch, hệ thống quản lý, phân tích kết quả thử nghiệm

• Thông tin khoa học: dự báo thời tiết, CSDL sinh học: Ngân hàng gen, khoa học địa lý: dự báo động đất

• Trong y tế, marketing, ngân hàng, viễn thông, du lịch, internet

1.1.4 Bước phát triển của việc tổ chức và khai thác các CSDL

Cùng với việc tăng không ngừng khối lượng dữ liệu, các hệ thống thông tin cũng được chuyên môn hóa, phân hoạch theo các lĩnh vực ứng dụng như sản xuất, tài chính, buôn bán thị trường v.v Như vậy, bên cạnh chức năng khai thác dữ liệu

có tính chất tác nghiệp, sự thành công trong kinh doanh không còn là năng suất của các hệ thống thông tin nữa mà là tính linh hoạt và sẵn sàng đáp lại những yêu cầu trong thực tế, CSDL cần đem lại những “tri thức” hơn là chính những dữ liệu

đó các quyết định cần phải có càng nhanh càng tốt và phải chính xác dựa trên những dữ liệu sẵn có lúc này các mô hình CSDL truyền thống và ngôn ngữ SQL đã cho thấy không có khả năng thực hiện công việc này

Để lấy được tri thức trong khối dữ liệu khổng lồ này, người ta đã đi tìm những kỹ thuật có khả năng hợp nhất các dữ liệu từ các hệ thống giao dịch khác nhau, chuyển đổi thành một tập hợp các cơ sở dữ liệu ổn định, có chất lượng, chỉ được sử dụng riêng cho một vài mục đích nào đó các kỹ thuật đó được gọi chung là

kỹ thuật tạo kho dữ liệu (data warehousing) và môi trường các dữ liệu có được gọi

là các kho dữ liệu (data warehouse) Với những thách thức như vậy, các nhà nghiên

Trang 17

cứu đã đưa ra một phương pháp mới trên kho dữ liệu đáp ứng cả nhu cầu trong khoa học cũng như trong hoạt động thực tiễn Đó chính là công nghệ phát hiện tri thức từ

cơ sở dữ liệu

1.1.5 Quá trình phát hiện tri thức

Một vấn đề rất quan trọng để dẫn đến thành công là việc biết sử dụng thông tin một cách có hiệu quả Điều đó có nghĩa là từ các dữ liệu sẵn có phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện, phải tìm ra những xu hướng phát triển và những yếu tố tác động lên chúng Thực hiện công việc đó chính là thực hiện quá trình phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) mà trong đó kỹ thuật này cho phép ta lấy được các tri thức chính là pha khai phá dữ liệu (KPDL)

Quá trình phát hiện tri thức tiến hành qua 6 giai đoạn như Hình 1.1

Hinh 1.1: Quá trình phát hiện tri thức

Quá trình khám phá tri thức từ CSDL là một quá trình có sử dụng nhiều phương pháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người

là trung tâm Do đó, nó không phải là một hệ thống phân tích tự động mà là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, tất nhiên là với sự hỗ trợ của các công cụ tin học Người sử dụng hệ thống ở đây

Trang 18

phải là người có kiến thức cơ bản về lĩnh vực cần phát hiện tri thức để có thể chọn được đúng các tập con dữ liệu, các lớp mẫu phù hợp và đạt tiêu chuẩn quan tâm so với mục đích Tri thức mà ta nói ở đây là các tri thức rút ra từ các CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Do đó, quá trình phát hiện tri thức cũng mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức bất kỳ mà là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ đề ra

Trong hình 1.1 quá trình phát hiện tri thức bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất ra Về lý thuyết thì có vẻ rất đơn giản nhưng thực sự đây là một quá trình rất khó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ quá trình, v.v

1.1.5.1 Gom dữ liệu (Gathering)

Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữ liệu và thậm chí các dữ

liệu từ các nguồn ứng dụng Web

1.1.5.2 Lựa chọn dữ liệu (Selection)

Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia theo một số tiêu chuẩn nào đó phục vụ mục đích khai thác, ví dụ chọn tất cả những người có tuổi đời từ 25

1.1.5.4 Chuyển đổi dữ liệu (Transformation)

Trang 19

Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó, tức là dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách thực hiện các thao tác nhóm hoặc tập hợp

1.1.5.5 Khai phá dữ liệu (Data mining)

Đây là bước mang tính tư duy trong khai phá dữ liệu Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ liệu Thuật toán thường dùng là nguyên tắc phân lớp, nguyên tắc kết, v.v

1.1.5.6 Đánh giá các luật và biểu diễn tri thức (Evaluation of Result)

Đây là giai đoạn cuối trong quá trình khai phá dữ liệu Ở giai đoạn này, các mẫu dữ liệu được chiết xuất, không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức (Knowlege) cần thiết Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số phép đó Sau đó sử dụng các kỹ thuật trình diễn

và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng

Từ quá trình khám phá tri thức trên chúng ta thấy được sự khác biệt giữa khám phá tri thức và khai phá dữ liệu Trong khi khám phá tri thức là nói đến quá trình tổng thể phát hiện tri thức hữu ích từ dữ liệu Còn KPDL chỉ là một bước trong quá trình khám phá tri thức, các công việc chủ yếu là xác định được bài toán khai phá, tiến hành lựa chọn phương pháp KPDL phù hợp với dữ liệu có được và tách ra các tri thức cần thiết

1.1.6 Các bước của quá trình KPDL

Các giải thuật KPDL thường được mô tả như những chương trình hoạt động trực tiếp trên tệp dữ liệu Với các phương pháp học máy và thống kê trước đây, thường thì bước đầu tiên là các giải thuật nạp toàn bộ tệp dữ liệu vào trong bộ nhớ Khi chuyển sang các ứng dụng công nghiệp liên quan đến việc khai phá các kho dữ liệu lớn, mô hình này không thể đáp ứng được Không chỉ bởi vì nó không thể nạp hết dữ liệu vào trong bộ nhớ mà còn vì khó có thể chiết xuất dữ liệu ra các tệp đơn giản để phân tích được

Trang 20

Hinh 1.2: Quá trình khai phá dữ liêu (KPDL)

Quá trình xử lý KPDL bắt đầu bằng cách xác định chính xác vấn đề cần giải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuật KPDL có thể hiểu được Về lý thuyết thì có vẻ rất đơn giản nhưng khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải rất nhiều vướng mắc như: các dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp), quản

lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình dữ liệu thay đổi), …

Bước tiếp theo là chọn thuật toán KPDL thích hợp và thực hiện việc KPDL để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa đó (thường được biểu diễn dưới dạng các luật xếp loại, cây quyết định, luật sản xuất, biểu thức hồi quy, …)

Đặc điểm của mẫu phải là mới (ít nhất là đối với hệ thống đó) Độ mới có thể đuợc đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện tại với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên

hệ giữa phương pháp tìm mới và phương pháp cũ như thế nào) Thường thì độ mới của mẫu được đánh giá bằng một hàm logic hoặc một hàm đo độ mới, độ bất ngờ của mẫu Ngoài ra, mẫu còn phải có khả năng sử dụng tiềm tàng các mẫu này sau khi được xử lý và diễn giải phải dẫn đến những hành động có ích nào đó được đánh giá bằng một hàm lợi ích mẫu khai thác được phải có giá trị đối với các dữ liệu mới với độ chính xác nào đó

Trang 21

Kỹ thuật KPDL thực chất là phương pháp không hoàn toàn mới Nó là sự kế thừa, kết hợp và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như máy học, nhận dạng, thống kê (hồi quy, xếp loại, phân cụm), các mô hình đồ thị, các mạng Bayes, trí tuệ nhân tạo, thu thập tri thức hệ chuyên gia, v.v… Tuy nhiên, với sự kết hợp tài tình của KPDL, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem lại nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học

1.2 Một số kỹ thuật khai phá dữ liệu cơ bản

1.2.1 Khai phá dữ liệu dự đoán

Nhiệm vụ của KPDL dự đoán là đưa ra các dự đoán dựa vào các suy diễn trên

cơ sở dữ liệu hiện thời Bao gồm các kỹ thuật: Phân lớp (Classification); Hồi qui (Regres-sion…)

1.2.1.1 Phân lớp (Classification)

Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu

dữ liệu Quá trình phân loại dữ liệu thường gồm hai bước: xây dựng mô hình và sử

dụng mô hình để phân lơp dữ liệu

▪ Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước Mỗi mẫu thuộc về một lớp, được xác định bởi một thuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát

▪ Bước 2: Sử dụng mô hình để phân loại dữ liệu Trước hết chúng ta phải tính độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai Hay nói cách khác, phân lớp là học một hàm ánh xạ một mục dữ liệu vào một trong số các lớp cho trước Hay nói các khác, phân loại là học một hàm ánh xạ một mục dữ liệu vào trong số các lớp cho trước

Trang 22

1.2.1.2 Hồi quy (Regression)

Phương pháp hồi quy khác với phương pháp phân loại dữ liệu ở chỗ, hồi qui dùng để dự đoán về các giá trị liên tục còn phân loại dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc Hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực Các ứng dụng hồi quy có nhiều, ví dụ như đánh giá xác xuất một bệnh nhân sẽ chết dựa trên tập kết quả xét nghiệm chẩn đoán, dự báo nhu cầu của người tiêu dùng đối với một sản phẩn mới dựa trên hoạt động quảng cáo tiêu dùng

1.2.2 Khai phá dữ liệu mô tả

Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của

dữ liệu trong CSDL hiện có Bao gồm các kỹ thuật: Phân cụm (clustering); Khai phá luật kết hợp (association rules)

1.2.2.1 Phân cụm

Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát (learning by 8 observation), trong khi phân lớp dữ liệu là học bằng ví

dụ (learning by example) Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân lớp trang Web… Ngoài ra phân cụm dữ liệu còn có thể được

sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác

Hình 1.3 cho thấy sự phân cụm tập dữ liệu cho vay vào trong 3 cụm: Lưu ý rằng các cụm chồng lên nhau cho phép các điểm dữ liệu thuộc về nhiều hơn một cụm

Trang 23

Hinh 1.3: Phân cụm tập dữ liệu cho vay thành 3 cụm

1.2.2.2 Khai phá luật kết hợp

Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật KPDL là luật kết hợp tìm được Khai phá luật kết hợp được thực hiện qua 2 bước:

• Bước 1: tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

• Bước 2: sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn

độ hỗ trợ cực tiểu và độ tin cậy cực tiểu

Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing có chủ đích, phân tích quyết định, quản lí kinh doanh, …

1.3 Một số so sánh giữa khai phá dữ liệu và các phương pháp cơ bản khác

Khai phá dữ liệu là một lĩnh vực liên quan tới rất nhiều ngành học khác như: hệ CSDL, thống kê, Hơn nữa, tuỳ vào cách tiếp cận được sử dụng, khai phá dữ liệu còn có thể áp dụng một số kĩ thuật như mạng nơ ron, lý thuyết tập thô hoặc tập mờ, biểu diễn tri thức… Như vậy, có thể hiểu rằng khai phá dữ liệu thực ra là dựa trên các phương pháp cơ bản đã biết Tuy nhiên, sự khác biệt của khai phá dữ liệu so với các phương pháp đó là gì? Tại sao khai phá dữ liệu lại có ưu thế hơn hẳn các phương pháp cũ? Ta sẽ lần lượt xem xét và giải quyết các câu hỏi này

Trang 24

1.3.1 So sánh với phương pháp hệ chuyên gia (Expert Systems)

Theo E Feigenbaum: “Hệ chuyên gia (Expert System) là một chương trình máy tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới giải được”

Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực quyết đoán (decision) và hành động (making abilily) của một chuyên gia (con người) Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo (Artificial Intelligence) như hình dưới đây

Hinh 1.4: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo

Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn đề (bài toán) khác nhau thuộc mọi lĩnh vực Tri thức (knowledge) trong hệ chuyên gia phản ánh sự tinh thông được tích tụ từ sách vở, tạp chí, từ các chuyên gia hay các nhà bác học Các thuật ngữ hệ chuyên gia, hệ thống dựa trên tri thức (knowledge-based system) hay hệ chuyên gia dựa trên tri thức (knowledge-based expert system) thường có cùng nghĩa

Các kỹ thuật thu thập giúp cho việc lấy tri thức từ các chuyên gia con người Mỗi phương pháp hệ chuyên gia là một cách suy diễn các luật từ các ví dụ và giải

Robotic

Vision

Natural Language

Understanding Expert System

Artificial Neural Systems Speech

Artificial Intelligence

Trang 25

pháp đối với bài toán chuyên gia đưa ra Phương pháp hệ chuyên gia khác với khai phá dữ liệu ở chỗ các ví dụ của chuyên gia thường ở mức chất lượng cao hơn nhiều

so với các dữ liệu trong CSDL, và chúng thường chỉ bao hàm được các trường quan trọng Hơn nữa các chuyên gia sẽ xác nhận giá trị và tính hữu ích của các mẫu phát hiện được

1.3.2 So sánh với phương pháp thống kê (Statistics)

Mặc dù các phương pháp thống kê cung cấp một nền tảng lý thuyết vững chắc cho các bài toán phân tích dữ liệu nhưng chỉ có tiếp cận thống kê thuần tuý thôi chưa đủ bởi:

● Các phương pháp thống kê không phù hợp với các kiểu dữ liệu có cấu trúc trong rất nhiều các cơ sở dữ liệu

● Thống kê hoàn toàn tính toán trên dữ liệu, nó không sử dụng tri thức sẵn có

về lĩnh vực quan tâm

● Các kết quả của phân tích thống kê có thể rất nhiều và khó có thể làm rõ được

● Các phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu

Phương pháp thống kê là một trong những nền tảng lí thuyết của khai phá dữ liệu Sự khác nhau cơ bản giữa khai phá dữ liệu và thống kê ở chỗ khai phá dữ liệu

là một phương tiện được dùng bởi người sử dụng đầu cuối chứ không phải là các nhà thống kê Khai phá dữ liệu đã khắc phục được các yếu điểm trên của thống kê,

tự động quá trình thống kê một cách hiệu quả vì thế giảm bớt công việc của người dùng đầu cuối, tạo ra một công cụ dễ sử dụng hơn

1.3.3 So sánh với phương pháp học máy (Machine Learning)

Trong vài năm trở lại đấy lĩnh vực trí tuệ nhân tạo nói chung và học máy nói riêng phát triển cực kỳ mạnh vì khả năng ứng dụng của nó Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể Ngày nay học máy được ứng dụng rộng rãi trên nhiều lĩnh vực và đem lại thành công lớn Một số lĩnh vực áp dụng học máy thành công như: Xử lý ngôn ngữ tự nhiên, Hệ thống gợi ý, Xử lý dữ liệu lớn, lĩnh vực robot, xe tự lái.v.v

Trang 26

So với phương pháp học máy, khai phá dữ liệu có lợi thế hơn ở chỗ, khai phá

dữ liệu có thể sử dụng với các cơ sở dữ liệu thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so với các tập dữ liệu học máy điển hình Trong khi đó phương pháp học máy chủ yếu được áp dụng trong các CSDL đầy đủ, ít biến động và tập dữ liệu không quá lớn

Thật vậy, trong học máy, thuật ngữ cơ sở dữ liệu chủ yếu đề cập tới một tập các mẫu được lưu trong tệp Các mẫu thường là các vectơ với độ dài cố định, thông tin về đặc điểm, dãy các giá trị của chúng đôi khi cũng được lưu lại như trong từ điển dữ liệu Một giải thuật học sử dụng tập dữ liệu và các thông tin kèm theo tập

dữ liệu đó làm đầu vào và đầu ra biểu thị kết quả của việc học Học máy có khả năng áp dụng cho cơ sở dữ liệu, lúc này, học máy sẽ không phải là học trên tập các mẫu nữa mà học trên tập các bản ghi của cơ sở dữ liệu Tuy nhiên, trong thực tế, cơ

sở dữ liệu thường động, không đầy đủ và bị nhiễu, lớn hơn nhiều so với các tập dữ liệu học máy điển hình Các yếu tố này làm cho hầu hết các giải thuật học máy trở nên không hiệu quả Khai phá dữ liệu lúc này sẽ xử lý các vấn đề vốn đã điển hình trong học máy và vượt quá khả năng của học máy, đó là sử dụng được các CSDL chứa nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục

1.3.4 So sánh với phương pháp học sâu (Deep Learning)

Deep learning – Học sâu: là một chi của ngành máy học dựa trên một tập

hợp các thuật toán để cố gắng để mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến đổi phi tuyến

Deep learning là một phần của một họ các phương pháp học máy rộng hơn dựa trên đại diện học của dữ liệu Một quan sát (ví dụ như, một hình ảnh) có thể được biểu diễn bằng nhiều cách như một vector của các giá trị cường độ cho mỗi điểm ảnh, hoặc một cách trừu tượng hơn như là một tập hợp các cạnh, các khu vực hình dạng cụ thể, … Một vài đại diện làm khiến việc học các nhiệm vụ dễ dàng hơn (ví dụ, nhận dạng khuôn mặt hoặc biểu hiện cảm xúc trên khuân mặt) từ các ví dụ Một trong những hứa hẹn của học sâu là thay thế các tính năng thủ công bằng các

Trang 27

thuật toán hiệu quả đối với học không có giám sát hoặc nửa giám sát và tính năng phân cấp

Hinh 1.5: Học sau nhận dạng khuôn mặt hoặc biểu hiện cảm xúc trên khuân mặt

Các nghiên cứu trong lĩnh vực này cố gắng thực hiện các đại diện tốt hơn và tạo ra các mô hình để tìm hiểu các đại diện này từ dữ liệu quy không dán nhãn mô lớn Một số đại diện được lấy cảm hứng bởi những tiến bộ trong khoa học thần kinh

và được dựa trên các giải thích của mô hình xử lý và truyền thông thông tin trong một hệ thống thần kinh, chẳng hạn như mã hóa thần kinh để cố gắng để xác định các mối quan hệ giữa các kích thích khác nhau và các phản ứng liên quan đến thần kinh trong não

Nhiều kiến trúc Deep learning khác nhau như mạng nơ-ron sâu, mã mạng nơ-ron tích chập sâu, mạng niềm tin sâu và mạng nơron tái phát đã được áp dụng cho các lĩnh vực như thị giác máy tính, tự động nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh ngôn ngữ và tin sinh học, chúng đã được chứng minh là tạo ra các kết quả rất tốt đối với nhiều nhiệm vụ khác nhau

Khái niệm chính trong thuật toán nghiêng sâu là tự động hóa việc khai thác các biểu diễn (trừu tượng) từ dữ liệu Thuật toán học tập sâu sử dụng một lượng lớn

dữ liệu không giám sát để tự động trích xuất biểu diễn phức tạp Những thuật toán này chủ yếu được thúc đẩy bởi lĩnh vực trí thông minh nhân tạo, có mục tiêu chung

là mô phỏng khả năng của con người để quan sát, phân tích, học hỏi và đưa ra quyết định, đặc biệt cho các vấn đề cực kỳ phức tạp Công việc liên quan đến những thách

Trang 28

thức phức tạp này là động lực chính đằng sau các thuật toán Deep Learning cố gắng

mô phỏng cách tiếp cận học tập phân cấp của bộ não con người

Các mô hình dựa trên kiến trúc học tập nông như câyquyết định, máy hỗ trợ vector và lý do dựa trên trường hợp có thể bị thiếu khi cố gắng trích xuất thông tin hữu ích từ cấu trúc và mối quan hệ phức tạp trong kho dữ liệu đầu vào Ngược lại, kiến trúc

Deep Learning có khả năng khái quát hóa theo những cách phi địa phương và toàn cầu, tạo ra các mô hình học tập và các mối quan hệ vượt ra ngoài hàng xóm ngay lập tức trong dữ liệu Học sâu là một bước quan trọng hướng tới trí thông minh nhân tạo Nó không chỉ cung cấp các biểu diễn dữ liệu phức tạp phù hợp với các nhiệm vụ AI mà còn làm cho các máy tính độc lập với kiến thức của con người là mục tiêu cuối cùng của AI Nó trích xuất các biểu diễn trực tiếp từ dữ liệu không giám sát mà không có sự can thiệp của con người

Một khái niệm chính nằm sâu trong các phương thức Deep Learning là phân phối các biểu diễn dữ liệu, trong đó một số lượng lớn các cấu hình có thể có của các tính năng trừu tượng của dữ liệu đầu vào là khả thi, cho phép trình bày nhỏ gọn của từng mẫu và dẫn đến tổng quát hơn Số lượng cấu hình có thể có liên quan theo cấp

số nhân với số lượng các tính năng trừu tượng được trích xuất Lưu ý rằng dữ liệu quan sát được tạo ra thông qua tương tác của một số yếu tố đã biết / chưa biết, và do

đó khi một mẫu dữ liệu thu được thông qua một số cấu hình của các yếu tố đã học, các mẫu dữ liệu bổ sung (không nhìn thấy) có thể được mô tả

So với việc học dựa trên các khái quát hóa cục bộ, số lượng các mẫu có thể thu được bằng cách sử dụng một biểu diễn phân bố nhanh chóng với số lượng các yếu tố đã học Các thuật toán học tập sâu dẫn đến các biểu diễn trừu tượng bởi vì các biểu diễn trừu tượng hơn thường được xây dựng dựa trên các phép trừu tượng ít hơn Một lợi thế quan trọng của các biểu diễn trừu tượng hơn là chúng có thể bất biến với các thay đổi cục bộ trong dữ liệu đầu vào

Học các tính năng bất biến như vậy là một mục tiêu chính đang diễn ra trong việc nhận dạng mẫu (ví dụ các tính năng học tập không thể biến đổi theo hướng khuôn mặt trong một nhiệm vụ nhận diện khuôn mặt) Ngoài việc biểu diễn bất biến

Trang 29

như vậy cũng có thể tháo gỡ các yếu tố của biến thể trong dữ liệu Dữ liệu thực được sử dụng trong các nhiệm vụ liên quan đến AI chủ yếu phát sinh từ các tương tác phức tạp của nhiều nguồn Ví dụ: hình ảnh bao gồm các nguồn biến thể khác nhau như ánh sáng, hình dạng đối tượng và vật liệu đối tượng Các biểu diễn trừu tượng được cung cấp bởi các thuật toán học tập sâu có thể tách các nguồn khác nhau của các biến thể trong dữ liệu

Thuật toán học sâu là kiến trúc sâu của các lớp liên tiếp Mỗi lớp áp dụng một phép biến đổi phi tuyến trên đầu vào của nó và cung cấp một biểu diễn trong đầu ra của nó Mục đích là để tìm hiểu một biểu diễn phức tạp và trừu tượng của dữ liệu theo cách phân cấp bằng cách truyền dữ liệu qua nhiều lớp chuyển đổi Dữ liệu cảm giác (ví dụ: pixel trong một hình ảnh) được nạp vào lớp đầu tiên Do đó, đầu ra của mỗi lớp được cung cấp làm đầu vào cho lớp tiếp theo của nó

1.4 Tổng kết chương

Chương này đã tổng hợp và trình bày một số kiến thức lý thuyết cơ bản về khai phá dữ liệu và một số kỹ thuật khai phái dữ liệu cơ bản Một số kỹ thuật khai phá dữ liệu sử dụng phương pháp phân lớp, phân cụm cũng được giới thiệu và trình bày trong chương này Ngoài ra, những phân tích, so sánh giữa khai phá dữ liệu và các phương pháp cơ bản khác cũng được nêu ra ở chương này

Trang 30

CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP VÀ KỸ THUẬT PHÂN LỚP DỮ LIỆU

2.1 Tổng quan về phân lớp dữ liệu

Phân lớp là một trong những mối quan tâm nhiều nhất của con người trong quá trình làm việc với một tập hợp đối tượng Điều này giúp con người có thể tiến hành việc sắp xếp, tìm kiếm các đối tượng một cách thuật lợi Khi biểu diễn đối tượng vào các cơ sở dữ liễu, tính chất lớp vốn có của đối tượng trong thực tế thường đước biểu diễn tương ứng bằng một thuộc tính “Lớp” riêng biệt Chẳng hạn, trong hệ thống thông tin quản lý tư liệu của thư viện, thuộc tính về loại tư liệu có miềm giá trị là tập tên chuyên ngành của tư liệu, gồm các giá trị như “Tin học”, “Vật lý”, Trước đây các công việc gán các giá trị của thuộc tính lớp thường được làm một cách thủ công, Nhưng hiện nay, với sự bùng nổ của thông tin và các loại dữ liệu, việc đánh giá, thuộc tính lớp một cách thủ công là rất khó khăn, có thế nói là không thể Do vậy các phương pháp phân lớp tự động là rất cần thiết và là một trong những chủ đề chính trong khai phá dữ liệu

Các cơ sở dữ liệu thường chứa rất nhiều các thông tin ẩn -các thông tin có thể

sử dụng phục vụ quá trình phân lớp Các giải thuật phân lớp thường phân tích dữ liệu nhằm tìm ra các mô hình mô tả các lớp dữ liệu, từ đó có thể quyết định được một phần tử dữ liệu mới là thuộc vào lớp nào

Việc tìm ra lớp của một phần tử dữ liệu mới trong nhiều trường hợp có ý nghĩa rất quan trọng, nó hỗ trợ quá trình ra quyết định thông minh thậm chí là những quyết định mang tính sống còn Ví dụ, trong ngân hàng, một nhân viên cho vay vốn rất muốn có một hệ thống có khả năng tự học từ các dữ liệu lịch sử để có thể quyết định được một đơn vay vốn mới của khách hàng thuộc lớp “an toàn” hay “mạo hiểm”, trên cơ sở đó sẽ có các quyết định phù hợp Mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai là mưa, hay nắng dựa vào những thông số về

độ ẩm, sức gió, nhiệt độ, … của ngày hôm nay và các ngày trước đó

Trang 31

Hay là một bác sỹ sẽ rất muốn có một hệ thống phân tích dữ liệu điều trị lịch

sử để dự đoán xem một bệnh nhân mới với những triệu chứng thu được sẽ thuộc bệnh nào, trên cơ sở đó sẽ có các phác đồ điều trị tương ứng Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứ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ĩnh vực khác

nhau như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiể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

Bản chất của bài toán phân lớp là dự đoán các nhãn (hay lớp) của các phần tử

dữ liệu đầu vào và các nhãn (hay lớp) này là các giá trị rời rạc Thông thường, các giải thuật phân lớp thường hoạt động thông qua hai bước như sau:

• Bước thứ nhất (learning step)

Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các khái niệm định trước Đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc

tính đó Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple), có thể là các mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trường hợp (case) Khoá luận sử dụng các thuật ngữ này với nghĩa tương đương 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 định trướ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ớp hay thuộc tính phân lớp (class label attribute) Đầu ra của bước này thường là các quy tắc phân lớp

dưới dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron

Quá trình này được mô tả như trong hình 2.1

Trang 32

Hình 2.1: Quá trình phân lớp dữ liệu - (a) Bước xây dựng mô hình phân lớp

• Bước thứ hai (classification step)

Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu mới Trước tiên độ chính xác mang tính chất dự đoá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ác mẫ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ăm cá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ệt củ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ân lớ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

Trang 33

Hình 2.2 : Quá trình phân lớp dữ liệu - (b1) Ước lượng độ chính xác của mô hình

Hình 2.3: Quá trình phân lớp dữ liệu - (b2) Phân lớp dữ liệu mới

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới sự thành công của mô hình phân lớp Do vậy chìa khóa của vấn đề phân lớp

dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác cao

và có khả năng mở rộng được Trong đó khả năng mở rộng được của thuật toán được đặc biệt trú trọng và phát triển Có thể liệt kê ra đây các kỹ thuật phân lớp đã được sử dụng trong những năm qua

2.2 Phân lớp dữ liệu bằng cây quyết định

J Ros Quinlan là người phát triển giải thuật cây quyết định có tên là ID3 (viết tắt từ cụm từ “Iterative Dechotomiser”), sau đó cũng chính tác giả này đề xuất giải thuật phân lớp C4.5 (một hậu duệ của thuật toán ID3) Giải thuật C4.5 này đã được dùng làm chuẩn (benchmark) để các thuật toán mới so sánh Cũng trong

Trang 34

khoảng thời gian này thì một nhóm các nhà thống kê gồm L Breiman, J Friedman,

R Olshen và C Stone đã xuất bản cuốn sách “Classfication and Regression Tree (CART)” mô tả phương pháp tạo cây quyết định nhị phân Giải thuật ID3 và CART

đã trở thành các hòn đá tảng và nó mở đầu cho hàng loạt các giải thuật dựa trên học quy nạp cây quyết định (decision tree induction) Giải thuật học dựa trên cây quyết định hoạt động trên tập dữ liệu được biểu diễn bằng cách giá trị rời rạc, trong trường hợp dữ liệu được biểu diễn bằng các thuộc tính có giá trị liên tục thì cần thực hiện bước rời rạc hóa Các giải thuật ID3, CART và C4.5 đều áp dụng cách tiếp cận

ăn tham (greedy) (một thuật toán không quay lui (non-backtracking)) để xây dựng cây theo hướng từ trên xuống Tập dữ liệu huấn luyện sẽ được chia thành các tập nhỏ hơn trong quá trình xây dựng cây theo cơ chế chia để trị (devide-and-conquer) Dười đây mô tả thuật toán xây dựng cây cơ bản chung của các giải thuật này

Hình 2.4:Phân lớp cho bài toán cho vay vốn của ngân hàng

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

Đầu vào: Tập D chứa dữ liệu huấn luyện

attribute_list chứa danh sách các thuộc tính ứng cử

Đữ liệu kiểm thử

Đánh giá

Tập luật phân lớp

Đánh giá

Dữ liệp mới

Nhãn lớp a)

b)

Trang 35

Đầu ra: Cây quyết định

Generate_decision_tree (D, attribute_list)

1 Tạo một nút gốc N cho cây quyết định

2 If toàn bộ dữ liệu trong D đều thuộc lớp C, return nút N là nút lá có nhãn C

3 If attribute_list là rỗng, return nút N với nhãn là lớp xuất hiện nhiều nhất

trong D

4 splitting_attribute = attribute_selection_method (D, attribute_list) tìm thuộc

tính phân chia tốt nhất

5 Gán cho nút N nhãn là splitting_attribute

6 attribute_list attribute_list \ {splitting_attribute}

(loại bỏ thuộc tính splitting_attribute khỏi attribute_list)

7 For each giá trị j của thuộc tính splitting_attribute

7.1 Gọi 𝐷𝑗 là tập chứa các phần tử dữ liệu mà thuộc tính splitting_attribute có giá

trị j

7.2 If 𝐷𝑗 là rỗng thì thêm một nút lá 𝑁𝑗 cho nút N có nhãn là nhãn phổ biến nhất

xuất hiện trong D

7.3 Else gắn cây trả về bởi Generate_decision_tree

(𝐷𝑗, attribute_list) vào nút N

8 return N

Hình 2.5:Thuật toán xây dựng cây quyết định

Trong đó, attribute_list là tập các thuộc tính mô tả tập dữ liệu huấn luyện D; attribute_selection_method là hàm lựa chọn thuộc tính tốt nhất để phân chia dữ liệu,

bản chất nó là giải thuật dựa trên kinh nghiệm (heuristic) để tìm ra thuộc tính nào có

khả năng phân biết được ccs phần tử dữ liệu trong tập D vào các lớp nhất Nó dựa

trên một độ đo nào đó chẳng hạn độ lời thông tin (information gain), hay độ đo chỉ

số gini (Gini index) để tìm ra thuộc tính tốt nhất

Giải thuật bắt đầu bằng thao tác tạo ra một nút N mô tả tập dữ liệu D (bước 1) Nếu toàn bộ dữ liệu trong D cùng có chung một nhãn lớp thì N sẽ là một nút lá có

nhãn là nhãn chung của các phần tử dữ liệu, và thuật toán dừng Nếu không thì nó

Trang 36

sẽ gọi hàm attribute_selection_method () để tìm ra thuộc tính tốt nhất dùng để phân

chia tập dữ liệu D thành các phần 𝐷𝑗, và nút N sẽ được gán nhãn là thuộc tính tìm

được Giải thuật đệ quy với các tập con dữ liệu 𝐷𝑗 Hình 2.4 minh họa cây quyết định được tạo ra bởi giải thuật trên tập dữ liệu bán hàng (trong bảng 2.1) để tìm ra những loại khách hàng nào có khả năng máy tính (buys_computer) (yes là có mua

và no là không mua) Độ phức tạp của thuật toán là (O nDlog(D)),trong đón

số thuộc tính mô tả tập dữ liệu ,D D là số lượng các phần tử trong D

Bảng 2.1: Bảng dữ liệu khách hàng

tin dụng

Mua máy tính

Trong trường hợp giá trị của một thuộc tính nòa đó không phải là giá trị rời rạc (chẳng hạn như thuộc tính tuổi), khi đó một phương pháp rời rạc hóa đã được áp

Trang 37

dụng (xem bảng 2.1.) Cụ thể nó đã được chia thành 3 loại tuổi rời rạc: trẻ (youth), trung niên (middle_age) và già (senior)

Điểm mấu chốt trong giải thuật xây dựng cây quyết định ở trên là hàm lựa chọn thuộc tính tốt nhất để phân chia dữ liệu Phần tiếp theo sẽ trình bày một số độ

đo dùng để đánh giá “chất lương” của các thuộc tính

Hình 2.6: Minh họa cây quyết định

Trong cây quyết định:

• Nút gốc: là node trên cùng của cây

• Node trong: biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)

• Nhánh: biểu diễn các kết quả của kiểm tra trên node trong (mũi tên)

• Node lá: biểu diễn lớp hay sự phân phối lớp (hình tròn)

Để phân lớp mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu được đưa vào kiểm tra trên cây quyết định Mỗi mẫu tương ứng có một đường đi từ gốc đến lá

và lá biểu diễn dự đoán giá trị phân lớp mẫu đó

2.2.1 Độ lợi thông tin

Độ lợi thông tin (information gain) là độ đo đước sử dụng trong giải thuật ID3 Đầu tiên là công thức đo lượng thông tin kỳ vọng để phân lớp một phần tử trong tập

dữ liệu D đước đo bằng công thức sau:

yes yes

no

Trang 38

2 1

Trong đó p i là xác suất một phần tử dữ liệu trong D thuộc vào lớp C i và nó

được ước lượng bằng công thức i

i

p D

D

= , với

i

D là tập các phần tử dữ liệu trong D

thuộc vào lớp C i ; m là số lượng các lớp trong D Hàm logarit cơ số 2 được sử dụng

là do công thức trên đo lượng thông tin theo đơn vị bit (theo lý thuyết thông tin của

C Shannon) Hàm info(D) còn được gọi là entropy của D

Bây giờ giả sử ta phân chia dữ liệu trong D theo thuộc A nào đó, và giả sử thuộc tính này có v giá trị (rời rạc) khác nhau là {a 1, a 2 , , a v} Thuộc tính này chia

tập dữ liệu D thành v tập con {D 1, D 2 , , D v } trong đó D j là tập phần tử dữ liệu có

giá trị của thuộc tính A là a i Tập con này sẽ tương ứng với một nhánh cây được

phát triển từ nút N trong giải thuật tạo cây quyết định Trường hợp lý tưởng thì ta

muốn tập con này sẽ có khả năng phân lớp chính xác các phần tử trong nó, hay nói một cách khác ta muốn tập con này càng đồng nhất (pure) càng tốt, đồng nhất ở đây

có thể hiểu là các phần tử trong trong tập con này đều cùng thuộc về một lớp Tuy nhiên trong thực tế thì các tập này thường không đồng nhất (impure) vì nó chứa các phần tử dữ liệu thuộc về cac lớp khác nhau, do đó chúng ta cần thêm thông tin để phân lớp chính xác tập con này Lượng thông tin này được đo bởi:

1

v j

j

D info D info D

D

=

=  (2.2)

Trong đó D j

D được dùng làm trọng số của tập con D J Giá trị của info A (D) là

lượng thông tin kỳ vọng để phân lớp một phần tử dữ liệu trong D dựa trên việc chia

dữ liệu bằng thuộc tính A Giá trị này càng nhỏ thì độ đồng nhất của các tập con càng cao Cuối cúng hàm đo độ lợi thông tin được tính bằng công thực:

Gain A( ) =info D( ) −info A(D) (2.3)

Trang 39

Giá trị Gain(A) cho chúng ta biết ta được lợi bao nhiều nếu chia dữ liệu theo thuộc tính A Giá trị này càng lớn thì càng tốt, do đó thuộc tính nào có giá trị Gian () lớn nhất sẽ được chọn để phân nhánh trong quá trình xây dựng cây quyết định

Để minh họa cho độ đo này ta tính toán một thuộc tính trên tập dữ liệu ở bảng 2.1 Trong bảng này trường cuối cùng là nhãn của dữ liệu (Mua máy tính), nó có 2 giá trị, do đó số lớp ở đây là 2 Có 9 phần tử dữ liệu có nhãn là yes và 5 phần tử dữ liệu có nhãn là no, do đó theo công thức (1.2) ta có:

Gain age =info Dinfo D = − = bits

Tường tự ta có thể tính được giá trị độ lợi thông tin cho các thuộc tính thu nhập (income), sinnh viên (student) và đành giá tín dụng (credit_rating) Gain(income)= 0.092 bits, Gain (student)= 0.151 bits và Gain (credit rating) = 0.048 bits Từ kết quả này, chúng ta thấy thuộc tính tuổi sẽ được chọn để phan chia dữ liệu Lặp lại quá trình xây dựng cây tương ứng với các tập con dữ liệu (đã bỏ đi thuộc tính tuổi) ta sẽ thu được cây quyết định như hình (2.6)

Trang 40

Hình 2.7: Thuộc tính tuổi có thông tin thu được cao nhất

2.2.2 Tỉ số độ lợi

Độ đo độ lợi thông tin hoạt động không tốt trong trường hợp một thuộc tính

có nhiều giá trị Vì dụ, thuộc tính mã sản phẩm (product_ID), hay mã giao dịch sẽ

có rất nhiều giá trị Đặc biệt nữa, khi chia dữ liệu theo thuộc tính này thì mỗi một tập con dữ liệu sẽ chỉ có tương ứng một bản ghi, do đó các tập con này là hoàn toàn đồng nhất Hay nói một cách khác, lượng thông tin cần để phân lớp tập dữ liệu D dưa trên cách phân chia dữ liệu trên thuộc tính này InfoProduct_ID(D)= 0 Và giá trị độ lợi thông tin sẽ đạt giá tri tối đa:

Gian (Product_ID) = Info(D)- Info Product_ID (D)=Info(D)

Nhưng rõ ràng việc phân lớp dựa trên thuộc tính này là vô nghĩa

Do đó, trong giải thuật C4.5 (hậu duệ của giải thuật ID3) tác giả đã đề xuất

sử dụng một độ đo mới gọi là tỉ số độ lợi (gain ratio) để cố tránh nhược điểm trên Hàm này sử dụng một phương pháp chuẩn hóa độ lợi thông tin bằng cách sử dụng giá trị phân chia thông tin (split information) được định nghĩa tương tự như hàm

Info(D) như sau:

2 1

Ngày đăng: 19/06/2021, 10:19

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm