1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuẩn đoán bệnh lao phổi bằng phương pháp ID3 (download sẽ bao gồm luôn code xịn c#)

26 42 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 433,66 KB
File đính kèm ID3.rar (120 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

bài tập lớn môn hệ chuyên gia đã từng được 9 điểm, bản world đúng quy chuẩn, code bằng ngôn ngữ c kỹ và sạch, chay bằng visual studio, desgin đẹp, chúng tôi muốn chia sẽ cho các bạn tham khảo thêm, jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ﻣKHOA CÔNG NGHỆ THÔNG TIN ﻣ

BÀI TẬP LỚN MÔN: HỆ CHUYÊN GIA

ĐỀ TÀI: XÂY DỰNG HỆ CHUYÊN GIA CHUẨN ĐOÁN

BỆNH LAO PHỔI BẰNG PHƯƠNG PHÁP ID3

Giáo viên hướng dẫn: Th.s Trần Hùng Cường

Hà Nội – 2020

MỤC LỤC

Trang 2

LỜI NÓI ĐẦU

1 Tính cấp thiết của đề tài

Thế giới ngày nay phát triển mạnh mẽ với các hoạt động vô cùng đadạng và phức tạp đòi hỏi khả năng giải quyết vấn đề ở mức độ trí tuệnhân tạo ngày càng cao Lĩnh vực trí tuệ nhân tạo nói chung và hệchuyên gia nói riêng góp phần tạo ra các hệ thống có khả năng trí tuệcủa con người, có được tri thức tiên tiến của các hệ chuyên gia để giảiquyết các vấn đề phức tạp trong cuộc sống

Hệ chuyên gia được thu hút mãnh mẽ do những ưu điểm sau

- Các chương trình hệ chuyên gia ngày càng tỏ ra hữu hiệu và tiệnlợi đáp ứng nhu cầu thực tế

- Các chương trình hệ chuyên gia ngày càng tỏ ra có tính khả thicao

- Hệ chuyên gia không có tính đơn lẻ phù hợp với nhiều cá nhân

- Ở Việt Nam nền y học đã phát tr iển theo hướng hiện đại, chúng

ta có khác nhiều chuyên gia giải đấu ngành với trình độ quốc tế Tuy nhiên còn nhiều bất cập về trình độ của đội ngũ y sĩ, bác sĩ ở cácbệnh viên trung tâm tuyến tinh, huyện xã

- Làm thế nào để sử dụng rộng rãi tri thức y học của các chuyên giatrong tất cả các bệnh viện

- Nâng cao trình độ chuyên môn của đội ngũ thầy thuốc ở các tuyếntinh huyện nhất là vùng sâu vùng xa

Có nhiều cách giải quyết vấn đề trên Cách giải quyết chúng tôi làxây dựng chương trình hỗ trợ thầy thuốc trong việc chuẩn đoán và phânloại các bệnh về phổi

Trang 4

CHƯƠNG 1: TỔNG QUAN HỆ CHUYÊN GIA

1. 1 Khái niệm hệ chuyên gia

Theo E Feigenbaum: Hệ chuyên gia (Expert System) là một chươngtrình máy tính thông minh sử dụng tri thức (knowledge) và các thủ tụcsuy luận (inference procedures) để 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 Hệ chuyên gia là một hệthống tin học có thể mô phỏng (emulates) năng lực quyết đoán(decision) và hành động (making abilily) của một chuyên gia (conngười) Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệnhân tạo (Artificial Intelligence)

1. 2 Các thành phần của hệ chuyên gia

1.2.1 Bộ giao diện người máy

Thực hiện giao tiếp giữa HCG và người sử dụng Bộ này nhận cácthông tin từ người sử dụng và đưa ra các câu trả lời, các lời khuyên, cácgiải thích về lĩnh vực đó

1.2.2 Mô tơ suy diễn

Hệ chuyên gia mô hình hóa cách lập luận của con người với mô dunđộng cơ suy diễn Hệ chuyên gia chứa động cơ suy diễn để tiến hànhcác suy diễn nhằm tạo ra các tri thức mới dựa trên các sự kiện, tri thứctrong vùng nhớ làm việc và tri thức trong cơ sở tri thức.Hai kiểu suydiễn chính trong động cơ suy diễn là suy diễn tiến và suy diễn lùi

1.2.3 Cơ sở tri thức

Lưu trữ, biểu diễn các tri thức mà hệ đảm nhận làm cơ sở cho ác hoạtđộng của hệ CSTT bao gồm các sự kiện (facts) và các luật (rules)

Trang 6

Hình 1: Các hành phần của hệ chuyên gia

1.3 Lĩnh vực ứng dụng

Điều khiển

Các hệ thống điều khiển quản lý theo cách phù hợp các hành vi của

hệ thống Chẳng hạn như điều khiển quá trình sản xuất hay điều trị bệnhnhân Một hệ chuyên gia về điều khiển lấy dữ liệu về các thao tác hệthống diễn giải dữ liệu này để hiểu về trạng thái của hệ thống hay dựđoán tương lai

Thiết kế

Hệ thống có nhiệm vụ xây dựng các đối tượng theo các nàng buộcChẳng hạn như thiết kế hệ thống máy tính với đủ các yêu cầu về cấuhình bộ nhớ tốc độ Các hệ thống này thường thực hiện các bước côngviệc, mỗi bước tuân theo các ràng buộc riêng

Chuẩn đoán

Các hệ thống chuẩn đoán chỉ ra các chức năng trong hệ thống hayphát hiện lỗi dựa trên quan sát thông tin Hầu hết các hệ thống chuân

Trang 7

đoán có chi thức về điều kiện , nguyên nhân phát sinh lỗi Chẳng hạn hệthống chuẩn đoán bệnh dựa trên triệu trứng của người bệnh Giảng dạycác hệ thống giảng dạy giúp giáo viên , sinh viên trong vài môn học

Ví dụ: 1979 Clancey đưa ra GUION để dạy sinh viên trong điều trị bệnh nhân nhiễm khuẩn

Diễn giải

Các hệ thống diễn giải cho phép hiều tình huống bất ngờ từ thông tin

có sẵn Điển hình là thông tin rút từ dữ liệu máy có thiết bị hay kết quảthí nghiệm

Giám sát

Các hệ thống giám sát so sánh thông tin quan sát về hành vi của hệ |thống với trạng thái hệ thống được coi là gay cấn Ví dụ như các hệ |thống giám sát diễn giải tín hiệu thu từ đầu dò sóng và so sánh thôngtin này với trạng thái đã biết Khi phát hiện điều kiện gay cấn hệ thống

sẽ kích hoạt một loạt nhiệm vụ : Lập kế hoạch | Các hệ thống lập kếhoạch tạo ra các hành động đạt được đích theo các ràng buộc Chẳnghạn như lập kế hoạch các nhiệm vụ cho người máy để thực hiện chứcnăng nào đó

Dự đoán

Người ta dùng hệ thống dự báo thời tiết để biết các kết quả mà cáctình huống gây ra Các hệ thống này dự báo các sự kiện tương lai theothông tin đã có và theo mô hình bài toán

Chuẩn trị

Các hệ thống chuẩn trị khuyến cáo các giải pháp đối với các chứcnăng sai Ví dụ Hệ thống BLUBOX do Mulsant và Servan - Schreiberđưa ra 1984 chuẩn trị bệnh nhân bị suy nhược

Trang 8

Lựa chọn

Các hệ thống lựa chọn dùng để xác định một số lựa chọn tốt trong sốcác khả năng Trong các hệ chuyên gia người thường dùng các kĩ thuậtsuy diễn không chính xác hoặc hàm đánh giá khớp • Mô phỏng Các hệchuyên gia mô phỏng mô hình hóa một quá trình hay một hệ thống đểnghiên cứu tác nghiệp và sự tương tác trong hệ thống

1.4 Hướng nghiên cứu

Sử dụng thuật toán học cây truyền thống ID3 để nghiên cứu xâydựng hệ chuyên gia chuẩn đoán bệnh lao phổi Bằng cách sử dụng vàtìm kiếm tài liệu về các công trình nghiên cứu hoặc các bài báo đã đượcđăng ở các hội thảo và tạp chí lớn

Trang 9

CHƯƠNG 2: THUẬT TOÁN ID3 2.1 Định nghĩa

ID3 (J R Quinlan 1993) sử dụng phương pháp tham lam tìm kiếm từtrên xuống thông qua không gian của các nhánh có thể không cóbacktracking ID3 sử dụng Entropy và Information Gain để xây dựngmột cây quyết định

Nhiệm vụ: Dựa trên D, hãy xây dựng cây quyết định T xấp xỉ c.

ID3(D, Atributes, Target)

{

• Tạo nút t cho cây

• Nếu tất cả các mẫu trong D đều thuộc lớp dương thì trả về cây cónút gốc t và được dán nhãn “+”

• Nếu tất cả các mẫu trong D đều thuộc lớp âm thì trả về cây có nútgốc t và được dán nhãn “-”

• Đặt t là nhãn phổ biến nhất của thuộc tính mục tiêu trong D

• Nếu Atributes rỗng thì trả về cây có một nút gốc trỏ bởi t

• Trường hợp khác:

 Đặt A* là thuộc tính phân lớp tốt nhất trong D

 Thuộc tính quyết định của t là A*

Trang 10

 Với mỗi giá trị a của A* thực hiện:

- Bổ sung nhánh mới dưới t ứng với A* = “a”

- Đặt D_a là tập con cảu D chauws các mẫu mà A* = “a”

- Nếu D_a rỗng thì dưới nhánh mới này bổ sung nút lávới nhãn phổ biến nhất trong D

- Ngược lại, dưới nhánh mới này bổ sung cây conID3(D_a, Atributes –{A*}, Target)

• Trả về t

}

Trang 11

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG 3.1 Phát biểu bài toán

Bảng 1 Bảng dữ liệu các triệu chứng và biểu hiện của triệu chứng

3.2 Xây dựng cơ sơ tri thức

Trang 13

Stt Ho Sốt Mồ hôi

trộm vềđêm

Đautứcngực

Sụtcân

Sưnghạch

Mắclao

Trang 14

Bảng 2: Bảng dữ liệu chi tiết

3.3 Phương pháp giải quyết

Bây giờ ta tính độ lợi thông tin cho từng thuộc tính sau đó chọnthuộc tính có độ lợi thông tin lớn nhất làm gốc của cây quyết định

Entropy(S) = × - × = 0.9998

Xét thuộc tính “Sưng hạch”:

Entropy (Snhỏ) = × - × = 0.9992Entropy (Sto) = × - × = 0.9968Gain(S, Sưng hạch) = Entropy(S) - × Entropy(Snhỏ) - ×Entropy(Sto) = 0.9998 – 0.9992× - 0.9968× = 0.0075

Trang 15

Tương tự như vậy với các thuộc tính điều kiện còn lại:

Gain(S, Sụt cân) = 0.062Gain(S, Đau tức ngực) = 0.27Gain(S, Mồ hôi trộm) = 0.1122Gain(S, Sốt) = 0.027

Trong nhánh “Mồ hôi trộm” = “Có” và “Ho” = “RaMáu”:

Gain(SCó,RaMáu, Sốt) = 0.049Gain(SCó,RaMáu , Đau tức ngực) = 0.049Gain(SCó,RaMáu, Sụt cân) = 0.0579

Gain(SCó,RaMáu , Sưng hạch) = 0.058

Trang 16

Trong nhánh “Mồ hôi trộm” = “Có”, “Ho” = “Ra máu” và “Sụt cân”

= “ít”:

Gain(SCó,Ra máu,ít, Sốt) = 0.143Gain(SCó,Ra máu,ít, Đau ngực) = 0.143Gain(SCó,Ra máu,ít, Sưng hạch) = 0.1022Trong nhánh “Mồ hôi trộm” = “Có”, ““Ho” = “Ra máu” và “Sụtcân” = “ít” và “Sốt” = “Nhẹ”:

Gain(SCó,Ra máu,ít,Nhẹ, Đau ngực) = 0.3113Gain(SCó,Ra máu,ít,Nhẹ, Sưng hạch) = 0.3113

Trang 17

Ta có cây quyết định:

Mồ hôi trộm

Trang 18

3.4 Kết quả

3.4.1 Các tập luật được đưa ra từ bảng chi tiết

1. If Mồ hôi trộm về đêm = “Có” And Ho = “Ra máu” ” And SụtCân = “Nhiều” Then Mắc lao = “yes”

2. If Mồ hôi trộm về đêm = “Có” And Ho = “Ra máu” ” And SụtCân = “ít” And Sốt = ”Cao” Then Mắc lao = “yes”

3. If Mồ hôi trộm về đêm = “Có” And Ho = “Ra máu” ” And SụtCân = “Nhiều” And Sốt = ”Nhẹ” And Đau ngực = ”yes” ThenMắc lao = “yes”

4. If Mồ hôi trộm về đêm = “Có” And Ho = “Ra máu” ” And SụtCân = “Nhiều” And Sốt = ”Nhẹ” And Đau ngực = ”Không” AndSưng hạch = ”Nhỏ” Then Mắc lao = “yes”

5. If Mồ hôi trộm về đêm = “Có” And Ho = “Ra máu” ” And SụtCân = “Nhiều” And Sốt = ”Nhẹ” And Đau ngực = ”Không” AndSưng hạch = ”To” Then Mắc lao = “no”

6. If Mồ hôi trộm về đêm = “Không” Then Mắc lao = “no”

7. If Mồ hôi trộm về đêm = “Có” And Ho = “Ra Đờm” Then Mắclao = “no”

Ho

Ra máu

Ra đởm no Sụt cân

Nhiều

Ít yes

yes

no

Có Không

yes Đau Ngực j===

Trang 19

3.4.2 Giao diện

Hình 2 Giao diện khi bắt đầu chạy chương trình

Hình 3 Giao diện khi bấm nút “đọc dữ liệu” chương trình

Trang 20

Hình 4 Giao diện khi bấm nút “chạy thuật toán” chương trình

int total = Negatives + Positives;

double RatePositves = (double)Positives / total;

double RateNegatives = (double)Negatives / total;

Entropy = -RatePositves * Math.Log(RatePositves, 2)

-RateNegatives * Math.Log(RateNegatives, 2);

return Entropy;

}

Trang 21

int[] CountPositivesA = new int[A.Value.Count];

int[] CountNegativeA = new int[A.Value.Count];

int Col = Attributes.IndexOf(A);

for (int i = 0; i < A.Value.Count; i++)

Trang 22

result = result - RateValue * GetEntropy(CountPositivesA[i],CountNegativeA[i]);

private Attribute GetBestAttribute(List<List<string>> Examples,

List<Attribute> Attributes, string bestat)

ID3_algorithm(Training_Set, Class_Labels, Attributes)

Tạo nút Root của cây quyết định

If tất cả các ví dụ của Training_Set thuộc cùng lớp c

Trang 23

Return Cây quyết định có nút Root được gắn với (có nhãn) lớp c

Thuộc tính kiểm tra cho nút Root ← A

For each Giá trị có thể v của thuộc tính A

Bổ sung một nhánh cây mới dưới nút Root, tương ứng với trường hợp: “Giátrị của A là v”

Xác định Training_Setv = {ví dụ x | x ⊆ Training_Set, xA=v}

If (Training_Setv là rỗng) Then

Tạo một nút lá với nhãn lớp ≡ Majority_Class_Label(Training_Set)

Gắn nút lá này vào nhánh cây mới vừa tạo

Else Gắn vào nhánh cây mới vừa tạo một cây con sinh ra bởi

ID3_algorithm(Training_Setv, Class_Labels, {Attributes \ A})

Trang 24

int LocationBA = Attributes.IndexOf(BestAttribute);

TreeNode Root = new TreeNode(BestAttribute);

for (int i = 0; i < BestAttribute.Value.Count; i++)

{

List<List<string>> Examplesvi = new List<List<string>>();

for (int j = 0; j < Examples.Count; j++)

{

if (Examples[j][LocationBA].ToString() ==BestAttribute.Value[i].ToString())

}

}

return Root;

}

Trang 25

KẾT LUẬN

Hệ chuyên gia mô hình hóa cách lập luận của con người với môdun động cơ suy diễn Hệ chuyên gia chứa động cơ suy diễn để tiếnhành các suy diễn nhằm tạo ra các tri thức mới dựa trên các sự kiện, trithức trong vùng nhớ làm việc và tri thức trong cơ sở tri thức

Bài tập lớn của nhóm 9 chưa đi sâu tìm hiểu về các triệu chứng cửacăn bệnh lao phổi nhưng cũng đủ trực quan về cách xây dựng mộtchương trình hệ chuyên gia đầy ý nghĩa, giúp chuẩn đoán một cáchthông minh và hiện đại về căn bệnh lao phổi

Bằng sự góp sức của các thành viên và sự hướng dẫn nhiệt tình củagiáo viên, chúng em đã tạo ra một sản phẩm nhỏ, đơn giản và thực tế.Trong thời gian làm việc nhóm cùng nhau, tinh thần đồng đội của chúng

em được nâng cao Cảm ơn cthầy vì đã hết lòng giúp đỡ chúng em

Xin chân thành cảm ơn!

Trang 26

Tài liệu tham khảo:

1. Giáo trình Hệ chuyên gia – Đại học Công nghiệp Hà Nội.

2. Tài liệu trí tuệ nhân tạo Đại học Công nghiệp Hà Nội.

3 Tài liệu trí tuệ nhân tạo Đại học Bách Khoa Hà Nội.

5 Website Wikipedia.org

Ngày đăng: 12/09/2021, 17:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w