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
ĐỀ
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: TRẦN TUẤN ANH
Giảng viên hướng dẫn : PHẠM ĐỨC HỒNG
Chuyên ngành CÔNG NGHỆ PHẦN MỀM
Lớp
Khóa
Hà Nội, tháng 12 năm
Trang 2PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
Họ và tên Nội dung thực hiện Điểm Chữ
Trang 3MỤC LỤC
LỜI CẢM ƠN
LỜI MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY
1.1 Khái niệm học máy
2.4 Ưu điểm, nhược điểm của thuật toán PCA
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Ư
Trang 4LỜ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 KhoaCông nghệ thông tin nói riêng đã tận tình giảng dạy, truyền đạt cho chúng emnhữ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 Phạm Đức Hồng giảngviê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àmcủ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ấtmong nhận được ý kiến đóng góp của thầy cô giáo và các bạn để em có thêmkinh 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 5LỜI MỞ ĐẦUNgày nay, dưới sự phát triển mạnh mẽ của học máy, Công Nghệ ThôngTin là một ngành rất phát triển trong xã hội Nó được ứng dụng rộng rãi trongrấ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 Phạm Đức Hồng 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ậttoán PCA” làm đề tài nghiên cứu kết thúc môn học này
Trang 6CHƯƠ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 (ArtificialIntelligence) 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ánhoặ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ọckhô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 độ đonhư độ 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ò quantrọngtrong 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 71.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ựatrê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ấnluyệ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ốtnhấ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ánnhã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ómcô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ủacá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áchphâ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ómnà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ấtnhiề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ọcchẳ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 81.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ệncá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ạngthá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ủaphươ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âygiờ 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ộtloạ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
Trang 9News 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, Nhận diện hình ảnh: Nhận dạng hình ảnh là một trong những ví dụ về máyhọ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 10CHƯƠ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 matrận hiệp phương sai (covariance matrix) của dữ liệu Các vector riêng nàytương ứng với các giá trị riêng (eigenvalues), và chúng thể hiện các hướngquan 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ọngnhấ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ớnthô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ựcquan 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ếntí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ínhchất của dữ liệu, có thể cần sử dụng các biến thể khác của PCA như KernelPCA để 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 112.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 quacác biến độc lập (tuyến tinh) Vấn đề là nếu chuyển đữ liệu ban đầu sang khôngian 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 gianmớ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ếnmớ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âydự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 thevariability 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
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ắpxếp chúng theo thứ tụ giảm dần của trị riêng
Trang 125 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
Dữ 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 đồitrong 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ôngtin, 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 Giả 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 đó,
Trang 13chú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 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ựtươ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ờitrong 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ươn
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 chomỗi một trong một cặp của các biến như một trục trong một hệ tọa độ Descartes,nơi các giá trị của các biến là điểm được vẽ trên mặt phẳng 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ị
Trang 14Hì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
để 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 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 tính toán
2.4 Ưu điểm, nhược điểm của thuật toán PCA
Ưu điểm:
Giảm số chiều dữ liệu: giúp giảm kích thước của không gian dữ liệu ban đầu mà vẫn bảo toàn được thông tin quan trọng Điều này giúp tiết kiệm thời gian và tài nguyên tính toán khi làm việc với dữ liệu lớn
Loại bỏ tương quan: loại bỏ tương quan giữa các biến đầu vào, giúp dữ liệu mới trở nên độc lập tuyến tính Điều này có thể làm giảm noise và cải thiện hiệu suất của các mô hình dự đoán và phân loại
Tính toán nhanh chóng: có thể được tính toán một cách nhanh chóng bằng matrận hiệp phương sai và giá trị riêng, đặc biệt nếu sử dụng thư viện tích hợp trong các ngôn ngữ lập trình như Python hoặc R