Kỹ thuật Khai phá tri thức và Khai phá dữ liệu đã và đang được nghiên cứu, ứngdụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuậtnày tương đối còn mới mẻ
Trang 1ĐẠI HỌC ĐÀ NẴNG
- -TIỂU LUẬN MÔN HỌC
Đề tài:
TÌM HIỂU KHAI PHÁ TRI THỨC VÀ
XÂY DỰNG HỆ CHUYÊN GIA CHẨN ĐOÁN VÀ ĐIỀU TRỊ BỆNH BẰNG THUỐC ĐÔNG Y
Giáo viên hướng dẫn: PGS.TS Phan Huy Khánh
Nhóm HVTH (Nhóm 1):
Lê Trọng Hiền Huỳnh Xuân Tuy
Lê Tự Quốc Lớp: Khoa học máy tính K11 (2009 – 2011)
Đà Nẵng, tháng 04 năm 2010
Trang 2LỜI MỞ ĐẦU
Ngày nay, khoa học kỹ thuật phát triển trên mọi lĩnh vực, đặc biệt là lĩnh vựccông nghệ thông tin Chúng ta đã hoà nhập vào thị trường toàn cầu Do vậy, lĩnh vựccông nghệ thông tin sẽ là một lĩnh vực quan trọng thúc đẩy các lĩnh vực khác cùngphát triển
Công nghệ Thông tin (CNTT) được ứng dụng trong nhiều lĩnh vực của đời sốngnhư kinh tế, chính trị, xã hội, văn hóa cũng như trong những lĩnh vực nghiên cứukhoa học khác Do vậy, dung lượng dữ liệu đã được các cơ quan thu thập và lưu trữngày một tích luỹ nhiều lên Họ lưu trữ các dữ liệu này vì cho rằng trong nó ẩn chứanhững giá trị nhất định nào đó
Kỹ thuật Khai phá tri thức và Khai phá dữ liệu đã và đang được nghiên cứu, ứngdụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuậtnày tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứngdụng
Mỗi lĩnh vực hoạt động cần có một chuyên gia để hỗ trợ tư vấn trong quá trìnhhoạt động Việc áp dụng hệ chuyên gia là một việc rất quan trọng, chúng ta có thể tạo
ra một chuyên gia thật sự trên một lĩnh vực nào đó Từ đó chúng ta có thể xây dựngnhiều chuyên gia khác nhau trên tất cả các lĩnh vực để phục vụ đời sống xã hội
Chữa bệnh bằng cây thuốc nam giới thiệu với các bạn những bài thuốc cổ truyền,nhưng vị thuốc sẵn có trong tự nhiên, quanh khu vườn nhà bạn Cách sử dụng các vịthuốc này ra sao Các vị thuốc tự nhiên ấy nếu biết tận dụng để chữa và trị bệnh, sẽgiúp ích rất nhiều cho đời sống hằng ngày
Hệ chuyên gia chẩn đoán và điều trị bệnh bằng thuốc đông y sẽ giúp ích cho cácbạn trong việc chẩn đoán và điều trị các bệnh thường gặp
Do thời gian thực hiện đề tài và trình đọ của mỗi thành viên trong nhóm còn hạnchế nên hệ chuyên gia này chưa thể đáp ứng được cho tất cả các loại bệnh Nhómchúng tôi rất mong nhận được sự đóng góp ý kiến các bạn để đề tài được tốt hơn.Xin chân thành cảm ơn Thầy giáo PGS.TS Phan Huy Khánh đã giảng dạy vàgiúp đỡ để chúng tôi hoàn thành tiểu luận này
Trang 3PHẦN A: LÝ THUYẾT
1.1 Tổng quan về kỹ thuật khai phá tri thức (Knowledge Discovery)
Ngày nay, Công nghệ Thông tin (CNTT) được ứng dụng trong nhiều lĩnh vựccủa đời sống như kinh tế, chính trị, xã hội, văn hóa cũng như trong những lĩnh vựcnghiên cứu khoa học khác Do vậy, dung lượng dữ liệu đã được các cơ quan thu thập
và lưu trữ ngày một tích luỹ nhiều lên Họ lưu trữ các dữ liệu này vì cho rằng trong nó
ẩn chứa những giá trị nhất định nào đó
Tuy nhiên, chỉ có từ 5 – 10% dung lượng dữ liệu này thường được phân tích, sốcòn lại họ không biết sẽ phải làm gì hoặc có thể làm gì với chúng nhưng họ vẫn tiếptục thu thập rất tốn kém với ý nghĩ lo sợ rằng sẽ có cái gì đó quan trọng đã bị bỏ quasau này có lúc cần đến nó Mặt khác, trong môi trường cạnh tranh, người ta ngày càngcần có nhiều thông tin với tốc độ nhanh để trợ giúp việc ra quyết định và 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
đã có Với những lý do như vậy, các phương pháp quản trị và khai thác cơ sở dữ liệutruyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynhhướng kỹ thuật mới đó là Kỹ thuật khai phá tri thức và khai phá dữ liệu (KDD -Knowledge Discovery and Data Mining)
Kỹ thuật Khai phá tri thức và Khai phá dữ liệu đã và đang được nghiên cứu, ứngdụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuậtnày tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng
Trang 41.1.1 Khai phá tri thức là gì?
Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số, các ký hiệu,hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dướimột dạng nhất định Chúng ta sử dụng các bit để đo lường các thông tin và xem nó như
là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưngmột cách cơ bản cho dữ liệu Chúng ta có thể xem tri thức như là các thông tin tíchhợp, bao gồm các sự kiện và các mối quan hệ giữa 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ói cách khác, tri thức cóthể được coi là dữ liệu có độ trừu tượng và tổ chức cao
Thông tin và tri thức hiện đang là tiêu điểm của một lĩnh vực mới trong nghiêncứu và ứng dụng về khai phá tri thức (Knowledge Discovery) và khai phá dữ liệu(Data Mining)
Khai phá tri thức trong các cơ sở dữ liệu là một qui trình nhận biết các mẫu hoặccác mô hình trong dữ liệu với các tính năng: hợp thức, mới, khả ích, và có thể hiểuđược
1.1.2 Qui trình khai phá tri thức
Qui trình khai phá tri thức được mô tả tóm tắt trên Hình 1:
Có sẵn khối dữ liệu lớn:
- Các CSDL khổng lồ
- Dữ liệu từ Internet
Trang 5Hình 1 Quy trình khai phá tri thức
Bước thứ nhất là tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước này sẽquyết định cho việc rút ra được các tri thức hữu ích và cho phép chọn các phương phápkhai phá dữ liệu thích hợp với mục đích ứng dụng và bản chất của dữ liệu
Bước thứ hai là thu thập và xử lý thô, còn được gọi là tiền xử lý dữ liệu nhằmloại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút gọn dữ liệu nếu cần thiết,bước này thường chiếm nhiều thời gian nhất trong toàn bộ qui trình khai phá tri thức
Bước thứ ba là khai phá dữ liệu, hay nói cách khác là trích ra các mẫu hoặc/vàcác mô hình ẩn dưới các dữ liệu
Bước thứ tư là hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô tả và dựđoán Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được có thể được lấytrung bình trên tất cả các lần thực hiện
Trang 6Hình 2: Tiến trình KDD (Knowledge discovery in databases) tiêu biểu
1.1.3 Các phương pháp khai phá dữ liệu
Với hai đích chính của khai phá dữ liệu là dự đoán (Prediction) và Mô tả(Description), người ta thường sử dụng các phương pháp sau cho khai phá dữ liệu:
- Phân loại (Classification)
- Hồi qui (Regression)
- Phân nhóm (Clustering)
- Tổng hợp (Summarization)
- Mô hình ràng buộc (Dependency modeling)
- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection)
- Biểu diễn mô hình (Model Representation)
- Kiểm định mô hình (Model Evaluation)
- Phương pháp tìm kiếm (Search Method)
Một quá trình KPDL bao gồm năm giai đoạn chính sau
(1) Tìm hiểu nghiệp vụ và dữ liệu
(2) Chuẩn bị dữ liệu
(3) Mô hình hóa dữ liệu
(4) Hậu xử lý và đánh giá mô hình
(5) Triển khai tri thức
Data mining
Data mining
Input data
Input data Results Results
Postprocessin g
Operational Database
Operational Database Sel ect ion
Sel ect ion
Sel ect
ion
Sel ect ion
Utilization
Utilization
Eval of interes- tingness
Raw data
Time based selection
Selected usable
pattern s
Trang 7Quá trình này có thể được lặp lại nhiều lần một hay nhiều giai đoạn dựa trênphản hồi từ kết quả của các giai đoạn sau Tham gia chính trong quá trình khai phá dữliệu là các nhà tư vấn và phát triển chuyên nghiệp trong lĩnh vực khai phá dữ liệu.
Hình 3 Giao diện trực quan của môi trường KPDL Clementine
1.1.4 Các lĩnh vực liên quan đến Khai phá tri thức
Khai phá tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực:thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán học, tính toán song song và tốc độcao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu Đặc biệt khai phá trithức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử dụng các phương phápthống kê để mô hình dữ liệu và khai phá các mẫu, luật Ngân hàng dữ liệu (DataWarehousing) và các công cụ phân tích trực tuyến (OLAP) cũng liên quan rất chặt chẽvới khai phá tri thức và khai phá dữ liệu
1.1.5 Các ứng dụng của Khai phá tri thức
- Thông tin thương mại:
o Phân tích dữ liệu marketing, khách hàng
o Phân tích đầu tư
o Phê duyệt cho vay vốn
o Khai phá gian lận
o Thông tin kỹ thuật:
Trang 8o Điều khiển và lập lịch trình
o Quản trị mạng
o Phân tích các kết quả thí nghiệm
- Thông tin khoa học
- Thông tin cá nhân
1.1.6 Các thách thức với Khai phá tri thức và khai phá dữ liệu
- Các cơ sở dữ liệu lớn
- Số chiều lớn
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã khai phá không cònphù hợp
- Dữ liệu bị thiếu hoặc nhiễu
- Quan hệ giữa các trường phức tạp
- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
- Tích hợp với các hệ thống khác
1.2 Các ứng dụng cụ thể áp dụng kỹ thuật khai phá tri thức
1.2.1 Ứng dụng trong bài toán dự báo từ thông tin kinh tế - xã hội
Trong ứng dụng, nhóm sẽ lấy một bài toán dự báo về dân số thế giới đến năm
2015 dựa trên những số liệu thống kê dân số thế giới từ năm 1950 - 2002 bằng phươngpháp hồi quy (Regression) Mặc dù số lượng các dữ liệu không lớn như trong các dữliệu kinh tế - xã hội khác, nhưng bài toán này cũng cho ta thấy các mô hình phân tíchkhác nhau và các kết quả khác nhau khi khai phá những dữ liệu đó
Để đơn giản, ta không đề cập đến bước thu thập và tiền xử lý dữ liệu, các dữ liệutại bảng dưới được coi là hoàn thiện trong bài toán này Mặt khác, các dữ liệu thực tếđược tính vào giữa các năm do vậy các dữ liệu dân số ta tính toán cũng được hiểungầm định là vào giữa năm
Sau khi thực hiện khai phá dữ liệu dân số bằng phương pháp hồi qui đơn với bốn
mô hình khác nhau: Linear (hàm tuyến tính), Logarit (hàm lôgarit tự nhiên),Polynomial (hàm đa thức - trong ví dụ này ta chọn đa thức bậc 2), Exponential (hàmmũ), ta xác định được kết quả (Xem bảng 2, 3, hình 2, 3, 4, 5)
Trang 9Hình 4 Đồ thị biểu diễn dân số thế giới thực tế và lý thuyết theo năm với môhình Linear
Hình 5 Đồ thị biểu diễn dân số thế giới thực tế và lý thuyết theo năm với môhình Logarit (Ln)
Trang 10Hình 6 Đồ thị biểu diễn dân số thế giới thực tế và lý thuyết theo năm với mô
hình Polynomial
Hình 7 Đồ thị biểu diễn dân số thế giới thực tế và lý thuyết theo năm với mô
hình ExponentialTrong các kết quả đó, ta thấy mô hình đa thức bậc 2 - Polynomial có độ tươngquan cao hơn các mô hình khác, do vậy, trong trường hợp cụ thể này ta có thể sử dụng
Trang 11các kết quả dự báo của mô hình này Tác giả xin dừng tại đây và không đi sâu phântích việc áp dụng dữ liệu đã dự báo được vào các lĩnh vực khác nhau.
1.2.2 Ứng dụng kỹ thuật mạng Noron trong khai phá dữ liệu tối ưu hiệu suất
lò hơi ở nhà máy
Mạng noron và khai phá dữ liệu là hai lĩnh vực đã được nghiên cứu nhiều ởnước ta nhằm áp dụng vào các ngành công nghiệp nặng Nước ngoài thì vấn đề này rấtđược quan tâm Mới đây, trong hội thảo khách hàng của hãng General Electricvào tháng 08 năm 2008, Stephen Kwan đã giới thiệu phần mềm Kn3, phần mềmchuyên dụng trong tối ưu nhà máy năng lượng và các ứng dụng khác nhằm làmtăng hiệu suất, giảm khí thải ô nhiễm môi trường
Với bộ quản trị dữ liệu giúp khai phá dữ liệu, mạng noron mô hình hóa đốitượng, bảng tập luật và các thuật toán di truyền xác định luật điều khiển, tạo trithức, bộ điều khiển đa biến thực hiện tối ưu…
Trang 12GIAI ĐOẠN KIỂM THỬ
Các thông số tối ưu hệ thống được đưa vào hàm điều khiển để thực nghiệm kiểm tra tính chính xác cũng như tính toán hiệu
quả
Tốt
GIAI ĐOẠN HIỆN THỰC
Hệ thống sẽ đưa ra thông số hiệu chỉnh cho nhân viên vận hành đặt lại vào hệ thống DCS, những thay đổi thông số này nằm trong khoảng rất nhỏ cho phép nhằm bảo đảm không gây thay đổi đột ngột cũng như luôn luôn kiểm soát được công nghệ
KIỂM TRA KẾT QUẢ
Các thay đổi sau một khoảng thời gian nhất định, được kiểm tra bằng cách đánh giá lại hiệu suất và so sánh với
tình trạng trước đó
TốtChưa tốt
HOÀN THÀNH
Hình 8 Lưu đồ giải thuật của quá trình tối ưu
Trang 13Kết quả đạt được (tham khảo bài báo)
• Dự báo chính xác hiệu suất từ mạng Noron
• Kết quả tối ưu nâng được hiệu suất từ 1 đến 1.5 % trong điều kiện test
1.3 Kết luận
Qua các vấn đề được trình bày trong mục 1 và bài toán ứng dụng trong mục 2,chúng ta nhận thấy với một lượng dữ liệu thực tế nhỏ và với mục đích bài toán cụ thểnhưng ta có thể tiếp cận theo nhiều hướng khác nhau của cùng một phương pháp khaiphá dữ liệu và đạt được kết quả khác nhau, điều đó càng làm sáng tỏ khả năng ứngdụng thực tế to lớn đồng thời với những thách thức đối với kỹ thuật khai phá tri thức
và khai phá dữ liệu trong các bài toán kinh tế - xã hội và trong nhiều lĩnh vực khác
Trang 14BÀI TẬP HỆ CHUYÊN GIA
cụ thể nào đó Các chương trình thuộc loại này đã được phát triển từ các thập kỷ 1960
và 1970, và trở thành ứng dụng thương mại từ thập kỷ 1980 Dạng phổ biến nhất của
hệ chuyên gia là một chương trình gồm một tập luật phân tích thông tin (thường được cung cấp bởi người sử dụng hệ thống) về một lớp vấn đề cụ thể, cũng như đưa ra các phân tích về các vấn đề đó, và tùy theo thiết kế chương trình mà đưa lời khuyên về trình tự các hành động cần thực hiện để giải quyết vấn đề Đây là một hệ thống sử
dụng các khả năng lập luận để đạt tới các kết luận
Theo E Feigenbaum : “Hệ chuyên gia (Expert System) là một chương trình máy
tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedues) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới giải được”.
1.1.2 Hoạt động của một hệ chuyên gia
Một hệ chuyên gia bao gồm ba thành phần chính là cơ sở tri thức (knowledgebase), máy suy diễn hay mô tơ suy diễn (inference engine), và hệ thống giao tiếp vớingười sử dụng (user interface) Cơ sở tri thức chứa các tri thức để từ đó, máy suy diễntạo ra câu trả lời cho người sử dụng thông qua hệ thống giao tiếp
Người sử dụng cung cấp sự kiện (fact) là những gì đã biết, đã có thật hay nhữngthông tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là những lờikhuyên hay những gợi ý đúng đắn (expertise)
Hoạt động của hệ chuyên gia dựa trên tri thức được minh họa như sau:
Người sử dụng(User)
Hệ thống giao tiếp (User Interface)
Cơ sở tri thức(Knowledge Base)Máy suy diễn(Interface Engine)
Trang 15Hình 9: Hoạt động của hệ chuyên giaMỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề (problem domain) nào
đó, như y học, tài chính, khoa học hay công nghệ ,… mà không phải cho bất cứ mộtlĩnh vực vấn đề nào
Tri thức chuyên gia để giải quyết một vấn đề đặc trưng được gọi là lĩnh vực trithức
Hình 10: Quan hệ giữa lĩnh vực vấn đề và lĩnh vực tri thức
1.1.3 Kiến trúc của hệ chuyên gia
Những thành phần cơ bản của một hệ chuyên gia:
Hình 11: Những thành phần cơ bản của một hệ chuyên gia
- Cơ sở tri thức (Knowledge base) Gồm các phần tử (hay đơn vị) tri thức thôngthường được gọi là luật (Rule), được tổ chức như một cơ sở dữ liệu
Trang 16- Máy suy diễn (Inference Egine) Công cụ (chương trình, hay bộ xử lý) tạo ra
sự suy lụân bằng cách sẽ quyết định xem những luật nào sẽ làm thỏa mãn các
sự kiện, các đối tượng, chọn ưu tiên các luật có tính ưu tiên cao nhất
- Lịch công việc (agenda) Danh sách các luật ưu tiên do máy suy diễn tạo rathỏa mãn các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc
- Bộ nhớ làm việc (working memory) Cơ sở dữ liệu toàn cục chứa các sự kiệnphục vụ cho các luậh
- Khả năng giải thích (explaination facility) Giải nghĩa cách lập luận của hệthống cho người sử dụng
- Khả năng thu nhận tri thức (explaination facility) Cho phép người sử dụng bổsung các tri thức vào hệ thống một cách tự động thay vì tiếp nhận tri thức vào
hệ thống một cách tự động thay vì tiếp nhận tri thức vào hệ thống bằng cách
mã hóa tri thức một cách tường minh Khả năng thu nhận tri thức là yếu tốmặc nhiên của nhiều hệ chuyên gia
- Giao diện người sử dụng (User interface) Là nơi người sử dụng và hệ chuyêngia trao đổi với nhau
Cơ sở tri thức còn được gọi là bộ nhớ sản xuất (production memory) trong hệchuyên gia Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là trithức phán đoán (assertion knowledge) và tri thức thực hành (operating knowledge).Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được thiếtlập Các tri thức thực hành thể hiện những hậu quả rút ra hay những thao tác cần phảihoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vựcđang xét Các tri thức thực hành thường được thể hiện bởi các biểu thức để dễ hiểu và
dễ triển khai thao tác đối với người sử dụng
Hình 12: Quan hệ giữa máy suy diễn và cơ sở tri thức
Máy suy diễn
Cơ sở tri thứcTri thức phán đoánTri thức thực hành