ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
HÀN MINH CHÂU
ÁP DỤNG THUẬT TOÁN ILA ĐỂ RÚT RA TẬP
LUẬT BỆNH SỎI THẬN
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01.01
KHÓA LUẬN TỐT NGHIỆP THẠC SĨ
TP.HỒ CHÍ MINH – 2013
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
HÀN MINH CHÂU
ÁP DỤNG THUẬT TOÁN ILA ĐỂ RÚT RA TẬP
LUẬT BỆNH SỎI THẬN
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01.01
GVPT: GS.TSKH. HOÀNG VĂN KIẾM
TP.HỒ CHÍ MINH – 2013
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn sự hướng dẫn, giúp đỡ của quý Thầy Cô giảng dạy trong
trường Đại học Công nghệ thông tin, Đại học Quốc Gia Tp.HCM.
Tôi xin gởi lời cảm ơn chân thành nhất đến thầy GS.TSKH.Hoàng Văn Kiếm, đã tận tình
giúp đỡ, khuyến khích, truyền đạt những kiến thức quý báu trên đường học tập, nghiên
cứu, tạo cơ sở cho việc hoàn thành khóa luận tốt nghiệp.
Mặc dù đã cố gắng rất nhiều trong việc thực hiện khóa luận, song với thời gian có hạn và
mức độ nghiên cứu của bản thân còn hạn chế nên không thể không có những thiếu sót,
mong nhận được sự đóng góp ý kiến quý báu của quý Thầy Cô và các bạn.
Tôi xin chân thành cảm ơn.
Tp.HCM, ngày 30 tháng 10 năm 2013.
Hàn Minh Châu
MỤC LỤC
DANH MỤC HÌNH
DANH MỤC BẢNG
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
ILA Inductive Learning Algorithm
ID3 Iterative Dichotomiser 3
UIV Urographie Intra Veineuse
UPR Ureteropyelographie retrograde
MỞ ĐẦU
1. Phát biểu vấn đề nghiên cứu
Hiện nay, tỷ lệ người mắc bệnh sỏi thận rất cao và bệnh sỏi thận giai đoạn đầu
hầu hết xảy ra giữa tuổi 30 và 60. Tỷ lệ mắc bệnh cho đàn ông chưa từng mắc bệnh
sỏi thận bao giờ là từ 3 tới 4 trường hợp cho 1000 người trong một năm giữa tuổi 30
và 60 và giảm dần với tuổi. Đối với đàn bà tỷ lệ cao nhất giữa tuổi 20 và 30 (khoảng
2 cho 1000 người mỗi năm) và giảm xuống 1 cho 1000 đàn bà trong một năm cho
10 năm sau.
Những cuộc nghiên cứu mới đây thông báo sự mắc bệnh sỏi thận tái hồi từ 30%
– 50% trong 5 năm. Tỷ lệ bệnh tái phát đối với đàn ông được báo cáo là 3 lần cao
hơn đối với đàn bà. Tuy nhiên, những sự kiện lấy từ những nghiên cứu có kiểm soát
ngẫu nhiên cho thấy tỷ lệ tái phát bệnh thấp hơn, từ 2 cho 100 người một năm cho
tới 5 cho 100 người một năm.
Với kết quả trên cho ta thấy bất kỳ ai cũng có thể mắc bệnh sỏi thận nhưng có
thể ta không biết rằng mình bị sỏi thận hay bị các chứng bệnh khác cho đến khi nó
gây đau đớn hoặc là sỏi lớn và chặn đường tiểu hoặc đôi khi đi tiểu ra sỏi mới biết.
Một số người khi thấy đau lưng hay nghĩ đến bị sỏi thận. Điều này hoàn toàn chưa
hẳn là đúng. Và một khi đã mắc phải bệnh sỏi thận thì khả năng tái phát rất cao nếu
không chẩn đoán và điều trị kịp thời sẽ dẫn đến nhiều biến chứng nặng nề, đặc biệt
nghiêm trọng là có thể gây suy thận và cuối cùng dẫn đến tử vong. Tuy nhiên, trong
quá trình hoạt động chẩn đoán và điều trị bệnh sỏi thận, con người tạo ra một khối
lượng lớn các dữ liệu nghiệp vụ. Các tập dữ liệu được tích lũy có kích thước ngày
càng lớn, và có thể chứa nhiều thông tin ẩn dạng những quy luật chưa được khám
phá. Chính vì vậy, một nhu cầu đặt ra là cần tìm cách trích rút từ tập dữ liệu đó các
luật về phân lớp dữ liệu hay dự đoán những xu hướng dữ liệu tương lai. Những quy
tắc nghiệp vụ thông minh được tạo ra sẽ phục vụ đắc lực cho các hoạt động thực
tiễn, cũng như phục vụ đắc lực cho quá trình nghiên cứu khoa học. Khai phá dữ liệu
để rút ra các tập luật cũng ra đời để đáp ứng nhu cầu đó.
Khai phá dữ liệu là việc tìm kiếm các mối quan hệ và các quy tắc chung mà nó
tồn tại trong tập các dữ liệu lớn. Khai phá dữ liệu là một nội dung quan trọng trong
lĩnh vực máy học thuộc phạm vi nghiên cứu của ngành khoa học công nghệ tri thức.
Một trong các vấn đề chính của khai phá dữ liệu là số lượng các mối quan hệ có thể
có là rất lớn, đây chính là trở ngại cho việc kiểm tra từng mối quan hệ một để tìm
xem quan hệ nào đúng. Vì vậy ta cần phải có các công cụ khai phá dữ liệu thông
minh và hiệu quả để áp dụng việc khai phá dữ liệu đưa vào thực tế được.
Bài toán được đặt ra trong lĩnh vực y khoa về căn bệnh sỏi thận là từ một mẫu cơ
sở dữ liệu của bệnh sỏi thận, làm sao máy tính có thể phát hiện ra tính quy luật
trong mẫu dữ liệu đó và giúp con người đưa ra các quyết định nhanh chóng và
chuẩn xác, có thể ứng dụng để giải quyết vấn đề thực tế về căn bệnh sỏi thận.
Trong khóa luận này tôi xin trình bày việc “
áp dụng giải thuật ILA rút ra tập luật
bệnh sỏi thận
”, một giải thuật mới có tính chất đệ qui dùng trong lĩnh vực máy học.
Giải thuật này giúp cho việc tìm ra các luật dẫn từ tập các dữ liệu đầu vào. Tôi cũng
xin trình bày ứng dụng của ILA trên các tập dữ liệu có số lượng các thuộc tính và
nhiều lớp khác nhau và đồng thời so sánh với giải thuật ID3 để thấy được hiệu quả
của giải thuật ILA. Các kết quả đạt được cho thấy rằng ILA có tính tổng quát và
mạnh mẽ hơn hầu hết các giải thuật máy học đệ quy khác.
Trang 7
2. Ý nghĩa khoa học và thực tiễn
Nhận thấy tầm quan trọng của bệnh sỏi thận cũng như sự nguy hiểm của nó nên
khóa luận tập trung vào việc khai thác dữ liệu từ tập mẫu các triệu chứng liên quan
đến căn bệnh sỏi thận bằng cách áp dụng giải thuật học máy ILA nhằm góp phần:
- Tìm ra các luật dẫn từ tập các dữ liệu đầu vào.
- Phục vụ cho quá trình nghiên cứu cũng như dự đoán xu hướng dữ liệu tương
lai.
- Tìm kiếm các kiến thức chưa biết nhưng rất có thể cực kỳ quý giá còn tìm ẩn
trong các cơ sở dữ liệu.
- Tạo được các luật dẫn để dùng cho các hệ chuyên gia.
- Hướng người bệnh đến quá trình điều trị kịp thời đúng, nhanh nhất, hiệu quả
nhất khi chưa có các biến chứng và đồng thời cũng giảm bớt gánh nặng cho gia đình
và xã hội.
Để hiện thực những mục tiêu được đặt ra cho đề tài, ta hạn chế phạm vi nghiên
cứu trong những giới hạn sau: Chỉ xây dựng một lượng nhỏ các tập mẫu được rút
trích từ các kiến thức y khoa căn bản của bệnh sỏi thận. Từ đó xây dựng một phần
mềm để rút ra các tập luật với giao diện thân thiện và phù hợp với người dùng.
3. Tổng lược các kết quả đã có
Một trong những nguyên nhân làm cho trí tuệ nhân tạo trở thành một trong
những lĩnh vực mũi nhọn trong thời đại hiện nay là việc làm cho máy tính trở nên
thông minh hơn, nói cụ thể hơn là người ta tìm cách tạo ra các chương trình thông
minh hơn có khả năng giải quyết các vấn đề thực tế như cách giải quyết của con
người.
Trong y khoa một trong các phương pháp học máy đệ quy cũng thường dùng là
đi xây dựng cây quyết định (decision tree). Phương pháp dựa vào cây quyết định để
học bằng cách phân lớp được yêu thích bởi vì có thể đem lại kết quả và chấp nhận
được cơ sở dữ liệu đầu vào lớn. Tuy nhiên phương pháp này không bảo đảm rằng
các luật dẫn sinh ra là các luật dẫn phổ biến nhất của cơ sở dữ liệu vào.
Trong thời gian gần đây, các ứng dụng của khai phá dữ liệu đã đạt được các
thành quả đáng kể. Các nhà nghiên cứu đã phát triển và ứng dụng kỹ thuật máy học
vào các hệ thống tự động tìm ra tri thức từ tập cơ sở dữ liệu đầu vào lớn, nhờ đó đã
học được các luật dẫn để dùng cho các hệ chuyên gia [6]. Lĩnh vực nghiên cứu về
khai phá dữ liệu và về máy học có những điểm chung là vì chúng đều có mục đích đi
tìm kiếm các kiến thức chưa biết nhưng rất có thể cực kỳ quý giá còn tìm ẩn trong
các cơ sở dữ liệu [4]. Theo [7] mối quan hệ của hai lĩnh vực này có thể được miêu tả
ngắn gọn là: khi đầu vào của máy học là cơ sở dữ liệu thì quá trình học dữ liệu đó
chính là quá trình khai phá dữ liệu.
Giải thuật nổi tiếng nhất sử dụng cây quyết định với cách phân hoạch được cải
tiến cho phù hợp với tập dữ liệu vào là giải thuật cây định danh của Quinlan (tên viết
tắt là giải thuật ID3)[9].
Giải thuật ID3 là một giải thuật dùng kỹ thuật xây dựng cây quyết định từ trên
xuống và không quay lại các phần của cây đã đi qua. Một trong các nhược điểm của
giải thuật ID3 là cây quyết định khi tạo ra còn mang tính chất gượng ép, không hoàn
toàn phù hợp với tập dữ liệu vào. Lý do là vì việc phân chia dữ liệu theo kiểu bậc
thang từ trên xuống chỉ cố gắng tối ưu hóa từng bước riêng rẽ, chứ không dựa vào
dữ liệu toàn cục. Điều này dẫn đến cây quyết định tạo ra không nói lên được các tính
chất chung nhất của dữ liệu vào, vì khi xây dựng cây có thể đã dựa vào các điều kiện
không liên quan hay không cần thiết. Nhược điểm này còn ảnh hưởng đến khả năng
phân lớp dữ liệu khi có các thuộc tính không chứa đầy đủ dữ liệu. Một nhược điểm
Trang 8
nữa của giải thuật ID3 liên quan đến việc chạy giải thuật này trên máy tính. Khi tập
dữ liệu đầu vào rất lớn thì nó không thể được load cùng lúc vào bộ nhớ. Lúc này giải
thuật sẽ làm việc với “đại diện” của chúng dưới hình thức các cửa sổ dữ liệu. Cây
quyết định sinh ra trong trường hợp này không bảo đảm là giống được cây quyết
định của tập dữ liệu đầu vào nguyên thủy. Hay nói cách khác cây sinh ra không phân
lớp một cách đúng đắn toàn bộ tập dữ liệu vào.
Trong khóa luận này ta áp sử dụng giải thuật ILA (Inductive Learning Algorithm)
[8] là giải thuật đệ quy trực tiếp sinh các luật dẫn có dạng IF-THEN, theo phương
pháp từ tổng quát tới chi tiết, có nghĩa là bắt đầu sinh ra các luật dẫn tổng quát nhất
có thể được rồi mới tới các luật dẫn có tính tổng quát kém hơn. Khi rút trích ra các
luật dẫn, giải thuật ILA loại bỏ được các trường hợp không cần thiết hay không có
liên quan nên các luật dẫn sinh ra đơn giản hơn và tổng quát hơn so với các luật dẫn
của giải thuật ID3. Trong hầu hết các trường hợp, giải thuật ILA cũng sinh ra số
lượng luật dẫn ít hơn. Tính tổng quát của các luật dẫn giúp cho khả năng phân lớp
của ILA mạnh hơn. Một luật dẫn sẽ trở nên tổng quát hơn nếu vế trái của mệnh đề
IF có ít điều kiện hơn. Một luật dẫn tổng quát còn có thể giúp cho việc phân lớp trên
tập dữ liệu vào chưa đầy đủ như khi có một hay nhiều thuộc tính chưa có dữ liệu.
Luật dẫn sinh ra từ giải thuật ILA chính là hiện thân của các quy luật tổng quát hàm
chứa trong cơ sở dữ liệu. Các luật dẫn này có thể được dùng để giúp cho ta hiểu biết
thêm những điều tiềm ẩn bên dưới của cơ sở dữ liệu.
Trong chương II, chúng ta sẽ tìm hiểu kỹ hơn về giải thuật ILA và chúng ta phân
tích một số ví dụ và kết quả của giải thuật ILA so với giải thuật ID3. Từ đó áp dụng
ILA vào việc giải quyết bài toán nêu ra.
Trang 9
CHƯƠNG 1
TỔNG QUAN VỀ BỆNH SỎI THẬN
1.1 Sơ lược về bệnh sỏi thận
1.1.1 Quá trình hình thành bệnh sỏi thận
Sỏi thận được tạo thành bởi muối và chất khoáng trong nước tiểu kết lại với
nhau để hình thành những “hòn sỏi” nhỏ. Chúng có thể nhỏ như hạt cát hay lớn như
trái banh golf. Chúng có thể lưu lại cơ thể trong thận hay đi ra khỏi cơ thể thông qua
đường tiểu. Đường tiểu là hệ thống tạo ra nước tiểu và thải nó ra ngoài cơ thể. Nó
được hình thành từ thận, ống dẫn nối thận với bàng quang, bàng quang, và ống dẫn
nước tiểu từ bàng quang ra ngoài cơ thể (niệu đạo) [2].
Trong nước tiểu chứa một lượng lớn các chất hòa tan. Đa số những chất này ít
tan và ngay khi dư thừa chúng sẽ tạo thành các tinh thể. Các tinh thể này tăng
trưởng trong một thời gian và trở thành sỏi thận.
Phần lớn các trường hợp sỏi thận hình thành do lượng nước quá ít (từ việc
mất nước do uống ít nước hoặc tập thể thao quá sức), sự thừa khoáng tinh thể trong
nước tiểu, và/hoặc mức khoáng chất phân nhỏ hơn mức bình thường trong nước
tiểu. Các khoáng chất như canxi, oxalate, uric axit, Natri, cystine hay phốt-pho kết
thành một khối rắn và đó chính là sỏi thận. Sỏi thận cũng có thể ra ngoài qua đường
tiểu, nhưng cũng có thể ở trong thận, bàng quang hay niệu đạo.
Nói chung sỏi nhỏ có thể tự ra ngoài mà không ảnh hưởng gì, nhưng nếu sỏi
lớn, có thể bị mắc lại trên đường ra và sẽ cần phải có sự trợ giúp của bác sỹ chuyên
khoa để lấy sỏi ra ngoài.
Điều quan trọng là phải chẩn đoán sớm và tìm ra nguyên nhân gây sỏi thận
và loại sỏi thận, từ đó mới tìm được cách chữa trị tốt nhất và cách phòng tránh. Nếu
một người đã từng bị sỏi thận, rất có khả năng sẽ bị hình thành sỏi tiếp. Sỏi tiết niệu
có thể gây cản trở cho thận trong việc loại bỏ các chất độc hại. Một viên sỏi trong
thận cũng có thể xù xì, lởm chởm hoặc có các cạnh sắc nhọn và có thể làm tổn
thương tạo nên những vết sẹo trong thận, dẫn đến thận bị hỏng và nguy hiểm hơn
gây nên suy thận.
1.1.2 Các hóa chất tạo thành sỏi thận
Bình thường các tinh thể gồm canxi, phosphate, oxalate, uric acid và cystine,
nhưng sự có mặt của các tinh thể trong nước tiểu không phải lúc nào cũng dẫn đến
sự hình thành sỏi thận.
- Ở người bình thường: Các tinh thể phosphate canxi, oxalate canxi và acid
uric trong nước tiểu của người bình thường luôn có khuynh hướng thải ra ngoài.
Phần lớn những hóa chất này có trong nước tiểu với nồng độ thấp hơn mức hòa tan
của chúng, nên chúng có thể hòa tan trong dung dịch mà không tạo thành tinh thể.
- Nước tiểu của người bị sỏi thận chứa những hóa chất này thường xuyên hơn
và chúng có khuynh hướng tạo thành tinh thể dể dàng hơn ở những người bình
thường.
- Thận lọc máu, loại bỏ phần nước dư thừa, các chất thải từ máu và biến nó
thành nước tiểu. Nước tiểu tạo thành trong tất cả các bộ phận chức năng của thận,
được tập hợp lại trong một khoang chứa được gọi là bể thận. Do đó sỏi có thể được
tạo thành ở bất cứ nơi đâu trong bể thận. Trong các niệu quản hay trong bàng
quang. Chúng có thể có nhiều kích cở khác nhau, từ bằng hạt gạo cho đến bằng
nắm tay.
1.1.3 Những yếu tố làm tăng nguy cơ sỏi thận
• Những yếu tố chung
Trang 10
Giảm nồng độ của các hóa chất như magiê, citrate, pyrophosphate…
Những chất này kiềm chế sự tạo thành tinh thể trong nước tiểu.
Tăng nồng độ của các hoá chất như: canxi, phosphate, oxalate, axít uric
va cystine…Những chất này thúc đẩy sự tạo thành tinh thể trong nước
tiểu.
Uống ít nước.
Phơi nắng nhiều và tiết mồ hôi quá mức
Có thành viên trong gia đình bị sỏi thận, đặt biệt là những người cùng
huyết thống.
Bị căng thẳng (strees)
Thải lượng nước tiểu ít hơn 1 lít/ngày
Có kiểu sống ít vận động (ngồi nhiều).
Ăn nhiều sản phẩm sữa.
Ăn nhiều thịt động vật, các thực phẩm có tính axít, các thực phẩm gây
táo bón và chất xơ không đầy đủ.
Sự nín tiểu cũng có thể làm xấu thêm tình hình hoặc gây bệnh sỏi thận.
• Những yếu tố căn bản
Tăng cường hoạt động của các tuyến cận giáp, chúng tạo ra hoóc mon
làm tăng mức canxi trong máu bằng cách huy động canxi từ xương.
Tăng mức axít oxalic hay các oxalate trong nước tiểu do sự thiếu hụt có
tính di truyền 1 men cần thiết để tiêu hoá axít oxalic hoặc sự rối loạn hấp
thu chất béo từ ruột non.
Rối loạn các ống nhỏ trong thận.
Sự có mặt bất thường của một axít amin có tên là cystine trong nước
tiểu.
Bệnh gút (gout): là một bệnh có liên quan đến khiếm khuyết bẩm sinh
trong việc sử dụng axít uric hoặc chúng làm tăng sự tạo thành axít uric,
hoặc gây cản trở sự bài tiết nó trong nước tiểu.
Bất kỳ sự rối loạn nào cũng dẩn đến sự tắc nghẽn đường tiết niệu.
1.1.4 Các loại sỏi thận
Phần lớn sỏi thận chứa các tinh thể nhiều hơn một loại. Các loại sỏi thận bao gồm
[3]
- Sỏi canxi là loại phổ biến nhất, khoảng 80-90% sỏi thận là canxi oxalat và
canxi phosphat. Lượng canxi dư thừa trong cơ thể được đào thải qua thận, do nồng
độ quá nhiều khó có thể hòa tan trong nước tiểu, nó sẽ kết hợp với các khoáng chất
khác tạo thành sỏi. Những người có lượng vitamin D cao, bị cường tuyến giáp, hay
những người bị suy thận dễ bị sỏi canxi.
- Sỏi phosphat ammonium magnesium do vi khuẩn lên men ure gây nên. Sỏi
thường được hình thành sau khi bị viêm đường tiết niệu mạn tính do tạo ra enzym
làm tăng lượng amoniac trong nước tiểu. Lượng amoniac nồng độ cao làm vi khuẩn
có thể phát triển nhanh hơn tạo điều kiện cho sỏi khuẩn hình thành. Sỏi khuẩn
thường có nhiều cạnh nhọn, với kích thước lớn làm tổn thương đến thận.
- Sỏi acid uric hình thành do quá nhiều axit uric trong nước tiểu. Khi lượng axit
tăng cao, khoáng chất hình thành kết hợp với canxi và oxalat tạo nên sỏi. Chế độ ăn
giàu chất đạm động vật, người bị bệnh gút có nguy cơ bị sỏi urat cao.
- Sỏi cystine hiếm gặp hơn vì sỏi này thường bị do di truyền. Cystine là một
loại amino acid. Một vài người bị bệnh xistine niệu làm cho thận không thể hút lại
xistine vào trong máu. Xistine không được hoà tan tốt trong nước tiểu, vì vậy những
Trang 11
dư thừa sẽ tạo thành khối rắn là sỏi cystine. Những người bị bệnh này thường được
phát hiện ngay từ khi còn trẻ và sẽ được tiếp tục theo dõi chữa trị.
1.1.5 Triệu chứng của bệnh sỏi thận
Bình thường sỏi thận có rất ít triệu chứng bên ngoài. Chỉ đến khi sỏi di chuyển
vào niệu quản, đường tiết niệu bị kích thích đưa đến co thắt, bóp chặt hòn sỏi dẫn
đến tắc đường tiểu gây nước tiểu bị ứ đọng, tăng áp lực đột ngột làm xuất hiện các
cơn đâu quặn thận. Đầu tiên là những cơn đau ê ẩm vùng thắt lưng, tình trạng đau
tăng lên khi vận động nặng, đi đường dài, đạp xe đạp … Dưới đây là một số dấu
hiệu cần lưu ý:
Đau dữ dội có khi đau âm ĩ
Cảm giác đau dữ dội, mãnh liệt, cảm giác bị co thắt bên trong, lăn lộn, không
nằm ở tư thế nào để giảm đau, người bệnh bị nôn và thường xuyên buồn nôn.
Thường là đau xuất hiện ở vùng hố sườn lưng một bên hay hai bên, cả vùng
hạ sườn. Đau có thể lan từ hố thắt lưng lan xuống dưới hoặc ra phía trước đến hố
chậu rồi bộ phận sinh dục ngoài và mặt trong đùi.
Tiểu tiện ra máu
Sau cơn đau quặn thận, người bệnh thường bị tiểu ra máu toàn bãi, thường
tái phát khi bệnh nhân rung chuyển nhiều và mạnh, có thể đỡ khi bệnh nhân được
nghỉ ngơi. Ngoài tiểu ra máu, một số bệnh nhân bị tiểu ra mủ, tiểu buốt hay tiểu gắt.
Sốt cao
Nếu bị viêm đài - bể thận, bệnh nhân dễ bị sốt rất cao, có cảm giác rét run.
Khi đó, bệnh nhân cần được xét nghiệm nước tiểu, đo pH, cấy nước tiểu , siêu âm,
chụp thận UIV, UPR hay xét nghiệm máu để có kết luận cụ thể về tình trạng bệnh.
1.1.6 Những xét nghiệm khuyến cáo
Các xét nghiệm máu với các chỉ tiêu urea, huyết thanh creatinine, axít
uric, canxi và phosphate.
Xét nghiệm nước tiểu để phát hiện sự nhiểm trùng nếu có và tìm kiếm sự
có mặt của các tinh thể giúp xác định loại sỏi có mặt trong hệ tiết niệu.
Đôi khi phân tích mẫu nước tiểu được lấy quá 24 giờ để xác định các mức
độ của canxi, phosphate, urate va oxalate.
Chụp X quang và siêu âm vùng bụng để khẳng định sự có mặt của sỏi
thận, xác định kích thước và vị trí của sỏi.
Phép chụp tia X tỉnh mạch bể thận để phát hiện được sự tắc nghẽn trong
hệ tiết niệu.
1.2 Phòng ngừa và hướng điều trị bệnh sỏi thận
Sỏi thận là tình trạng bệnh lý đã được đề cập đến từ rất lâu và là một bệnh
thường gặp, hay hình thành những cơn đau quặn thận, dễ gây biến chứng như
nhiễm khuẩn, suy thận cấp hoặc mạn tính. Tùy theo kích thước, vị trí và biến chứng
của sỏi gây ra mà có các chỉ định phòng ngừa và điều trị can thiệp lấy sỏi khác nhau
[1] [3].
• Uống nước đầy đủ: Uống nhiều nước hơn trong suốt cả ngày. Đối với những người
có tiền sử sỏi thận, các bác sĩ thường khuyên nên khoảng 2,6 lít (2,5 lít) nước tiểu
một ngày. Bác sĩ có thể yêu cầu đo lượng nước tiểu để đảm bảo rằng đang uống đủ
nước. Những người sống trong môi trường nóng, khí hậu khô và những người tập
thể dục thường xuyên có thể cần phải uống nước nhiều hơn để sản xuất đủ nước
tiểu
• Ăn ít thực phẩm giàu oxalat: Nếu có xu hướng hình thành sỏi oxalat canxi, bác sĩ có
thể khuyên nên hạn chế các loại thực phẩm giàu oxalat. Chúng bao gồm đại hoàng,
Trang 12
củ cải đường, đậu bắp, rau bina, củ cải Thụy Sĩ, khoai tây ngọt, trà, sôcôla và các
sản phẩm đậu nành.
• Chọn một chế độ ăn ít muối và protein động vật. Giảm lượng muối ăn và chọn các
nguồn protein không động vật, chẳng hạn như các loại hạt và đậu. Điều này có thể
giúp giảm nguy cơ sỏi thận đang phát triển.
• Tiếp tục ăn thực phẩm giàu canxi, nhưng sử dụng thận trọng với các chất bổ sung
canxi. Các canxi trong thực phẩm ăn không có hiệu lực vào nguy cơ bị sỏi thận. Tiếp
tục ăn thực phẩm giàu canxi, trừ khi bác sĩ tư vấn khác. Hãy hỏi bác sĩ trước khi
uống bổ sung canxi, tuy nhiên, những loại có liên quan đến tăng nguy cơ sỏi thận.
Có thể làm giảm rủi ro bằng cách bổ sung các bữa ăn.
• Dùng thuốc:
- Allopurinol để hạ mức axít uric xuống.
- Hyđro-chlorothiazide làm giảm lượng canxi được thận giải phóng vào nước
tiểu và nhờ thế có thể ngăn cảng sự tạo thành sỏi canxi.
- Sodium cellulose phosphate có tác dụng gắn kết khối canxi trong ruột non
và ngăn cản nó xâm nhập vào nước tiểu.
- Thiola làm giảm lượng cystine trong nước tiểu, thuốc có thể ngăn chặn sự
tái phát của sỏi thận.
- Acetohydroamic axít có thể được đề nghị sử dụng cùng với kháng sinh để
ngăn chặn nhiểm trùng trong trường hợp sỏi không thê lấy ra được do nhiểm trùng.
• Tán sỏi
Sỏi thận với kích thước nhỏ hơn 2cm thường được điều trị bằng phương pháp
tán sỏi ngoài cơ thể, tuy nhiên nếu sỏi nằm ở phía đài dưới của thận thì cho kết quả
kém hơn.
Trong trường hợp sỏi nằm ở vị trí này thì giới hạn chỉ định tán sỏi khi nhỏ hơn
1cm. Phương pháp mổ lấy sỏi qua da vẫn là một cách điều trị tương đối an toàn và
hiệu quả nên được chỉ định cho các trường hợp sỏi thận có kích thước lớn, không có
khả năng tán hoặc lấy sỏi qua nội soi.
Ngày nay, với sự phát triển của nội soi niệu quản thì ngoài phương pháp tán
sỏi ngoài cơ thể cũng có thể lấy sỏi qua nội soi. Chỉ định lấy sỏi qua nội soi phải dựa
vào từng trường hợp cụ thể, thể trạng bệnh nhân, chức năng thận khi phát hiện sỏi
cũng như kinh nghiệm của thầy thuốc và phương tiện của cơ sở điều trị.
Khoảng 50% bệnh nhân mang sỏi nhỏ không có triệu chứng sẽ trở nên có
triệu chứng trong vòng 5 năm. Sỏi san hô ở thận thường liên quan đến nhiễm khuẩn.
Do vậy những trường hợp sỏi to thì nên điều trị ngay khi phát hiện ra sỏi.
Nhiều người bệnh sỏi thận đã đau nhiều nhưng vì họ có mắc đồng thời các
bệnh tim mạch nên rất e dè khi quyết định nội soi, tán sỏi ngoài cơ thể hay phẩu
thuật.
Đối với các trường hợp bị sỏi thận có bệnh tim mạch đi kèm như hở, hẹp van
hai lá, 3 lá, suy tim nếu ở mức độ nhẹ thì vẫn có thể tiến hành tán sỏi ngoài cơ thể
được, ngay cả khi phải phẩu thuật lấy sỏi. Tuy nhiên các trường hợp này cần có sự
phối hợp giữa bác sĩ tim mạch, tiết niệu và ngoại khoa để có được cách đánh giá và
biện pháp điều trị tốt nhất.
• Phẩu thuật
Khi sỏi quá lớn, không thoát ra ngoài được, làm nghẽn dòng nước tiểu, nhiễm
trùng đường tiết niệu, tổn thương chức năng thận, có máu thường xuyên trong nước
tiểu.
• Các phương pháp dân gian khác
Trang 13
Ngoài ra còn có thể áp dụng phương pháp chữa bệnh theo y học cổ truyền
Ấn Độ (AYURVEDA), liệu pháp đồng căn và liệu pháp tự nhiên như sử dụng cây kim
tiền thảo kết hợp với cây mã đề…
Trang 14
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT ĐỂ GIẢI QUYẾT BÀI TOÁN
2.1 Tổng quan về thuật giải ILA
Giải thuật ILA (Inductive Learning Algorithm) là một giải thuật đệ quy mới, dùng
vào việc sinh ra tập các luật dẫn để phân lớp dữ liệu trên tập dữ liệu đầu vào. Giải
thuật ILA hoạt động theo cơ chế đệ quy, mỗi lần lặp là để tìm một luật dẫn đúng
trên một số lớn dữ liệu trong một phân lớp của dữ liệu. Nếu tìm ra một luật dẫn, ILA
sẽ loại bỏ các dữ liệu đã sinh ra luật dẫn bằng cách đánh dấu chúng và bổ sung luật
dẫn vừa tìm được vào tập các luật dẫn đã tìm được. Nói cách khác, giải thuật làm
việc theo quy tắc một luật dẫn trên một phân lớp. Đối với mỗi phân lớp, các luật dẫn
được rút ra từ tập dữ liệu riêng biệt của lớp đó và không tồn tại trong dữ liệu của các
phân lớp khác. Điều này sẽ tạo ra được một danh sách có thứ tự các luật dẫn, khác
với phương pháp tạo cây quyết định.
Ưu điểm của giải thuật ILA [8]
- Các luật dẫn tìm được có thứ tự rất thích hợp cho việc khai phá dữ liệu;
phương pháp phân lớp đơn giản, dễ thực hiện, cho phép phân biệt dễ
dàng các phân lớp khác nhau.
- Tập luật dẫn có thứ tự và các luật dẫn mang tính đơn lẽ nên cho phép việc
tập trung vào từng luật dẫn một tại từng thời điểm trong quá trình sinh
luật. Còn đối với các giải thuật tạo cây quyết định, việc xử lý của giải thuật
rất phức tạp nhất là khi tập dữ liệu đầu vào lớn vì quá trình xử lý luôn liên
quan đến nhiều dữ liệu của nhiều phân lớp khác nhau.
- Vùng xử lý trong giải thuật ILA có đặc điểm là các bước tiến tới và không
có quay lui, bởi vì giải thuật ILA đã loại bỏ tất cả các dữ liệu không cần
thiết cho các bước xử lý sau.
Giải thuật ILA hoàn toàn khác với giải thuật ID3 trên nhiều khía cạnh. Sự khác
nhau chủ yếu là ILA không khai thác phương pháp phân lớp dữ liệu mà chỉ tập trung
vào việc tìm kiếm trên các thuộc tính có dữ liệu liên quan. Trong khi ID3 quan tâm
đến việc đi tìm thuộc tính có liên quan nhiều nhất trên tổng thể, mặc dầu có thể có
một số giá trị của dữ liệu của thuộc tính đó không có liên quan. ID3 còn phân chia
dữ liệu thành các tập con đồng nhất mà không có sự tham khảo đến phân lớp của
tập con, trong khi ILA phải xác định từng phân lớp đặc biệt trước.
Giải thuật ILA bắt đầu việc xử lý tập dữ liệu đầu vào bằng cách chia tập dữ liệu
thành các bảng con, mỗi bảng con ứng với 1 giá trị của thuộc tính quyết định. Sau
đó giải thuật sẽ làm sự so sánh giữa các giá trị của một thuộc tính trong tất cả các
bảng con và đếm số lượng xuất hiện của chúng. ILA được thiết kế để xử lý các dữ
liệu rời rạc. Các giá trị có tính liên tục có thể được rời rạc hóa bằng cách phân hoạch
thành các phân đoạn sử dụng kỹ thuật điểm cắt (cut points) [5]. Việc rời rạc hóa dữ
liệu còn làm cho giải thuật chạy nhanh hơn.
Bắt đầu với con số xuất hiện lớn nhất của các tổ hợp, sau đó giải thuật lập tức
bắt đầu sinh ra các luật dẫn cho đến khi tất cả các hàng trong các bảng con đều đã
được đánh dấu. Sau đó ILA sẽ tiến hành thực hiện các lần lặp của tiến trình này cho
tất cả các giá trị của mỗi thuộc tính của mỗi bảng con. Cuối cùng, tất cả các luật dẫn
IF-THEN có thể có được sinh ra khi không còn hàng dữ liệu nào chưa bị đánh dấu.
2.2 Miêu tả hoạt động của giải thuật ILA
2.2.1 Xác định tập dữ liệu
- Các giá trị của mẫu thử được liệt kê trong một bảng dữ liệu, trong đó mỗi
hàng là một mẫu thử và mỗi cột chứa dữ liệu của các thuộc tính.
- Một tập hợp mẫu thử gồm có m mẫu thử, mỗi mẫu thử có k thuộc tính
Trang 15
- Một tập luật dẫn R, với giá trị khởi động là tập rỗng.
- Tất cả các hàng trong bảng khi khởi động giải thuật đều chưa bị đánh dấu.
2.2.2 Các bước thực hiện giải thuật
• Bước 1: Chia m mẫu ban đầu thành n bảng con. Mỗi bảng con ứng với một
giá trị của thuộc tính quyết định của tập mẫu. Thực hiện lần lượt các bước
từ 2 đến 8 cho mỗi bảng con có được.
• Bước 2: Khởi tạo số lượng thuộc tính kết hợp j với j=1
• Bước 3: Trên một bảng con đang khảo sát, ta chia danh sách các thuộc
tính thành các tổ hợp khác nhau, mỗi tổ hợp gồm j thuộc tính.
• Bước 4: Với mỗi tổ hợp thuộc tính có được, tính số lần giá trị thuộc tính
xuất hiện theo cùng tổ hợp thuộc tính trong các dòng còn lại của bảng con
đang xét (mà đồng thời không xuất hiện tổ hợp giá trị này trên tất cả các
bảng còn lại). Gọi tổ hợp đầu tiên (trong bảng con) có số lần xuất hiện
nhiều nhất là tổ hợp lớn nhất được gọi là Max_combination.
• Bước 5: Nếu tổ hợp lớn nhất có giá trị bằng 0, tăng j lên 1 và quay lại
bước 3.
• Bước 6: Loại bỏ các dòng thỏa tổ hợp lớn nhất ra khỏi bảng con đang xử
lý.
• Bước 7: Thêm một luật dẫn mới vào tập luật R, với vế trái là tập các thuộc
tính của tổ hợp lớn nhất (kết hợp các thuộc tính bằng toán tử AND) và vế
phải là giá trị thuộc tính quyết định tương ứng.
• Bước 8: Nếu tất cả các dòng đều đã được loại bỏ, tiếp tục thực hiện từ
bước 2 cho các bảng con còn lại. Ngược lại (nếu còn dòng chưa bị loại bỏ)
thì quay lại bước 4. Nếu tất cả các bảng con đã được xét đến thì kết thúc,
tập R chính là tập luật dẫn cần tìm.
Trang 16
Hình : Lưu đồ diễn tả thuật toán ILA
2.2.3 Ví dụ minh họa cho giải thuật
Giải thuật ILA là giải thuật khá đơn giản dùng vào mục đích sinh ra tập luật dẫn
từ tập dữ liệu mẫu thử. Mỗi mẫu thử có một tập dữ liệu tương ứng với một tập xác
định các thuộc tính.
Để minh họa cho họat động của giải thuật ILA, trước tiên chúng ta hãy xem xét
tập mẫu thử có tính phân lớp đối tượng như trong Bảng 1. Tập này gồm có 7 mẫu
thử (m=7) với 3 thuộc tính (k=3) và một thuộc tính quyết định. Thuộc tính quyết
định có 2 giá trị có thể có là {Yes, No}, (n=2). Trong ví dụ này, “Size”, “Color” và
“Shape” là 3 thuộc tính, ứng với 3 tập giá trị có thể có là:
Size: {small, medium, large}
Color: {red, blue, green}
Shape: {brick, wedge, sphere, pillar}
Bảng : Tập mẫu thử có tính phân lớp đối tượng
STT Size Color Shape Decision
1 Medium Blue Brick Yes
2 Small Red Wedge No
3 Small Red Sphere Yes
4 Large Red Wedge No
Trang 17
5 Large Green Pillar Yes
6 Large Red Pillar No
7 Large Green Sphere Yes
Bước 1: Vì n=2 nên bước đầu tiên của giải thuật là tạo 2 bảng con như sau:
Bảng : Bảng con của tập huấn luyện được phân chia theo lớp Decision
Sub-Table 1
STT Size Color Shape Decision
1 Medium Blue Brick Yes
3 Small Red Sphere Yes
5 Large Green Pillar Yes
7 Large Green Sphere Yes
Sub-Table 2
STT Size Color Shape Decision
2 Small Red Wedge No
4 Large Red Wedge No
6 Large Red Pillar No
Bước 2: Áp dụng lần lượt các bước từ 2 đến 8 với bảng con thứ nhất
Với j = 1. Có 3 tổ hợp, mỗi tổ hợp gồm một thuộc tính là {Size},
{Color}, {Shape}
Với tổ hợp {Size} thuộc tính “Medium” xuất hiện 1 lần trong bảng 1 và không
xuất hiện trong bảng 2; thuộc tính “Small” và “Large” xuất hiện trên cả hai bảng
T(Size
medium
) = 1; T(Size
small
) = 0; T(Size
large
) = 0
Với tổ hợp {Color} thuộc tính “Green” xuất hiện 2 lần trong bảng 1 và không xuất
hiện trong bảng 2; thuộc tính “Blue” xuất hiện 1 lần trong bảng 1 và không xuất hiện
trong bảng 2; thuộc tính “Red” xuất hiện trên cả hai bảng
T(Color
green
) = 2; T(Color
blue
) = 1; T(Color
red
) = 0
Với tổ hợp {Shape} thuộc tính “Brick” xuất hiện 1 lần trong bảng 1 và không xuất
hiện trong bảng 2; thuộc tính “Sphere” xuất hiện 2 lần trong bảng 1 và không xuất
hiện trong bảng 2; thuộc tính “Pillar” xuất hiện trên cả hai bảng
T(Shape
brick
) = 1; T(Shape
sphere
) = 2; T(Shape
pillar
) = 0
Như vậy, ta có T(Color
green
) và T(Shape
sphere
) lớn nhất và đều bằng 2. Ta có thể chọn
1 trong 2 giá trị này vì chúng có đều có tính chất phân lớp như nhau. Theo mặc định
thì giải thuật luôn chọn giá trị đầu tiên, tức là “green”. Hàng 3 và 4 được đánh dấu
trong sub table 1, một luật dẫn được sinh ra như sau:
IF Color = Green THEN Decision = Yes (a)
Kế tiếp, loại bỏ hai dòng ứng với Color = Green ra khỏi bảng ta được:
Sub-Table 1
STT Size Color Shape Decision
1 Medium Blue Brick Yes
3 Small Red Sphere Yes
Lập lại việc tính toán các giá trị T cho dữ liệu còn lại ta được:
Trang 18
T(Size
medium
) = 1; T(Size
small
) = 0
T(Color
blue
) = 1; T(Color
red
) = 0
T(Shape
brick
) = 1; T(Shape
sphere
) = 1
Cũng mặc định ta chọn trường hợp T(Size
medium
) để xây dựng luật, ta được:
IF Size = Medium THEN Decision = Yes (b)
Ghi chú 1: Nếu ta chọn T(Shape
brick
) = 1 thì ta có luật
IF Shape=brick THEN Decision= Yes
Kế tiếp, loại bỏ dòng ứng với Size = Medium ra khỏi bảng ta được:
Sub-Table 1
STT Size Color Shape Decision
3 Small Red Sphere Yes
Tính giá trị T cho dữ liệu còn lại ta được:
T(Shape
sphere
) = 1
Ta có luật:
IF Shape = Sphere THEN Decision = Yes (c)
Như vậy tất cả các dòng trong Sub-Table 1 bị loại bỏ, bây giờ ta chuyển
sang Sub-Table 2:
Với j = 1, có 3 tổ hợp mỗi tổ hợp gồm 1 thuộc tính là {Size}, {Color}, {Shape}.
Ta tính được:
T(Size
small
) = 0; T(Size
large
) = 0
T(Color
red
) = 0
T(Shape
wedge
) = 2; T(Shape
pillar
) = 0
Ta có luật:
IF Shape = Wedge THEN Decision = No (d)
Kế tiếp, loại bỏ dòng ứng với Shape = Wedge ra khỏi bảng ta được:
Sub-Table 2
STT Size Color Shape Decision
6 Large Red Pillar No
Với các dòng còn lại, mọi giá trị của thuộc tính đều xuất hiện trong cả hai bảng
(mọi giá trị T đều bằng 0) nên ta sẽ tăng j lên 1 và thực hiện lại bước 2
Với j = 1, có 3 tổ hợp mỗi tổ hợp gồm 2 thuộc tính là {Size,Color}, {Size,Shape},
{Color, Shape}. Ta tính được:
T(Size
large
,
Color
red
) = 1;
T(Size
red
,
Shape
pillar
) = 1;
T(Color
large
,
Shape
pillar
) = 0;
Cũng mặc định ta chọn trường hợp T(Size
large
,
Color
red
) = 1 để xây dựng luật, ta
được:
IF (Size = Large) AND (Color=Red) THEN Decision = Yes (b)
Ghi chú 2: Nếu ta chọn T(Size
red
,
Shape
pillar
) = 1 thì ta có luật
IF (Size=red) AND (Shape=pillar) THEN Decision= Yes
Thuật toán kết thúc vì tất cả các bảng đã được xét đến và tất cả các dòng trong
các bảng đều đã được loại bỏ.
2.2.4 So sánh giải thuật ILA và ID3
Có nhiều điểm khác nhau giữa 2 giải thuật ILA và ID3 mà ở mục 2.1 ta đã đề cập
tới. Để có lý do chọn thuật giải ILA để giải quyết bài toán trong chương 3, một lần
nữa ta xem xét bảng kết quả các luật dẫn của cả 2 giải thuật trên cùng một tập mẫu
thử
Bảng : Tập luật so sánh trên 2 giải thuật ID3 và ILA
Trang 19
Thuật toán STT Luật
ID3
ILA
1
IF Color =green AND Shape=pillar
THEN yes
IF Color =green THEN yes
ID3
ILA
2
IF Shape=brick THEN yes
IF Size=medium THEN yes
ID3
ILA
3
IF Shape=sphere THEN yes
IF Shape=sphere THEN yes
ID3
ILA
4
IF Shape=wedge THEN no
IF Shape=wedge THEN no
ID3
ILA
5
IF Color =red AND Shape=pillar THEN
no
IF Size =large AND Color=red THEN no
Từ Bảng 3, ta có thể thấy rằng cả 2 giải thuật đều sinh ra cùng số lượng các luật
dẫn, nhưng luật dẫn 1 của ILA đơn giản hơn so với luật dẫn 1 của ID3. Vậy có thể
nói luật dẫn của ID3 có chứa điều kiện dư thừa (chính là điều kiện Shape=pillar).
Luật dẫn thứ 2 và 5 của 2 giải thuật cũng khác nhau nhưng đều có mức phức tạp
như nhau. Tuy nhiên ở đây có một điều thú vị là theo ghi chú 1 và ghi chú 2 đã trình
bày ở phần trên khi miêu tả việc thực hiện giải thuật ILA, ta thấy rằng giải thuật ILA
có thể sinh ra được luật dẫn thứ 2 và thứ 5 hoàn toàn giống như luật dẫn thứ 2 và
thứ 5 của giải thuật ID3.
Với ví dụ mà các luật dẫn có mức phức tạp như nhau thì chúng ta khó lòng rút ra
được các nhận xét xác đáng, vì vậy bây giờ chúng ta sẽ xem xét tiếp một ví dụ nữa.
Ví dụ này trình bày trong Bảng 4 và nó chứa các dữ liệu về thời tiết.
Bảng : Tập huấn luyện cho thời tiết
ST
T
Trời Nhiệt đô Độ
ẩm
Gi
ó
Kết
quả
1 Nắng Nóng Cao K N
2 Nắng Nóng Cao C N
3 Âm u Nóng Cao K P
4 Mưa TB Cao K P
5 Mưa Lạnh BT K P
6 Mưa Lạnh BT C N
7 Âm u Lạnh BT C P
8 Nắng TB Cao K N
9 Nắng Lạnh BT K P
10 Mưa TB BT K P
11 Nắng TB BT C P
12 Âm u TB Cao C P
13 Âm u Nóng BT K P
14 Mưa TB Cao C N
Trang 20
Áp dụng giải thuật ILA và ID3 trên tập dữ liệu trong Table 3, chúng ta có được
kết quả là các luật dẫn sau đây:
IF Trời= Âm u THEN Kết quả= P
IF Trời=Nắng AND Độ ẩm=Cao THEN Kết quả = N
IF Trời=Mưa AND Gió= C THEN Kết quả=N
IF Trời=Mưa AND Gió= K THEN Kết quả=P
IF Trời=Nắng AND Độ ẩm=BT THEN Kết quả=P
Đối với ví dụ này, 2 giải thuật ILA và ID3 đều sinh ra các luật dẫn như nhau.
Trong trường hợp này, các luật dẫn sinh ra đều không chứa các điều kiện dư thừa
(điều kiện không cần thiết). Như vậy ILA, vốn là giải thuật có khả năng loại bỏ các
điều kiện thừa, đã không có dịp để thể hiện sức mạnh vượt trội này của mình so với
giải thuật ID3. Vậy có thể nói ví dụ này là 1 ví dụ “xấu” đối với giải thuật ILA, khi
đem so sánh nó với ID3.
2.2.5 Đánh giá giải thuật ILA
Việc đánh giá các hệ thống máy học là một công việc rất phức tạp. Có một cách
mà nó có thể được đánh giá là cách đánh giá thông qua việc hệ thống đó thực hiện
một công việc cụ thể nào đó, mà công việc này có tính chất đặc trưng cho chức
năng của hệ thống.
Với mục đích đánh giá giải thuật ILA, chúng ta chủ yếu sử dụng 2 thông số: số
lượng các luật dẫn sinh ra và số trung bình cộng của các điều kiện trong các luật
dẫn. Số lượng các luật dẫn được dùng như một thông số đánh giá là vì mục tiêu của
giải thuật là sinh ra một số lượng tối thiểu các luật dẫn miễn là các luật dẫn sinh ra
phân lớp được tập dữ liệu đầu vào. Nhưng một giải thuật tốt là giải thuật sinh ra tập
luật dẫn không chỉ có khả năng phân lớp thành công các trường hợp trong tập mẫu
thử mà còn có khả năng phân lớp dữ liệu không nhìn thấy được. Vì vậy thông số thứ
hai, là số trung bình cộng các điều kiện của các luật dẫn, sẽ biểu thị khả năng phân
lớp các dữ liệu không nhìn thấy được. Dễ thấy rằng một luật dẫn càng có ít điều kiện
(trong vế IF) thì càng có khả năng phân lớp dữ liệu. Điều này cho thấy lý do vì sao
số trung bình cộng các điều kiện trong các luật dẫn là một thông số để đánh giá một
giải thuật sinh luật dẫn.
Giải thuật ILA rút ra được các luật dẫn có tính chất đơn giản và mang tính tổng
quát cao nhất. Điều này có được là nhờ vào việc ILA đã loại bỏ được tất cả các điều
kiện thừa ra khỏi các luật dẫn và tạo ra được số lượng tối thiểu các luật dẫn mà các
hệ thống khác không thể làm được (như hệ thống ID3). Tính tổng quát cao của các
luật dẫn sẽ tăng cường khả năng phân lớp của một giải thuật. Một luật dẫn trở nên
tổng quát hơn khi số lượng các điều kiện bên vế trái của luật dẫn trở nên ít hơn, nói
cách khác khi số lượng các thuộc tính trở nên ít hơn. Một luật dẫn tổng quát còn
giúp cho việc phân lớp các dữ liệu mẫu thử không đầy đủ trong đó có một hay nhiều
thuộc tính có dữ liệu không xác định. Ví dụ trong việc phân lớp ở phần trên, nếu một
mẫu thử chưa biết có dữ liệu “Color=Green” nhưng lại không có dữ liệu cho thuộc
tính {Shape} thì vẫn sẽ được phân loại đúng với giải thuật ILA, nhưng không đúng
với giải thuật ID3 mặc dầu cả 2 giải thuật đều sinh ra một số lượng các luật dẫn như
nhau.
Hãy xem xét một lần nữa các luật dẫn sinh ra của ID3:
IF P1= x AND P3 = x AND P5 = x AND P7 = x AND P9 = o THEN Class= P
IF P1= o AND P3 = x AND P5 = x AND P7 = x AND P9 = x THEN Class= P
IF P1= o AND P3 = x AND P5 = x AND P7 = x AND P9 = o THEN Class= P
IF P1= x AND P3 = x AND P5 = x AND P7 = x AND P9 = b THEN Class= P
Trang 21
IF P1= b AND P3 = x AND P5 = x AND AND P6 = x AND P7 = x AND P9 = o THEN Class= P
Tất cả các luật dẫn này đều đúng và đều phân lớp mẫu thử chính xác, nhưng tất cả
chúng đều chứa các điều kiện dư thừa. Giải thuật ILA đã loại bỏ các điều kiện này và
chỉ sinh ra 1 luật dẫn sau thay vì 5 luật dẫn trên:
IF P3 = x AND P5 = x AND P7 = x THEN Class= P
Trong trường hợp này, ID3 sinh ra 5 luật dẫn và số trung bình cộng các điều kiện là
26/5 = 5.2, trong khi ILA sinh ra chỉ 1 luật dẫn và số trung bình cộng các điều kiện là
3/1 = 3. Điều này dẫn đến việc ILA có tỉ lệ lỗi thấp trong việc phân lớp các dữ liệu
không nhìn thấy.
Khi ILA loại bỏ được các điều kiện dư thừa ra khỏi các luật dẫn, số lượng luật dẫn và
số trung bình cộng các điều kiện cũng giảm đáng kể. Hiện tượng này minh họa sự
khác nhau về giá trị của 2 thông số của giải thuật ILA với các giải thuật khác.
Nhận xét:
Nếu ta có bảng quyết định như sau:
STT Thuộc tính Kết quả
1 A Y
2 A N
Theo bảng này thì Tổ hợp lớn nhất luôn có giá trị bằng 0, mà theo
thuật toán thì nếu tổ hợp lớn nhất có giá trị bằng 0 -> tăng số lượng phần tử
của tổ hợp lên 1, nghĩa là j = 2, như vậy thì lại vượt quá (số thuộc tính của
bảng–1)=1. Và nếu ta không tăng j và trở lại Bước 3 mà tiếp tục thực hiện Bước
6 và Bước 7 thì ta sẽ thu được các luật giống y như bảng quyết định ban đầu:
• R1: If A then Y
• R2: If A then N
Hai luật này không mâu thuẫn nhưng nó là một kết quả vô nghĩa,
không có giá trị gì cả vì khi người ta có được A thì cũng không biết được kết quả
là Y hay N.
Như vậy thì để tránh mất thời gian thực hiện thuật toán một cách vô
ích, chúng ta phải “đánh giá” được tập các giá trị đầu vào để quyết định có hay
không thực hiện thuật toán. Đối với bảng quyết định có ít thuộc tính và ít số
record thì việc này còn khả thi, còn nhiều thì ta không thể “đánh giá” được và
như vậy thì ta phải cho thực hiện thuật toán.
Tuy nhiên ta có nhận xét rằng nếu ở tất cả các tổ hợp có số lượng
thuộc tính < (số lượng thuộc tính của bảng – 1) mà ta đều thu được tổ hợp lớn
nhất có giá trị bằng 0 thì kết luật tập luật = rỗng, không phải thực hiện Bước 6
và Bước 7 để thêm những luật vô nghĩa.
Từ các phân tích trên ta nhận thấy ưu điểm của ILA nên theo như vấn đề bài toán
đặt ra ta chọn ILA làm phương cách giải quyết. Trong chương 3 ta sẽ tiến hành giải
quyết bài toán đặt ra.
Trang 22
CHƯƠNG 3
THIẾT KẾ HỆ THỐNG GIẢI BÀI TOÁN
3.1 Cơ sở tri thức về bệnh sỏi thận
• Tập các sự kiện về bệnh
D: Đau bụng dữ dội ở bụng, trong vùng rốn hoặc dưới rốn (vùng có bàng
quang) và có thể lan đến mạn sườn và lan tỏa tới háng, bìu đái.
E: Đau bụng âm ỉ kéo dài từng cơn, khó xác định là đau vùng lưng hay bụng.
C: Tiểu nhiều lần.
A: Tiểu ra máu.
B: Tiểu bị nghẽn bài tiết rất khó khăn hoặc bài tiết nhỏ giọt.
H: Đau rát khi tiểu
.
• Bảng liệt kê tập mẫu
Bảng : Tập huấn luyện cho bện sỏi thận
STT Đau bụng Đường tiểu Sốt Kết quả
1 D A có Bệnh
2 D A không Bệnh
3 E A có Bệnh
4 E B không Bệnh
5 D H có Bệnh
6 D H không Bệnh
7 E H có Bệnh
8 D C có Không bệnh
9 D C không Không bệnh
10 E C không Không bệnh
11 E C có Không bệnh
12 E H không Không bệnh
• Hoạt động của giải thuật
Giải thuật ILA là giải thuật khá đơn giản dùng vào mục đích sinh ra tập luật dẫn
từ tập dữ liệu mẫu thử. Mỗi mẫu thử có một tập dữ liệu tương ứng với một tập xác
định các thuộc tính. Để miêu tả hoạt động của giải thuật ILA, ta hãy xem xét tập
mẫu thử bệnh sỏi thận có tính phân lớp đối tượng như trong Bảng 5. Tập này gồm
có 12 mẫu thử (m=12) với 3 thuộc tính (k=3) và một thuộc tính quyết định. Thuộc
tính quyết định có 2 giá trị có thể có là {Bệnh, Không mắc bệnh}, (n=2). Trong mẫu
thử này, “Đau bụng”, “Tiểu” và “Sốt” là 3 thuộc tính, ứng với 3 tập giá trị có thể có
là:
Đau bụng: {D,E}
Tiểu: {A,B,C,H}
Sốt: {Có, không}
Bước 1: Vì n=2 nên bước đầu tiên của giải thuật là tạo 2 bảng con như sau:
Bảng : Bảng con của tập huấn luyện được phân chia theo lớp KQ
Sub-Table 1
STT Đau bụng Tiểu Sốt KQ
1 D A có Bệnh
2 D A không Bệnh
3 E A có Bệnh
Trang 23
4 E B không Bệnh
5 D H có Bệnh
6 D H không Bệnh
7 E H có Bệnh
Sub-Table 2
STT Đau bụng Tiểu Sốt KQ
8 D C có Không bệnh
9 D C không Không bệnh
10 E C không Không bệnh
11 E C có Không bệnh
12 E H không Không bệnh
Bước 2: Áp dụng lần lượt các bước từ 2 đến 8 với bảng con thứ nhất
Với j = 1. Có 3 tổ hợp, mỗi tổ hợp gồm một thuộc tính là {Đau bụng},
{Tiểu}, {Sốt}
Với tổ hợp {Tiểu}:
T(Tiểu
A
) = 3; T(Tiểu
B
) = 1; T(Tiểu
H
) = 0
Như vậy, ta có T(Tiểu
A
) = 3 lớn nhất . Hàng 1, 2 và 3 được đánh dấu trong sub
table 1, một luật dẫn được sinh ra như sau:
IF Tiểu = A THEN KQ = Bệnh (a)
Kế tiếp, loại bỏ 3 dòng ứng với Tiểu = A ra khỏi bảng ta được:
Sub-Table 1
STT Đau bụng Tiểu Sốt KQ
4 E B không Bệnh
5 D H có Bệnh
6 D H không Bệnh
7 E H có Bệnh
Lập lại việc tính toán các giá trị T cho dữ liệu còn lại ta được:
T(Tiểu
B
) = 1; T(Tiểu
H
) = 0
ta được luật:
IF Tiểu = B THEN KQ = Bệnh (b)
Kế tiếp, loại bỏ dòng ứng với Tiểu = B ra khỏi bảng ta được:
Sub-Table 1
STT Đau bụng Tiểu Sốt KQ
5 D H có Bệnh
6 D H không Bệnh
7 E H có Bệnh
Với các dòng còn lại, mọi giá trị của thuộc tính đều xuất hiện trong cả hai bảng
(mọi giá trị T đều bằng 0) nên ta sẽ tăng j lên 1 và thực hiện lại bước 2
Với j = 1, có 3 tổ hợp mỗi tổ hợp gồm 2 thuộc tính là {Đau bụng, Tiểu}, {Đau
bụng, Sốt}, {Tiểu, Sốt}. Ta tính được:
T(Đau bụng
D
, Tiểu
H
) = 2;
T(Tiểu
H
, Sốt
Có
) = 2;
Cũng mặc định ta chọn trường hợp T(Đau bụng
D
, Tiểu
H
) = 2. Ta có luật:
Trang 24
IF (Đau bụng = D) AND (Tiểu = H) THEN KQ = Bệnh (c)
Ghi chú: Nếu ta chọn T(Tiểu
H
, Sốt
Có
) = 2; thì ta có luật
IF (Tiểu = H) AND (Sốt = Có) THEN KQ = Bệnh
Kế tiếp, loại bỏ dòng ứng với Đau bụng = D và Tiểu = H ra khỏi bảng ta được:
Sub-Table 1
STT Đau bụng Tiểu Sốt KQ
7 E H có Bệnh
Với các dòng còn lại, mọi giá trị của thuộc tính đều xuất hiện trong cả hai bảng
(mọi giá trị T đều bằng 0) nên ta sẽ tăng j lên 1 và thực hiện lại bước 2
Với j = 1, có 3 tổ hợp gồm 2 thuộc tính là {Đau bụng, Tiểu}, {Đau bụng, Sốt},
{Tiểu, Sốt}. Ta tính được:
T(Tiểu
H
, Sốt
Có
) = 1;
Ta có luật:
IF (Tiểu = H) AND (Sốt = Có) THEN KQ = Bệnh (d)
Bảng con thứ 1 đã được xét xong và tất cả các dòng trong các bảng đều đã được
loại bỏ. Bây giờ ta xét bảng con thứ 2:
Sub-Table 2
STT Đau bụng Tiểu Sốt KQ
8 D C có Không bệnh
9 D C không Không bệnh
10 E C không Không bệnh
11 E C có Không bệnh
12 E H không Không bệnh
Với j =1, có 3 tổ hợp mỗi tổ hợp gồm 1 thuộc tính là {Đau bụng}, {Tiểu}, {Sốt}.
Ta tính được:
Với tổ hợp {Tiểu}:
T(Tiểu
C
) = 4; T(Tiểu
H
) = 0
Như vậy, ta có luật:
IF Tiểu = C THEN KQ = Không bệnh (e)
Kế tiếp, loại bỏ hai 4 dòng ứng với Tiểu = C ra khỏi bảng ta được:
Sub-Table 2
STT Đau bụng Tiểu Sốt KQ
12 E H không Không bệnh
Với các dòng còn lại, mọi giá trị của thuộc tính đều xuất hiện trong cả hai bảng
(mọi giá trị T đều bằng 0) nên ta sẽ tăng j lên 1 và thực hiện lại bước 2
Với j = 1, có 1 tổ hợp gồm 3 thuộc tính là {Đau bụng, Tiểu, Sốt}. Ta tính được:
T(Đau bụng
E
, Tiểu
H
, Sốt
Không
) = 1;
Ta có luật:
IF (Đau bụng = E) AND (Tiểu = H) AND (Sốt = Không) THEN KQ = Không
bệnh (f)
Thuật toán kết thúc vì tất cả các bảng đã được xét đến và tất cả các dòng trong
các bảng đều đã được loại bỏ.
3.2 Tập luật xác định bệnh sỏi thận
Theo như cách triển khai thực hiện bài toán trên bằng thuật toán ILA thì ta chỉ có
các luật sau:
R1: Nếu tiểu ra máu thì Mắc bệnh sỏi thận.
Trang 25