Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức, khả ích và có thể
Trang 1SENGTHONG XAYAVONG
PHÂN LỚP DỮ LIỆU HOA IRIS SỬ DỤNG THUẬT TOÁN
NAIVE BAYES, RANDOMFOREST VÀ KNN
(K - NEAREST NEIGHBORS)
LU ẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
Thái Nguyên – 2020
Trang 2SENGTHONG XAYAVONG
PHÂN LỚP DỮ LIỆU HOA IRIS SỬ DỤNG THUẬT TOÁN
NAIVE BAYES, RANDOMFOREST VÀ KNN
(K - NEAREST NEIGHBORS)
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 3Họ và tên học viên: Sengthong Xayavong
Lớp cao học: CK17A Trường Đại học Công nghệ thông tin và Truyền thông – Đại
học Thái Nguyên
Chuyên ngành: Khoa học máy tính
Tên đề tài luận văn: PHÂN LỚP DỮ LIỆU HOA IRIS SỬ DỤNG THUẬT TOÁN NAIVE BAYES, RANDOMFOREST VÀ KNN (K - NEAREST NEIGHBORS)
Học viên xin cam đoan đây là công trình nghiên cứu của bản than học viện Các kết quả nghiên cứu và các kết luận trong luận văn là trung thực, không sao chép
từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào Trong quá trình làm học viên
có tham khảo các tài liệu liên quan nhằm khẳng định thêm sự tin cậy và cấp thiết của
đề tài Việc tham khảo các nguồn tài liệu đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng quy định
Thái Nguyên, ngày 08 tháng 10 năm 2020
Tác giả luận văn
Sengthong xayavong
Trang 4Tôi xin gửi lời cảm ơn sâu sắc tới TS Nguyễn Văn Núi, Trường Đại học Công nghệ Thông tin và Truyền thông, người thầy đã dành nhiều thời gian tận tình chỉ bảo, hướng dẫn, giúp đỡ tôi trong suốt quá trình tìm hiểu, nghiên cứu Thầy là người định hướng và đưa ra nhiều góp ý quý báu trong quá trình tôi thực hiện luận văn
Tôi xin chân thành cảm ơn các thầy, cô ở khoa Công nghệ thông tin – trường
Đại học Công nghệ Thông tin và Truyền thông đã cung cấp cho tôi những kiến thức
và tạo cho tôi những điều kiện thuận lợi trong suốt quá trình tôi học tập tại trường
Tôi cũng bày tỏ lòng biết ơn về sự giúp đỡ của lãnh đạo cơ quan, đồng nghiệp
đã cung cấp dữ liệu, tài liệu và cho tôi những lời khuyên quý báu Tôi xin cảm ơn gia đình, người thân, bạn bè và các thành viên trong nhóm nghiên cứu luôn động viên và
tạo mọi điều kiện tốt nhất cho tôi
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày 08 tháng 10 năm 2020
Tác giả luận văn
Sengthong Xayavong
Trang 5LỜI CAM ĐOAN I LỜI CẢM ƠN II DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT VI DANH MỤC CÁC BẢNG VII DANH MỤC HÌNH VIII
MỞ ĐẦU 1
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 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu 3
1.1.2 Quá trình khám phá tri thức 3
1.1.3 Khai phá dữ liệu 5
1.1.4 Quá trình của khai phá dữ liệu 6
1.1.5 Ứng dụng của khai phá dữ liệu 7
1.2 Một số kỹ thuật khai phá dữ liệu cơ bản 7
1.2.1 Lu ật kết hợp (Association Rules) 7
1.2.2 Khai thác mẫu tuần tự (Sequential / Temporal patterns) 7
1.2.3 Phân cụm dữ liệu (Clustering) 8
1.2.4 Phân nhóm- đoạn (Clustering / Segmentation) 8
1.2.5 Hồi quy (Regression) 9
1.2.6 Tổng hợp hóa (Summarization) 9
1.2.7 Mô hình hóa sự phụ thuộc (dependency modeling) 9
1.2.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection) 10
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 10 1.3.1 So sánh với phương pháp hệ chuyên gia 10
1.3.2 So sánh với phương pháp phân loại thống kê 11
1.3.3 So sánh với phương pháp học máy 12
1.3.4 So sánh với phương pháp học sâu 14
Chương 2: Một số kỹ thuật phân lớp dữ liệu 16
2.1 Tổng quan về phân lớp dữ liệu 16
2.2 Phân lớp dữ liệu Naive Bayes 19
Trang 62.2.3 Đặc điểm của thuật tốn Nạve Bayes 22
2.2.4 Ứng dụng của thuật tốn Nạve Bayes 23
2.3 Phân lớp dữ liệu RandomForest 24
2.3.1 Định nghĩa thuật tốn Ramdomforest 24
2.3.2 Đặc điểm của Random Forest 27
2.3.3 Mơ hình phân lớp với Random Forest 29
2.3.4 Ứng dụng thuật tốn Ramdom Forest 29
2.4 Phân lớp dữ liệu KNN (K-nearest neighbor) 29
2.4.1 Định nghĩa thuât tốn KNN 29
2.4.2 Mơ tả thuật tốn K-NN 31
2.4.3 Đặc điểm của thuật tốn KNN 33
2.4.4 Ứng dụng thuật tốn K-NN 33
2.5 Một số thuật tốn phân lớp dữ liệu khác 34
2.5.1 Cây quyết định ứng dụng trong phân lớp dữ liệu 34
2.5.2 Phân lớp với máy vector hỗ trợ (SVM) 34
Chương 3: Ứng dụng phân lớp dữ liệu hoa Iris 35
3.1 Giới thiệu về hoa Iris và bài tốn phân lớp hoa Iris 35
3.1.1 Giới thiệu về tập dữ liệu hoa Iris 35
3.1.2 Sử dụng tập dữ liệu 36
3.1.3 Tập dữ liệu 36
3.1.4 Định nghĩa bài tốn phân lớp hoa Iris 41
3.2 Thu thập và tiền xử lý dữ liệu 41
3.2.1 Làm sạch dữ liệu 42
3.2.2 Chọn lọc dữ liệu 42
3.2.3 Chuyển đổi dữ liệu 43
3.2.4 Rút gọn dữ liệu 43
3.3 Giới thiệu về cơng cụ Weka, cấu hình và ứng dụng phân lớp hoa Iris 43
3.3.1 Khái niệm 43
3.3.2 Ưu điểm của Weka 44
3.3.3 Những tính năng vượt trội của Weka 45
Trang 73.3.5Các môi trường chức năng chính của Weka 46
3.3.6 Định dạng dữ liệu của weka 48
3.4 Áp dụng các thuật toán Naive Bayes, RandomForest và KNN trong phân lớp dự đoán hoa Iris 49
3.4.1 Áp dụng thuật toán Naive Bayes trong phân lớp dự đoán hoa Iris 50
3.4.2 Áp dụng thuật toán RandomForest trong phân lớp dự đoán hoa Iris 53
3.4.3 Áp dụng thuật toán KNN trong phân lớp dự đoán hoa Iris 56
3.5 Đánh giá mô hình phân lớp dữ liệu Hoa IRIS 59
3.5.1 Đánh giá hiệu năng mô hình sử dụng phương pháp đánh giá chéo (k-fold cross-validation) 59
3.5.2 Đánh giá mô hình sử dụng phương pháp Hold-out 59
3.5.3 Kết luận thực nghiệm phân lớp dữ liệu IRIS 60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
TÀI LIỆU THAM KHẢO 62
Trang 86 SVM Support Vector Machines
7 NBC Naive Bayes Classification
Trang 9B ảng 1:Thông tin loài Setosa 36
Bảng 2:Thông tin loài Iris-Versicolor 38
Bảng 3: thông tin Loài Iris-Virginica 39
Bảng 4: tổng kết thống kê Giá trị của hoa Iris 42
B ảng 5: ý nghĩa các môi trường chính trên Weka 3.8.4 46
B ảng 6: ý nghĩa các môi trường Explorer trên Weka 3.8.4 48
Bảng 7: Tổng hợp đánh giá các thật toán chia tập dữ liệu thành 10 phần (chọn fold=10) 59
B ảng 8: Tổng hợp kết quả đánh giá hiệu năng phân lớp, dự đoán của mô hình b ằng phương pháp kiểm thử độc lập 60
Trang 10DANH MỤC HÌNH
Hình 1 1:Quá trình khám phá tri thức 5
Hình 1 2:Quá trình khai phá dữ liệu 6
Hình 1 3: Lược đồ hệ chuyên gia 11
Hình 2 1: Bài toán phân lớp 16
Hình 2 2: Quá trình phân lớp dữ liệu - (a) Bước xây dựng mô hình phân lớp 18
Hình 2 3: Quá trình phân lớp dữ liệu - (b1) Ước lượng độ chính xác của mô hình 19 Hình 2 4:Quá trình phân lớp dữ liệu - (b2) Phân lớp dữ liệu mới 19
Hình 2 5:Mô hình rừng ngẫu nhiên 25
Hình 2 6:Các bước phân lớp với Random Forest 27
Hình 2 7:Mô hình phân lớp với Random Forest 29
Hình 2 8: Bản dổ của KNN nhiễu k =1 31
Hình 2 9: Minh họa của KNN 32
Hình 3 1: Minh họa về iris flower dataset 35
Hình 3 2: Loài chim Mecca được chọn là biểu tượng của ứng dụng Weka 43
Hình 3 3: môi trường chính của Weka 46
Hình 3 4 : Sơ đồ tổng thể Mô hình phân lớp dự đoán hoa Iris trong luận văn 50
Hình 3 5:Cấu hình tham số cho thuật toán Naive Bayes 51
Hình 3 6: Kết quả phân lớp dữ liệu cho thuật toán Naive Bayes Tập luyện tập 66% (Tập kiểm chứng 34%) 52
Hình 3 7:Kết quả phân lớp dữ liệu cho thuật toán Naive Bayes chia tập dữ liệu thành 10 phần (chọn fold=10) 53
Hình 3 8:Cấu hình tham số cho thuật toán Ramdomforest 54
Hình 3 9: Kết quả phân lớp dữ liệu cho thuật toán Ramdomforest Tập luyện tập 66% (Tập kiểm chứng 34%) 55
Hình 3 10:Kết quả phân lớp dữ liệu cho thuật toán Ramdomforest chia tập dữ liệu thành 10 phần (chọn fold=10) 56
Hình 3 11:Cấu hình tham số cho thuật toán k-Nearest Neighbors 57
Trang 11kiểm chứng 34%) 58 Hình 3 13:Kết quả phân lớp dữ liệu cho thuật toán k-Nearest Neighbors chia tập dữ liệu thành 10 phần (chọn fold=10) 58
Trang 12MỞ ĐẦU
Sự phát triển của công nghệ thông tin 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 đã và đ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), 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 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 hai kỹ thuật thường dùng trong Khai phá dữ liệu, đó là Phân lớp (Classification)
Trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ Các tập
dữ liệu được tích lũy có kích thước ngày càng lớn, và có thể chứa nhiều thông tin ẩn
dạng những quy luật chưa được khám phá Chính vì vậy, một nhu cầu đặt ra là cần tìm cách trích rút từ tập dữ liệu đó các luật về phân lớp dữ liệu hay dự đoán những xu hướng
dữ liệu tương lai Những quy tắc nghiệp vụ thông minh được tạo ra sẽ phục vụ đắc lực cho các hoạt động thực tiễn, cũng như phục vụ đắc lực cho quá trình nghiên cứu khoa học Công nghệ phân lớp và dự đoán dữ liệu ra đời để đáp ứng mong muốn đó
Trang 13Cơng nghệ phân lớp dữ liệu đã, đang và sẽ phát triển mạnh mẽ trước những khao khát tri thức của con người 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
dụng trong nhiều lĩnh vực thực tế 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
Nhiều kỹ thuật phân lớp đã được đề xuất như: Phân lớp : phân lớp dữ liệu hoa iris, phân
lớp Bayesian (Bayesian classifier), phân lớp Khàng xĩm gần nhất (K-nearest neighbor classifier), mạng nơron, phân tích thống kê,…Trong các kỹ thuật đĩ, cây quyết định được coi là cơng cụ mạnh, phổ biến và đặc biệt thích hợp cho data mining Trong các mơ hình phân lớp, thuật tốn phân lớp là nhân tố chủ đạo Do vậy cần xây dựng những thuật tốn
cĩ độ chính xác cao, thực thi nhanh, đi kèm với khả năng mở rộng được để cĩ thể thao tác
với những tập dữ liệu ngày càng lớn
Bố cục của luận văn cĩ nội dụng chính 3 chương :
Chương 1: Tổng quan về khai phá dữ liệu và phát hiện tri thức trong chương
này nghiên cứu tổng quan về khái phá dữ liệu và phát hiện tri thức Bên cạnh đĩ, một
số kĩ thuật khái phá dữ liệu cơ bản cũng được trình bày trong chương này
Chương 2: Một số kỹ thuật phân lớp dữ liệu trong chương này trình bày tổng
quan về phân lớp dữ liệu và 3 phương pháp : Nạve Bayes, Ramdom Forrest và KNN Chương 3: Ứng dụng phân lớp dữ liệu hoa Iris, chương này Phát triển và Demo
ứng dụng cung cụ Weka xây dựng mơ hình, kiểm tra và đánh giá mơ hình dự dốn hoa Iris
Trang 14Chươ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
1.1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu
Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử, thì dữ liệu, thông tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu
Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và các ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới một dạng nhất định Các bits thường được sử dụng để đo thông tin,
và xem nó như là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Tri thức được xem như là các thông tin tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiên cứu Nói cách khác, tri thức có thể được coi là dữ liệu ở mức
độ cao của sự trừu tượng và tổng quát
Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy trình nhận
biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp,
hợp thức, khả ích và có thể hiểu được
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các giải thuật khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp
nhận được để tìm ra các mẫu hoặc các mô hình trong dữ liệu
Nói cách khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại trong CSDL nhưng ẩn trong khối lượng lớn dữ liệu
1.1.2 Quá trình khám phá tri thức
Quy trình khám phá tri thức tiến hành qua 6 giai đoạn, xem hình 1.1:
1 Gom dữ liệu: 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
Trang 152 Trích lọc dữ liệu: Ở giai đọan 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
em học sinh có điểm Trung bình học kỳ lớn hơn 8.0 và có giới tính nữ
3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu: Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ liệu Một số lỗi thường mắc phải trong khi gom dữ liệu là tính không đủ
chặt chẽ, logíc Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng
kết nối dữ liệu Ví dụ : Điểm Trung bình = 12.4 Giai đoạn này sẽ tiến hành xử lý
những dạng dữ liệu không chặt chẻ nói trên Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị Bởi vậy, đây là một quá trình rất quan trọng vì dữ
liệu này nếu không được “làm sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những
kết quả sai lệch nghiêm trọng
4 Chuyển đổi dữ liệu: 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
5 Khai phá dữ liệu: Đâ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 loại, nguyên tắc kết, v.v
6 Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu 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 chiết xuất ra Đá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 đo 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
Trang 16Hình 1 1:Quá trình khám phá tri th ức
1.1.3 Khai phá dữ liệu
KPDL là một khái niệm ra đời vào những năm cuối của thập kỷ 80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin có giá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, KPDL liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật để tìm ra các mẫu hình có tính chính quy (regularities) trong tập dữ liệu
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát
hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Database – KDD) để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn Trong đó, KPDL là một bước đặc biệt trong toàn bộ tiến trình, sử dụng các giải thuật đặc biệt
để chiết xuất ra các mẫu (pattern) (hay các mô hình) từ dữ liệu
Khai phá dữ liệu là một tiến trình sử dụng các công cụ phân tích dữ liệu khác nhau để khám phá ra các mẫu dưới nhiều góc độ khác nhau nhằm phát hiện ra các mối quan hệ giữa các dữ kiện, đối tượng bên trong CSDL, kết quả của việc khai phá là xác định các mẫu hay các mô hình đang tồn tại bên trong, nhưng chúng nằm
ẩn khuất ở các CSDL Để từ đó rút trích ra được các mẫu, các mô hình hay các thông tin và tri thức từ các CSDL
Trang 171.1.4 Quá trình của khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá tri
thức Về bản chất là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn
có trong cơ sở dữ liệu chủ yếu phục vụ cho mô tả và dự đoán
Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất
ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các
biến quan tâm
- Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết
- Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp
- Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý chúng thành dạng sao cho thuật toán khai phá dữ liệu có thể hiểu được Đây là một quá trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như: 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 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), v.v
- Thuật toán khai phá dữ liệu: Lựa chọn thuật toán khai phá dữ liệu và thực
hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa, các mẫu này được biểu
diễn dưới dạng luật kết hợp, cây quyết định tương ứng với ý nghĩa của nó
Thống kê tóm tắt
Trang 181.1.5 Ứng dụng của khai phá dữ liệu
KPDL có nhiều ứng dụng trong thực tế, một số ứng dụng điển hình như:
Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tình hình tài chính và
dự báo giá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn
và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận
Điều trị y học và chăm sóc y tế: một số thông tin về chẩn đoán bệnh lưu trong các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệu chứng bệnh,
chẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc,…)
Sản xuất và chế biến: qui trình, phương pháp chế biến và xử lý xử cố Text mining & Web mining: phân lớp văn bản và các trang web, tóm tắt văn bản
Lĩnh vực khoa học: quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm
kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và các bệnh
di truyền
Lĩnh vực khác: viễn thông, môi trường, thể thao, âm nhạc, giáo dục…
1.2 Một số kỹ thuật khai phá dữ liệu cơ bản
1.2.1 Lu ật kết hợp (Association Rules)
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản 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 CSDL Mẫu đầu ra của giải thuật KPDL là tập luật kết hợp tìm được Tuy luật kết hợp là một dạng luật khá đơn giản nhưng lại mang rất nhiều ý nghĩa Thông tin mà dạng luật này đem lại rất có lợi trong các hệ hỗ trợ ra quyết định.Tìm
kiếm được những luật kết hợp đặc trưng và mang nhiều thông tin từ CSDL tác nghiệp
là một trong những hướng tiếp cận chính của lĩnh vực khai phá dữ liệu
1.2.2 Khai thác mẫu tuần tự (Sequential / Temporal patterns)
Tương tự như khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này có tính
dự báo cao
Trang 191.2.3 Phân cụm dữ liệu(Clustering)
Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát
hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn
để từ đó cung cấp thông tin, tri thức cho việc ra quyết định
Phân cụm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các nhóm
dữ liệu với trong đó các đối tượng tương tự như nhau Trong mỗi nhóm, một số chi
tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa Hay ta có thể hiểu “Phân cụm dữ liệu là quá trình tổ chức các đối tượng thành từng nhóm mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương tự tính chất sẽ ở nhóm khác”
Phân cụm dữ liệu là quá trình nhóm một tập 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 có thầy 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, trong khi phân lớp dữ liệu là học bằng ví dụ 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 như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các
cụm
1.2.4 Phân nhóm- đoạn (Clustering / Segmentation)
Mục tiêu chính của việc phân nhó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 nhóm sao cho mức độ tương tự giữa các đối tượng trong cùng một nhóm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các nhóm khác nhau là nhỏ nhất Các nhóm có thể tách nhau hoặc phân cấp gối lên nhau và số lượng các nhóm là chưa biết trước Một đối tượng có thể vừa thuộc nhóm này, nhưng cũng có thể vừa thuộc nhóm khác Không giống như phân lớp dữ liệu, phân nhó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 nhóm dữ liệu là một cách học bằng quan sát (learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example)
Trang 20Trong phương pháp này bạn sẽ không thể biết kết quả các nhó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 nhóm thu được Phân nhóm còn được gọi là học không có giám sát (unsupervised learning) Phân nhó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 loại trang Web, … Ngoài ra phân nhó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 KPDL khác
1.2.5 Hồi quy (Regression)
Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự đoán có giá trị thực Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc Việc dự báo các giá
trị số thường được làm bởi các phương pháp thống kê cổ điển chẳng hạn như hồi quy tuyến tính Tuy nhiên phương pháp mô hình hóa cũng có thể được sử dụng như cây quyết định
của tất cả hay hầu hết các mục của một lớp Các mô tả đặc trưng thể hiện theo luật có
dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các
1.2.7 Mô hình hóa sự phụ thuộc (dependency modeling)
Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức Mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị), trong đó, các biến phụ thuộc bộ phận vào các biến khác Và mức định lượng mô hình mô tả
mức độ phụ thuộc Những phụ thuộc này thường được biểu thị dưới dạng theo luật
“nếu - thì” - nếu tiền đề đúng thì kết luận đúng Về nguyên tắc, cả tiền đề và kết
luậnđều có thể là sự kết hợp logic của các giá trị thuộc tính Trên thực tế, tiền đề
Trang 21thường là nhóm các giá trị thuộc tính và kết luận chỉ là một thuộc tính Hơn nữa, hệ thống có thể phát hiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Bayes Đó
là đồ thị có hướng, không chu trình Các nút biểu diễn thuộc tính và trọng số của liên
kết phụ thuộc giữa các nút đó
1.2.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)
Tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con dữ liệu thực và nội dung mong đợi Hai mô hình độ lệch hay dùng là lệch theo thời gian và
lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có ý nghĩa của dữ liệu thời gian
Độ lệch theo nhóm là sự khác nhau của dữ liệu trong hai tập con dữ liệu, ở đây xét cả trường hợp tập con dữ liệu này thuộc tập con kia Nghĩa xác định dữ liệu trong một nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không? Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường sẽ được phát hiện
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 1.3.1 So sánh với phương pháp hệ chuyên gia
Hệ chuyên gia là một chương trình thông minh nhằm dạy cho máy tính biết các hoạt động của một chuyên gia thực thụ Hệ chuyên gia đầu tiên là DENDRAL,
xuất hiện vào giữa thập niên 70, sau đó vào năm 1975 hệ chuyên gia MYCIN ra đời
đã thành công trong việc áp dụng khoa học trí tuệ nhân tạo vào lĩnh vực Y học, cụ thể là lĩnh vực chẩn đoán và điều trị bệnh nhiễm trùng máu Đây là hệ chuyên gia tương đối lớn, thực hiện ở mức chuyên gia con người, bên cạnh đó còn cung cấp cơ
chế giải thích các bước suy luận
Chuyên gia con người có hai phần cơ bản: tri thức của chuyên gia và lập luận
Từ đó hệ chuyên gia cũng có hai phần chính: một cơ sở tri thức và một mô tơ suy
diễn
Cơ sở tri thức chứa các tri thức chuyên dụng mức cao về một vấn đề được cung cấp bởi chuyên gia con người Nó bao gồm các sự kiện, luật, khái niệm và các
Trang 22mối quan hệ Chẳng hạn nó có thể chứa tri thức của một bác sĩ chẩn đoán bệnh về thần kinh
Mô tơ suy diễn là bộ xử lý tri thức, nó làm việc với các thông tin có sẵn từ một
vấn đề cho trước, kết hợp với các tri thức có trong cơ sở tri thức để đưa ra một kết
luận hay gợi ý
Hệ chuyên gia được sử dụng trong rất nhiều lĩnh vực: nông nghiệp, thương
mại, giáo dục, khoa học, y tế, kinh tế…
Hệ chuyên gia cũng được chia thành nhiều loại: mô phỏng, điều khiển, thiết
kế, lập kế hoạch, giải thích, dự đoán, lựa chọn…
1.3.2 So sánh với phương pháp phân loại thống kê
Phân loại thống kê là một mặt công tác quan trọng trong quá trình nghiên cứu thống kê nhất là trong khâu xử lý và lập các bảng số liệu Thông qua phân loại, cho phép chúng ta nhận thức hiện tượng và quá trình kinh tế- xã hội một cách sâu sắc Chẳng hạn, khi nghiên cứu sự chuyển dịch kinh tế, cần phải có số liệu của các ngành, các lĩnh vực, các địa phương mà muốn có số liệu như vậy, nhất thiết phải tiến hành phân loại các đơn vị thống kê vào các bảng phân loại Từ ví dụ đơn giản trên đây minh chứng rằng: Phân loại là một việc làm hết sức quan trọng của các hoạt động thống kê nhằm đưa ra các thông tin phục vụ tốt cho các nhu cầu quản lý điều hành
Thực tiễn thống kê nước ta cũng như thống kê thế giới đã, đang và sẽ tiếp tục đẩy mạnh mặt công tác này Để giúp cho bạn đọc trong và ngoài ngành hiểu rõ hơn phương pháp phân loại thống kê Bài viết nãy sẽ giới thiệu khái quát những vấn đề lý luận có liên quan đến phân loại thống kê
Cơ sở tri thức Mô tơ suy diễn
Hệ chuyên gia
Trang 23Thuật ngữ phân loại theo tiếng Anh là “classification” có nghĩa là phân thành các lớp, còn theo tiếng Pháp là “Tap xo no mi que” với nghĩa là sắp xếp các dữ liệu vào các bảng biểu Phương pháp này được ứng dụng hết sức phổ biến trong nghiên cứu tự nhiên cũng như xã hội Trong nghiên cứu dân số học người ta căn cứ vào huyết thống để phân ra các dòng họ, các thế hệ Tương tự như vậy, trong sinh vật người ta phân ra các lớp, họ, chi nhánh Các loại động thực vật Như vậy, về thực chất phân loại là một hình thức phân tổ Nhưng nó khác phân tổ thống kê ở chỗ tiêu thức “hay dấu hiệu” phân tổ có thể chọn bất kỳ một tính chất nào đó (định tính hay định lượng) trong phân tổ đơn hoặc căn cứ vào nhiều tiêu thức trong phân tổ kết hợp để phân chia tổng thể nghiên cứu thành nhiều tổng thể con riêng biệt, còn trong phân loại chủ yếu dựa vào các tiêu thức thuộc tính (định tính) để tiến hành phân chia tổng thể nghiên cứu thành các tổng thể con riêng biệt
Do tính chất quan trọng của phân loại, nên đã từ lâu các nhà khoa học đã đầu tư nghiên cứu và hình thành môn khoa học với tên “phân loại học” hay “dấu hiệu học” Theo dự thảo từ chuẩn thống kê thì phân loại thống kê được định nghĩa: “Một cách phân tổ đặc thù các đơn vị thống kê theo các tiêu thức thuộc tính, việc phân loại các đơn vị thống kê phải tuân thủ các nguyên tắc quy định, các tổ có tên gọi và được sắp xếp theo những quy tắc do cấp quản lý thẩm quyền quy định Kết quả phân loại hình thành các bảng phân loại thống kê hoặc các bảng danh mục do Nhà nước quy định thống nhất và cố định trong một thời gian tương đối dài, nhằm đảm bảo tính chất
so sánh của số liệu thống kê”
1.3.3 So sánh với phương pháp học máy
Học máy (tiếng Anh: machine learning) là một lĩnh vực của trí tuệ nhân tạo
liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể "học" Cụ thể hơn, học máy là một phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào
sự phức tạp của các giải thuật trong việc thực thi tính toán Nhiều bài toán suy luận
Trang 24được xếp vào loại bài toán NP-khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lí được
Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô-bốt (robot locomotion)
Phân loại: Có hai loại phương pháp học máy chính
Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên dữ liệu đã thu thập được trước đó Phương pháp này cho phép tận dụng được nguồn dữ
Các ngành khoa học liên quan:
- Lý thuyết thống kê: các kết quả trong xác suất thống kê là tiền đề cho rất nhiều phương pháp học máy Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số
của các phương pháp học máy
- Các phương pháp tính: các thuật toán học máy thường sử dụng các tính toán số
thực/số nguyên trên dữ liệu rất lớn Trong đó, các bài toán như: tối ưu có/không ràng buộc, giải phương trình tuyến tính v.v… được sử dụng rất phổ biến
- Khoa học máy tính: là cơ sở để thiết kế các thuật toán, đồng thời đánh giá thời gian chạy, bộ nhớ của các thuật toán học máy
Các nhóm giải thuật học máy:
- Học có giám sát: Máy tính được xem một số mẫu gồm đầu vào (input) và đầu
ra (output) tương ứng trước Sau khi học xong các mẫu này, máy tính quan sát
một đầu vào mới và cho ra kết quả
- Học không giám sát: Máy tính chỉ được xem các mẫu không có đầu ra, sau đó máy tính phải tự tìm cách phân loại các mẫu này và các mẫu mới
Trang 25- Học nửa giám sát: Một dạng lai giữa hai nhóm giải thuật trên
- Học tăng cường: Máy tính đưa ra quyết định hành động (action) và nhận kết quả
phản hồi (response/reward) từ môi trường (environment) Sau đó máy tính tìm cách chỉnh sửa cách ra quyết định hành động của mình
Các ứng dụng của học máy
Ứng dụng: Học máy có ứng dụng rộng khắp trong các ngành khoa học/sản
xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ Một số ứng
- Tìm kiếm (Search Engine)
- Chẩn đoán trong y tế: phân tích ảnh X-quang, các hệ chuyên gia chẩn đoán tự động
- Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/protein
- Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt …
- Phát hiện gian lận tài chính (financial fraud): gian lận thẻ tỉn dụng
- Phân tích thị trường chứng khoán (stock market analysis)
- Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo
- Rôbốt: là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ
thần kinh/bộ não của người máy
1.3.4 So sánh với phương pháp học sâu
Học sâu (tiếng Anh: deep learning) 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
Học sâu 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
Trang 26diễ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ể,
vv 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 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
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 không dán nhãn quy 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 học sâu khác nhau như mạng neuron sâu, mã mạng neuron tích chập sâu, mạng niềm tin sâu và mạng neuron 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
Trang 27Chương 2: Một số kỹ thuật phân lớp dữ liệu
2.1 Tổng quan về phân lớp dữ liệu
Một trong các nhiệm vụ chính của khai phá dữ liệu là giải quyết bài toán phân lớp Đầu vào của bài toán phân lớp là một tập các mẫu học đã được phân
lớp trước, mỗi mẫu được mô tả bằng một số thuộc tính Các thuộc tính dùng để
mô tả một mẫu gồm hai loại là thuộc tính liên tục và thuộc tính rời rạc Trong số các thuộc tính rời rạc có một thuộc tính đặc biệt là phân lớp, mà các giá trị của
nó được gọi là nhãn lớp Thuộc tính liên tục sẽ nhận các giá trị có thứ tự, ngược
lại thuộc tính rời rạc sẽ nhận các giá trị không có thứ tự Ngoài ra, các thuộc tính
có thể nhận giá trị không xác định (chẳng hạn, vì những lý do khách quan ta không thể biết được giá trị của nó) Chú ý rằng nhãn lớp của tất cả các mẫu không được phép nhận giá trị không xác định Nhiệm vụ của quá trình phân lớp
là thiết lập được ánh xạ giữa giá trị của các thuộc tính với các nhãn lớp Mô hình
biểu diễn quan hệ nói trên sau đó sẽ được dùng để xác định nhãn lớp cho các quan sát mới không nằm trong tập mẫu ban đầu
Thực tế đặt ra nhu cầu từ một cơ sở dữ liệu với nhiều thông tin ẩn ta có thể trích rút ra các quyết định nghiệp vụ thông minh Phân lớp và dự đoán là hai
dạng của phân tích dữ liệu nhằm trích rút ra một mô hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai Phân lớp dự đoán giá trị của
những nhãn xác định (categorical label) hay những giá trị rời rạc (discrete
value), có nghĩa là phân lớp thao tác với những đối tượng dữ liệu mà có bộ giá
Trang 28trị là biết trước Trong khi đó, dự đoán lại xây dựng mô hình với các hàm nhận giá trị liên tục Ví dụ 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 đó Hay nhờ các luật về xu hướng mua hàng của khách hàng trong siêu thị, các nhân viên kinh doanh có thể ra những quyết sách đúng đắn về lượng mặt hàng cũng như chủng loại bày bán… Một mô hình dự đoán có thể dự đoán được lượng tiền tiêu dùng của các khách hàng tiềm năng dựa trên những thông tin về thu nhập và nghề nghiệp của khách hà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
Quá trình phân lớp dữ liệu gồm hai bước:
• Bước thứ nhất (learning)
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
(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
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.2
Trang 29Hình 2 2: 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)
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 30Hình 2 3: Quá trình phân l ớp dữ liệu - (b1) Ước lượng độ chính xác của mơ hình
Trong mơ hình phân lớp, thuật tố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 tố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 tốn được đặc biệt chú trọng và phát triển
2.2 Phân lớp dữ liệu Naive Bayes
2.2.1 Định nghĩa thuật tốn Nạve Bayes
Naive Bayes Classification (NBC) là một thuật tốn dựa trên định lý Bayes về
lý thuyết xác suất để đưa ra các phán đốn cũng như phân loại dữ liệu dựa trên các
dữ liệu được quan sát và thống kê Naive Bayes là một trong những thuật tốn được ứng dụng rất nhiều trong các lĩnh vực Machine learning dùng để đưa các dự đốn
Trang 31chính xác nhất dự trên một tập dữ liệu đã được thu thập, vì nĩ khá dễ hiểu và độ chính xác cao Nĩ thuộc vào nhĩm Supervised Machine Learning Algorithms (thuật tốn học cĩ hướng dẫn), tức là máy học từ các ví dụ từ các mẫu dữ liệu đã cĩ
Ví dụ như ta cĩ thể ứng dụng vào việc thiết kế một ứng dụng nghe nhạc cĩ thể phán đốn được sở thích của nghe nhạc của người dùng dựa trên các hành vi như
nhấn nút “thích” bài hát, “nghe đi nghe” lại nhiều lần các bài hát, “bỏ qua” các bài hát khơng thích … Dựa trên tập dữ liệu đĩ ta cĩ thể áp dụng NBC để tính tốn ra các phong cách nhạc mà người dùng thích nhất, từ đĩ chúng ta cĩ thể đưa ra các “gợi ý” nghe nhạc gần đúng nhất cho người dùng từ việc học hỏi từ những thĩi quen đĩ
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi
biết sự kiện liên quan B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là
“xác suất của A nếu cĩ B” Đại lượng này được gọi xác suất cĩ điều kiện hay xác suất hậu nghiệm vì nĩ được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đĩ
Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:
- Xác suất xảy ra A của riêng nĩ, khơng quan tâm đến B Kí hiệu là P(A) và
đọc là xác suất của A Đây được gọi là xác suất biên duyên hay xác suất tiên nghiệm,
nĩ là “tiên nghiệm” theo nghĩa rằng nĩ khơng quan tâm đến bất kỳ thơng tin nào về
B
- Xác suất xảy ra B của riêng nĩ, khơng quan tâm đến A Kí hiệu là P(B) và
đọc là “xác suất của B” Đại lượng này cịn gọi là hằng số chuẩn hĩa (normalising constant), vì nĩ luơn giống nhau, khơng phụ thuộc vào sự kiện A đang muốn biết
- Xác suất xảy ra B khi biết A xảy ra Kí hiệu là P(B|A) và đọc là “xác suất
của B nếu cĩ A” Đại lượng này gọi là khả năng (likelihood) xảy ra B khi biết A đã xảy ra Chú ý khơng nhầm lẫn giữa khả năng xảy ra B khi biết A và xác suất xảy ra
A khi biết B
Tĩm lại định lý Nạve Bayes sẽ giúp ta tính ra xác suất xảy ra của một giả thuyết bằng cách thu thập các bằng chứng nhất quán hoặc khơng nhất quán với một giả thuyết nào đĩ Khi các bằng chứng tích lũy, mức độ tin tưởng vào một giả thuyết thay đổi Khi cĩ đủ bằng chứng, mức độ tin tưởng này thường trở nên rất cao hoặc
Trang 32rất thấp, tức là xác xuất sảy ra giả thuyết sẽ thay đổi thì các bằng chứng liên quan đến
– P(B|A) là xác suất xảy ra B khi biết A xảy ra
– P(A) là xác suất sảy ra của riêng A mà không quan tâm đến B
– P(B) là xác suất xảy ra của riêng B mà không quan tâm đến A
Ở trên ta có thể thấy xác suất sảy ra của giả thuyết A phụ thuộc và xác suất của giả thuyết B, nhưng trong thực tế xác suất A có thể phụ thuộc vào xác suất của nhiều các giác thuyết khác có thể là B1, B2, B3 … Bn Vậy định luật Bayes có thể được mở rộng bằng công thức sau:
𝑃(𝐴|𝐵) =(𝑃(𝐵1|𝐴) 𝑥 𝑃(𝐵2|𝐴) 𝑥 𝑃(𝐵3|𝐴) … 𝑥 𝑃(𝐵𝑛|𝐴))𝑥 𝑃(𝐴)
𝑃(𝐵1)𝑥 𝑃(𝐵2)𝑥 𝑃(𝐵3) … 𝑥𝑃(𝐵𝑛)
Ví dụ 1 ta có một thống kê như sau:
Quốc hội Mỹ có 200 thượng nghị sĩ trong đó có:
+ 120 thượng nghị sĩ thuộc đảng Dân Chủ
+ 80 thượng nghĩ sĩ thuộc đảng Cộng Hòa
+ Số lượng Nữ giới trong đám thượng nghị sĩ là 60 người
+ Còn lại 140 người còn lại là Nam giới (giả dụ chả có ông thượng nghị sĩ nào mới
đi Thái về cả)
+ Và số lượng Nữ giới trong đám Dân Dủ là 30 người
Vậy nếu tôi chọn ngẫu nhiên một người trong đám thượng nghị sĩ thì tỷ lệ thượng nghị sĩ là Nữ giới và thuộc đảng Dân Chủ thì tỷ lệ là bao nhiêu?
Áp dụng công thức Bayes ta có thể tính toán được bằng công thức sau:
(2.1)
(2.2)
Trang 33𝑃(𝐹𝑒𝑚𝑎𝑙𝑒|𝐷𝑒𝑚𝑜𝑐𝑟𝑎𝑡) = 𝑃(𝐷𝑒𝑚𝑜𝑐𝑟𝑎𝑡|𝐹𝑒𝑚𝑎𝑙𝑒) 𝑋 𝑃(𝐹𝑒𝑚𝑎𝑙𝑒)𝑃(𝐷𝑒𝑚𝑜𝑐𝑟𝑎𝑡)
P(Female|Democrat): Chính là tỷ lệ nữ giới thuộc đảng dân chủ trong cả đám thượng nghị sĩ cần tính tốn
P(Demorate|Female): Chính là tỷ lệ nữ giới trong đảng dân chủ
P(Female): Chính là tỷ lệ nữ giới trong cả đám thượng nghị sĩ
P(Democrat): Chính là tổng cả đám thượng nghị sĩ
Ở đây với dữ liệu cho bên trên ta cĩ thể tính tốn được
- P(Democrat|Female) = Số nữ giới trong đám dân chủ / Tổng đám thượng nghị đảng dân chủ
Cĩ nghĩa là nếu tơi chọn chọn ngẫu nhiên một người trong đám thượng nghị
sĩ thì tỷ lệ thượng nghị sĩ là Nữ giới và thuộc đảng Dân Chủ thì tỷ lệ sẽ là “7,5%”
Trên đây là một ví dụ rất đơn giản được tính tốn bằng định lý Bayes mà thật
ra nếu bạn nào giỏi cĩ thể tự tính nhẩm ra mà ko cần sử dụng định lý trên
Vậy tơi sẽ xét tiếp một ví dụ phức tạp hơn với nhiều dữ liệu và giả thuyết hơn hơn để minh họa định lý “Bayes mở rộng” bên trên
2.2.3 Đặc điểm của thuật tốn Nạve Bayes
Ưu điểm của thuật tốn Nạve Bayes
- Cho phép kết hợp tri thức tiền nghiệm (prior knowledge) và dữ liệu quan sát được (obserwed data)
- Giả định độc lập: hoạt động tốt cho nhiều bài tốn/miền sữ liệu và ứng dụng
Trang 34- Đơn giản nhưng đủ tốt để giải quyết nhiều bài tốn như phân lớp văn bản,
lọc spam,
- Tốt khi cĩ sự chệnh lệch số lượng giữa các lớp phân loại
- Huấn luyện mơ hình (ước lượng tham số) dễ và nhanh
Nhược điểm của thuật tốn Nạve Bayes
- Giả định độc lập (ưu điểm cũng chính là nhược điểm) hầu hết các trường hợp thực tế trong đĩ cĩ các thuộc tính trong các đối tượng thường phụ thuộc lẫn nhau
- Vấn đề zero (đã nêu cách giải quyết ở phía trên)
- Mơ hình khơng được huẩn luyện bằng phượng pháp tối ưu mạnh và chặt chẽ Tham số mủa mơ hình là các ước lượng xác suất điều kiện đơn lẻ Khơng tính đến sự tương tác giữa các ước lượng này
2.2.4 Ứng dụng của thuật tốn Nạve Bayes
Real time Prediction: Nạve Bayes chạy khá nhanh nên nĩ thích hợp áp
dụng ứng dụng nhiều vào các ứng dụng chạy thời gian thực, như hệ thống cảnh báo, các hệ thống trading
Multi class Prediction: Nhờ vào định lý Bayes mở rộng ta cĩ thể ứng dụng vào
các loại ứng dụng đa dự đốn, tức là ứng dụng cĩ thể dự đốn nhiều giả thuyết mục tiêu
Text classification/ Spam Filtering/ Sentiment Analysis: Nạve Bayes cũng rất
thích hợp cho các hệ thống phân loại văn bản hay ngơn ngữ tự nhiên vì tính chính xác của nĩ lớn hơn các thuật tốn khác Ngồi ra các hệ thống chống thư rác cũng rất ưu chuộng thuật tốn này Và các hệ thống phân tích tâm lý thị trường cũng
áp dụng NBC để tiến hành phân tích tâm lý người dùng ưu chuộng hay khơng ưu chuộng các loại sản phẩm nào từ việc phân tích các thĩi quen và hành động của khách hàng
Recommendation System: Naive Bayes và Collaborative Filtering được sử
dụng rất nhiều để xây dựng cả hệ thống gợi ý, ví dụ như xuất hiện các quảng cáo
mà người dùng đang quan tâm nhiều nhất từ việc học hỏi thĩi quen sử dụng
Trang 35internet của người dùng, hoặc như ví dụ đầu bài viết đưa ra gợi ý các bài hát tiếp theo mà có vẻ người dùng sẽ thích trong một ứng dụng nghe nhạc …
2.3 Phân lớp dữ liệu RandomForest
2.3.1 Định nghĩa thuật toán Ramdomforest
Random Forests là thuật toán học có giám sát (supervised learning) Nó có thể được sử dụng cho cả phân lớp và hồi quy Nó cũng là thuật toán linh hoạt và dễ sử
dụng nhất Một khu rừng bao gồm cây cối Người ta nói rằng càng có nhiều cây thì
rừng càng mạnh Random forests tạo ra cây quyết định trên các mẫu dữ liệu được chọn
ngẫu nhiên, được dự đoán từ mỗi cây và chọn giải pháp tốt nhất bằng cách bỏ phiếu
Nó cũng cung cấp một chỉ báo khá tốt về tầm quan trọng của tính năng
Random forests có nhiều ứng dụng, chẳng hạn như công cụ đề xuất, phân loại hình ảnh và lựa chọn tính năng Nó có thể được sử dụng để phân loại các ứng viên cho vay trung thành, xác định hoạt động gian lận và dự đoán các bệnh Nó nằm ở cơ sở
của thuật toán Boruta, chọn các tính năng quan trọng trong tập dữ liệu
Với bài toán phân lớp: cho một tập dữ liệu huấn luyện
x là vector M chiều, y iY, trong đó: Y gọi là
lớp, giả sử có C nhãn lớp Y1,2, ,C C 2 Ý tưởng chính của mô hình RF là
lựa chọn ngẫu nhiên 2 lần (ngẫu nhiện mẫu và ngẫu nhiện thuộc tính) trong suốt quá trình xây dựng cây gồm có 3 pha như sau:
Pha 1: Từ dữ liệu ban đầu D, sử dụng kỹ thuật boostrap (lấy mẫu ngẫu nhiên
có hoàn lại) để tạo ra t tập dữ liệu con S = {𝑆1, 𝑆2 , 𝑆t }
Pha 2: Trên mỗi tập dữ liệu Sj, xây dựng một cây quyết định ℎ 𝑗 Mô hình Rừng ngẫu nhiên là mô hình t 1
i j
h h Thay vì sử dụng tất cả các biến là biến ứng
cử để lựa chọn điểm chia tốt nhất, tại mỗi nút RF chọn ngẫu nhiên một không gian tập con M’ thuộc tính từ M thuộc tính ban đầu (M’<<M) Bên cạnh đó, cây quyết định trong mô hình RF là cây quyết định không cắt nhánh
Pha 3: RF dự đoán nhãn lớp của phần tử mới đến bằng chiến lược bình chọn
số đông của các cây quyết định
Trang 36Trong quá trình xây dựng các cây quyết định, RF phát triển các nút con từ một nút cha dựa trên việc đánh giá chỉ số Gini của một không gian con M’ các thuộc tính được chọn ngẫu nhiên từ không gian thuộc tính ban đầu Thuộc tính được chọn để tách nút t là thuộc tính có điểm cắt làm cực tiểu độ hỗn tạp của các tập mẫu sau khi chia Công thức tính chỉ số Gini cho nút t như sau:
Gọi s là một giá trị của thuộc tính 𝑋j Giả sử tách nút t thành 2 nút con: nút trái
𝑡L và nút phải 𝑡R tại s Tùy thuộc vào 𝑋j ≤ s hoặc 𝑋j > s ta có 2 nút con:
Để đạt được điểm chia tốt, tại mỗi nút RF sẽ tìm tất cả các giá trị phân biệt của
tất cả n’ thuộc tính để tìm ra điểm phân tách nút t (điểm s có độ đo Gini (s, t) nhỏ
nhất) Thuộc tính chứa điểm phân tách nút t được gọi là thuộc tính tách nút t