Nội dung của luận văn gồm có 5 chương, trong đó: Chương I: Tổng quan về khai phá tri thức, chương này trình bày một cách khái quát về các vấn đề khai phá dữ liệu, các thách thức gặp phải
Trang 2trờng đại học bách khoa hà nội
-
luận văn thạc sĩ khoa học
PHƯƠNG PHáP KHAI PHá Dữ LIệU BằNG CÂY QUYếT ĐịNH
Trang 3LỜI CẢM ƠN
Em xin trân thành cảm ơn PGS.TS Vũ Đức Thi, Thầy đã tận tình hướng dẫn
và chỉ bảo em trong quá trình thực hiện luận van tốt nghiệp này Sự chỉ bảo, dạy dỗ của Thầy giúp em có nhiều kinh nghiệm, kiến thức trong nghiên cứu
và học tập Em tin rằng, những điều đó sẽ là những thuận lợi to lớn để giúp
em có được nhiều kết quả hơn nữa trong công tác nghiên cứ, học tập cho bản thân trong những giai đoạn tiếp theo
Em xin trân thành cảm ơn các Thầy, các Cô trong trường Đại học Bách khoa
Hà Nội, những người đã giúp đỡ em trong suốt thời gian học tập
Xin gửi lời cảm ơn tới tất cả người thân, đồng nghiệp, bạn bè đã giúp đỡ tôi trong thời gian qua!
Trang 4MỤ C L C Ụ
LỜI CẢM ƠN 1
MỞ ĐẦU 5
CH ƯƠ NG I: TỔNG QUAN VỀ KHAI PHÁ TRÍ THỨC 7
I.1 S L Ơ ƯỢC VỀ KHAI PHÁ TRI THỨC 7
I.1.1 Dữ liệu và tri thức 7
I.1.2 Khai phá tri thức 9
I.1.3 Các quá trình khai phá tri thức 11
I.2 KHAI PHÁ DỮ LIỆU 14
I.2.1 Khái niệm về khai phá dữ liệu 14
I.2.2 Mục tiêu của khai phá dữ liệu 15
I.2.3 Chức năng của khai phá dữ liệu 16
I.2.4 Phương pháp khai phá dữ liệu 19
I.3 CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU 23
I.3.1 Kỹ thuật khai phá dữ liệu dự đoán 24
I.3.2 Phân cụm dữ liệu 24
I.3.3 Phân lớp dữ liệu và qui hồi 24
I.3.4 Khai phá luật kết hợp 25
I.3.5 Khai phá dữ liệu sử dụng mạng Neural 26
I.3.6 Khai phá dữ liệu sử dụng thuật giải di truyền 27
I.3.7 Khai phá dữ liệu sử dụng cây quyết định 28
I.4 CÁC CÁCH THỨC KHAI PHÁ DỮ LIỆU 29
I.4.1 Các yêu cầu khi khai phá dữ liệu 31
I.4.2 Đánh giá, kết luận 34
CH ƯƠ NG II: CÁC KHÁI NIỆM C BẢN Ơ 36
II.1 CÂY QUYẾT ĐỊNH 36
II.1.1 Khái niệm chung 36
Trang 5II.1.2 Xây dựng cây quyết định 39
II.1.3 Cắt tỉa cây quyết định 39
II.1.4 Đánh giá cây quyết định 40
II.2 C Ơ SỞ DỮ LIỆU QUAN HỆ 40
II.2.1 Quan hệ 40
II.2.2 C ơ sở dữ liệu quan hệ 41
II.2.3 Đại số quan hệ 42
II.2.4 Phụ thuộc hàm 42
II.2.5 Phụ thuộc hàm xấp xỉ 46
CH ƯƠ NG III: MỘT SỐ PH ƯƠ NG PHÁP XÂY DỰNG CÂY QUYẾT ĐỊNH 50
III.1 THUẬT TOÁN XÂY DỰNG CÂY QUYẾT ĐỊNH 50
III.1.1 Thuật toán CLS - Concept Learning System 50
III.1.1.1 Giới thiệu thuật toán CLS 50
III.1.1.2 Ví dụ minh họa 51
III.1.2 Thuật toán ID3 (interactive Dichotomizer) 55
III.1.2.1 Giới thiệu thuật toán ID3: 55
III.1.2.2 Ví dụ: 59
III.1.3 Thuật toán C4.5 62
III.1.4 Thuật toán xây dựng cây quyết định dựa trên phụ thuộc hàm 68
III.1.4.1 Tổng quan: 68
III.1.4.2 Thuật toán TANE 68
III.1.4.3 Xây dựng cây quyết định 69
III.1.4.4 Ví dụ minh họa 70
III.2 CẮT TỈA CÂY QUYẾT ĐỊNH 71
III.3 ĐÁNH GIÁ THUẬT TOÁN VÀ KẾT LUẬN 73
III.3.1 Đánh giá thuật toán 73
III.3.2 Kết luận 74
CH ƯƠ NG IV: ỨNG DỤNG THỬ NGHIỆM 76
Trang 6IV.1.1 BÀI TOÁN THỬ NGHIỆM 76
IV.1.2 KẾT QUẢ ĐẠT ĐƯỢC 76
IV.1.3 MỘT SỐ GIAO DIỆN CỦA CHƯƠNG TRÌNH 77
IV.1.3.1 Giao di n chính 77 ệ IV.1.3.2 Cây quy ết đị nh d ựa theo thuật toán CLS 78
IV.1.3.3 Cây quy ết đị nh d ựa theo thuật toán ID3 79
IV.1.3.4 Cây quy ết đị nh d ựa theo thuật toán C4.5 79
CHƯƠNG V: KẾT LUẬN 80
TÀI LIỆU THAM KHẢO 81
Trang 7MỞ ĐẦU
Ngày nay, công nghệ thông tin đã và đang trở thành lĩnh vực nghiên cứu, ứng dụng và triển khai có hiệu quả trong đời sống kinh tế, xã hội Việc ứng dụng công nghệ thông tin trong các ngành khoa học, kinh tế, xã hội đã mang lại những hiệu quả kinh tế to lớn Cùng với sự phát triển của khoa học công nghệ, sự bùng nổ về thông tin như ngày nay thì việc tìm kiếm và khai thác các thông tin từ nguồn thông tin khổng lồ có sẵn để có được những thông tin cần thiết, hiệu quả đáp ứng được nhu cầu của người khai thác thì không phải là dễ dàng Chính vì vậy, khai phá dữ liệu đã trở thành một trong những lĩnh vực được các nhà khoa học quan tâm bởi những ứng dụng thực tiễn của nó vào trong đời sống, với sự phát triển của xã hội
Một trong những lĩnh vực nghiên cứu các phương pháp ứng dụng khai phá dữ liệu, tìm kiếm tri thức, kết xuất tri thức… từ dữ liệu là phương pháp sử dụng cây quyết định (Decision Tree) cũng được các nhà khoa học nghiên cứu từ nhiều năm trước đây và cho những kết quả khả quan và có tính ứng dụng cao Ngày nay, kỹ thuật khai phá dữ liệu dựa trên cây quyết định đã được áp dụng cho nhiều ngành, nhiều lĩnh vực như: kinh tế, tài chính, khoa học kỹ thuật, –ngân hàng, y tế,…
Các kỹ thuật khai phá dữ liệu bằng cây quyết định rất đa dạng và phong phú như các kỹ thuật dựa trên các thuật toán Hunt, ID3, C4.5,… và kỹ thuật xây dựng cây quyết định dựa trên các phụ thuộc hàm trong cơ sở dữ liệu quan hệ Với mong muốn được tìm hiểu và làm rõ hơn các kỹ thuật khai phá tri thức từ
dữ liệu sử dụng cây quyết định nên tôi đã lựa chọn đề tài “Phương pháp
Trang 8văn tốt nghiệp Mục đích khi thực hiện đề tài này là tổng hợp một kiến thức
về kỹ thuật xây dựng cây quyết định dựa trên một số các thuật toán đã có Nội dung của luận văn gồm có 5 chương, trong đó:
Chương I: Tổng quan về khai phá tri thức, chương này trình bày một cách khái quát về các vấn đề khai phá dữ liệu, các thách thức gặp phải khi sử dụng
kỹ thuật khai phá dữ liệu, các ứng dụng của khai phá dữ liệu,tình hình nghiên cứu về khai phá dữ liệu nói chung và kỹ thuật khai phá dữ liệu sử dụng cây quyết định nói riêng
Chương II: Các khái niệm cơ bản, bao gồm các khái niệm cơ bản về khai phá
dữ liệu, cây quyết định, các khái niệm trong cơ sở dữ liệu quan hệ
Chương III: Một số phương pháp xây dựng cây quyết định, chương này là trọng tâm của luận văn Nội dung của chương đề cập đến phương pháp xây dựng cây quyết định dựa trên các thuật toán khai phá dữ liệu bằng cây quyết định bao gồm các thuật toán CLS (Concept Learning System), ID 3 (Interactive Dichotomizer), thuật toán C4.5 và phương pháp xây dựng cây quyết định dựa trên phụ thuộc hàm xấp xỉ trong cơ sở dữ liệu quan hệ
Chương IV: Ứng dụng thử nghiệm, chương này đưa ra bài toán ứng dụng thử nghiệm, áp dụng các thuật toán để thực hiện xây dựng ứng dụng khai phá dữ liệu cho bài toán đã nêu
Chương V: Kết luận, nội dung của chương này đưa ra các đánh giá, các kết luận và một số phân tích sau khi thực hiện luận văn
Trang 9CHƯƠNG I: TỔNG QUAN VỀ KHAI PHÁ TRÍ THỨC
I.1 SƠ LƯỢC VỀ KHAI PHÁ TRI THỨC.
I.1.1 Dữ liệu và tri thức
Ngày nay, cùng với sự phát triển mạnh mẽ về khoa học và công nghệ, đặc biệt là trong ngành công nghệ thông tin và truyền thông thì khối lượng các
dữ liệu cần được lưu trữ ngày càng trở nên khổng lồ Do đặc trưng của dữ liệu là thông tin, khi có thông tin thì có nghĩa là chúng ta có dữ liệu Trong mỗi một lĩnh vực khác nhau thì có các dạng dữ liệu khác nhau, cũng có thể các dữ liệu ở các lĩnh vực khác nhau nhưng lại có các mối quan hệ tương đối mật thiết với nhau Tuy nhiên, khi khai thác dữ liệu không phải dữ liệu nào thu được cũng thu được các tri thức cần thiết theo yêu cầu của con người về một vấn đề cụ thể trong một lĩnh vực cụ thể nào đó
Tri thức lại chính là động lực quan trọng trong quá trình phát triển và tiến
bộ của con người nói riêng và văn minh của nhân loại nói chung, dù rằng những khái niệm chính xác về tri thức, bản chất của tri thức, quá trình hình thành của tri thức và mối quan hệ của các đối tượng trong thế giới tri thức… vẫn đang được tranh luận và chưa có câu trả lời thỏa đáng Nhưng trong mọi lĩnh vực, từ khoa học, công nghệ, kỹ thuật,… đến nền kinh tế, văn hóa, xã hội tri thức luôn luôn được tìm kiếm, phát hiện và tác động ngày càng lớn đến sự phát triển của loài người
Sự phong phú về thông tin, dữ liệu cùng với khả năng kịp thời khai thác chúng đã mạng lại những năng suất và chất lượng cao trong công tác quản
lý, hoạt động kinh tế, phát triển sản xuất và du lịch… Tuy nhiên, các yêu cầu về thông tin, tri thức trong các dữ liệu đó đặc biệt là công tác quyết
Trang 10định ngày càng đòi hỏi chất lượng cao hơn, kịp thời hơn và nhiều tri thức hơn nhằm hỗ trợ việc ra các quyết định để quyết định một vấn đề nào đó Trong thực tế chúng ta thấy, không phải ngẫu nhiên mà John Naisbett đã
cảnh báo: “Chúng ta đang ngập chìm trong dữ liệu và vẫn đói tri thức”,
điều đó cũng báo trước việc ứng dụng công nghệ thông tin đang chuyển sang một thời kỳ mới mà mục đích chủ yếu của của công nghệ thông tin là giúp con người nhiều hơn trong quá trình khai phá tri thức từ dữ liệu, biến đổi từ sự giàu có về dữ liệu thành sự giàu có về tri thức
Các khái niệm thông tin, dữ liệu và tri thức luôn có quan hệ chặt chẽ, mật thiết với nhau và khó phân biệt được bằng các định nghĩa rõ ràng Ta có thể hiểu thông tin như là kh i niệm chung nhất baá o gồm mọi sự hiểu biết
về các sự vật, hiện tượng, quan hệ,… mà con người thu nhận được thông qua các giác quan, giao tiếp, khảo sát, thực nghiệm, nghiên cứu, lý giải…
Dữ liệu có thể được mô tả bởi các giá trị cho các sự kiện, hiện tượng cụ thể được xem như là những hiểu biết có mức độ khái quát, về các mối quan hệ có quy luật giữa các thuộc tính của đối tượng, các sự vật, hiện tượng mà con người thu được sau khi “chân lý hóa” bằng kinh nghiệm đã
có, phân tích dữ liệu hay qua nghiên cứu, lý giải, suy luận Hoạt động nhận thức của con người bao gồm việc tìm kiếm tri thức để tăng cường sự hiểu biết về xã hội và cuộc sống, từ đó có thể tạo nên các kỹ thuật công nghệ và giải pháp nhằm cải thiện đời sống của mình Dưới sự trợ giúp của công nghệ thông tin, các phương pháp khai phá tri thức từ dữ liệu đã được từng bước nghiên cứu và các công cụ, giải pháp nhằm hỗ trợ giúp quyết định trên nền kiến trúc khách hàng, phục vụ thích hợp, với việc sử dụng các phương pháp khai phá dữ liệu và phát hiện tri thức hiện đang được nghiên cứu rộng rãi trên thế giới cũng như ở Việt Nam
Trang 11Từ nhiều thế kỉ qua, nền như khoa học luôn hướng đến việc phát hiện các tri thức có giá trị phổ biến dưới dạng các nguyên lý, quy luật, định lý,… thì ngày nay chúng ta càng thấy rõ ràng ngay trong cuộc sống hàng ngày, trong việc quản lý, kinh doanh,… cũng cần có những tri thức có thể đáp ứng và phù hợp với nhu cần trực tiếp về thông tin của con người Tuy nhiên, để có thể nhận biết được các tri thức này lại là điều không phải đơn giản Một trong những nguồn dữ liệu quan trọng để từ đó có thể khai phá, phân tích và tổng hợp thông tin là các kho thông tin có trong đời sống, các
cơ sở dữ liệu phong phú mà con người đã và đang tích lũy được Khai phá
dữ liệu và phát hiện tri thức là một hướng nghiên cứu quan trọng, đang phát triển mạnh và phù hợp với các công việc quan trọng đó
I.1.2 Khai phá tri thức
Ngày nay, lượng thông tin mà con người đã và đang khám phá ngày càng trở nên khổng lồ, tốc độ phát triển của các dữ liệu tích lũy ngày càng cao
Và trong rất nhiều ngành nghề, lĩnh vực như: kinh tế, xã hội, quản lý, nghiên cứu và đặc biệt ngành khoa học công nghệ phải đối mặt với thách thức to lớn là thiếu các thông tin và các dữ liệu có tính chất then chốt có giúp cho công tác quản lí, điều hành và nghiên cứu, mà các thông tin này lại có thể khai thác được từ nguồn tài nguyên thông tin khổng lồ đã có sẵn Việc khai thác nhưng thông tin, tri thức tiềm ẩn mang tính chất dự đoán từ các cơ sở dữ liệu lớn, khổng lồ đã và đang trở thành lĩnh vực thiết yếu trong cuộc sống của con người
Không phải chỉ đến ngày nay con người mới nhận biết được về khả năng
tư duy của máy tính, mà ngay từ những năm 50 của thế kỉ trước, cha đẻ của ngành khoa học máy tính A.Turing, J.Von Neumann đã phân tích, so
Trang 12sánh, đánh giá và đưa ra nhận xét lạc quan về khả năng này thông qua những thành tựu bước đầu của máy tính như: tự động hóa chứng minh các định lý trong logic toán, trong các trò chơi giải trí trí tuệ cao,…
Cùng với sự phát triển của khoa học máy tính, con người có thể hiểu sâu hơn về bản thân hoạt động nhận thức của mình, hệ thống tri thức mà mình tích lũy được, đưa ra các thuộc tính của tri thức và những đồi hỏi đối với tri thức trong hoạt động thực tiễn của con người trong môi trường ngày càng biến động, đồng thời cũng thúc đẩy việc nghiên cứu những phương pháp khoa học công nghệ mới và đưa ra các giải pháp công nghệ để có thể biểu diễn, thu thập và tìm kiếm tri thức, xử lý tri thức, quản trị tri thức nhằm đáp ứng các nhu cầu của con người trong quá trình vận động và phát triển
Qua quá trình phát triển của việc khai phá tri thức có thể chia theo một số bước như sau:
- Tri thức chắc chắn và các phương pháp suy luận logic tất định
- Tri t ức không chắc chắn và việc tìm quy lu t cho cái không chắc chắn.h ậ
- Tri thức không chắc chắn trong môi trường biến động
Chúng ta có thể tổng hợp khái niệm khai phá tri thức như sau: Khai phá tri thức (đôi khi còn gọi là khai phá dữ liệu hay khám phá tri thức), một cách chung nhất là một quá trình phân tích dữ liệu từ nhiều nguồn dữ liệu khác nhau và tổng hợp dữ liệu thành các tri thức
Trang 13I.1.3 Các quá trình khai phá tri thức
Việc khai phá tri thức thông thường có thể mô tả bằng sơ đồ các quy trình như sau:
Trong đó, mỗi bước là mỗi quy trình có một vai trò riêng và có các nhiệm vụ khác nhau cho mỗi bước bao gồm như sau:
Quy trình 1: Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problems Understanding and Data Understanding)
Trong quy trình này, việc xác định vấn đề và các định không gian dữ liệu
để giải quyết vấn đề bao gồm các lựa chọn các nguồn dữ liệu, phạm vi ứng dụng của không gian bài toán để từ đó hình thành lên quy mô bài toán Việc xác định vấn đề và không gian dữ liệu để giải quyết vấn đề là chiến lược quyết định th nh công hay thất bại trong suốt quá trình khai àphá dữ liệu
Trang 14Quy trình 2: Chuẩn bị dữ liệu (Data Preparation)
Đây là quy trình thực hiện các thao tác làm sạch dữ liệu (Data Cleaning), tích hợp dữ liệu (Data Integration), chọn dữ liệu (Data Selection), biến đổi dữ liệu (Data Transformation)
Việc làm sạch dữ liệu chính là việc thực hiện trích lọc dữ liệu cần thiết
và loại bỏ các dữ liệu nằm ngoài phạm vi của bài toán nhằm khám phá tri thức theo một số tiêu trí đã được xác định trước
Tích hợp dữ liệu, chọn dữ liệu và biến đổi dữ liệu mục đích là để thực hiện các thao tác chuyển đổi, tính toán xử lý để các dữ liệu có khuôn dạng khác nhau về một dạng thống nhất, rút gọn dữ liệu hoặc chỉnh sửa những dữ liệu sai lệch vì hầu hết các cơ sở dữ liệu lớn thường dư thừa hoặc sai lệch dữ liệu Sau bước chuẩn bị, dữ liệu dùng cho khám phá tri thức đã được làm mịn phù hợp cho bước khai phá dữ liệu tiếp sau
Quy trình 3: Khai phá dữ liệu (Data Mining)
Quá trình này bắt đầu khi hệ thống dữ liệu để khai phá đã được xây dựng
và thực hiện biến đổi Tại quá trình này, việc phân tích và đưa ra quyết định lựa chọn khai thác dữ liệu, áp dụng kỹ thuật xây dựng, khai phá dữ liệu để trích chọn các mẫu, mô hình, các mối quan hệ ẩn trong dữ liệu để
từ đó khai phá tri thức cần thiết Các lớp mô thình phổ biến của các phương pháp khai phá dữ liệu là:
- Mô hình dự đoán bao gồm: Phân lớp (Classification); Hồi quy (Regression) và phân cụm (Clustering)
Trang 15- Mô hình phụ thuộc, chẳng hạn như các mô hình đồ thị hoặc ước lượng mật độ
- Mô hình tóm lược như tìm ra các mối quan hệ giữa các trường, các mối liên kết
- Mô hình kiểm tra sự thay đổi để phát hiện độ lệch trong dữ liệu và tri thức
Quy trình 4: Tổng hợp kết quả và đánh giá kết quả (Evaluation)
Mục đích của giai đoạn này là hiểu tri thức đã tìm được việc khai phá dữ liệu đặc biệt là làm sáng tỏ và dự đoán chúng Các kết quả khai phá sẽ được tổng hợp dưới dạng khác nhau nhằm mục đích hỗ trợ ra quyết định Nghĩa là các thông tin hữu ích tìm được từ việc thực hiện khai phá sẽ chuyển thành dữ liệu gần gũi với người sử dụng hơn Kinh nghiệm của các nhà khoa học cho thấy rằng các mẫu hay các mô hình phát hiện từ việc khai phá dữ liệu không phải lúc nào cũng đáng tin cậy để có thể trực tiếp sử dụng ngay được, mà quá trình khai phá tri thức cần lặp đi lặp lại nhiều lần để có sự điều chỉnh, kết quả bước trước là dữ liệu đầu vào cho bước sau, kết quả của bước sau hoàn chỉnh hơn kết quả của bước trước
Các tri thức sau khi khai phá sẽ được đánh giá theo các tiêu chí nhất định Và để có thể đánh giá các luật đã được áp dụng vào trong quy trình khai phá tri thức, người ta thường chia dữ liệu thành hai tập: Tập thứ nhất dùng để huấn luyện; Tập thứ hai được dùng để kiểm chứng Và có thể thực hiện áp dụng quy trình này một số lần với các phần chia dữ liệu khác nhau, sau đó lấy giá trị trung bình của các kết quả có được sau các lần áp dụng để ước lượng các luật khả thi
Trang 16Quy trình 5: Triển khai tri thức được khai phá (Deployment)
Giai đoạn này thực hiện áp dụng các tri thức đã khai phá được vào trong thực tế Trong một số trường hợp, người ta sử dụng tri thức này mà không cần đưa vào một hệ thống máy tính Hoặc là các tri thức này có thể được đưa vào trong các hệ thống máy tính và làm cơ sở để cho các ứng dụng khác có thể khai thác, ví dụ như làm cơ sở tri thức cho các hệ chuyên gia, sau đó đưa ra các kết quả để người dùng có thể sử dụng để
áp dụng cho thực tế Đây chính là mục đích của quá trình thực hiện khai phá tri thức
Trong thực tế việc thực hiện khai phá tri thức không phải chỉ tuân thủ theo các quy trình đã phân chia như trên, mà có thể có quy trình phải thực hiện lặp đi lặp lại nhiều lần, ở mỗi lần sẽ cho những kết quả hoàn hiện hơn kết quả của lần trước Việc lặp đi lặp lại này giúp cho kết quả của quá trình thực hiện khai phá tri thức có được kết quả hoàn thiện và
rõ ràng hơn
I.2 KHAI PHÁ DỮ LIỆU
I.2.1 Khái niệm về khai phá dữ liệu
Ngày nay, việc khai phá dữ liệu có thể được coi là việc khai phá tri thức
từ dữ liệu (Knowlegde mining from data), trích lọc tri thức (Knowlegde extraction), phân tích dữ liệu mẫu (data parent analysis), khảo cứu dữ –liệu (data archaeology)…
Khai phá dữ liệu được định nghĩa là quá trình trích lọc các thông tin có giá trị ản trong khối lượng lớn các dữ liệu được lưu trữ trong các cơ sở
Trang 17dữ liệu hoặc trong các kho dữ liệu,… Khai phá dữ liệu cũng được coi là một quá trình tìm kiếm, khám phá ở nhiều góc độ để tìm ra các mẫu hay các mô hình tồn tại bên trong cơ sở dữ liệu và đang bị che khuất Để có thể trích rút các mẫu, mô hình tiềm ẩn có tính “tri thức” ta phải tìm và áp dụng các phương pháp, các kỹ thuật khai phá sao cho các kỹ thuật và các phương pháp đó phù hợp với tính chất, phù hợp với đặc trưng của dữ liệu và mục đích sử dụng Tuy khai phá dữ liệu chỉ là một bước trong quá trình khai phá tri thức từ dữ liệu nhưng nó lại là bước tiên quyết, quan trọng và ảnh hưởng đến kết quả của toàn bộ quá trình
Tóm lại, có thể nói một cách khái quát, khai phá dữ liệu là một quá trình tìm kiếm thông tin “tri thức” tiềm ẩn trong cơ sở dữ liệu lớn, khổng lồ
Vì thế, có thể nói rằng hai thuật ngữ khám phá tri thức và khai phá dữ liệu là tương đương nhau, còn nếu xét theo một góc độ chi tiết thì khai phá dữ liệu là một giai đoạn có vai trò quan trọng trong quá trình khám phá tri thức
I.2.2 Mục tiêu của khai phá dữ liệu
Qua những nội dung đã trình bày ở trên, chúng ta có thể hiểu một cách
sơ lược rằng khai phá dữ liệu là quá trình tìm kiếm thông tin hữu ích, tiềm ẩn và mang tính dự báo trong các cơ sở dữ liệu lớn Việc khai phá
dữ liệu nhằm các mục đích sau:
- Khai thác những thông tin tiềm ẩn mang tính dự đoán từ những cơ sở
dữ liệu lớn dựa trên các công cụ khai phá dữ liệu nhằm dự đoán những
xu hướng trong tương lai nhằm giúp các đối tượng cần tri thức khai phá như: các tổ chức, doanh nghiệp, nhà nghiên cứu… nhằm đưa ra
Trang 18những quyết định kịp thời, được định hướng trên những tri thức được khám phá mang lại
- Thực hiện phân tích xử lý, tính toán dữ liệu một cách tự động cho mỗi quá trình xử lý dữ liệu để tìm ra tri thức
I.2.3 Chức năng của khai phá dữ ệ li u
Việc khai phá dữ liệu có thể thực hiện được trên nhiều dạng lưu trữ dữ liệu và nhiều hệ thống cơ sở dữ liệu khác nhau Các chức năng của khai phá dữ liệu có thể dựa trên các dạng của các mô hình từ cơ sở dữ liệu thông qua hai loại chính là loại khai phá dữ liệu dựa trên các công việc khai phá dữ liệu mô tả và khai phá dữ liệu dự báo:
- Khai phá dữ liệu mô tả sẽ mô tả các thuộc tính tổng quát của dữ liệu trong từng cơ sở dữ liệu dựa trên các phân tích và mô tả một tập các mẫu đã biết trong khả năng nhận thức của con người, giúp chúng ta có thể hiểu rõ về tri thức và dữ liệu của họ
- Khai phá dữ liệu lại dự báo sẽ thực hiện việc suy luận trên dữ liệu để đưa
ra các dự báo nhằm phân tích tập dữ liệu huấn luyện và tạo ra một mô hình cho phép dự đoán các mẫu, mô hình mới chưa biết
Trong một số trường hợp các đối tượng có thể phân tích dữ liệu nhằm
tìm ra mô hình một cách song song do không thể tìm ra được mô hình nào là phù hợp
Cũng có trường hợp, người sử dụng không xác định được mô hình dữ liệu của mình, họ có thể thực hiện tìm kiếm nhiều dạng mô hình khác
Trang 19nhau một cách song song để lấy ra các mô hình rồi thực hiện lựa chọn Chính vì vậy, vấn đề quan trọng của khai phá dữ liệu là làm sao để có một hệ thống khai phá dữ liệu có thể thực hiện khai phá được đa dạng các mô hình chứa đựng được nhiều ứng dụng và mong đợi khác nhau của người sử dụng Hơn nữa, các hệ thống khai phá dữ liệu nên có thể khám phá các mô hình ở nhiều mức độ trừu tượng khác nhau Mặt khác, các hệ thống cơ sở dữ liệu cũng nên cho phép người sử dụng xác định rõ các gợi ý chỉ dẫn hoặc làm tập trung việc tìm kiếm các mô hình thú vị
Vì các mô hình không có thể nắm bắt được tất cả dữ liệu trong cơ sở dữ liệu nên tiêu chuẩn để đo độ chắc chắn và độ tin cậy thường được gắn kết với từng mẫu được khám phá
Các chức năng của khai phá dữ liệu được thể hiện thông qua các bước phân tích và xử lý dữ liệu bao gồm phân tích và sự kết hợp và phân cụm, phân tích và dự báo… ác phương pháp phân tích dùng để khai phá dữ cliệu có thể được xem xét dưới đây:
a Phân tích kết hợp (Association Analysis)
Phân tích luật kết hợp là việc khám phá các luật kết hợp để thể hiện các điều kiện giá trị thuộc tính xảy ra thường xuyên cùng nhau trên tập dữ liệu đã cho Phân tích luật kết hợp thường sử dụng trong các lĩnh vực phân tích về thương mại hay các giỏ hàng
b Phân cụm (Cluster Analysis)
Cách thức phân cụm dựa trên các đối tượng dữ liệu mà không cần tới nhãn lớp đã biết Các nhãn lớp không có mặt trong dữ liệu huấn luyện do chúng không thể xác định trước được ự phân cụm được sử dụng để S
Trang 20sinh ra các nhãn một cách đơn điệu phục vụ cho khai phá Các đối tượng được phân cụm dựa trên nguyên tắc làm “tăng tối đa sự giống nhau của một lớp và làm giảm thiểu sự khác nhau giữa các lớp” -(maximizing the intrerclass similarity and minimizing the interclass similarity) Các cụm đối tượng hình thành sao cho các đối tượng trong cùng một nhóm có sự giống nhau cao nhất còn các đối tượng khác nhau ở các cụm khác thì không giống nhau Mỗi cụm được hình thành có thể xem là một lớp các đối tượng, từ lớp các đối tượng thì các luật có thể được trích chọn Sự phân cụm cũng giúp cho các cách thức phân loại một cách dễ dàng và các thông tin được thu thập thành một hệ thống có thứ bậc
c Phân lớp và dự đoán (Classification and Prediction)
Một trong các phương pháp phân tích dữ liệu dùng trong khai phá dữ liệu là phương pháp phân lớp và dự đoán
Phân lớp là quá trình tạo lập một tập hợp các mô hình hoặc các chức năng, nhiệm vụ Quá trình phân lớp bao gồm mô tả và phân biệt các khái niệm và các lớp các dữ liệu nhằm mục đích dự báo lớp đối tượng mà chúng ta không thể biết nhãn của nó Mô hình của đối tượng được rút ra dựa trên sự phân tích nhẫn là một tập dữ liệu huấn luyện
Dự đoán là quá trình liên quan đến việc dự đoán giá trị dữ liệu và dự đoán nhãn của lớp Nó thường được sử dụng để dự đoán giá trị dữ liệu hơn là dự đoán nhãn lớp
Sự phân lớp và dự đoán cần phải được quyết định trước sau bằng những
sự phân tích thích hợp Điều nàynhằm làm cố gắng nhận dạng và loại bỏ các thuộc tính không có tham vào quá trình phân lớp hoặc dự đoán
Trang 21I.2.4 Phương pháp khai phá dữ liệu
Hiện nay, có nhiều phương pháp khai phá dữ liệu được sử dụng phụ thuộc vào cách tiếp cận như các phương pháp phân tích, tổng hợp dữ liệu lớn trên mô hình thống kê, mạng neural, lý thuyết tập thô hoặc tập mờ, biểu diễn tri thức,… Phương pháp khai phá dữ liệu so với một số phương pháp khai phá tri thức khác có một số lợi thế là khai phá dữ liệu có thể
sử dụng với các dữ liệu có nhiễu, dữ liệu không đầy đủ hoặc dữ liệu biến đổi liên tục
Trong phần này, trình bày một cách sơ lược về một số phương pháp khai phá dữ liệu thông dụng đang được sử dụng, đó là: phương pháp khai phá
dữ liệu sử dụng phân cụm (data mining with Clustering), phương pháp khai phá dữ liệu sủ dụng luật kết hợp (data mining with Association Rules), phương pháp khai phá dữ liệu sử dụng mạng neural (Data Mining with Neural Networks), phương pháp khai phá dữ liệu sử dụng giải thuật di truyền (Genetic Algorithm GA), phương pháp khai phá dữ –liệu sử dụng hệ chuyên gia, phương pháp khai phá dữ liệu sử dụng thống
kê Tuy nhiên, các phương pháp này do không phải là trọng tâm của đề tài Phương pháp sử dụng cây quyết định được sử dụng làm trọng tâm của đề tài
a Phương pháp hệ chuyên gia
Phương pháp này khác với khai phá dữ liệu ở chỗ: các ví dụ của chuyên gia thường có chất lượng cao hơn so với các dữ liệu trong cơ sở dữ liệu,
và chúng thường chỉ bao hàm được các trường hợp quan trọng Hơn nữa các chuyên gia sẽ xác định giá trị và tính hữu ích của các mẫu phát triển
Trang 22b Phương pháp thống kế
Phương pháp thống kê là một trong những nền tảng của lý thuyết khai phá dữ liệu, cách thức sử dụng của phương pháp này là;
- Thống kê các dữ liệu, hoạt động hoàn toàn theo dữ liệu
- Cần có sự định hướng của người dùng để xác định nguồn gốc của dữ liệu cũng như nơi lưu trữ của dữ liệu
- Không sử dụng tri thức có sẵn về lĩnh vực cần khai phá…
c Phương pháp phân cụm
Đây là kỹ thuật nhóm các mẫu dữ liệu tương tự nhau theo các đặc trưng của chúng Kỹ thuật này cho phép phân chia dữ liệu thành các cụm sao cho trong mỗi cụm sẽ có sự tương đồng theo một tiêu chuẩn nào đó Các luật ràng buộc giữa các thành viên trong cụm sẽ được xây dựng từ các mối quan hệ giữa chúng tùy thuộc vào mức độ “giống nhau” của các thành viên tham gia cụm, trong đó số lượng các cụm có thể là không xác định trước Kỹ thuật phân cụm có thể dùng các cách thức khác nhau như phân cụm từng phần hoặc phân cụm theo thứ bậc Kết quả thu được là các tập mẫu được trích chọn các cơ sở dữ liệu lớn và chúng có thể chung một số tính chất nào đó Kết quả này có thể coi đó chính là tri thức, là thông tin hữu ích để sử dụng hoặc để tạo thành các tập dữ liệu nhỏ hơn, dễ hiểu hơn,…
d Phương pháp luận kết hợp
Trang 23Khai phá dữ liệu bằng phương pháp luật kết hợp xuất phát từ nhu cầu thực tiễn là để phân tích dữ liệu giao dịch trên thị trường, ch ng hạn ẳphân tích các đặc tính đối với các mặt hàng có xu hướng được mua đồng thời…
Khai phá luật kết hợp được hình thành từ việc quan sát, thống kê mức độ thường xuyên xảy ra đồng thời giữa các tập thuộc tính trong cơ sở dữ liệu nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong
cơ sở dữ liệu lớn Kết quả của kỹ thuật này là tập các luật kết hợp, chúng
là một dạng biểu diễn tri thức có thể được sử dụng cho các hoạt động khác
e Phương pháp mạng Neural
Kỹ thuật khai phá dữ liệu sử dụng mạng Neural ngày càng phổ biến và ứng dụng rộng rãi nhất là các ngành công nghiệp mở như: Chuẩn đoán bệnh trong y học, nhận dạng khác hàng sử dụng dịch vụ hoặc nhận diện các thẻ giao dịch… Phương pháp này dựa trên nền tảng toán học với khả năng huấn luyện được dựa theo mô hình thần hinh của con người
Khi cho một tập dữ liệu huấn luyện vào một hệ thống mạng, hệ thống mạng sẽ tự huấn luyện, tự điều chỉnh qua từng lớp mạng và cho dữ liệu kết quả đầu ra, các quá trình thực hiện có thể lặp đi lặp lại nhiều lần đến khi mạng học theo tập dữ liệu mẫu thành công
Huấn luyện dữ liệu bằng mạng Neural sẽ cho ra các kết quả có ý nghĩa từ
cơ sở dữ liệu lớn ẩn chứa nhiều lỗi hoặc thiếu sót bên trong, tức là không phải mất nhiều thời gian để gia công lại dữ liệu trước khi đưa vào cho
Trang 24mạng học, đây là một vấn đề khó và phức tạp đối với các phương pháp khai thác khác
Một mạng Neural hoạt động tốt sẽ có khả năng tự “học” qua các lần huấn luyện mà không cần sự can thiệp gì khi hệ đang làm việc, khả năng
tự điều chỉnh này là một điểm mạnh so với các phương pháp khác của mạng Neural
Các kết quả của mạng có khả năng tạo ra cá mô hình dự báo với độ c chính xác cao và có khả năng phát hiện các xu hướng phức tạp mà con người cũng như các kỹ thuật thông thường không thể phát hiện được Do
có khả năng tạo ra được các mô hình có độ chính xác cao nên phương pháp này đáp ứng được các nhiệm vụ đặt ra của khai phá dữ liệu như phân lớp, dự báo, mô hình hóa…
Tuy nhiên, phương pháp này cũng có một số mặt yếu như việc chọn và xây dựng các hàm tính toán cho mạng để phù hợp với yêu cầu bài toán thường không đơn giản và việc chọn mô hình mạng cũng có thể gặp khó khăn, cũng như việc lựa chọn thời điểm để mạng dừng huấn luyện cũng không hề đơn giản Kết quả thu được thường không dễ hiểu đối với mọi người mà chỉ có ý nghĩa đối với các nhà chuyên môn Hơn nữa, về vấn
đề thời gian, mạng hoạt động đòi hỏi phải có thời gian do phải huấn luyện dữ liệu nhiều lần mà trong kinh tế thị trường đầy sự cạnh tranh như hiện nay thì đòi hỏi phải có những quyết định ngoài sự chính xác còn phải nhanh chóng kịp thời thì mới có hiệu quả
f Phương pháp giải thuật di truyền
Trang 25Phương pháp giải thuật di truyền là phương pháp mô phỏng quá trình tiến hóa tự nhiên, ý tưởng của phương pháp này là dựa vào các quy luật chọn lọc, biến đổi và tiến hóa tự nhiên trong sinh học Với phương pháp này, tập dữ liệu ban đầu được gọi là các quần thể xuất phát, sau đó qua các thao tác giống như việc lai ghép, sự thích nghi của dữ liệu được xác định bởi các hàm đánh giá thích nghi theo từng giai đoạn Quá trì– nh tiến hóa khiến cho dữ liệu có tính chất “thích nghi” ngày càng cao
g Phương pháp cây quyết định
Phương pháp cây quyết định là phương pháp được lấy làm trọng tâm trong đề tài này Phương pháp này được coi là một công cụ mạnh và phổ biến trong việc phân lớp (Classification) và dự báo (Prediction) dữ liệu, tức là các đối tượng dữ liệu sẽ được phân thành các lớp hoặc là các giá trị dữ liệu chưa biết sẽ được dự đoán Với phương pháp cây quyết định, tri thức được mô tả dưới dạng đơn giản, trực quan, dễ hiểu đối với người
sử dụng Tuy nhiên, nó đòi hỏi phải có một không gian nhất định để mô
tả tri thức trong giới hạn có thể hiểu được của con người Chi tiết về phương pháp này xin được trình bày ở chương sau
I.3 CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU
Các kỹ thuật khai phá dữ liệu bao gồm các kỹ thuật chính sau:
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 cơ sở dữ liệu hiện có Các kỹ thuật này gồm có: Phân cụm (Clustering); Tóm tắt (Summerization); trực quan hóa (Visualization); Phân tích sự phát triển và độ lệch (Evolution and Deviation analyst); Phân tích luật kết hợp (Association Rules)…
Trang 26I.3.1 Kỹ thuật khai phá dữ liệu dự đoán
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 Kỹ thuật này bao gồm: Phân lớp (Classification); Hồi quy (Regression)…
I.3.2 Phân cụm dữ liệu
Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp 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 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ác 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, chúng ta sẽ không thể biết trước kết quả các cụm thu được khi bắt đầu thực hiện 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 cụm thu được Phân cụ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 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
I.3.3 Phân lớp dữ liệu và qui hồi
Dự đoán nhãn lớp cho các mẫu dữ liệu là mục tiêu của phương pháp phân lớp dữ liệu Quá trình phân lớp dữ liệu thường gồm hai bước sau: Xây dựng và sử dụng mô hình để phân lớp dữ liệu:
Trang 27 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 có sẵn 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 (Traning 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ó thầy (Supervised learning), khác với phâm cụm dữ liệu là học không có thầy (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 Phương pháp hồi qui khác với phân lớp dữ liệu ở chỗ: Hồi qui dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc
I.3.4 Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu 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
Các luật kết hợp là một dạng biểu diễn tri thức, hay chính xác là dạng mẫu của hình thành tri thức Phương pháp nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu
Tuy nhiên, phương pháp này làm gia tăng nhanh chóng số lượng các phép tính và các thông số Điều này cũng làm ảnh hưởng nhất định đến thời gian thực hiện của giải thuật và tiêu tốn tài nguyên của hệ thống
Trang 28I.3.5 Khai phá dữ liệu sử dụng mạng Neural
Mạng Neural là một phương pháp khai phá dữ liệu phát triển dựa trên cấu trúc toán học với khả năng học trên mô hình hệ thần kinh của con người
Mạng Neural có thể đưa ra ý nghĩa các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết suất các mẫu và phát hiện xu hướng quá phức tạp mà con người cũng như các kỹ thuật máy tính khác không thể phát hiện được
Một trong những ưu điểm của mang Neural phải kể đến là khả năng tạo
ra các mô hình dự đoán có độ chính xác cao, có thể áp dụng cho nhiều các bài toán khác nhau, đáp ứng được các nhiệm vụ đặt ra của khai phá
dữ liệu như: Phân lớp; Phân nhóm; Mô hình hóa; Dự báo…
Mẫu chiết suất bằng mạng Neural được thể hiện bằng một trong những nút đầu của mạng Mạng Neural sử dụng các hàm số chứ không sử dụng các hàm biểu tượng để tính mức tích cực của các nút đầu ra và cập nhật các trọng số của nó
Đặc điểm của mạng Neural là không cần gia công dữ liệu đầu vào nhiều, trước khi bắt đầu quá trình học như các kỹ thuật khác Tuy nhiên, để có thể sử dụng mạng Neural có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:
Mô hình mạng là gì?
Mạng cần bao nhiêu nút?
Trang 29 Số lớp ẩn sử dụng cho mạng là như thế nào?
Khi nào thì việc học dừng?
Ngoài ra, còn có nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệu trước khi đưa vào mạng Neural để mạng có thể hiểu được
Mạng Neural được đóng gói với những thông tin trợ giúp của các chuyên gia đáng tin cậy và được họ đảm bảo các mô hình này làm việc tốt Sau khi học, mạng có thể được coi là một chuyên gia trong lĩnh vực mà nó vừa học
I.3.6 Khai phá dữ liệu sử dụng thuật giải di truyền
Khai phá dữ liệu sử dụng thuật giải di truyền là phương pháp không chỉ thực hiện phát hiện tri thức mà còn phục vụ rất nhiều các bài toán khác
Ví dụ như: bài toán tối ưu hóa lập lịch Tư tưởng của thuật toán là áp dụng quy luật của sự chọn lọc tự nhiên Người ta mô phỏng tập dữ liệu ban đầu bằng kí tự nhị phân và gọi là những quần thể xuất phát Bằng các thao tác lai ghép, đột biến chúng ta biến đổi quần thể gene ban đầu
và loại bỏ một số gene, làm cho số lượng gene trong quần thể là không thay đổi Một hàm thích nghi được xây dựng để xác định mức độ thích nghi ngày càng cao Về lý thuyết, giải thuật di truyền cho lời giải tối ưu toàn cục (khác với phương pháp mạng Neural) Tuy nhiên, người ta cũng hạn chế lời giải với mức độ thích nghi nào đó để hạn chế số lượng các bước xây dựng quần thể
Nói theo nghĩa rộng, giải thuật di truyền mô phỏng lại hệ thống tiến hóa trong tự nhiên, chính xác hơn là các giải thuật chỉ ra tập các cá thể được
Trang 30hình thành, được ước lượng và biến đổi như thế nào Ví dụ như: xác định xem làm thế nào để lựa chọn cá thể tạo giống và lựa chọn các cá thể nào
để loại bỏ
Giải thuật di truyền là một giải thuật tối ưu hóa, được sử dụng rất rộng rãi trong việc tối ưu hóa các kỹ thuật khai phá dữ liệu trong đó có kỹ thuật mạng Neural Sự kết hợp của nó với các giải thuật khai phá dữ liệu
ở chỗ tối ưu hóa là cần thiết để xác định các giá trị tham số nào tạo ra các luật tốt nhất
I.3.7 Khai phá dữ liệu sử dụng cây quyết định
Phân lớp khai phá dữ liệu luật là một các tiếp cận quan trọng trong quá h trình khai phá dữ liệu, mục tiêu là tạo ra một tập luật tương đối nhỏ có tính đúng đắn cao từ cơ sở dữ liệu lớn Và cây quyết định được coi là phương pháp tiếp cận truyền thống cho phép phân lớp luật Cây quyết định đưa ra các tiếp cận heuristic nhằm tìm kiếm các thuộc tính tốt nhất
và dẫn đến kết quả cao nhất Tuy nhiên, cây quyết định có một số hạn chế khi triển khai lựa chọn thuộc tính khi xây dựng cây quyết định Các hạn chế của cây quyết định là các trường hợp phân rã và tái tạo cây, vấn
đề phân rã là khi cây quyết định cần phân chia dữ liệu nhiều lần để có thể nhận biết được toàn bộ dữ liệu mẫu; vấn đề tái tạo là một cây con ần cđược xây dựng lại nhiều lần có thể làm cho cây quyết định có độ sâu quá lớn và khó hiểu
Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân loại các đối tượng dữ liệu thành một số lớp nhất định Các nút của cây được gán nhãn là tên của các thuộc tính, các cạnh (cung) được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớp khác nhau Các đối tượng
Trang 31được phân lớp theo các đường đi trên cây, qua các cạnh tương ứng với các giá trị của thuộc tính của đối tượng tới lá
Quá trình xây dựng cây quyết định là quá trình phát hiện ra các luật phân chia dữ liệu đã cho thành các lớp đã được định nghĩa Trong thực tế, tập các cây quyết định có thể có đối với bài toán này rất lớn và khó có thể duyệt hết một cách tường tận
Có nhiều phương pháp xây dựng cây quyết định khi khai phá dữ liệu, đó
là các phương pháp sử dụng các thuật toán CLS, ID3, C4.5, … và một phương pháp tương đối tiên tiến hiện nay là phương pháp xây dựng cây quyết định dựa trên phụ thuộc hàm
I.4 CÁC CÁCH THỨC KHAI PHÁ DỮ LIỆU
Mặc dù các phương pháp được ứng dụng trong khai phá dữ liệu rất phong phú và đa dạng cho việc giải quyết các bài toán thực tế hiện nay Tuy nhiên, vấn đề này gặp không ít khó khăn và thách thức từ việc chuẩn bị cho đến việc khai phá cũng như việc trình bày và sử dụng các tri thức đã được tìm thấy
• Khó khăn về cơ sở dữ liệu
Việc khai phá dữ liệu thường dựa trên một tập cơ sở dữ liệu lớn, các dữ liệu trong thực tế thường phức tạp, nhập nhằng, đa dạng, có tính chất thời gian, không đầy đủ hoặc bị nhiễu,… Ngoài ra, cơ sở dữ liệu có thể được lưu trữ phân tán, với số lượng thuộc tính và số lượng bản ghi rất đa dạng và phong phú dẫn đến độ phức tạp của bài toán quá lớn, không gian tìm kiếm rộng
Trang 32Vấn đề dữ liệu phụ thuộc vào thời gian cũng gây không ít khó khăn khi khai phá, các dữ liệu này phụ thuộc vào thời gian và tính chất dữ liệu thay đổi vào thời điểm quan sát hay khai phá nên tính đúng đắn hay tri thức khai phá được phụ thuộc vào thời điểm sử dụng ó những dữ liệu Cchỉ đúng trong từng thời điểm nhất định nên chính điều này có thể gây nên các hiệu ứng phụ khi khai phá dữ liệu
Một số khó khăn nữa khi khai phá dữ liệu liên quan đến cơ sở dữ liệu là các thuộc tính không phù hợp, các bộ giá trị không đầy đủ gây nên nhầm lẫn hoặc ảnh hưởng tới quá trình khai phá Đôi khi, các thuộc tính còn có thể thiếu gây nên các giá trị của dữ liệu bị giảm
Vấn đề nhập nhằng, không chắc chắn của dữ liệu cũng cần được quan tâm với những dữ liệu dạng này gây nên sự phát sinh lỗi hoặc tri thức không đúng
Mối quan hệ, liên quan giữa các thuộc tính cũng phải được xét đến, bộ thuộc tính hay giá trị có cấu trúc phân cấp, phân lớp hay có mối liên quan với nhau đôi khi cũng gây nên các lỗi trong cơ sở dữ liệu phục vụ khai phá
Trang 33năng đáp ứng cho các tri thức dữ liệu dạng mới dẫn đến mô hình hoạt động không hiệu quả Để có thể khắc phục được sự quá khổ này, người
ta thường dùng các thuật toán kiểm tra chéo kết hợp với một số nguyên tắc cụ thể như thống kê, dự đoán, cắt tỉa,…
Tính dễ hiểu của mô hình kết quả; Mô hình kết quả là đối tượng quan trọng nhất trong suốt quá trình khai phá dữ liệu, đây cũng là sản phẩm cuối cùng của quá trình khai phá Mô hình kết quả thu được phải dễ hiểu cho người sử dụng như: được thể hiện dưới dạng đồ họa, trực quan, có cấu trúc đơn giản, dễ biểu diễn bởi ngôn ngữ tự nhiên hay các kỹ thuật
đã có…
Sự tác động của người sử dụng tri thức vào các tri thức thu được: Vấn đề này là cốt yếu trong quá trình khai phá dữ liệu, đây là giai đoạn cuối cùng cũng như là mục đích cuối cùng của quá trình khai phá dữ liệu Những tri thức này được sử dụng để phân tích, dự đoán sự phân bố xác suất dữ liệu trước đó hay phục vụ cho một công đoạn khai phá ra tri thức mới hoặc hỗ trợ cho người người sử dụng ra quyết định ngay trong lĩnh vực đó Hoặc cũng có thể được tổng hợp lại dưới dạng các báo cáo để hỗ trợ cho các quyết định khác nhau
I.4.1 Các yêu cầu khi khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực liên quan đến nhiều ngành khoa học khác nhau, đây có thể coi là sự hội tụ của nhiều ngành khoa học, bao gồm về công nghệ về cơ sở dữ liệu, thống kê, học máy, khoa học thông tin, trí tuệ nhân tạo,… Hơn thế nữa, sự phụ thuộc vào phương pháp khai phá dữ liệu được sử dụng, các kỹ thuật từ các ngành khác có thể được áp dụng như: mạng Neural, lý thuyết tập mờ (Fuzzy oi rough set theory), sự
Trang 34biểu diễn tri thức (Knowledge representation), chương trình logic qui nạp (inductive logic programming),… Tùy theo dạng dữ liệu được khai -phá hoặc ứng dụng khai phá dữ liệu đã cho, hệ thống khai phá dữ liệu cũng có thể tích hợp các kỹ thuật từ việc rút trích thông tin, nhận dạng mẫu, xử lý tín hiệu, xử lý ảnh, công nghệ Web, sinh tin học, kinh tế…
Do có nhiều dạng khác nhau của nhiều ngành tham gia vào việc khai phá
dữ liệu cho nên việc nghiên cứu về khai phá dữ liệu được mong đợi là làm sao tạo ra được một sự khác nhau lớn về các hệ thống khai phá dữ liệu
Vì thế, việc phân lớp các hệ thống khai phá dữ liệu là cần thiết Sự phân lớp như thế có thể giúp những người dùng có khả năng phân biệt được các hệ thống khai phá dữ liệu và nhận được cái nào là cái quan trọng đối với các nhu cầu của hộ Hệ thống khai phá dữ liệu có thể được phân lớp dựa theo nhiều tiêu chí và yêu cầu khác nhau, như sau:
- Một hệ thống khai phá dữ liệu có thể được phân lớp dựa theo các dạng
cơ sở dữ liệu được khai phá Bản thân của hệ thống khai phá dữ liệu này cũng có thể được phân lớp tiếp, dựa theo các tiêu chí khác nhau, như: các mô hình hay dạng dữ liệu, hoặc các ứng dụng có liên quan Mỗi lớp như thế sẽ yêu cầu một kỹ thuật khai phá dữ liệu riêng Ví dụ, phân lớp dựa theo các mô hình dữ liệu thì chúng ta có thể có hệ thống khai phá dữ liệu quan hệ, giao dịch, hướng đối tượng, quan hệ đối tượng, hoặc kho dữ liệu Còn nếu phân lớp dựa theo các dạng không gian của dữ liệu được vận dụng thì chúng ta có thể có hệ thống khai phá dữ liệu không gian, dữ liệu chuỗi thời gian, dữ liệu văn bản, hoặc
Trang 35hệ thống khai phá dữ liệu đa phương tiện hoặc một hệ thống khai khá World Wide Web
- Các hệ thống khai phá dữ liệu có thể được phân lớp dựa theo các dạng tri thức mà chúng khai phá Nghĩa là dựa trên các chức năng khai phá
dữ liệu như: Sự mô tả, phân biệt, phân lớp, phân nhóm, kết hợp, phân tích dư thừa và phân tích tiến hóa Một hệ thống khai phá dữ liệu toàn diện thường cung cấp nhiều chức năng khai phá dữ liệu Ngoài ra, các
hệ thống khai phá dữ liệu có thể được phân biệt dựa trên mức độ trừu tượng của tri thức được khai phá, bao gồm tri thức tổng quát (có độ trừu tượng cao), tri thức cơ bản mức độ dữ liệu thô hoặc tri thức ở đa , mức độ (quan tâm đến nhiều mức độ trừu tượng) Một hệ thống khai phá dữ liệu nâng cao sẽ cho phép khai phá tri thức ở mức độ trừu tượng
- Các hệ thống khai phá dữ liệu cũng có thể được phân lớp theo các kỹ thuật khai phá dữ liệu cơ bản được sử dụng Các kỹ thuật này có thểđược mô tả dựa theo mức độ tương tác của người dùng được liên quan (ví dụ như: các hệ thống hoạt động độc lập, các hệ thống khảo sát tương tác, các hệ thống điểu khiển truy vấn) hoặc dựa vào các phương pháp phân tích dữ liệu được sử dụng như: học máy, nhận biết mẫu, thống kê, mạng Neural,…) Thường thì một hệ thống khai phá dữ liệu tinh vi sẽ chấp nhận đa kỹ thuật khai phá dữ liệu hoặc một kỹ thuật tích hợp bằng cách kết nối từ nhiều ưu điểm, thành quả của một vài phương pháp riêng lẻ khác
- Các hệ thống khai phá dữ liệu còn có thể được phân lớp dựa theo các ứng dụng được đưa vào
Trang 36I.4.2 Đánh giá, kết luận
Khai phá dữ liệu là khâu cơ bản trong quá trình phát hiện tri thức từ dữ liệu Để thực hiện nhiệm vụ này người ta sử dụng nhiều phương pháp khác nhau từ các phương pháp hồi quy, tương quan, kiểm định giả thuyết,… là các phương pháp quen thuộc của phân tích thống kê các phương pháp mới mô phỏng quá trình học đối với các bài toán phân loại
và xếp nhóm trên các mạng Neural nhân tạo, mô phỏng quá trình tiến hóa sinh học để xây dựng các giải thuật “di truyền” giải bài toán bằng các phép lai ghép, chọn lọc, trao đổi chéo, đột biến “bắt trước” các phép biến đổi gene trong sinh học, xây dựng cây quyết định để rút ra các luật quyết định chính xác hoặc các tri thức chính xác về một lĩnh vực nào đó Quá trình khai phá tri thức trên dữ liệu là một quá trình lâu dài và phức tạp nhằm nhận biết các mẫu hoặc các mô hình ẩn chứa trong dữ liệu dựa trên các kỹ thuật thiết kế, tổng hợp, thăm dò, phân tích để phát hiện ra các mẫu dữ liệu thức hợp từ đó hợp thức hóa các kết quả tìm được bằng cách áp dụng các mẫu đã phát hiện cho tập con mới của dữ liệu Có thể thấy rằng tại hầu hết các lĩnh vực từ đời sống, kinh tế, xã hội đến khoa học kỹ thuật,… đều cần các khối lượng lớn thông tin, dữ liệu Quá trình khai phá dữ liệu xuyên suốt qua nhiều giai đoạn từ xác định vấn đề, tiền
xử lý (làm trong sáng dữ liệu, tổng hợp dữ liệu, chuyển đổi dữ liệu,…), khai phá dữ liệu, đánh giá mẫu được khai phá đến trình bày tri thức được khai phá Trong các giai đoạn này thì giai đoạn tiền xử lý dữ liệu là giai đoạn tốn thời gian nhất và giai đoạn khai phá dữ liệu là giai đoạn quan trọng nhất
Nhiệm vụ của khai phá dữ liệu là tìm ra các mẫu cần được quan tâm phù hợp với yêu cầu của đối tượng cần khai phá từ một khối lượng khổng lồ
Trang 37dữ liệu Các mẫu sau khi khai phá là tri thức nằm tiềm ẩn trong dữ liệu
và có thể được khai phá từ nhiều mô hình cơ sở dữ liệu khác nhau như:
cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không gian,… hoặc từ các dạng lưu trữ thông tin khác như cơ sở dữ liệu
đa phương tiện, cơ sở dữ liệu thời gian thực,…
Việc khai phá dữ liệu phù hợp và hiệu quả đối với các cơ sở dữ liệu lớn vẫn đang là nhu cầu và thách thức với các nhà khoa học
Trang 38CHƯƠNG II: CÁC KHÁI NIỆM CƠ BẢN
II.1 CÂY QUYẾT ĐỊNH
II.1.1 Khái niệm chung
a Phân lớp và dự đoán
Trong một cơ sở dữ liệu lớn thường có nhiều thông tin hữu ích nhưng không thể hiện rõ, mà những thông tin này lại có thể được sử dụng để ra quyết định giao dịch hoặc là các tiên đoán thông minh đối với nhiều lĩnh vực Đối với những dạng thông tin như thế thường thì các phương pháp phân tích, tổng hợp và thống kê truyền thống khó có thể phát hiện ra
Sự phân lớp và sự dự báo là hai dạng phâ tích dữ liệu, chúng có thể n được
sử dụng để rút trích ra cá mô hình mô tả các lớp dữ liệu quan trọng hoặc c
là để dự đoán các xu hướng dữ liệu trong tương lai
Trong khi sự phân lớp (Classification) được dùng để dự đoán các nhãn rõ ràng, còn sự dự báo (prediction) được sử dụng để cho ra mô hình từ các hàm giá trị liên tục Sự dự báo có thể được xem như sự xây dựng và sử dụng một mô hình để truy cập tới lớp mẫu không có nhãn, hoặc để truy vập các giá trị ho c dùng giá trị của một thuộc tính, đây là cáặ c giá trị được mong đợi có trong mẫu đã cho
Với cách nói này, thì sự phân lớp và sự hồi qui (Classification and Regression) là hai dạng cơ bản của các vấn đề dự đoán Trong đó, sự phân lớp được sử dụng để dự đoán các giá trị được định danh hoặc các giá trị rời rạc, còn sự hồi qui thì được sử dụng để dự đoán các giá trị liên tục hoặc có thứ tự Tuy nhiên, trong khai phá dữ liệu người ta thường chấp nhận: sự
Trang 39phân lớp dùng để dự đoán các nhãn lớp, còn sự dự đoán dùng để tiên đoán các giá trị liên tục (như việc sử dụng kỹ thuật hồi qui)
Trong đề tài này, tôi chọn phương pháp cây quyết định để khai phá dữ liệu nên trong chương này và chương 3 của luận văn sẽ trình bày các nghiên cứu kỹ thuật phân lớp dữ liệu cơ bản đó là cơ sở dữ liệu quan hệ, các tính chất của cơ sở dữ liệu quan hệ, phụ thuộc hàm xấp xỉ và phân lớp bằng cây quyết định, một số phương pháp xây dựng cây quyết định
b Cây quyết định
Cây quyết định là một kiểu mô hình dự báo (prediction model), nghĩa là một ánh xạ từ các quan sát về một sự vật hiện tượng tới các kết luận về giá trị mục tiêu của sự vật hiện tượng
Cây quyết định có cấu trúc hình cây và là một sự tượng trưng của một phương thức quyết định cho việc xác định lớp các sự kiện đã cho Mỗi nút của một cây chỉ ra một tên lớp hoặc một phép thử cụ thể, phép thử này chia không gian các dữ liệu tại nút đó thành các kết quả có thể đạt được của phép thử Mỗi tập con được chia ra là không gian con của các dữ liệu được tương ứng với các vấn đề con của sự phân lớp Sự phân chia này thông qua một cây con tương ứng Quá trình xây dựng cây quyết định có thể xem như là một chiến thuật chia để trị cho sự phân lớp đối tượng Một cây quyết định có thể mô tả bằng các khái niệm nút và đường nối các nút trong cây (gọi là các cung)
Mỗi nút của cây quyết định có thể là:
Trang 40- Nút lá (leaft node) hay còn gọi là nút trả lời (answer node), nó biểu thị cho một lớp các trường hợp, nhãn của nó là tên của lớp
- Nút không phải là lá (Non leaft node) hay còn gọi là nút trong (inner node), nút này xác định một phép thử thuộc tính (attribute test), nhãn của nút này có tên của thuộc tính và sẽ có một nhánh (hay đường đi) nối nút này đ n cây con (sub tree) ứng với mỗi kết quả có thể có của ếphép thử Nhãn của nhánh này chính là giá trị của thuộc tính đó Nút không phải là nút lá nằm trên cùng gọi là nút gốc (root node)
-Một cây quyết định sử dụng để phân lớp dữ liệu bằng cách bắt đầu đi từ nút gốc của cây và đi xuyên qua cây theo các nhánh cho tới khi gặp nút lá, khi đó ta sẽ có được lớp của dữ kiện đang xét
Ví dụ về tập huấn luyện:
danh
2 >40 Trung bình Giảng viên Thạc sỹ Có
4 >40 Trung bình Giảng viên Thạc sỹ Không
5 30 40- Trung bình Giáo viên TH Kỹ sư Không
6 30 40- Trung bình Giáo viên TH Thạc sỹ Có