TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: NGHIÊN CỨU THUẬT TOÁN BAYES VÀ XÂY DỰNG ỨNG DỤNG DỰ ĐOÁN SUY DINH DƯỠNG CHO TRẺ TỪ 0 - 12 THÁ
Trang 1TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TRÍ TUỆ NHÂN TẠO
ĐỀ TÀI: NGHIÊN CỨU THUẬT TOÁN BAYES VÀ XÂY DỰNG ỨNG DỤNG DỰ ĐOÁN SUY DINH DƯỠNG CHO TRẺ TỪ 0 - 12 THÁNG TUỔI
DỰA TRÊN CÂN NẶNG VÀ CHIỀU CAO Nhóm sinh viên thực hiện :
Trang 2MỤC LỤC
MỞ ĐẦU 3 CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI 4 1.1 Tổng quan về hệ trợ giúp ra quyết định (DSS - Decision Support System).
Error! Bookmark not defined.
1.1.1 Hệ thống thông tin Error! Bookmark not defined 1.1.2 Hệ trợ giúp quyết định (DSS - Decision Support System) Error! Bookmark not defined.
1.1.2.1 Thông tin Error! Bookmark not defined 1.1.2.2 Quyết định Error! Bookmark not defined 1.1.2.3 Hệ trợ giúp quyết định (DSS) Error! Bookmark not defined 1.2 Tổng quan bài toán Error! Bookmark not defined 1.2.1 Kỹ năng mềm Error! Bookmark not defined 1.2.2 Tổng quan bài toán Error! Bookmark not defined 1.3 Công nghệ sử dụng Error! Bookmark not defined 1.3.1 Excel Error! Bookmark not defined 1.3.2 Ứng dụng excel trong hệ hỗ trợ ra quyết định Error! Bookmark not defined.
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ HỖ TRỢ RA QUYẾT ĐỊNH Error! Bookmark not defined.
2.1 Yêu cầu của bài toán Error! Bookmark not defined 2.2 Phân tích bài toán Error! Bookmark not defined 2.2.1 Nội dung bài toán thực tế Error! Bookmark not defined 2.2.2 Thông tin đầu vào Error! Bookmark not defined 2.2.3 Thông tin đầu ra Error! Bookmark not defined 2.2.4 Hoạt động của hệ hỗ trợ Error! Bookmark not defined CHƯƠNG 3 ỨNG DỤNG HỆ TRỢ GIÚP QUYẾT ĐỊNH TRONG GIẢI
QUYẾT BÀI TOÁN Error! Bookmark not defined 3.1 Xác định các tiêu chí Error! Bookmark not defined 3.2 Thực hiện tính toán theo phương pháp TOPSIS Error! Bookmark not defined.
3.3 Mục tiêu đạt được Error! Bookmark not defined 3.3.1 Trước khi sử dụng Error! Bookmark not defined 3.3.2 Sau khi sử dụng Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO Error! Bookmark not defined.
Trang 3MỞ ĐẦU
Trong thời đại công nghệ đang phát triển vô cùng mạnh mẽ ngày nay, thì việc
sử dụng trí tuệ nhân tạo trong dự báo dự đoán đang dần trở nên vô cùng phổ biến.Ngoài lĩnh vực kinh tế, tài chính, thời tiết…Thì y tế là một trong những lĩnh vực mà trítuệ nhân tạo có rất nhiều cơ hội để phát triển
Dựa trên tình trạng cũng thực tế đó, nhóm quyết định chọn đề tài “Nghiên cứuthuật toán Bayes và xây dựng ứng dụng dự đoán suy dinh dưỡng cho trẻ từ 0 - 12tháng tuổi dựa trên cân nặng và chiều cao” để thực hành kiến thức trong môn học trítuệ nhân tạo và đồng thời cũng là để học hỏi thêm kinh nghiệm phục vụ cho công việcsau này
Bài bài báo cáo của nhóm được chia thành 3 phần chính gồm:
Chương 1 Tổng quan về trí tuệ nhân tạo
Chương 2 Áp dụng phương pháp bayes vào bài toán dự đoán suy dinh dưỡngcho trẻ từ 0 - 12 tháng tuổi dựa trên cân nặng và chiều cao
Chương 3 Thực nghiệm và đánh giá kết quả
Nhưng do thời gian và năng lực có hạn, nên bản báo cáo của nhóm sẽ khôngtránh khỏi những sai sót Vì thế nhóm rất mong sẽ được nhận ý kiến đóng góp để cóthể chỉnh sửa, bổ sung những phần thiếu sót cũng như hoàn thành lại bài báo cáo mộtcách tốt nhất
Nhóm 1 xin chân thành cảm ơn !
Trang 4CHƯƠNG I TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO.
1.1 Tổng quan về trí tuệ nhân tạo.
Dưới đây là một số cách tiếp cận chính của trí tuệ nhân tạo:
Lấy con ngươì làm tiêu chuẩn: Nghiên cứu tâm lý và thần kinh học để môphỏng nhận thức con người và dựa trên đó xây dựng hệ thống
Lấy kết quả làm tiêu chuẩn: Không nhất thiết phải xây dựng hệ thống môphỏng người
Lấy hành vi và hành động làm mục đích: Có thể có quá trình lập luận đểhướng dẫn hành động hoặc không
1.1.2 Lịch sử phát triển.
a) Giai đoạn tiền khởi đầu (1943-1955).
Năm 1943, Warren McCulloch và Walter Pitts mô tả mô hình mạng nơ ron nhântạo đầu tiên và cho thấy mạng nơ ron nhân tạo có khả năng biểu diễn nhiều hàm sốtoán học
Năm 1950, Alan Turing công bố bài báo nhắc tới trí tuệ máy, trong đó lần đầutiên mô tả khái niệm phép thử Turing, học máy, thuật toán di truyền và học tăngcường
Năm 1956 được coi là năm chính thức ra đời của trí tuệ nhân tạo John McCathycùng 9 nhà nghiên cứu trẻ đã tổ chức một cuộc hội thảo kéo dài hai tháng tại trườngđại học Darmuoth với mục đích đặt nền móng đầu tiên cùng với tên gọi chính thức củatrí tuệ nhân tạo “Artificial Intelligence”
b) Giai đoạn khởi đầu (1952-1969).
Năm 1952, Arthur Samuel phát triển chương trình chơi cờ đam với khả năng tựhọc
Năm 1958, John McCarthy phát triển ngôn ngữ lập trình Lisp, sau này trở thànhmột trong hai ngôn ngữ thông dụng nhất của trí tuệ nhân tạo
Các chương trình như Logic Theorist và General Problem Solver (GPS) chứngminh định lý toán học theo cách tương tự con người
Trang 5Năm 1962, mạng nơ ron nhân tạo tiếp tục được phát triển, các nghiên cứu đãchứng minh khả năng học của mạng nơ ron.
Năm 1965, John Alan Robinson phát minh ra cách chứng minh và suy diễn bằngcách sử dụng phép giải cho logic vị từ
c) Một số khó khăn và giai đoạn trầm lắng.
Từ năm 1974 tới năm 1980 được gọi là giai đoạn "mùa đông trí tuệ nhân tạo" khicác dự án thất bại và gặp phải khó khăn trong việc xử lý các bài toán phức tạp
Tiếp đó, từ năm 1987 tới 1993, "Mùa đông trí tuệ nhân tạo" lần thứ hai xuất hiện
đi kèm với nó là sự đi xuống của thị trường hệ chuyên gia và thất bại của dự án máytính thế hệ năm
d) Hệ thống dựa trên tri thức (1969-1979).
Phát triển các hệ chuyên gia sử dụng tri thức từ các chuyên gia để giải quyết cácbài toán phức tạp
Năm 1967, DENDRAL là chương trình hệ chuyên gia xây dựng tại trườngStandford, cho phép dự đoán cấu trúc phân tử hữu cơ
Năm 1974, MYCIN là hệ chuyên gia cho phép chuẩn đoán bệnh nhiễm trùngmáu
Năm 1972, Alain Colmerauer phát triển ngôn ngữ Prolog cho lập trình logic
e) Trí tuệ nhân tạo và các sản phẩm thương mại (Từ năm 1980 đến nay).
Việc xây dựng hệ chuyên gia được thương mại hóa từ năm 1980 và đặc biệt pháttriển cho tới năm 1988
Sau giai đoạn này, do một số hạn chế của hệ chuyên gia, trí tuệ nhân tạo đã rơivào một giai đoạn trì trệ và không có những bước tiến đáng kể
Trong những năm 1980s - mạng nơ-ron nhân tạo quay trở lại sau giai đoạn bị bỏquên, đi kèm với đó thì các phát minh về deep learning (học sâu) đã giúp cải thiện các
hệ thống nhận dạng và phân loại
Vào năm 1981, chính phủ Nhật Bản khởi động chương trình xây dựng máy tínhthế hệ 5 nhằm xây dựng các máy tính thông minh chạy trên ngôn ngữ Prolog
f) Trí tuệ nhân tạo chính thức trở thành ngành khoa học (Từ năm 1987 đến nay).
Bắt đầu từ năm 1987, trí tuệ nhân tạo đã có phương pháp nghiên cứu riêng củamình, tuân theo các yêu cầu chung đối với phương pháp nghiên cứu khoa học
Hiện nay, đa số giải pháp nhận dạng tiếng nói được xây dựng trên các mô hìnhthống kê như mô hình Markov ẩn (Hidden Markov Models), hay các mạng nơ ronnhiều lớp…
1.1.3 Một số ứng dụng.
Là một trong những phát triển từ khi bắt đầu đã vô cùng có tiềm năng cho tới naythì ta có thể kể tới một số ứng dụng cơ bản của trí tuệ nhân tạo như:
Trang 6 Chương trình trò chơi: Deep Blue (1997 - Chương trình cờ vua của IBM đãđánh bại nhà vô địch thế giới Gary).
Nhận dạng tiếng nói: Có thể kể tới Google và các trợ lý ảo như Siri của Apple,giúp nhận diện và phản hồi lệnh bằng giọng nói
Thị giác máy tính: Trí tuệ nhân tạo có thể nhận dạng được các yếu tố như chữviết, vân tay, tròng mắt
Các thiết bị tự lái: Các xe thám hiểm vũ trụ của NASA khi được ứng dụng trítuệ nhân tạo đã cho phép chúng có khả năng hoạt động mà không cần điềukhiển trực tiếp từ con người
Hệ chuyên gia: Trí tuệ nhân tạo khi được mô phỏng theo trí tuệ của chuyên gia
đã có thể đưa ra khuyến cáo và chẩn đoán trong các lĩnh vực cụ thể (MYCIN chẩn đoán bệnh nhiễm trùng máu)
- Xử lý và hiểu ngôn ngữ tự nhiên: Ứng dụng trí tuệ nhân tạo trong việc tự độnglọc thư rác đã giúp con người giảm bớt khó khăn trong việc quản lý thông tin
Lập kế hoạch và lập thời khóa biểu: Trong quân sự và quản lý hậu cần, việc ứngdụng trí tuệ nhân tạo đã giúp tối ưu hóa các nguồn lực và hoạt động
Rô bốt: Asimo và Nao có thể nói là hai robot khá nổi tiếng được phát triển mà
có mô phỏng được hành vi cũng như chuyển động của con người
1.1.4 Một số hạn chế của trí tuệ nhân tạo.
Mặc dù trí tuệ nhân tạo đã đạt được những thành tựu đáng kể trong nhiều lĩnhvực và mang lại nhiều lợi ích cho con người, nhưng vẫn có một số nhược điểm như:
Thiếu khả năng hiểu ngữ cảnh và trí tuệ tổng quát: Do chỉ hoạt động hiệu quảtrong các nhiệm vụ cụ thể mà nó được huấn luyện vì thế nó thiếu khả năng tổngquát hóa như con người
Khả năng nhận thức và xử lý thông tin gặp khó khăn với tình huống thay đổi ví
dụ như khi nhận diện chữ viết tay không đồng nhất giữa các phong cách viết, trítuệ sẽ hoạt động kém hơn khi nhận diện chữ in
Xử lý ngôn ngữ tự nhiên do có các trường hợp từ ngữ đa nghĩa và sắc thái trongngữ cảnh nhất định
1.2 Tổng quan bài toán.
1.2.1 Suy dinh dưỡng, tác hại và ưu điểm khi được phát hiện sớm ở trẻ sơ sinh (0 – 12 tháng tuổi).
Suy dinh dưỡng là thuật ngữ để chỉ những người không đủ cân nặng hay không
đủ sức khoẻ cũng như có cân nặng không đạt tới cân nặng tiêu chuẩn khi so với chiềucao
Căn bệnh này có thể nói là để lại nhiều hậu quả nặng nề đặc biệt là đối với trẻ em
sơ sinh, khi mắc bệnh này, trẻ sơ sinh sẽ bị mắc chứng chậm phát triển thể chất, trí nãocũng như có sức đề kháng yếu
Trang 7Cho nên việc phát hiện sớm sự suy dinh dưỡng ở trẻ sơ sinh là công việc vô cùngquan trọng trong việc cải thiện được hiệu quả điều trị và hỗ trợ can thiệp kịp thời vớicác biện pháp dinh dưỡng để tăng cường tình trạng sức khỏe cho trẻ.
1.2.2 Tóm tắt bài toán và mục tiêu.
Dự đoán được khả năng bị suy dinh dưỡng cho nhóm trẻ sơ sinh từ 0 – 12 thángtuổi
Đối tượng hướng tới: Nhóm trẻ sơ sinh từ 0 – 12 tháng tuổi
Mục tiêu: Hỗ trợ trong việc dự đoán khả năng bị suy dinh dưỡng thông qua cânnặng và chiều cao
1.2.3 Yêu cầu bài toán.
Suy dinh dưỡng là một vấn đề sức khỏe nghiêm trọng, đặc biệt đối với trẻ emtrong giai đoạn từ 0 - 12 tháng tuổi Trong giai đoạn này, trẻ cần được cung cấp đầy đủdinh dưỡng để phát triển toàn diện cả về thể chất lẫn trí tuệ
Tuy nhiên, sự thiếu hụt dinh dưỡng có thể dẫn đến suy dinh dưỡng, gây ra cácvấn đề nghiêm trọng về tăng trưởng, sức đề kháng và nguy cơ mắc các bệnh mãn tínhtrong tương lai Việc phát hiện sớm các dấu hiệu suy dinh dưỡng và can thiệp kịp thời
là vô cùng quan trọng để bảo vệ sức khỏe và sự phát triển của trẻ nhỏ
Thuật toán Bayes dựa trên Định lý Bayes sử dụng lý thuyết xác suất có thể giúpước lượng được khả năng suy dinh dưỡng của trẻ em từ 0 – 12 tháng dựa trên cácthông tin đã có
Vì thế, thông qua hai yếu tố là chiều cao và cân nặng của trẻ, mô hình NaiveBayes có thể được áp dụng để tính toán được xác suất trẻ có bị suy dinh dưỡng haykhông dựa trên các thông số này
Yêu cầu của bài toán: Xây dựng một ứng dụng sử thuật toán Bayes để tự độngchuẩn đoán suy dinh dưỡng cho trẻ em từ 0-12 tháng tuổi dựa trên chiều cao và cânnặng
Mục tiêu: Giúp các bác sĩ và phụ huynh có thể theo dõi sức khỏe của trẻ, từ đóđưa ra các biện pháp can thiệp kịp thời nếu trẻ có dấu hiệu suy dinh dưỡng
Việc áp dụng thuật toán Bayes vào bài toán này không chỉ cải thiện độ chínhxác trong chẩn đoán mà còn giúp tối ưu hóa quy trình phát hiện suy dinh dưỡng trongcộng đồng
1.2.4 Phân tích bài toán.
Bài toán chẩn đoán suy dinh dưỡng đề ra mục tiêu là dự đoán liệu một trẻ có bị suydinh dưỡng hay không dựa trên các thông số đầu vào là chiều cao và cân nặng
a) Thông tin đầu vào (Input).
Bài toán sử dụng hai đặc trưng chính là:
Chiều cao: Chiều cao của trẻ được đo theo đơn vị cm
Cân nặng: Cân nặng của trẻ được quy chuẩn về kg
Trang 8b) Thông tin đầu ra (Output).
Kết quả của đầu ra sẽ là thông báo về dự đoán tình trạng của trẻ với hai dự đoángồm:
Suy dinh dưỡng
Không suy dinh dưỡng
1.3 Công nghệ sử dụng.
1.3.1 Python.
Python là một ngôn ngữ lập trình máy tính thông dịch vô cùng phổ biến và mạnh
mẽ Ngôn ngữ này được tạo ra vào năm 1989 bởi Guido van Rossum và hiện tại đang
là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới
Chính vì nó khá phổ biến và có một cộng đồng người dùng vô cùng lớn, có thể
kể tới một vài đặc điểm khá nổi bật của ngôn ngữ này như:
Dễ đọc và dễ viết: Với cú pháp rõ ràng và dễ đọc, người dùng có thể dễ dànghiểu và viết mã nguồn
Đa năng: Được sử dụng trong nhiều lĩnh vực như: Phát triển web, trí tuệ nhântạo, khoa học dữ liệu, xử lý hình ảnh, tự động hóa
Cộng đồng người dùng lớn: Chính vì có nhiều người dùng cho nên số lượng vềtài liệu, thư viện cũng như hỗ trợ trực tuyến cho ngôn ngữ này cũng rất nhiều
Thư viện phong phú: Python có nhiều thư viện cũng như các framework rấtmạnh mẽ như NumPy, Pandas, TensorFlow, Django và Flask giúp người dùngxây dựng được các ứng dụng và các dự án phức tạp
Hỗ trợ đa nền tảng: Python có thể dễ dàng tải và cài đặt được trên các hệ điềuhành phổ biến như Windows, macOS và các phiên bản của Linux Chính vì lợithế này mà python dễ dàng trở thành một công cụ linh hoạt cho các dự án đanền tảng
Sử dụng trong dạy học: Python cũng thường được sử dụng để giới thiệu vớinhững người dùng mới về các khái niệm cơ bản như biến, điều kiện, vòng lặp
Trang 9 Hỗ trợ nhiều ngôn ngữ lập trình: Python, C++, C#,…
Nhiều tiện ích mở rộng: Kho tiện ích cho phép lập trình viên tùy chỉnh môitrường làm việc để phù hợp với nhu cầu
Đa nền tảng: Chạy được trên các cả Windows, macOS và Linux
Hỗ trợ gỡ lỗi: Cung cấp công cụ mạnh mẽ để gỡ lỗi trực tiếp giúp lập trình viênphát hiện và sửa lỗi dễ dàng hơn
Visual Studio Code không chỉ nổi bật với nhiều ưu điểm mà còn đặc biệt hỗ trợmạnh mẽ cho Python thông qua các gói mở rộng phong phú và tiện ích Với khả năng
vô cùng mạnh mẽ, VS Code là một trong trình soạn thảo mã nguồn vô cùng phù hợpcho cả những người mới bắt đầu và các chuyên gia trong cộng đồng Python, góp phầnnâng cao chất lượng và tốc độ phát triển phần mềm
1.3.3 Excel.
a) Định nghĩa.
Excel là một phần mềm bảng tính phổ biến được phát triển bởi Microsoft Nó làmột phần của bộ ứng dụng Microsoft Office và được sử dụng rộng rãi cho các nhiệm
vụ liên quan đến tính toán, phân tích dữ liệu, quản lý thông tin và tạo bảng biểu
Excel được sử dụng rộng rãi trong nhiều lĩnh vực và ngành nghề, bao gồm kinh doanh, tài chính, kế toán, quản lý dự án, nghiên cứu, giáo dục và nhiều lĩnh vực khác
Nó là một công cụ quan trọng trong việc xử lý dữ liệu, phân tích và ra quyết định dựa trên thông tin số liệu
c) Nhược điểm.
Mặc dù Excel là một công cụ mạnh mẽ, nó cũng có một số nhược điểm:
Trang 10 Hạn chế quy mô: Excel có hạn chế về quy mô dữ liệu nếu cần làm việc với hàng nghìn hoặc hàng triệu dòng dữ liệu, Excel có thể không đáp ứng được nhu cầu.
Khó khăn trong việc quản lý dữ liệu: Excel không được thiết kế để làm việc như một hệ quản trị cơ sở dữ liệu đầy đủ
Dễ xảy ra lỗi: Excel phụ thuộc vào công thức và công thức có thể dễ bị sai sót Một lỗi nhỏ trong công thức có thể dẫn đến kết quả không chính xác hoặc dẫn đến quyết định sai
Trang 11CHƯƠNG 2: ÁP DỤNG PHƯƠNG PHÁP BAYES VÀO BÀI TOÁN DỰ ĐOÁN SUY DINH DƯỠNG CHO TRẺ TỪ 0 - 12 THÁNG TUỔI DỰA TRÊN CÂN NẶNG VÀ CHIỀU CAO.
2.1 Phương pháp Bayes.
Phương pháp Bayes là một định lý trong xác suất và thống kê, được đặt theo tên củanhà toán học và triết gia Thomas Byes Định lý này cho phép tính xác suất của một sựkiện dựa trên thông tin đã biết trước, có thể nói đây là một trong những công thức quantrọng nhất trong xác suất và thống kê
Byes được sử dụng rộng rãi trong nhiều lĩnh vực, như trí tuệ nhân tạo, thống kê, y học,công nghệ thông tin và các ngành khác
2.1.1 Định lý Byes.
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên C khi biết sựkiện liên quan X đã xảy ra Xác suất này được ký hiệu là P(C|X) và được gọi là "xácsuất của C nếu có X"
P(X∣C): Xác suất của đặc trưng X khi biết C – Xác suất có điều kiện
P(C): Xác suất sự kiện C xảy ra - Xác suất tiên nghiệm
P(X): Xác suất của đặc trưng X
Bằng cách so sánh xác suất hậu nghiệm của mỗi sự kiện C xảy ra khi biết sự kiện X, ta
có thể đưa ra dự đoán về kết quả sẽ xảy ra
2.1.3 Giải pháp Laplace corection.
Trong quá trình tính xác suất bằng phương pháp Bayes, trường hợp xuất hiện xác suất bằng 0 do dữ liệu được xét là dữ liệu hiếm gặp hoặc dữ liệu được dùng không có độ phủ rộng…
Chính vì thế, để giải quyết tình trạng này thì giải pháp “Laplace corection” đã được sử dụng, đây là một kỹ thuật được sử dụng để giải quyết vấn đề khi một sự kiện có xác suất xảy ra bằng 0 trong tập dữ liệu huấn luyện
Công thức tổng quát: P(X∣C) = P Xi(X+1)+V
Trong đó:
Xi: Đặc trưng X
P(X): Xác suất sự kiện X xảy ra
V: Số lượng khả dĩ của đặc trưng X
1: Hằng số để đảm bảo xác suất không bằng 0