Xây dựng hệ thống hỗ trợ chẩn đoán bệnh sử dụng Neural networks Xây dựng hệ thống hỗ trợ chẩn đoán bệnh sử dụng Neural networks Xây dựng hệ thống hỗ trợ chẩn đoán bệnh sử dụng Neural networks luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
NGUYỄN ĐỨC THỌ
XÂY DỰNG HỆ THỐNG HỖ TRỢ CHẨN ĐOÁN BỆNH SỬ DỤNG NEURAL NETWORKS
LUẬN VĂN THẠC SĨ KĨ THUẬT
CÔNG NGHỆ THÔNG TIN
Hà Nội – 2019
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
NGUYỄN ĐỨC THỌ
XÂY DỰNG HỆ THỐNG HỖ TRỢ CHẨN ĐOÁN BỆNH SỬ DỤNG NEURAL NETWORKS
LUẬN VĂN THẠC SĨ KĨ THUẬT CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TS PHẠM VĂN HẢI
Hà Nội – 2019
Trang 3LỜI CAM ĐOAN
Em xin cam đoan đề tài: “Xây dựng hệ thống hỗ trợ chẩn đoán bệnh sử dụng Neural Networks” là m t công trình nghiên cứu đ c lập không có sự sao chép của người khác Đề tài là m t sản phẩm mà em đã nỗ lực nghiên cứu trong quá trình học tập tại Hệ Đào Tạo Sau Đại Học, Trường Đại Học Bách Khoa Hà N i Trong quá trình viết bài có sự tham khảo m t số tài liệu có nguồn gốc rõ ràng, dưới sự hướng dẫn của thầy giáo, Phó Giáo Sư - Tiến Sĩ Phạm Văn Hải, giảng viên Viện Công Nghệ Thông Tin và Truyền Thông trường Đại Học Bách Khoa Hà N i Em xin cam đoan nếu có vấn đề gì em xin chịu hoàn toàn trách nhiệm
Hà Nội, ngày 02 tháng 09 năm 2019
Trang 4LỜI CẢM ƠN
Đầu tiên, em xin được gửi lời cảm ơn sâu sắc nhất tới Thầy giáo – PGS.TS Phạm Văn Hải, Viện Công nghệ thông tin và Truyền thông, Trường Đại học Bách Khoa Hà N i đã hướng dẫn và cho em những lời khuyên trong quá trình thực hiện luận văn này
Tiếp theo, em xin chân thành cảm ơn các thầy cô trong Viện Công nghệ thông tin và truyền thông, Viện đào tạo sau đại học, Trường Đại học Bách Khoa
Hà N i đã tạo điều kiện cho em trong suốt quá trình học tập và nghiên cứu tại trường Cảm ơn thạc sĩ bác sĩ Phạm Thị Hồng Nhung đã hỗ trợ em trong việc xây dựng cơ sở tri thức và số liệu nghiên cứu cho luận văn
Cuối cùng, em xin bày tỏ lòng cảm ơn tới những người thân trong gia đình, bạn bè đã đ ng viên và giúp đỡ để em hoàn thành bản luận văn này
Hà Nội, ngày 02 tháng 09 năm 2019
HỌC VIÊN
Nguy n Đức Thọ
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT 3
DANH MỤC CÁC BẢNG 4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5
CHƯƠNG 1: GIỚI THIỆU 7
1.1.Tổng quan 7
1.2.Phát biểu bài toán 9
1.3.Định hướng giải quyết bài toán 9
1.4.Mục tiêu của luận văn 9
1.5.N i dung của luận văn 10
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 11
2.1.Hệ cơ sở tri thức – Hệ chuyên gia 11
2.2.1 Khái niệm 11
2.2.2 Các thành phần cơ bản trong hệ cơ sở tri thức 11
2.2.3 Biểu di n sự kiện – luật trong hệ cơ sở tri thức 12
2.2.4 Khoảng cách giữa các sự kiện 13
2.3.Mạng nơ-ron nhân tạo 15
2.3.1 Khái niệm 15
2.3.2 Các thành phần cơ bản 16
2.3.3 Các mô hình mạng thường gặp 19
2.3.4 Thuật toán lan truyền ngược 20
CHƯƠNG 3: ĐỀ XUẤT MÔ HÌNH HỆ THỐNG HỖ TRỢ CHẨN ĐOÁN BỆNH SỬ DỤNG MẠNG NEURAL 25
3.1.Mô hình ứng dụng hỗ trợ chẩn đoán bệnh đái tháo đường 25
3.2.Đầu vào và đầu ra 26
3.3.Mô tả dữ liệu học 28
3.4.Xử lý dữ liệu 30
3.4.1 Xử lý dữ liệu ngoại lai 30
3.4.2 Quy chuẩn dữ liệu 31
Trang 63.5.Mô hình mạng nơ-ron kết hợp cơ sở tri thức 33
3.5.1 Cơ sở tri thức 33
3.5.2 Lựa chọn thu c tính đầu vào sử dụng CSDLTT 39
3.5.3 Lựa chọn số lượng lớp và số lượng node sử dụng CSDLTT 41
3.5.4 Mô hình mạng nơ-ron 45
3.5.5 Tối ưu hiệu năng mô hình mạng nơ-ron 47
CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 52
4.1.Thông số máy chủ 52
4.2.Kết quả thực nghiệm 52
4.3.Đánh giá 54
4.4 Usecase: Dữ liệu nghiên cứu của bệnh nhân đái tháo đường tại trung tâm N i tiết – Đái tháo đường, bệnh viện Bạch Mai Hà N i 55
4.4.1 Dữ liệu thử nghiệm 55
4.4.2 Xử lý dữ liệu 56
4.4.3 Kiểm tra kết quả chẩn đoán bằng mô hình mạng nơ-ron đề xuất 57
4.5.Chương trình thử nghiệm 58
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
5.1.Kết luận 61
5.2.Hướng phát triển 61
TÀI LIỆU THAM KHẢO 62
Trang 7DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT
AI Artificial Intelligence Trí tuệ nhân tạo
ANN Artificial Neural Network Mạng nơ-ron nhân tạo
ĐTĐ Đái tháo đường Đái tháo đường
FFNN Feed forward neural network Mạng nơ-ron truyền thẳng RNN Recurrent neural network Mạng nơ-ron hồi quy
MLP Multi Layer Perceptron Mạng truyền thẳng nhiều lớp KBANN Knowledge Based Artificial
Neural Network
Mạng nơ-ron nhân tạo dựa trên cơ sở tri thức
FPG Fact Precedence Graph Đồ thị liên kết sự kiện
UCI Center for Machine Learning
and Intelligent Systems at the University of California, Irvine
Trung tâm học máy và các hệ thống thông minh của trường đại học California, Irvine HbA1c Glycated hemoglobin Hemoglobin đặc biệt kết hợp
giữa hemoglobin và đường glucose
CSDL Cơ sở dữ liệu Cơ sở dữ liệu
CSDLTT Cơ sở dữ liệu tri thức Cơ sở dữ liệu tri thức bao
gồm các sự kiện và luật ReLU Rectified Linear Unit Hàm truyền ReLU
Trang 8DANH MỤC CÁC BẢNG
Bảng 1: Ví dụ biểu di n sự kiện trong hệ cơ sở tri thức 13
Bảng 2: M t số hàm kích hoạt thông dụng 18
Bảng 3: Mô tả thu c tính trong tập dữ liệu 29
Bảng 4: Số lượng bản ghi sai về mặt ngữ nghĩa theo từng thu c tính 31
Bảng 5: Thu c tính và giá trị biên đ 32
Bảng 6: Mẫu dữ liệu đầu vào 32
Bảng 7: Mẫu dữ liệu đầu vào đã chuẩn hóa 33
Bảng 8: M t số yếu tố nguy cơ sử dụng trong các cu c khảo sát chẩn đoán bệnh ĐTĐ tại Thái Lan 34
Bảng 9: M t số mô hình chẩn đoán bệnh đái tháo đường 35
Bảng 10: Các thu c tính của dữ liệu học sau quá trình tiền xử lý dữ liệu 35
Bảng 11: M t số sự kiện có trong cơ sở tri thức 36
Bảng 12: M t số luật có trong CSDLTT 38
Bảng 13: M t số giá trị khoảng cách giữa các sự kiện trong cơ sở tri thức 40
Bảng 14: Sự tương ứng giữa cơ sở tri thức và mạng nơ-ron 42
Bảng 15: Đ chính xác với b dữ liệu test khi áp dụng các phương pháp hạn chế overfitting sau cùng 4000 chu kì epoch 51
Bảng 16: Hệ số sử dụng cho mô hình học 53
Bảng 17: Hiệu năng của mô hình mạng nơ-ron với b dữ liệu UCI 54
Bảng 18: Đ chính xác của m t số mô hình mạng nơ-ron trên cùng b dữ liệu 55 Bảng 19: Thông tin dữ liệu nghiên cứu của bệnh nhân tại trung tâm N i tiết – Đái tháo đường, bệnh viện Bạch Mai Hà N i 56
Bảng 20: Kết quả thực nghiệm của mô hình với b dữ liệu nghiên cứu bệnh nhân đái tháo đường của bệnh viện Bạch Mai Hà N i 58
Trang 9DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1: Mô hình ứng dụng hệ cơ sở tri thức 11
Hình 2: Đồ thị Fact Precedence Graph (FPG) 14
Hình 3: Đơn vị xử lý trong mạng nơ-ron 16
Hình 4: Mạng nơ-ron truyền thẳng 19
Hình 5: Mạng nơ-ron hồi quy 20
Hình 6: Mạng lan truyền thẳng nhiều lớp 21
Hình 7: Mô hình mạng với thuật toán lan truyền ngược sai số 22
Hình 8: Quá trình lan truyền tiến 23
Hình 9: Công thức tính output cho 1 node trong mạng nơ-ron 23
Hình 10: Kiến trúc hệ thống mô hình đề xuất 25
Hình 11: Sơ đồ hoạt đ ng quá trình học của mạng nơ-ron kết hợp CSDLTT 27
Hình 12: Biểu đồ histogram các thu c tính của dữ liệu 30
Hình 13: Biểu đồ FPS giữa các sự kiện 40
Hình 14: Biểu đồ hàm mất mát Entropy của các mô hình mạng nơ-ron nhiều lớp với số lượng node thay đổi từ 1 – 7 trong bài toán phân lớp 41
Hình 15: Biểu đồ hàm mất mát Entropy của các mô hình mạng nơ-ron nhiều lớp với số lượng lớp thay đổi từ 1 – 5 trong bài toán phân lớp 42
Hình 16: Xây dựng cây liên kết từ CSDLTT 44
Hình 17: Xây dựng mạng các node bằng cách ánh xạ cấu trúc phân cấp 44
Hình 18: Xây dựng mạng nơ-ron 45
Hình 19: M t mô hình mạng nơ-ron với số lượng lớp ẩn và số lượng node trong lớp ẩn dựa trên CSDLTT 46
Hình 20: Biểu đồ đ chính xác và giá trị hàm mất mát trong quá trình training 47 Hình 21: Mô hình mạng nơ-ron áp dụng của dropout 48
Hình 22: Biểu đồ đ chính xác và giá trị hàm mất mát của mô hình đề xuất khi áp dụng dropout sau 500 chu kì epoch 49
Hình 23: Biểu đồ đ chính xác và hàm mất mát của mô hình đề xuất khi áp dụng L2 regularization sau 500 chu kì epoch 50
Hình 24: Điểm dừng học của mô hình trước khi giá trị hàm mất mát tăng trở lại 51
Trang 10Hình 25: Mô hình mạng nơ-ron thử nghiệm biểu di n bởi thƣ viện Keras 52
Hình 26: Biểu đồ giá trị hàm mất mát và đ chính xác với b dữ liệu training và b dữ liệu test trong 4000 chu kì epoch 53
Hình 27: Kết quả quá trình training mô hình mạng sau khi loại bỏ 2 thu c tính Blood Pressure và Skin Thickness 57
Hình 28: Màn hình tình năng chẩn đoán bệnh ĐTĐ 59
Hình 29: Màn hình tính năng quản lý sự kiện 60
Hình 30: Màn hình tính năng quản lý luật 60
Trang 11CHƯƠNG 1: GIỚI THIỆU
1.1 Tổng quan
Ngày nay, sự thay đổi nhanh chóng của công nghệ trong y tế đã kéo theo sự thay đổi mô hình thực hành của các bác sĩ trong việc chẩn đoán và điều trị bệnh Việc ứng dụng công nghệ trong y tế mang lại cu c sống tốt hơn cho con người ở rất nhiều khu vực trên thế giới c ng như đóng góp hàng t đô la cho các nền kinh
tế tại nhiều quốc gia
Tuy nhiên để có thể áp dụng m t công nghệ, sản phẩm công nghệ nào đó vào thực ti n đòi hỏi rất nhiều trong việc nghiên cứu c ng như việc kết hợp giữa tri thức từ bác sĩ và các kĩ sư công nghệ Việc đánh giá công nghệ sẽ giúp bác sĩ
có thể xác định công nghệ nào là thích hợp nhất để mang lại lợi ích cho bệnh nhân Để làm được điều này các bác sĩ cần thử nghiệm lâm sàng nghiêm ngặt hơn về việc chấp nhận các phát minh mới [1]
Trong những năm gần đây, trí tuệ nhân tạo (AI) đang được nghiên cứu, phát triển mạnh mẽ, đặc biệt AI có thể phù hợp với rất nhiều lĩnh vực trong xã h i, trong đó có y tế Nhận thấy điều này, các tập đoàn lớn về công nghệ ngày m t quan tâm hơn và đã đầu tư rất mạnh mẽ để xây dựng các sản phẩm hỗ trợ các tổ chức y tế c ng như cho c ng đồng dựa trên AI Trong đó phải kể đến các sản phẩm nổi bật sau:
IBM Watson: là m t chương trình ứng dụng gồm các kỹ thuật cao cấp về
xử lý ngôn ngữ tự nhiên, tìm kiếm thông tin, di n đạt và lý giải tri thức,
và học máy cho lĩnh vực trả lời các câu hỏi có phạm vi mở r ng [2] IBM Watson có thể tổng hợp và xử lý lượng lớn thông tin từ các nguồn khác nhau: Wikipedia, các bài báo, các báo cáo nghiên cứu, bằng sáng chế, ánh xạ các n i dung tổng hợp được theo từng lĩnh vực, sau đó IBM Watson đưa ra câu trả lời dựa trên các bằng chứng đáng tin cậy cho các câu hỏi ngôn ngữ tự nhiên [3] Năm 2016, IBM Watson đã có thể tham chiếu chéo nhanh chóng 20 triệu hồ sơ ung thư và chẩn đoán chính xác tình trạng bệnh bạch cầu hiếm gặp ở bệnh nhân
Trang 12 Microsoft Healthcare Bot: là 1 dịch vụ cho phép các đối tác của Microsoft xây dựng và triển khai các ứng dụng y tế được hỗ trợ bởi AI Dữ liệu của người sử dụng sẽ được cá nhân hóa và người sử dụng có thể tương tác với
hệ thống hỗ trợ y tế thông qua các trải nghiệm trò chuyện tự nhiên Dịch vụ
sẽ sử dụng công nghệ trong xử lý ngôn ngữ tự nhiên c ng như trí tuệ nhân tạo để hiểu ý định người dùng và cung cấp các thông tin chính xác Các đối tác của Microsoft có thể xây dựng các kịch bản riêng và tích hợp với nhiều
hệ thống thông tin, lĩnh vực khác nhau để có các sản phẩm phù hợp
Để áp dụng AI vào lĩnh vực y tế, ta có thể lựa chọn m t trong hai hình thức
hỗ trợ chính sau: hỗ trợ chẩn đoán và hỗ trợ điều trị Trong đó việc sử dụng mạng nơ-ron nhân tạo cho việc hỗ trợ chẩn đoán bệnh đã và đang được nghiên cứu và ứng dụng rất nhiều trong từng loại bệnh cụ thể Mạng nơ-ron nhân tạo cung cấp
m t công cụ mạnh mẽ để giúp các bác sĩ phân tích, mô hình hóa các dữ liệu lâm sàng phức tạp trên m t loạt các lĩnh vực y tế Mục tiêu của hầu hết ứng dụng sử dụng mạng nơ-ron nhân tạo là phục vụ cho việc phân loại bệnh Trong nhiều nghiên cứu, dữ liệu được lấy từ kho dữ liệu UCI, và việc sử dụng các mô hình mạng nơ-ron lan truyền ngược cho t lệ phân loại chính xác tới 99 cho việc phân loại bệnh viêm thận và 95 cho việc chẩn đoán bệnh tim [4]
Luận văn này đã nghiên cứu và ứng dụng mạng nơ-ron nhân tạo cho việc xây dựng hệ thống hỗ trợ chẩn đoán bệnh đái tháo đường (ĐTĐ) Bệnh ĐTĐ là bệnh mạn tính, phổ biến, d mắc và điều trị tốn kém Nó ảnh hưởng đến hàng triệu người, cả nam lẫn nữ, ở mọi lứa tuổi và mọi trình đ văn hóa Bệnh ĐTĐ nếu phát hiện mu n hoặc kiểm soát kém sẽ gây ra các biến chứng cấp và mạn tính Trong việc chẩn đoán bệnh ĐTĐ, các ch số xét nghiệm là các yếu tố rất quan trọng để có thể xác định chính xác tình trạng mắc bệnh c ng như mức đ nguy cơ mắc bệnh ĐTĐ trong tương lai, cùng với đó nghiên cứu đã đưa ra mô hình đề xuất sử dụng mạng nơ-ron nhân tạo kết hợp với cơ sở tri thức sẽ giúp đưa tri thức, khả năng suy di n của chuyên gia vào mô hình, nhờ vậy đ chính xác trong việc chẩn đoán tình trạng mắc bệnh đái tháo đường cho người sử dụng sẽ tăng lên Cuối cùng mô hình mạng nơ-ron sẽ được sử dụng để tích hợp cho ứng dụng hỗ trợ chẩn đoán bệnh ĐTĐ
Trang 131.2 Phát biểu bài toán
Luận văn nghiên cứu m t mô hình mạng nơ-ron dựa trên hệ cơ sở tri thức phù hợp cho việc chẩn đoán bệnh ĐTĐ Bằng việc phân tích tập dữ liệu, nghiên cứu này sẽ đưa ra các đánh giá, mô tả chi tiết về hướng xử lý dữ liệu đầu vào
c ng như phân chia tập dữ liệu cho việc học Sau đó ứng dụng mô hình này cho việc xây dựng ứng dụng hỗ trợ chẩn đoán bệnh đái tháo đường dựa trên các thông tin đầu vào
1.3 Định hướng giải quyết bài toán
Bước 1: Phân tích thu c tính, giá trị của b dữ liệu về bệnh ĐTĐ của khu vực Pima Indian (thu c Arizona – Mỹ) [5]
Bước 2: Phân tích cơ sở tri thức dựa trên sự tư vấn của các chuyên gia để đưa ra mô hình cơ bản cho mạng nơ-ron
Bước 3: Xây dựng mô hình mạng nơ-ron truyền thẳng sử dụng giải thuật lan truyền ngược sai số sử dụng dữ liệu nêu trên cho quá trình học và kiểm tra để đánh giá hiệu quả c ng như tính chính xác của mô hình cho việc chẩn đoán bệnh đái tháo đường
Bước 4: Xây dựng ứng dụng hỗ trợ chẩn đoán bệnh đái tháo đường dựa trên kết quả học và hệ cơ sở tri thức có sử dụng tư vấn của chuyên gia
c ng như cập nhật b dữ liệu m t cách liên tục
1.4 Mục tiêu của luận văn
Luận văn đề xuất xây dựng hệ thống hỗ trợ chẩn đoán bệnh sử dụng mạng nơ-ron kết hợp với cơ sở tri thức để hỗ trợ chẩn đoán bệnh đái tháo đường
Đề xuất sử dụng mạng nơ-ron lan truyền ngược kết hợp với cơ sở tri thức
Xây dựng hệ thống hỗ trợ chẩn đoán nguy cơ mắc bệnh ĐTĐ, cho phép chuyên gia cập nhật tri thức
Kết quả đã thực nghiệm trên b dữ liệu về bệnh ĐTĐ của khu vực Pima Indian (nguồn: UCI [5]) có vận dụng các tư vấn từ chuyên gia về các tri thức phù hợp với b dữ liệu cho kết quả đạt được đ chính xác 94.77% Trong mô hình mạng nơ-ron đề xuất, việc xác định mô hình mạng sử dụng các tri thức của chuyên gia, vì thế sẽ có đ chính xác cao hơn với mạng nơ-ron thông thường
Trang 14Sau đó, kết quả của nghiên cứu được tích hợp để xây dựng ứng dụng có giao diện tương tác trợ giúp bác sĩ và các nhân viên y tế chẩn đoán tình trạng bệnh ĐTĐ chính xác hơn
1.5 Nội dung của luận văn
Luận văn bao gồm 5 chương:
Chương 1: Chương giới thiệu trình bày lý do lựa chọn đề tài, bài toán cần giải quyết c ng như định hướng và mục tiêu của luận văn
Chương 2: Chương cơ sở lý thuyết trình bày n i dung lý thuyết về mạng nơ-ron c ng như thuật toán lan truyền ngược được ứng dụng để giải quyết bài toán
Chương 3: Chương mô hình đề xuất mô tả chi tiết về mô hình của hệ thống, bao gồm việc phân tích dữ liệu, cách thức xác định các thành phần
c ng như mô hình mạng nơ-ron được áp dụng trong ứng dụng hỗ trợ chẩn đoán bệnh
Chương 4: Chương thực nghiệm, đánh giá mô tả kết quả của mô hình đoán bệnh ĐTĐ và so sánh với các mô hình khác Ứng dụng mô hình với
b dữ liệu 60 bệnh nhân ĐTĐ của trung tâm N i tiết – Đái tháo đường, bệnh viện Bạch Mai Hà N i
Chương 5: Chương kết luận đánh giá n i dung nghiên cứu và kết quả đạt được của luận văn, đồng thời trình bày các hướng phát triển, cải thiện hệ thống c ng như định hướng nghiên cứu trong tương lai
Trang 15CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Hệ cơ sở tri thức – Hệ chuyên gia
2.2.1 Khái niệm
Hệ cơ sở tri thức là m t chương trình máy tính được thiết kế để mô hình hóa khả năng giải quyết vấn đề của chuyên gia con người Hệ cơ sở tri thức cho phép mô hình hóa các tri thức của chuyên gia, dùng tri thức này để giải quyết các vấn đề phức tạp của cùng lĩnh vực
Hệ chuyên gia là hệ cơ sở tri thức áp dụng cho m t lĩnh vực cụ thể Hệ chuyên gia thường có các thành phần sau: cơ sở tri thức, mô tơ suy di n và hệ
thống giao tiếp với người sử dụng Người sử dụng sẽ cung cấp sự kiện là những
gì đã biết, có thật hoặc có ích cho hệ chuyên gia và sẽ nhận được câu trả lời là những lời khuyên hay những gợi ý đúng đắn [6]
2.2.2 Các thành phần cơ bản trong hệ cơ sở tri thức
Hình dưới đây thể hiện mô hình ứng dụng hệ cơ sở tri thức
Hình 1: Mô hình ứng dụng hệ cơ sở tri thức [7]
Trang 16Trong đó:
Knowledge Engineer (b tiếp nhận tri thức): làm nhiệm vụ thu nhận tri thức từ con người/chuyên gia thông qua giao diện để đưa vào cơ sở tri thức
Database Management System: b quản lý cơ sở dữ liệu
Database: Cơ sở dữ liệu lưu tri thức được biểu di n thành các luật và sự kiện
Knowledge Interference Engine (máy suy di n): Sử dụng các luật, sự kiện
và các kĩ thuật suy di n (suy di n tiến, suy di n lùi, ) để rút ra kết luật về vấn đề đang giải quyết
Interference: giao diện người sử dụng, cho phép nhận dữ liệu từ người sử dụng và hiển thị n i dung kết luận từ b máy suy di n
2.2.3 Biểu diễn sự iện – luật trong hệ cơ sở tri thức
Trong mô hình hệ cơ sở tri thức, các dữ liệu tri thức bao gồm sự kiện và luật được các chuyên gia đưa vào hệ thống thông qua tính năng quản lý cơ sở tri thức Các dữ liệu này sẽ được b máy suy di n sử dụng để trả lời các câu hỏi của người sử dụng
Khi đó các thông tin này được biểu di n theo dạng như sau:
Mã sự kiện Loại sự kiện Mô tả
Sự kiện [x] thuộc loại sự kiện [y] có nội dung [z]
+ Mã sự kiện là mã số của sự kiện để phân biệt các sự kiện khác nhau + Loại sự kiện: là mã số phân loại mà thông tin sự kiện đó biểu di n ( các loại sự kiện đã được thể hiện ở trên)
+ Mô tả: thông tin mà sự kiện đó biểu di n
Việc biểu di n sự kiện trong hệ cơ sở tri thức có thể được thể hiện như bảng ví
dụ dưới đây:
Trang 17Bảng 1: Ví dụ biểu di n sự kiện trong hệ cơ sở tri thức
8 8 Không bị mắc bệnh đái tháo đường
Luật suy di n là hệ thống các ràng bu c giữa các sự kiện đã được biểu di n trong
hệ thống với nhau Từ luật suy di n thể hiện quan hệ giữa các sự kiện, mô tả qua
1 sự kiện nào đó được sinh ra từ tập hợp các sự kiện khác Trong hệ thống, luật suy di n được biển di n như sau:
Mã luật Điều kiện Kết luận Độ tin cậy (F)
Biểu di n:
Nếu (sự kiện( )^ sự kiện( ) ^ sự kiện( )) thì ((sự kiện( )) với độ tin cậy
(y%)
Mã luật: Mã số của luật để phân biệt các luật khác nhau
Điều kiện: Tập hợp mã số các sự kiện bắt bu c để dẫn tới sự kiện kết luận
Kết luật: Sự kiện được suy ra cuối cùng từ tập hợp các sự kiện ràng bu c đó
Đ tin cậy: đ chính xác của luật suy di n được đánh giá từ các chuyên gia
2.2.4 Khoảng cách giữa các sự iện
Dựa trên các sự kiện và tập luật, nghiên cứu có thể thể hiện sự liên kết giữa các sự kiện bằng phương pháp sử dụng đồ thị Fact Precedence Graph (FPG), là
đồ thị thể hiện mối liên quan giữa sự kiện này với sự kiện khác
Trang 18Giả sử với tập luật nhƣ sau:
1) 9)
2) 10)
3) 11)
4) 12)
5) 13)
6) 14)
7) 15)
8) 16)
Khi đó đồ thị FPG sẽ đƣợc xây dựng nhƣ hình sau: Hình 2: Đồ thị Fact Precedence Graph (FPG) [7] Khởi tạo khoảng cách giữa các sự kiện theo điều kiện nhƣ sau: Với mỗi luật ( , khoảng cách giữa và p sẽ là 1 foreach rule ←R { rule = ( ;
Trang 19Giải thuật đƣợc thực hiện nhƣ sau:
} }
Trang 20(generalize) từ các dữ liệu học – bằng cách gán và điều ch nh (thích nghi) các giá trị trọng số (mức đ quan trọng) của các liên kết giữa các nơ-ron [9]
2.3.2 Các thành phần cơ bản
a Đơn vị xử lý
Đơn vị xử lý trong mạng nơ-ron còn được gọi là m t nơ-ron hay m t nút (node), thực hiện m t công việc rất đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trước hay m t nguồn bên ngoài và sử dụng chúng để tính tín hiệu ra sẽ được lan truyền sang các đơn vị khác Đơn vị xử lý trong mạng nơ-ron được thể hiện trong hình sau:
Hình 3: Đơn vị xử lý trong mạng nơ-ron Trong đó:
xi: các đầu vào
wji : các trọng số tương ứng với các đầu vào
bj : đ lệch (bias)
aj : đầu vào mạng (net-input)
zj : đầu ra của nơ-ron
g(x): hàm chuyển (hàm kích hoạt)
b Liên ết nơ-ron
Liên kết nơ-ron là m t thành phần của mạng nơ-ron nhân tạo để liên kết giữa các nơ-ron, nó nối đầu ra của nơ-ron lớp này với đầu vào của m t nơ-ron trong lớp khác Đặc trưng của thành phần liên kết là m t trọng số mà mỗi tín hiệu
Trang 21đi qua đều được nhân với trọng số này Các trọng số liên kết chính là các tham số
tự do cơ bản của mạng neuron, có thể thay đổi được nhằm thích nghi với môi trường xung quanh
Có thể xem các trọng số là phương tiện để lưu trữ thông tin dài hạn trong mạng nơ-ron và nhiệm vụ của quá trình huấn luyện của mạng là cập nhật các trọng số khi có thêm thông tin về mẫu học Hay nói m t cách khác, các trọng số đều được điều ch nh sao cho dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trường đang xem xét
c Hàm ết hợp
Mỗi m t đơn vị trong m t mạng kết hợp các giá trị đưa vào nó thông qua các liên kết với các đơn vị khác, sinh ra m t giá trị gọi là net input Hàm thực hiện nhiệm vụ này gọi là hàm kết hợp (combination function), được định nghĩa bởi m t luật lan truyền cụ thể Trong phần lớn các mạng nơ-ron, giả sử rằng mỗi
m t đơn vị cung cấp m t b c ng như là đầu vào cho đơn vị mà nó có liên kết, khi đó tổng đầu vào đơn vị j đơn giản ch là tổng trọng số của các đầu ra riêng lẻ
từ các đơn vị kết nối c ng thêm ngưỡng hay đ lệch (bias) bj:
∑
Trường hợp wji > 0, nơ-ron được coi là đang ở trong trạng thái kích thích Tương tự, nếu như wji < 0, nơ-ron ở trạng thái kiềm chế Các đơn vị với luật lan truyền như trên được gọi là các sigma units
Trong m t vài trường hợp người ta c ng có thể sử dụng các luật lan truyền phức tạp hơn M t trong số đó là luật sigma-pi, có dạng như sau:
∑ ∏
Rất nhiều hàm kết hợp sử dụng m t "đ lệch" hay "ngưỡng" để tính net input tới đơn vị Đối với m t đơn vị đầu ra tuyến tính, thông thường, bj được chọn là hằng số và trong bài toán xấp x đa thức bj = 1
Trang 22n n
12 Compet a = 1 với Nơron có n lớn nhất
a = 0 với các Nơron còn lại
Trang 23Hàm sigmoid đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện bởi thuật toán lan truyền ngược (back-propagation), bởi vì nó d lấy đạo hàm, do đó
có thể giảm đáng kể tính toán trong quá trình huấn luyện Hàm này được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng [0,1]
2.3.3 Các mô hình mạng thường gặp
Các lớp trong mạng nơ-ron được chia thành 3 loại: lớp đầu vào (input layer), lớp ẩn (hidden layer), và lớp đầu ra (output layer) Các mô hình mạng được thể hiện bởi số lớp, số node trên mỗi lớp, và sự liên kết giữa các lớp Các mạng về tổng thể được chia thành 2 loại: mạng truyền thẳng (Feed forward neural network) và mạng hồi quy (Recurrent neural network)
Trong mạng nơ-ron truyền thẳng, dòng dữ liệu từ đơn vị đầu vào đến đơn vị đầu ra ch được truyền thẳng Việc xử lý dữ liệu có thể mở r ng ra nhiều lớp, nhưng không có các liên kết phản hồi Nghĩa là, các liên kết mở r ng từ các đơn
vị đầu ra tới các đơn vị đầu vào trong cùng m t lớp hay các lớp trước đó là không cho phép Mô hình mạng nơ-ron truyền thẳng được biểu di n như hình dưới đây:
Trang 24trạng thái ổn định và các giá trị kích hoạt không thay đổi nữa Mô hình mạng ron hồi quy được biểu di n như hình dưới đây:
nơ-Hình 5: Mạng nơ-ron hồi quy
2.3.4 Thuật toán lan truyền ngược
a Mạng truyền thẳng nhiều lớp (Multi Layer Perceptron)
Mạng truyền thẳng nhiều lớp bao gồm m t lớp đầu vào, m t lớp đầu ra và
m t hoặc nhiều lớp ẩn Các nơ-ron đầu vào thực chất không phải các nơ-ron theo đúng nghĩa, bởi lẽ chúng không thực hiện bất kỳ m t tính toán nào trên dữ liệu vào, đơn giản nó ch tiếp nhận các dữ liệu vào và chuyển cho các lớp kế tiếp Trong mạng truyền thẳng nhiều lớp (MLP) có thể hiểu lớp đầu vào thể hiện các thu c tính của dữ liệu đầu vào, mỗi m t node tương đương với m t thu c tính của dữ liệu đầu vào Các nơ-ron ở lớp ẩn và lớp ra mới thực sự thực hiện các tính toán, kết quả được định dạng bởi hàm đầu ra (hàm chuyển) Cụm từ “truyền thẳng” (feed forward) liên quan đến m t thực tế là tất cả các nơ-ron ch có thể được kết nối với nhau theo m t hướng tới m t hay nhiều các nơ-ron khác trong lớp kế tiếp (loại trừ các nơ-ron ở lớp ra) Mô hình mạng truyền thẳng nhiều lớp được biểu di n như hình dưới đây:
Trang 25Hình 6: Mạng lan truyền thẳng nhiều lớp
Trong mạng, mỗi liên kết gắn với m t trọng số, trọng số này được thêm vào trong quá trình tín hiệu đi qua liên kết đó Mỗi nơ-ron tính toán mức kích hoạt của chúng bằng cách c ng tổng các đầu vào và đưa ra hàm chuyển M t khi đầu
ra của tất cả các nơ-ron trong m t lớp mạng cụ thể đã thực hiện xong tính toán thì lớp kế tiếp có thể bắt đầu thực hiện tính toán của mình bởi vì đầu ra của lớp hiện tại tạo ra đầu vào của lớp kế tiếp Khi tất cả các nơ-ron đã thực hiện tính toán thì kết quả được trả lại bởi các nơ-ron đầu ra
Với việc tính toán như vậy, giá trị đầu ra với mỗi b dữ liệu đầu vào có thể sai lệch với kết quả mong đợi, vì thế cần hiệu ch nh lại giá trị các trọng số của liên kết các node để kết quả đầu ra phù hợp với kết quả mong đợi
b Thuật toán lan truyền ngược (Back-Propagation)
Thuật toán lan truyền ngược là m t thuật toán học sử dụng để điều ch nh hiệu năng của mạng sao cho mạng có khả năng sinh ra được các kết quả mong muốn Quá trình học trong mạng nơ-ron với thuật toán lan truyền ngược bao gồm các bước:
Mỗi mẫu đầu vào trong tập mẫu học được áp dụng cho các node lớp vào
và sau đó được lan truyền tiến
Mẫu sau khi được lan truyền đến lớp đầu ra được so sánh với mẫu ra (đầu
ra lý tưởng) để tính toán lỗi đầu ra
Trang 26 Lỗi ứng với mỗi mẫu đầu ra sau đó được lan truyền ngược từ các đầu ra tới các đầu vào nhằm điều ch nh các trọng số m t cách thích hợp trong mỗi lớp của mạng
Sau khi mạng lan truyền ngược được huấn luyện phân loại chính xác cho các tập mẫu học, nó có thể được kiểm tra trên m t tập mẫu chưa qua huấn luyện (kiểm tra năng lực dự báo của mạng) Nếu năng lực dự báo đủ tốt, mạng có thể được dừng để sử dụng cho việc dự báo
Mô hình mạng với thuật toán lan truyền ngược sai số được biểu di n như hình dưới đây:
Hình 7: Mô hình mạng với thuật toán lan truyền ngược sai số
Trang 27Quá trình lan truyền tiến được thể hiện như sau:
Hình 8: Quá trình lan truyền tiến
Với mẫu huấn luyện cụ thể vào lớp đầu vào, giá trị Netinput của nốt thứ h trong lớp ẩn có công thức như sau:
∑ Giá trị Net được đưa vào hàm truyền để tính giá trị output của nơ-ron h, giá trị output này sẽ được coi như input cho nơ-ron của lớp tiếp theo
Hình 9: Công thức tính output cho 1 node trong mạng nơ-ron
Với giải thuật lan truyền ngược, hàm được sử dụng thường là hàm Sigmoid
Trong quá trình lan truyền ngược, luật học Gradient Descent sẽ được sử dụng để xác định trọng số tối thiểu của hàm lỗi Tổng giá trị lỗi được tính theo công thức:
Trang 28∑ Với luật học Gradient Descent, Gradient ∇Exác định hướng gây việc tăng nhanh nhất đối với lỗi E, qua đó điều ch nh các trọng số bằng việc xem xét đạo hàm của E trên từng trọng số
E
Khi đó
Sử dụng luật delta:∆w5 = η δo1 outh1 + α ∆ ( với α là hệ số quán tính)
Tính giá trị trọng số mới ta có: w5 = w5 + ∆w5 và áp dụng tương tự để tính giá trị các trọng số mới còn lại
Trang 29CHƯƠNG 3: ĐỀ XUẤT MÔ HÌNH HỆ THỐNG HỖ TRỢ CHẨN ĐOÁN BỆNH SỬ DỤNG MẠNG NEURAL
3.1 Mô hình ứng dụng hỗ trợ chẩn đoán bệnh đái tháo đường
Kiến trúc mô hình đề xuất cho ứng dụng hỗ trợ chẩn đoán bệnh ĐTĐ được biểu di n như hình dưới đây:
Hình 10: Kiến trúc hệ thống mô hình đề xuất
Trong đó, kiến trúc hệ thống sẽ bao gồm các thành phần sau:
Cơ sở dữ liệu tri thức: bao gồm sự kiện và luật suy di n được biểu di n trong cơ sở dữ liệu CSDLTT được sử dụng để xác định các thu c tính đầu vào c ng như các tham số trong mạng nơ-ron bao gồm: số lớp ẩn, số node trong mỗi lớp ẩn
Trang 30 Mạng nơ-ron: mô hình mạng nơ-ron truyền thẳng sử dụng giải thuật lan truyền ngược, trong đó các giá trị đầu vào và các tham số của mô hình được quyết định bởi cơ sở dữ liệu tri thức (CSDLTT)
Dữ liệu học: b dữ liệu được sử dụng cho quá trình học và đánh giá đ chính xác Dữ liệu học cần được xử lý trước khi đưa vào quá trình học của
3.2 Đầu vào và đầu ra
Trong CSDLTT, dữ liệu đầu vào sẽ bao gồm các sự kiện và luật suy di n sẽ được quản lý bởi chuyên gia Dữ liệu tri thức sẽ được phân tích, xây dựng cây AND – OR và đưa ra các tham số để xây dựng cho mô hình mạng nơ-ron bao gồm: Tổng số lớp ẩn, số Node trong từng lớp ẩn
Sơ đồ quá trình học của mạng nơ-ron dựa trên CSDLTT được biểu di n bằng sơ đồ hoạt đ ng sau:
Trang 31Hình 11: Sơ đồ hoạt đ ng quá trình học của mạng nơ-ron kết hợp CSDLTT
Dựa trên sơ hồ hoạt đ ng trên ta có thể nhận thấy các hoạt đ ng chính sau:
Người sử dụng là chuyên gia sẽ quản lý CSDLTT thông qua giao diện người dùng, dữ liệu sẽ được lưu trong cơ sở dữ liệu (CSDL) bao gồm các
sự kiện và luật suy di n
Các sự kiện và luật suy di n trong CSDLTT sẽ được sử dụng để lựa chọn thu c tính đầu vào cho mô hình mạng nơ-ron thông qua kết quả của quá trình tính khoảng cách của các sự kiện, đồng thời kết quả của quá trình
Trang 32xây dựng cây AND – OR sẽ được sử dụng để xác định các tham số trong
mô hình mạng nơ-ron bao gồm số lớp ẩn và số node trong mỗi lớp ẩn
B dữ liệu UCI sẽ được phân tích và được xử lý Các bước xử lý dữ liệu bao gồm: xử lý dữ liệu ngoại lai và tạo thu c tính mới Sau đó dữ liệu sẽ được chuẩn hóa về khoảng [0,1]
B dữ liệu đã được chuẩn hóa sẽ được chia làm dữ liệu học và dữ liệu test
Trong quá trình học, dữ liệu học sẽ được đưa vào mô hình mạng nơ-ron để thực hiện việc huấn luyện mạng và tính toán trọng số cuối cùng
B dữ liệu test sẽ được sử dụng cho quá trình đánh giá mô hình thông qua tính toán đ chính xác của mạng sau khi được huấn luyện trên tập dữ liệu test
Nếu mô hình đạt kết quả không tốt, hệ thống sẽ tiếp tục được chuyên gia cập nhật tri thức và mô hình mới sẽ được tự đ ng hình thành và quá trình học và đánh giá sẽ được lặp lại
Nếu mô hình đạt kết quả tốt sẽ được sử dụng để tích hợp vào sản phẩm ứng dụng hỗ trợ chẩn đoán bệnh đái tháo đường
Từ các quá trình trên có thể nhận thấy mô hình mạng nơ-ron kết hợp CSDLTT có khả năng tự xây dựng mô hình mạng nơ-ron và tự cải thiện kết quả dựa trên chính các tri thức của chuyên gia, vì thế mô hình sẽ có tính linh hoạt để
áp dụng cho nhiều lĩnh vực c ng như linh hoạt trong việc nâng cấp và cải thiện hiệu năng
3.3 Mô tả dữ liệu học
Dữ liệu sử dụng cho nghiên cứu được bao gồm 768 bản ghi dữ liệu bệnh nhân bao gồm 3 loại dữ liệu là: kết quả kiểm tra y tế thực tế, thông tin lịch sử từ bệnh nhân và thông tin mắc bệnh của người thân Danh sách các thu c tính được
mô tả trong bảng dưới đây:
Trang 33Bảng 3: Mô tả thu c tính trong tập dữ liệu
Thuộc tính Kiểu dữ
Tỉ lệ thiếu dữ liệu (%)
Pregnancies Number Số lần mang thai (bao gồm
0
Blood Pressure Number Huyết áp tâm trương 0
Skin Thickness Number Ch số nếp véo da 0
Insulin Number Đo nồng đ Insulin 2 giờ
+ 1: bệnh nhân mắc bệnh đái tháo đường
0
Khoảng giá trị các thu c tính của dữ liệu được thể hiện trong biểu đồ histogram dưới đây:
Trang 34Hình 12: Biểu đồ histogram các thu c tính của dữ liệu
3.4 Xử lý dữ liệu
Trong quá trình xử lý dữ liệu, luận văn sẽ trình bày các bước thường được áp dụng để chuẩn hóa dữ liệu thô trong b dữ liệu là làm sạch và quy chuẩn dữ liệu
3.4.1 Xử lý dữ liệu ngoại lai
Dữ liệu ngoại lai thông thường là những thông tin dữ liệu không chính xác
về mặt hình thức: thiếu trường dữ liệu, sai kiểu dữ liệu, dữ liệu không đúng về mặt ý nghĩa, Trong b dữ liệu không có bản ghi có dữ liệu thiếu, tất cả các thu c tính đều có dữ liệu Tuy nhiên trong đó vẫn có những dữ liệu không chính xác về mặt ngữ nghĩa:
Dữ liệu BMI có giá trị bằng 0
Dữ liệu Glucose có giá trị bằng 0
Dữ liệu Blood Pressure có giá trị bằng 0
Dữ liện Skin Thickness có giá trị bằng 0