Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
1,46 MB
Nội dung
- 1 - MỞ ĐẦU Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách nhanh chóng. Bên cạnh đó, việc tin học hóa một cách ồ ạt và 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 cần lưu trữ khổng lồ. Hàng triệu cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lý ., trong đó có nhiều cơ sở dữ liệu cực lớn cỡ Gigabyte, thậm chí là Terabyte. 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ồ kia thành các tri thức có ích. Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay nói chung và Việt Nam nói riêng. Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau: Marketing, tài chính, ngân hàng và bảo hiểm, giáo dục, y tế, an ninh, internet… Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn. Khai phá luậtkếthợp là một kỹ thuật quan trọng của KPDL được đề xuất vào năm 1993 và phát triển mạnh mẽ trong những năm gần đây. Những nghiên cứu về luậtkếthợp gần đây tập trung xây dựng các thuật toán khai phá luậtkếthợp mới, hiệu quả hoặc cải tiến, phát triển các thuật toán hiệu quả hơn từ các thuật toán đã có. Mục đích nghiên cứu của đề tài là tìm hiểu về các kỹ thuật khai phá dữ liệu; các vấn đề liên quan đến khai phá luậtkếthợp nhằm 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 và áp dụng chúng vào bài toán hỗ trợ tư vấn học tập tại Trường Cao đẳng Công nghiệp Cao su cho đề tài của mình. - 2 - Mục tiêu nghiên cứu của đề tài: - Tổng kết các kiến thức cơ bản nhất liên quan đến phát hiện luậtkếthợpvà tìm kiếm tri thức từ dữ liệu. - Dựa trên lý thuyết đã tổng kết được, đi sâu vào tìm hiểu, nghiên cứu phươngphápluậtkếthợpvà thử nghiệm chương trình dựa trên thuật toán Apriori. Ý nghĩa khoa học của đề tài: - Đây là phươngpháp được nhiều nhà khoa học nghiên cứu và đã có nhiều đóng góp trong thực tiễn. - Có thể coi đề tài là một tài liệu tham khảo khá đầy đủ, rõ ràng về các kiến thức cơ bản trong phươngpháp phát hiện luậtkết hợp. Phạm vi nghiên cứu: Các kiến thức cơ bản nhất về phươngpháp phát hiện luậtkếthợp trên cơ sở làm luậnvănthạc sỹ. Các kết quả nghiên cứu đạt được: - Tổng kết các kiến thức cơ bản nhất của phươngpháp khai phá luậtkết hợp. - Luậnvăn có thể trở thành một tài liệu tham khảo cho những người muốn tìm hiểu về khai phá dữ liệu vàphươngpháp khai phá luậtkết hợp. - Kết quả thử nghiệm dựa trên thuật toán Apriori. Luậnvăn bao gồm 4 chương, với các nội dung: Chương 1: Trình bày cơ sở lý thuyết về khai phá dữ liệu. Chương 2: Trình bày về luậtkết hợp, trong đó trình bày về các khái niệm, định nghĩa, tính chất của luậtkết hợp. Chương 3: Trình bày một số kỹ thuật khai thácluậtkết hợp. Chương 4: Sử dụng phần mềm WEKA tìm luậtkết hợp, viết chương trình demo hỗ trợ tư vấn học tập tại Trường Cao đẳng Công nghiệp Cao Su. - 3 - CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU 1.1. Khai phá dữ liệu: 1.1.1. Mục tiêu của khai phá dữ liệu: - Theo J. Han va M. Kamber [10], quá trình tiến hóa của lĩnh vực công nghệ CSDL được mô tả như Hình 1.1, trong đó công nghệ KPDL được coi là dạng tiến hóa mới của công nghệ CSDL bắt đầu từ cuối những năm 1980 và không ngừng được phát triển về bề rộng và chiều sâu. - Những thập kỷ gần đây đã chứng kiến một sự gia tăng đáng kể lượng thông tin hoặc dữ liệu được lưu trữ trong các thiết bị điện tử (như là đĩa cứng, CDROM, băng từ, v v). Sự tích lũy dữ liệu này xảy ra với một tốc độ bung nổ. Người ta ước đoán rằng, lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các CSDL cũng tăng lên một cách nhanh chóng [5]. Theo Fayyad, Piatetsky-Shapiro, Smyth [8], việc nghiên cứu phát triển lĩnh vực KPDL và KDD (Knowledge Discovery in Databases) là nhằm giải quyết tình trạng “ngập tràn thông tin mà thiếu thốn tri thức”. Một số số liệu thống kê dưới đây được đưa ra vào năm 2006 [9] đã minh chứng cho tình trạng "ngập tràn thông tin" là hiện nay tồn tại nhiều kho dữ liệu không những đã trở nên khổng lồ mà hàng ngày khối lượng của chúng còn được tăng trưởng với tốc độ cao. Về dữ liệu web, điển hình là Alexa sau 7 năm đã có 500 TB, Google đã lưu trữ hơn 4 tỷ trang Web với dung lượng hàng trăm TB, IBM Web Fountain với hơn 160 TB, Internet Archive xấp xỉ 300 TB, . Về CSDL, điển hình là Max Planck Institute for Meteorology có tới hơn 220 TB, Yahoo! có hơn 100TB còn AT&T có gần 100 TB. Theo ước lượng của UC Berkeley 2003 thì có tới 5 exabytes (5 triệu terabytes) dữ liệu mới được khởi tạo trong năm 2002. Mục đích của việc thu thập và lưu trữ các kho dữ liệu khổng lồ được liệt kê trên đây không ngoài - 4 - mục đích KPDL nhằm phát hiện các tri thức mới có ích cho hoạt động của con người trong tập hợp các dữ liệu đã thu thập được [3]. Hình 1.1. Sự tiến hóa công nghệ CSDL - Những công cụ KPDL có thể dự đoán các xu thế tương lai trên cơ sở phân tích dữ liệu hoạt động của doanh nghiệp, do đó cho phép các tổ chức doanh nghiệp đưa ra được các quyết định kịp thời được định hướng bởi tri Tập hợp dữ liệu và khởi tạo CSDL (tới cuối những năm 1960) - Xử lý file thô sơ Hệ quản trị CSDL (những năm 1970 và những năm đầu 1980) - Hệ thống CSDL phân cấp và mạng - Công cụ mô hình dữ liệu: Mô hình quan hệ thực thể - Phươngpháp đánh chỉ số và truy nhập: cây B + , hàm băm - Ngôn ngữ hỏi SQL … - Giao diện người dùng, nhập liệu vàkết xuất - Xử lý truy vấn, tối ưu truy vấn - Quản lý giao dịch: Khôi phục, điều khiển tương tranh - Xử lý giao dịch trực tuyến (OLTP) Hệ CSDL mở rộng (những năm giữa 1980 đến nay) - Mô hình dữ liệu mở rộng: Quan hệ mở rộng, quan hệ - đối tượng, suy luận - Ứngdụng mở rộng: Không gian, thời gian, đa phương tiện, tích cực, khoa học, cơ sở tri thức Kho dữ liệu và khai phá dữ liệu (những năm cuối 1980 đến nay) - Kho dữ liệu và OLAP - Khai phá dữ liệu và phát hiện tri thức: Phân lớp, phân cụm, kết hợp, phân tích mẫu, phân tích ngoại lai … - Ứngdụng KPDL mở rộng: Khai phá dữ liệu dòng, khai phá text, khai phá web… Hệ CSDL dựa trên Web (những năm 1990 đến nay) - Hệ CSDL dựa trên XML - Sự tích hợp với sự phục hồi thông tin - Dữ liệu và sự tích hợp thông tin Thế hệ mới của dữ liệu tích hợpvà các hệ thống thông tin (2000 - ) - 5 - thức mà KPDL đem lại. Tính tự động trong phân tích dữ liệu khiến nó chiếm ưu thế hơn hẳn so với các phân tích thông thường dựa trên kinh nghiệm hay các sự kiện trong quá khứ của các hệ thống hỗ trợ ra quyết định trước đây. Trên cơ sở đó cũng đồng thời trả lời được nhiều vấn đề trong kinh doanh mà trước đây khó có thể thực hiện vì cần rất nhiều thời gian và công sức để xử lý. Với các ưu điểm trên, KPDL đã chứng tỏ được tính hữu dụng của nó trong môi trường kinh doanh đầy tính cạnh tranh ngày nay và được ứngdụng rộng rãi trong nhiều lĩnh vực như: thương mại, tài chính, y học, giáo dục, viễn thông … - Định hướng và mục tiêu chính của KPDL là kết xuất tri thức từ dữ liệu. Do đó, ở mức cao - tổng quát, ta có thể coi mục đích chính của quá trinh KPDL là mô tả (description) và dự đoán (prediction) [4]. Dự đoán dùng một số biến hoặc trường trong CSDL để dự đoán hoặc về giá trị chưa biết hoặc về giá trị sẽ có trong tương lai của các biến. Mô tả hướng tới việc tim ra các mẫu mô tả dữ liệu. Dự đoán và mô tả có tầm quan trọng khác nhau đối với các thuật toán KPDL. - Ở mức chi tiết - cụ thể, dự báo và mô tả được thể hiện thông qua các bài toán cụ thể như mô tả khái niệm, quan hệ kết hợp, phân cụm, phân lớp, hồi quy, mô hình phụ thuộc, phát hiện biến đổi và độ lệch, và một số bài toán cụ thể khác. 1.1.2. Khái niệm khai phá dữ liệu: - Lĩnh vực KPDL và KDD đa cuốn hút các phương pháp, thuật toán và kỹ thuật từ nhiều chuyên ngành nghiên cứu khác nhau như học máy, thu nhận mẫu, CSDL, thống kê, trí tuệ nhân tạo, thu nhận tri thức trong hệ chuyên gia… nhằm hướng tới cùng một mục tiêu thống nhất là trích lọc ra được các tri thức từ dữ liệu trong các CSDL khổng lồ. Tính phong phú và đa dạng đó đã dẫn đến một thực trạng là tồn tại một số quan niệm khác nhau về lĩnh vực nghiên cứu gần gũi nhất với lĩnh vực này - KDD. Với những gì đã trình bày ở trên, chúng ta có thể hiểu một cách sơ lược rằng KPDL là quá trình tìm kiếm những - 6 - thông tin (tri thức) hữu ích, tiềm ẩn và mang tính dự báo trong các tập dữ liệu lớn. Như vậy, chúng ta nên gọi quá trình này là phát hiện tri thức. Tuy nhiên các nhà khoa học trong lĩnh vực này đồng ý với nhau rằng hai thuật ngữ trên la tương đương và có thể thay thế cho nhau. Họ lý giải rằng, mục đích chính của quá trinh phát hiện tri thức là thông tin và tri thức có ích, nhưng đối tượng mà chúng ta phải xử lý rất nhiều trong suốt quá trình đó lại chính là dữ liệu. - Mặt khác, khi chia các bước trong quá trinh khám phá tri thức, một số nhà nghiên cứu lại cho rằng, KPDL chỉ là một bước trong quá trình khám phá tri thức. - Như vậy, khi xét ở mức tổng quan thì hai thuật ngữ này là tương đương nhau, nhưng khi xét cụ thể thì KPDL được xem là một bước trong quá trình khám phá tri thức [8]. Khái niệm 1.1. Phát hiện tri thức trong CSDL (đôi khi còn được gọi là KPDL) là một quá trình không tầm thường nhận ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu [8]. - Là lĩnh vực nghiên cứu và triển khai được phát triển nhanh chóng và rộng lớn, lại được rất nhiều nhóm nghiên cứu tại nhiều địa điểm khác nhau trên thế giới đồng thời quan tâm, cho nên tồn tại rất nhiều cách tiếp cận khác nhau đối với lĩnh vực KDD. Vì lý do đó mà trong nhiều tài liệu, các nhà khoa học trên thế giới đã sử dụng nhiều thuật ngữ khác nhau mà chúng được coi là mang cùng nghĩa với KDD như chiết lọc tri thức (knowledge extraction), phát hiện thông tin (information discovery), thu hoạch thông tin (information harvesting), khai quật dữ liệu (data archaeology) và xử lý mẫu dữ liệu (data pattern processing). - 7 - Khái niệm 1.2. Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức trong CSDL, thi hành một thuật toán KPDL để tìm ra các mẫu từ dữ liệu theo khuôn dạng thích hợp [8]. - Ngoài ra, theo B.Kovalerchuk và E.Vityaev [6], Friedman đã tổng hợp một số quan niệm sau đây liên quan về khái niệm "Khai phá dữ liệu": + Quá trình không tầm thường để nhận biết từ dữ liệu ra các mẫu có giá trị, mới, hữu dụngvà hiểu được (Fayyad). + Quá trình trích lọc các thông tin chưa biết trước, có thể nhận thức được, có thể tác động được từ CSDL lớn và sử dụng chúng để tạo ra quyết định công tác (Zekulin) + Tập các phươngpháp được dùng trong quá trình phát hiện tri thức nhằm tường minh các quan hệ và các mẫu chưa biết trước chứa trong dữ liệu (Ferruzza) + Quá trình hỗ trợ quyết định khi tìm kiếm những mẫu thông tin chưa biết và hữu ích từ CSDL lớn (Parsaye) 1.1.3. Các bước chính của quá trình phát hiện tri thức trong CSDL: Toàn bộ quá trình KDD thường được chia thành các bước sau đây [5]. 1. Trích chọn dữ liệu (data selection): Là bước trích chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn (databases, data warehouses, data repositories) ban đầu theo một số tiêu chí nhất định. 2. Tiền xử lý dữ liệu (data preprocessing): Đây là giai đoạn làm sạch dữ liệu và cấu hình lại, ở đây một số kỹ thuật được áp dụng để đối phó với tính không đầy đủ, nhiễu, và không phù hợp của dữ liệu . Bước này cũng cố gắng để giảm dữ liệu bằng cách sử dụng chức năng tổng hợpvà nhóm, các phươngpháp nén dữ liệu, histograms, lấy mẫu, . Ngoài ra, các kỹ thuật rời rạc hoá dữ liệu (Bining, rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, …) có thể được sử dụng để làm giảm số lượng các giá trị cho một - 8 - thuộc tính liên tục. Sau bước này, dữ liệu được làm sạch , hoàn chỉnh, thống nhất. Hình 1.2. Quá trình phát hiện tri thức trong CSDL 3. Biến đổi dữ liệu (data transformation): Trong bước này, dữ liệu được chuyển dạng hoặc hợp nhất thành dạng thích hợp cho KPDL. Biến đổi dữ liệu có thể liên quan đến việc làm mịn và chuẩn hóa dữ liệu. Sau bước nay, dữ liệu đã sẵn sàng cho bước KPDL. 4. Khai phá dữ liệu (data mining): Đây được xem là bước quan trọng nhất trong quá trình KDD. Nó áp dụng một số kỹ thuật KPDL (chủ yếu là từ học máy và các lĩnh vực khác) để khai phá, trích chọn được những mẫu (patterns) thông tin, những mối liên hệ (relationships) đặc biệt trong dữ liệu. 5. Biểu diễn và đánh giá tri thức (knowledge representation & evaluation): Những mẫu thông tin và mối liên hệ trong dữ liệu đã được khai phá ở bước trên được chuyển dạng và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật, . Đồng thời bước này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định. - 9 - 1.1.4. Kiến trúc một hệ thống khai phá dữ liệu: Kiến trúc điển hình của một hệ KPDL được trình bày trong hình 1.3. [10]. - Trong kiến trúc này, các nguồn dữ liệu cho các hệ thống KPDL bao gồm hoặc CSDL, hoặc Kho dữ liệu, hoặc World Wide Web, hoặc kho chứa dữ liệu kiểu bất kỳ khác, hoặc tổ hợp các kiểu đã liệt kê nói trên. Cơ sở tri thức, bao chứa các tri thức hiện có về miền ứng dụng, được sử dụng trong thành phần KPDL để làm tăng tính hiệu quả của thành phần này. Một số tham số của thuật toán KPDL tương ứng sẽ được tinh chỉnh theo tri thức miền sẵn có từ cơ sở tri thức trong hệ thống. Cơ sở tri thức còn được sử dụng trong việc đánh giá các mẫu đã khai phá được xem chúng có thực sự hấp dẫn hay không, trong đó có đối chứng với các tri thức đã có trong cơ sở tri thức. Nếu mẫu khai phá được thực sự hấp dẫn thì được bổ sung vào cơ sở tri thức để phục vụ cho hoạt động tiếp theo của hệ thống. Như vậy, nguồn tri thức bổ sung vào cơ sở tri thức ở đây không chỉ từ lập luận lôgic theo các hệ toán lôgic để có tri thức mới, không chỉ do con người hiểu biết thêm về thế giới khách quan để bổ sung vào mà còn tri thức được phát hiện một cách tự động từ nguồn dữ liệu. - KPDL là một bước chính trong quá trình phát hiện tri thức từ số lượng lớn dữ liệu đã lưu trữ trong CSDL, kho dữ liệu hoặc các nơi lưu trữ khác. Kết quả của bước này là những mẫu đáng quan tâm được đưa đến cho người dùng hoặc lưu giữ như là tri thức mới trong cơ sở tri thức. - Kiến trúc của hệ thống KPDL có thể có các thành phần chính sau [10]: - 10 - Hình 1.3. Kiến trúc điển hình của hệ thống khai phá dữ liệu + CSDL, kho dữ liệu, WorldWideWeb, kho chứa dữ liệu khác: Đây là một hoặc một tập CSDL, kho dữ liệu, World Wide Web, hoặc kho chứa dữ liệu kiểu bất kỳ khác, hoặc tổ hợp các kiểu đã liệt kê nói trên. Các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu có thể được thực hiện trên dữ liệu. + Phục vụ CSDL/Kho dữ liệu: Có trách nhiệm lấy dữ liệu liên quan dựa trên yêu cầu của người KPDL. + Cơ sở tri thức: Đây là tri thức miền được sử dụng để hướng dẫn việc tìm kiếm hoặc đánh giá sự thú vị của các mẫu thú vị. Tri thức này có thể bao gồm các mức phân cấp khái niệm, được sử dụng để tổ chức các thuộc tính hoặc giá trị thuộc tính thành các cấp trừu tượng. Tri thức như độ tin cậy của người sử dụng, có thể được sử dụng để đánh giá độ thú vị của mẫu cũng có thể Giao diện người dùng Đánh giá mẫu khai phá được Thành phần khai phá dữ liệu Phục vụ CSDL/Kho dữ liệu CSDL Cơ sở tri thức Các kiểu kho thông tin khác Kho dữ liệu World Wide Web Làm sạch, tích hợpvà chọn lựa dữ liệu . phát hiện luật kết hợp. Phạm vi nghiên cứu: Các kiến thức cơ bản nhất về phương pháp phát hiện luật kết hợp trên cơ sở làm luận văn thạc sỹ. Các kết quả. + Cây quyết định và luật + Khai phá luật kết hợp + Các phương pháp phân lớp và hồi quy phi tuyến + Phân nhóm và phân đoạn + Các phương pháp dựa trên mẫu