Tải bản đầy đủ (.pdf) (23 trang)

Đề ti sử dụng kỹ thuật học máy svm để dự đoán khả năng sống sót của bệnh nhân suy tim

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.43 MB, 23 trang )

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
MÁY VECTOR HỖ TRỢ - SVM

ĐỀ TI: SỬ DỤNG KỸ THUẬT HỌC MÁY SVM ĐỂ DỰ ĐOÁN
KHẢ NĂNG SỐNG SÓT CỦA BỆNH NHÂN SUY TIM
Sinh viên thực hiện

: NGUYỄN CÔNG MINH

Giảng viên hướng dẫn : NGÔ QUỐC TẠO
Ngành

: CƠNG NGHỆ THƠNG TIN

Chun ngành

: TRÍ TUỆ NHÂN TẠO & THỊ
GIÁC MÁY TÍNH

Lớp

: D14TTNT&TGMT

Khóa

: 2019-2024

Hà Nội, tháng 3 năm 2022




PHIẾU CHẤM ĐIỂM
STT
1

Họ và tên sinh
viên

Nội dung thực hiện

Điểm

Nguyễn Công
Minh
(19810000174)

Họ và tên giảng viên
Giảng viên chấm 1:

Giảng viên chấm 2:

Chữ ký

Ghi chú

Chữ




MỤC LỤC
LỜI MỞ ĐẦU...........................................................................................................4
LỜI CẢM ƠN............................................................................................................5
CHƯƠNG I: TỔNG QUAN VỀ SVM VÀ PHÂN LOẠI NHỊ PHÂN....................6
1.1. Mơ hình SVM............................................................................................6
1.2.

Phân lớp nhị phân......................................................................................7

CHƯƠNG 2. THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ......................................9
2.1. Bài toán...........................................................................................................9
2.2. Xây dựng bộ dữ liệu.......................................................................................9
2.3. Đánh giá kết quả...........................................................................................15
KẾT LUẬN.............................................................................................................21
TÀI LIỆU THAM KHẢO.......................................................................................22


LỜI MỞ ĐẦU
Công nghệ ngày nay phổ biến và không ai có thể phù nhận được tầm quan
trọng và những hiệu quả mà nó đem lại cho cuộc sống chúng ta. Bất kỳ trong lĩnh
vực nào, sự góp mặt của trí tuệ nhân tạo sẽ giúp con người làm việc và hồn thành
tốt cơng việc hơn. Và gần đây, một thuật ngữ “machine learning” rất được nhiều
người quan tâm. Thay vì phải code phần mềm với cách thức thủ cơng theo một bộ
hướng dẫn cụ thể nhằm hoàn toàn một nhiệm vụ để ra thì máy sẽ tự “học hỏi” bằng
cách sử dụng một lượng lớn dữ liệu cùng những thuật tốn cho phép nó thực hiện
các tác vụ.
Đây là một lĩnh vực khoa học tuy không mới, nhưng cho thấy lĩnh vực trí tuệ
nhân tạo đang ngày càng phát triển và có thể tiến xa hơn trong tương lai. Đồng
thời, thời điểm này nó được xem là một lĩnh vực ‘nóng” và dành nhiều mối quan
tâm để phát triển nó một cách mạnh mẽ, bùng nổ hơn.

Hiện nay, việc quan tâm machine learning càng ngày càng tăng lên là vì nhờ
có machine learning giúp gia tăng dung lượng lưu trữ các loại dữ liệu sẵn, việc xử
lý tính tốn có chi phí thấp và hiệu quả rất nhiều.
Những điều trên được hiểu là nó có thể thực hiện tự động, nhanh chóng để
tạo ra những mơ hình cho phép phân tích các dự liệu có quy mơ lớn hơn và phức
tạp hơn đồng thời đưa ra những kết quả một cách nhanh và chính xác hơn.
Chính sự hiệu quả trong cơng việc và các lợi ích vượt bậc mà nó đem lại cho
chúng ta khiến machine learning ngày càng được chú trọng và quan tâm nhiều hơn.
Vì vậy, chúng em chọn đề tài “Sử dụng kỹ thuật học máy SVM để dự đốn khả
năng sống sót của bệnh nhân suy tim”.


LỜI CẢM ƠN
Trên thực tế, khơng có sự thành cơng nào mà không gắn liền với những sự hỗ
trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác. Trong
suốt thời gian từ khi bắt đầu học tập ở giảng đường Đại học đã đến nay, em đã
nhận được rất nhiều sự quan tâm, giúp đỡ của thầy cơ, gia đình và bạn bè.
Với lòng biết ơn sâu sắc nhất, em xin gửi đến thầy cô ở Khoa Công Nghệ
Thông Tin- trường Đại Học Điện Lực đã cùng với tri thức và tâm huyết của mình
để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại
trường. Và đặc biệt, trong kỳ này, em được tiếp cận với mơn học rất hữu ích đối
với sinh viên ngành Cơng Nghệ Thơng Tin. Đó là mơn: “Máy vector hỗ trợ”.
Em xin chân thành cảm ơn thầy Ngô Quốc Tạo đã tận tâm hướng dẫn chúng em
qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về môn
học. Trong thời gian được học tập và thực hành dưới sự hướng dân của cô, em
không những thu được rất nhiều kiến thức bổ ích, mà cịn được truyền sự say mê
và thích thú đối với bộ mơn “Máy vector hỗ trợ”. Nếu khơng có những lời hướng
dẫn, dạy bảo của cơ thì em nghĩ báo cáo này rất khó có thể hồn thành được.
Xin gửi lời cảm ơn chân thành đến gia đình, bạn bè là nguồn động viên to lớn,
giúp em vượt qua những khó khăn trong quá trình học tập và thực hiện báo cáo.

Mặc dù đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, tuy nhiên, do
bước đầu đi vào thực tế, tìm hiểu và xây dựng báo cáo trong thời gian có hạn, và
kiến thức cịn hạn chế, nhiều bỡ ngỡ, nên báo cáo “Sử dụng kỹ thuật học máy
SVM để dự đốn khả năng sống sót của bệnh nhân suy tim” chắc chắn sẽ không
thể tránh khỏi những thiếu sót. Em rất mong nhận được sự quan tâm, thơng cảm và
những đóng góp q báu của các thầy cô và các bạn để báo cáo này được hoàn
thiện hơn.
Một lần nữa, em xin chân thành cảm ơn và ln mong nhận được sự đóng góp
của mọi người.
Em xin chân thành cảm ơn.


CHƯƠNG I: TỔNG QUAN VỀ SVM V PHÂN LOẠI NHỊ PHÂN
1.1. Mơ hình SVM
SVM (Support Vector Machine) là 1 thuật tốn học máy thuộc nhóm
Supervised Learning (học có giám sát) được sử dụng trong các bài toán phân lớp
dữ liệu (classification) hay hồi qui (Regression).
SVM là 1 thuật toán phân loại nhị phân, SVM nhận dữ liệu vào và phân loại
chúng vào hai lớp khác nhau. Với 1 bộ các ví dụ luyện tập thuộc hai thể loại cho
trước, thuật tốn luyện tập SVM xây dựng 1 mơ hình SVM để phân loại các ví dụ
khác vào hai thể loại đó.
Phương trình tuyến tính của SVM có dạng:
=> Trong đó w thuộc Rn là vector hệ số ứng với các chiều của vector
b là hệ số tự do trong không gian hai chiều thì được gọi
là đường thẳng,khơng gian 3 chiều là mặt phẳng.
Cơng thức của sai số dự đốn:

=> Trong đó, e là sai số dự đốn, y là giá trị thực và ŷ là giá trị dự đoán (hay
cịn gọi là y_pred). Hàm bình phương để tránh phương trình có thể ra kết quả âm
và vì e là sai số, nên giá trị này càng nhỏ càng tốt.

Hàm mất mát

Hàm đánh giá:
 Accuracy : (ACC)
Cách đơn giản và hay được sử dụng nhất là accuracy (độ chính xác).
Cách đánh giá này đơn giản tính tỉ lệ giữa số điểm được dự đoán đúng
và tổng số điểm trong tập dữ liệu kiểm thử:

Recommandé pour toi

Suite du document ci-dessous


4

Resumen Cap. 59 Guyton. Luis Enrique Silva Díaz
Fisiología Humana y Prácticas

9

80

Question Paper - FFDBFGDNHFGHMJJMM
Remote Sensing & Its Application In Environmental
Science

82% (34)

ACI Concrete Terminology 2018
Advanced Costume Construction


16

95% (19)

100% (2)

Website Evaluation OF Maybank
Systems Analysis for Information Management I

100% (1)


Trong đó TP, TN là dự đốn đúng
FP, FN là dự đoán sai
 Precision - bao nhiêu cái đúng được lấy ra

 Recall - bao nhiêu cái được lấy ra là đúng
1.2.

Phân lớp nhị phân
Phân lớp nhị phân (Binary classification) là nhiệm vụ phân loại các phần tử
của một tập hợp các đối tượng ra thành 2 nhóm dựa trên cơ sở là chúng có một
thuộc tính nào đó hay khơng (hay cịn gọi là tiêu chí). Một số nhiệm vụ phân loại
nhị phân điển hình:
- Kiểm tra y khoa xem một bệnh nhân có bệnh nào đó hay khơng (thuộc tính để
phân loại là căn bệnh đó)
- Quản lý chất lượng trong nhà máy, ví dụ: xác định xem một sản phẩm làm ra là
đủ tốt để bán chưa, hay nên loại bỏ nó (thuộc tính để phân loại là tính đủ tốt)
- Xác định xem một trang hay một bài báo có nên nằm trong tập kết quả của một

truy vấn hay khơng (thuộc tính là độ liên quan của bài báo - thường là sự hiện diện
của một số từ nào đó trong bài báo đó)
Đánh giá bộ phân lớp nhị phân: Để đánh giá độ hiệu quả của một xét nghiệm
y khoa, người ta thường sử dụng các khái niệm độ nhạy và đặc trưng. Giả sử chúng
ta xét nghiệm xem một vài người nào đó có bệnh hay khơng.
- Một số người có bệnh, và kết quả xét nghiệm là dương tính (positive). Họ được
gọi là các dương tính đúng.
- Một số người có bệnh, nhưng kết quả xét nghiệm âm tính (negative). Họ được gọi
là các âm tính sai.
- Một số khơng có bệnh, và kết quả xét nghiệm cũng là âm tính. Họ được gọi là các
âm tính đúng.
- Một số khơng có bệnh, nhưng kết quả xét nghiệm lại là dương tính. Họ được gọi
là các dương tính sai.
Tổng số người dương tính đúng, âm tính đúng, dương tính sai, âm tính sai
chiếm 100% tổng số người được xét nghiệm.
+ Độ nhạy (sensitivity) là tỉ lệ của số người bị bệnh được xác định đúng là có bệnh
trên tổng số người bị bệnh, nghĩa là (dương tính đúng)/(dương tính đúng + âm tính
sai). Nó có thể được coi là "xác suất xét nghiệm cho kết quả dương tính khi người


được xét nghiệm có bị bệnh". Độ nhạy càng cao, càng ít khả năng bệnh khơng
được phát hiện (hoặc, trong trường hợp quản lý chất lượng ở nhà máy, càng ít sản
phẩm lỗi được đưa ra thị trường).
+ Đặc trưng (specificity) là tỉ lệ của số người không bị bệnh có kết quả xét nghiệm
âm tính trên tổng số người khơng có bệnh (thực), nghĩa là (âm tính đúng)/(âm tính
đúng + dương tính sai). Nó cịn được coi là xác suất xét nghiệm cho kết quả âm
tính đối với người khơng có bệnh. Độ đặc trưng càng cao, càng ít người mạnh khỏe
được coi là bị bệnh (hoặc trong trường hợp nhà máy, càng ít tiền bị tốn phí do loại
bỏ các sản phẩm chất lượng tốt thay vì đem bán chúng).
Về mặt lý thuyết, độ nhạy và đặc trưng là độc lập, tức là cả hai đều có thể

đạt đến 100%. Trong thực tế, chúng ta phải đánh đổi cái này để được cái kia - cái
này tốt lên thì cái kia xấu đi, khơng thể đạt được cả hai.
Một điểm cần chú ý nữa, là độ nhạy và đặc trưng là độc lập với tỉ lệ giữa số
cá thể âm tính và số cá thể dương tính. Tuy nhiên, giá trị của chúng thì lại phụ
thuộc vào tổng số cá thể kiểm tra (population). Ví dụ: kiểm tra có kết quả: độ nhạy
99%, đặc trưng 99%.
- Giả sử số người kiểm tra là 2000 người, trong đó 1000 có bệnh và 1000 khỏe
mạnh. Như vậy, ta phát hiện đúng 990 người dương tính đúng, 990 người âm tính
đúng, và 10 âm tính sai, 10 dương tính sai. Cuối cùng, tỉ lệ dự đoán trúng là 99%
cho cả kết quả dương tính và âm tính. Như vậy, hệ thống này được coi là khá đáng
tin cậy.
- Giả sử số người kiểm tra là 2000 người, trong đó chỉ có 100 là thực sự bị bệnh.
Giả sử ta có 99 dương tính đúng, 1 âm tính sai, 1881 âm tính đúng, và 19 dương
tính sai. Trong số 19+99 người xét nghiệm dương tính, chỉ có 99 người thực sự có
bệnh.


CHƯƠNG 2. THỬ NGHIỆM V ĐÁNH GIÁ KẾT QUẢ

2.1. Bài tốn
Suy tim là tình trạng tim khơng đủ khả năng bơm để cung cấp máu đảm bảo
cho các nhu cầu hoạt động của cơ thể. Suy tim là con đường chung cuối cùng của
hầu hết các bệnh lí tim mạch. Người bệnh bị suy tim sẽ suy giảm khả năng hoạt
động, suy giảm chất lượng sống, tùy từng mức độ sẽ cần sự hỗ trợ khác nhau.
Ngoài ra người bệnh suy tim nặng sẽ đứng trước nguy cơ tử vong cao do các rối
loạn nhịp và các đợt suy tim mất bù. Suy tim được chia làm hai loại là suy tim cấp
tính và mạn tính
Theo thống kê, các bệnh về tim mạch (CVDs) là nguyên nhân gây tử vong
số 1 trên toàn cầu , cướp đi sinh mạng của khoảng 17,9 triệu người mỗi năm ,
chiếm 31% tổng số ca tử vong trên toàn thế giới . Những người mắc bệnh tim

mạch hoặc những người có nguy cơ tim mạch cao (do sự hiện diện của một hoặc
nhiều yếu tố nguy cơ như tăng huyết áp, tiểu đường, tăng lipid máu hoặc bệnh đã
có sẵn) cần được phát hiện và quản lý sớm.
Suy tim là một sự kiện phổ biến do CVDs gây ra. Việc sử dụng mơ hình học
máy có thể giúp ích rất nhiều trong việc dự đoán tỷ lệ tử vong do suy tim.
Bài toán Dự đốn khả năng sống sót của bệnh nhân suy tim đưa ra tất cả các
thông tin, chỉ số của người mắc bệnh suy tim, từ đó làm căn cứ chuẩn đoán khả
năng tỷ vong cao hay thấp của người bệnh.
 Giá trị input: Thông tin, số liệu sức khỏe của người mắc bệnh suy
tim.
 Giá trị output: Kết quả người mắc bệnh suy tim có tỷ lệ tử vong cao
hay không.

2.2. Xây dựng bộ dữ liệu
Tập dữ liệu gồm 300 bệnh nhân với các chỉ số mắc bệnh khác nhau, từ đó
làm căn cứ chuẩn đốn bệnh nhân có nguy cơ tử vong cao, bênh nhân có nguy cơ
tử vong thấp. Bệnh viện sẽ tổng hợp toàn bộ dữ liệu và phân loại bệnh nhân theo 2
trường hợp này.
Đặt Y là khả năng sống sót của bệnh nhân suy tim, với Y=0 là tử vong,
ngược lại Y=1 là sống sót.


Bộ dữ liệu gồm 12 thuộc tính bao gồm:














Age ( Tuổi )
Sex (Giới tính)
Chest pain type (kiểu đau ngực)
Resting blood pressure (huyết áp nghỉ ngơi)
Cholestoral
Fasting blood sugar (đường huyết lúc đói)
Resting electrocardiographic results (kết quả điện tâm đồ lúc nghỉ )
Maximum heart rate achieved (nhịp tim tối đa đạt được)
Exercise induced angina (tập thể dục gây ra đau thắt ngực)
Oldpeak = ST depression induced by exercise relative to rest
The slope of the peak exercise ST segment
Number of major vessels (0-3) colored by flourosopy(số lượng các tàu chính (03) được tơ màu bởi Flourrosopy)

 Thall

Bộ dữ liệu chia thành 2 phần: Trong đó 80% dữ liệu được làm bộ dữ liệu
huyến luyện mơ hình ( tập train ), 20% cịn lại làm bộ dữ liệu thử nghiệm độ chính
xác của mơ hình ( tập test )


Cài đặt
+Import thư viện:

+Đọc file dữ liệu, phân tích dữ liệu, chuẩn hoá, chia tỉ lệ tập train-test:


+ Max, min, giá trị trung bình, biến phân (variant), độ lêch chuẩn (std) ...


+ Chạy mơ hình học máy:


+ Đánh giá mơ hình dựa trên kết quả dự đốn (với độ đo đơn giản Accuracy,
Precision, Recall)

+ Chuẩn hóa Min-Max của X:


+Biểu đồ 2 chiều PCA:

+Biểu đồ thể hiện mỗi quan hệ giữa cột Age và y:


2.3. Đánh giá kết quả
In dữ liệu:

Dữ liệu đầu vào X:


Dữ liệu đầu ra Y:

X_train,Y_train

X_test,Y_test




Max, min, giá trị trung bình, biến phân (variant), độ lêch chuẩn (std) ... của X


Chuẩn hóa min-max của X:

Đánh giá kết quả:
Sau khi thử nghiệm với bộ cơ sở dữ liệu thì kết quả phân lớp đạt 83%
Đối với Precision, Recall:

Ma trận dự đoán:


+Biểu đồ 2 chiều PCA:

+Biểu đồ phân bố 2 lớp:


KẾT LUẬN
Kết quả đạt được : chúng em đã cài đặt được thuật toán và sử dụng dụng thư
viện scikit-learn trong q trình học tập. Nhưng bên cạnh đó thuật tốn vẫn cịn
những ưu nhược điểm như:
Ưu điểm : Nhanh chóng để mơ hình hóa và đặc biệt hữu ích khi mối quan hệ
được mơ hình hóa khơng q phức tạp và nếu bạn khơng có nhiều dữ liệu. Hồi quy
tuyến tính là đơn giản để hiểu, nó rất có giá trị cho các quyết định kinh doanh.
Nhược điểm : Đối với dữ liệu phi tuyến tính, hồi quy đa thức có thể khá khó
khăn để thiết kế, vì người ta phải có một số thơng tin về cấu trúc của dữ liệu và
mối quan hệ giữa các biến tính năng.
Trong q trình thực hiện đè tài có rất nhiều ý tưởng hay, độc đáo. Nhưng do

kiến thức của em cịn hạn hẹp và thời gian khơng cho phép nên em chưa thể hiện
được những ý tưởng đó. Mặc dù em đã cố gắng để xây dựng một chương trình
hồn chỉnh nhất, đẹp nhất nhưng trong quá trình xây chương trình em khó tránh
khỏi những thiếu sót. Vì vậy em rất mong rằng cơ đóng góp ý kiến để em có thể
hồn thành bài báo cáo một cách hồn chỉnh và chinh chu nhất.


TI LIỆU THAM KHẢO
1) [ML] Hồi quy tuyến tính :
/>2) Machine Learning cơ bản:
/>3) Phân tích hồi quy tuyến tính đa biến : />4) Phân lớp nhị phân:
/>ification-phan-loai
5) Mơ hình SVM:
/>6) Slide giảng dạy của thầy giáo Ngô Quốc Tạo
7) Ngồi ra, chúng em cịn tham khảo các bài viết trên google,
youtube,…
8) Nguồn dữ liệu: />


×