Khai phá các luật liên kết từ kho dữ liệu là một nội dung quan trọng của khai phá dữ liệu. Nó có một ứng dụng rộng rãi trong việc khám phá các tri thức có ích từ cơ sở dữ liệu, từ đó giúp đỡ tư vấn cho người dùng đưa ra những quyết định đúng đắn, đem lại hiệu quả. Khai phá dữ liệu có thể áp dụng với nhiều loại dữ liệu khác nhau từ hoạt động khoa học đến kinh doanh, y tế, pháp luật… Một trong những ứng dụng quan trọng của khai phá dữ liệu là xây dựng cơ sở tri thức cho hệ chuyên gia. Đề tài đã nghiên cứu về các phương pháp kỹ thuật khai phá luật liên kết và xây dựng được một chương trình ứng dụng khai phá dữ liệu nhằm mục đích xây dựng cơ sở tri thức. Chương trình đã được thử nghiệm và thu được một số kết quả bước đầu. Tuy nhiên do hạn chế về kinh nghiệm và thời gian nên chương trình vẫn còn một số thiếu sót như quy mô, tính dễ sử dụng, hệ thống trợ giúp...Hướng phát triển tiếp theo của đề tài: tiếp tục nghiên cứu sâu hơn về các kỹ thuật khai phá luật liên kết mới, có hiệu quả, hoàn thiện chương trình nhằm xây dựng một bộ công cụ để khai phá luật liên kết từ mọi loại dữ liệu. Ngoài ra, có thể tích hợp bộ phận khai phá dữ liệu vào một hệ chuyên gia nhằm tạo ra một phần mềm ứng dụng hoàn chỉnh.Hệ thống này có khả năng tự động hoá mọi quy trình từ thu thập tri thức, xây dựng cơ sở tri thức và dùng cơ sở tri thức này để hệ chuyên gia đưa ra các quyết định.
Trang 1MỤC LỤC
CHƯƠNG I : KHÁI QUÁT VỀ PHÁT HIỆN TRI THỨC TỪ CƠ SỞ DỮLIỆU VÀ KHAI PHÁ DỮ LIỆU 31.1 Cơ sở tri thức 3
1.2 Phát hiện tri thức từ cơ sở dữ liệu 3
1.3 Khai phá dữ liệu 5
1.4 Kho dữ liệu 5
1.5 Ưu thế của khai phá dữ liệu 7
1.5.1 Máy học 71.5.2 Thống kê 81.6 Ứng dụng của khai phá dữ liệu 9
CHƯƠNG II : QUÁ TRÌNH KHAI PHÁ DỮ LIỆU 112.1 Xác định vấn đề 11
2.2 Chuẩn bị dữ liệu 12
2.2.1 Dạng chuẩn 122.2.2 Biến đổi dữ liệu 152.2.3 Dữ liệu thiếu 182.3 Rút gọn dữ liệu 19
2.3.1 Lựa chọn các thuộc tính 202.3.2 Lựa chọn các trường hợp 212.4 Xây dựng và đánh giá các mô hình khai phá dữ liệu 23
2.5 Triển khai mô hình và thu thập kết quả 24
CHƯƠNG III : CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU 263.1 Cây quyết định 26
3.2 Mạng Nơ ron 30
3.3 Kỹ thuật K- láng giềng gần nhất 33
3.4 Luật quyết định và luật liên kết 35
CHƯƠNG IV: MỘT SỐ GIẢI THUẬT KHAI PHÁ LUẬT LIÊN KẾT 394.1 Mô hình hình thức 39
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 24.1.1 Tìm kiếm các tập phần tử lớn 414.1.2 Xác định các tập ứng cử 424.1.3 Xác định tập biên 444.2 Thuật toán Apriori 45
4.2.1 Hàm Apriori-gen 474.2.2 Hàm Subset 484.3 Thuật toán AprioriTid 49
4.4 Thuật toán FP-growth 53
4.4.1 Cây mẫu thường xuyên : Thiết kế và xây dựng 554.4.2 Sử dụng cây FP trong khai phá các mẫu thường xuyên 62CHƯƠNG V : TỔNG QUAN VỀ CHƯƠNG TRÌNH ỨNG DỤNG 715.1 Đặt vấn đề71
5.2 Phương pháp giải quyết 71
7.2 Module Khai phá dữ liệu 87
7.3 Module Giao diện 90
7.4 Một số kết quả 90
KẾT LUẬN 97TÀI LIỆU THAM KHẢO 98PHỤ LỤC 99
Nguyễn Tiến Thành – Công nghệ phần mềm K44
2
Trang 3CHƯƠNG I : KHÁI QUÁT VỀ PHÁT HIỆN TRI THỨC
TỪ CƠ SỞ DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU
1.1 Cơ sở tri thức
Cơ sở tri thức là một tập hợp các thông tin hữu ích về một vấn đề nào
đó Các thông tin này đã được phân loại, định dạng theo những cách đặcbiệt Cụ thể hơn, các thông tin được gọi là tri thức là các thông tin đượcphân loại theo chủ đề, và đã qua kiểm chứng tính đúng đắn Với các hệchuyên gia, cơ sở tri thức là tập các sự kiện và luật Trước đây, các tri thứcdạng luật được thu thập từ phát biểu của các nhà chuyên gia Điều này cónhược điểm là một quá trình thủ công, dựa nhiều vào kinh nghiệm Do đótính đầy đủ và chính xác của các tri thức phụ thuộc vào ý kiến chủ quan củacon người Hiện nay, với sự xuất hiện của các kỹ thuật khai phá dữ liệu đã
mở ra một hướng mới trong việc thu thập tri thức Đó là cách khai thác cáctri thức hữu ích một cách trực tiếp và tự động nhờ các bộ công cụ khai phá
dữ liệu Nhờ đó, công việc thu thập tri thức trở nên nhanh chóng và hiệuquả, tri thức thu được mang tính khách quan Đồng thời cách tiếp cận nàycũng làm giảm đáng kể chi phí về thời gian và nhân lực, hỗ trợ hiệu quảcho quá trình xây dựng các hệ chuyên gia
1.2 Phát hiện tri thức từ cơ sở dữ liệu
Với những cơ sở dữ liệu lớn có nhiều trường điều cần thiết là phải cómột phương thức và công cụ để giúp đỡ con người trích xuất những thôngtin hữu ích (tri thức) từ chúng Các phương thức và công cụ này là chủ đềcủa phát hiện tri thức từ cơ sở dữ liệu (KDD)
Ở một mức cụ thể hơn, KDD quan tâm đến việc phát triển các phươngthức và kỹ thuật để xử lý dữ liệu Vấn đề cơ bản trong KDD là ánh xạ các
dữ liệu mức thấp (có số lượng rất lớn để có thể hiểu và phân loại dễ dàng)Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 4thành các dạng đơn giản hơn (ví dụ như một báo cáo), cụ thể hơn Trungtâm của quá trình KDD là ứng dụng các phương pháp khai phá dữ liệu xácđịnh nhằm mục đích khai phá các mẫu và trích xuất thông tin.[7]
Các phương thức truyền thống nhằm chuyển dữ liệu thành các tri thứcphụ thuộc vào các phân tích và giải thích thủ công Ví dụ như trong ngành y
tế, 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áophâ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ấtnhiề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ó kinhnghiệm
Với các lĩnh vực trên, việc tìm kiếm thông tin từ tập dữ liệu một cáchthủ công rất tốn thời gian, tiền bạc và mang tính chủ quan Trên thực tế, vớicác dữ liệu phình to một cách nhanh chóng, cách phân tích này trở nênkhông khả thi trong nhiều phạm vi CSDL gia tăng kích thước theo haicách: 1.Số lượng các đối tượng bản ghi trong CSDL và 2.Số luợng cáctrường hoặc thuộc tính của một đối tượng bản ghi Một CSDL lớn có thểbao gồm khoảng 109 đối tượng càng ngày càng tăng, ví dụ như các dữ liệuthiên văn Tương tự, số lựợng các trường có thể tăng lên thành 102 hay 103,
ví dụ như các dữ liệu chẩn đoán bệnh Như vậy không ai có thể phân tíchmột CSDL tới hàng triệu bản ghi, mỗi bản ghi có từ hàng chục đến hàngtrăm trường
Sự cải tiến khả năng phân tích của con người để xử lý khối lượng dữliệu lớn là rất cấn thiết cả về mặt kinh tế và khoa học Các nhà kinh doanh
sử dụng dữ liệu để giành lợi thế trong cạnh tranh, tăng mức độ hiệu quả vàcung cấp thêm các dịch vụ có lợi cho người tiêu dùng Những dữ liệu thuthập được về môi trường là căn cứ cơ sở để chúng ta hình thành khái niệm
về thế giới hiện tại Do máy tính cho phép con người có thể thu thập nhiềuNguyễn Tiến Thành – Công nghệ phần mềm K44
4
Trang 5dữ liệu hơn khả năng phân tích của con người nên rất cần có những kỹ thuậttính toán để trợ giúp trong việc khai phá các mẫu và cấu trúc từ những tập
dữ liệu cực lớn Do đó KDD là một giải pháp cho vấn đề của thời đại thôngtin số : quá tải dữ liệu
1.3 Khai phá dữ liệu
KDD là một quy trình tổng thể nhằm phát hiện các tri thức hữu ích từ
dữ liệu, và khai phá dữ liệu là một bước đặc biệt của quy trình đó Nó baogồm một việc phân tích dữ liệu và sử dụng các kỹ thuật nhằm tìm ra cácmẫu, các mô hình tổng thể từ dữ liệu Mục đích của khai phá dữ liệu phụthuộc vào cách sử dụng hệ thống Có hai loại mục đích chính là: dự đoán và
mô tả Dự đoán là cách hệ thống tìm kiếm các mẫu để dự đoán hành vi củamột số thực thể trong tương lai Mô tả là công việc của hệ thống tìm kiếmcác mẫu để biểu diễn dưới dạng dễ hiểu đối với người sử dụng
Khai phá dữ liệu bao gồm các mô hình thích hợp nhằm xác định dạngcủa mẫu và khảo sát dữ liệu Các mô hình này đóng vai trò suy luận trithức: khi mô hình cho thấy các thông tin tri thức là hữu ích, các quy trìnhkhác của KDD sẽ được áp dụng Có hai dạng mô hình toán học được sửdụng : dạng thống kê và dạng logic Hầu hết các phuơng pháp khai phá dữliệu đều dựa trên kỹ thuật thử và kiểm tra có trong máy học, nhận dạng mẫu
và thống kê : phân loại, gộp nhóm, hồi quy Số lượng các thuật toán khácnhau trong mỗi loại kỹ thuật là rất nhiều, tuy nhiên chúng đều tuân theonhững nguyên tắc cơ bản của kỹ thuật
1.4 Kho dữ liệu
Kho dữ liệu là một tập hợp dữ liệu tích hợp hướng chủ đề có tính ổnđịnh, thay đổi theo thời gian nhằm hỗ trợ cho việc ra quyết định Có thể coikho dữ liệu là một môi trường có cấu trúc các hệ thống thông tin cung cấpcho người dùng các thông tin khó có thể truy nhập hoặc biểu diễn trong cácNguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 6cơ sở dữ liệu tác nghiệp truyền thống, nhằm mục đích hỗ trợ việc ra quyếtđịnh mang tính lịch sử hoặc hiện tại Như vậy một kho dữ liệu bao gồm :
Cơ sở dữ liệu tích hợp hướng chủ đề ổn định được tổng hợp từ các
dữ liệu bằng cách lập các bảng dữ liệu
Một hoặc nhiều công cụ để chiết xuất dữ liệu bất kỳ dạng cấu trúc
dữ liệu nào
Các kho dữ liệu được sử dụng vào các mục đích sau
Theo cách khai thác truyền thống : kho dữ liệu được sử dụng đểkhai thác các thông tin bằng các công cụ truy vấn và báo cáo Nhờviệc chiết xuất, tổng hợp và chuyển đổi từ các dữ liệu thô sang cácdạng dữ liệu chất lượng cao và ổn định, kho dữ liệu giúp cho việcnâng cao các kỹ thuật biểu diễn thông tin truyền thống (truy vấn
và báo cáo) Bằng cách tạo ra một tầng ẩn giữa người dùng và cơ
sở dữ liệu, dữ liệu đầu vào của các kỹ thuật này được đặt vào mộtnguồn duy nhất Việc hợp nhất này loại bỏ được rất nhiều lỗi sinh
ra do việc phải thu thập và biểu diễn thông tin từ nhiều nguồn khácnhau cũng như giảm bớt được sự chậm trễ do phải lấy các dữ liệu
bị phân đoạn trong các cơ sở dữ liệu khác nhau Tuy nhiên đâymới là cách khai thác với kỹ thuật cao để đưa ra các dữ liệu tinh vàchính xác hơn chứ chưa đưa ra được dữ liệu tri thức
Hỗ trợ phân tích trực tuyến (OLAP) : Trong khi ngôn ngữ truy vấnchuẩn SQL và các công cụ làm báo cáo truyền thống chỉ có thểmiêu tả những gì có trong cơ sở dữ liệu thì phân tích trực tuyến cókhả năng phân tích dữ liệu, xác định xem giả thuyết đúng hay sai
Cơ sở cho khai phá dữ liệu : Thông thường, các dữ liệu để khaiphá được trích rút từ một kho dữ liệu chính vào một cơ sở dữ liệuhoặc một tập hợp dữ liệu theo chủ đề (Data mart) Nếu như dữ liệu
để khai phá là một phần của kho dữ liệu thì sẽ tạo thuận lợi lớn, doviệc làm sạch dữ liệu của kho dữ liệu và của khai phá dữ liệu làNguyễn Tiến Thành – Công nghệ phần mềm K44
6
Trang 7khá giống nhau Nếu như dữ liệu cần khai phá là dữ liệu từ kho dữliệu đã được làm sạch thì không cần phải thực hiện quá trình làmsạch một lần nữa Ngoài ra, các vấn đề về hợp nhất dữ liệu cũngđược chỉ ra và được đặt vào quy trình bảo trì Mối quan hệ giữanguồn dữ liệu với kho dữ liệu và dữ liệu cho khai phá dữ liệu đượcthể hiện trong hình 1.1
Hình 1.1 Quan hệ giữa nguồn dữ liệu và kho dữ liệu
1.5 Ưu thế của khai phá dữ liệu
Trước khi khai phá dữ liệu xuất hiện, đã có những phương pháp khácnhằm khai thác các thông tin có ích từ cơ sở dữ liệu như máy học, thống kê.Tuy nhiên, khai phá dữ liệu có những ưu thế hơn hẳn chúng Các phân tíchdưới đây sẽ giải thích điều này
1.5.1 Máy học
Mặc dù đã có những cố gắng nhằm cải tiến các phương pháp máy học
để cho phù hợp với mục đích khai phá dữ liệu nhưng sự khác biệt giữa cáchthiết kế, các đặc điểm của cơ sở dữ liệu làm cho phương pháp máy học trởnên kém hiệu quả với mục đích này
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 8Trong quản trị cơ sở dữ liệu, một cơ sở dữ liệu là một tập hợp dữ liệuđược tích hợp một cách logic, được lưu trong một hay nhiều tệp và được tổchức để lưu trữ có hiệu quả, sửa đổi và lấy thông tin liên quan được dễdàng Ví dụ như trong cơ sở dữ liệu quan hệ, dữ liệu được tổ chức thànhcác tệp hoặc các bảng, trong đó các bản ghi có độ dài cố định Mỗi bản ghi
là một danh sách có thứ tự các giá trị, mỗi giá trị được đặt vào một trường.Một hệ thống quản trị cơ sở dữ liệu sẽ quản lý các thủ tục để lấy, lưu trữ và
xử lý dữ liệu trong các cơ sở dữ liệu đó
Cơ sở dữ liệu máy học chủ yếu đề cập đến một tập các mẫu (example)được lưu trong tệp Các mẫu thường là các vectơ thuộc tính có độ dài cốđịnh Thông tin về tên các thuộc tính, dãy giá trị của chúng đôi khi cũngđược lưu lại như trong từ điển dữ liệu Một số thuật toán học sử dùng tập
dữ liệu và các thông tin kèm theo tập dữ liệu đó làm đầu vào, đầu ra biểuthị kết quả của việc học
Như vậy, cơ sở dữ liệu máy học và cơ sở dữ liệu thông thường có nhữngđiểm tương đồng, do đó có thể áp dụng phương pháp máy học cho các dữliệu thông thường Tuy nhiên, quá trình phát hiện tri thức trong cơ sở dữliệu làm tăng thêm các vấn đề vốn có của học máy và vượt quá khả năngcủa máy học Cơ sở dữ liệu thực tế thường đông, không đầy đủ, bị nhiễu và
có kích thước lớn hơn nhiều so với các tập dữ liệu máy học điển hình Điềunày làm cho các thuật toán máy học trở nên không có hiệu quả
1.5.2 Thống kê
Thống kê từ lâu đã được sử dụng một cách hiệu quả các phương phápthống kê vào nhiều lĩnh vực khác nhau Đã có nhiều phương pháp ướclượng và xác định những mẫu ngẫu nhiên được nghiên cứu và phát triển.Mặc dù các phương pháp thống kê cung cấp một nền tảng lý thuyếtvững chắc cho các bài toán phân tích dữ liệu Nhưng nếu chỉ thống kê thuầntúy thì chưa đáp ứng được các mục tiêu của khai phá dữ liệu Các phươngNguyễn Tiến Thành – Công nghệ phần mềm K44
8
Trang 9pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu có cấu trúc trong
cơ sở dữ liệu Ngoài ra với một cơ sở dữ liệu lớn với nhiều trường, ví dụnhư cơ sở dữ liệu bảng điểm của sinh viên thì các kết quả của phân tíchthống kê sẽ rất lớn, do đó rất khó có thể khai thác có hiệu quả Mặt khác,các kết quả này đòi hỏi phải có những chuyên gia phân tích trong từng lĩnhvực, tiêu tốn nhiều nhân lực với chi phí lớn và hiệu quả không cao
Khác với thống kê cổ điển, khai phá dữ liệu có ưu điểm tự động hóa quátrình thống kê một cách có hiệu quả , làm giảm khối lượng công việc củangười dùng đầu cuối Công việc phân tích cũng được thực hiện một cách tựđộng, khiến cho độ chính xác được nâng cao và rút ngắn thời gian phântích, đồng thời tiết kiệm chi phí nhân lực bỏ ra
1.6 Ứng dụng của khai phá dữ liệu
Hiện nay có khá nhiều các ứng dụng của khai phá dữ liệu và KDD đượctriển khai, đem lại hiệu quả cao trong thực tế, phục vụ cho sản xuất kinhdoanh và nghiên cứu khoa học
Trong khoa học, một trong những ngành ứng dụng chính là thiên vănhọc Hệ thống SKICAT dùng để phân tích ảnh, phân loại và xếp nhóm cácvật thể không gian từ các ảnh quan sát vũ trụ Hệ thống này được dùng để
xử lý 3 terabytes dữ liệu ảnh từ Đài thiên văn Palomar, với khoảng 1 tỉ vậtthể không gian phát hiện được SKICAT có thể làm được những công việctính toán cực lớn trong việc phân loại các ảnh vật thể không rõ ràng[7]Trong kinh doanh, các ứng dụng chính của KDD bao gồm tiếp thị, tàichính (đặc biệt là đầu tư), phát hiện gian lận, sản xuất, viễn thông và cácInternet agent (tác tử)
Tiếp thị: ứng dụng chính là hệ thống CSDL tiếp thị, phân tích các dữliệu khách hàng để phân loại các nhóm khách hàng khác nhau và dự báo về
sở thích của họ
Đầu tư: LBS Capital Management dùng để quản lý danh mục vốn đầu tưNguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 10Phát hiện gian lận : Hệ thống HNC Falcon and Nestor PRISM dùng đểtheo dõi các gian lận thẻ tín dụng, có thể theo dõi hoạt động của hàng triệutài khoản Hệ thống FAIS dùng để thẩm định các giao dịch thương mại cóbao gồm hoạt động chuyển tiền bất hợp pháp
Sản xuất: Hệ thống xử lý sự cố CASSIOPEE được sử dụng để phát hiện
và tiên đoán các sự cố của máy bay Boeing
Viễn thông: Hệ thống TASA dùng để phân tích các lỗi báo động trênđường truyền
Các tác tử thông minh: dùng để duyệt qua một môi trường nhiều thôngtin như Internet Các hệ thống này yêu cầu người dùng mô tả sở thích cánhân và tìm kiếm các thông tin liên quan từ nhiều nguồn khác nhau
CHƯƠNG II : QUÁ TRÌNH KHAI PHÁ DỮ LIỆU
2.1 Xác định vấn đề
Giai đoạn đầu tiên của quá trình khai phá tri thức là tìm hiểu dữ liệu vàvấn đề đặt ra Nếu như không có sự hiểu biết về vấn đề thì không thể tìm raNguyễn Tiến Thành – Công nghệ phần mềm K44
10
Trang 11được một kết quả đáng tin cậy Vì vậy, để ứng dụng một cách tốt nhất khaiphá dữ liệu, cần phải có một mô tả đầy đủ về mục tiêu cần đạt tới Việctrình bày rõ ràng vấn đề còn nhằm cung cấp các tiêu chí cho việc đánh giákết quả của quá trình khai phá tri thức Dưới đây là một số vấn đề chính củakhai phá dữ liệu :
Dự đoán : hai kiểu dự đoán chủ yếu là phân loại và xác định giátrị Các mẫu kinh nghiệm trước đây với kết quả đã biết được khảosát và áp dụng với trường hợp trong tương lai Ví dụ với bảng dữliệu khách hàng vay nợ của một ngân hàng, trong trường hợp dựđoán phân loại, kết quả trả về là khách hàng có khả năng trả nợhay không; còn với trường hợp dự đoán giá trị, kết quả trả về làmức độ lợi nhuận hay thua lỗ của khoản nợ trên Chuỗi thời gian
là một vấn đề đặc biệt của dự đoán, với các giá trị của một thuộctính được thu thập theo thời gian, ví dụ như số tiền trả nợ hằngtháng được ghi nhận và khảo sát
Luật liên kết và phân tích các mối liên hệ : Ngôn ngữ của các cơ
sở dữ liệu là một dạng logic với các mệnh đề ở dạng đúng-sai Ví
dụ, tìm các bản ghi trong đó tiền nợ đã được thanh toán, và biểudiễn kết quả ở dạng logic, chẳng hạn “Tiền nợ được thanh toán với
độ tin cậy 90% khi khách hàng có thu nhập cao và có việc làm ổnđịnh” Đây là các mối liên hệ dưới dạng luật quyết định
Gộp nhóm : được dùng để tìm ra các tập hợp các bản ghi tương tựnhau trong dữ liệu mà không có điều kiện gì hạn chế Trên thực tế,gộp nhóm thường được dùng để xác định các nhóm khách hàngchưa được nhận biết trước đây Ví dụ như xác định các điểm tươngđồng của thói quen sử dụng internet, để nghĩ ra một loại hình dịch
vụ internet mới
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 12số lớn cơ sở dữ liệu khác có thể bao gồm rất nhiều trường văn bản, vớihàng nghìn giá trị cho mỗi trường Dữ liệu dạng này rất phức tạp, do đó đểkhai phá có hiệu quả cần phải chuyển chúng về một dạng chuẩn đơn giảnhơn
Các kỹ thuật khai phá dữ liệu có thể rất khác nhau, tuy nhiên các dạngchuẩn của chúng có cẩu trúc tương tự nhau Đó là một bảng bao gồm cáchàng là các trường hợp, các cột là các thuộc tính và các phần tử của bảng làcác gía trị lượng giá Cấu trúc của bảng được minh họa trong hình 2.1
Trang 13Hình 2.1 Định dạng dữ liệu bảng
2.2.1.1 Các giá trị chuẩn
Dạng bảng ở hình 2.1 là một dạng chuẩn khi các thuộc tính được hạnchế ở những kiểu nhất định Các giá trị của mỗi trường hợp phải phù hợpvới các kiểu giá trị đã định trước Có hai kiểu giá trị, đều được mã hóa dướidạng số, do đó tất cả các giá trị Vi,j đều là con số
Giá trị đúng-sai (true or false) : Các giá trị này được mã hóa bằng số
1 cho giá trị true và số 0 cho giá trị false Ví dụ như với một bảngcác hợp đồng làm ăn của một công ty, trường hợp công ty X, cột i làthuộc tính “thanh toán”, nhận giá trị 1 nếu hợp đồng đã được thanhtoán, giá trị 0 nếu chưa được thanh toán
Giá trị phân loại : Các giá trị có ý nghĩa với việc phân loại dạngX>Y Một giá trị có thể là số tự nhiên, số thực như số năm kinhdoanh, hay số điểm của một môn học, nhiệt độ của một ngày
Các giá trị dạng đúng-sai mô tả sự kiện khi một trong hai tình huống đốilập xảy ra Tuy nhiên trên thực tế, có thể có một số sự kiện có nhiều hơn 2tình huống Ví dụ như màu sơn của một chiếc xe có thể được mã hoá bằngmột chỉ số chọn từ một bảng các màu sơn khác nhau Các chỉ số này đôi khiđược gọi là các biến phân loại Trong dạng chuẩn, một biến phân loại đượcbiểu diễn dưới dạng m giá trị đúng-sai trong đó m là số giá trị mà biến này
có thể nhận
Mặc dù một số cơ sở dữ liệu có thể được thiết kế dưới dạng bảng tínhhay có thể dễ dàng chuyển sang dạng bảng tính, việc ánh xạ các dữ liệu nàysang dạng chuẩn nhìn chung là không dễ dàng Ví dụ về sự khó khăn khiánh xạ các dữ liệu sang dạng chuẩn là các kiểu dữ liệu thô sau
Trang 142.2.1.2 Các mục tiêu
Mục tiêu của quá trình khai phá dữ liệu cần được xác định trước khidạng chuẩn được đưa vào xử lý Mục tiêu này được đưa vào dạng chuẩndưới hình thức là một cột thêm vào bên phải của dạng chuẩn Giá trị của cộtmục tiêu này có thể là các giá trị đúng-sai hay các giá trị phân loại Hình2.2 cho thấy cấu trúc của một dạng chuẩn với cột mục tiêu G
2.2.2 Biến đổi dữ liệu
Nhiệm vụ trung tâm của quá trình chuẩn bị dữ liệu là biến đổi các dữliệu thô sang dạng chuẩn Đôi khi dữ liệu trong kho dữ liệu đã ở dạngchuẩn, tuy nhiên với trường hợp dữ liệu này chưa ở dạng chuẩn thì cần phảithực hiện bước định dạng dữ liệu để chuyển sang dạng chuẩn Nhìn chung,trong quá trình này cần thực hiện 2 công việc : chọn các thuộc tính và biếnđổi các thuộc tính Quá trình biến đổi dữ liệu sang dạng chuẩn được mô tảtrong hình 2.3
Nguyễn Tiến Thành – Công nghệ phần mềm K44
14Biến đổi thuộc tính
Dạng chuẩnLựa chọn thuộc tính
Kho dữ liệu
Trang 15Hình 2.3 Quá trình chuyển đổi từ kho dữ liệu sang dạng chuẩn
Dựa vào những hiểu biết về vấn để và mục đích của quá trình khai phá
dữ liệu, người phân tích lựa chọn một tập các thuộc tính từ kho dữ liệu.Trong trường hợp dữ liệu ở dạng bảng, việc lựa chọn các thuộc tính sẽ loại
bỏ một số thuộc tính, biểu diễn bởi các cột trong bảng Lựa chọn thuộc tính
tự động thường có hiệu quả tốt trong việc tổng hợp và trích rút các thuộctính mới Có nghĩa là vẫn cần phải có các quyết định của người phân tích,nhưng khi có nghi ngờ thì cần dùng chức năng lựa chọn tự động bằng máytính
2.2.2.1 Tiêu chuẩn hoá dữ liệu
Các phương pháp khai phá dữ liệu, đặc biệt là các phương pháp toánhọc cần các số liệu được chuẩn hoá để đạt hiệu quả tốt Với các giá trị cóthể được phân chia vào một khoảng xác định, chẳng hạn từ -1 đến +1 Ví dụvới mạng nơ ron việc học sẽ hiệu quả hơn nếu các giá trị dữ liệu nhập vàocàng nhỏ càng tốt Có hai kỹ thuật dùng để tiêu chuẩn hoá dữ liệu :
- Phân lớp thập phân : giá trị mới v’(i) được tính theo công thức sau:
k
i v i v
10
)()(
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 16Trong đó v(i) là giá trị thuộc tính v của trường hợp i, k là số nguyênnhỏ nhất sao cho max(|v’(i)|) <1 Cách phân lớp này giữ cho giá trịtrong khoảng [-1,1] Đầu tiên, tìm giá trị lớn nhất của v(i) trong dữliệu, từ đó xác định số chia 10k sao cho giá trị v’(i) luôn nhỏ hơn 1.
Số chia này sẽ được áp dụng với tất cả các v(i) trong dữ liệu Ví dụ,nếu giá trị lớn nhất là 903 thì sẽ được chuyển thành 0.903 và số chiacho tất cả v(i) là 1000
- Độ lệch tiêu chuẩn : giá trị mới v’(i) được tính theo công thức sau:
) ( ) ( ) ( ' i v i E v
Trong đó E(v) là giá trị trung bình của v, là độ lệch tiêu chuẩn.Các giá trị này được tính từ tập dữ liệu bằng phương pháp xác xuấtthống kê
2.2.2.2 Làm mịn dữ liệu
Với một thuộc tính dạng số có thể nhận những giá trị khác xa nhau, đôikhi mỗi trường hợp(bản ghi) có một giá trị Trong hầu hết các ứng dụng, sựmức độ khác biệt này là có ý nghĩa, có thể ảnh hưởng tới độ hiệu quả củaứng dụng Do đó cần phải làm nhẵn các giá trị này Có hai phương pháplàm mịn các giá trị : phương pháp làm tròn và phương pháp phân lớp
Trang 17Trong đó ix là giá trị cần làm tròn, k là hệ số làm tròn Ví dụ số 145 đượclàm tròn thành 150 với k=1 hoặc làm tròn thành 100 với k=2 Thủ tục dướiđây mô tả quá trình làm tròn các giá trị trong bộ dữ liệu.
Đầu vào : tập các giá trị {vi}
Số lớn nhất các giá trị khác biệt max
s := 1
If tập {vi} chứa các giá trị lẻ then làm tròn thành giá trị nguyên
Sort{vi}
Repeat
num := số giá trị đơn trong {vi}
If num max then ra khỏi vòng lặp
s := s+1
For each giá trị trong tập {vi}
If là giá trị âm then nhân với –1
Làm tròn bằng công thức (2.3) với k = s
Chuyển thành giá trị âm nếu cần thiết;
Next giá trị tiếp
Forever
Đưa ra tập giá trị đã được làm tròn {vi}
Phương pháp phân lớp:
Các giá trị được sắp xếp theo thứ tự từ nhỏ đến lớn, được phân vào các
“thùng chứa” Tiếp đó, các giá trị ở mỗi thùng sẽ được làm mịn bằng giá trịtrung bình hoặc bằng giá trị biên Ví dụ ta có dãy các giá trị như sau
P= {1, 1, 2, 3, 3, 3, 4, 4, 5, 7}
Các giá trị này được đưa vào 3 “thùng chứa”:
1 thùng
2 1,
1,
2 thùng
3 3,
3,
3 thùng
,7 ,5 4,5
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 18Làm mịn bằng giá trị trung bình của thùng : như ví dụ trên thì giá trị trungbình của thùng 1 là 1, thùng 2 là 3, thùng 3 là 5 nên sau khi làm mịn có kếtquả sau :
1 thùng
1 1,
1,
2 thùng
3 3,
3,
3 thùng
,5 ,5 5,5
Làm mịn băng giá trị biên : các giá trị lớn nhất và nhỏ nhất trong một thùnggọi là giá trị biên Các giá trị còn lại sẽ được quy về các giá trị biên này :
1 thùng
2 1,
1,
2 thùng
3 3,
3,
3 thùng
,7 ,4 4,4
2.2.3 Dữ liệu thiếu
Dạng chuẩn là một bảng các giá trị dạng số, do đó có thể có một số giátrị bị thiếu Đặc biệt với những dữ liệu lớn, số bản ghi bị thiếu giá trịthường tương đối lớn Do đó, vấn đề ở đây là phải bố sung các giá trị thiếunày bằng phương pháp dự đoán Có hai giải pháp cho vấn đề này
Phương pháp thứ nhất là phương pháp toán học, sử dụng kỹ thuật ngoạisuy các giá trị thiếu, có thể chọn một trong ba cách sau:
- Thay thế giá trị thiếu bằng một hằng số chuẩn
- Thay thế giá trị thiếu bằng giá trị trung bình cùng thuộc tính
- Thay thế giá trị thiếu bằng giá trị trung bình cùng thuộc tính và lớpPhương pháp này có ưu điểm là đơn giản, nhưng có hạn chế là giá trị thaythế không phải giá trị đúng hoàn toàn Nếu thay thế giá trị thiếu bằng mộthằ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áchquan Ví dụ nếu giá trị thiếu được thay thế bằng trung bình của thuộc tínhcù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 Cụ thể với dữ liệu khám bệnh, có trườnghợp không cần thực hiện một loại xét nghiệm vì đã có chẩn đoán bệnh.Nhưng điều này không dẫn tới việc luôn chẩn đoán bệnh nhân mắc chứngbệnh đó vì thiếu xét nghiệm trên
Nguyễn Tiến Thành – Công nghệ phần mềm K44
18
Trang 19Phương pháp thứ hai là phương pháp logic, thường sử dụng các kỹ thuậtcâ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.
2.3 Rút gọn dữ liệu
Sau quá trình chuẩn bị, dữ liệu đã được chuyển về dạng bảng chuẩn.Với các tập dữ liệu có kích thước vừa phải thì dữ liệu này đã sẵn sàng chobước khai phá Tuy nhiên với tập dữ liệu lớn thì cần phải thực hiện việc rútgọn dữ liệu là một bước trung gian trước khi áp dụng các kỹ thuật khai phá
dữ liệu
Hai nguyên nhân của rút gọn dữ liệu là :
- Dữ liệu quá lớn, không phù hợp với khả năng xử lý của chươngtrình
- Thời gian thực thi chương trình quá dài
Công việc chính trong rút gọn dữ liệu là rút gọn các dòng và cột của nó.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ả Các kỹ thuật rút gọn
dữ liệu được áp dụng với dữ liệu đã ở dạng chuẩn Như phần 2.2 đã đề cập,
dữ liệu này là các bảng chuẩn Sau khi rút gọn dữ liệu, kết quả thu được làmột tập con của bảng chuẩn đó Việc rút gọn dữ liệu được thực hiện với cáchàng, cột và các giá trị, bao gồm
- Loại bỏ một cột (thuộc tính)
- Loại bỏ một hàng (trường hợp)
Khi thực hiện các hoạt động trên phải đảm bảo giữ nguyên đặc tính của
dữ liệu nguồn Tức là chỉ loại bỏ các dữ liệu thứ yếu hoặc làm nhẵn vừaphải các thuộc tính
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 202.3.1 Lựa chọn các thuộc tính
Với hầu hết các ứng dụng, dữ liệu thường có số hàng lớn hơn nhiều sovới số cột, tức là số trường hợp nhiều hơn số thuộc tính Ví dụ với dữ liệubán hàng, số khách hàng và số giao dịch mua bán là rất lớn, tuy nhiên sốmặt hàng thì có giới hạn Vì vậy việc loại bỏ một thuộc tính sẽ có ảnhhưởng lớn hơn là loại bỏ một trường hợp Dạng chuẩn ban đầu sẽ đượckhảo sát, sau quá trình xử lý sẽ cho ra kết quả là một tập con của dạngchuẩn đó nhưng với số thuộc tính ít hơn Quá trình này được thực hiệntương đối nhanh và làm giảm đáng kể kích thước tập dữ liệu cần xử lý.Mục đích của việc lựa chọn thuộc tính là tìm ra tập các thuộc tính cókhả năng dự đoán tốt nhất Để thực hiện, có thể sử dụng một số phươngpháp sau :
Lựa chọn thuộc tính từ giá trị trung bình : Các trường hợp thuộcnhững lớp khác nhau được khảo sát Giá trị trung bình của thuộc tínhcần xem xét sẽ được so sánh Nếu giá trị này khác xa nhau thì thuộctính được coi là có ý nghĩa phân loại giữa các lớp và được lựa chọn.Nhưng nếu các giá trị này tương đương thì ý nghĩa phân loại củathuộc tính là kém, do đó thuộc tính đó sẽ bị loại bỏ.[4]
Lựa chọn thuộc tính dùng cây quyết định : Sử dụng cây quyết định
để phân loại các thuộc tính Các thuộc tính nằm trong cấu trúc câyquyết định sẽ được lựa chọn Thuộc tính nào không được đưa vàocây quyết định sẽ bị loại bỏ, do thuộc tính đó có ảnh hưởng khônglớn đến kết quả
2.3.2 Lựa chọn các trường hợp
Cách tiếp cận chính để làm giảm số trường hợp cần xử lý là lấy mẫungẫ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ácmẫu ngẫu nhiên được thu thập Có hai cách để lấy mẫu :
- Mẫu tăng dần
Nguyễn Tiến Thành – Công nghệ phần mềm K44
20
Trang 21- Mẫu trung bình
2.3.2.1 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 Ví dụ các tập mẫu tăng dần có thể là 10%, 20%, 33%, 50%, 67%
của tập dữ liệu nguồn Các giá trị này có thể thay đổi tuỳ theo số lượng
trường hợp của dữ liệu nguồn và hiểu biết về lĩnh vực liên quan Tập mẫu
khởi đầu phải có kích thước tương đối lớn để việc đánh giá được chính xác,
thông thường không ít hơn 1000 trường hợp Hình 2.4 mô tả quá trình lấy
mẫu tăng dần và khai phá dữ liệu
Hình 2.4 Lấy mẫu tăng dần và khai phá dữ liệuNguyễn Tiến Thành – Công nghệ phần mềm K44
.
.
Tăng
Trang 222.3.2.2 Mẫu trung bình
Một kho dữ liệu có thể chứa rất nhiều trường hợp, đến mức vượt quá
khả năng xử lý của chương trình khai phá Giải pháp ở đây là nếu chương
trình chỉ có khả năng xử lý N trường hợp thì không tiến hành khai phá với
một mẫu có N trường hợp mà sẽ lấy k mẫu, mỗi mẫu có N trường hợp để
xử lý Từ k kết quả thu được, lấy trung bình hoặc lựa chọn để có kết quả
cuối cùng Hình 2.5 mô tả quá trình kết hợp các kết quả từ các mẫu khác
nhau
Hình 2.5 Kết hợp các kết quả từ các mẫu khác nhau
Nguyễn Tiến Thành – Công nghệ phần mềm K44
22
.
Kết quả 1
Lựa chọn hoặc lấy trung bình
Kết quả cuối cùng
.
.
.
Trang 23Dữ 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ớitoàn bộ kho dữ liệu Ngoài ra, việc tổng hợp các kết quả để thu được kếtquả 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ẫulấ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.
2.4 Xây dựng và đánh giá các mô hình khai phá dữ liệu
Xây dựng mô hình khai phá dữ liệu là một quá trình lặp Với một vấn đềcần giải quyết, cần phải khảo sát nhiều mô hình khác nhau để tìm ra môhình thích hợp Mô hình này có thể là cây quyết định, mạng nơ ron Việclựa chọn mô hình sẽ ảnh hưởng đến giai đoạn chuẩn bị dữ liệu Ví dụ nhưmạng nơ ron yêu cầu các giá trị rõ ràng, hoặc một số công cụ yêu cầu dữliệu phải ở một dạng file chuẩn, do đó phải chuyển dữ liệu về dạng chuẩn
đó Quá trình sẽ tiếp tục với việc thử nghiệm mô hình khi dữ liệu đã sẵnsàng
Việc xây dựng mô hình khai phá dữ liệu đòi hỏi phải được kiểm thửchặt chẽ nhằm đảm bảo tính chính xác và hiệu quả Điều này được thựchiện bằng cách thử nghiệm mô hình với một phần của dữ liệu, sau đó kiểmchứng với dữ liệu còn lại Mô hình được xây dựng xong khi quá trình kiểmthử hoàn thành Quá trình kiểm thử yêu cầu dữ liệu phải được chia làm haiphần, phần đầu để xây dựng mô hình, phần sau để kiểm thử mô hình Nếukhông sử dụng các dữ liệu xây dựng và kiểm thử khác nhau, độ chính xáccủa mô hình sẽ bị đánh giá quá cao Sau khi mô hình được xây dựng vàkiểm thử, sự chênh lệch của giữa các kết quả là thước đo đánh giá mức độhiệu quả của mô hình với các dữ liệu mới có những điểm tương đồng với
dữ liệu hiện tại
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 242.5 Triển khai mô hình và thu thập kết quả
Sau khi mô hình đã được xây dựng và kiểm tra, nó sẽ được sử dụng đểtìm ra các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng với các ý nghĩa
đó Các mẫu này phải có khả năng sử dụng tiềm tàng, tức là sau khi xử lýphải dẫn đến những hành động có ích nào đó, được đánh giá bởi một hàmlợi ích Ví dụ như trong dữ liệu các khoản vay, hàm lợi ích đánh giá khảnăng tăng lợi nhuận từ các khoản vay Mẫu khai thác được phải có giá trịvới các dữ liệu mới với độ chính xác nào đó
Với các giải thuật và các nhiệm vụ của khai phá dữ liệu rất khác nhau,các mẫu chiết xuất được cũng rất đa dạng Mẫu chiết xuất được có thể làmột mô tả xu hướng, một hành động ví dụ yêu cầu người dùng làm gì vớikết quả khai thác từ dữ liệu Dạng của mẫu chiết xuất được có thể đượcphân loại bởi kiểu mẫu dữ liệu mà nó mô tả Các mẫu có thể liên quan đếncác giá trị của các trường trong cùng một bản ghi, ví dụ: Nếu độ ẩm >85%thì dự báo= trời mưa Các mẫu cũng có thể liên quan đến các giá trị tổnghợp từ một nhóm các bản ghi ví dụ như các khách hàng lớn tuổi thườngthích mua quần áo mầu xám, hoặc xác định những phần có ích ví dụ nhómcác mặt hàng kinh doanh có lãi
Mặc dù các mẫu có thể được chiết xuất từ bất kỳ cơ sở dữ liệu nàonhưng chỉ có những mẫu mới, có ích là đáng được xem xét
Sau khi ứng dụng mô hình cần phải đánh giá độ hiệu quả của nó Mặc
dù mô hình có thể làm việc tốt với những dữ liệu hiện tại nhưng vẫn phảitheo dõi độ hiệu quả của mô hình Theo thời gian, các thông số sẽ thay đổi,chẳng hạn thói quen mua hàng của người tiêu dùng bị ảnh hưởng bởi tỷ lệlạm phát Do vậy mô hình phải được kiểm tra lại để hiệu chỉnh thậm chí làxây dựng lại hoàn toàn Việc so sánh giữa giá trị dự báo và giá trị theo dõithực tế là cách tốt nhất để kiểm soát hiệu quả của mô hình
Nguyễn Tiến Thành – Công nghệ phần mềm K44
24
Trang 25CHƯƠNG III : CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU
3.1 Cây quyết định
Cây quyết định là một mô hình vừa có khả năng mô tả vừa có khả năng
dự báo Gọi là cây quyết định vì mô hình kết quả được biểu diễn dưới dạngmột cấu trúc cây Cách trình bày trực quan này khiến cho mô hình câyquyết định trở nên dễ hiểu Do đó cây quyết định trở thành một kỹ thuậtthường dùng trong khai phá dữ liệu Các cây quyết định thường được dùngcho việc phân loại (dự báo trường hợp nào thuộc nhóm nào), tuy nhiêncũng có thể dùng cho việc dự báo một giá trị cụ thể.[4]
Phương pháp cây quyết định bao gồm một số thuật toán cụ thể nhưClassification and Regression Trees(CART), Chi-squared AutomaticInteraction Detection(CHAID), C4.5 và C5.0
Các cây quyết định mô tả một cách trực quan các mối liên hệ tìm thấy
trong dữ liệu Mỗi biểu diễn theo luật từ cây sang văn bản như If Thu nhập
= Cao And Số năm công tác >5 Then Khả năng rủi ro tài chính = Tốt.
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 26Thực tế là các thuật toán cây quyết định rất gần gũi với các thuật toán luậthồi quy, tạo ra các tập luật mà không cần tới cây quyết định.
Đầu ra chính của một thuật toán cây quyết định là chính cây đó Quátrình xử lý để tạo ra cây quyết định thường yêu cầu một số ít lần quét quatập dữ liệu học (thường là nhỏ hơn 100) Điều này làm cho thuật toán cóhiệu quả cao hơn mạng nơ ron vì mạng này cần một số lớn lần quét, có thểlên tới hàng nghìn Chính xác hơn, số lần quét cần thực hiện để xây dựngmột cây quyết định không lớn hơn số mức trong cây đó Số mức này không
có một giá trị giới hạn cho trước nào, tuy nhiên độ phức tạp của cây thườngtăng cùng với số các giá trị độc lập
Mô tả cây quyết định: Ta sẽ xem xét cây quyết định với cấu trúc của nó và
tìm hiểu cách dùng cây quyết định để dự báo và nhận biết Ví dụ ta có thểdùng dữ liệu từ một bảng phân loại khả năng rủi ro tài chính
Bảng 3.1 Phân loại khả năng rủi ro tài chính
Tương ứng với bảng trên ta có cây quyết định sau :
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 27Hình 3.1 Cây quyết định cho dữ liệu rủi ro tài chính
Mỗi hộp trên hình 3.1 biểu diễn một nút Nút trên cùng được gọi là nútgốc Một cây quyết định được phát triển từ nút gốc, vì vậy cây được pháttriển từ trên xuống, phân tách các dữ liệu tại mỗi mức để hình thành các nútmới Cây kết quả bao gồm rất nhiều nút liên kết bởi các nhánh Các nút ởcuối của mỗi nhánh được gọi là nút lá và đóng vai trò đặc biệt khi cây đượcdùng để dự báo
Trong hình 3.1 mỗi nút bao gồm thông tin về số trường hợp tại nút đó
và sự phân loại các giá trị phụ thuộc (Khả năng rủi ro tài chính) Số trườnghợp tai nút gốc là tổng số trường hợp của cả tập dữ liệu Nút này bao gồm 5
trường hợp, với 60% có Khả năng rủi ro là Tốt và 40% có Khả năng rủi ro
là Xấu Bên dưới nút gốc (nút cha) là sự phân tách đầu tiên, trong trường
hợp này là phân chia dữ liệu thành 2 nút mới (nút con) tùy vào mức Thu
nhập là Cao hay Thấp.
Nút bên phải (Thu nhập Thấp) từ cách phân chia này bao gồm 2 trường hợp, cả 2 đều ứng với mức rủi ro tài chính Xấu Vì tất cả các trường hợp
này đều có cùng giá trị biến phụ thuộc (Khả năng rủi ro tài chính), nút này
được gọi là nút thuần (pure) và sẽ không phải phân tách tiếp Nút bên trái bao gồm 3 trường hợp, 66.7% trong đó là Tốt Nút này sẽ được phân tách theo giá trị của Có gia đình (Có hoặc Không), tạo nên 2 nút mới đều là nút
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 28thuần Thứ tự của sự phân tách, đầu tiên là Thu nhập, sau đó là Có gia đình,được quyết định bởi một thuật toán hồi quy.
Cây chỉ có gồm các nút thuần được gọi là cây thuần, một điều kiện
không những không cần thiết mà còn khá rắc rối Hầu hết các cây đều làkhông thuần, do đó các nút lá của chúng bao gồm các trường hợp có nhiềuhơn một kết quả
Sau khi được xây dựng, một cây có thể được dùng để dự báo cho mộttrường hợp khác bằng cách bắt đầu từ gốc của cây và đi theo con đườngqua các nhánh cho đến khi tìm thấy một nút lá Đường đi này được xác địnhbằng cách áp dùng luật tách cho các giá trị biến độc lập trong trường hợp
mới Ta xem xét bản ghi đầu tiên của tập dữ liệu Vì A có thu nhâp Cao, ta
đi theo nhánh bên trái Vì A có gia đình nên tiếp tục đi theo nhánh bên phải.Tại đây ta gặp một nút là và giá trị dự báo là giá trị lớn hơn tại nút lá, trong
trường hợp này là Tốt Tiếp tục kiểm tra dự báo cho các trường hợp khác
trong tập dữ liệu theo cách tương tự sẽ cho thấy cây này phù hợp 100% vớitập dữ liệu trên
Một cây thuần sẽ luôn luôn phù hợp 100% với tập dữ liệu thử, nhưngđiều này không có nghĩa là nó sẽ phù hợp 100% hay thậm chí là gần mức
đó – với một tập thử nghiệm độc lập Phần lớn các thuật toán sẽ sử dụngcác tham số thêm trong quá trình hồi quy để xác định xem có tách một núthay không, làm giảm khả năng xuất hiện một cây thuần
Một điều có thể xảy ra là tất cả các kểt quả đều bằng nhau tại nút lá, nhưvậy nút lá này không có giá trị trội Dự báo trong trường hợp này hoàn toànphụ thuộc vào cài đặt, nếu cài đặt cho phép thì kết quả dự báo là kết quả màngười dùng định trước Một số hệ thống cây quyết định cho phép có dự báo
“không rõ”, số khác sẽ mặc định với giá trị có vẻ thích hợp nhất (ví dụ nhưcác giá trị trội trong nút gốc), số còn lại sẽ lược bỏ nút này, quay lại chođến khi gặp giá trị trội tại một nút trước
Nguyễn Tiến Thành – Công nghệ phần mềm K44
28
Trang 29Việc duyệt qua một cây để tìm các giá trị dự đoán có thể trở nên nặng
nề khi kích thước và độ phức tạp của cây tăng lên Có thể thu được một tậpluật cho một cây với mỗi luật cho một nút lá – bằng cách đi theo đường đi
từ gốc đên nút lá đó Các luật cho các nút lá trong hình 3.1 :
IF Thu nhập = Cao AND Có gia đình = Không THEN Khả năng rủi
ro = XẤU
IF Thu nhập = Cao AND Có gia đình = Có THEN Khả năng rủi ro =TỐT
IF Thu nhập = Thấp THEN Khả năng rủi ro = XẤU
Có thể giảm kích thước tập luật này còn 2 luật, một cho khả năng Xấu
và một cho khả năng Tốt bằng việc sử dụng liên kết OR Có thể có những
phát biểu sau đây về các luật và cây:
- Số luật chỉ sử dụng AND đúng bằng số nút lá
- Bằng cách sử dụng OR để kết hợp các luật, tổng số luật có thể đượcgiảm xuống do đó có đúng một luật với mỗi giá trị có thể của biếnphụ thuộc
Ngay cả khi không dùng để dự báo, các luật cho biết những thông tin
mô tả cần thiết về dữ liệu Có thể có những nhận xét hữu ích về dữ liệu saukhi xây dựng xong cây Trong ví dụ trên, cây trong hình 3.1 cho thấy:
- Nợ không có vai trò trong việc xác định Khả năng rủi ro
- Người có Thu nhập Thấp luôn có Khả năng rủi ro Xấu
- Thu nhập là nhân tố có ảnh hưởng quyết định đến Khả năng rủi roNgoài ra, ta còn có thể xem xét lại những phân tích của mình Chú ý rằngkết luận thứ 3 ở trên chỉ đúng trong phạm vi thuật toán quy nạp xác định ưutiên trong khi phân tách bằng cách chọn phân tách có ý nghĩa nhất trước.Thứ hai, cần chú ý rằng đây là các kết luận về một mẫu Cụ thể hơn, ta cần
có những xem xét cẩn trọng khi khái quát hóa cho các tập dữ liệu lớn hơn
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 303.2 Mạng Nơ ron
Mạng nơ ron là một mô hình dựa trên hoạt động của bộ não con người.Mặc dù được mô tả là một mạng, tuy nhiên một mạng nơ ron đơn giản làmột thuật toán với đầu vào và đầu ra Mạng nơ ron được dùng trong khaiphá dữ liệu nhằm mục đích dự đoán kết quả dựa vào các thuộc tính đầuvào Mô hình mạng nơ ron được mô tả trong hình 3.2
Hình 3.2 Ví dụ một mạng nơ ron
Mạng trong hình 3.2 bao gồm 6 nút được ký hiệu A,B,C,D,E,F Các nút
A, B, C là các nút vào, tạo thành tầng vào (input layer) Nút F là nút ra, nútnày thuộc tầng ra (output layer) Trong trường hợp này chỉ có 1 nút ra, tuynhiên mạng nơ ron không hạn chế số lượng nút ra Nút D và E là các nút
ẩn, chúng thuộc tầng ẩn (hidden layer) của mạng Số lượng các nút ẩn tuỳthuộc vào số nút vào và độ phức tạp của vấn đề Quá nhiều nút ẩn sẽ dẫn tớikết quả quá phù hợp (overfitting), quá ít nút ẩn sẽ dẫn tới kết quả có độchính xác thấp Việc xác định số nút ẩn phù hợp là một phần quan trọng củamọi quá trình khai phá dữ liệu sử dụng mạng nơ ron Một phương thứcđược dùng là sử dụng các thuật toán tìm kiếm để đánh giá các mạng với sốnút ẩn khác nhau nhằm tìm ra số nút thích hợp
Nguyễn Tiến Thành – Công nghệ phần mềm K44
30
-21
-5-1
22-2
1A
Trang 31Mạng trong hình 3.2 được gọi là kết nối hoàn toàn vì mỗi nút trong mộttầng đều có đường kết nối với tất cả các nút ở tầng tiếp theo Các con sốtrên mạng biểu thị trọng số của kết nối Trọng số này được xác định trongquá trình học bằng mạng.
Trọng tâm của thuật toán mạng nơ ron bao gồm một tập các phép toán
để tính tổng trọng số của đầu vào tại mỗi nút Ngoài ra, mỗi nút có một hàmtruyền dùng để tính giá trị ra từ các giá trị vào
Trong hầu hết các mạng nơ ron, mục đích của việc học là tìm ra một tậptrọng số phù hợp nhất với dữ liệu học mà không có sự quá phù hợp Dotrọng số là các giá trị liên tục nên số lượng tổ hợp các giá trị trọng số gầnnhư là vô hạn Cho dù hạn chế bằng các khoảng giá trị cụ thể thì số tổ hợpvẫn rất lớn Việc tìm ra tổ hợp trọng số tốt nhất là một vấn đề lớn, nóichung không thể thực hiện bằng phương pháp thống kê thông thường Một
số kỹ thuật tìm kiếm, trong đó bao gồm giải thuật di truyền được sử dụngcho mục đích này Một trong những kỹ thuật thường dùng là thuật toán lantruyền ngược Thuật toán này khởi đầu với một giải pháp bao gồm một tậptrọng số ngẫu nhiên Sau đó dùng mạng với tập trọng số này khảo sát mộttrường hợp được lấy từ tập học Mạng sẽ tính toán kết quả đầu ra, kết quảnày được so sánh với kết quả thực tế để tính sai số Các trọng số sẽ đượcđiều chỉnh sao cho nếu gặp trường hợp này thì sai số sẽ thấp hơn Cáchthực hiẹn là sử dụng các hàm toán học để khảo sát từ đầu ra quay về các núttrong mạng Lần lượt với mỗi nút, thuật toán sẽ tính toán độ ảnh hưởng của
nó đến sai số đầu ra, rồi tiến hành hiệu chỉnh Theo cách này sai số sẽ đượctruyền ngược qua toàn bộ mạng, làm cho tất cả các trọng số gây ra sai sốđều được hiệu chỉnh
Vòng lặp trên được lặp lại với mỗi trường hợp trong tập học, với nhữnghiệu chỉnh nhỏ được thực hiện sau mỗi trường hợp Khi toàn bộ tập học đãđược xử lý xong, quá trình lại được lặp lại từ đầu Việc học bằng mạng nơNguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 32ron có thể yêu cầu từ hàng trăm đến hàng nghìn vòng lặp như vậy, điều nàylàm tăng độ hiệu quả của phương pháp.
Mức độ hiệu chỉnh giá trị trong mỗi vòng lặp được gọi là tỷ lệ học,thường vào khoảng 5% Điều này có nghĩa là sau khi tính tổng số trọng sốcần hiệu chỉnh để thu được kết quả dự đoán tốt cho một trường hợp, lầnhiệu chỉnh tiếp theo sẽ chỉ thực hiện với 5% số trọng số trên Lý do là nếuđặt tỷ lệ học quá cao, chẳng hạn 100% sẽ làm cho mạng chỉ được học vớitrường hợp sau cùng được đưa vào
Để xây dựng một mạng nơ ron cần xác định được các yếu tố sau:
- Mô hình mạng : bao gồm số lượng nút ẩn, số tầng ẩn, các kết nối
- Hàm truyền : Một hàm s(u) là một hàm truyền nếu nó thoả mãn điềukiện : là hàm bị chặn, đơn điệu tăng và liên tục Các hàm sau đâyhay được dùng :
1 ) (
u u
e
e u
1 ) (
- Tỷ lệ học : nếu tỷ lệ học quá lớn thì kết quả sẽ dao động Ngược lại,
tỷ lệ học quá thấp sẽ làm cho quá trình học tốn nhiều thời gian hơncần thiết
Trong quá trình học bằng mạng nơ ron, thuật toán duyệt qua dữ liệu rấtnhiều lần Để kiểm soát điểm dừng của thuật toán, mạng nơ ron sử dụng cácluật kết thúc như sau :
- Dừng sau một số vòng lặp xác định
- Dừng khi sai số đạt tới ngưỡng
- Dừng khi sai số không được cải thiện sau một số vòng lặp
Nguyễn Tiến Thành – Công nghệ phần mềm K44
32
Trang 333.3 Kỹ thuật K- láng giềng gần nhất
Kỹ thuật K-láng giềng gần nhất (k –Nearest Neighbour hay còn gọi là NN) là một kỹ thuật áp dụng cho các mô hình phân lớp Khác với cácphương pháp khác, kỹ thuật này không cần quét dữ liệu để tạo ra mô hìnhcho mình mà sử dụng luôn dữ liệu đó Khi có một trường hợp mới xuấthiện, hệ thống sẽ tìm kiếm trong toàn bộ dữ liệu hiện có để tìm ra tậptrường hợp gần gũi nhất với trường hợp này và dùng tập này để dự đoán giátrị cho nó
k-Có hai tham số chính trong kỹ thuật k-NN: số trường hợp gần nhất đượcdùng (k) và độ đo khoảng cách giữa chúng với trường hợp mới
Kỹ thuật k-NN đòi hỏi phải xác định trước giá trị nguyên dương k Giátrị này quyết định số trường hợp được xem xét trong khi dự đoán Ví dụ kýhiệu 4-NN cho biết thuật toán sẽ sử dụng 4 trường hợp gần nhất để dựđoán cho trường hợp mới Kỹ thuật này dựa trên độ đo (metric) khoảngcách giữa các trường hợp Các độ đo này được sử dụng một cách tuỳ ý, dokhông có sự định nghĩa trước nào về một độ đo “tốt” Điều này có ý nghĩaquan trọng vì việc lựa chọn độ đo sẽ ảnh hưởng lớn đến kết quả dự đoán.Các độ đo khác nhau, khi áp dụng với cùng một tập dữ liệu có thể sẽ đưa racác kết quả khác nhau Do đó cần phải có một chuyên gia trong lĩnh vựcđang xét để quyết định độ đo nào là tốt
Để phân loại một trường hợp (bản ghi) mới, thuật toán sẽ tính toánkhoảng cách từ trường hợp này đến các trường hợp còn lại trong dữ liệu.Trường hợp mới sẽ được dự đoán có giá trị gần với giá trị chiếm ưu thếtrong k trường hợp gần nhất của dữ liệu
Thuật toán 1-NN chỉ tìm một trường hợp gần gũi nhất đã có với trườnghợp cần dự đoán Khi tìm thấy, giá trị dự đoán là kết quả của trường hợptương ứng Với thuật toán 1-NN, độ chính xác đối với tập dữ liệu hiện tại là100% theo định nghĩa Tuy nhiên, vì chỉ tìm duy nhất một trường hợp gầnnhất nên rất dễ bị nhiễu và không áp dụng được cho bất kỳ mẫu nào khácNguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 34của tập dữ liệu Trên thực tế, các thuật toán thường bắt đầu với k=10 Đểchọn được giá trị k phù hợp nhất, cần phải có thử nghiệm trước với tập dữliệu nhằm so sánh kết quả tương ứng với các giá trị k khác nhau.
Mặc dù không cần duyệt qua toàn bộ dữ liệu, tuy nhiên thuật toán k-NNkhông phải là một thuật toán thực sự hiệu quả, đặc biệt với những dữ liệulớn Nguyên nhân là toàn bộ quá trình xử lý sẽ bị tạm dừng cho đến khi dựđoán được đưa ra Tiếp theo với mỗi trường hợp mới lại yêu cầu một lầnduyệt qua toàn bộ dữ liệu để tính khoảng cách giữa trường hợp đích vớimỗi trường hợp trong bộ dữ liệu Thuật toán khảo sát k trường hợp gần nhấttrong khi xử lý và đưa ra dự đoán khi quá trình kết thúc
Một vấn đề cần giải quyết là xác định độ đo sử dụng để tính toánkhoảng cách giữa các trường hợp Với những dữ liệu phân loại dạng nhịphân thì độ đo nhị phân là thích hợp( 0 cho giá trị giống nhau, 1 cho giá trịkhác nhau) là thích hợp Với những dữ liệu phân loại được sắp theo thứ tựnhư các nhóm tuổi thì độ đo cần phải chỉ ra được sự khác biệt chẳng hạnvới nhóm từ 21-30 tuổi thì khoảng cách giữa nhóm này với nhóm từ 51-60tuổi lớn hơn khoảng cách với nhóm từ 41-50 tuổi Tuy nhiên cũng cần chú
ý đến các yếu tố khác, chẳng hạn nếu muốn mô tả sở thích của khách hàngtheo nhóm tuổi Lúc này khoảng cách từ nhóm 21-30 tuổi đến nhóm 41-50tuổi, nếu xét về định lượng sẽ bằng khoảng cách từ nhóm 41-50 tuổi đếnnhóm 61-70 tuổi, nhưng do đang xét yếu tố sở thích nên hai khoảng cáchnày phải khác nhau
Việc tính toán khoảng cách giữa các thuộc tính khác nhau có độ phứctạp lớn hơn tính khoảng cách giữa các phần tử trong một thuộc tính Ví dụvới tập dữ liệu nợ ngân hàng có thuộc tính tuổi được sắp xếp theo thứ tự :21-30 tuổi là nhóm 1, 21-40 tuổi là nhóm 2, 41-50 tuổi là nhóm 3 Nếu độ
đo 0-1 được sử dụng với thuộc tính nợ với 0 cho số tiền nợ nhỏ và 1 cho sốtiền nợ lớn, trong khi độ đo giá trị số tiền được sử dụng với thuộc tính thunhập thì khoảng cách trong thuộc tính thu nhập sẽ lớn hơn rất nhiều khoảngNguyễn Tiến Thành – Công nghệ phần mềm K44
34
Trang 35cách trong thuộc tính nợ Do đó cần phải dùng chung một độ đo cho cácthuộc tính.
3.4 Luật quyết định và luật liên kết
Một luật quyết định có dạng : nếu X thì Y với X là điều kiện, Y là kếtquả Đó là một cách biểu diễn quyết định thông thường có tính giải thíchcao Điều kiện của luật là một biểu thức logic, kết qủa là một giá trị hoặcmột lớp Không giống như cấu trúc cây, các luật quyết định không cần phảiloại trừ nhau, do đó cần các cơ chế để kết hợp các luật hoặc lựa chọn mộtluật đơn Một kỹ thuật thường dùng là sắp xếp các luật theo thứ tự, luật thỏamãn đầu tiên trong danh sách là luật được chọn.[4]
Mỗi luật quyết định là một sự kết nối (AND) của các mệnh đề đúng-sai.Các luật liên kết với nhau bằng phép hoặc (OR) Kiểu biểu diễn logic nàyđược gọi là dạng chuẩn
Bất kỳ câu quyết định nào cũng có thể được biểu diễn dưới dạng cácluật quyết định trong đó các luật không trùng nhau Điều này có thể thựchiện bằng cách chuyển đường đi đến một nút lá thành một luật với điềukiện là kết hợp của các nút trên đường trừ nút cuối và kết quả là nhãn củanút cuối Bằng việc loại bỏ sự trùng hợp giữa các luật, mô hình luật quyếtđịnh nhìn chung đơn giản và hiệu quả hơn mô hình cây quyết định
Việc chuẩn bị dữ liệu cho kỹ thuật luật quyết định không khác mấy sovới kỹ thuật cây quyết định Thích hợp nhất là dạng bảng chuẩn, ngoài ramột số kỹ thuật còn có các cơ chế đặc biệt để xử lý các thuộc tính cùngnhóm mà không cần biến đổi chúng về dạng nhiều thuộc tính đúng-sai Một
số kỹ thuật dựa vào luật quyết định đòi hỏi các thuộc tính có giá trị số phảiđược rời rạc hoá thành các thuộc tính đúng-sai bao quát một khoảng giá trịxác định
Mục đích của kỹ thuật là xác định các luật và các phần tử của nó Tậpcác luật thu được phải kiểm soát được tất cả các trường hợp của bộ dữ liệuNguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 36và có khả năng khái quát hoá dữ liệu đó Tập này thu được bằng cách sửdụng các kỹ thuật tạo luật, hoặc một cây quyết định, là cơ sở dữ liệu chocác bước xử lý tiếp theo Tập luật với hiệu quả kiểm thử cao nhất được lựachọn Do tập luật có thể trùng lặp nên hầu hết các thuật toán luật quyết định
có độ phức tạp cao hơn so với cây quyết định Ví dụ như độ hiệu quả củaviệc tách một luật không phụ thuộc vào các luật còn lại Một số hệ thốngsinh luật kết hợp cả quá trình tối ưu để nâng cao độ ổn định của kết quả.Các luật quyết định là một cách biểu diễn tự nhiên các tri thức được lưutrong cơ sở dữ liệu Một mô hình logic tương tự là luật liên kết đã đượcphát triển cho hệ thống cơ sở dữ liệu Quá trình khai phá dữ liệu tìm kiếmcác luật bao quát tất cả các trường hợp, nhờ đó tạo thành một mô tả của tất
cả dữ liệu hiện có cho mục đích khai phá Điều này đòi hỏi sự ước lượnghiệu quả của các quá trình sinh luật và kết quả mà chúng đem lại Thôngthường, các luật liên kết thường được đánh giá dựa vào một mục tiêu xácđịnh, do đó một tâp bao phủ tất cả các trường hợp là không cần thiết Do đótrong quá trình khai phá dữ liệu, yêu cầu đặt ra với hệ thống là tìm ra tất cảcác luật có dạng là hợp của các mệnh đề đúng-sai, với điều kiện phải thoảmãn một ngưỡng tin cậy nào đó Ví dụ, tìm tất cả các luật trong đó khảnăng nợ đọng sẽ được trả đúng hạn có độ tin cậy lớn hơn 90%
Các kỹ thuật tìm kiếm luật liên kết rất có ích trong trường hợp phát hiệncác mối liên hệ trong kinh doanh hàng hoá, giúp đỡ đưa ra quyết định vềchiến lược kinh doanh Các kỹ thuật luật liên kết hiện nay đã được mở rộng
để xử lý cả những dữ liệu liên tục như dữ liệu liên quan đến thời gian Với
dữ liệu này, các hạn chế sẽ được thêm vào luật để đảm bảo các sự kiện liênquan sẽ xảy ra trong một khoảng thời gian Ví dụ như tìm tất cả các sự kiện
có khả năng xảy ra trước hạn trả nợ
Các kỹ thuật sinh luật thường thực hiện lựa chọn động các thuộc tính và
xử lý hiệu quả với rất nhiếu thuộc tính Các quá trình lặp cũng được sửdụng do đó số mệnh đề được kiểm tra tăng lên rất nhiều so với phươngNguyễn Tiến Thành – Công nghệ phần mềm K44
36
Trang 37pháp cây quyết định Vì vậy cần phải có các biện pháp làm giảm giá trị vàlàm mịn dữ liệu để tăng độ hiệu quả.
Tổng số các mệnh đề trong tập toàn bộ các luật có thể coi là số đo độphức tạp của phương pháp này Độ phức tạp được tính bằng cách xén tỉacác luật gồm nhiều mệnh đề thành các luật con cho đến khi chỉ còn các luậtđơn dạng ab Quá trình này bao gồm việc xoá bỏ các luật hoặc các mệnh
đề độc lập Với một tập luật lớn, tổng số luật có thể lên tới hàng nghìn Khi
mà các mệnh đề trong luật không được sắp theo trật tự, việc đánh giá cácmệnh đề cần bỏ đi sẽ cần nhiều năng lực tính toán của máy
Việc xóa bỏ một luật sẽ có liên quan đến nhiều bản ghi trong khi nếuxoá một mệnh đề từ một luật gồm nhiều mệnh đề còn có ảnh hưởng rộnghơn nữa Do đó xén tỉa là một quá trình không ổn định, đòi hỏi phải cóbước sàng lọc và tối ưu tập luật, đặc biệt khi tập luật có tương đối ít phầntử
Quá trình sinh luật liên kết có độ phức tạp tính toán cao hơn so với câyquyết định Việc thu nhỏ giá trị và tiền sắp xếp có tác dụng làm giảm thờigian tính toán đáng kể, đặc biệt với các bước lặp Với các bộ dữ liệu có ítthuộc tính, hiệu quả thời gian là khá tốt cho dù kích thước dữ liệu lớn Tổng
số luật tăng lên theo kích thước của mẫu, có thể lên tới hàng nghìn luật Do
đó, thời gian chạy của chương trình có thể tăng lên rất nhiều vì các quátrình xén tỉa, tối ưu chậm hơn nhiều so với cây quyết định.Tuy nhiênphương pháp luật liên kết có ưu thế hơn cây quyết định trong việc giải thích
và dự đoán, mặc dù đòi hỏi nhiều kỹ thuật phức tạp Chi tiết về các kỹ thuậtkhai phá luật liên kết sẽ được trình bày trong chương IV
Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 38CHƯƠNG IV: MỘT SỐ GIẢI THUẬT KHAI PHÁ
LUẬT LIÊN KẾT
Công đoạn chính trong việc xây dựng cơ sở tri thức là việc xây dựng tậpluật Dưới đây là các kỹ thuật khai phá các luật liên kết từ cơ sở dữ liệunhằm mục đích xây dựng cơ sở tri thức
4.1 Mô hình hình thức
Đặt I = I1,I2,I3, ,Im là một tập các thuộc tính nhị phân được gọi là cácphần tử Đặt T là một cơ sở dữ liệu của các giao dịch Với giao dịch t đượcmiêu tả như một véc tơ nhị phân, t[k] = 1 nếu trong t có mua bán phần tử(mặt hàng) Ik, và t[k]=0 trong trường hợp khác Mỗi một tuple trong cơ sở
dữ liệu ứng với một giao dịch Đặt X là tập của một số phần tử trong I.Chúng ta nói rằng một giao dịch t thoả mãn X nếu tất cả các phần tử Ik cũngtrong X, t[k] = 1
Một luật kết hợp có dạng X =>Ij ở đó X là tập các phần tử trong I, và Ij
là một phần tử có trong I nhưng không có trong X Luật X=>Ij đã thoảmãn trong tập các giao dịch T với hệ số tin cậy 0 ≤ c ≤ 1 nếu tối thiểu c%của các giao dịch trong T thoả mãn X thì luôn luôn thoả mãn Ij Dùng kýhiệu X=>Ij | c để nói rằng luật X=>Ij có hệ số tin cậy (confidence) c
Với một tập các giao dịch T, chúng ta quan tâm tới việc tìm tất cả cácluật thoả mãn hai điều kiện về cú pháp và mức hỗ trợ (support) Trong khitìm các công thức này, vấn đề khai phá luật có thể được chia thành 2 bước:
1 Tìm tất cả các tập hợp của các phần tử có mức support trong mỗi giaodịch riêng lẻ lớn hơn một ngưỡng, được gọi là minsupport Ta gọi đó là cácNguyễn Tiến Thành – Công nghệ phần mềm K44
38
Trang 39tập phần tử lớn (large itemset), và tất cả các sự kết hợp khác không đạt mứcngưỡng đó là các tập phần tử nhỏ (small itemset).
Các điều kiện về cú pháp sẽ giới hạn các tập hợp thích hợp Ví dụ, nếu
ta chỉ quan tâm đến các luật có chứa phần tử Ix ở điều kiện thì các luật nàychỉ có thể thu được từ các tập hợp chứa Ix
2 Với mỗi một tập phần tử lớn Y = I1I2…Ik , k ≥ 2, sẽ sinh ra tất cả các
luật dùng các phần tử từ tập I1,I2,…,Ik Thành phần điều kiện (hay giả thiết)của các luật này sẽ là một tập con X của Y, như vậy X có k – 1 phần tử, vàthành phần kết quả sẽ là tập phần tử Y – X Để sinh một luật X=>Ij | c, trong
đó X = I1I2…Ij-1Ij+1….Ik, ta lấy chỉ số support của Y chia cho chỉ số supportcủa X Nếu tỷ số này lớn hơn c thì luật là thoả mãn với độ tin cậy là c, nếukhông thì nó không thoả mãn
Chú ý rằng nếu tập phần tử Y là là lớn, thì các tất cả các tập con kháccủa Y cũng là các tập lớn, và ta phải tìm giá trị support của chúng, đó là kếtquả thu được sau khi giải quyết xong bước thứ nhất Tất cả các luật thuđược từ tập Y phải thoả mãn điều kiện về mức support giới hạn và tập Y làtổng hợp của các phần tử trong điều kiện và kết quả của tất cả các luật
Để đánh giá các luật, người ta còn dùng một chỉ số khác, đó là hệ số tácđộng (lift ratio) Hệ số này biểu thị mối quan hệ tương tác giữa thành phầnđiều kiện và kết quả của một luật liên kết Ví dụ : trong một bộ dữ liệu giaodịch có 5% số khách hàng mua mặt hàng A, như vậy độ tin cậy với sự kiệnkhách hàng mua mặt hàng A là 5% Xét luật B A, nếu độ tin cậy của luậtnày là 40% thì hệ số tác động của nó là 40/5 = 8, tức là khách hàng muamặt hàng B có khả năng mua mặt hàng A gấp 8 lần khách hàng không muamặt hàng B Như vậy mặt hàng B đã có tác động lớn đến việc bán mặt hàng
A Trong quá trình xem xét kết quả, thường chú ý đến các luật có hệ số tácđộng cao vì mức độ ảnh hưởng của điều kiện đến kết quả là lớn
Trọng tâm của vấn đề khai phá luật liên kết là bước thứ nhất, đó là bướctìm các tập phần tử lớn, vì vậy ta sẽ tập trung nghiên cứu quá trình này Nguyễn Tiến Thành – Công nghệ phần mềm K44
Trang 404.1.1 Tìm kiếm các tập phần tử lớn
Dưới đây ta sẽ tìm hiểu một thuật toán mẫu dùng để tìm các tập phần tửlớn Cho một tập các phần tử I, một tập X+Y của các phần tử trong I được
gọi là mở rộng của tập phần tử X nếu X Y = Thông số dbsize là tổng
số tuple (bản ghi) trong cơ sở dữ liệu
Thuật toán thực hiện việc quét trên toàn cơ sở dữ liệu Tập biên chophép kiểm tra sự phù hợp của các tập phần tử được mở rộng Trong mỗiphép kiểm tra đều có tính giá trị chỉ số support của mỗi tập phần tử Cáctập phần tử này, được gọi là các tập ứng cử, thu được từ các tuple trong cơ
sở dữ liệu và các tập phần tử có trong tập biên
Tương ứng với mỗi tập phần tử là một biến đếm (count) lưu giữ số giaodịch có các tập phù hợp Biến đếm này được khởi đầu bằng 0 khi mỗi mộttập phần tử được tạo ra
{ -Thuật toán mẫu -}
if t chứa f then begin
let Cf = các tập ứng cử là mở rộng của f và nằm trong t