..
BỘ 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 ĐỐ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
BỘ 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 ĐỐ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
LỜ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 q
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
1
LỜ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ọ
2
MỤ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 tố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 đố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
3.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 đố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
DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT
Chữ viết tắt
Viết đầy đủ
Ý nghĩa
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
Mạng nơ-ron nhân tạo dựa
Neural Network
trên cơ sở tri thức
FPG
Fact Precedence Graph
Đồ thị liên kết sự kiện
UCI
Center for Machine Learning
Trung tâm học máy và các hệ
and Intelligent Systems at the
thống thông minh của trƣờng
University of California, Irvine. đại học California, Irvine.
HbA1c
Hemoglobin đặc biệt kết hợp
Glycated hemoglobin
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
Hàm truyền ReLU.
Rectified Linear Unit
3
DANH 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 q 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
4
DANH 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 tố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 tố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 tố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
5
Hì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 đố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
6
CHƢƠ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 đồ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 đốn chính xác
tình trạng bệnh bạch cầu hiếm gặp ở bệnh nhân.
7
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 đố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
phân loại bệnh viêm thận và 95
cho việc
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 chun gia vào mơ hình, nhờ vậy đ chính xác
trong việc chẩn đố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Đ.
8
1.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 đố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 đố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
chun gia, vì thế sẽ có đ chính xác cao hơn với mạng nơ-ron thông thƣờng.
9
Sau đó, 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 đố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 tố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
đốn bệnh.
Chƣơng 4: Chƣơng thực nghiệm, đánh giá mơ tả kết quả của mơ hình
đố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.
10
CHƢƠ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 chun 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ệ chun 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]
11
Trong đó:
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ả
x
y
z
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:
12
Bảng 1: Ví dụ biểu di n sự kiện trong hệ cơ sở tri thức
Sự iện
Loại sự iện
Mô tả
1
1
Tuổi dƣới 30
2
1
Tuổi trên 50
3
2
Ch số BMI > 40
4
3
Trong gia đình có ngƣời mắc bệnh ĐTĐ.
5
4
Nồng đ Insulin > 43 pmol/L
6
7
Từng mang thai trên 3 lần.
7
8
Bị mắc bệnh đái tháo đƣờng
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:
Điều kiện
Mã luật
x
Kết luận
Độ tin cậy (F)
y%
(
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.
13
Giả 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 = (
;
14
←(
foreach
{
Set kc(
}
}
Từ đồ thị có thể đánh giá đƣợc khoảng cách giữa m t sự kiện hiện tại và sự kiện
cuối cùng mong muốn đạt đƣợc. Ví dụ khoảng cách từ
→ S là 3. Để tính
đƣợc khoảng cách giữa tất cả các sự kiện của đồ thị, luận văn đề xuất sử dụng
giải thuật Floyd.
Giải thuật đƣợc thực hiện nhƣ sau:
foreach
←(
{
←(
foreach
{
←(
foreach
if kc(
{
) > kc(
kc(
) + kc(
) = kc(
){
) + kc(
)
}
}
}
}
2.3. Mạng nơ-ron nhân tạo
2.3.1. Khái niệm
Mạng nơ-ron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng
nơ-ron, là m t mơ hình tốn học hay mơ hình tính tốn đƣợc xây dựng dựa trên
các mạng nơ-ron sinh học [8]. Nó đƣợc tạo lên từ m t số lƣợng lớn các phần tử
(gọi là phần tử xử lý hay nơ-ron) kết nối với nhau thông qua các liên kết (gọi là
trọng số liên kết) làm việc nhƣ m t thể thống nhất để giải quyết m t vấn đề cụ
thể. Mạng nơ-ron có khả năng học (learn), nhớ lại (recall), và khái quát hóa
15
(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 ngồ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
16
đ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 hồn tồ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.
17
d. Hàm ích hoạt.
Phần lớn các đơn vị trong mạng nơ-ron chuyển net input bằng cách sử dụng m t
hàm vơ hƣớng (scalar-to-scalar function) gọi là hàm kích hoạt, kết quả của hàm này là
m t giá trị gọi là mức đ kích hoạt của đơn vị (unit's activation). Loại trừ khả năng
đơn vị đó thu c lớp ra, giá trị kích hoạt đƣợc đƣa vào m t hay nhiều đơn vị khác. Các
hàm kích hoạt thƣờng bị ép vào m t khoảng giá trị xác định, do đó thƣờng đƣợc gọi là
các hàm bẹp (squashing). Các hàm kích hoạt hay đƣợc sử dụng là:
Bảng 2: M t số hàm kích hoạt thơng dụng
Số thứ tự
Cơng thức tính
Tên hàm
f 0
f 0
1
Hàm nhảy(hardlim)
1
a( f )
0
2
Hàm ngƣỡng(hardlims)
1
a( f ) sgn( f )
1
3
Hàm dốc(Satlin)
1
a( z ) z
0
4
Hàm Sigmoidal 1 cực
5
Hàm Sigmoidal 2 cực
6
Hàm Gauss
( z ) e z
7
Hàm Logistic
a( z )
8
Purelin
a=n
9
Satlins
a = -1
với n < 0
a=n
với 0 n 1
a=1
với n > 1
10
11
12
Tansig
Poslin
z 1
0 z 1
z0
a( z )
1
, 0
1 e z
a( z )
2
1, 0
1 e z
a
f 0
f 0
2
1
1 e z
en en
1 e n
a0
với n < 0
a=n
với n 0
a = 1 với Nơron có n lớn nhất
Compet
a = 0 với các Nơron còn lại
18
Hà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 tốn trong q 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:
Hình 4: Mạng nơ-ron truyền thẳng
Khác với mạng truyền thẳng, trong mạng hồi quy có chứa các liên kết
ngƣợc giữa các node, vì thế các thu c tính đ ng của mạng mới quan trọng. Trong
m t số trƣờng hợp, các giá trị kích hoạt của các đơn vị trải qua quá trình nới lỏng
(tăng giảm số đơn vị và thay đổi các liên kết) cho đến khi mạng đạt đến m t
19
trạ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 nơron hồi quy đƣợc biểu di n nhƣ hình dƣới đây:
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 tố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 tố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:
20
Hì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 q trình tín hiệu đi qua liên kết đó. Mỗi nơ-ron tính tố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 tốn thì
lớp kế tiếp có thể bắt đầu thực hiện tính tố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 tốn thì
kết quả đƣợc trả lại bởi các nơ-ron đầu ra.
Với việc tính tố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 tốn lỗi đầu ra.
21