Từ những dữ liệu đã được thu thập, chúng ta có thể sử dụng các thuật toán của học máy để đưa ra những dự đoán trong tương lai với độ chính xác khá cáo, từ những dự đoán đó sẽ giúp chúng
Trang 1TRƯỜ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
HỌC MÁY NÂNG CAO
ĐỀ TÀI: DỰ ĐOÁN KHẢ NĂNG MẮC BỆNH UNG THƯ SỬ DỤNG
THUẬT TOÁN PCA
Sinh Viên Thực Hiện :ĐỖ CHÍ ĐỨC - 201810310313
VŨ HUY HOÀNG – 20810310266 NGÔ TRUNG HIẾU - 20810310278 Giảng Viên Hướng
Dẫn
: VŨ VĂN ĐỊNH
Trang 2PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
ĐỖ CHÍ ĐỨC
20810310313
VŨ HUY HOÀNG
20810310266
NGÔ TRUNG HIẾU
20810310278
Giảng viên chấm:
Giảng viên chấm 1 :
Giảng viên chấm 2 :
Trang 3MỤC LỤC
LỜI CẢM ƠN 2
LỜI MỞ ĐẦU 3
CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 4
1.1 Khái niệm học máy 4
1.2 Các mô hình học máy 5
1.2.1 Học có giám sát 5
1.2.2 Học không giám sát 5
1.2.3 Học bán giám sát 5
1.2.4 Học tăng cường 6
1.3 Ứng dụng học máy: 6
CHƯƠNG 2: THUẬT TOÁN PCA (GIẢM CHIỀU DỮ LIỆU) 8
2.1 Khái niệm 8
2.2 Các bước thực hiện PCA 9
2.3 Mục đích chính của PCA 10
2.4 Ưu điểm, nhược điểm của thuật toán PCA 12
CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN PCA TRONG BÀI TOÁN DỰ ĐOÁN KHẢ NĂNG MẮC BỆNH UNG THƯ 13
3.1 Dữ liệu 13
3.1.1 Phát biểu bài toán 13
3.1.2 Yêu cầu 13
3.2 Kết quả thực nghiệm 13
KẾT LUẬN 16
TÀI LIỆU THAM KHẢO 17
Trang 4DANH MỤC HÌNH ẢNH
Hình 2.1 Độ thị phân tán của các cặp biến 12
Hình 3.1 Import các thư viện cần sử dụng 14
Hình 3.2 Lấy data và chuyển thành Dataframe 14
Hình 3.3 Fit dữ liệu và thực hiện scale data 15
Hình 3.4 Giảm chiều dữ liệu bằng PCA 15
Hình 3.5 Vẽ đồ thị sau khi đã giảm chiều dữ liệu 16
Hình 3.6 Đồ thị 2D được vẽ bởi dữ liệu 16
Trang 5LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành gửi lời cảm ơn tới các thầy cô giáo trong Trường Đại học Điện Lực nói chung và các thầy cô giáo trong Khoa Công nghệ thông tin nói riêng đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức cũng như kinh nghiệm quý báu trong suốt quá trình học Đặc biệt, chúng em xin gửi lời cảm ơn đến Thầy Vũ Văn Định - giảng viên Khoa Công nghệ thông tin - Trường Đại học Điện Lực Thầy đã tận tình theo sát giúp đỡ, trực tiếp chỉ bảo, hướng dẫn trong suốt quá trình nghiên cứu
và học tập của chúng em Trong thời gian học tập với thầy, nhóm chúng em không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả Đây là những điều rất cần thiết cho chúng em trong quá trình học tập và công tác sau này
Do thời gian thực hiện có hạn kiến thức còn nhiều hạn chế nên bài làm của chúng em chắc chắn không tránh khỏi những thiếu sót nhất định Em rất mong nhận được ý kiến đóng góp của thầy cô giáo và các bạn để em có thêm kinh nghiệm và tiếp tục hoàn thiện đồ án của mình
Chúng em xin chân thành cảm ơn!
Trang 6LỜI MỞ ĐẦU
Ngày nay, dưới sự phát triển mạnh mẽ của học máy, Công Nghệ Thông Tin là một ngành rất phát triển trong xã hội Nó được ứng dụng rộng rãi trong rất nhiều ngành, lĩnh vực khác nhau và đạt được hiệu quả cao trong cuộc sống Tin học hóa được xem như một trong những yếu tố mang tính quyết định trong các hoạt động kinh doanh, dịch vụ, xã hội, khoa học, giáo dục,… Ứng dụng công nghệ thông tin đóng vai trò hết sức quan trọng, có thể tạo ra các bước đột phá Từ những dữ liệu đã được thu thập, chúng ta có thể sử dụng các thuật toán của học máy để đưa ra những dự đoán trong tương lai với độ chính xác khá cáo, từ những dự đoán đó sẽ giúp chúng ta đưa ra những bước tiếp theo để phát triển
Để đạt mục tiêu đó, việc sử dụng học máy để đưa ra những dự đoán đang ngày càng trở nên phổ biến Với những dự đoán trong tương lai, tỉ lệ chính xác cao, con người có thể đưa ra các phương án cho kế hoạch sắp tới của mình
Trong môn học “Học máy nâng cao” do Thầy Vũ Văn Định giảng dạy, chúng em chọn đề tài “Dự đoán khả năng mắc bệnh ung thư sử dụng thuật toán PCA” làm đề tài nghiên cứu kết thúc môn học này
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY
1.1 Khái niệm học máy
Học máy (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo (Artificial Intelligence) tập trung vào việc phát triển các thuật toán và mô hình máy tính có khả năng học hỏi từ dữ liệu và cải thiện hiệu suất của chúng theo thời gian mà không cần lập trình cụ thể Trong học máy, máy tính được trang bị khả năng tự điều chỉnh và tối ưu hóa dự đoán hoặc quyết định dựa trên dữ liệu đầu vào
- Các yếu tố quan trọng trong học máy bao gồm:
Dữ liệu: Học máy dựa vào dữ liệu để xây dựng và cải thiện các mô hình Dữ liệu đóng vai trò quan trọng trong việc huấn luyện và kiểm tra các mô hình học máy
Thuật toán: Học máy sử dụng các thuật toán để xây dựng mô hình dự đoán hoặc phân loại dựa trên dữ liệu Các thuật toán có thể là học giám sát, học không giám sát hoặc học tăng cường, tùy thuộc vào nhiệm vụ cụ thể
Huấn luyện: Quá trình đào tạo (training) mô hình là quá trình máy tính học
từ dữ liệu bằng cách điều chỉnh các tham số và trọng số của mô hình sao cho
nó có thể thực hiện nhiệm vụ được yêu cầu
Đánh giá: Để đảm bảo rằng mô hình học máy hoạt động tốt, nó cần phải được đánh giá bằng cách sử dụng các phương pháp đánh giá hiệu suất, như chia tập dữ liệu thành tập huấn luyện và tập kiểm tra, và sử dụng các độ đo như độ chính xác, độ phân loại sai lệch, và nhiều độ đo khác
Tối ưu hóa: Tối ưu hóa mô hình để đảm bảo rằng nó hoạt động tốt trên dữ liệu mới và không gian dự đoán
Học máy có nhiều ứng dụng rộng rãi, bao gồm nhận dạng hình ảnh, xử lý ngôn ngữ
tự nhiên, dự đoán, thị giác máy tính, và nhiều lĩnh vực khác Nó đóng vai trò quan trọng trong việc giải quyết các vấn đề phức tạp và tạo ra các ứng dụng thông minh dựa trên máy tính
Trang 81.2 Các mô hình học máy
1.2.1 Học có giám sát
Trong học có giám sát, máy tính học cách mô hình hóa các mối quan hệ dựa trên dữ liệu được gán nhãn (labeled data) Sau khi tìm hiểu cách tốt nhất để mô hình hóa các mối quan hệ cho dữ liệu được gắn nhãn, các thuật toán được huấn luyện được sử dụng cho các bộ dữ liệu mới
Ứng dụng của kĩ thuật học có giám sát: Xác định tín hiệu hay biến số tốt nhất để dự báo lợi nhuận trong tương lai của cổ phiếu hoặc dự đoán xu hướng thị trường chứng khoán
1.2.2 Học không giám sát
Trong học không giám sát, máy tính không được cung cấp dữ liệu được dán nhãn mà thay vào đó chỉ được cung cấp dữ liệu mà thuật toán tìm cách mô tả dữ liệu và cấu trúc của chúng
Ứng dụng của học không giám sát: Phân loại các công ty thành các nhóm công ty tương đồng dựa trên đặc điểm của chúng thay vì sử dụng tiêu chuẩn của các nhóm ngành hoặc các quốc gia
1.2.3 Học bán giám sát
Mô hình học máy được cung cấp với một tập dữ liệu lớn, trong đó chỉ một
số dữ liệu được đánh nhãn Mô hình học máy sử dụng tập dữ liệu này để học cách phân loại các đầu vào mới
Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn) Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp
từ internet
Trang 91.2.4 Học tăng cường
Nghiên cứu cách thức một agent trong một môi trường nên chọn thực hiện các hành động nào để cực đại hóa một khoản thưởng (reward) nào đó về lâu dài Các thuật toán học tăng cường cố gắng tìm một chiến lược ánh xạ các trạng thái của thế giới tới các hành động mà agent nên chọn trong các trạng thái đó
1.3 Ứng dụng học máy:
- Học máy nâng cao (Advanced Machine Learning) bao gồm các phương pháp và
kỹ thuật cao cấp hơn trong học máy và thường được sử dụng để giải quyết các vấn
đề phức tạp hơn và tạo ra các ứng dụng mạnh mẽ hơn Dưới đây là một số ứng dụng phổ biến của học máy nâng cao:
- Tự động phân loại: Phân loại tin tức là một ứng dụng điểm chuẩn khác của
phương pháp học máy.Vận dụng như thế nào? Như một vấn đề thực tế là bây giờ khối lượng thông tin đã tăng lên rất nhiều trên web Tuy nhiên, mỗi người có sở thích hoặc lựa chọn cá nhân của mình Vì vậy, để chọn hoặc thu thập một phần thông tin phù hợp trở thành một thách thức đối với người dùng từ vô số nội dung trên trang web Phân loại các danh mục một cách rõ ràng, dễ điều hướng giúp cho các khách hàng mục tiêu chắc chắn sẽ tăng khả năng truy cập các trang tin tức Hơn nữa, độc giả hoặc người dùng có thể tìm kiếm tin tức cụ thể một cách hiệu quả và nhanh chóng
- Ứng dụng trong các mạng xã hội: Học máy đang được sử dụng trong một
loạt các ứng dụng ngày nay Một trong những ví dụ nổi tiếng nhất là Facebook News Feed Nguồn cấp tin tức sử dụng học máy để cá nhân hóa từng nguồn cấp dữ liệu thành viên Nếu một thành viên thường xuyên dừng lại để đọc hoặc thích một bài đăng của một người bạn cụ thể, News Feed sẽ bắt đầu hiển thị nhiều hơn về hoạt động của người bạn đó trước đó trong nguồn cấp dữ liệu Đằng sau hệ thống ấy, phần mềm sử dụng phân tích thống kê và phân tích dự đoán để xác định các mẫu trong dữ liệu người dùng
và sử dụng các mẫu đó để điền vào News Feed Nếu thành viên không còn dừng lại để đọc, thích hoặc bình luận trên các bài đăng của bạn bè, dữ liệu mới đó sẽ được bao gồm trong tập dữ liệu và News Feed sẽ điều chỉnh tương ứng Không chỉ riêng facebook, ta có thể bắt gặp những tính năng tương tự
đó qua các mạng xã hội khác như Google, Instagram,
Trang 10- Nhận diện hình ảnh: Nhận dạng hình ảnh là một trong những ví dụ về máy
học và trí tuệ nhân tạo phổ biến nhất Về cơ bản, nó là một cách tiếp cận để xác định và phát hiện các đặc trưng của một đối tượng trong hình ảnh kỹ thuật số Hơn nữa, kỹ thuật này có thể được sử dụng để phân tích sâu hơn, chẳng hạn như nhận dạng mẫu, nhận diện hình khuôn, nhận dạng khuôn mặt, nhận dạng ký tự quang học và nhiều hơn nữa,
Trang 11CHƯƠNG 2: THUẬT TOÁN PCA (GIẢM CHIỀU DỮ LIỆU)
2.1 Khái niệm
- PCA là viết tắt của "Principal Component Analysis," một phương pháp phân tích
dữ liệu và giảm chiều dữ liệu được sử dụng trong lĩnh vực thống kê và học máy PCA giúp chúng ta xác định các thành phần chính (principal components) của dữ liệu và biểu diễn dữ liệu ban đầu dưới dạng một tập hợp của các thành phần này, giảm chiều dữ liệu mà không mất nhiều thông tin quan trọng
- Một số điểm quan trọng về PCA bao gồm:
Tìm các thành phần chính: PCA tìm các vector riêng (eigenvectors) của ma trận hiệp phương sai (covariance matrix) của dữ liệu Các vector riêng này tương ứng với các giá trị riêng (eigenvalues), và chúng thể hiện các hướng quan trọng trong không gian đặc trưng ban đầu của dữ liệu
Giảm chiều dữ liệu: Sau khi đã xác định các thành phần chính, chúng ta có thể giảm chiều dữ liệu bằng cách chọn một số thành phần chính quan trọng nhất Điều này giúp giảm kích thước của dữ liệu mà vẫn giữ lại phần lớn thông tin quan trọng
Ứng dụng: PCA thường được sử dụng để giảm chiều dữ liệu trong việc trực quan hóa dữ liệu, nén dữ liệu, loại bỏ nhiễu, hoặc cải thiện hiệu suất của các
mô hình học máy bằng cách loại bỏ các thành phần không quan trọng
Độc lập tuyến tính: PCA giả sử rằng các thành phần chính là độc lập tuyến tính, điều này có thể không phù hợp cho mọi loại dữ liệu Tùy thuộc vào tính chất của dữ liệu, có thể cần sử dụng các biến thể khác của PCA như Kernel PCA để xử lý dữ liệu phi tuyến tính
PCA là một công cụ quan trọng trong xử lý dữ liệu và phân tích dữ liệu, giúp tạo ra biểu đồ, giảm kích thước dữ liệu, và cải thiện hiệu suất của các mô hình học máy
Trang 122.2 Các bước thực hiện PCA
- Phương pháp PCA sẽ "chiếu" (biểu điễn) dữ liệu đa chiều lên một không gian có
cơ sở trực giao, tức nếu ta xem mồi cơ sỡ trong không gian mới là một biến thì hình ảnh của đữ liệu gốc trong không gian mới này sẽ được biểu điễn thông qua các biến độc lập (tuyến tinh) Vấn đề là nếu chuyển đữ liệu ban đầu sang không gian mới thì những thông tin đáng quan tâm của đữ liệu ban đầu liệu có bị mất? Để giải quyết vấn đề này phương pháp PCA sẽ tìm không gian mới với tiêu chi cố gắng phăn ánh được càng nhiêu thông tin gốc càng tôt, và thước đo cho khái niệm
"thông tin" ở đây là phương sai Một điểm hay nữa là các biến trong không gian mới độc lập, nên ta có thể tính toán được tỷ lệ giải thích phương sai của từng biến mới đối với dữ liệu, điều này cho phép ta cân nhắc việc chỉ dùng số ít các biến để giãi thích dữ liệu
- Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới (với số chiêu nhỏ hơn không gian cũ) Các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi trục, độ biến thiên của đữ liệu trên đó là lớn nhất có thể Tiếng Việt thì dài đòng, nhưng tiếng Anh thì mục tiêu này gọi là maximize the variability Ba chữ này gói gọn ý tưởng chính của PCA
- Sau đây là các bước thực hiện PCA
1 Tính vecto kì vọng của toàn bộ dữ liệu
2 Trừ mỗi điểm dữ liệu đi vector kỳ vọng của toàn bộ dữ liệu
3 Tính ma trận hiệp phương sai
4 Tính các giá trị riêng và vector riêng có norm bằng 1 của ma trận này, sắp xếp chúng theo thứ tụ giảm dần của trị riêng
5 Chọn vecto riêng ứng với trị riêng lớn nhất để xây dựng ma trận có các cột tạo thành 1 hệ trực giao vectors này còn được gọi là thành phần chính, tạo thành 1 không gian con gần với phân bố của dữ liệu ban đầu đã chuẩn hóa
6 Chiếu dữ liệu ban đầu đã chuẩn hóa xuống không gian con tìm được
7 Dữ liệu mới chính là các tọa độ của các điểm dữ liệu trên không gian mới
Trang 13Dữ liệu ban đầu có thể tính được xấp xỉ theo dữ liệu mới như sau:
2.3 Mục đích chính của PCA
Phân tích thành phần chính (PCA) được sử dụng cho hai mục tiêu:
+ Giảm số lượng các biển bao gồm một bộ dữ liệu trong khi giữ lại các biến đồi trong dữ liệu
+ Xác định các mô hình ẩn trong dữ liệu, và phân loại chúng theo nhiều cách thông tin, lưu trữ trong các dữ liệu
- Khi khai thác một bộ dữ liệu bao gồm nhiều biến (sử dụng thay thế cho nhau với kích thước hạn sau đây), có khả năng là các tập con của các biến liên quan chặt chẽ với nhau Cho một tương quan cao giữa hại hay nhiều biến số có thể kết luận rằng các biến này là khá đư thừa đo đó chia sẽ các nguyên tắc về việc xác định kết Đề minh chưng cho lập luận nay chung ta hay xem xet mọt vi dụ cơ ban Gia sử chung
ta đã đo được 2 tham số (tức là tinh đại điện bởi số lượng bằng sô) của một hình phẳng, đó là chiều dài và chiều rộng của hình dạng, mà xác định một kết quả nào
đó quan tâm Từ việc kiểm tra quan sát của chúng tôi, chúng tôi đã nhận thấy rằng hai thuộc tính này đường như có mối tương quan tích cực Do đó, chúng ta có thể thay thể chúng bằng một biến mới nhất là khu vực của hình dạng, mà vẫn nắm bắt hầu hết các thông tin về hình đạng được cung cấp bởi chiều dài và chiều rộng của nó
- Trong bộ đữ liệu đa biển giảm kích thước của PCA cho phép chúng ta phân tích
dữ liệu của chúng tôi trong một không gian có thể nhìn thấy 2 chiều (2D) hoặc 3D, với chi một lỗ đơn thuần của thông tin
- Các điều kiện tiên quyết cơ bản - Sự tương quan
Kể từ khi PCA là chũ yếu quan tâm đến việc xác định mối tương quan trong dữ liệu, đầu tiên chúng ta hãy tập trung chú ý đến ý nghĩa của sự tương quan Sự
Trang 14tương quan đo lường đồng thời thay đổi trong các giá trị của hai hay nhiều biển.
Có rất nhiều mô hình đề mô tá hành vi bán chất của một sự thay đổi đồng thời trong các giá trị, chẳng hạn như tuyển tính, hàm số mũ, định kỳ và nhiều hơn nữa Các môi tương quan tuyến tinh được sử dụng trong PCA
- Các cách tiềp cận trực quan để xác định mối tương quan
Một khía cạnh hình ảnh của tương quan có thể thu được bằng cách đại điện cho mỗi một trong một cặp của các biến như một trục trong một hệ toa độ Descartes, nơi các giá trị của các biến là điểm được vẽ trên mặt phẳng (hình 1) Tương quan trong quan điểm này, các biện pháp như thê nào pịt hình chúng tôi tin răng mô tả các xu hương của các điêm trong đô thị, phù hợp với xu hướng thực sự trong đô thị
Hình 2.1: Độ thị phân tán của các cặp biến
- Nó là vô cùng quan trọng để hiểu những khia cạnh hình ảnh của mối tương quan
đề sử dụng đùng cách nó Sự hiểu biết đó có thể cung cấp cái nhin sâu sắc rất quan trọng về cơ cầu trong các đữ liệu được phân tích, và ngăn chặn sai số tiềm tàng có thể xảy ra bằng cách trực tiếp giải thích kết quả thu được từ số chạy thủ tục tinh toán