1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx

20 22 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

Tiêu đề Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường
Người hướng dẫn Cơ Lê Thị Thủy
Trường học Trường Đại Học Cơng Nghiệp Hà Nội
Chuyên ngành Trí tuệ nhân tạo
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 376,42 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Ộ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO BÀI TẬP LỚN HỌC PHẦN TRÍ TUỆ NHÂN TẠO Đề tài TÌM HIỂU THUẬT TOÁN NAIVE BAYES VÀ ỨNG DỤNG TRONG BÀI TOÁ[.]

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

======***======

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: TRÍ TUỆ NHÂN TẠO

Đề tài: TÌM HIỂU THUẬT TOÁN NAIVE BAYES VÀ ỨNG DỤNG TRONG BÀI TOÁN CHUẨN ĐOÁN BỆNH

TIỂU ĐƯỜNG

Hà Nội, năm 2023

Trang 2

LỜI CẢM ƠN

“Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường Đại học Công Nghiệp

Hà Nội đã đưa môn học Trí tuệ nhân tạo vào chương trình giảng dạy Đặc biệt, em xin gửi lời cảm ơn đến giảng viên bộ môn – Cô Lê Thị Thủy đã dạy, truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học Trí tuệ nhân tạo của cô, em đã có thêm cho mình nhiều kiến thức bổ ích, các kỹ năng mềm, tinh thần học tập hiệu quả và nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, là hành trang để em có thể vững bước sau này

Bộ môn Trí tuệ nhân tạo là môn học thú vị, vô cùng bổ ích và là một nền tảng định hướng cho bước đi sau này của chúng em Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù em đã cố gắng hết sức nhưng chắc chắn bài báo cáo khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong cô xem xét và góp ý để bài báo cáo của em được hoàn thiện hơn.”

Nhóm sinh viên thực hiện

Nhóm 6

Trang 3

LỜI MỞ ĐẦU

Hiện nay, Trí tuệ nhân tạo (AI) nổi lên như một bằng chứng của cuộc cách mạng cơng nghiệp 4.0 mở ra một thời kỳ mới với việc ứng dụng trí tuệ nhân tạo trong hầu hết các lĩnh vực trong đời sống, mang lại những thay đổi lớn trong xã hội, đặc biệt là trong kinh tế và khoa học ứng dụng Trí tuệ nhân tạo cĩ thể được định nghĩa như một ngành của khoa học máy tính liên quan đến việc tự động hĩa các hành vi thơng minh Trí tuệ nhân tạo là một bộ phận của khoa học máy tính và do nĩ phải được đặt trên những nguyên lý lý thuyết vững chắc, cĩ khả năng ứng dụng được của lĩnh vực này Ở thời điểm hiện tại, thuật ngữ này thường dùng để nĩi đến các máy tính cĩ mục đích khơng nhất định và ngành khoa học nghiên cứu về các lý thuyết và các ứng dụng của trí tuệ nhân tạo

Các ứng dụng của Machine Learning (ML) đã quá quen thuộc với con người: xe

tự hành của Google và Tesla, hệ thống tự tag khuơn mặt trên Facebook, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix …, chỉ là một vài trong vơ vàn những ứng dụng của trí tuệ nhân tạo và cụ thể là ML

Xu hướng phát triển cơng nghệ thơng tin ngày càng tăng, song song với nĩ lượng

dữ liệu được sinh ra cũng ngày lớn Vì vậy nhu cầu để xử lý dữ liệu cũng lớn hơn, ML đang gĩp phần giải quyết vấn đề này Một trong những thuật tốn thường dùng trong

ML đĩ là thuật tốn tìm kiếm đường đi Ứng dụng của thuật tốn này được sử dụng rất nhiều và rộng rãi trong các bài tốn thực tế

Nội dung cuốn báo cáo này cung cấp cho người đọc những kiến thức chung nhất

về trí tuệ nhân tạo, cĩ một cái nhìn tổng quát về việc áp dụng thuật tốn Naive Bayes

và Ứng dụng thuật tốn Naive Bayes trong bài tốn chuẩn đốn bệnh tiểu đường Các vấn đề cụ thể trình bày trong cuốn báo cáo được chia thành 2 chương:

Chương 1: Kỹ thuật Nạve Bayes

Chương 2: Ứng dụng Nạve Bayes trong bài tốn chuẩn đốn bệnh tiểu đường

Trang 4

MỤC LỤC

CHƯƠNG 1: KỸ THUẬT NAIVE BAYES 9

1.1 MỘT SỐ KHÁI NIỆM 9

1.2 ĐỊNH LÝ BAYES 9

1.3 PHÂN LỚP BẰNG KỸ THUẬT NAIVE BAYES 10

1.3.1 Dạng tổng quát 10

1.3.2 Phương pháp Naive Bayes trong trường hợp dữ liệu liên tục 11

1.3.3 Trường hợp xuất hiện xác suất bằng không 12

1.4 VÍ DỤ MINH HỌA 12

CHƯƠNG 2: ỨNG DỤNG NAIVE BAYES TRONG BÀI TOÁN CHUẨN ĐOÁN BỆNH TIỂU ĐƯỜNG 15

2.1 BÀI TOÁN 15

2.1.1 Phát biểu bài toán 15

2.1.2 Thuật toán áp dụng 15

2.2 CƠ SỞ DỮ LIỆU 15

2.3 CÀI ĐẶT 16

2.3.1 Thuật toán 17

2.3.2 Cài đặt 18

TỔNG KẾT 22

TÀI LIỆU THAM KHẢO 23

Trang 5

Phụ lục hình ảnh

Hình 2.2.1 Mẫu tập dữ liệu trong file CSV 17

Hình 2.3.1 Đọc dữ liệu từ file CSV 18

Hình 2.3.2 Chia dữ liệu theo class 18

Hình 2.3.3 Chia tập dữ liệu thành Training và Testing 18

Hình 2.3.4 Tính giá trị trung bình và độ lệch chuẩn 19

Hình 2.3.5 Tính giá trị trung bình và độ lệch chuẩn cho tập dữ liệu 19

Hình 2.3.6 Tính phân phối Gauss 20

Hình 2.3.7 Dự đoán dữ liệu vào class nào 20

Hình 2.3.8 Hàm main 21

Hình 2.3.9 Kết quả sau khi chạy 21

Trang 6

CHƯƠNG 1: Kỹ thuật Naive Bayes

1.1 Một số khái niệm

- Hiện tượng tất yếu Là những hiện tượng nếu được thực hiện ở điều kiện giống nhau thì cho kết quả giống nhau Hiện tượng tất yếu là đối tượng nghiên cứu của Vật lý, Hóa học

- Hiện tượng ngẫu nhiên là những hiện tượng dù đã được quan sát ở điều kiện giống nhau, nhưng kết quả có thể khác nhau Hiện tượng ngẫu nhiên là đối tượng nghiên cứu của xác suất học

- Không gian mẫu là tập hợp tất cả các kết quả có thể xảy ra được của hiện tượng ngẫu nhiên

- Biến cố là một tập con của không gian mẫu

biến cố A với điều kiện là có xảy ra biến cố B, thường được gọi là “xác suất của

P(B) là xác suất xảy ra sự kiện B Dễ dàng thấy rằng:

P ( A∨B)= P( A , B)

P(B)

khi đó với biến cố A liên quan được tính theo công thức:

P( A)=

i=1

n

P(A∨B i)P(B i)

1.2 Định lý Bayes

Định lý Bayes dựa trên định nghĩa về xác suất có điều kiện ở trên, được phát biểu dưới dạng công thức như sau:

P( A∨B)= P (B∨ A) P( A)

P(B)

Trong đó:

P ( A ) :Xác suất xảy ra A của riêng nó, không quan tâm đến B Nó được gọi là “tiên nghiệm” với hàm ý rằng nó không quan tâm tới bất kỳ thông

Trang 7

P (B ): Xác suất xảy ra B của riêng nó, không quan tâm đến A

P ( A|B): xác suất xảy ra biến cố A với điều kiện xảy ra biến cố B

P( A)=

i=1

n

P(A∨B i)P (B i)

Giả sử {A1, A2, A3, … A n} là hệ đầy đủ và B là một sự kiện bất kì có thể xảy ra trong phép thử Khi đó ta có công thức Bayes:

P(A k|B)=P(A k)P¿ ¿

1.3 Phân lớp bằng kỹ thuật Naive Bayes

1.3.1 Dạng tổng quát

Có thể thấy y ∈C Cho một mẫu dữ liệu mới z ∈ R mz được biểu diễn bằng

z (z1, z2,… , z m) Hãy xác định lớp của z

- Để xác định được lớp của z, ta cần tính được xác suất xảy ra khả năng z được

lớp nào có xác suất xảy ra cao nhất

xác suất để z thuộc vào lớp c i phải là xác suất có điều kiện P(c iz1, z2,… , z m) và

P(c iz)=P(z∨c i)× P(c i)

P ( z )

- Do các thuộc tính của z là độc lập và có điều kiện đối với các thuộc tính khác nên:

(2) (1)

Trang 8

P(z∨c i)=∏

j=1

m

P(z jc i)

- Do đó (1) trở thành:

P(c iz)=

j=1

m

P(z jc i)× P(c i)

P (z)

c k=argmax P(c iz)c i ∈ C=argmax c i ∈C

j=1

m

P(z jc i)× P(c i)

P (z)

c k=argmax c i ∈C

j =1

m

P(z jc i)× P(c i)

j=1

m

P(z jc i)× P(c i) với từng lớp c i ∈{c1, c2, … , c q} Lớp c inào cho giá trị

Bayes gồm hai bước:

j=1

m

P(z jc i)× P(c i)

c k=argmax c i ∈C

j =1

m

P(z jc i)× P(c i)

(3)

(4)

Trang 9

1.3.2 Phương pháp Naive Bayes trong trường hợp dữ liệu liên tục

pháp rời rạc hóa Nếu không rời rạc hóa dữ liệu, thay vì xác suất, ta sử dụng hàm mật

tính liên tục tuân theo phân bố Gauss và phương pháp lúc này được gọi là Gass Naive Bayes

giá trị của A trong lớp c i (với N i là số mẫu thuộc lớp c i và lớp y i là lớp của mẫu x i):

μ i= 1

N i

x i : y i=c i

x i

σ i2

N i−1 ∑

x i : y i=c i

❑(x¿¿i−μ i)2¿

bằng:

P(x∨c i)= 1

2 π σ i2e

2 σi2

1.3.3 Trường hợp xuất hiện xác suất bằng không

- Xét một mẫu dữ liệu cần phân lớp x(x1, x2, … , x m) Xét giá trị x j trên thuộc tính j

nhiên P(c i)=0 Điều này kéo theo P(c i)×

j=1

m

P(c i)=0

cho giá trị 0 đã tính được ở trên

- Ta giả sử số mẫu dữ liệu trong lớp cần xét là lớn và do đó nếu ta bổ sung 1 mẫu

dữ liệu cho mỗi tập thuộc tính thì việc này sẽ không ảnh hưởng nhiều tới xác suất đã tính

1.4 Ví dụ minh họa

Cho bảng dữ liệu huấn luyện gồm 20 mẫu về việc có (hay không) mắc bệnh tiểu đường như trong bảng, dựa vào các quan sát về: Số lần mang thai (Preg), Nồng độ glucose trong huyết tương (Plas), Huyết áp tâm trương (Pres), Độ dày nếp gấp da cơ tam đầu (Skin), Insulin huyết thanh trong 2 giờ (Test), Chỉ số khối lượng cơ thể (Mass), Chức năng phả hệ bệnh tiểu đường (Pedi), Tuổi (Age), Thuộc tính lớp (Class)

(1)

(2)

Trang 10

ID Preg Plas Pres Skin Test Mass Pedi Age Class

Trang 11

1 6 148 72 35 0 33.6 0.627 50 1

Bảng dữ liệu huấn luyện Cho mẫu dữ liệu cần phân lớp là X Xác định xem một bệnh nhân có dữ liệu như trên có mắc bệnh tiểu đường hay không

Thấy số mẫu dữ liệu n = 20, số thuộc tính của dữ liệu m = 8 (do không xét thuộc tính ID), thuộc tính lớp là Class với các lớp C = {0,1} (2 lớp) Quá trình xác định lớp cho dữ liệu X trải qua hai bước:

- Bước 1: Xét các thuộc tính Preg, Plas, Pres, Skin, Test, Mass, Pedi, Age với các

giá trị liên tục Khi đó, ta phân đoạn các giá trị của các thuộc tính theo từng lớp Với mỗi lớp c i (c 1 = 0; c 2 = 1), ta tính μ i là giá trị trung bình và σ i2 là phương sai

lớp y i là lớp của mẫu x i):

μ i= 1

N i

x i : y i=c i

x i

σ i2= 1

N i−1 ∑

x i : y i=c i

❑(x¿¿i−μ i)2¿

Sau khi thực hiện tính toán, ta có bảng sau:

Trang 12

Preg 4.375 14.2679 4.75 11.841

- Bước 2:

bằng:

P(x∨c i)= 1

2 π σ i2 e

2 σi2

Sau khi thực hiện tính toán, ta có bảng sau:

Do đó,

P(x|c 1 ) = 0.0499*7.694x10-5*0.0039*0.0199*3.883x10-4*0.0108*0.7087*0.0046

P(x|c 2 ) = 0.0541*0.0079*0.0026*0.0204*0.0014*0.0143*0.6885*0.0174

= 5.4368x10-15

Trang 13

CHƯƠNG 2: Ứng dụng Naive Bayes trong bài toán

chuẩn đoán bệnh tiểu đường

2.1 Bài toán

2.1.1 Phát biểu bài toán

Bài toán chuẩn đoán bệnh tiểu đường (có bị bệnh hay không) sử dụng phương pháp Naive Bayes để phân ra hai lớp là một người có bị bệnh tiểu đường hay không bị bệnh tiểu đường

2.1.2 Thuật toán áp dụng

Bài toán áp dụng thuật toán Naive Bayes trong trường hợp dữ liệu liên tục

tính xác suất cho mỗi thuộc tính phân chia theo class để xác định dữ liệu cần kiểm tra thuộc class nào, có mắc bệnh hay không

Bài toán được làm bằng ngôn ngữ lập trình Python – một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng Python có bộ thư viện chuẩn rộng lớn – đó là một trong những điểm lớn mạnh của ngôn ngữ lập trình này Trong bài toán này chúng

em thực hiện dựa theo công thức phân phối Gauss để giải quyết

2.2 Cơ sở dữ liệu

Cơ sở dữ liệu được lấy từ website kaggle Được đóng góp bởi một thành viên có tên là KUMAR Cơ sở dữ liệu này mô tả hồ sơ y tế của hơn 700 bệnh nhân có hoặc không có nguy cơ mắc bệnh tiểu đường trong vòng 5 năm

Thông tin, ký hiệu các thuộc tính của các bản ghi trong cơ sở dữ liệu:

1 Số lần mang thai

2 Nồng độ glucose trong huyết tương sau 2 giờ trong xét nghiệm dung nạp glucose qua đường uống

3 Huyết áp tâm trương (mm Hg)

4 Độ dày nếp gấp da cơ tam đầu (mm)

5 Insulin huyết thanh trong 2 giờ (mu U / ml)

6 Chỉ số khối lượng cơ thể (trọng lượng tính bằng kg / (chiều cao tính bằng m)2)

7 Chức năng phả hệ bệnh tiểu đường

8 Tuổi (năm)

Trang 14

9 Lớp (0 – Không bệnh, 1 – Có bệnh).

Tập dữ liệu được lưu dưới dạng file CSV trong đó các cột tương ứng với các thuộc tính trên

Hình 2.2.1 Mẫu tập dữ liệu trong file CSV

2.3 Cài đặt

2.3.1 Thuật toán

- Đầu vào:

dữ liệu được sử dụng để Test

- Đầu ra:

- Phương pháp sử dụng phân phối Gauss với x là trường dữ liệu tương ứng cần chuẩn đoán, mean là giá trị trung bình, stdev là độ lệch chuẩn

def calculate_prob(x, mean, stdev):

exponent = math.exp(-(math.pow(x - mean, 2) / (2 * math.pow(stdev, 2)))) return (1 / (math.sqrt(2 * math.pi) * stdev)) * exponent

Trang 15

2.3.2 Cài đặt

- Đọc dữ liệu từ file CSV

Hình 2.3.2 Đọc dữ liệu từ file CSV

- Phân chia chia tập dữ liệu theo class (class 0 và class 1)

Hình 2.3.3 Chia dữ liệu theo class

- Phân chia tập dữ liệu thành Training và Testing

Hình 2.3.4 Chia tập dữ liệu thành Training và Testing

Trang 16

- Tính giá trị trung bình và độ lệch chuẩn cho từng thuộc tính.

Hình 2.3.5 Tính giá trị trung bình và độ lệch chuẩn

- Sử dụng 2 hàm ở trên để tính giá trị trung bình và độ lệch chuẩn của tất cả các

bộ dữ liệu trong tập dữ liệu

Hình 2.3.6 Tính giá trị trung bình và độ lệch chuẩn cho tập dữ liệu

- Tính phân phối Gauss của biến liên tục và tính xác suất cho mỗi thuộc tính được chia theo class (0 và 1)

Trang 17

Hình 2.3.7 Tính phân phối Gauss

- Dự đoán tập dữ liệu thuộc class nào (0 và 1)

Hình 2.3.8 Dự đoán dữ liệu vào class nào

- Hàm main thực hiện xử lý

Trang 18

Hình 2.3.9 Hàm main

- Kết quả sau khi chạy

Hình 2.3.10 Kết quả sau khi chạy

Trang 19

TỔNG KẾT

Naive Bayes là một thuật toán dựa trên định lý Bayes về lý thuyết xác suất để đưa ra các phán đoán cũng như phân loại dữ liệu dựa trên các dữ liệu được quan sát và thống kê Naive Bayes là một trong những thuật toán được ứng dụng rất nhiều trong các lĩnh vực Machine Learning (ML) dùng để đưa các dự đoán chính xác nhất dựa trên một tập dữ liệu đã được thu thập, vì nó khá dễ hiểu và độ chính xác cao

Chúng ta có thể ứng dụng Naive Bayes để tính tỷ lệ xác suất với rất nhiều các dạng bài toán khác nhau, với dữ liệu càng nhiều thì độ chính xác của thuật toán sẽ càng cao, và khi dữ liệu thay đổi thì kết quả cũng thay đổi theo

Trang 20

TÀI LIỆU THAM KHẢO

[1] Trường Đại học Công nghiệp Hà Nội, Giáo trình trí tuệ nhân tạo

[4] Đề cương bài giảng “Bo sung hoc may co ban”

Ngày đăng: 30/08/2023, 02:16

HÌNH ẢNH LIÊN QUAN

Bảng dữ liệu huấn luyện - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Bảng d ữ liệu huấn luyện (Trang 11)
Hình 2.2.1 Mẫu tập dữ liệu trong file CSV - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Hình 2.2.1 Mẫu tập dữ liệu trong file CSV (Trang 14)
Hình 2.3.5 Tính giá trị trung bình và độ lệch chuẩn - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Hình 2.3.5 Tính giá trị trung bình và độ lệch chuẩn (Trang 16)
Hình 2.3.8 Dự đoán dữ liệu vào class nào - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Hình 2.3.8 Dự đoán dữ liệu vào class nào (Trang 17)
Hình 2.3.7 Tính phân phối Gauss - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Hình 2.3.7 Tính phân phối Gauss (Trang 17)
Hình 2.3.9 Hàm main - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Hình 2.3.9 Hàm main (Trang 18)
Hình 2.3.10 Kết quả sau khi chạy - Tìm Hiểu Thuật Toán Naive Bayes Và Ứng Dụng Trong Bài Toán Chuẩn Đoán Bệnh Tiểu Đường.docx
Hình 2.3.10 Kết quả sau khi chạy (Trang 18)

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