Cùng với sự phát triển của Công Nghệ Thông Tin ngày nay, khai phá tri thức trong các cơ sở dư liệu lớn là một trong nhưng lĩnh vực được rất nhiều nhà nguyên cứu và ứng dụng tin học đặc biệt quan tâm. Việc nguyên cứu những phương pháp có thể tự động phát hiện những tri thức mới trong cơ sở dư liệu trên máy tính đã tỏ ra thực sự hữu ích trong việc hỗ trợ quyết định cho con người.
63 trang |
Chia sẻ: vietpd | Lượt xem: 1228 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Phát hiện luật bằng cách sử dụng siêu phẳng tối ưu theo hướng tiếp cân tập thô, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TÓM TĂT KHOÁ LUẬN TỐT NGHIỆP
Cùng với sự phát triển của Công Nghệ Thông Tin ngày nay, khai phá tri thức
trong các cơ sở dư liệu lớn là một trong nhưng lĩnh vực được rất nhiều nhà nguyên cứu
và ứng dụng tin học đặc biệt quan tâm. Việc nguyên cứu những phương pháp có thể tự
động phát hiện những tri thức mới trong cơ sở dư liệu trên máy tính đã tỏ ra thực sự
hữu ích trong việc hỗ trợ quyết định cho con người.
Hiện nay, trên thế giới có rất nhiều thuật toán khai phá tri thức bằng cách phân
lớp và rời rạc dữ liệu như: Sử dụng cây quyết định, phương pháp thống kê, các mạng
nơ ron, thuật toán di truyền,...Trong một vài năm gần đây, lý thuyết tâp thô được nhiều
nhóm nguyên cứu hoạt động trong lĩnh vực tin học nói chung và khai phá tri thức nói
riêng nguyên cứu và áp dụng trong thực tế. Lý thuyết tập thô được xây dựng trên nền
tảng toán học vững chắc giúp cung cấp những công cụ hữu ích để giải quyết những bài
toán phân lớp dữ liệu và khai phá luật,...Với đặc tính có thể xử lý được những dữ liệu
mơ hồ, không chắc chắn tập thô tỏ ra rất hữu ích trong việc giải quyết những bài toán
thực tế. Từ những bảng dữ liệu lớn với dữ liệu dư thừa, không hoàn hảo, dữ liệu liên
tục, hay dữ liệu dưới dạng ký hiệu lý thuyết tập thô cho phép khai phá tri thức từ
những khối dữ liệu này nhằm phát hiện những luật tiềm ẩn từ khối dữ liệu này.
Trong khoá luân tốt nghiệp chúng tôi đã trình bày một số phương pháp rời rạc
hoá dữ liệu theo hướng tiếp cận tập thô. Và xây dựng chương trình thử nghiệm: phát
hiện luật bằng cách sử dụng siêu phẳng tối ưu theo hướng tiếp cân tập thô. Chương
trình được xây dựng để thử nghiệm trên bộ dữ liệu chứa thông tin về 768 bệnh nhân bị
bệnh tiểu đường cung cấp bởi tổ chức “National Institute of Diabetes and Digestive
and Kidney Diseases”. Từ đó xây dựng hệ thống các luật dựa trên cây quyết định dùng
để hỗ trợ việc khám bệnh của các bác sĩ.
MỤC LỤC
MỤC LỤC .......................................................................................................................2
PHẦN MỞ ĐẦU .............................................................................................................5
Chương 1 TỔNG QUAN VỀ KHAI PHÁ TRI THỨC ...............................................8
1.1 . Khai phá tri thức....................................................................................................8
1.1.1. Định nghĩa khai phá tri thức .........................................................................8
1.1.2. Các giai đoạn của quá trình khai phá tri thức ...............................................8
1.1.3. Khai phá dữ liệu..........................................................................................10
1.2 . Khai phá tri thức theo cách tiếp cận tập thô........................................................12
1.2.1. Một số khái niệm ........................................................................................12
1.2.1.1. Khái niệm hệ thông tin ..................................................................12
1.2.1.2. Khái niêm về bảng quyết định.......................................................13
1.2.1.3. Khái niệm quan hệ không phân biệt được trong hệ thông tin. ......15
1.2.1.4. Khái niệm tập các nhát cắt, nhát cắt trong bảng quyết định..........16
1.2.1.5. Tập thô trong không gian xấp xỉ. ..................................................17
1.2.2. Khai phá tri thức theo cách tiếp cận tập thô. ..............................................19
1.2.2.1. Sự rời rạc hoá dữ liệu theo cách tiếp cận tập thô. .........................19
1.2.2.2. Lựa chọn thuộc tính dựa trên tập thô.............................................19
1.2.2.3. Khám phá luật bới bảng phân bố tổng quát dựa trên tập thô. .......20
1.2.2.4. Khám phá mẫu trong hệ thông tin. ................................................20
1.3 . Kết luận. ..............................................................................................................21
Chương 2 KHAI PHÁ LUẬT KẾT HỢP...................................................................22
2.1 . Khai phá luật kết hợp trong cơ sở dữ liệu. ..........................................................22
2.1.1. Bài toán xuất phát. ......................................................................................22
2.1.2. Mô hình hoá bài toán. .................................................................................22
2.1.3. Thuật toán khai phá luật kết hợp. ...............................................................25
2.1.3.1. Tập phổ biến. .................................................................................25
2.1.3.2. Khai phá luật dựa trên tập mục phổ biến.......................................25
2.1.4. Kết luận.......................................................................................................28
2.2 . Sinh cây quyết định từ hệ thông tin.....................................................................29
2.2.1. Thuật toán học cây quyết định....................................................................29
2.2.2. Một số phương pháp giải quyết vấn đề rời rạc hoá. ...................................35
2.2.2.1. Maximal Discernibility (MD) Heuristic........................................35
2.2.2.2. Sự rời rạc hoá định nghĩa bằng siêu phẳng. ..................................36
2.2.2.3. Những tính chất của phương thức MD..........................................39
2.2.2.4. Xây dựng cây quyết định không đối xứng. ...................................43
2.2.3. Kết luận.......................................................................................................50
Chương 3 CHƯƠNG TRÌNH THỬ NGHIỆM. .........................................................51
3.1 . Mô tả dữ liệu. ......................................................................................................51
3.2 . Xây dựng chương trình. ......................................................................................53
3.3 . Kết quả thử nghiệm. ............................................................................................57
3.4 . Nhận xét. .............................................................................................................61
KẾT LUẬN. ..................................................................................................................62
Tài liêu tham khảo: ........................................................................................................63
CÁC KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN
Ký hiệu Mô tả
A Hệ thông tin hay bảng quyết định
A, B Tập các thuộc tính trong hệ thông tin
D Tập thuộc tính quyết định trong hệ thông tin
a Một thuộc tính điêu kiện trong hệ thông tin
Va Tập giá trị của thuộc tính điều kiện a
U Tập tất cả các đối tượng
∅ Tập rỗng
⊆ Bị chứa trong
∈ Thuộc (phần tử thuộc tập hơp)
≥ Lớn hơn hoặc bằng
≤ Nhỏ hơn hoặc bằng
≠ Khác
∪, ∩ phép lấy giao và hợp của tập hợp
PHẦN MỞ ĐẦU
Trong một vài năm gần đây, ngành công nghệ thông tin trên toàn thế giới đã
phát triển mạnh mẽ với một tốc độ rất nhanh. Song song với điều đó chúng ta cũng
phải đối mặt với một thách thức mới là sự bùng nổ về lượng thông tin. Tuy nhiên, một
thực tế diễn ra rất phổ biến là mặc dù có một lượng dữ liệu rất lớn nhưng thông tin mà
thực sự chúng ta có là rất ít, những hiểu biết thực sự của chúng ta về lượng dữ liệu mà
chúng ta có còn rất hạn chế.
Xuất phát từ thực tế đó mà trong một vài năm gần đây các nhà nguyên cứu và
ứng dụng tin học phải nguyên cứu, tìm kiếm những phương pháp mới để khai thác triệt
để nhưng thông tin có trong cơ sở dữ liệu. Từ cuối những năm của thập kỷ 1980 khái
niệm phát hiện tri thức trong cơ sở dữ liệu lần đầu tiên được nói đến, đây là quá trình
phát hiện tri thức tiềm ẩn, không biết trước và hữu ích trong các cơ sở dữ liệu lớn.
Khắc phục hạn chế của những mô hình cơ sở dữ liệu truyền thống chỉ với
những công cụ truy vấn dữ liệu không có khả năng tìm kiếm các thông tin mới, các
thông tin tiềm ẩn trong cơ sở dữ liệu. Khai phá tri thức trong cơ sở dữ liệu là một quá
trình có thể tìm ra những thông tin mới, những thông tin hữu ích, và tiềm ẩn trong cơ
sở dữ liệu. Quá trình phát hiện tri thức gồm nhiều giai đoạn, trong đó giai đoạn khai
phá dữ liệu là quan trọng nhất. Đây là giai đoạn chính tìm ra những thông tin mới
trong cơ sở dữ liệu. Quá trình phát hiện tri thức là sự tiếp thu, sử dụng và phát triển các
thành tựu của nhiều lĩnh vực nguyên cứu ứng dụng tin học trước đó như: lý thuyết
nhận dạng, hệ chuyên gia, trí tuệ nhân tạo, thống kê, v.v.
Từ đầu những năm 80 Z. Pawlak đã đề xuất ra lý thuyết tập thô với một cơ sở
toán học rất chắc chắn. Trong những năm gần đây, lý thuyết tập thô được nhiều nhóm
nguyên cứu hoạt động trong lĩnh vực tin học nói chung và khai phá tri thức trong cơ sở
dữ liệu nói riêng nguyên cứu và áp dụng trong thực tế [2,4,6,10,12]. Lý thuyết tập thô
ngày càng được áp dụng rộng rãi trong lĩnh vực phát hiện tri thức. Nó tỏ ra rất hữu ích
trong việc giải quyết các bài toán phân lớp dữ liệu, phát hiện luật và đặc biệt hữu ích
trong các bài toán phải xử lý các dữ liệu mơ hồ, không chắc chắn. Các mối quan hệ
giữa dữ liệu trong mô hình này được biểu diễn qua mối quan hệ “không phân biệt
được”, các tập dữ liệu là mơ hồ, không chắc chắn được biểu diễn thông qua tập xấp xỉ
trên và xấp xỉ dưới của nó. Nhờ vào những điều này mà dữ liệu có thể phân tích và xử
lý bằng những công cụ toán học.
Cụ thể trong lý thuyết tập thô dữ liệu được biểu diễn thông qua hệ thông tin
hay bảng quyết. Từ trong thực tế, với những bảng dữ liệu lớn với dữ liệu không hoàn
hảo, có dữ liệu dư thừa, dữ liệu liên tục hay biểu diễn dưới dạng các ký hiệu, lý thuyết
tập thô cho phép khai phá tri thức trong những cơ sở dữ liệu như thế này nhằm phát
hiện những tri thức tiềm ẩn từ những khối dữ liệu “thô” này. Tri thức tìm được được
thể hiện dưới dạng các luật, các mẫu. Sau khi tìm được những quy luật chung nhất để
biểu diễn dữ liệu, người ta có thể tính toán độ mạnh và độ phụ thuộc giữa các thuộc
tính trong hệ thông tin.
Theo Skowron và NingZong [2], cách tiếp cận tập thô để phân tích dữ liệu có
rất nhiều điểm lợi quan trọng như sau:
− Cho phép xử lý hiệu quả bảng dữ liệu lớn, loại bỏ dữ liệu dư thừa, dữ liệu
không hoàn hảo, dữ liệu liên tục.
− Hiệu quả trong việc tìm kiếm những mẫu tiềm ẩn trong cơ sở dữ liệu.
− Sử dụng được tri thức kinh nghiệm.
− Nhận ra được những mối quan hệ mà khi sử dụng các phương pháp thống
kê khác không phát hiện được.
− Sử dụng quan hệ thứ lỗi trong quá trình phát hiện mẫu.
− Làm việc hiệu quả trên tập rút gọn.
− Cách giải thích rõ ràng và dễ hiểu.
Với những đặc điểm trên thì tập thô đã chứng tỏ là một trong những lý thuyết
rất hiệu quả trong lĩnh vực khai phá dữ liệu. Trong khoa luận tốt nghiệp này chúng tôi
xin trình bày một số ứng dụng và lý thuyết cơ bản của tâp thô. Việc phát hiện tri thức
được thực hiện bằng cách phân lớp, rời rạc hoá dữ liệu từ đó sinh ra các luật, các tri
thức mới. Phương pháp nguyên cứu chủ yếu của khoá luận tốt nghiệp là tìm hiểu và
phân tích nội dung các bài báo được công bố về lĩnh vực khai phá tri thức trong những
năm gần đây. Từ những kiến thức thu được chúng tôi đã xây dựng được chương trình
thử nghiệm mô phỏng thuật toán xây dựng cây quyết định tối ưu bằng cách sử dụng
siêu phẳng tối ưu được trình bày trong [9]. Chương trình tiến hành khai phá tri thức
trong cớ sở dữ liệu lưu thông tin về 678 bệnh nhân tiểu đường cung cấp bởi tổ chức
“National Institute of Diabetes and Digestive and Kidney Diseases”. Từ đó sinh ra các
luật quyết định hỗ trợ trong quá trình khám bệnh của bệnh nhân.
Khoá luận tốt nghiệp được trình bày gôm 3 phần: Phần mở đầu, 3 chương và
phần kết luận. Trong đó:
Chương 1: Khóa luận trình bày những kiến thức chung nhất về khai phá tri
thức và khai phá tri thức theo cách tiếp cận tập thô.
Chương 2: Khóa luận trình bày về chi tiết một số thuật toán khai phá tri thức,
chủ yếư là khai phá các luật trong các cơ sở dữ liệu. Trong đó đáng chú ý là thuật toán
xây dựng cây quyết định tối ưu bằng cách sử dụng siêu phẳng tối ưu.
Chương 3: Khóa luận trình bày kết quả thử nghiệm bài toán khai phá luật
trong cây quyết định tối ưu trình bày ở chương 2 và áp dụng trên cơ sở dữ liệu bệnh
nhân bị tiểu đường được lấy về từ trên mạng. Qua đó đánh giá được sự hiệu quả của
thuật toán được trình bày trong [9].
Khóa luận được hoàn thành duới sự giúp đỡ của Tiến Sĩ. Hà Quang Thuỵ , Bộ
môn các hệ thông thông tin, Khoa Công Nghệ, ĐHQG Hà Nội. Em xin bày tỏ lòng
kính trọng và sự biết ơn sâu sắc tới Thầy đã hướng dẫn, động viên và tạo điều kiện cho
em trong quá trình làm khoá luận tốt nghiệp. Em xin chân thành cảm ơn Thầy Đỗ
Văng Thành, Văn phong chính phủ, người đã truyền thụ cho em những kiến thức nền
tảng và cơ sở để em có thể hoàn thành bản khoá luận tôt nghiệp này. Em xin chân
thành cảm ơn các thầy cô giáo trong bộ môn Các Hệ Thống Thông Tin, nhóm
“Seminar Data Mining and KDD”. Cuối cùng em xin chân thành cảm ơn tới những
người thân trong gia đình, bạn bè đã giúp đỡ và động viên em rất nhiều trong quá trình
nguyên cứu và học tập.
Chương 1 TỔNG QUAN VỀ KHAI PHÁ TRI THỨC
1.1 . Khai phá tri thức
Phát hiện tri thức là khái niệm ra đời vào những năm cuối của thập kỷ 80 và đã
trở thành một lĩnh vực được nguyên cứu rộng rãi trên toàn cầu. Sự ra đời của phát hiện
tri thức là sự kết hợp kết quả nguyên cứu của nhiều ngành khoa học khác lại với nhau
như: Quản trị cơ sở dữ liệu, học máy, thống kê v.v.
1.1.1. Định nghĩa khai phá tri thức
Khai phá tri thức (Khai phá tri thức-Knowledge Discovery in Databases) trong
các cơ sở dữ liệu là quá trình phát hiện những tri thức tiềm ẩn, không biết trước, và có
ích trong trong cơ sở dữ liệu. Thực chất đó là quá trình tìm kiếm những thông tin có
trong cơ sở dữ liệu nhưng bị che giấu trong các khối dữ liệu.
Tri thức ở đây có thể được hiểu là một biểu thức trong một ngôn ngữ nào đó
diễn tả một hoặc nhiều mối quan hệ giữa các thuộc tính trong các dữ liệu đó. Các ngôn
ngữ thường dùng để biểi diễn tri thức trong việc biểu diễn tri thức trong quá trình phát
hiện tri thức từ cơ sở dư liệu là các khung (frames), các cây và đồ thị, các luật, các
công thức trong logic mệnh đề hoặc logic tân từ cấp một . . .
Việc khai phá tri thức thường được áp dụng để giả quyết một loạt những yều
cầu phục vụ những mục đích nhất định. Do vậy nên quá trình phát hiện tri thức mang
tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức mà phát hiện những tri
thức phục vụ tốt một nhiệm vụ đề ra. Vì vậy, quá trình phát hiện tri thức là một hoạt
động tương tác giữa một người sử dụng hoặc một chuyên gia phân tích với các công cụ
tin học.
1.1.2. Các giai đoạn của quá trình khai phá tri thức
Mục đích của quá trình khai phá tri thức: Từ những cơ sở dữ liệu ngoài cuộc
sống thực tế sau một hoặc một số bước của quá trình sẽ rút ra được những tri thức mới.
Các bước trong quá trình này có thể lặp đi lặp lại nhiều lần và được mô tả theo hình
sau [4,8]:
Hình 1. Mô hình mô tả quá trình khai phá tri thức.
Giai đoạn 1:Xác định và định nghĩa vấn đề.
− Tìm hiểu lĩnh vực ứng dụng và nhiệm vụ đề ra, xác định các tri
thức đã có và các mục tiêu của người sử dụng.
− Tạo và chọn lựa cơ sở dữ liệu.
Giai đoạn 2: Thu nhập và tiền xử lý dữ liệu.
− Xử lý và làm sạch dữ liệu trước: Bỏ đi các dữ liệu tạp bao gồm các
lỗi và các dạng không bình thường. Xử lý dữ liệu bị mất, chuyển đổi
dữ liệu phù hợp.
− Rút gọn kích thước dữ liệu nhận được: Nhận ra các thuộc tính hữu
ích cho quá trình phát hiện tri thức.
Giai đoạn 3: Khai phá dữ liệu.
− Chọn nhiệm vụ khai phá dữ liệu.
− Lựa chọn các phương pháp khai phá dữ liệu.
− Khai phá dữ liệu để rút ra các mẫu, các mô hình.
Giai đoạn 4:Giải thích kết quả và đánh giá các mẫu, các mô hình tìm được ở
giai đoạn 3.
Xác định và định
nghĩa vấn đề
Thu nhập và tiền
xử lý dữ liệu
Khai phá dữ liệu
Giải thích kết quả
và đánh giá
Sử dụng tri thức
phát hiện được
1
2
3
4
5
Giai đoạn 5: Sử dụng tri thức phát hiện được.
− Các tri thức phát hiện được tích hợp chặt chẽ trong hệ thống. Tuy
nhiên để sử dụng được tri thức đó đôi khi cần đến các chuyên gia
trong các lĩnh vực quan tâm vì tri thức rút ra có thể chỉ có tính chất hỗ
trợ quyết định.
− Tri thức tìm được có thể được sử dụng cho một quá trình khai phá
tri thức khác.
Như vậy khai phá tri thức gồm 5 giai đoạn chính, trong 5 giai đoạn trên thì
giai đoạn khai phá dữ liệu là quan trọng nhất. Đây là giai đoạn duy nhất tìm được các
thông tin tiềm ẩn trong cơ sở dữ liệu.
1.1.3. Khai phá dữ liệu
Khai phá dữ liệu (hay data mining) được định nghĩa như là quá trình phát hiện
các tri thức mới, có giá trị từ những dữ liệu lớn được lưu trữ trong cơ sở,
datawarehouse hay các kho chứa thông tin khác. Khai phá dữ liệu là một giai đoạn
quan trọng trong quá trình phát hiện tri thức. Về bản chất nó là giai đoạn duy nhất tim
ra được thông tin mới, thông tin tiềm ần có trong cơ sở dữ liệu. Mục đích nguyên thủy
của khai phá dữ liệu là mô tả và dự đoán [4]. Các kỹ thuật khai phá dữ liệu được chia
thành những mảng chính sau:
• Phân cụm và phân lớp dữ liệu: Quá trình này có thể xem là quá trình phân
tích một tập dữ liệu và sinh ra một tập nhóm các luật mà chúng ta có thể sử
dụng để phân lớp dữ liệu trong tương lai. Khi phân lớp dữ liệu người ta
thường dựa trên một tập các mẫu huấn luyện để sinh ra các luật. Có rất nhiều
phương pháp để phân lớp dữ liệu được nguyên cứu như: Các phương pháp
học cây quyết định, phương pháp thông kê, các mạng nơ ron, các mạng xác
xuất Bayes,. . .
• Khai phá luật kết hợp: Mong muốn tìm ra những mối quan hệ giữa các
thuộc tính hoàn toàn độc lập với nhau trong cơ sở dữ liệu. Luật kết hợp có thể
dùng để hỗ trợ quyết định. Ví dụ như các bài toán kinh doanh.
• Khai phá chuỗi: Luật chuỗi và khai phá chuỗi có thể coi như là một cách
trừu tượng của luật kết hợp và phát hiện các luật kết hợp trong cơ sở dữ liệu
phụ thuộc thời gian.
Có rất nhiều phương pháp để có thể tiến hành khai phá dữ liệu đã được nguyên
cứu và đề ra như:
− Các phương pháp sinh cây quyết định.
− Các phương pháp thống kê.
− Các mạnh nơ ron.
− Các mạng xác suất Bayes.
− Các thuật toán di truyền.
− Phương pháp người láng giềng gần nhất.
− Luật suy diễn.
− Trực quan hoá dữ liệu.
− .v.v.
Như vậy, khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khai phá
tri thức và nó đang được áp dụng rộng rãi trong nhiều lĩnh vực như:
− Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision
support)
− Điều trị y học (medical treatment)
− Text mining & Web mining
− Tài chính và thị trường chứng khoán (finance & stock market)
− Bảo hiểm (insurance)
− Nhận dạng (pattern recognition)
− .v.v.
1.2 . Khai phá tri thức theo cách tiếp cận tập thô
1.2.1. Một số khái niệm
1.2.1.1. Khái niệm hệ thông tin
Trong hầu hết các hệ quản trị cơ sở dữ liệu thông thương thì thông tin thường
được biểu diễn dưới dạng các bảng, trong dó mỗi hang biểu diễn thông tin về một đối
tượng, mỗi cột biểu diễn thông tin về một thuộc tính của đối tượng. Tứ đầu những năm
80 Pawlak đã định nghĩa một khái niệm mới là hệ thông tin (infomation system) dựa
trên khái niệm bảng truyền thống như sau [2,5,10,12]:
Đinh nghĩa 1: Hệ thông tin là một cặp A = (U,A).
Trong đó:
U : là một tập hữu hạn khác rỗng các đối tượng.
A : là một tập hữu hạn khác rỗng các thuộc tính.
a: U → Va với mọi a ∈ A. Tập Va được gọi là tập giá trị của
thuộc tính a.
Ví dụ: Có một hệ thông tin được biểu diễn như bảng sau: Trong bảng có 7 đối tượng
và có 3 thuộc tính là số lần mang thai của bệnh nhân (1), lượng glucose trong huyết
tương sau 2 giờ uống thuốc (2), tuổi của bệnh nhân (8).
Mỗi đối tượng của bảng là một bệnh nhân