3.4.3 Import data
Để thực hiện quá trình nhập dữ liệu, chúng ta thường sử dụng thư viện OpenCV hoặc Pillow để đọc và xử lý hình ảnh. OpenCV hỗ trợ rất tốt việc đọc tệp ảnh, chuyển đổi chúng sang dạng ảnh grayscale (ảnh đen trắng) để giảm kích thước và độ phức tạp. Thao tác resize cũng thường được thực hiện để điều chỉnh kích thước hình ảnh về kích thước chuẩn (ví dụ:
128x128 pixel), giúp đồng bộ hóa kích thước dữ liệu đầu vào phù hợp với kiến trúc của các mô hình học sâu.
Ngoài ra, thư viện Pandas thường được sử dụng để xử lý các tệp CSV, giúp dễ dàng đọc thông tin về đường dẫn và nhãn. Các hình ảnh sau khi xử lý sẽ được chuyển đổi thành các mảng số học NumPy để phù hợp với yêu cầu của mô hình và tăng hiệu quả xử lý. Việc này cũng đảm bảo rằng dữ liệu đầu vào cho mô hình học sâu đã được chuẩn bị một cách chính xác và phù hợp.
3.4.4 Preprocess data
Quá trình tiền xử lý dữ liệu đóng vai trò quan trọng trong việc tối ưu hóa chất lượng và hiệu suất của mô hình học sâu. Ban đầu, các hình ảnh y tế như X-quang hoặc CT scan được đọc và chuẩn hóa để có kích thước đồng nhất, đảm bảo mô hình có thể xử lý dữ liệu một cách nhất quán. Thông thường, các hình ảnh này sẽ được thay đổi kích thước về một kích thước tiêu chuẩn, ví dụ 128x128 pixel, giúp giảm sự biến động của dữ liệu đầu vào. Đồng thời, việc chuyển đổi các hình ảnh sang ảnh xám (grayscale) giúp giảm độ phức tạp và tập trung vào các đặc trưng quan trọng mà mô hình cần học, như các khu vực tối hoặc sáng đặc trưng trong hình ảnh phổi.
Tiếp theo, giá trị pixel ban đầu của hình ảnh, thường nằm trong khoảng từ 0 đến 255, sẽ được chuẩn hóa về phạm vi từ 0 đến 1. Quá trình chuẩn hóa này giúp giảm sự chênh lệch về độ sáng của hình ảnh, tạo điều kiện cho mô hình học một cách dễ dàng và ổn định hơn. Để tăng cường dữ liệu và đa dạng hóa trong bộ dữ liệu huấn luyện, các kỹ thuật như xoay, lật, điều chỉnh độ sáng và phóng to (zoom) thường được áp dụng. Những biến thể này giúp mô hình trở nên linh hoạt hơn và giảm nguy cơ overfitting, khi mô hình quá khớp với dữ liệu huấn luyện.
Khi tiền xử lý hoàn tất, dữ liệu sẽ được chia thành hai tập: tập huấn luyện và tập kiểm tra, với tỷ lệ huấn luyện chiếm khoảng 70% đến 80% tổng số dữ liệu. Việc này giúp mô hình có đủ dữ liệu để học và tối ưu hóa, đồng thời vẫn cung cấp đủ dữ liệu kiểm tra để đánh giá khả năng tổng quát của mô hình. Cuối cùng, các hình ảnh và nhãn tương ứng sẽ được chuyển đổi thành mảng NumPy hoặc tensor, giúp dữ liệu phù hợp với yêu cầu đầu vào của các mô hình học sâu. Quá trình tiền xử lý này không chỉ làm sạch và chuẩn bị dữ liệu mà còn giúp mô hình học được các đặc trưng quan trọng, từ đó nâng cao độ chính xác trong việc dự đoán về ung thư phổi.
3.4.5 Train data
Sau khi dữ liệu được tiền xử lý, bước tiếp theo là huấn luyện mô hình học sâu. Quá trình này bắt đầu khi dữ liệu huấn luyện được đưa vào mô hình, thường là mạng neural tích chập (CNN) do khả năng phát hiện các đặc trưng quan trọng trong hình ảnh, chẳng hạn như hình dạng, cấu trúc và các dấu hiệu bất thường ở phổi. Mô hình sẽ được tối ưu hóa bằng các thuật toán như Adam hoặc Stochastic Gradient Descent (SGD), nhằm giảm hàm mất mát (loss function) và nâng cao độ chính xác của dự đoán.
Trong mỗi vòng lặp huấn luyện (epoch), mô hình điều chỉnh các trọng số của các lớp mạng neural dựa trên lỗi dự đoán, từ đó cải thiện dần khả năng phân loại. Việc sử dụng batch size trong quá trình huấn luyện giúp tiết kiệm bộ nhớ và tăng hiệu quả học tập. Để tránh hiện tượng overfitting, các kỹ thuật như dropout hoặc regularization (L2, L1) được áp dụng, giúp mô hình có khả năng tổng quát tốt hơn với dữ liệu chưa được thấy.
Kết quả của quá trình này là một mô hình được tối ưu hóa, có khả năng nhận diện và phân loại chính xác ung thư phổi dựa trên các đặc trưng học được từ dữ liệu huấn luyện. Sau khi hoàn tất, mô hình sẽ được kiểm tra bằng dữ liệu kiểm tra (chiếm khoảng 20% đến 30% dữ liệu) để đánh giá độ chính xác và khả năng tổng quát của nó đối với các trường hợp mới, đảm bảo rằng mô hình có thể được ứng dụng hiệu quả trong thực tế.
3.5 Kết quả
Sau khi hoàn tất quá trình huấn luyện, mô hình sẽ được kiểm thử trên tập dữ liệu kiểm tra nhằm đánh giá khả năng hoạt động và hiệu quả phân loại đối với các dữ liệu chưa từng gặp. Để đo lường hiệu suất, các chỉ số quan trọng sau sẽ được sử dụng:
Độ chính xác (Accuracy): Đây là tỷ lệ giữa số lượng dự đoán đúng và tổng số dự đoán của mô hình. Độ chính xác phản ánh tổng quan khả năng phân loại, nhưng trong các bài toán có sự mất cân bằng giữa các lớp dữ liệu (như ung thư phổi), chỉ số này có thể không hoàn toàn phản ánh đúng hiệu suất thực tế của mô hình.
Độ nhạy (Sensitivity/Recall): Độ nhạy, hay recall, đo lường khả năng của mô hình trong việc phát hiện chính xác các trường hợp thực sự mắc ung thư phổi. Đây là chỉ số đặc biệt quan trọng trong các ứng dụng y tế, vì nó thể hiện khả năng nhận diện đúng bệnh nhân mắc ung thư phổi mà không bỏ sót bất kỳ trường hợp nào.
Độ đặc hiệu (Specificity): Độ đặc hiệu đo lường khả năng của mô hình trong việc nhận diện chính xác các trường hợp không mắc bệnh. Chỉ số này đảm bảo rằng mô hình có thể loại trừ chính xác những trường hợp không mắc ung thư phổi, qua đó giảm thiểu tỷ lệ dự đoán sai ở các bệnh nhân không có bệnh.
Những chỉ số này mang lại cái nhìn toàn diện về hiệu suất của mô hình, không chỉ trong việc phân loại chính xác các trường hợp mắc bệnh mà còn trong việc hạn chế các dự đoán sai ở bệnh nhân không mắc bệnh. Điều này đóng vai trò quan trọng trong việc đảm bảo độ chính xác và độ tin cậy của mô hình khi ứng dụng vào thực tế, đặc biệt là trong các lĩnh vực y tế nhạy cảm như chẩn đoán ung thư phổi.
3.6 Confusion matrix
Confusion matrix là một phương pháp đánh giá kết quả của những bài toán phân loại với việc xem xét cả những chỉ số về độ chính xác và độ bao quát của các dự đoán cho từng lớp.
Dựa trên bài toán ung thư phổi, ma trận bao gồm:
TP (True Positive): Số lượng dự đoán chính xác. Là khi mô hình dự đoán đúng một người bị ung thư.
TN (True Negative): Số lương dự đoán chính xác một cách gián tiếp. Là khi mô hình dự đoán đúng một người không bị ung thư, tức là việc không chọn trường hợp bị ung thư là chính xác.
FP (False Positive - Type 1 Error): Số lượng các dự đoán sai lệch. Là khi mô hình dự đoán một người bị ung thư và người đó hoàn toàn khỏe mạnh.
FN (False Negative - Type 2 Error): Số lượng các dự đoán sai lệch một cách gián tiếp.
Là khi mô hình dự đoán một người không bị ung thư nhưng người đó bị ung thư, tức là việc không chọn trường hợp bị ung thư là sai. Từ 4 chỉ số này, ta có 2 con số để đánh giá mức độ tin cậy của một mô hình
Precision: Trong tất cả các dự đoán Positive được đưa ra, bao nhiêu dự đoán là chính xác?
Chỉ số này được tính theo công thức:
Recall: Trong tất cả các trường hợp Positive, bao nhiêu trường hợp đã được dự đoán chính xác? Chỉ số này được tính theo công thức: