Trong các kỹ thuật phân lớp, cây quyết định được coi là một công cụ mạnh, phổ biến và đặc biệt thích hợp với các ứng dụng khai phá dữ liệu.. Qua tìm hiểu những chức năng của khai phá dữ
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM -
ĐÀO THỊ MỸ VÂN
NGHIÊN CỨU KỸ THUẬT CÂY QUYẾT ĐỊNH
VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC SINH TRƯỜNG THPT VÕ NGUYÊN GIÁP CHỌN NGHỀ
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
Trang 2MỤC LỤC LỜI CAM ĐOAN I LỜI CẢM ƠN II KẾT QUẢ NGHIÊN CỨU LUẬN VĂN III CÁC LOẠI DANH MỤC VII
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 1
3 Đối tượng nghiên cứu 2
4 Phương pháp nghiên cứu 2
5 Ý nghĩa khoa học và thực tiễn của luận văn 2
6 Cấu trúc luận văn 2
CHƯƠNG 1: KHÁI QUÁT PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 4
1.1 Phát hiện tri thức (Knowledge Discovery in Databases – PHTT) 4
1.1.1 Một số khái niệm: 4
1.1.2 Tổ chức và khai thác thông tin truyền thống 5
1.1.3 Phát hiện tri thức 6
1.1.4 Quá trình PHTT và KPDL 13
1.2 Khai phá dữ liệu 14
1.2.1 Khái niệm KPDL 14
1.2.2 Lịch sử KPDL 14
1.2.2.1 Sự hình thành ngành khoa học thống kê 14
1.2.2.2 Phân tích thống kê hiện đại: Thế hệ thứ nhất 15
1.2.2.3 Phân tích thống kê hiện đại: Thế hệ thứ hai 15
1.2.2.4 Phương pháp học máy: Thế hệ thứ ba 16
1.2.2.5 Học thuyết thống kê: Tổng quan thứ tư 16
1.2.2.6 Lịch sử phát triển của KPDL 16
1.2.3 Quá trình KPDL 16
1.2.4 Khái quát về các kỹ thuật KPDL 17
1.2.4.1 Khai thác t p phổ biến và u t kết h p 17
1.2.4.2 Phân p d iệu 18
1.2.4.3 Gom cụm 18
1.3 Kỹ thuật khai phá dữ liệu sử dụng cây quyết định 19
1.3.1 Cây quyết định: 19
1.3.1.1 Gi i thiệu cây quyết định: 19
Trang 31.3.1.2 Cấu trúc cây quyết định: 19
1.3.2 Kỹ thuật KPDL sử dụng cây quyết định 20
1.3.2.1 Gi i thiệu kỹ thu t KPDL sử dụng cây quyết định: 20
1.3.2.2 Xây dựng cây quyết định 20
1.3.2.3 Các vấn đề trong KPDL sử dụng cây quyết định 21
1.3.3.Thuật toán sử dụng xây dựng cây quyết định 21
1.3.3.1 Thu t toán CLS (Concept Learning System) 21
1.3.3.2 Thu t toán ID3 23
1.3.3.3 Thu t toán C4.5 28
1.3.4.Cắt tỉa cây quyết định 31
1.3.4.1 Tiền cắt tỉa (Prepruning) 31
1.3.4.2 H u cắt tỉa (Postpruning) 31
1.4 Công cụ: 31
1.4.1.Công cụ mã nguồn mở: 31
1.4.2.Mã nguồn thương mại: 31
1.5 KPDL trong lĩnh vực giáo dục 32
1.6 Những lĩnh vực liên quan đến KPDL 32
1.7 Những thách thức trong ứng dụng và nghiên cứu kỹ thuật KPDL 32
1.8 Kết luận 33
CHƯƠNG 2: CÂY QUYẾT ĐỊNH TRONG CHỌN NGHỀ 34
2.1 Tìm hiểu bài toán chọn nghề 34
2.1.1.Khái niệm ngành nghề 34
2.1.2.Phương pháp chọn nghề 36
2.2 Phân tích bài toán chọn nghề: 40
2.3 Mô hình hệ thống chọn nghề cho trường THPT Võ Nguyên Giáp 42
2.4 Kết luận 44
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 45
3.1 Xây dựng CSDL dữ liệu 45
3.1.1.Xác định các thực thể trong CSDL 45
3.1.2.Mối liên kết giữa các thực thể 53
3.2 Tiền xử lý dữ liệu: 53
3.3 Chuyển đổi dữ liệu: 54
3.4 Khai phá dữ liệu 55
3.4.1.Giới thiệu công cụ khai phá dữ liệu 55
3.4.2.Dữ liệu thử nghiệm 55
3.4.3.Khai phá dữ liệu 57
Trang 43.4.4.Tập luật 58
3.5 Lập trình cây quyết định 58
3.6 Thử nghiệm trên hệ thống chọn nghề 60
3.7 Kết luận 61
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
Trang 5LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ ―NGHIÊN CỨU KỸ THUẬT CÂY QUYẾT ĐỊNH VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC SINH TRƯỜNG THPT VÕ NGUYÊN GIÁP CHỌN NGHỀ‖ là công trình nghiên cứu của riêng
tôi Các số liệu và tài liệu trong luận án là trung thực và chưa được công bố trong bất kỳ công trình nghiên cứu nào Tất cả những tham khảo và kế thừa đều được trích dẫn và tham chiếu đầy đủ
Trang 6Tôi xin chân thành cảm ơn tập thể giảng viên Khoa Tin học trường Đại học
Sư phạm Đà Nẵng, các Thầy Cô đã giúp đỡ, góp ý và tạo mọi điều kiện tốt nhất cho tôi trong quá trình nghiên cứu và viết luận án của mình
Tôi xin cảm ơn bạn bè, đồng nghiệp, gia đình và các bạn học đã động viên và
hỗ trợ tôi rất nhiều về mặt thời gian, các lời góp ý, cung cấp dữ liệu, xử lý dữ liệu, quan tâm và giúp đỡ tôi trong thời gian hoàn thành luận văn này
Tác giả
Đào Thị Mỹ Vân
Trang 7KẾT QUẢ NGHIÊN CỨU LUẬN VĂN Tên đề tài: NGHIÊN CỨU KỸ THUẬT CÂY QUYẾT ĐỊNH VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC SINH TRƯỜNG THPT VÕ NGUYÊN GIÁP CHỌN NGHỀ
Ngành: Hệ thống thông tin
Họ tên học viên: Đào Thị Mỹ Vân
Người hướng dẫn khoa học: PGS.TSKH TRẦN QUỐC CHIẾN
Cơ sở đào tạo: Trường Đại học Sư phạm – Đại học Đà Nẵng
Tóm tắt: Phát hiện tri thức là một tiến trình gồm nhiều giai đoạn, nhằm xác định các mẫu tiềm ẩn có tính hợp lệ, mới lạ, có ích và có thể hiểu được trong dữ liệu Phát hiện tri thức liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật đặc biệt để tìm ra các mẫu đặc trưng trong một tập dữ liệu khổng lồ
Khai phá dữ liệu là một khâu của quá trình phát hiện tri thức Khai phá dữ liệu thường bao gồm việc thử tìm mô hình phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập dữ liệu theo mô hình đó Kỹ thuật khai phá dữ liệu ra đời giúp con người khai thác tri thức để phát huy mọi tiềm năng của tri thức, đem lại những lợi ích về mặt kinh tế, quản lý, y tế, giáo dục,
Phân lớp dữ liệu là một trong những hướng nghiên cứu chính của khai phá
dữ liệu Phân lớp dữ liệu có vai trò quan trọng trong tiến trình dự báo các khuynh hướng quy luật phát triển Trong các kỹ thuật phân lớp, cây quyết định được coi là một công cụ mạnh, phổ biến và đặc biệt thích hợp với các ứng dụng khai phá dữ liệu
Qua tìm hiểu những chức năng của khai phá dữ liệu, luận văn tập trung vào nghiên cứu các kỹ thuật phân lớp bằng cây quyết định Cây quyết định là một dạng đặc biệt của cấu trúc cây, được dùng để hỗ trợ quá trình ra quyết định Hiểu được các thuật toán cây quyết định gần đây, từ đó nắm được những điểm chính cần quan tâm giải quyết trong kỹ thuật khai phá dữ liệu bằng cây quyết định trên cơ sở dữ liệu khảo sát lựa chọn ngành học
Các thuật toán sử dụng đối với cây quyết định gồm thuật toán CLS, thuật toán ID3, thuật toán C4.5,… Trong đó thuật toán C4.5 có độ chính xác khá cao, chạy nhanh và dễ hiểu đối với người dùng Thuật toán C4.5 là thuật toán được cải tiến từ thuật toán ID3 với việc cho phép xử lý trên tập dữ liệu có các thuộc tính số
và làm việc được với tập dữ liệu bị thiếu và nhiễu nhưng nếu tập dữ liệu có nhiều thuộc tính thì cây quyết định thu được cũng sẽ khó hiểu;
Luận văn ―NGHIÊN CỨU KỸ THUẬT CÂY QUYẾT ĐỊNH VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC SINH TRƯỜNG THPT VÕ NGUYÊN
Trang 8GIÁP CHỌN NGHỀ‖ sử dụng thuật toán C4.5, thuật toán cho ra mô hình phân lớp
là một tập luật dưới dạng cây rất đơn giản và dễ hiểu, có độ chính xác khá cao và thời gian chạy chấp nhận được Ứng dụng hỗ trợ chọn nghề cho học sinh áp dụng thuật toán C4.5 giúp học sinh có sự lựa chọn nghề phù hợp với bản thân
Từ khóa: Phát hiện tri thức, Khai phá dữ liệu, Cây quyết định, C4.5, Chọn nghề
Trang 9Name of thesis: RESEARCH INTO METHODS OF DECISION TREE, AND BUILDING APPLICATIONS FOR SUPPORTING VO NGUYEN GIAP HIGH SCHOOL IN CAREER CHOICE
Major: Information System
Full name of Master student: Dao Thi My Van
Supervisors: Tran Quoc Chien, Assoc Prof D.Sc
Training institution: University of Science and Education - The University of Da Nang
Abstract: Knowledge discovery in databases is a process that forms in stages It is used to discover samples which are potential, valid, useful, unheard-of and understandable in data Knowledge discovery in databases links to data analysis and use of special techniques to find typical samples in a big data
Data mining is a part of Knowledge discovery in databases It includes appropriate sampling that matches data file, and finding samples from data file in the model The invention of data mining allows people to make exploitation of knowledge, so that the potential of knowledge can be taken full advantage, and brought the benefits in economy, management, health and education, etc
Classification is one of the main research directions of data mining It plays
an important role in forecast of development In the classification model has been proposed, decision trees are considered powerful tool, common and suitable particularly for data mining applications
During study of functions of data mining, this thesis focuses on researching into methods of data classification by using decision tree Decision tree is a special type of tree structure, which is used to support decision process By studying decision tree algorithms recently, it can, base on survey data collection of career choice, find out main issue that needs resolving in data exploitation by using decision tree
Algorithms used in decision tree include CLS, ID3, C4.5, etc Among them, C4.5 algorithm produces high performance with high precision and understandability to users C4.5 algorithm is the renovation version of ID3 algorithm which allows users to process data files that has numeric attributes and can be used to work with missing and complicated data files But if the data files contains multiple attributes, this can cause complication to decision tree;
The thesis ―RESEARCH INTO METHODS OF DECISION TREE, AND BUILDING APPLICATIONS FOR SUPPORTING VO NGUYEN GIAP HIGH SCHOOL IN CAREER CHOICE‖ using C4.5 algorithm whose resulting
Trang 10classification models are set of classification rules in the form of trees which are very simple and easy to understand, with pretty high accuracy and acceptable run time This application which applied C4.5 algorithm provided support for pupils in career choice, so that they can have a right devision on future career
Key words: Knowledge Discovery in Databases, Data Mining, Decision Tree, C4.5, Career Choice
Trang 121.1 Quá trình phát hiện tri thức từ dữ liệu 13
Trang 13MỞ ĐẦU
1 Lý do chọn đề tài
Chọn nghề là một việc quan trọng đối với mỗi bản thân cá nhân học sinh, gia đình và ảnh hưởng một phần nào đó đến xã hội Trong khi đó học sinh THPT khi chọn ngành nghề thường không đánh giá được xu hướng thị trường lao động, sự thích hợp của bản thân với yêu cầu nghề nghiệp, không hiểu về tính chất nghề nghiệp mình chọn, chọn nghề theo phong trào, chọn theo bạn bè, hay theo áp đặt của người thân …
Hiện nay Trường THPT Võ Nguyên Giáp đã triển khai hoạt động hướng nghiệp cả 3 khối 10, 11, 12 nhưng chỉ ở mức giới thiệu nghề nghiệp, đặc điểm nghề nghiệp, các cách chọn nghề, chưa có hệ thống kiểm tra đánh giá cụ thể
Việc chọn nghề phù hợp sẽ giúp cho học sinh trong tương lai có công việc ổn định, có thu nhập để nuôi sống bản thân và gia đình, góp phần ổn định xã hội Chọn nghề không phù hợp sẽ dẫn đến những việc tiêu cực như thất nghiệp, lãng phí thời gian, tiền bạc Khi con người không tìm thấy những phương tiện hợp pháp để thỏa mãn nhu cầu của mình (như nhu cầu có thu nhập để sống) thì họ buộc phải sử dụng đến các phương tiện phi pháp Đây chính là một trong những nguy cơ làm gia tăng tội phạm trộm cướp, cờ bạc và các tệ nạn khác trong xã hội Làm xói mòn nếp sống văn hóa, lành mạnh, phá vỡ các mối quan hệ
Vậy làm thế nào để giúp học sinh THPT có để lựa chọn nghề không sai lầm? Việc ứng dụng công nghệ thông tin để giúp học sinh lựa chọn nghề phù hợp trong tương lai là điều cần thiết để hạn chế việc lựa chọn nghề sai lầm của học sinh, hạn chế làm việc trái nghề sau khi ra trường
KPDL là một tiến trình khai phá tự động tri thức tiềm ẩn trong cơ sở dữ liệu,
là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính quy luật, hỗ trợ tích cực cho việc đưa ra các quyết định Và Kỹ thuật cây quyết định trong Khai phá dữ liệu là một phương pháp tối ưu trong việc đánh giá rủi ro, hỗ trợ
ra quyết định như: Ngân hàng, bảo hiểm, tài chính, y học, giáo dục, …
Luận văn: “NGHIÊN CỨU KỸ THUẬT CÂY QUYẾT ĐỊNH VÀ XÂY
DỰNG ỨNG DỤNG HỖ TRỢ HỌC SINH TRƯỜNG THPT VÕ NGUYÊN
GIÁP CHỌN NGHỀ” nghiên cứu về kỹ thuật cây quyết định C4.5 và ứng dụng
vào bài toán chọn nghề để hỗ trợ học sinh lựa chọn nghề phù hợp
2 Mục tiêu nghiên cứu
- Mục tiêu tổng quát: Hướng đến xây dựng ứng dụng hỗ trợ học sinh chọn nghề
bằng kỹ thuật cây quyết định trong khai phá dữ liệu để hạn chế tình trạng chọn sai
Trang 14nghề của học sinh trong tương lai và giảm tình trạng thất nghiệp hoặc làm trái nghề
của sinh viên sau khi ra trường
- Mục tiêu cụ thể:
+ Ứng dụng thuật toán cây quyết định để tạo ra ứng dụng hỗ trợ học sinh chọn nghề phù hợp
+ Ứng dụng dễ sử dụng đối với người dùng cuối
3 Đối tượng nghiên cứu
- Kỹ thuật hướng nghiệp chọn nghề
- Nghiên cứu về phân lớp dữ liệu trong khai phá dữ liệu
+ Kỹ thuật phân lớp bằng cây dữ liệu
+ Thuật toán cây quyết định trong khai phá dữ liệu
4 Phương pháp nghiên cứu
a) Nghiên cứu lý thuyết
- Nghiên cứu tài liệu, ngôn ngữ và các công nghệ có liên quan
- Tổng hợp và phân tích và tổng hợp các tài liệu để lựa chọn các phương pháp thích hợp triển khai ứng dụng: Tài liệu về khai phá dữ liệu sử dụng thuật toán
về Decision Tree, phân loại dữ liệu, mô hình dự báo
b) Nghiên cứu thực nghiệm
- Tiến hành thu thập và tổng hợp các tài liệu liên quan đến hướng nghiệp chọn nghề, các phương pháp chọn nghề phù hợp
- Ứng dụng kết hợp kỹ thuật phân loại và mô hình cây quyết định để xây dựng ứng dụng hỗ trợ học sinh đưa ra kết luận chọn nghề
- Tiến hành kiểm thử, so sánh đánh giá hiệu suất của ứng dụng
5 Ý nghĩa khoa học và thực tiễn của luận văn
Áp dụng lý thuyết về khai phá dữ liệu vào việc hỗ trợ ra quyết định chọn nghề cho học sinh trong tương lai
Về mặt thực tiễn, ứng dụng có khả năng phân tích dữ liệu nghề nghiệp: đặc điểm nghề nghiệp, yêu cầu của nghề nghiệp, xu hướng thị trường nghề nghiệp Phân tích dữ liệu về cá nhân: tư duy, tính cách, khả năng thích ứng với nghề nghiệp theo
xu hướng thị trường nghề nghiệp trong tương lai
Giúp cho việc dự đoán nhằm hỗ trợ ra quyết định một cách khoa học, tránh được các tình huống chọn nghề theo phong trào, theo cảm tính
6 Cấu trúc luận văn
Luận văn được chia thành 3 chương như sau:
Trang 15MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
KẾT QUẢ NGHIÊN CỨU LUẬN VĂN
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
MỞ ĐẦU
Chương 1: Khái quát phát hiện tri thức và khai phá dữ liệu
Trình bày tổng quan về phát hiện tri thức từ cơ sở dữ liệu, làm rõ mối liên hệ giữa phát hiện tri thức từ cơ sở dữ liệu và khai phá dữ liệu (Data Mining) với cơ sở
dữ liệu Chương này tìm hiểu về các kỹ thuật KPDL, đặc biệt kỹ thuật khai phá dữ liệu bằng cây quyết định Ngoài ra chương còn giới thiệu các công cụ được sử dụng trong KPDL, các lĩnh vực liên quan, …
Chương 2: Cây quyết định trong chọn nghề
Chương này tìm hiểu về bài toán chọn nghề, phân tích và thiết kế chương trình cho bài toán chọn nghề Trong chương mô tả mô hình bài toán chọn nghề, các chức năng cần có trong hệ thống chọn nghề, xác định mối quan hệ cây quyết định C4.5 trong bài toán chọn nghề,…
Chương 3: Xây dựng hệ thống
Chương này tiến hành xây dựng CSDL cho hệ thống, đồng thời tiến hành áp dụng quy trình KPDL bằng cây quyết định C4.5 cho bài toán chọn nghề trên CSDL được xây dựng Tiến hành áp dụng dữ liệu thực nghiệm cho bài toán, xác định độ chính xác cây quyết định, xây dựng tập luật và kết quả thực nghiệm khi học sinh thực hiện chọn nghề trên hệ thống chọn nghề,…
KẾT LUẬN
TÀI LIỆU THAM KHẢO
PHỤ LỤC
Trang 16Chương 1: KHÁI QUÁT PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
Chương này trình bày tổng quan về phát hiện tri thức, KPDL từ cơ sở dữ liệu, làm rõ mối liên hệ giữa phát hiện tri thức từ cơ sở dữ liệu và khai phá dữ liệu (Data Mining) Chương này tìm hiểu về các kỹ thuật KPDL, đặc biệt kỹ thuật khai phá dữ liệu bằng cây quyết định Ngoài ra chương còn giới thiệu các công cụ được
sử dụng trong KPDL, các lĩnh vực liên quan, các khó khăn khi ứng dụng vào thực
tế, …
1.1 Phát hiện tri thức (Knowledge Discovery in Databases – PHTT)
Sự phát triển khoa học và công nghệ, đặc biệt công nghệ thông tin và truyền thông, thế giới đang chuyển biến tới một nền kinh tế và xã hội mà thông tin và tri thức được xem là nguồn lực chủ yếu Vì vậy kỹ thuật khai phá dữ liệu ra đời giúp con người khai thác tri thức để phát huy mọi tiềm năng của tri thức, đem lại những lợi ích về mặt kinh tế, quản lý, giáo dục,
1.1.1 Một số khái niệm:
1.1.1.1 Thông tin
Từ Latin ―Informatio‖, gốc của từ hiện đại ―Information‖ (thông tin), thuật
ngữ thông tin có thể hiểu theo hai hướng nghĩa: thứ nhất, thông tin là nói về một hành động cụ thể để tạo ra một hình dạng; thứ hai, thông tin là nói về sự truyền đạt một ý tưởng, một khái niệm hay một biểu tư ng [4]
Theo quan điểm triết học, thông tin là sự phản ánh của tự nhiên và xã hội (thế giới vật chất) bằng ngôn từ, ký hiệu, hình ảnh…hay nói rộng hơn bằng tất cả các phương tiện tác động lên giác quan của con người
Trong tin học: Thông tin là một khái niệm rất trừu tượng Thông tin được
hiểu như là sự thông báo, trao đổi, giải thích về một đối tượng nào đó và thường được thể hiện dưới dạng các tín hiệu như chữ số, chữ viết, âm thanh, dòng điện chẳng hạn thông tin về kết quả học tập của học sinh được giáo viên chủ nhiệm ghi trong sổ liên lạc giúp cho các bậc phụ huynh biết về tình hình học tập của con em mình
Ta có thể hiểu thông tin là khái niệm chung nhất bao gồm mọi hiểu biết về các sự vật, hiện tượng, quan hệ mà con người thu nhận được qua trực giác, giao tiếp, khảo sát, thực nghiệm, lý giải, nghiên cứu
Data - D liệu là một khái niệm trừu tượng, là thông tin đã được đưa vào
máy tính Dữ liệu sau khi tập hợp lại và xử lí sẽ cho ta thông tin Dữ liệu thường được cho bởi các giá trị mô tả các sự kiện, hiện tượng cụ thể; Dữ liệu là số liệu, đặc điểm, chi tiết của một sự vật hiện tượng được lưu trữ trong máy tính Ví dụ: điểm
Trang 17thi của một thí sinh, thông tin của một thí sinh, hình ảnh, âm thanh, … được lưu trong máy tính
1.1.1.2 Tri thức
Davenport và Prusak (1998) cho rằng: ―Tri thức là một dạng tổng hợp các kinh nghiệm, giá trị, các thông tin ngữ cảnh, các hiểu biết chuyên sâu cung cấp một khung sườn để đánh giá và thu nạp thêm kinh nghiệm và thông tin mới Nó phát xuất và nhúng vào trong tư duy của người biết Trong các tổ chức, tri thức không chỉ được tìm thấy dưới dạng các văn bản và kho lưu trữ, mà còn ở các thói quen của
tổ chức, các quy trình, các biện pháp thực hành, và các chuẩn mực‖ [5]
Theo Nonaka: ―Tri thức là một quá trình điều chỉnh niềm tin cá nhân hướng
tới chân lí‖ [6]
Ta có thể xem tri thức là những hiểu biết có mức độ khái quát nào đó, về các mối quan hệ giữa các thuộc tính, các sự vật, hiện tượng, mang tính ―qui luật‖ ở chừng mực nhất định, mà con người thu được qua từng trải kinh nghiệm, qua phân tích số liệu, qua nghiên cứu, lý giải, suy luận
1.1.2 Tổ chức và khai thác thông tin truyền thống
Thông tin được chuyển thành dữ liệu lưu trữ trong các CSDL để lưu trữ và khai thác từ những năm 1960 Từ đó đến nay có nhiều mô hình cơ sở dữ liệu, hệ quản trị CSDL (Database Management System – HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU) đã ra đời, phát triển và khai thác thông tin ở mọi quy mô và tất cả các lĩnh vực: kinh doanh, tài chính, quản lý, giáo dục,… Nhiều hệ quản trị cơ sở dữ liệu mạnh với các công cụ phong phú và thuận tiện đã giú p con người khai thác có hiệu quả các nguồn tài nguyên dữ liệu Mô hình cơ sở dữ liệu quan hệ và ngôn ngữ truy vấn chuẩn SQL đã có vai trò hết sức quan trọng trong việc tổ chức và khai thác thông tin từ các CSDL
Trang 181.1.3 Phát hiện tri thức
1.1.3.1 Sự cần thiết của phát hiện tri thức
Có thể nói nguời có đầy đủ thông tin chính xác sẽ là nguời chiến thắng; Trong đại dương thông tin, làm thế nào để biết chọn những dữ liệu hay những thông tin mà mình mong muốn - những thông tin chính thống? Đặc biệt đó là những thông tin kinh tế, các thông tin hỗ trợ ra quyết định, … Trong đại dương của thông tin được truyền tải hàng ngày trên mạng, làm thế nào để biết chọn những dữ liệu mà khách hàng hay các doanh nghiệp quan tâm? Việc này bản thân những nhà lãnh đạo doanh nghiệp sẽ không có đủ sức để tự mình tra cứu; nhưng họ lại rất cần những thông tin; dữ liệu hữu ích cho từng lĩnh vực khác nhau đang trở thành một trong những đòi hỏi căn bản
Dữ liệu do con người tạo ra ngày càng nhiều hơn về số lượng, tăng nhanh về khối lượng Các hệ thống thông tin đượ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, hành chính, tài chính, kinh tế, quản lý, giáo dục …Và trong thời đại công nghệ thông tin hiện nay, qua mạng viễn thông và vệ tinh toàn cầu, mạng internet,… chỉ trong vòng một giây đã có tới vài nghìn các loại thông tin khác nhau được chuyển tải Vì vậy, hệ thống thông tin bên cạnh chức năng khai thác dữ liệu có tính chất tác nghiệp còn phải có 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
Vì các phương thức truyền thống nhằm chuyển dữ liệu thành các tri thức phụ thuộc vào các phân tích và giải thích của các chuyên gia Chẳng hạn như trong lĩnh vực chăm sóc sức khỏe, các chuyên gia thường phải định kỳ phân tích các xu hướng hiện tại và các thay đổi trong dữ liệu chăm sóc sức khỏe Sau đó họ sẽ lập một báo cáo phân tích chi tiết để gửi lên trên, báo cáo này sẽ là cơ sở để đưa ra các quyết định trong tương lai và lập kế hoạch cho công tác quản lý y tế Trong rất nhiều lĩnh vực khác như khoa học, tài chính, tiếp thị, hoạt động bán lẻ hoạt động phân tích
dữ liệu đều chủ yếu nhờ vào các chuyên gia có kinh nghiệm [7]
Vì vậy 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 để khai thác tri thức trong đại dương dữ liệu đã ra đời Các kỹ thuật đó được gọi chung là kỹ thuật tạo kho dữ liệu (data warehous-ing) 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
Trang 19nhà nghiên 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]
Tiến trình PHTT bao gồm các giai đoạn: Chuẩn bị dữ liệu, tìm kiếm mô hình, khai phá dữ liệu, đánh giá mẫu và sử dụng tri thức khai phá được Thuật ngữ
―mẫu tiềm ẩn‖ được hiểu là mối quan hệ trong dữ liệu chẳng hạn như những sinh viên học giỏi toán và tiếng anh thì có điểm trung bình cuối khóa cao, ―hợp lệ‖ bởi vì chứng minh được tính đúng của mô hình Thuật ngữ ―mới lạ‖ hàm ý rằng những mẫu khai phá được là không biết trước
b Quá trình PHTT
Giai đoạn 1: Chọn lọc dữ liệu: Đây là giai đoạn tập hợp các dữ liệu được khai
thác từ một CSDL, một kho dữ liệu, thậm chí từ các nguồn ứng dụng web vào một CSDL riêng Chú ng ta chỉ chọn ra những dữ liệu cần thiết cho các giai đoạn sau
Thực hiện giai đoạn này gồm các bước sau:
Trang 20 Bước 1: Nghiên cứu lĩnh vực
Ta cần phải tìm hiểu lĩnh vực ứng dụng, xác định rõ mục tiêu và nhiệm vụ của bài toán Giai đoạn này giúp ta xác định những tri thức cần chắc và lựa chọn kỹ thuật khai phá dữ liệu thích hợp với mục tiêu của ứng dụng và đặc điểm của dữ liệu
Bước 2: Thu thập dữ liệu
Sau khi xác định được mục tiêu của bài toán, có các mô tả đầy đủ về mục tiêu cần đạt tới ta tiến hành thu thập các dữ liệu liên quan (các thông tin cần thiết, phù hợp với mục tiêu của quá trình khai phá dữ liệu bao gồm cả các thuộc tính sẽ được xem xét) Công việc này bao gồm thu thập những dữ liệu có sẵn, thu thập dữ liệu cần thiết bổ sung Sau đó, ta tích hợp tất cả xây dựng tập tin để lưu trữ các dữ liệu đầu vào để máy tính có thể lưu trữ và xử lý
Giai đoạn 2: Tiền xử lý dữ liệu
Ở bước này ta tiến hành bỏ bớt những dữ liệu rườm rà, không cần thiết, tinh chỉnh lại cấu trúc của dữ liệu và mã hóa chúng để tiện cho quá trình xử lý
Dữ liệu trong thực tế thường chưa sẵn sàng cho việc khai phá dữ liệu chẳng hạn như thiếu các thuộc tính quan tâm, thiếu giá trị của thuộc tính Vì vào thời điểm thu thập chúng không được coi là quan trọng, các dữ liệu liên quan không được ghi lại do một nguyên nhân chủ quan, hoặc do sự cố thiết bị Ngoài ra cũng có trường hợp các dữ liệu đã được lưu trữ nhưng vì một lý do nào đó đã bị xóa đi, cũng như việc ghi chép sự biến đổi mang tính lịch sử của các giao dịch có thể bị bỏ qua mà chỉ giữ lại những thông tin tổng hợp vào thời điểm xét Việc trùng lặp hoặc thiếu dữ liệu có thể dẫn tới việc thống kê không chính xác, thậm chí là cho một kết quả sai hay nói một cách khác dữ liệu không chất lượng cho kết quả khai phá không tốt, những quyết định đúng đắn phải dựa trên các dữ liệu chính xác, dữ liệu tốt là chìa khóa tạo ra các mô hình giá trị và đáng tin cậy Do đó dữ liệu cần phải được tiền xử
lý
Quá trình này đòi hỏi phải có một kỹ thuật phù hợp sao cho dữ liệu sau khi được rút gọn vẫn có khả năng được khai phá hiệu quả Việc rút gọn dữ liệu bao gồm các phương pháp như tổng hợp và tổng quát hóa, giảm chiều dữ liệu, nén dữ liệu, giảm số lượng các bản ghi, rời rạc hóa
Tổng hợp dữ liệu và tổng quát hóa dữ liệu: tổ hợp từ hai thuộc tính trở lên thành một thuộc tính, tổng quát dữ liệu cấp thấp sang dữ liệu cấp cao chẳng hạn như các thành phố tổng hợp vào vùng, khu vực, nước…
Giảm chiều dữ liệu: thực hiện trích chọn đặc trưng, tìm ra tập các thuộc tính có khả năng khai phá tốt nhất loại bỏ các thuộc tính không liên quan,
Trang 21dư thừa bằng phương pháp vét cạn, phương pháp heuristic, cây quyết định khi đó các thuộc tính nằm trong cấu trúc cây quyết định sẽ được lựa chọn để khai phá dữ liệu Thuộc tính nào không được đưa vào cây quyết định sẽ bị loại bỏ, do thuộc tính đó có ảnh hưởng không lớn đến kết quả
Cách tiếp cận chính để làm giảm số bản ghi dữ liệu là lấy mẫu ngẫu nhiên Thay vì tiến hành khai phá trên tập toàn bộ các trường hợp, các mẫu ngẫu nhiên được thu thập Có hai cách để lấy mẫu:
o Mẫu tăng dần: Phương pháp này tiến thử nghiệm với một tập mẫu lấy từ dữ liệu nguồn, dùng mẫu này để đánh giá hiệu quả Tiếp theo lấy các mẫu với số lượng trường hợp tăng dần và so sánh độ hiệu quả với tập mẫu trước đó Nếu hiệu quả được cải thiện thì tiếp tục quá trình lấy mẫu, ngược lại quá trình sẽ dừng
o Mẫu trung bình: nếu chương trình chỉ có khả năng xử lý N trường hợp thì lấy k mẫu, mỗi mẫu có N trường hợp để xử lý
Dữ liệu được lấy từ các mẫu trên sẽ có kích thước nhỏ hơn nhiều so với toàn
bộ kho dữ liệu Ngoài ra, việc tổng hợp các kết quả để thu được kết quả cuối có độ sai lệch thấp hơn so với chỉ lấy một tập mẫu Nếu số mẫu lấy đủ lớn, kết quả thu được sẽ tương đương với kết quả từ việc xử lý cả kho dữ liệu
Nhiệm vụ làm sạch dữ liệu bao gồm các công đoạn: Điền các giá trị còn thiếu; xác định các sai biệt và khử dữ liệu tạp, nhiễu; sửa chữa các dữ liệu mâu thuẫn Đối với việc xử lý dữ liệu bị thiếu có một số giải pháp sau:
Bỏ qua mẫu dữ liệu đó nếu mẫu dữ liệu chứa nhiều thuộc tính thiếu giá trị
Điền vào các giá trị thiếu bằng tay: Phương pháp này thường tốn thời gian và
có thể không khả thi cho một tập dữ liệu nguồn lớn với nhiều giá trị bị thiếu
Bổ sung các giá trị thiếu này bằng phương pháp toán học, có thể chọn một trong ba cách sau:
o Thay thế giá trị thiếu bằng một hằng số chuẩn
o Thay thế giá trị thiếu bằng giá trị trung bình cùng thuộc tính
o Thay thế giá trị thiếu bằng giá trị trung bình cùng thuộc tính và lớp Phương pháp này có ưu điểm là đơn giản, nhưng có hạn chế là giá trị thay thế không phải giá trị đúng hoàn toàn Nếu thay thế giá trị thiếu bằng một hằng số hoặc một vài giá trị định trước sẽ làm cho dữ liệu mất tính khách quan Ví dụ nếu giá trị thiếu được thay thế bằng trung bình của thuộc tính cùng lớp sẽ làm cho các giá trị này hội tụ vào một tập tương ứng với lớp có số trường hợp bị thiếu lớn nhất
Trang 22 Bổ sung các giá trị thiếu sử dụng phương pháp logic, thường sử dụng các kỹ thuật cây quyết định hoặc luật quyết định Phương pháp này tỏ
ra có ưu thế hơn phương pháp toán học do tập luật được xây dựng trên
dữ liệu thực, vì thế kết quả có độ tin cậy cao hơn
Đối với việc xử lý dữ liệu nhiễu có một số giải pháp sau:
Phương pháp chia giỏ: sắp xếp và chia dữ liệu vào các giỏ theo độ rộng (chia vùng giá trị thành N khoảng cùng kích thước), hoặc theo độ sâu (chia vùng giá trị thành N khoảng mà mỗi khoảng có chứa gần như cùng số lượng mẫu) Khử nhiễu bằng giá trị trung bình, trung tuyến, biên giỏ…
Hồi quy: Phương pháp thường dùng là hồi quy tuyến tính, để tìm ra được một mối quan hệ tốt nhất giữa hai thuộc tính (hoặc các biến), từ
đó một thuộc tính có thể dùng để dự đoán thuộc tính khác
Phân cụm: Các giá trị tương tự nhau được tổ chức thành các nhóm hay cụm Các giá trị rơi ra bên ngoài các nhóm này sẽ được xem xét
để làm mịn
Giai đoạn 3: Chuy n đ i dữ liệu
Trong giai đoạn này dữ liệu sẽ được chuyển đổi về dạng thuận tiện để tiến
hành các thuật toán khai phá dữ liệu
Một số kỹ thuật áp dụng cho quá trình chuyển đổi dữ liệu:
Chuyển đổi kiểu dữ liệu: Đây là một kỹ thuật đơn giản nhất Chẳng hạn như chuyển các cột dữ liệu kiểu logic sang dạng nguyên và ngược lại
Rời rạc hóa: biến đổi miền giá trị thuộc tính liên tục thành từng khoảng, lưu nhãn của khoảng thay cho giá trị thực Chẳng hạn như thay thế giá trị tuổi bằng các nhãn như trẻ, trung niên, già
Nhóm: Kỹ thuật này phân loại các giá trị trong một cột thành các nhóm, sau đó ánh xạ giá trị ban đầu sang các giá trị nhóm tương ứng Chẳng hạn cột nghề nghiệp có những giá trị khác nhau như kỹ sư cơ khí, kỹ sư công nghệ thông tin, kỹ sư xây dựng… thì chúng ta có thể nhóm chúng lại thành nhóm kỹ sư
Tập hợp: những thông tin lưu trữ trong cơ sở dữ liệu là rất chi tiết, chúng ta có thể tập hợp chúng lại thành vài thuộc tính tổng hợp Chẳng hạn chúng ta muốn phân loại khách hàng dựa trên những thông tin sử dụng điện thoại hàng tháng của khách hàng, chúng ta có thể tập hợp những thông tin này
Trang 23thành một vài thuộc tính tổng hợp như tổng số cuộc gọi hay thời gian trung bình các cuộc gọi
Tổng quát hóa: Dữ liệu ở mức thấp (dữ liệu nguyên thủy) có thể được thay thế bằng các khái niệm ở mức cao hơn Chẳng hạn những loài cây có thể được tổng quát ở mức cao hơn là thực vật
Chuẩn hóa: Một thuộc tính được chuẩn hóa bằng cách ánh xạ một cách có tỉ lệ dữ liệu về một khoảng xác định ví dụ như 0.0 đến 1.0 Chuẩn hóa
là một phần hữu ích của thuật toán phân lớp trong mạng noron, hoặc thuật toán tính toán độ lệch sử dụng trong việc phân lớp hay nhóm cụm các phần tử liền kề
Giai đoạn 4: Khai phá dữ liệu
Trong giai đoạn này ta sử dụng các kỹ thuật nhằm phát hiện ra các tri thức tiềm ẩn trong dữ liệu
Giai đoạn này gồm các bước sau:
Bước 1: Chọn kỹ thuật khai phá dữ liệu
Tùy thuộc vào yêu cầu của bài toán để chọn kỹ thuật khai phá phù hợp Bao gồm các kỹ thuật khai phá như:
Phân lớp: Là việc xác định một hàm ánh xạ từ một mẫu dữ liệu vào một trong số các lớp đã được biết trước đó Mục tiêu của thuật toán phân lớp là tìm ra mối quan hệ nào đó giữa thuộc tính dự báo và thuộc tính phân lớp Một điều cần chú ý là khác với bài toán phân cụm, dữ liệu dùng để xây dựng mô hình (Training Data) trong bài toán phân lớp phải được xác định lớp trước (pre-Labeled) Ví dụ xác định một sinh viên thuộc có nguy cơ thôi học hoặc không thôi học, hay dự đoán bệnh dựa vào các triệu chứng lâm sàng của người bệnh Quá trình phân lớp dữ liệu thường gồm các bước: huấn luyện mô hình, kiểm thử mô hình và tính toán sai số để đánh giá mô hình Dữ liệu gốc sẽ được chia thành 2 phần là tập dữ liệu huấn luyên để xây dựng mô hình và tập dữ liệu kiểm thử để kiểm định mô hình tương ứng với hai bước trên Trong kỹ thuật phân lớp chúng ta có thể sử dụng các phương pháp như: cây quyết định, K – láng giềng gần nhất, mạng noron, giải thuật di truyền, mạng Bayesian, tập mờ
và tập thô
Hồi qui: 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 phải rời rạc
Trang 24 Phát hiện mẫu tuần tự: tương tự như phát hiện luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này có tính dự báo cao
Phân cụm: Mục tiêu chính của việc 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 mức độ tương tự nhau trong cùng một cụm là lớn nhất và mức độ tương tự nhau giữa các đối tượng nằm trong các cụm khác nhau là nhỏ nhất Các cụm có thể tách rời nhau hoặc phân cấp hay gối lên nhau Có nghĩa là một đối tượng có thể vừa thuộc cụm này lại vừa thuộc cụm khác 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
do đó có thể coi phân cụm dữ liệu là một cách học bằng quan sát còn phân lớp
dữ liệu là học bằng ví dụ Với phương pháp này 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 cho nên thông thường cần 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 ứng dụng nhiều trong phân đoạn thị trường, phân loại khách hàng, nhận dạng mẫu,… Ngoài ra phân cụm dữ liệu còn đượ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 Một số thuật toán phân cụm điển hình: K-means, PAM, EM
Phân tích 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 biểu diễn dưới dạng luật Trong
kỹ thuật phân tích luật kết hợp chúng ta có thể sử dụng các giải thuật như: thuật toán Apriori, thuật toán FP-Growth
Bước 2: Chọn thuật toán khai phá
Trong mỗi kỹ thuật khai phá có thể có nhiều giải thuật khai phá, việc chọn thuật toán nào để có hiệu quả cao phụ thuộc vào rất nhiều yếu tố như độ lớn của tập dữ liệu khai phá, cấu trúc của tập dữ liệu, tập dữ liệu có hay không có thuộc tính bị thiếu nhiều giá trị…
Bước 3: Khai phá dữ liệu
Với một tập dữ liệu đã được tiền xử lý ta tiến hành khai phá dữ liệu bằng kỹ thuật khai phá đã chọn Trong bước này, chúng ta có thể cần phải thực hiện các thuật toán nhiều lần cho đến khi thu mô hình với độ chính xác chấp nhận được
Giai đoạn 5: á nh giá kế t quả m u
Đây là giai đoạn cuối cùng trong tiến trình PHTT Trong giai đoạn này, các
mẫu dữ liệu được chiết xuất bởi các phần mềm khai phá dữ liệu Không phải bất cứ
Trang 25mẫu nào cũng đều có ích, thậm chí còn bị sai lệch Chính vì vậy, cần phải xác định
và lựa chọn những tiêu chuẩn đánh giá sao cho sẽ chiết xuất ra các tri thức cần thiết
Giai đoạn này có thể chia thành các bước sau:
Bước 1: ánh giá mô hình
Trong giai đoạn này, ta đánh giá độ tin cậy của mô hình khai phá được cũng như tính hữu dụng của các mô hình đối với các mục tiêu được xác định ban đầu
Bước 2: Sử dụng các tri thức phát hiện được
Đây là giai đoạn cuối cùng của quá trình phát hiện tri thức, tri thức khai phá được có thể được sử dụng trực tiếp hoặc được biểu diễn dưới các hình thức thuận tiện cho người sử dụng cuối
đủ dài để lấy được một mẫu không thực sự có ích như khái niệm trong thống kê trước đây Vì vậy, KPDL thường bao gồm việc thử tìm mô hình phù hợp với tập dữ liệu và tìm kiếm các mẫu từ tập dữ liệu theo mô hình đó Chẳng hạn ta có mô hình
là một luật kết hợp thì mẫu là các yếu tố tham gia cùng với các độ hỗ trợ và độ tin cậy trong các luật tương ứng Mặc dù các mẫu có thể được trích lọc từ bất kỳ CSDL nào nhưng chỉ có các mẫu được xem là đáng quan tâm xét theo một phương diện nào đó mới được coi là tri thức Các mẫu là đáng quan tâm nếu chúng là mới, phù
Trang 26hợp, có giá trị, Một mẫu được xem là mới, phụ thuộc vào khung tham chiếu cho trước, có thể đó là phạm vi tri thức của hệ thống hoặc là phạm vi tri thức của người dùng Đối với hệ thống, tri thức này có thể trước kia chưa biết và rất có ích nhưng đối với một người sử dụng đang thử phân tích các bản ghi về các yêu cầu bảo hiểm thì mẫu này lại không cần thiết và không đáng quan tâm vì không thể hiện được tri thức cần tìm Tri thức là có ích khi nó có thể giúp đạt được mục đích của hệ thống hay của người sử dụng KPDL được coi như một quá trình phát hiện các mẫu mới đáp ứng được các yêu cầu trên, các tương quan mới có ý nghĩa, các xu hướng bằng cách khai thác trong các khối dữ liệu của kho dữ liệu, sử dụng các kỹ thuật và các khái niệm của các lĩnh vực đã được nghiên cứu từ trước như: học máy, 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, cây quyết định, …
KPDL là một nhu cầu tất yếu, một sự nhạy cảm đáp lại sự mong mỏi của giới kinh doanh, nhà quản lý thì về mặt kỹ thuật nhưng nó thực sự là một khó khăn và là
cả sự thách thức đối với những nhà khoa học KPDL được xây dựng dựa trên việc
sử dụng các giải thuật mới, được định hướng theo nhu cầu kinh doanh, quản lý để
có thể giải quyết tự động các bài toán kinh doanh, quản lý bằng các kỹ thuật dễ dùng và có thể hiểu được Các kỹ thuật đang được nghiên cứu và sử dụng hiện nay bao gồm cây quyết định (CART, CHAID, AID), mạng neuron, phương pháp láng giềng gần nhất, các luật suy diễn, v.v…
1.2.2 Lịch sử KPDL
1.2.2.1 Sự hình thành ngành khoa học thống kê
Khái niệm trong thống kê toán như giá trị trung bình hay sự phân nhóm đã
có từ thời cổ đại ở Trung Quốc sau khi người ta phát minh ra bàn tính Ở Trung Quốc và Hy Lạp cổ đại, sự phát triển của khoa học thống kê giúp cho giai cấp thống
Trang 27trị quản lý một cách hiệu quả những vấn đề về ngân khố và quân sự Trong thế kỷ
16 và 17, các trò chơi may rủi rất phổ biến trong giới thượng lưu Những câu hỏi về xác suất thường được đặt ra cho các nhà toán học đã thúc đẩy những nghiên cứu về xác suất thống kê trong giai đoạn sau đó
1.2.2.2 Phân tích thống kê hiện đại: Thế hệ thứ nhất
Giai đoạn phát triển đầu tiên của ngành khoa học thống kê được phát triển vào thế kỷ thứ 18, có hai nhánh của khoa học phân tích thống kê: Thống kê Bayes
và thống kê phân lớp Theo lý thuyết thống kê Bayes thì xác suất của xảy ra của một
sự kiện được tính bằng xác suất xảy ra sự kiện đó trong quá khứ nhân với khả năng xảy ra sự kiện đó trong tương lai
Lý thuyết xác suất đã lôi cuốn nhiều nhà khoa học trong lĩnh vực sinh học trong đó có Fisher Mục tiêu của Fisher trong việc phát triển hệ thống phân tích thống kê của ông là nhằm cung cấp cho các chuyên gia y học theo dõi thí nghiệm một tập các công cụ nhằm so sánh các kết quả nghiên cứu về hiệu quả của các phương pháp điều trị khác nhau, được thực hiện bởi các chuyên gia y tế khác nhau Tuy nhiên hệ thống của mình có thể làm việc với các mẫu lớn, Fisher phải đưa ra một số các giả định để định nghĩa ra "Mô hình tham chiếu"
Các giả định của mô hình tham chiếu:
- Dữ liệu là tương thích với phân bố đã biết
- Tính độc lập của các nhân tố: Trong các hệ thống dự đoán, biến được dự đoán (Y) được xem như là một hàm của các biến quan trắc được (X), các biến này được giả thiết là tác động một cách độc lập lên Y
- Tích lũy tuyến tính: Các biến X không chỉ độc lập mà tác động của chúng lên Y mang tính tích lũy và tuyến tính
- Tính biến đổi đều: Sự thay đổi giá trị trong miền xác định của mỗi biến được giả thiết là hằng số
- Các biến phải mang các giá trị số và liên tục
1.2.2.3 Phân tích thống kê hiện đại: Thế hệ thứ hai
Trong những năm 80 của thế kỷ XX, nghiên cứu toán học tiếp tục theo đường thống kê Fisherian bằng việc phát triển các phiên bản phi tuyến của phương pháp tham số Đa đường cong hồi quy là một trong những phương pháp tiếp cận đầu tiên cho kế toán cho phi tuyến trong dữ liệu phân tán liên tục
Trang 281.2.2.4 Phương pháp học máy: Thế hệ thứ ba
Đây là cách học máy bắt đầu của trao đổi trí thông minh nhân tạo trên 1 quá trình cho máy thông minh Theo đó, 1 vài cách đã theo 2 cách phát triển song song: mạng lưới neuron nhân tạo và cây quyết định:
- Mạng lưới Neuron nhân tạo
- Các cây quyết định
1.2.2.5 Học thuyết thống kê: Tổng quan thứ tư
Các kỹ thuật hồi quy logistic có thể tính toán cho sự kết hợp tác động qua lại giữa các yếu tố dự báo bởi hiệu quả của các chức năng vô tuyến mà xác định các biến thiên độc lập (Y) Một cách giải quyết khác là sắp xếp các điểm dữ liệu vào các vectors (như các hàng trong 1 mục lưu trữ khách hàng) Rất nhiều vectors được tạo
ra từ nhiều yếu tố (một cho mỗi thuộc tính trong lưu trữ khách hàng)
Nhiều gói phần mềm thương mại kèm theo thuật toán dựa tên Thuyết Học qua Thống Kê, đáng kể là STATISTICA Data Miner và KXEN (Knowledge Extraction Engine) Trong tương lai, ta sẽ thấy được nhiều thuật toán mạnh mẽ như thế này nữa trong những gói phần mềm thương mại Cuối cùng, những cách thức khai thác dữ liệu có thể sẽ tập trung quanh các bước cho phép những thuật toán này làm việc hiệu quả nhất Khi ta tích luỹ ngày càng nhiều dữ liệu, ta sẽ có thể ngày càng khám giá ra những cách thức thông minh để giả lập giống hơn hoạt động của máy học phức tạp nhất thế giới — bộ não người
1.2.2.6 Lịch sử phát triển của KPDL
- Thập niên 1960: Xuất hiện CSDL theo mô hình mạng và mô hình phân cấp
- Thập niên 1970: Thiết lập nền tảng lý thuyết cho CSDL quan hệ, các hệ quản trị CSDL quan hệ
- Thập niên 1980: Kỹ thuật KPDL ra đời, 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) Trong giai đoạn này đã hoàn thiện lý thuyết về CSDL quan hệ và các hệ quản trị CSDL quan hệ, xuất hiện các hệ quản trị CSDL cao cấp (hướng đối tượng, suy diễn, …) và hệ quản trị hướng ứng dụng trong lĩnh vực không gian, khoa học, công nghiệp, nông nghiệp, …
- Thập niên 90: Phát triển KPDL và kho dữ liệu, CSDL đa phương tiện, và CSDL Web
1.2.3 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,
Trang 29thườ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ớ Quá trình xử lý KPDL gồm các bước sau:
Bước 1: Xác định chính xác vấn đề cần giải quyết
Bước 2: Xác định các dữ liệu liên quan dùng để xây dựng giải pháp
Bước 3: 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
Bước 4: 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 đó
1.2.4 Khái quát về các kỹ thuật KPDL
1.2.4.1 Khai thác t p phổ biến và u t kết h p
Đây là kỹ thuật tìm các tập con của các luật kết hợp có trong CSDL Từ tập phổ biến có thể tạo ra các luật kết hợp giữa các giá trị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong tập các đối tượng
Một luật kết hợp X → Y phản ánh sự xuất hiện của tập X dẫn đến sự xuất hiện đồng thời của tập Y
Khai thác luật kết hợp được chia làm hai giai đoạn:
Giai đoạn 1: Khai thác tập phổ biến (FIs – Frequent Itemsets), có các
phương pháp sau:
Phương pháp Apriori (Agrawal et al., 1994)
Phương pháp IT-tree (Zaki et al., 1997)
Phương pháp FP-tree (Han et al., 2000)
v.v…
Giai đoạn 2: Sinh luật từ các tập phổ biến (ARs – Association)
Trang 30- Cây quyết định (Decision tree): Biểu diễn ở dạng cấu trúc hình cây Các quyết định này tạo ra các quy tắc để phân lớp và dự đoán tập dữ liệu mới chưa được phân lớp Tri thức được rút ra trong kỹ thuật này thường được mô tả dưới dạng tường minh, đơn giản, trực quan, dễ hiểu đối với người sử dụng
- Mạng Nơron (Neural Network): Kỹ thuật này bắt chước khả năng tìm kiếm mẫu của bộ não con người Việc huấn luyện theo phương pháp này được bắt đầu bằng việc cho vào một tập dữ liệu (gọi là tập dữ liệu huấn luyện) mạng sẽ tự động điều chỉnh (học) qua từng lớp trong mạng và cho ra kết quả, quá trình huấn luyện được lặp đi lặp lại nhiều lần Sau khi mạng học thành công thì nó được xem là một chuyên gia trong lĩnh vực đó [6]
1.2.4.3 Gom cụm
Gom cụm (clustering): là kỹ thuật nhận diện các tập con tiềm ẩn trong tập các đối tượng chưa được xếp lớp Tiến trình phân cụm dựa trên mức độ tương tự giữa các đối tượng Các đối tượng được gom cụm sao cho mức độ tương tự giữa các đối tượng trong cùng một cụm là cực đại và mức độ tương tự giữa các đối tượng nằm trong các cụm khác nhau là cực tiểu Các cụm được đặc trưng bằng các tính chất chung của tất cả các đối tượng trong cụm Một số kỹ thuật dùng trong gom cụm: phương pháp phân cấp và thuật giải k-means
- Trong phương pháp phân cấp gồm hai giai đoạn: ở giai đoạn gộp mỗi đối tượng thuộc về một lớp, dưới một ngưỡng nào đó chúng được gom lại và tiếp tục như vậy cho đến khi tất cả các đối tượng thuộc về cùng một cụm; còn ở giai đoạn tách sẽ tiến hành ngược lại so với giai đoạn gộp Trong phương pháp này,để đưa ra được ngưỡng người ta dựa vào liên kết đơn (khoảng cách gần nhất) và liên kết đôi (khoảng cách xa nhất) giữa hai cụm [6]
- Trong giải thuật K-means: khi tiến hành gom cụm ta cần phải biết trước số cụm Với mỗi cụm như vậy ta chọn phần tử trọng tâm, tiếp đến tính khoảng cách từ mỗi đối tượng đến phần tử trọng tâm ở tất cả các cụm và gán nó vào cụm có khoảng
Trang 31cách nhỏ nhất Quá trình này tiếp tục như vậy cho đến khi các cụm không còn biến đổi hoặc thoả điều kiện đặt ra
1.3 Kỹ thuật khai phá dữ liệu sử dụng cây quyết định
1.3.1 Cây quyết định:
1.3.1.1 Gi i thiệu cây quyết định:
Cây quyết định là một dạng đặc biệt của cấu trúc cây Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định
Cây quyết định có thể được dùng để phân lớp bằng cách xuất phát từ gốc của cây và di chuyển theo các nhánh cho đến khi gặp nút lá Trên cơ sở phân lớp này chúng ta có thể chuyển đổi về các luật quyết định Cây quyết định được sử dụng để
dự đoán những thành viên của đối tượng theo những đề mục khác nhau (lớp), đưa vào các giá trị mà có liên quan đến thuộc tính (biến dự đoán), phương thức cây quyết định là một trong những kỹ thuật KPDL chính
Việc phân loại được xây dựng bằng cây quyết định dựa trên đặc trưng:
Mỗi cây (nội bộ) (ví dụ nút riêng rẽ) miêu tả những thử nghiệm dựa trên một thuộc tính nhất định
Mỗi nhánh cây thể hiện kết quả của thử nghiệm
Mỗi nút lá (nút cuối cùng) miêu tả lớp (quyết định) Cây quyết định có
1.3.1.2 Cấu trúc cây quyết định:
Cấu trúc của một cây quyết định bao gồm các nút và các nhánh
Hình 1.2 Mô hình cây quyết định
Trang 32 Nhánh (branch): biểu diễn giá trị có thể có của thuộc tính
Nút (node): mỗi nút mạng một thuộc tính bao gồm 3 loại:
Nút gốc (root node) là đỉnh trên cùng của cây
Nút lá (leaf node) là nút ngoài cùng, mang thuộc tính phân lớp
Nút trong (internal node) là các nút còn lại, mang thuộc tính phân loại 1.3.2 Kỹ thuật KPDL sử dụng cây quyết định
1.3.2.1 Gi i thiệu kỹ thu t KPDL sử dụng cây quyết định:
Có nhiều mô hình phân lớp dữ liệu trong các lĩnh vực khác nhau như mô hình thống kê tuyến tính bậc 2, cây quyết định, di truyền, … Thì cây quyết định là một công cụ mạnh, phổ biến và đặc biệt thích hợp cho KPDL
Quy nạp cây quyết định là việc tìm kiếm các cây quyết định từ những bản ghi huấn luyện đã có nhãn lớp Mỗi cây quyết định là một cấu trúc cây kiểu lưu đồ, trong đó mỗi nút trong biểu thị một sự kiểm tra trên một thuộc tính nào đó, mỗi nhánh biểu diễn một kết quả của sự kiểm tra đó, còn mỗi nút lá chứa một nhãn lớp Nút ở trên cùng của cây là nút gốc, chứa tên của thuộc tính cần kiểm tra
Các cây quyết định được dùng cho phân lớp như thế nào? Cho một bản ghi X nào đó mà ta chưa biết nhãn lớp liên kết với nó, các giá trị thuộc tính của bản ghi đó được kiểm tra so với cây quyết định Dựa theo những cuộc kiểm tra đó, ta lần ra một đường đi từ gốc đến một nút lá chứa kết quả dự đoán lớp dành cho bản ghi ấy Các cây quyết định có thể dễ dàng được chuyển đổi thành các luật phân lớp, tức hình thức phân loại đơn giản và dễ hiểu nhất đối với con người
1.3.2.2 Xây dựng cây quyết định
Quá trình xây dựng cây quyết định gồm hai giai đoạn:
Giai đoạn thứ nhất: phát triển cây quyết định: Giai đoạn này phát triển bắt đầu từ gốc, đến từng nhánh và phát triển quy nạp theo cách thức chia để trị cho tới khi đạt được cây quyết định với tất cả các lá được gán nhãn lớp
Khung công việc của giai đoạn này:
- Bước 1: Chọn thuộc tính ―tốt‖ nhất bằng một độ đo đã định trước
- Bước 2: Phát triển cây bằng việc thêm các nhánh tương ứng với từng giá trị của thuộc tính đã chọn
- Bước 3: Sắp xếp, phân chia tập dữ liệu huấn luyện tới node con
- Bước 4: Nếu các ví dụ được phân lớp rõ ràng thì dừng Ngược lại: lặp lại bước 1 tới bước 4 cho từng node con
Giai đoạn thứ hai: cắt, tỉa bớt các nhánh trên cây quyết định Giai đoạn này nhằm mục đích đơn giản hóa và khái quát hóa từ đó làm tăng độ
Trang 33chính xác của cây quyết định bằng cách loại bỏ sự phụ thuộc vào mức độ nhiễu, lỗi của dữ liệu huấn luyện mang tính chất thống kê, hay những sự biến đổi mà
có thể là đặc tính riêng biệt của dữ liệu huấn luyện Giai đoạn này chỉ truy cập
dữ liệu trên cây quyết định đã được phát triển trong giai đoạn trước
1.3.2.3 Các vấn đề trong KPDL sử dụng cây quyết định
Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng cây quyết định gồm: xác định độ sâu để phát triển cây quyết định, xử lý với những thuộc tính liên tục, chọn phép đo lựa chọn thuộc tính thích hợp, sử dụng tập dữ liệu huấn luyện với những giá trị thuộc tính bị thiếu, sử dụng các thuộc tính với những chi phí khác nhau, và cải thiện hiệu năng tính toán
Cây quyết định dễ xảy ra lỗi khi có quá nhiều lớp Một số cây quyết định chỉ thao tác với những lớp giá trị nhị phân dạng yes/no hay accept/reject Số khác lại có thể chỉ định các bản ghi vào một số lớp bất kỳ, nhưng dễ xảy ra lỗi khi số ví dụ huấn luyện ứng với một lớp là nhỏ Điều này xảy ra càng nhanh hơn với cây mà có nhiều tầng hay có nhiều nhánh trên một node
Chi phí tính toán đắt để huấn luyện: Cây quyết định có rất nhiều node trong trước khi đi đến lá cuối cùng Tại từng node, cần tính một độ đo (hay tiêu chuẩn phân chia) trên từng thuộc tính, với thuộc tính liên tục phải thêm thao tác sắp xếp lại tập dữ liệu theo thứ tự giá trị của thuộc tính đó Sau đó mới có thể chọn được một thuộc tính phát triển và tương ứng là một phân chia tốt nhất Quá trình cắt tỉa cây cũng ―đắt‖ vì nhiều cây con ứng cử phải được tạo ra và so sánh
1.3.3 Thuật toán sử dụng xây dựng cây quyết định
Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớp và đưa
ra dự đoán Cây quyết định được tạo thành bằng cách lần lượt chia (đệ quy) một tập
dữ liệu thành các tập dữ liệu con, mỗi tập con được tạo thành chủ yếu từ các phần tử của cùng một lớp Lựa chọn thuộc tính để tạo nhánh thông qua Entropy và Gain Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học
và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước
Dữ liệu được cho dưới dạng các bản ghi có dạng:( , )x y ( ,x x x1 2, 3, ,x y k, ) Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa x x x1, 2, 3 là các biến sẽ giúp ta thực hiện công việc đó
1.3.3.1 Thu t toán CLS (Concept Learning System)
Thuật toán này được phát triển bởi Holland và Hint Thuật toán có:
Trang 34 Đầu vào: Tâp huấn luyện Tập huấn luyện bao gồm các mẫu, mỗi mẫu là một bộ các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó
Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập huấn luyện
Thuật toán được thiết kế theo chiến lược chia để trị từ trên xuống, gồm các bước:
Bước 1 Tạo một nút T, nút này bao gồm tất cả các mẫu của tập huấn luyện Bước 2 Nếu tất cả các mẫu thuộc T đều thuộc cùng một lớp, giả sử có thuộc
tính quyết định mang giá trị "Yes" thì gán nhãn cho nút T là "Yes" và dừng lại Nút T lúc này là nút lá
Tương tự nếu tất cả các mẫu trong T đều thuộc cùng một lớp và giả sử
có thuộc tính quyết định mang giá trị "No" thì gán nhãn cho T là "No" và dừng lại Nút T lúc này là nút lá
Bước 3 Trường hợp ngược lại tức các mẫu của tập huấn luyện thuộc cả hai
lớp "Yes" và "No":
o Chọn một thuộc tính X trong tập thuộc tính của tập mẫu, X có các giá trị
x1, x2, x3, ,xn
o Chia tập mẫu trong T thành các tập con T1, T2, T3 Tn theo giá trị của X
o Tạo n nút con Ti (i=1 n) với nút cha là nút T
o Tạo các nhánh nối từ nút T đén các nút Ti với nhãn là các giá trị của X
Bước 4 Thực hiện lặp cho các nút con Ti từ bước 2
Thuộc tính được chọn để triển khai cây ở bước 4 là tùy ý Do vậy cùng với một tập dữ liệu huấn luyện ban đầu, nếu sử dụng thuật toán với thứ tự chọn thuộc tính triển khai cây là khác nhau ta sẽ thu được các cây quyết định khác nhau Việc lựa chọn thuộc tính sẽ ảnh hưởng tới độ rộng, độ sâu và độ phức tạp của cây CLS là một trong những thuật toán ra đời sớm nhất và thường áp dụng cho các CSDL có số lượng các thuộc tính nhỏ, giá trị các thuộc tính là rời rạc, còn đối với các CSDL lớn và có chứa các thuộc tính mà giá trị của nó là liên tục thì CLS làm việc ít hiệu quả Thuật toán có thể cho các kết quả khác nhau với cùng một tập dữ liệu đầu vào Ưu điểm chính của CLS là thuật toán đơn giản, dễ cài đặt
Trang 351.3.3.2 Thu t toán ID3
a Gi i thiệu thu t toán ID3
Giải thuật quy nạp cây ID3 (gọi tắt là ID3) là một giải thuật học đơn giản nhưng thành công trong nhiệm lĩnh vực Thuật toán ID3 được phát triển bởi Quinlan và được công bố vào cuối thập niên 70 của thế kỷ 20 Sau đó, thuật toán ID3 được giới thiệu và trình bày trong mục Induction on Decition Trees, Machine Learning năm
1986
ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree) Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó
Giải thuật ID3 là học cây quyết định từ một tập huấn luyện hay còn gọi là dữ liệu rèn luyện (training data), giải thuật có:
Đầu vào: Tâp huấn luyện, thuộc tính chứa giá trị phân loại của cây, danh sách các thuộc tính dùng kiểm tra tính quyết định của cây Tập huấn luyện bao gồm các mẫu, mỗi mẫu là một bộ các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó
Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai
Giải thuật ID3 xây dựng cây quyết định từ trên xuống
- Entropy: dùng để do tính thuần nhất của một tập dữ liệu Entropy của một tập S
có n phân lớp được tính theo công thức:
- Information Gain (viết tắt là Gain): Gain là đại lượng dùng để đo tính hiệu quả
của một thuộc tính được lựa chọn cho việc phân lớp
+ Cho tập dữ liệu S gồm có n thuộc tính 𝐴𝑖(𝑖 = 1, 2 … 𝑛) giá trị Information của thuộc tính 𝐴𝑖 ký hiệu là 𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛 (𝐴𝑖) được xác định bởi công thức:
Trang 36 S là tập hợp ban đầu với thuộc tính A Các giá trị của v tương ứng là các giá trị của thuộc tính A
𝑣 bằng tập hợp con của tập S mà có thuộc tính A mang giá trị v
| 𝑣| là số phần tử của tập 𝑣
| | là số phần tử của tập
Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước triển khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất
b Mã giả thu t toán ID3
Function ID3(Taphuanluyen, DuDoan, Tap_thuoc_tinh)
begin
if mọi mẫu trong TapHuanLuyen đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó
else if Tap_thuoc_tinh là rỗng then
return nút lá được gán nhãn bởi tuyển của tất cả các lớp
trong taphuanluyen
else begin
1 Chọn một thuộc tính P có giá trị Gain lớn nhất, lấy nó làm gốc cho cây hiện tại;
2 Xóa P ra khỏi Tap_thuoc_tinh;
3 Với mỗi giá trị V của P
begin
1 Tạo một nhánh của cây gán nhãn V;
2 Đặt vào phân_vùng_V /* các mẫu trong
t phuan uyen có giá trị V tại thuộc tính P */;
Trang 373 Gọi
ID3(phân_vùng_V, DuDoan, Tap_thuoc_tinh)
Và gắn kết quả vào nhánh V
end end
end
c Ví dụ minh họa thu t toán ID3
Xét bài toán xem ta đã chọn ngành đúng với tính cách và năng lực của học sinh chƣa Giải thuật ID3 sẽ học cây quyết định từ tập hợp các ví dụ sau:
Bảng 2.1 Tập huấn luyện chọn ngành
ba giá trị: cao, bt, thap; DiemMH có ba giá trị: Gioi, Kha, tb; Gt có hai giá trị: yes,
no
Trang 38Thuộc tính dự đoán S ‗ChonLua‘ có hai giá trị ―yes‖, ―no‖ S1: ChonLua =
―yes‖; S2: ChonLua= ―no‖
I(S) = I(S1,S2) = I (4,10) = (-4/14)*log2(4/14)-(10/14)*log2(10/14)= 0.8631
Đối với thuộc tính GT có:
Bảng 2.2 Tập huấn luyện nhánh DiemMH chứa giá trị ―Gioi‖
nhomST GTNganh ChonLua
Trang 39 Nhánh kha:
Bảng 2.3 Tập huấn luyện nhánh DiemMH chứa giá trị ―kha‖
nhomST GTNganh ChonLua
với GTNganh = “yes‖: yes
với GTNganh = “no‖: no
Trang 401.3.3.3 Thu t toán C4.5
Thuật toán C4.5 do Quilan phát triển vào năm 1996 Thuật toán được cải tiến
từ thuật toán ID3 với việc cho phép xử lý trên tập dữ liệu có các thuộc tính số và
làm việc được với tập dữ liệu bị thiếu và nhiễu
Hai độ đo được sử dụng trong C4.5 là information gain và gain ratio
RF(C j , S) biểu diễn tần xuất (Relative Frequency) các case trong S thuộc về lớp C j
RF (C j , S) = |S j | / |S|
Với |Sj| là kích thước tập các case có giá trị phân lớp là Cj |S| là kích thước
tập dữ liệu đào tạo
Chỉ số thông tin cần thiết cho sự phân lớp: I(S) với S là tập cần xét sự phân phối lớp được tính bằng:
I(S) = ∑ ( ) 𝑜 Sau khi S được phân chia thành các tập con S1, S2,…, St bởi test B thì
information gain được tính bằng:
Test B sẽ được chọn nếu có G(S, B) đạt giá trị lớn nhất
Gain(S,B) = I(S) - ∑ | | ||𝐼 Tuy nhiên có một vấn đề khi sử dụng G(S, B) ưu tiên test có số lượng lớn kết quả, ví dụ G(S, B) đạt cực đại với test mà từng Si chỉ chứa một case đơn Tiêu chuẩn gain ratio giải quyết được vấn đề này bằng việc đưa vào thông tin tiềm năng (potential information) của bản thân mỗi phân hoạch
P(S,B) = -∑ | |
| | | | ||
Test B sẽ được chọn nếu có tỉ số giá trị gain ratio = Gain(S, B) / P(S,
B) lớn nhất
Trong mô hình phân lớp C4.5 release8, có thể dùng một trong hai loại
chỉ số Information Gain hay Gain ratio để xác định thuộc tính tốt nhất Trong đó Gain ratio là lựa chọn mặc định
Với thuộc tính liên tục
Xử lý thuộc tính liên tục đòi hỏi nhiều tài nguyên tính toán hơn thuộc tính rời rạc Gồm các bước sau:
(1) Kỹ thuật Quick sort được sử dụng để sắp xếp các case trong tập dữ liệu đào tạo theo thứ tự tăng dần hoặc giảm dần các giá trị của thuộc tính liên tục V đang xét Được tập giá trị V = {v1, v2, …, vm}
(2) Chia tập dữ liệu thành hai tập con theo ngưỡng θi = (vi + vi+1)/2 nằm giữa hai giá trị liền kề nhau vi và vi+1 Test để phân chia dữ liệu là test nhị phân