Còn khai phá dữ liệu là một bước quan trọng trong quá trình khám phá tri thức, sử dụng các thuật toán khai phá dữ liệu chuyên dùng với một số quy định về hiệu quả tính toán chấp nhận đượ
Trang 1LÊ VĂN TRUNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU XÂY DỰNG
HỆ THỐNG TRỢ GIÚP PHÒNG, CHỐNG VÀ GIẢM NHẸ RỦI RO THIÊN TAI TẠI TRƯỜNG HỌC
LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - 2016
Trang 2LÊ VĂN TRUNG
ỨNG DỤNG KHAI PHÁ DỮ LIỆU XÂY DỰNG
HỆ THỐNG TRỢ GIÚP PHÒNG, CHỐNG VÀ GIẢM NHẸ RỦI RO THIÊN TAI TẠI TRƯỜNG HỌC
Chuyên ngành: Hệ thống thông tin
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của thầy PGS TS Lê Văn Sơn Các kết quả nêu trong Luận văn chưa được công bố trong bất kỳ công trình nào khác Các số liệu, ví dụ và trích dẫn trong Luận văn đảm bảo tính chính xác, tin cậy và trung thực
NGƯỜI CAM ĐOAN
Lê Văn Trung
Trang 4LỜI CẢM ƠN
Luận văn thạc sĩ kỹ thuật chuyên ngành hệ thống thông tin với đề tài “Ứng dụng khai phá dữ liệu xây dựng hệ thống trợ giúp phòng, chống và giảm nhẹ rủi ro thiên tai tại trường học” là kết quả của quá trình cố gắng của bản thân và
được sự giúp đỡ, động viên khích lệ của quý thầy, cô, bạn bè đồng nghiệp và người thân Qua trang viết này tác giả xin gửi lời cảm ơn tới những người đã giúp đỡ tôi trong thời gian học tập - nghiên cứu vừa qua
Tôi xin tỏ lòng kính trọng và biết ơn sâu sắc đối với thầy giáo PGS.TS Lê Văn Sơn đã trực tiếp tận tình hướng dẫn cũng như cung cấp tài liệu thông tin khoa học cần thiết cho luận văn này
Xin tỏ lòng kính trọng và chân thành cảm ơn quý thầy, cô giáo đã tận tình giảng dạy các chuyên đề, giúp tôi tiếp thu nhiều kiến thức mới phục vụ cho việc nghiên cứu và hoàn thành luận văn này
Cuối cùng tôi xin chân thành cảm ơn đồng nghiệp, đơn vị công tác đã giúp
đỡ tôi trong quá trình học tập và thực hiện luận văn
TÁC GIẢ
Lê Văn Trung
Trang 5MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích và nhiệm vụ của đề tài 2
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 3
5 Giải pháp đề xuất 3
6 Kết cấu luận văn 4
CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 5
1.1 KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 5
1.2 QUÁ TRÌNH KHÁM PHÁ TRI THỨC 8
1.2.1 Gom dữ liệu (Gathering) 8
1.2.2 Trích lọc dữ liệu (Selection) 9
1.2.3 Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu (Cleansing, Pre-processing and Preparation) 9
1.2.4 Chuyển đổi dữ liệu (Transformation) 9
1.2.5 Khai phá dữ liệu (Data Mining) 9
1.2.6 Đánh giá kết quả mẫu (Evaluation of Result) 9
1.3 CÁC LOẠI DỮ LIỆU CÓ THỂ KHAI PHÁ 10
1.4 CÁC PHƯƠNG PHÁP, KỸ THUẬT CHÍNH TRONG KHAI PHÁ DỮ LIỆU 10
1.4.1 Phân lớp và dự đoán (Classification & Prediction) 11
1.4.2 Luật kết hợp (Association Rules) 13
1.4.3 Khai thác mẫu tuần tự (Sequential / Temporal patterns) 14
1.4.4 Phân nhóm- đoạn (Clustering / Segmentation) 14
1.4.5 Hồi quy (Regression) 14
1.4.6 Tổng hợp hóa (Summarization) 15
Trang 61.4.7 Mô hình hóa sự phụ thuộc (dependency modeling) 15
1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection) 15
1.5 NHỮNG KHÓ KHĂN TRONG KHAI PHÁ DỮ LIỆU 16
1.6 ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU 17
1.7 KẾT LUẬN 18
CHƯƠNG 2 TÌM HIỂU PHÂN CỤM DỮ LIỆU, LUẬT KẾT HỢP, THUẬT TOÁN K_MEANS VÀ THUẬT TOÁN APRIORI 19
2.1 KHÁI NIỆM VÀ MỤC TIÊU CỦA PHÂN CỤM DỮ LIỆU 19
2.1.1 Khái niệm phân cụm dữ liệu 19
2.1.2 Các mục tiêu của phân cụm dữ liệu 20
2.2 CÁC ỨNG DỤNG CỦA PHÂN CỤM DỮ LIỆU 22
2.3 CÁC YÊU CẦU VÀ NHỮNG VẤN ĐỀ CÒN TỒN TẠI TRONG PHÂN CỤM DỮ LIỆU 23
2.3.1 Các yêu cầu của phân cụm dữ liệu 23
2.3.2 Những vấn đề còn tồn tại trong phân cụm dữ liệu 25
2.4 THUẬT TOÁN K_MEANS 26
2.5 LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU (ASSOCIATION RULE IN DATA MINING) 31
2.6 THUẬT TOÁN APRIORI (by Agrawal and Srikant 1994) 32
2.7 KẾT LUẬN 36
CHƯƠNG 3 ỨNG DỤNG KHAI PHÁ DỮ LIỆU XÂY DỰNG HỆ THỐNG TRỢ GIÚP PHÒNG, CHỐNG VÀ GIẢM NHẸ RỦI RO THIÊN TAI TẠI TRƯỜNG HỌC 37
3.1 ĐẶT VẤN ĐỀ 37
3.2 CƠ SỞ LÝ LUẬN VÀ KHOA HỌC THỰC TIỄN 38
3.2.1 Cơ sở lý luận 38
3.2.2 Cơ sở thực tiễn 40
3.2.3 Cơ sở khoa học 40
3.3 BIỂU MẪU BAN ĐẦU 41
Trang 73.3.1 Biểu xác định các loại thiên tai 41
3.3.2 Cơ sở vật chất giúp nhà trường an toàn trước thiên tai 42
3.3.3 Quản lí trường học an toàn 47
3.3.4 Giáo dục về phòng chống và giảm nhẹ thiên tai trong trường học 48
3.3.5 Các thông tin về khu vực xung quanh trường học 49
3.3.6 Các mối nguy hiểm trên đường đến trường 50
3.4 CẤU TRÚC DỮ LIỆU CỦA CHƯƠNG TRÌNH 50
3.4.1 Tập tin dữ liệu danh sách trường 50
3.4.2 Thông tin chi tiết các trường 52
3.5 GIẢI PHÁP THỰC HIỆN 54
3.5.1 Mô tả hệ thống 54
3.5.2 Kịch bản triển khai và phân tích dữ liệu 55
3.6 CÀI ĐẶT CHƯƠNG TRÌNH 57
3.6.1 Cài đặt phần cứng 57
3.6.2 Cài đặt phần mềm 57
3.6.3 Các chức năng chính của chương trình 57
3.7 KẾT LUẬN 58
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59 TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (BẢN SAO)
Trang 8DANH MỤC VIẾT TẮT
BCRD Dự án xây dựng năng lực phòng ngừa và ứng phó thiên tai cho
cộng đồng vùng cao Việt Nam
Bộ GDĐT Bộ Giáo dục và Đào tạo
CECI Trung tâm nghiên cứu và hợp tác Quốc tế
CSDL Cơ sở dữ liệu
DBMS Database Management System
DIPECHO Chương trình giảm nhẹ thiên tai của cơ quan viện trợ nhân đạo
Châu Âu
Trang 93.1 Các bước triển khai hệ thống phân tích dữ liệu trường học 55
3.2 Giao diện phân cụm dữ liệu điểm đánh giá phòng chống
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay cùng với sự thay đổi và phát triển không ngừng của ngành Công nghệ thông tin nói chung và trong các ngành công nghệ phần cứng, phần mềm và hệ thống các dữ liệu phục vụ trong các lĩnh vực kinh tế - xã hội nói riêng, thì việc thu thập thông tin cũng như nhu cầu lưu trữ thông tin ngày càng lớn Bên cạnh đó việc tin học hóa một cách nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu lớn Rất nhiều cơ sở dữ liệu (CSDL) đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí…Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những
kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ thành tri thức có ích Một vấn đề đặt ra là phải làm sao trích chọn được những thông tin có ý nghĩa khối dữ liệu lớn để từ đó có thể giải quyết các yêu cầu của thực tế như trợ giúp ra quyết định, dự đoán…và Khai phá dữ liệu (Data mining) đã ra đời nhằm giải quyết các yêu cầu đó
Những ứng dụng thành công trong khám phá tri thức cho thấy khai phá dữ liệu
là một lĩnh vực phát triển bền vững mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống Khai phá dữ liệu có nhiều hướng quan trọng và hai trong số đó là phân cụm dữ liệu (Data Clustering) và luật kết hợp (Association Rule) Phân cụm dữ liệu là quá trình tìm kiếm để phân ra các cụm dữ liệu, các mẫu dữ liệu từ khối dữ liệu lớn, luật kết hợp là tìm ra các mối quan hệ giữa các đối tượng trong khối dữ liệu lớn
Phân cụm dữ liệu và luật kết hợp là những kỹ thuật để khai thác dữ liệu có hiệu quả Phân cụm dữ liệu và luật kết hợp đã được ứng dụng trong nhiều lĩnh vực khác nhau như: kinh tế, bảo hiểm, quy hoạch đô thị, du lịch…Tuy nhiên trong lĩnh vực giáo dục và nhất là khía cạnh dự báo nguy cơ rủi ro thiên tai tại trường học vẫn chưa được khai thác hiệu quả
Trang 11Trong những năm qua đã có nhiều chương trình và hoạt động hỗ trợ trường học và trẻ em ứng phó với thiên tai Tuy nhiên các chương trình chỉ tập trung vào các hoạt động lồng ghép kiến thức giảm nhẹ rủi ro thiên tai vào bài giảng các môn học chính khóa như sinh học, vật lí, địa lí …và trong hoạt động ngoại khóa như các cuộc thi tìm hiểu kiến thức về thiên tai, câu lạc bộ, diễn đàn, mà chưa có công cụ thu thập thông tin và phân tích dữ liệu trường học để đưa ra dự đoán các nguy cơ rủi
ro, thiệt hại nếu có thiên tai xảy ra Xuất phát từ nhu cầu thực tế đó nên tôi chọn vấn
đề: “Ứng dụng khai phá dữ liệu xây dựng hệ thống trợ giúp phòng, chống và giảm
nhẹ rủi ro thiên tai tại trường học” làm đề tài luận văn thạc sĩ của mình
2 Mục đích và nhiệm vụ của đề tài
2.1 Mục đích
Xây dựng hệ thống giúp các cơ sở giáo dục có cơ sở:
Lập kế hoạch phòng, tránh và giảm nhẹ rủi ro nếu có thiên tai xảy ra
Xác định những thiên tai đã và có nguy cơ xảy ra tại các khu vực ở gần các cơ
Có những đánh giá, dự báo chính xác thiệt hại nếu có thiên tai xảy ra
Báo cáo kịp thời lên cấp trên trước, trong và sau khi thiên tai xảy ra
Trang 12- Nghiên cứu các kỹ thuật phân cụm và luật kết hợp khai phá dữ liệu thu thập được, đưa ra các nhóm nguy cơ rủi ro thiên tai và dự đoán các rủi ro có thể gặp phải khi thiên tai xảy ra
- Cài đặt triển khai hệ thống
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
Thông tin về vị trí trường, các điều kiện về cơ sở vật chất và các thông tin khác liên quan đến việc thu thập thông tin của các cơ sở giáo dục trên địa bàn tỉnh Kon Tum
Thuật toán phân cụm dữ liệu, thuật toán luật kết hợp (sử dụng 2 thuật toán chính là K_means và Apriori để cài đặt chương trình)
Công cụ khai phá dữ liệu Business Intelligence Development Studio (BIDS), ngôn ngữ lập trình Visual C# và hệ quản trị CSDL SQL
3.2 Phạm vi nghiên cứu
Nghiên cứu thu thập thông tin các trường trên địa bàn tỉnh Kon Tum gồm (16 trường Trung học phổ thông, 10 trường Phổ thông dân tộc nội trú, 07 Trung tâm giáo dục thường xuyên, 103 trường Trung học cơ sở, 142 trường Tiểu học, 121 trường Mầm non)
Thu thập thông tin về cơ sở vật chất, vị trí địa lí, điều kiện tự nhiên xung quanh các trường học như núi, sông, suối…
4 Phương pháp nghiên cứu
Phân tích, so sánh và đối chiếu
Thu thập tổng hợp thông tin
Kiểm thử phần mềm
Đánh giá kết quả đạt được
5 Giải pháp đề xuất
Mô tả hệ thống:
Đầu vào: Thu thập các thông tin về trường học, cơ sở vật chất, vị trí địa lí của
trường, vị trí địa lí khu vực gần trường, những nguy cơ rủi ro trên đường tới trường,
Trang 13thông tin về học sinh, cán bộ, giáo viên, nhân viên…(Bộ công cụ thu thập các thông tin này được xây dựng dựa vào các tiêu chí đánh giá trường học an toàn)
Đầu ra: Dự báo mức độ nguy cơ rủi ro khi có thiên tai xảy ra ở các trường,
nhóm các trường có khả năng chống chịu thiên tai gần giống nhau
Ví dụ: Khi có bão giật cấp 10 xảy ra, dựa vào thông tin thu thập được, hệ
thống dự đoán được mức độ rủi ro thiên tai và các loại rủi ro có thể gặp phải Từ đó cấp trên, nhà trường có cơ sở chỉ đạo, lập kế hoạch phòng, chống và giảm nhẹ rủi ro
do thiên tai gây ra
6 Kết cấu luận văn
Ngoài các phần mở đầu, mục lục, danh mục hình, kết luận và tài liệu tham khảo luận văn chia làm 3 chương:
Chương 1: Tổng quan về kỹ thuật phát hiện tri thức và khai phá dữ liệu
Chương này giới thiệu một cách tổng quát về quá trình khám phá tri thức nói chung và khám phá dữ liệu nói riêng Các phương pháp, lĩnh vực và các hướng tiếp cận trong khai phá dữ liệu
Chương 2: Tìm hiểu phân cụm dữ liệu, luật kết hợp, thuật toán K_means và thuật toán Apriori
Trong chương này trình bày khái niệm và mục tiêu phân cụm dữ liệu và luật kết hợp, các yêu cầu, các cách tiếp cận cũng như các thách thức mà phân cụm dữ liệu và luật kết hợp đang gặp phải, đi sâu tìm hiểu thuật toán K_means và thuật toán Apriori
Chương 3: Ứng dụng khai phá dữ liệu xây dựng hệ thống trợ giúp phòng, chống và giảm nhẹ rủi ro thiên tai tại trường học
Chương này trình bày lý do chọn bài toán, các cơ sở giải quyết bài toán (lý luận, thực tiễn, khoa học…) Cài đặt chương trình thử nghiệm ứng dụng kỹ thuật phân cụm và luật kết hợp và một số kết quả thu được
Trang 14CHƯƠNG 1
TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ
KHAI PHÁ DỮ LIỆU
1.1 KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU
“Khám phá tri thức là quá trình tìm ra những tri thức, đó là những mẫu tìm ẩn, trước đó chưa biết và là thông tin hữu ích đáng tin cậy” Còn khai phá dữ liệu là một bước quan trọng trong quá trình khám phá tri thức, sử dụng các thuật toán khai phá dữ liệu chuyên dùng với một số quy định về hiệu quả tính toán chấp nhận được để chiết xuất ra các mẫu hoặc các mô hình có ích trong dữ liệu Nói một cách khác, mục đích của khám phá tri thức và k ha i phá d ữ l iệ u chính là tìm ra các mẫu hoặc mô hình đang tồn tại trong các CSDL nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu [1]
Khám phá tri thức từ CSDL là một quá trình sử dụng các phương pháp và công cụ tin học, trong đó con người là trung tâm của quá trình Do đó, con người cần phải có kiến thức cơ bản về lĩnh vực cần khám phá để có thể chọn được tập con dữ liệu tốt, từ đó phát hiện các mẫu phù hợp với mục tiêu đề ra Đó chính là tri thức, được rút ra từ CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm
vụ nhất định trong một lĩnh vực nhất định Tuy vậy, quá trình khám phá tri thức mang tính chất hướng nhiệm vụ vì không phải là mọi tri thức tìm được đều áp dụng vào thực tế được
Để có được những thông tin quý báu chúng ta phải tìm ra các mẫu có trong tập CSDL trước Việc đánh giá các mẫu được tìm thấy cũng là một điều thú vị và tất yếu có tính chất quyết định đến sự sử dụng hay không sử dụng chúng Đầu ra của một chương trình là khám phá những mẫu có ích được gọi là tri thức Tri thức được khám phá có các đặc điểm chính:
- Kiến thức cao cấp: Ngày càng có nhiều câu hỏi mang tính chất định tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có Quá trình để tìm
ra kiến thức như vậy không phải từ những phương pháp thống kê cổ điển mà nó
Trang 15được đúc kết từ các kinh nghiệm đã có, được thể hiện trong dữ liệu, những kết quả
- Tính hấp dẫn: Khám phá tri thức được coi là lý thú vì nó có thể vạch ra các xu hướng một cách hoàn thiện Đó là những điều mới lạ hay những quy trình tìm năng, hữu ích ẩn chứa từ trong dữ liệu trước đó
- Tính hiệu quả: thời gian chạy của thuật toán khám phá tri thức trên CSDL lớn có thể dự tính và chấp nhận được
Dữ liệu là tập hợp những bộ thông tin chính xác và quá trình khám phá tri thức được xem là sự lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu chỉ để lại các đặc trưng cơ bản cho dữ liệu Tri thức được tìm thấy là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ trong chúng Các mối quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học
Nếu khám phá tri thức là toàn bộ quá trình chiết xuất tri thức từ các CSDL thì khai phá dữ liệu là giai đoạn chủ yếu của quá trình đó Khai phá dữ liệu
là một quá trình phát hiện các mẫu mới, 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 đó 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 nhóm, các mô hình đồ thị, các mạng Bayes… Hầu hết các CSDL đều chứa rất nhiều các mẫu mới và có ích, tuy nhiên mẫu có giá trị với mục tiêu đặt ra phải là những mẫu không tầm thường Để các mẫu trở nên không tầm thường, hệ thống phải làm nhiều hơn là chỉ mò mẫm thống kê vì kết quả của việc tính toán trực tiếp qua công tác thống kê
là đã có đối với người dùng Một hệ thống tìm kiếm cần phải có khả năng quyết
Trang 16định cần thực hiện tính toán nào và kết quả là có đáng quan tâm để tạo nên tri thức trong ngữ cảnh hiện tại hay không
Khai phá dữ liệu được sử dụng để tạo ra giả thuyết Ví dụ như để xác định các yếu tố rủi ro khi cho vay tín dụng, kỹ thuật khai phá dữ liệu phải phát hiện được những người có thu nhập thấp và nợ nhiều là những người sẽ có mức rủi ro cao Ngoài ra kỹ thuật cũng có thể phát hiện ra những quy luật mà nhà phân tích có thể chưa tìm ra ví dụ như tỷ lệ giữa thu nhập trên nợ và tuổi cũng là các yếu tố xác định mức rủi ro Để làm được điều này, khai phá dữ liệu sử dụng các thông tin trong quá khứ để học Nó sẽ tìm kiếm các thông tin này trong các CSDL và sử dụng chúng để tìm ra các mẫu đáng quan tâm
Nếu xét về mặt ý tưởng và mục đích ứng dụng, khai phá dữ liệu 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 thì về mặt
kỹ thuật, đó 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 Khai phá dữ liệu đượ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 như cầu kinh doanh để có thể giải quyết tự động các bài toán kinh doanh 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, mạng neuron, phương pháp láng giềng gần nhất, các luật suy diễn…
Khai phá dữ liệu không thuộc một ngành công nghiệp nào Nó sử dụng các
kỹ thuật thông minh để khai phá các tri thức tiềm ẩn trong dữ liệu Có thể coi khai phá dữ liệu ngày nay đang ở trạng thái giống như việc quản trị dữ liệu vào những năm 60, khi mà các ứng dụng quản trị dữ liệu đều không tuân theo một nguyên tắc chung nào cho đến khi mô hình dữ liệu quan hệ ra đời cùng với sức mạnh của ngôn ngữ vấn đáp đã thúc đẩy việc phát triển các ứng dụng quản trị dữ liệu lên nhanh chóng Tuy vậy, hiện nay trên thế giới đã có rất nhiều ngành công nghiệp sử dụng kỹ thuật khai phá dữ liệu để phục vụ cho hoạt động kinh doanh của mình và đã bước đầu thành công như ngành tài chính, y học, hóa học, bảo hiểm, sản xuất, giao thông, hàng không,… Các kết quả đạt được cho thấy mặc dù kỹ
thuật khai phá dữ liệu hiện nay vẫn còn nhiều vấn đề nổi cộm, nhưng với
Trang 17những tri thức mà chuyên gia con người cũng chưa cung cấp được thì khai phá
dữ liệu có một tiềm năng to lớn trong việc tạo ra những lợi nhuận đáng kể trong nền kinh tế
1.2 QUÁ TRÌNH KHÁM PHÁ TRI THỨC
Hình 1.1 Quá trình khám phá tri thức [10]
Quá trình khám phá tri thức từ CSDL là một quá trình có sử dụng nhiều phương pháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người là trung tâm Do đó, nó không phải là một hệ thống phân tích tự động mà
là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, tất nhiên là với sự hỗ trợ của các công cụ tin học Người sử dụng hệ thống ở đây phải là người có kiến thức cơ bản về lĩnh vực cần phát hiện tri thức để có thể chọn được đúng các tập con dữ liệu, các lớp mẫu phù hợp và đạt tiêu chuẩn quan tâm so với mục đích Tri thức mà ta nói ở đây là các tri thức rút ra
từ các CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Do đó, quá trình phát hiện tri thức cũng mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức bất kỳ mà là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ đề ra
1.2.1 Gom dữ liệu (Gathering)
Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá dữ liệu Đây là bước được khai thác trong một CSDL, một kho dữ liệu và thậm chí các dữ liệu từ các
Trang 18sẽ gây nên những kết quả sai lệch nghiêm trọng
1.2.4 Chuyển đổi dữ liệu (Transformation)
Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu được chuyển đổi hay được hợp nhất về dạng thích hợp cho việc khai phá
1.2.5 Khai phá dữ liệu (Data Mining)
Đây là một tiến trình cốt yếu Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng một cách phù hợp để trích xuất thông tin có ích hoặc cá mẫu điển hình trong dữ liệu
1.2.6 Đánh giá kết quả mẫu (Evaluation of Result)
Đây là giai đoạn cuối trong quá trình khai phá dữ liệu Ở giai đoạn này, các mẫu dữ liệu được chiết xuất, không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức cần thiết
Từ quá trình khám phá tri thức trên chúng ta thấy được sự khác biệt giữa khám phá tri thức và khai phá dữ liệu Trong khi khám phá tri thức là nói đến quá trình tổng thể phát hiện tri thức hữu ích từ dữ liệu Còn khai phá dữ liệu chỉ là
Trang 19một bước trong quá trình khám phá tri thức, các công việc chủ yếu là xác định được bài toán khai phá, tiến hành lựa chọn phương pháp khai phá dữ liệu phù hợp với dữ liệu có được và tách ra các tri thức cần thiết
1.3 CÁC LOẠI DỮ LIỆU CÓ THỂ KHAI PHÁ
Các loại dữ liệu có thể được khai phá như sau:
- CSDL quan hệ (relational databases): là những CSDL được tổ chức theo mô hình quan hệ Hiện nay, các hệ quản trị CSDL đều hỗ trợ mô hình này như:
MS Access, MS SQL Server, Oracle, IBM DB2
- CSDL đa chiều (multidimention structures, data warehouse, data mart): còn được gọi là nhà kho dữ liệu, trong đó dữ liệu được chọn từ nhiều nguồn khác nhau và chứa những đặc tính lịch sử thông qua thuộc tính thời gian tường minh hoặc ngầm định
- CSDL giao tác (transaction databases): là loại dữ liệu được sử dụng nhiều trong siêu thị, thương mại, ngân hàng,
- CSDL quan hệ – hướng đối tượng (object relational databases): mô hình CSDL này là lai giữa mô hình hướng đối tượng và mô hình CSDL quan hệ
- CSDL không gian và thời gian (spatial, temporal, and time – series data): chứa những thông tin về không gian địa lý hoặc thông tin theo thời gian
- CSDL đa phương tiện (Multimedia database): là loại dữ liệu có nhiều trên mạng, bao gồm các loại như âm thanh, hình ảnh, video, văn bản và nhiều kiểu dữ liệu định dạng khác
1.4 CÁC PHƯƠNG PHÁP, KỸ THUẬT CHÍNH TRONG KHAI PHÁ DỮ LIỆU
Các kỹ thuật khai phá dữ liệu được có thể chia làm 2 nhóm chính [5]:
- Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chất hoặc
các đặc tính chung của dữ liệu trong CSDL hiện có Nhóm kỹ thuật này gồm các
phương pháp: phân nhóm (Clustering), tổng hợp hóa (Summerization), phát hiện
sự biến đổi và độ lệch (Change and deviation detection), phân tích luật kết hợp (Association Rules)
Trang 20- Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào
các suy diễn trên dữ liệu hiện thời Nhóm kỹ thuật này gồm các phương pháp:
phân lớp (Classification), hồi quy (Regression)
1.4.1 Phân lớp và dự đoán (Classification & Prediction)
Là đặt các mẫu vào các lớp được xác định trước Nhiệm vụ chính là tìm các hàm ánh xạ các mẫu dữ liệu một cách chính xác vào trong các lớp.Ví dụ một ngân hàng muốn phân loại các khách hành của họ vào trong hai nhóm có nợ hay không
nợ, từ đó giúp họ ra quyết định cho vay hay không cho vay Quá trình phân lớp dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng mô hình để phân lớp dữ liệu
- Bước 1: một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ
liệu sẵn có Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính
gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện
(training data set) Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định
trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám
sát (supervised learning) khác với phân nhóm dữ liệu là học không có giám sát (unsupervised learning)
- Bước 2: sử dụng mô hình để phân lớp dữ liệu Trước hết chúng ta phải tính
độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được
sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai
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 (Decision Tree), K-láng giềng gần nhất (k-Nearest Neighbor), Mạng Nơron (Neural networks), Giải thuật di truyền (Genetic algorithms), Mạng Bayesian (Bayesian networks), Tập mờ và tập thô (Rough and Fuzzy Sets)
Cây quyết định (Decision Tree)
Các kỹ thuật phân lớp sử dụng cây quyết định để phân tách các dữ liệu cho đến khi mỗi phần chứa đựng hầu hết các mẫu từ một lớp đặc trưng, kết quả của quá trình
sẽ cho ra một cây quyết định Điểm phân tách trong cây quyết định là một nút (không phải là nút lá) sẽ sử dụng một số điều kiện để quyết định dữ liệu sẽ được
Trang 21phân tách như thế nào Các nút cuối cùng trong cây quyết định chứa đựng các bộ mẫu giống nhau Lợi thế của cây quyết định là các thuật toán chạy khá nhanh, với kết quả khá tốt và có thể giải thích được rõ ràng Tuy nhiên, bất lợi mà các thuật toán của cây quyết định có thể gặp phải đó là chúng có thể tìm ra các điểm tới hạn cục bộ, đưa ra các kết quả không đúng
K-láng giềng gần nhất (k-Nearest Neighbor)
Thuật toán này tìm ra các láng giềng gần nhất của mẫu thử nghiệm và quy về các nhãn lớp của chúng dựa trên các nhãn đa số, điều đó có nghĩa là các mẫu được quy về cùng lớp khi chúng là lân cận của nhau Kỹ thuật này cho rằng vị trí trong không gian đặc trưng hàm ý một quan hệ họ hàng gần gũi ở giữa các nhãn lớp Lợi thế của các thuật toán K-láng giềng gần nhất là dễ thực thi, và kết quả mà
nó đem lại khả năng dễ dàng giải thích Nhưng một điểm bất lợi là các thuật toán này đưa ra các mô hình rất lớn với một tập dữ liệu nhỏ
Mạng nơron (Neural networks)
Mạng nơron là mạng được mô phỏng theo bộ não của con người Đó là một cấu trúc dữ liệu của các hàm với một hoặc nhiều trọng số đầu vào, với kết quả đầu ra là một nhãn các lớp Từng phần riêng biệt của dữ liệu được đưa vào mạng nơron và các hàm - các trọng số trong mạng nơron bị thay đổi (học - huấn luyện) tùy theo tỷ lệ lỗi của đầu ra Phương pháp này thường đưa đến một khoảng thời gian huấn luyện dài ngay cả khi tập dữ liệu nhỏ
Lợi thế của mạng nơron là đưa đến các kết quả khá chính xác, nhưng bất lợi của nó là thường đòi hỏi thời gian huấn luyện dài và đưa ra các kết quả khó hiểu, cứng nhắc, bị bao bọc trong một hộp đen, khó giải thích tường minh
Giải thuật di truyền (Genetic algorithms)
Các giải thuật di truyền được sử dụng để đưa ra công thức giả thuyết về sự phụ thuộc giữa các biến Đối với một giải thuật di truyền phải sử dụng các giải pháp như cạnh tranh, lựa chọn và kết hợp giữa các tập hợp cá thể
Lợi thế của Giải thuật di truyền là thường đưa đến các kết quả kiểm tra khá chính xác, nhưng bất lợi của nó là kết quả có được thông qua việc lập trình tiến
Trang 22hóa và các kết quả cũng thường cứng nhắc, khó hiểu
Mạng Bayesian (Bayesian networks)
Trong mạng Bayesian sử dụng các đồ thị có hướng, không có chu trình để miêu tả sự phân lớp có thể được Các đồ thị này cũng có thể được sử dụng để miêu
tả các tri thức chuyên gia Các nút miêu tả các biến thuộc tính và các trạng thái (sự kiện) và mỗi một cạnh miêu tả khả năng sự phụ thuộc giữa chúng Kết hợp với mỗi nút là các lớp cục bộ có thể và các cung được vẽ từ nút nguyên nhân đến nút
bị ảnh hưởng Khai phá dữ liệu trong mạng Bayesian bao gồm việc sử dụng đầu vào các tri thức chuyên gia và sau đó sử dụng một CSDL để cập nhật, lọc và cải tiến tri thức đó trong mạng Các đồ thị mới có thể là kết quả từ các cải tiến này và nguyên nhân của các mối quan hệ giữa các nút kết quả có thể được giải thích một cách dễ dàng
Lợi thế của mạng Bayesian là thường đưa ra các kết quả dễ hiểu, nhưng bất lợi của nó là cần thu thập được các tri thức chuyên gia truyền thống
Tập mờ và tập thô (Rough and Fuzzy Sets)
Lý thuyết về tập mờ và tập thô dựa trên một số cơ sở toán học Đối với các
mô hình tập thô, một giới hạn trên và giới hạn dưới sẽ được xác định Một tập thô định nghĩa một lớp C là một xấp xỉ bởi hai tập Tập cận dưới (lower) của C bao gồm tất cả các mẫu dữ liệu, mà dựa vào tri thức của các mẫu dữ liệu có thể quyết định một mẫu bất kỳ thuộc phân lớp C một cách rõ ràng Tập cận trên của C bao gồm tất cả các mẫu với giá trị của thuộc tính được mô tả không thể thuộc vào phân lớp C Mô hình tập mờ không dốc về cực đại cục bộ bằng các thuật toán cây quyết định, và cũng giống như mô hình tập thô, chúng dùng để đối phó với những điều không chắc chắn tốt hơn bất kỳ một thuật toán nào khác
1.4.2 Luật kết hợp (Association Rules)
Luật kết hợp là dạng luật biểu diễn tri thức ở dạng tương đối đơn giản Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị
dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được
Trang 23Tuy luật kết hợp là một dạng luật khá đơn giản nhưng lại mang rất nhiều ý nghĩa Thông tin mà dạng luật này đem lại rất có lợi trong các hệ hỗ trợ ra quyết định Tìm kiếm được những luật kết hợp đặc trưng và mang nhiều thông tin từ CSDL tác nghiệp là một trong những hướng tiếp cận chính của lĩnh vực khai phá
dữ liệu
1.4.3 Khai thác mẫu tuần tự (Sequential / Temporal patterns)
Tương tự như khai thác luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này có tính dự báo cao
1.4.4 Phân nhóm- đoạn (Clustering / Segmentation)
Mục tiêu chính của việc phân nhóm dữ liệu là nhóm các đối tượng tương tự
nhau trong tập dữ liệu vào các nhóm sao cho mức độ tương tự giữa các đối tượng
trong cùng một nhóm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong các nhóm khác nhau là nhỏ nhất Các nhóm có thể tách nhau hoặc phân cấp gối lên nhau và số lượng các nhóm là chưa biết trước Một đối tượng có thể vừa thuộc nhóm này, nhưng cũng có thể vừa thuộc nhóm khác Không giống như phân lớp
dữ liệu, phân nhóm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ
liệu huấn luyện Vì thế, có thể coi phân nhóm dữ liệu là một cách học bằng quan
sát (learning by observation), trong khi phân lớp dữ liệu là học bằng ví dụ (learning by example) Trong phương pháp này bạn sẽ không thể biết kết quả các
nhóm thu được sẽ như thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các nhóm thu được Phân nhóm còn được gọi là học không có giám sát (unsupervised learning) Phân nhóm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang Web, … Ngoài ra phân nhóm dữ liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác
1.4.5 Hồi quy (Regression)
Hồi quy là việc học một hàm ánh xạ từ một mẫu dữ liệu thành một biến dự
Trang 24đoán có giá trị thực Nhiệm vụ của hồi quy tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển chẳng hạn như hồi quy tuyến tính Tuy nhiên phương pháp mô hình hóa cũng có thể được sử dụng như cây quyết định
1.4.6 Tổng hợp hóa (Summarization)
Là công việc liên quan đến các phương pháp tìm kiếm một mô tả tập con dữ liệu Kỹ thuật mô tả khái niệm và tổng hợp hóa thường áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động Nhiệm vụ chính là sản sinh ra các
mô tả đặc trưng cho một lớp Mô tả loại này là một kiểu tổng hợp, tóm tắt các đặc tính chung của tất cả hay hầu hết các mục của một lớp Các mô tả đặc trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc về lớp đã chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong kết luận”
1.4.7 Mô hình hóa sự phụ thuộc (dependency modeling)
Là việc tìm kiếm một mô hình mô tả sự phụ thuộc giữa các biến, thuộc tính theo hai mức Mức cấu trúc của mô hình mô tả (thường dưới dạng đồ thị), trong đó, các biến phụ thuộc bộ phận vào các biến khác và mức định lượng mô hình mô tả mức độ phụ thuộc Những phụ thuộc này thường được biểu thị dưới dạng theo luật
“nếu - thì” - nếu tiền đề đúng thì kết luận đúng Về nguyên tắc, cả tiền đề và kết luận đều có thể là sự kết hợp logic của các giá trị thuộc tính Trên thực tế, tiền đề thường là nhóm các giá trị thuộc tính và kết luận chỉ là một thuộc tính Hơn nữa,
hệ thống có thể phát hiện các luật phân lớp trong đó tất cả các luật cần phải có cùng một thuộc tính do người dùng chỉ ra trong kết luận
Quan hệ phụ thuộc cũng có thể biểu diễn dưới dạng mạng tin cậy Bayes Đó
là đồ thị có hướng, không chu trình Các nút biểu diễn thuộc tính và trọng số của liên kết phụ thuộc giữa các nút đó
1.4.8 Phát hiện sự biến đổi và độ lệch (Change and deviation detection)
Tập trung vào khám phá hầu hết sự thay đổi có nghĩa dưới dạng độ đo đã biết trước hoặc giá trị chuẩn, phát hiện độ lệch đáng kể giữa nội dung của tập con
Trang 25dữ liệu thực và nội dung mong đợi Hai mô hình độ lệch hay dùng là lệch theo thời gian và lệch theo nhóm Độ lệch theo thời gian là sự thay đổi có ý nghĩa của
dữ liệu thời gian Độ lệch theo nhóm là sự khác nhau của dữ liệu trong hai tập con
dữ liệu, ở đây xét cả trường hợp tập con dữ liệu này thuộc tập con kia Nghĩa xác định dữ liệu trong một nhóm con của đối tượng có khác đáng kể so với toàn bộ đối tượng không? Theo cách này, sai sót dữ liệu hay sai lệch so với giá trị thông thường sẽ được phát hiện
1.5 NHỮNG KHÓ KHĂN TRONG KHAI PHÁ DỮ LIỆU
Khám phá tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn hơn Sau đây là một số các thách thức và khó khăn cần được quan tâm [5]:
- Các CSDL lớn hơn rất nhiều: CSDL với hàng trăm trường và bảng, hàng triệu bản ghi và kích thước lên tới nhiều gigabyte là vấn đề hoàn toàn bình thường
- Số chiều cao: không chỉ thường có một số lượng rất lớn các bản ghi trong CSDL mà còn có một số lượng rất lớn các trường (các thuộc tính, các biến) làm cho số chiều của bài toán trở nên cao Thêm vào đó, nó tăng thêm cơ hội cho một giải thuật khai phá dữ liệu tìm ra các mẫu không hợp lệ
- Thay đổi dữ liệu và tri thức: thay đổi nhanh chóng dữ liệu (động) có thể làm cho các mẫu phát hiện trước đó không hợp lệ Thêm vào đó, các biến đã
đo trong một CSDL ứng dụng cho trước có thể bị sửa đổi, xóa bỏ hay tăng thêm các phép đo mới Các giải pháp hợp lý bao gồm các phương pháp tăng trưởng để cập nhật các mẫu và xử lý thay đổi
- Dữ liệu thiếu và bị nhiễu: bài toán này đặc biệt nhạy trong các CSDL thương mại Các thuộc tính quan trọng có thể bị mất nếu CSDL không được thiết
kế với sự khám phá bằng trí tuệ Các giải pháp có thể gồm nhiều chiến lược thống kê phức tạp để nhận biết các biến ẩn và các biến phụ thuộc
- Mối quan hệ phức tạp giữa các trường: các thuộc tính hay giá các giá trị
có cầu trúc phân cấp, các quan hệ giữa các thuộc tính và các phương tiện
Trang 26tinh vi hơn cho việc biểu diễn tri thức về nội dung của một CSDL sẽ đòi hỏi các giải thuật phải có khả năng sử dụng hiệu quả các thông tin này Về mặt lịch
sử, các giải thuật khai phá dữ liệu được phát triển cho các bản ghi có giá trị thuộc tính đơn giản, mặc dù các kỹ thuật mới bắt nguồn từ mối quan hệ giữa các biến đang được phát triển
- Tính dễ hiểu của các mẫu: trong nhiều ứng dụng, điều quan trọng là những gì khai thác được phải càng dễ hiểu đối với con người thì càng tốt Các giải pháp có thể thực hiện được bao gồm cả việc biểu diễn được minh họa bằng đồ thị, cấu trúc luật với các đồ thị có hướng, biểu diễn bằng ngôn ngữ tự nhiên và các kỹ thuật hình dung ra dữ liệu và tri thức
- Người dùng tương tác và tri thức sẵn có: nhiều phương pháp khám phá tri thức và các công cụ không tương tác thực sự với người dùng và không thể dễ dàng kết hợp chặt chẽ với tri thức có sẵn về một bài toán loại trừ theo các cách đơn giản Việc sử dụng của miền tri thức là quan trọng trong toàn bộ các bước của
xử lý khám phá tri thức
- Tích hợp với các hệ thống khác: Một hệ thống phát hiện đứng một mình có thể không hữu ích lắm Các vấn đề tích hợp điển hình gồm có việc tích hợp với một DBMS (tức là qua một giao diện truy vấn), tích hợp với các bảng tính và các công cụ trực quan và điều tiết các dự đoán cảm biến thời gian thực
1.6 ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU
Khai phá dữ liệu có nhiều ứng dụng trong thực tế, một số ứng dụng điển hình như [6]:
Bảo hiểm, tài chính và thị trường chứng khoán: phân tích tình hình tài chính
và dự báo giá của các loại cổ phiếu trong thị trường chứng khoán Danh mục vốn
và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận…
Điều trị y học và chăm sóc y tế: một số thông tin về chẩn đoán bệnh lưu trong
các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệu chứng bệnh, chẩn đoán và phương pháp điều trị (chế độ dinh dưỡng, thuốc…)
Sản xuất và chế biến: qui trình, phương pháp chế biến và xử lý xử cố
Trang 27Text mining & Web mining: phân lớp văn bản và các trang web, tóm tắt văn
bản
Lĩnh vực khoa học: quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm
kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và các bệnh di truyền…
Lĩnh vực khác: viễn thông, môi trường, thể thao, âm nhạc, giáo dục…
1.7 KẾT LUẬN
Khai phá dữ liệu là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về công nghệ thông tin trên thế giới Điều này chứng tỏ những ưu thế, lợi ích và khả năng ứng dụng thực tế to lớn của khai phá dữ liệu Chương này đã trình bày một số kiến thức tổng quan về khám phá tri thức, những khái niệm và kiến thức cơ bản nhất về khai phá dữ liệu
Trang 28CHƯƠNG 2
TÌM HIỂU PHÂN CỤM DỮ LIỆU, LUẬT KẾT HỢP, THUẬT TOÁN K_MEANS VÀ THUẬT TOÁN APRIORI
2.1 KHÁI NIỆM VÀ MỤC TIÊU CỦA PHÂN CỤM DỮ LIỆU
2.1.1 Khái niệm phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật trong khai phá dữ liệu nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định
Phân cụm dữ liệu là sự phân chia một CSDL lớn thành các nhóm dữ liệu với trong đó các đối tượng tương tự như nhau Trong mỗi nhóm, một số chi tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa Hay ta có thể hiểu
“Phân cụm dữ liệu là quá trình tổ chức các đối tượng thành từng nhóm mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương tự tính chất sẽ ở nhóm khác” [1]
Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá
dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện
ra các cụm
Như vậy, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các đối tượng trong một cụm “tương tự” (Similar) với nhau và các đối tượng trong các cụm khác nhau sẽ “không tương tự” (Dissimilar) với nhau Số các cụm dữ liệu được phân ở đây có thể được xác định
Trang 29trước theo kinh nghiệm hoặc có thể được tự động xác định
Chúng ta có thể thấy điều này với một ví dụ đơn giản như sau [12]:
Hình 2.1 Ví dụ về phân cụm dữ liệu
Trong trường hợp này, chúng ta dễ dàng xác định được 4 cụm dựa vào các
dữ liệu đã cho; các tiêu chí “tương tự” để phân cụm trong trường hợp này là khoảng cách: hai hoặc nhiều đối tượng thuộc nhóm của chúng được “đóng gói” theo một khoảng cách nhất định Điều này được gọi là phân cụm dựa trên khoảng cách
Một kiểu khác của phân cụm dữ liệu là phân cụm dữ liệu dựa vào khái niệm: hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm chung cho tất cả các đối tượng trong đó Nói cách khác, đối tượng của nhóm phải phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo những biện pháp đơn giản tương tự
2.1.2 Các mục tiêu của phân cụm dữ liệu
Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bên trong một
bộ dữ liệu không có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nhưng làm thế nào để quyết định cái gì đã tạo nên một phân cụm dữ liệu tốt? Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của phân cụm dữ liệu Do đó, mà người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm dữ liệu sẽ
Trang 30phù hợp với nhu cầu của họ cần
Ví dụ, chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho các nhóm đồng nhất trong “các cụm tự nhiên” và mô tả thuộc tính không biết của chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu) [1]
Hình 2.2 Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách
Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm đối tượng ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong CSDL, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh sự ảnh hưởng của
Trang 31chúng tới quá trình và kết quả của phân cụm
Hình 2.3 Ví dụ phân cụm các ngôi nhà dựa trên kích cở
Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc CSDL Hơn nữa, đối với các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của CSDL, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu
2.2 CÁC ỨNG DỤNG CỦA PHÂN CỤM DỮ LIỆU
Phân cụm dữ liệu có thể ứng dụng trong nhiều lĩnh vực như [11]:
- Thương mại: tìm kiếm nhóm các khách hàng quan trọng dựa vào các thuộc tính đặc trưng tương đồng và những đặc tả của họ trong các bản ghi mua bán của CSDL;
- Sinh học: phân loại động, thực vật qua các chức năng gen tương đồng của
Trang 32chúng;
- Thư viện: phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau
để cung cấp cho độc giả, cũng như đặt hàng với nhà cung cấp;
- Bảo hiểm: nhận dạng nhóm tham gia bảo hiểm có chi phí yêu cầu bồi thường trung bình cao, xác định gian lận trong bảo hiểm thông qua các mẫu cá biệt;
- Quy hoạch đô thị: nhận dạng các nhóm nhà theo kiểu, vị trí địa lí, giá trị nhằm cung cấp thông tin cho quy hoạch đô thị;
- Nghiên cứu địa chấn: phân cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho việc nhận dạng các vùng nguy hiểm;
- WWW: tài liệu phân loại, phân nhóm dữ liệu weblog để khám phá các nhóm về các hình thức tiếp cận tương tự trợ giúp cho việc khai phá thông tin từ dữ liệu
2.3 CÁC YÊU CẦU VÀ NHỮNG VẤN ĐỀ CÒN TỒN TẠI TRONG PHÂN CỤM DỮ LIỆU
2.3.1 Các yêu cầu của phân cụm dữ liệu
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của chúng Sau đây là những yêu cầu cơ bản của phân cụm trong khai phá dữ liệu:
- Có khả năng mở rộng: nhiều thuật toán phân cụm làm việc tốt với những tập dữ liệu nhỏ chứa ít hơn 200 đối tượng, tuy nhiên, một CSDL lớn có thể chứa tới hàng triệu đối tượng Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết quả Vậy làm cách nào để chúng ta có thể phát triển các thuật toán phân cụm có khả năng mở rộng cao đối với các CSDL lớn ?
- Khả năng thích nghi với các kiểu thuộc tính khác nhau: nhiều thuật toán được thiết kế cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số) Tuy nhiên, nhiều ứng dụng có thể đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường minh (định danh - không thứ tự), và dữ liệu có thứ tự hay dạng hỗn hợp của những kiểu dữ liệu này
Trang 33- Khám phá các cụm với hình dạng bất kỳ: nhiều thuật toán phân cụm xác định các cụm dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan Các thuật toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật độ và kích cỡ tương tự nhau Tuy nhiên, một cụm có thể
có bất cứ một hình dạng nào Do đó, việc phát triển các thuật toán có thể khám phá ra các cụm có hình dạng bất kỳ là một việc làm quan trọng
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: nhiều thuật toán phân cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm (như số lượng các cụm mong muốn) Kết quả của phân cụm thường khá nhạy cảm với các tham số đầu vào Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có lượng các đối tượng lớn Điều này không những gây trở ngại cho người dùng mà còn làm cho khó có thể điều chỉnh được chất lượng của phân cụm
- Khả năng thích nghi với dữ liệu nhiễu: hầu hết những CSDL thực đều chứa đựng dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một
số thuật toán phân cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp
- Ít nhạy cảm với thứ tự của các dữ liệu vào: một số thuật toán phân cụm nhạy cảm với thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm rất khác nhau Do đó, việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu
- Số chiều lớn: một CSDL hoặc một kho dữ liệu có thể chứa một số chiều hoặc một số các thuộc tính Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp, bao gồm chỉ từ hai đến 3 chiều Người ta đánh giá việc phân cụm là có chất lượng tốt nếu nó áp dụng được cho dữ liệu có từ 3 chiều trở lên Nó
là sự thách thức với các đối tượng dữ liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những không gian với số chiều lớn có thể rất thưa và có
độ nghiêng lớn
Trang 34- Phân cụm ràng buộc: nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các loại ràng buộc khác nhau Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu có trạng thái phân cụm tốt và thỏa mãn các ràng buộc
- Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng
Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm diễn ra như sau:
Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác nhau và cách chúng có thể gây ảnh hưởng tới các phương pháp phân cụm
Thứ hai, ta đưa ra một cách phân loại chung trong các phương pháp phân cụm
Sau đó, ta nghiên cứu chi tiết mỗi phương pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các phương pháp khác
2.3.2 Những vấn đề còn tồn tại trong phân cụm dữ liệu
Có một số vấn đề với phân cụm dữ liệu Một trong số đó là [11]:
- Kỹ thuật clustering hiện nay không trình bày được tất cả các yêu cầu đầy
sự dễ dàng chút nào, nhất là trong không gian đa chiều;
- Kết quả của thuật toán phân cụm dữ liệu có thể được giải thích theo nhiều cách khác nhau (mà trong nhiều trường hợp chỉ có thể được giải thích theo ý riêng của mỗi người)
Trang 352.4 THUẬT TOÁN K_MEANS
K_means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm Tư tưởng chính của thuật toán K_means là tìm cách phân nhóm các đối tượng (objects) đã cho vào k cụm (k là số các cụm được xác đinh trước, k nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất [9]
Thuật toán K_means thực hiện qua các bước chính sau:
1 Chọn ngẫu nhiên K tâm (centroid) cho k cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm
2 Tính khoảng cách giữa các đối tượng (objects) đến k tâm (thường dùng khoảng cách Euclidean)
3 Nhóm các đối tượng vào nhóm gần nhất
4 Xác định lại tâm mới cho các nhóm
5 Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng
Thuật toán K_means được mô tả như sau:
Input:
- D là tập dữ liệu cần phân hoạch
- Số lượng cụm k, với k là số nguyên