Website CLBV.VN và các nền tảng trong hệ sinh thái QuanTriBenhVien.Vn được xây dựng bởi các thành viên có kinh nghiệm tại các bệnh viện, công ty. Web không có liên quan tới bất kỳ Vụ, Cục nào của BYT hay SYT --> chi tiết
Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập hoặc tài khoản đã hết hạn. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CLBV Members" các nội dung bạn quan tâm.

Kính gửi Anh/Chị/Em đồng nghiệp,

Trong thời gian qua, CLBV nhận được sự ủng hộ rất lớn từ cộng đồng. Website đã nằm trong nhóm đầu kết quả tìm kiếm với nhiều từ khóa liên quan đến Quản lý chất lượng (QLCL) và An toàn người bệnh (ATNB) trong lĩnh vực y tế.

Tuy nhiên, khi lượng truy cập ngày càng tăng, Công ty M.I.U nhận thấy một số vấn đề cần được điều chỉnh để đảm bảo phù hợp với đặc thù chuyên môn:

1. Nội dung QLCL & ATNB có tính chuyên ngành cao

  • Nhiều nội dung mang tính học tập từ sự cố, cải tiến sau sai sót.
  • Nếu tiếp cận ngoài bối cảnh chuyên môn, có thể bị hiểu chưa đầy đủ hoặc sai lệch.

2. Một số tài liệu quản trị cần được sử dụng đúng đối tượng

  • Dù là văn bản công khai, việc áp dụng hiệu quả đòi hỏi hiểu đúng bối cảnh ngành.
  • Phù hợp hơn khi chia sẻ trong cộng đồng những người trực tiếp làm công tác y tế.

3. Hạn chế nguy cơ nhầm lẫn về nhận diện

  • Tên miền clbv.vn có thể gây hiểu nhầm với các hệ thống chính thức của Bộ Y tế.
  • Việc làm rõ và chuẩn hóa nhận diện là cần thiết.

Công ty M.I.U quyết định nâng cấp hệ thống phục vụ đúng đối tượng chuyên môn

Để đảm bảo chất lượng nội dung và phục vụ tốt hơn cho cộng đồng, chúng tôi thực hiện các điều chỉnh:

  • Giới hạn truy cập nội dung: Website dành cho thành viên đã đăng ký, là các đồng nghiệp đang công tác trong lĩnh vực y tế.
  • Chuyển đổi nhận diện sang tên miền mới: QLCL.NET để đồng bộ thương hiệu với các trang trong hệ sinh thái QuanTriBenhVien.Vn như KHTH.VN; CNTT.IT; KSNK.VN; VTTB.VN; HCQT.VN ... hướng đến chia sẻ kiến thức quản trị hiện đại, liên ngành trong bệnh viện không chỉ giới hạn ở QLCL & ATNB.

Chúng tôi tin rằng đây là bước điều chỉnh cần thiết nhằm:

  • Bảo vệ giá trị chuyên môn của nội dung.
  • Đảm bảo thông tin được sử dụng đúng đối tượng, đúng bối cảnh.
  • Xây dựng cộng đồng chia sẻ chất lượng, hiệu quả.

Rất mong tiếp tục nhận được sự đồng hành của Anh/Chị/Em đồng nghiệp.

Công ty M.I.U

Bài 12: Machine Learning cơ bản trong Y khoa

🎯 MỤC TIÊU

Về kiến thức:

  1. Hiểu được Machine Learning là gì trong bối cảnh nghiên cứu y khoa.
  2. Phân biệt được Machine Learning với thống kê truyền thống.
  3. Phân biệt được supervised learning và unsupervised learning.
  4. Mô tả được các thuật toán cơ bản: Logistic Regression, Decision Tree, Random Forest, XGBoost.
  5. Hiểu được quy trình xây dựng mô hình dự đoán y khoa.
  6. Giải thích được các chỉ số đánh giá mô hình: AUROC, sensitivity, specificity, PPV, NPV, calibration.
  7. Nhận diện được nguy cơ overfitting, data leakage, bias và thiếu external validation.

Về kỹ năng:

  1. Chuẩn bị được dữ liệu cơ bản cho machine learning.
  2. Chia dữ liệu thành train, validation và test set.
  3. Huấn luyện được mô hình dự đoán đơn giản bằng Python/Google Colab với AI hỗ trợ.
  4. So sánh được hiệu năng của Logistic Regression, Random Forest và XGBoost.
  5. Tạo được confusion matrix, ROC curve, calibration plot và bảng feature importance.
  6. Diễn giải được mô hình dự đoán bằng ngôn ngữ phù hợp với nhân viên y tế.
  7. Viết được đoạn báo cáo ngắn về mô hình theo tinh thần TRIPOD+AI.

Về thái độ:

  1. Không xem ML là “phép màu” thay thế tư duy lâm sàng.
  2. Không triển khai mô hình vào bệnh viện chỉ vì AUROC nhìn đẹp.
  3. Có ý thức kiểm tra tính công bằng, an toàn, khả năng áp dụng và bảo mật dữ liệu.
  4. Biết rằng mô hình dự đoán sai vẫn có thể trông rất tự tin — giống một bác sĩ nội trú mới đọc xong 3 bài review và bước vào giao ban với ánh mắt rực lửa.

🔄 KẾT NỐI VỚI BÀI 11

Bài 11:
Dữ liệu → Thống kê mô tả/suy luận → Kiểm định giả thuyết → Diễn giải kết quả

Bài 12:
Dữ liệu → Huấn luyện mô hình → Dự đoán outcome → Đánh giá hiệu năng → Cân nhắc ứng dụng lâm sàng

Trong Bài 11, câu hỏi thường là:

“Yếu tố A có liên quan đến outcome B không?”

Trong Bài 12, câu hỏi thường là:

“Dựa trên nhiều thông tin đầu vào, ta có thể dự đoán outcome B chính xác đến đâu?”

Ví dụ:

Cách hỏi thống kê truyền thốngCách hỏi Machine Learning
BNP có liên quan đến tái nhập viện không?Dựa trên tuổi, EF, BNP, bệnh đồng mắc và thời gian nằm viện, dự đoán ai sẽ tái nhập viện trong 30 ngày?
Điều trị A có giảm HbA1c không?Dự đoán bệnh nhân nào sẽ không đạt HbA1c mục tiêu sau 3 tháng
Tuổi có liên quan tử vong ICU không?Dự đoán nguy cơ tử vong ICU dựa trên nhiều biến lâm sàng

PHẦN 1: MACHINE LEARNING LÀ GÌ?

1.1. Định nghĩa đơn giản

Machine Learning — Học máy là phương pháp cho phép máy tính học từ dữ liệu để phát hiện quy luật và đưa ra dự đoán hoặc phân loại trên dữ liệu mới.

Trong y khoa, ML thường được dùng để:

  • Dự đoán nguy cơ bệnh.
  • Dự đoán tử vong.
  • Dự đoán tái nhập viện.
  • Phân loại hình ảnh y khoa.
  • Phát hiện bệnh nhân nguy cơ cao.
  • Tìm pattern trong dữ liệu lớn.
  • Hỗ trợ quyết định lâm sàng.

Ví dụ:

Dùng dữ liệu của 500 bệnh nhân suy tim đã xuất viện để huấn luyện mô hình dự đoán bệnh nhân nào có nguy cơ tái nhập viện trong 30 ngày.


1.2. Cách hiểu bằng ví dụ lâm sàng

Một bác sĩ tim mạch giàu kinh nghiệm nhìn bệnh nhân suy tim và “cảm giác” bệnh nhân này dễ tái nhập viện vì:

  • Tuổi cao.
  • EF thấp.
  • BNP cao.
  • Nhiều bệnh đồng mắc.
  • Nằm viện lâu.
  • Tiền sử nhập viện nhiều lần.

Machine Learning cũng học từ các yếu tố này, nhưng thay vì dựa vào kinh nghiệm cá nhân, nó học từ hàng trăm, hàng nghìn hoặc hàng triệu bệnh nhân.

Ẩn dụ:
Bác sĩ học từ ca bệnh. ML học từ dataset.
Bác sĩ có trực giác. ML có mô hình.
Cả hai đều có thể sai nếu dữ liệu đầu vào hoặc kinh nghiệm nền bị lệch. Không ai được đội vương miện quá sớm.


PHẦN 2: MACHINE LEARNING VS THỐNG KÊ TRUYỀN THỐNG

Khung chương trình gốc nhấn mạnh điểm khác biệt: thống kê truyền thống thường tập trung vào kiểm định giả thuyết, còn ML tập trung vào dự đoán outcome và phát hiện pattern.

2.1. So sánh tổng quan

Tiêu chíThống kê truyền thốngMachine Learning
Mục tiêu chínhGiải thích, kiểm định giả thuyếtDự đoán, phân loại, phát hiện pattern
Câu hỏi thường gặpYếu tố A có liên quan outcome B không?Mô hình dự đoán outcome B tốt đến đâu?
Ưu tiênDiễn giải, p-value, CIHiệu năng dự đoán, AUROC, calibration
Dữ liệuCó thể nhỏ hơnThường cần dữ liệu lớn hơn
Mô hìnhThường đơn giản hơnCó thể phức tạp hơn
Diễn giảiDễ hơnCó thể khó hơn, nhất là mô hình “hộp đen”
Ví dụLogistic regression để tìm yếu tố liên quanRandom Forest/XGBoost để dự đoán tái nhập viện

2.2. Ví dụ cùng một dataset suy tim

Dataset gồm 500 bệnh nhân suy tim:

  • Age.
  • Ejection fraction.
  • BNP.
  • Diabetes.
  • CKD.
  • Length of stay.
  • 30-day readmission.

Cách tiếp cận thống kê

BNP có liên quan đến tái nhập viện 30 ngày không sau khi hiệu chỉnh tuổi, EF và bệnh đồng mắc?

Kết quả mong muốn:

  • Odds ratio.
  • 95% confidence interval.
  • p-value.
  • Diễn giải yếu tố liên quan.

Cách tiếp cận ML

Dùng tất cả biến có sẵn để xây dựng mô hình dự đoán bệnh nhân nào sẽ tái nhập viện trong 30 ngày.

Kết quả mong muốn:

  • AUROC.
  • Sensitivity/specificity.
  • Calibration.
  • Confusion matrix.
  • Feature importance.
  • Khả năng ứng dụng lâm sàng.

2.3. Khi nào nên dùng ML trong y khoa?

Nên cân nhắc ML khi:

  1. Mục tiêu chính là dự đoán.
  2. Có nhiều biến đầu vào.
  3. Mối quan hệ giữa biến đầu vào và outcome có thể phức tạp.
  4. Có đủ dữ liệu chất lượng tốt.
  5. Có kế hoạch đánh giá mô hình trên dữ liệu chưa từng dùng để huấn luyện.
  6. Kết quả mô hình có thể hỗ trợ quyết định lâm sàng hoặc quản lý.

Không nên dùng ML chỉ vì:

  • Nghe hiện đại.
  • Muốn đề tài “AI” cho sang.
  • Dataset có 50 bệnh nhân và 80 biến.
  • Chưa làm sạch dữ liệu.
  • Không có outcome rõ.
  • Không biết mô hình sẽ dùng để làm gì.

Câu hỏi kiểm tra nhanh:
Nếu mô hình dự đoán ra kết quả, bác sĩ/điều dưỡng/bệnh viện sẽ hành động khác đi như thế nào?
Nếu không trả lời được, mô hình có thể chỉ là một món đồ chơi thống kê có đèn LED.


PHẦN 3: CÁC LOẠI MACHINE LEARNING CƠ BẢN

3.1. Supervised Learning — Học có giám sát

Đây là loại ML phổ biến nhất trong nghiên cứu y khoa dự đoán.

Máy học từ dữ liệu đã có:

Input features → Known outcome

Sau đó dùng mô hình để dự đoán outcome cho bệnh nhân mới.

Ví dụ

FeaturesOutcome
Age, EF, BNP, comorbiditiesReadmission trong 30 ngày: Có/Không
Tuổi, HbA1c, BMI, thuốcĐạt HbA1c < 7%: Có/Không
Dấu hiệu sinh tồn, xét nghiệmTử vong ICU: Có/Không

Hai dạng chính

DạngOutcomeVí dụ
ClassificationNhóm/nhị phânTái nhập viện: Có/Không
RegressionSố liên tụcDự đoán HbA1c sau 3 tháng

3.2. Unsupervised Learning — Học không giám sát

Máy học từ dữ liệu không có outcome đã gắn nhãn.

Mục tiêu là tìm pattern, nhóm bệnh nhân, cấu trúc ẩn.

Ví dụ

  • Nhóm bệnh nhân đái tháo đường thành các phenotype khác nhau.
  • Phân nhóm bệnh nhân ICU theo đặc điểm sinh lý.
  • Tìm cluster bệnh nhân có kiểu sử dụng dịch vụ y tế tương tự.
  • Giảm chiều dữ liệu xét nghiệm/hình ảnh.

Các phương pháp thường gặp

Phương phápMục tiêu
K-means clusteringChia bệnh nhân thành nhóm
Hierarchical clusteringTạo cây phân nhóm
PCAGiảm số chiều dữ liệu
t-SNE/UMAPTrực quan hóa dữ liệu phức tạp

Trong Bài 12, trọng tâm là supervised learning vì dễ áp dụng vào prediction model lâm sàng.


PHẦN 4: CÁC THUẬT TOÁN CƠ BẢN TRONG BÀI 12

Khung chương trình gốc nêu các mô hình classification cơ bản gồm Logistic Regression, Decision Trees, Random Forest và thực hành thêm XGBoost.


4.1. Logistic Regression — Mô hình nền tảng

Dù tên là “regression”, logistic regression thường dùng cho outcome nhị phân.

Ví dụ outcome:

  • Tái nhập viện: có/không.
  • Tử vong: có/không.
  • Đạt mục tiêu HbA1c: có/không.
  • Có biến chứng: có/không.

Ưu điểm

  • Dễ hiểu.
  • Dễ báo cáo.
  • Cho odds ratio.
  • Là baseline model tốt.
  • Phù hợp khi cần giải thích.

Hạn chế

  • Giả định mối quan hệ tương đối tuyến tính giữa predictors và log-odds.
  • Khó bắt mối quan hệ phức tạp nếu không thêm tương tác/biến đổi.
  • Có thể kém hơn mô hình cây trong một số bài toán dự đoán.

Ví dụ diễn giải

Sau khi hiệu chỉnh các yếu tố khác, BNP cao hơn liên quan đến odds tái nhập viện 30 ngày cao hơn.


4.2. Decision Tree — Cây quyết định

Decision Tree chia dữ liệu thành các nhánh theo điều kiện.

Ví dụ:

BNP > 800?
   ├── Có → EF < 35?
   │       ├── Có → Nguy cơ cao
   │       └── Không → Nguy cơ trung bình
   └── Không → Nguy cơ thấp

Ưu điểm

  • Dễ trực quan hóa.
  • Gần với cách suy nghĩ lâm sàng.
  • Có thể xử lý quan hệ phi tuyến.
  • Không cần chuẩn hóa biến liên tục.

Hạn chế

  • Dễ overfit.
  • Một thay đổi nhỏ trong dữ liệu có thể tạo cây khác.
  • Hiệu năng thường không ổn định bằng Random Forest/XGBoost.

4.3. Random Forest — Rừng cây quyết định

Random Forest xây nhiều cây quyết định rồi tổng hợp kết quả.

Cách hiểu đơn giản

Một Decision Tree là một bác sĩ đưa ý kiến. Random Forest là hội chẩn nhiều bác sĩ, mỗi người nhìn một phần dữ liệu hơi khác nhau, rồi bỏ phiếu.

Ưu điểm

  • Hiệu năng thường tốt.
  • Ít overfit hơn một cây đơn lẻ.
  • Xử lý quan hệ phi tuyến tốt.
  • Cho feature importance.

Hạn chế

  • Khó giải thích hơn logistic regression.
  • Có nhiều hyperparameters.
  • Cần cẩn thận với calibration.
  • Feature importance có thể gây hiểu nhầm nếu biến tương quan mạnh.

4.4. XGBoost — Gradient Boosting mạnh mẽ

XGBoost là mô hình boosting, xây nhiều cây theo cách mỗi cây sau cố sửa lỗi của cây trước.

Ưu điểm

  • Thường có hiệu năng dự đoán rất tốt.
  • Xử lý dữ liệu dạng bảng mạnh.
  • Có thể dùng cho nhiều bài toán classification/regression.

Hạn chế

  • Dễ overfit nếu chỉnh sai.
  • Cần tuning.
  • Khó giải thích hơn.
  • Không nên dùng như “búa thần” cho mọi dataset.

Lời nhắc:
XGBoost không biến dataset dở thành nghiên cứu tốt. Nó chỉ giúp dataset dở chạy nhanh hơn tới kết quả dở — rất năng suất, nhưng hơi buồn.


PHẦN 5: QUY TRÌNH MACHINE LEARNING TRONG Y KHOA

Khung chương trình gốc nêu workflow gồm: data preprocessing, feature selection, train/validation/test split, model training, hyperparameter tuning và evaluation bằng AUROC/calibration.

5.1. Sơ đồ tổng quan

Câu hỏi dự đoán
   ↓
Xác định outcome và predictors
   ↓
Làm sạch dữ liệu
   ↓
Tiền xử lý dữ liệu
   ↓
Chia train / validation / test
   ↓
Huấn luyện mô hình
   ↓
Tuning
   ↓
Đánh giá mô hình
   ↓
Diễn giải và kiểm tra bias
   ↓
Báo cáo theo TRIPOD+AI
   ↓
External validation trước khi triển khai

5.2. Bước 1 — Xác định câu hỏi dự đoán

Một câu hỏi ML tốt cần rõ:

  • Ai là population?
  • Outcome cần dự đoán là gì?
  • Dự đoán tại thời điểm nào?
  • Dữ liệu đầu vào có sẵn trước thời điểm dự đoán không?
  • Mô hình dùng để làm gì?

Câu hỏi yếu

Dự đoán suy tim.

Quá mơ hồ.

Câu hỏi tốt hơn

Ở bệnh nhân suy tim xuất viện từ khoa Tim mạch, liệu dữ liệu tại thời điểm xuất viện có thể dự đoán nguy cơ tái nhập viện trong vòng 30 ngày không?

Câu hỏi rất tốt

Xây dựng và đánh giá mô hình dự đoán tái nhập viện 30 ngày ở bệnh nhân suy tim xuất viện, sử dụng các biến lâm sàng có sẵn tại thời điểm xuất viện gồm tuổi, EF, BNP, bệnh đồng mắc và thời gian nằm viện.


5.3. Bước 2 — Xác định outcome

Outcome phải rõ, đo được và có ý nghĩa lâm sàng.

Ví dụ:

Readmission_30d = 1 nếu bệnh nhân tái nhập viện trong vòng 30 ngày sau xuất viện
Readmission_30d = 0 nếu không tái nhập viện trong vòng 30 ngày

Lưu ý

Phải định nghĩa:

  • Tái nhập viện cùng bệnh viện hay bất kỳ bệnh viện nào?
  • Tái nhập viện vì mọi nguyên nhân hay vì suy tim?
  • Tính từ ngày xuất viện hay ngày nhập viện ban đầu?
  • Bệnh nhân tử vong trước 30 ngày xử lý thế nào?

Outcome không rõ thì mô hình học rất chăm chỉ… điều sai.


5.4. Bước 3 — Chọn features

Features là biến đầu vào cho mô hình.

Trong project mẫu:

  • Age.
  • EF.
  • BNP.
  • Comorbidities.
  • Length of stay.

Có thể mở rộng thêm:

  • Sex.
  • NYHA class.
  • eGFR.
  • Sodium.
  • Hemoglobin.
  • Prior hospitalization.
  • Medication at discharge.
  • Blood pressure.
  • Heart rate.

Nguyên tắc chọn features

Chỉ dùng biến có sẵn trước hoặc tại thời điểm dự đoán.

Ví dụ, nếu dự đoán tái nhập viện tại thời điểm xuất viện thì không được dùng:

  • Số lần tái khám sau xuất viện.
  • Thuốc thay đổi sau 2 tuần.
  • Xét nghiệm sau tái nhập viện.
  • Dữ liệu xảy ra sau outcome.

Đưa biến tương lai vào mô hình gọi là data leakage. Nó làm mô hình đẹp như tranh, nhưng đem ra thực tế thì rụng như lá mùa mưa.


5.5. Bước 4 — Tiền xử lý dữ liệu

Gồm:

  1. Kiểm tra missing values.
  2. Imputation.
  3. Encode biến phân loại.
  4. Chuẩn hóa biến liên tục.
  5. Xử lý outliers nếu có lý do.
  6. Kiểm tra mất cân bằng outcome.
  7. Ghi lại toàn bộ quyết định.

Missing values

Ví dụ:

BiếnCách xử lý đơn giản
AgeMedian imputation
BNPMedian imputation hoặc tạo thêm missing indicator
SexMode imputation
ComorbiditiesKiểm tra hồ sơ; không nên đoán bừa

Encoding

Biến phân loại phải được chuyển thành số.

Ví dụ:

Sex: Male/Female → 0/1
NYHA class: I/II/III/IV → ordinal hoặc one-hot encoding tùy mục tiêu
Comorbidities: Diabetes, CKD, COPD → mỗi bệnh là một biến 0/1

Standardization

Một số mô hình như logistic regression cần chuẩn hóa biến liên tục để huấn luyện ổn định hơn.

Standardized value = (giá trị - trung bình) / độ lệch chuẩn

Tree-based models như Random Forest/XGBoost thường không bắt buộc chuẩn hóa, nhưng pipeline thống nhất vẫn hữu ích.


5.6. Bước 5 — Chia train/validation/test

Khung thực hành gốc yêu cầu chia dữ liệu thành train 70%, validation 15%, test 15%.

Tập dữ liệuMục đích
Train setHuấn luyện mô hình
Validation setChọn mô hình, tuning hyperparameters
Test setĐánh giá cuối cùng, chỉ dùng một lần

Nguyên tắc vàng

Không được dùng test set để tuning. Nếu cứ nhìn test set rồi chỉnh tiếp mô hình, test set không còn là “bài thi cuối kỳ” nữa mà thành “đề cương ôn tập có đáp án”.


5.7. Bước 6 — Huấn luyện mô hình

Trong bài này, học viên huấn luyện 3 mô hình:

  1. Logistic Regression.
  2. Random Forest.
  3. XGBoost.

Logistic Regression đóng vai trò baseline. Nếu mô hình phức tạp không tốt hơn baseline hoặc khó giải thích hơn nhiều, chưa chắc đáng dùng.


5.8. Bước 7 — Tuning hyperparameters

Hyperparameters là các thiết lập trước khi mô hình học.

Ví dụ Random Forest:

  • Number of trees.
  • Maximum depth.
  • Minimum samples per leaf.

Ví dụ XGBoost:

  • Learning rate.
  • Max depth.
  • Number of estimators.
  • Subsample.

Lưu ý cho người mới

Không cần tuning quá sâu trong Bài 12. Mục tiêu là hiểu workflow, không phải biến buổi học thành cuộc thi Kaggle mini.


5.9. Bước 8 — Đánh giá mô hình

Cần đánh giá ít nhất:

  1. Discrimination — phân biệt người có/không có outcome.
  2. Calibration — xác suất dự đoán có đúng thực tế không.
  3. Clinical usefulness — mô hình có giúp ra quyết định không?
  4. Fairness — mô hình có hoạt động kém trên nhóm nào không?
  5. Generalizability — mô hình có dùng được ở bệnh viện khác không?

PHẦN 6: CÁC CHỈ SỐ ĐÁNH GIÁ MÔ HÌNH

6.1. Confusion Matrix

Với outcome nhị phân:

 Thực tế có outcomeThực tế không outcome
Dự đoán có outcomeTrue PositiveFalse Positive
Dự đoán không outcomeFalse NegativeTrue Negative

Ví dụ trong tái nhập viện:

  • True Positive: Mô hình dự đoán tái nhập viện và bệnh nhân thật sự tái nhập viện.
  • False Positive: Mô hình dự đoán tái nhập viện nhưng bệnh nhân không tái nhập viện.
  • False Negative: Mô hình dự đoán không tái nhập viện nhưng bệnh nhân tái nhập viện.
  • True Negative: Mô hình dự đoán không tái nhập viện và bệnh nhân không tái nhập viện.

6.2. Sensitivity và Specificity

Sensitivity — Độ nhạy

Trong số bệnh nhân thật sự tái nhập viện, mô hình phát hiện được bao nhiêu phần trăm?

Cao sensitivity nếu muốn không bỏ sót bệnh nhân nguy cơ cao.

Specificity — Độ đặc hiệu

Trong số bệnh nhân không tái nhập viện, mô hình nhận diện đúng bao nhiêu phần trăm?

Cao specificity nếu muốn tránh báo động giả quá nhiều.


6.3. PPV và NPV

Positive Predictive Value — PPV

Trong số bệnh nhân được dự đoán nguy cơ cao, bao nhiêu người thật sự tái nhập viện?

Negative Predictive Value — NPV

Trong số bệnh nhân được dự đoán nguy cơ thấp, bao nhiêu người thật sự không tái nhập viện?

PPV và NPV phụ thuộc vào tỷ lệ outcome trong quần thể. Mô hình dùng tốt ở bệnh viện trung ương chưa chắc dùng tốt ở bệnh viện huyện nếu case-mix khác.


6.4. AUROC

AUROC đo khả năng mô hình phân biệt người có outcome và không có outcome.

AUROCDiễn giải gần đúng
0,5Không tốt hơn đoán mò
0,6–0,7Yếu
0,7–0,8Chấp nhận được
0,8–0,9Tốt
>0,9Rất tốt, nhưng cần kiểm tra overfitting/data leakage

Lưu ý

AUROC cao không đảm bảo mô hình hữu ích lâm sàng. Một mô hình AUROC 0,85 nhưng calibration tệ có thể đưa ra xác suất nguy cơ sai lệch.


6.5. Calibration

Calibration trả lời:

Nếu mô hình dự đoán 100 bệnh nhân có nguy cơ 20%, có khoảng 20 người thật sự xảy ra outcome không?

Một mô hình có discrimination tốt nhưng calibration kém giống như một người xếp hạng bệnh nhân khá đúng nhưng luôn phóng đại nguy cơ. Lâm sàng nghe xong là hơi run.

Ví dụ

  • Mô hình nói nguy cơ tái nhập viện 70%.
  • Thực tế nhóm đó chỉ có 30% tái nhập viện.

Mô hình này có thể làm bác sĩ can thiệp quá mức.


6.6. Feature importance

Feature importance cho biết biến nào đóng góp nhiều vào dự đoán.

Ví dụ:

FeatureImportance
BNP0,28
EF0,22
Length of stay0,18
Age0,12
CKD0,10

Cẩn thận

Feature importance không đồng nghĩa với quan hệ nhân quả. Nếu BNP quan trọng nhất, không có nghĩa giảm BNP bằng mọi giá sẽ chắc chắn giảm tái nhập viện. Mô hình đang dự đoán, không đang chứng minh cơ chế.


PHẦN 7: OVERFITTING, DATA LEAKAGE VÀ BIAS

Khung chương trình gốc yêu cầu thảo luận phê phán về overfitting, nhu cầu external validation, rào cản triển khai lâm sàng và vấn đề đạo đức.

7.1. Overfitting là gì?

Overfitting xảy ra khi mô hình học quá kỹ dữ liệu huấn luyện, bao gồm cả nhiễu, nên biểu hiện rất tốt trên training set nhưng kém trên dữ liệu mới.

Dấu hiệu

Training performanceTest performanceDiễn giải
AUROC 0,98AUROC 0,62Overfitting rất đáng nghi
Accuracy 95%Accuracy 70%Mô hình học thuộc bài
Random Forest/XGBoost quá đẹpTest set xấuCần giảm độ phức tạp

Ẩn dụ:
Overfitting giống học thuộc đáp án đề năm ngoái. Vào phòng thi gặp đề mới thì mô hình cũng toát mồ hôi, nếu mô hình có tuyến mồ hôi.


7.2. Data leakage

Data leakage xảy ra khi mô hình vô tình được cung cấp thông tin không nên có.

Ví dụ data leakage trong y khoa

LeakageVì sao sai
Dùng biến “số lần tái khám sau xuất viện” để dự đoán tái nhập viện 30 ngàyBiến này xảy ra sau thời điểm dự đoán
Imputation/standardization trước khi chia train-testTest set đã “rò” thông tin vào train
Dùng kết quả xét nghiệm sau biến cốKhông có sẵn tại thời điểm dự đoán
Dùng mã chẩn đoán discharge để dự đoán biến cố xảy ra trong việnBiến được tạo sau outcome

Nguyên tắc

Tất cả bước học từ dữ liệu — imputation, scaling, feature selection — phải được fit trên training set rồi áp dụng sang validation/test.


7.3. Bias trong mô hình ML

Mô hình có thể hoạt động kém hơn trên một số nhóm:

  • Nam/nữ.
  • Người cao tuổi.
  • Bệnh viện tuyến tỉnh vs tuyến trung ương.
  • Thành thị vs nông thôn.
  • Nhóm dân tộc thiểu số.
  • Người có ít dữ liệu xét nghiệm.
  • Bệnh nhân nghèo ít tái khám đầy đủ.

Câu hỏi kiểm tra fairness

  1. AUROC có khác giữa nam và nữ không?
  2. Calibration có khác giữa nhóm tuổi trẻ và cao tuổi không?
  3. Mô hình có bỏ sót bệnh nhân nông thôn nhiều hơn không?
  4. Dữ liệu huấn luyện có đại diện cho bệnh viện nơi triển khai không?

PHẦN 8: REPORTING ML MODELS — TRIPOD+AI

Khung chương trình gốc yêu cầu học viên biết reporting ML models theo TRIPOD+AI và các yêu cầu minh bạch.

8.1. Vì sao cần guideline báo cáo?

Một mô hình ML y khoa không chỉ cần “chạy được”. Nó cần được báo cáo đủ rõ để người khác đánh giá:

  • Dữ liệu từ đâu?
  • Ai được đưa vào?
  • Outcome định nghĩa thế nào?
  • Missing data xử lý ra sao?
  • Dữ liệu được chia train/test thế nào?
  • Model nào được thử?
  • Hyperparameters ra sao?
  • Đánh giá bằng chỉ số nào?
  • Có external validation không?
  • Có kiểm tra bias không?
  • Có mã nguồn hoặc pipeline không?

8.2. Các thông tin tối thiểu cần báo cáo

Thành phầnCần báo cáo
PopulationNguồn dữ liệu, tiêu chuẩn chọn/loại
Prediction timepointDự đoán tại thời điểm nào
OutcomeĐịnh nghĩa, thời gian theo dõi
PredictorsDanh sách biến, thời điểm thu thập
Missing dataTỷ lệ thiếu, cách xử lý
Data splitTrain/validation/test hoặc cross-validation
AlgorithmsLoại mô hình, hyperparameters
EvaluationAUROC, calibration, confusion matrix
InterpretabilityFeature importance/SHAP nếu có
ValidationInternal/external validation
EthicsBảo mật, bias, khả năng gây hại
AI assistanceCông cụ AI đã dùng, dùng để làm gì

PHẦN 9: CÔNG CỤ SỬ DỤNG TRONG BÀI

Khung chương trình gốc liệt kê 3 công cụ chính: ChatGPT với Code Interpreter, Google ColabJulius AI.

9.1. ChatGPT với Code Interpreter / Advanced Data Analysis

Dùng để:

  • Viết code Python.
  • Giải thích code.
  • Tạo pipeline ML.
  • Kiểm tra lỗi.
  • Tạo biểu đồ ROC, confusion matrix, calibration.
  • Hỗ trợ viết phần Results.

Lưu ý

Không upload dữ liệu định danh bệnh nhân lên công cụ AI công cộng. Nếu cần thực hành, dùng dataset giả lập hoặc đã ẩn danh.


9.2. Google Colab

Dùng để:

  • Chạy Python miễn phí.
  • Cài thư viện scikit-learn, xgboost.
  • Chia sẻ notebook với nhóm.
  • Tái lập phân tích.

Ưu điểm lớn: học viên không cần cài Python trên máy cá nhân.


9.3. Julius AI

Dùng cho:

  • Phân tích dữ liệu bằng câu hỏi tự nhiên.
  • Tạo mô hình đơn giản.
  • Vẽ biểu đồ nhanh.
  • Hỗ trợ học viên chưa quen code.

Lưu ý: vẫn cần kiểm tra bảo mật dữ liệu và hiểu logic mô hình.


PHẦN 10: PROJECT THỰC HÀNH TRÊN LỚP

Chủ đề project

Xây dựng mô hình dự đoán tái nhập viện 30 ngày ở bệnh nhân suy tim.

Đây là project thực hành chính được nêu trong khung chương trình gốc. Dataset mẫu gồm 500 bệnh nhân suy tim xuất viện, outcome là tái nhập viện trong 30 ngày, features gồm tuổi, EF, BNP, bệnh đồng mắc và thời gian nằm viện.


10.1. Cấu trúc dataset mẫu

BiếnÝ nghĩaLoại biến
Patient_IDMã bệnh nhânID
AgeTuổiLiên tục
SexGiớiCategorical
EFEjection fractionLiên tục
BNPB-type natriuretic peptideLiên tục
DiabetesCó đái tháo đườngNhị phân
CKDCó bệnh thận mạnNhị phân
COPDCó COPDNhị phân
Prior_HF_AdmissionTiền sử nhập viện vì suy timNhị phân
Length_of_StaySố ngày nằm việnLiên tục
Discharge_Medication_CountSố thuốc lúc xuất việnLiên tục
Readmission_30dTái nhập viện trong 30 ngàyOutcome nhị phân

10.2. Thực hành 1 — Chuẩn bị dữ liệu

Thời lượng: 25 phút

Nhiệm vụ

  1. Kiểm tra missing values.
  2. Xử lý missing bằng median/mode imputation.
  3. Encode biến categorical.
  4. Chia train/validation/test 70/15/15.
  5. Standardize continuous variables.
  6. Đảm bảo không data leakage.

Prompt mẫu

Tôi có dataset gồm 500 bệnh nhân suy tim xuất viện.

Outcome:
- Readmission_30d: 1 = tái nhập viện trong 30 ngày, 0 = không

Features:
- Age
- Sex
- EF
- BNP
- Diabetes
- CKD
- COPD
- Prior_HF_Admission
- Length_of_Stay
- Discharge_Medication_Count

Hãy viết code Python trong Google Colab để chuẩn bị dữ liệu cho machine learning:

Yêu cầu:
1. Load file CSV
2. Kiểm tra missing values
3. Tách X và y
4. Chia train/validation/test theo tỷ lệ 70/15/15, dùng stratify theo outcome
5. Với biến liên tục: impute bằng median và standardize
6. Với biến categorical: impute bằng mode và one-hot encode nếu cần
7. Tạo sklearn Pipeline để tránh data leakage
8. In kích thước từng tập dữ liệu
9. Có comment bằng tiếng Việt

10.3. Thực hành 2 — Huấn luyện 3 mô hình

Thời lượng: 25 phút

Mô hình cần huấn luyện

  1. Logistic Regression.
  2. Random Forest.
  3. XGBoost.

Prompt mẫu

Tiếp tục từ dữ liệu đã chia train/validation/test.

Hãy viết code Python để huấn luyện 3 mô hình dự đoán Readmission_30d:
1. Logistic Regression
2. Random Forest
3. XGBoost

Yêu cầu:
- Sử dụng pipeline preprocessing đã tạo
- Huấn luyện trên train set
- Đánh giá sơ bộ trên validation set
- In AUROC, accuracy, sensitivity, specificity, PPV, NPV
- Lưu kết quả vào một bảng so sánh
- Có comment bằng tiếng Việt

10.4. Thực hành 3 — Đánh giá mô hình

Thời lượng: 25 phút

Khung chương trình gốc yêu cầu đánh giá bằng AUROC, calibration plot, confusion matrix và feature importance.

Nhiệm vụ

  1. Chọn model tốt nhất dựa trên validation set.
  2. Đánh giá cuối cùng trên test set.
  3. Vẽ ROC curve.
  4. Tạo confusion matrix.
  5. Vẽ calibration plot.
  6. Xuất feature importance.

Prompt mẫu

Tôi đã huấn luyện 3 mô hình:
- Logistic Regression
- Random Forest
- XGBoost

Hãy viết code Python để đánh giá mô hình tốt nhất trên test set.

Yêu cầu:
1. Tính AUROC
2. Vẽ ROC curve
3. Tạo confusion matrix tại threshold 0.5
4. Tính sensitivity, specificity, PPV, NPV
5. Vẽ calibration plot
6. Tạo bảng predicted risk theo nhóm nguy cơ:
   - Low risk: <10%
   - Moderate risk: 10–20%
   - High risk: >20%
7. Xuất feature importance nếu mô hình hỗ trợ
8. Viết đoạn diễn giải kết quả bằng tiếng Việt

10.5. Thực hành 4 — Diễn giải khả năng ứng dụng lâm sàng

Thời lượng: 15 phút

Câu hỏi thảo luận

  1. Mô hình nào có AUROC tốt nhất?
  2. Mô hình nào dễ giải thích nhất?
  3. Top predictors là gì?
  4. Mô hình có calibration tốt không?
  5. Nếu dùng mô hình này tại bệnh viện, ai sẽ nhận cảnh báo?
  6. Cảnh báo nguy cơ cao sẽ dẫn đến hành động gì?
  7. False positive và false negative có hậu quả gì?
  8. Mô hình có cần external validation không?

Mẫu diễn giải

Mô hình Random Forest đạt AUROC cao nhất trên validation set, tuy nhiên Logistic Regression có ưu điểm dễ diễn giải hơn và hiệu năng chỉ thấp hơn nhẹ. Trên test set, mô hình tốt nhất đạt AUROC = ..., sensitivity = ..., specificity = .... Các yếu tố dự đoán quan trọng nhất gồm BNP, EF, tiền sử nhập viện suy tim và thời gian nằm viện. Tuy nhiên, mô hình mới chỉ được đánh giá nội bộ trên một dataset giả lập/một trung tâm, cần external validation trước khi cân nhắc ứng dụng lâm sàng.

PHẦN 11: DIỄN GIẢI MÔ HÌNH CHO NHÂN VIÊN Y TẾ

11.1. Không nên nói

“Mô hình AI này dự đoán chính xác bệnh nhân sẽ tái nhập viện.”

Quá mạnh. Không mô hình nào dự đoán chắc chắn tương lai từng bệnh nhân.

11.2. Nên nói

“Mô hình ước tính xác suất tái nhập viện trong 30 ngày dựa trên các đặc điểm có sẵn tại thời điểm xuất viện.”

11.3. Ví dụ diễn giải cho bệnh viện

Bệnh nhân có nguy cơ dự đoán >20% có thể được xem xét tư vấn xuất viện tăng cường, hẹn tái khám sớm hơn, gọi điện theo dõi sau xuất viện hoặc chuyển vào chương trình quản lý suy tim. Tuy nhiên, mô hình chỉ hỗ trợ phân tầng nguy cơ, không thay thế đánh giá lâm sàng của bác sĩ.


PHẦN 12: CASE STUDY THẢO LUẬN

Case 1: AUROC rất cao — vui hay lo?

Một nhóm xây mô hình dự đoán tái nhập viện 30 ngày. AUROC trên test set = 0,98.

Câu hỏi

  1. Đây có phải mô hình cực tốt không?
  2. Cần kiểm tra điều gì?
  3. Nguy cơ nào đáng nghi?

Gợi ý trả lời

AUROC 0,98 trong dữ liệu y khoa dạng bảng là rất cao, cần kiểm tra data leakage, biến xảy ra sau outcome, trùng bệnh nhân giữa train/test, test set quá nhỏ hoặc outcome bị mã hóa gián tiếp qua một biến khác.


Case 2: Mô hình tốt nhưng không dùng được

Mô hình dự đoán tử vong ICU có AUROC 0,87. Tuy nhiên, biến quan trọng nhất là xét nghiệm chỉ có sau 48 giờ nằm ICU, trong khi bệnh viện muốn dự đoán ngay lúc nhập ICU.

Câu hỏi

  1. Vấn đề là gì?
  2. Mô hình có phù hợp mục tiêu lâm sàng không?
  3. Nên sửa thế nào?

Gợi ý trả lời

Mô hình dùng biến không có sẵn tại thời điểm cần dự đoán. Cần xác định lại prediction timepoint và chỉ dùng biến có sẵn tại thời điểm đó.


Case 3: Mô hình kém ở bệnh viện tuyến huyện

Mô hình được huấn luyện tại bệnh viện trung ương, AUROC nội bộ 0,82. Khi áp dụng tại bệnh viện huyện, AUROC còn 0,61 và calibration rất kém.

Câu hỏi

  1. Vì sao mô hình giảm hiệu năng?
  2. Đây là vấn đề gì?
  3. Cần làm gì trước khi triển khai rộng?

Gợi ý trả lời

Có thể do khác biệt case-mix, quy trình điều trị, cách ghi dữ liệu, tỷ lệ outcome và nguồn lực. Đây là vấn đề generalizability và external validation. Cần kiểm định ngoài, hiệu chỉnh calibration, hoặc huấn luyện lại với dữ liệu địa phương.


Case 4: Mô hình gây quá tải chăm sóc

Mô hình đánh dấu 45% bệnh nhân là nguy cơ cao. Điều dưỡng chỉ đủ nhân lực gọi điện theo dõi 10% bệnh nhân sau xuất viện.

Câu hỏi

  1. Threshold 0,5 có phù hợp không?
  2. Nên chọn threshold theo tiêu chí nào?
  3. Mô hình có cần gắn với nguồn lực thực tế không?

Gợi ý trả lời

Threshold cần chọn theo mục tiêu lâm sàng và nguồn lực. Có thể chọn top 10% nguy cơ cao nhất thay vì threshold cố định. Mô hình phải phục vụ quy trình chăm sóc thật, không phải tạo thêm việc rồi bỏ đó.


PHẦN 13: AI HỖ TRỢ MACHINE LEARNING NHƯ THẾ NÀO?

13.1. AI có thể hỗ trợ

  • Viết code Python.
  • Giải thích thuật toán.
  • Tạo pipeline preprocessing.
  • Gợi ý mô hình.
  • Vẽ ROC curve, confusion matrix, calibration plot.
  • Viết báo cáo kết quả.
  • Phát hiện lỗi logic trong pipeline.
  • Tạo checklist TRIPOD+AI.
  • Giải thích output cho người không chuyên code.

13.2. AI không được quyết định thay

  • Outcome nào có ý nghĩa lâm sàng.
  • Biến nào hợp lệ tại thời điểm dự đoán.
  • Có nên triển khai mô hình hay không.
  • Mô hình có công bằng không.
  • Có đủ an toàn cho bệnh nhân không.
  • Có được dùng dữ liệu bệnh nhân lên cloud hay không.
  • Có thể thay quyết định bác sĩ hay không.

13.3. Prompt kiểm tra pipeline ML

Hãy đóng vai trò chuyên gia machine learning trong y khoa.

Đánh giá pipeline sau:
[Dán mô tả pipeline hoặc code]

Hãy kiểm tra:
1. Có nguy cơ data leakage không?
2. Train/validation/test split có hợp lý không?
3. Imputation và standardization có được fit chỉ trên training set không?
4. Outcome có được định nghĩa rõ không?
5. Có biến nào xảy ra sau thời điểm dự đoán không?
6. Chỉ số đánh giá có phù hợp không?
7. Có cần calibration không?
8. Có cần external validation không?
9. Có vấn đề đạo đức hoặc bias nào cần lưu ý không?
10. Đề xuất sửa cụ thể.

PHẦN 14: LỖI THƯỜNG GẶP KHI LÀM ML Y KHOA

LỗiVí dụHậu quảCách sửa
Outcome mơ hồ“Bệnh nhân xấu đi”Mô hình học sai mục tiêuĐịnh nghĩa outcome cụ thể
Data leakageDùng dữ liệu sau xuất viện để dự đoán tại lúc xuất việnHiệu năng ảoChỉ dùng biến có sẵn trước thời điểm dự đoán
Không chia test setHuấn luyện và đánh giá trên cùng dữ liệuOverfittingTrain/validation/test split
Test set bị dùng nhiều lầnChỉnh model theo test setTest set mất giá trịChỉ dùng test set cuối cùng
Chỉ báo accuracyOutcome hiếm 5%, đoán “không” cũng 95% accuracyĐánh giá saiDùng AUROC, sensitivity, specificity, PPV/NPV
Không kiểm tra calibrationAUROC cao nhưng xác suất saiQuyết định lâm sàng saiVẽ calibration plot
Không external validationModel chỉ tốt ở một nơiTriển khai thất bạiKiểm định ngoài
Không xem fairnessModel kém ở nhóm nông thônBất côngPhân tích theo subgroup
Không bảo mật dữ liệuUpload file bệnh nhân lên AI publicVi phạm đạo đức/pháp lýẨn danh, dùng môi trường an toàn
Diễn giải causalFeature importance = nguyên nhânKết luận saiNhấn mạnh mô hình dự đoán, không chứng minh nhân quả

PHẦN 15: CHECKLIST SAU BÀI HỌC

15.1. Checklist câu hỏi ML

  • Population rõ.
  • Outcome rõ.
  • Prediction timepoint rõ.
  • Features có sẵn tại thời điểm dự đoán.
  • Mục đích sử dụng mô hình rõ.
  • Có kế hoạch xử lý missing data.
  • Có kế hoạch train/validation/test split.
  • Có kế hoạch đánh giá discrimination và calibration.
  • Có kế hoạch kiểm tra bias/fairness.
  • Có kế hoạch external validation nếu muốn triển khai.

15.2. Checklist kỹ thuật

  • Không có patient identifiers trong file dùng thực hành.
  • Imputation fit trên training set.
  • Scaling fit trên training set.
  • Test set không dùng để tuning.
  • Có confusion matrix.
  • Có ROC curve/AUROC.
  • Có calibration plot.
  • Có feature importance hoặc giải thích mô hình.
  • Có ghi lại tool, version, ngày phân tích.
  • Có lưu code/notebook để tái lập.

15.3. Checklist diễn giải

  • Không nói “AI chứng minh”.
  • Không nói “dự đoán chính xác tuyệt đối”.
  • Không suy luận nhân quả từ feature importance.
  • Có nêu giới hạn dataset.
  • Có nêu cần external validation.
  • Có nêu khả năng ứng dụng lâm sàng.
  • Có nêu rủi ro false positive/false negative.
  • Có nêu trách nhiệm con người khi dùng mô hình.

PHẦN 16: THƯ VIỆN PROMPT CHO BÀI 12

Prompt 1: Xác định bài toán ML

Tôi muốn xây dựng mô hình machine learning trong nghiên cứu y khoa.

Thông tin:
- Bối cảnh lâm sàng:
- Population:
- Outcome muốn dự đoán:
- Thời điểm dự đoán:
- Các biến đầu vào có sẵn:
- Mục đích sử dụng mô hình:
- Cỡ mẫu:
- Tỷ lệ outcome:

Hãy đánh giá:
1. Đây có phải bài toán ML phù hợp không?
2. Là classification hay regression?
3. Outcome có đủ rõ không?
4. Có nguy cơ data leakage nào không?
5. Nên dùng mô hình baseline nào?
6. Chỉ số đánh giá nào phù hợp?
7. Những điểm cần làm rõ trước khi phân tích.

Prompt 2: Viết code ML đầy đủ

Hãy viết code Python trong Google Colab để xây dựng mô hình dự đoán y khoa.

Dataset: CSV
Outcome: Readmission_30d
Features:
Age, Sex, EF, BNP, Diabetes, CKD, COPD, Prior_HF_Admission, Length_of_Stay

Yêu cầu:
1. Load dữ liệu
2. Kiểm tra missing values
3. Tách X/y
4. Chia train/validation/test 70/15/15, stratify theo outcome
5. Tạo preprocessing pipeline:
   - Continuous: median imputation + standardization
   - Categorical: mode imputation + one-hot encoding
6. Train Logistic Regression, Random Forest, XGBoost
7. Đánh giá validation set bằng AUROC, sensitivity, specificity, PPV, NPV
8. Chọn model tốt nhất
9. Đánh giá model tốt nhất trên test set
10. Vẽ ROC curve, confusion matrix, calibration plot
11. Xuất feature importance
12. Comment code bằng tiếng Việt
13. Giải thích từng bước sau code

Prompt 3: Diễn giải kết quả ML

Dưới đây là kết quả mô hình ML:
[Dán bảng kết quả]

Hãy viết phần Results ngắn cho manuscript y khoa, gồm:
1. Số bệnh nhân và tỷ lệ outcome
2. Cách chia train/validation/test
3. Các mô hình đã thử
4. Hiệu năng trên validation set
5. Hiệu năng cuối cùng trên test set
6. AUROC, sensitivity, specificity, PPV, NPV
7. Calibration nếu có
8. Top predictors
9. Diễn giải thận trọng, không nói quá mức

Viết bằng tiếng Việt học thuật và kèm bản tiếng Anh.

Prompt 4: Kiểm tra đạo đức và triển khai

Tôi có mô hình dự đoán [outcome] trong bệnh viện.

Thông tin mô hình:
- Population:
- Dataset:
- Outcome:
- Features:
- AUROC:
- Calibration:
- Top predictors:
- Intended use:
- Ai sẽ dùng mô hình:
- Hành động sau khi model báo nguy cơ cao:

Hãy đánh giá:
1. Mô hình đã đủ điều kiện triển khai chưa?
2. Cần external validation gì?
3. Nguy cơ bias/fairness nào?
4. False positive gây hại gì?
5. False negative gây hại gì?
6. Cần giải thích với bệnh nhân/nhân viên y tế như thế nào?
7. Cần giám sát mô hình sau triển khai ra sao?
8. Có nên dùng như decision support hay tự động quyết định?

PHẦN 17: BÀI TẬP VỀ NHÀ

Bài tập chính: Mini Prediction Model

Mỗi học viên hoặc nhóm nhỏ thực hiện một mini-project ML với dataset mẫu hoặc dữ liệu đã ẩn danh.

Yêu cầu nộp

  1. Câu hỏi dự đoán
    • Population.
    • Outcome.
    • Prediction timepoint.
    • Intended use.
  2. Mô tả dataset
    • Số bệnh nhân.
    • Số predictors.
    • Tỷ lệ outcome.
    • Missing data.
  3. Preprocessing
    • Missing imputation.
    • Encoding.
    • Standardization.
    • Train/validation/test split.
  4. Models
    • Logistic Regression.
    • Một tree-based model: Random Forest hoặc XGBoost.
  5. Evaluation
    • AUROC.
    • Confusion matrix.
    • Sensitivity/specificity.
    • PPV/NPV.
    • Calibration plot.
    • Feature importance.
  6. Interpretation
    • Model nào tốt nhất?
    • Top predictors là gì?
    • Có ứng dụng lâm sàng không?
    • Cần external validation không?
  7. Reflection 200–300 từ
    • AI đã giúp gì?
    • AI gợi ý sai hoặc chưa đủ ở đâu?
    • Bạn đã kiểm tra data leakage thế nào?
    • Có rủi ro đạo đức/bias nào?

Mẫu bài nộp

Tên project:
Dự đoán tái nhập viện 30 ngày ở bệnh nhân suy tim xuất viện.

Câu hỏi dự đoán:
Ở bệnh nhân suy tim xuất viện, dữ liệu lâm sàng tại thời điểm xuất viện có thể dự đoán tái nhập viện trong 30 ngày không?

Dataset:
- n = 500
- Outcome: Readmission_30d
- Outcome rate: 18%
- Predictors: Age, EF, BNP, Diabetes, CKD, COPD, Prior_HF_Admission, Length_of_Stay

Preprocessing:
- Continuous variables: median imputation + standardization
- Categorical variables: mode imputation + one-hot encoding
- Split: train 70%, validation 15%, test 15%

Models:
- Logistic Regression
- Random Forest
- XGBoost

Main result:
Model tốt nhất trên validation set là ...
Trên test set, AUROC = ..., sensitivity = ..., specificity = ...
Top predictors gồm ...

Clinical interpretation:
Mô hình có thể hỗ trợ xác định bệnh nhân cần theo dõi sau xuất viện, nhưng cần external validation trước khi triển khai.

AI use:
ChatGPT được dùng để hỗ trợ viết code Python, giải thích output và kiểm tra nguy cơ data leakage. Toàn bộ code và kết quả được nhóm kiểm tra lại.

PHẦN 18: RUBRIC CHẤM ĐIỂM

Tiêu chíĐiểm
Câu hỏi dự đoán rõ, có prediction timepoint1
Outcome và predictors được định nghĩa đúng1
Preprocessing hợp lý, tránh data leakage2
Train/validation/test split đúng1
Huấn luyện ít nhất 2 mô hình1
Đánh giá mô hình đầy đủ: AUROC, confusion matrix, calibration1.5
Diễn giải kết quả thận trọng, không quá mức1
Thảo luận external validation, bias, ứng dụng lâm sàng1
Reflection về sử dụng AI có trách nhiệm0.5
Tổng10

PHẦN 19: THÔNG ĐIỆP KẾT THÚC

Bài 12 giúp học viên bước từ “phân tích dữ liệu” sang “xây dựng mô hình dự đoán”. Đây là vùng rất hấp dẫn, nhưng cũng nhiều bẫy.

Hãy nhớ 7 câu:

1. Machine Learning không thay thế câu hỏi nghiên cứu rõ ràng.

2. Mô hình dự đoán chỉ tốt khi dữ liệu đầu vào tốt. Garbage in, AI-flavored garbage out.

3. AUROC cao chưa đủ; cần calibration, clinical usefulness và external validation.

4. Logistic Regression vẫn là baseline mạnh, đừng khinh thường cụ già có võ.

5. Feature importance không phải bằng chứng nhân quả.

6. Mô hình chỉ nên hỗ trợ quyết định, không tự động thay thế bác sĩ hoặc quy trình chăm sóc.

7. Trước khi triển khai mô hình trong bệnh viện, phải hỏi: mô hình giúp ai, hành động gì, rủi ro nào, và ai chịu trách nhiệm?


Soạn giả: Jack Doan 
Phiên bản: 1.0

Từ khoá