Một trong các bài toán nhậndạng con người rất được quan tâm hiện nay là nhận dạng khuôn mặt.. Các hệ thống nhận dạng offline đãra đời và có độ tin cậy cao, tuy nhiên các hệ thống nhận dạ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Hà Nội - 2023
Trang 2MỤC LỤC
LỜI CẢM ƠN 4
LỜI MỞ ĐẦU 5
CHƯƠNG 1: GIỚI THIỆU CHUNG 7
1.1 Machine Learning và Trí tuệ nhân tạo (AI) 7
1.2 Machine Learning và Big Data 8
1.3 Machine Learning và Dự đoán tương lai 11
CHƯƠNG 2: THUẬT TOÁN 13
2.1 Tổng quan về PCA (Principal Component Analysis) 13
2.1.1 Khái niệm 13
2.1.2 Điểm mạnh 13
2.1.3 Điểm hạn chế 14
2.2 Cơ sở toán học 15
2.2.1 Norm của 2 ma trận 15
2.2.2 Biểu diễn vector trong các hệ cơ sở khác nhau 17
2.2.3 Trace 18
2.2.4 Ma trận hiệp phương sai 19
2.3 Phân tích thành phần chính 21
CHƯƠNG 3: CHƯƠNG TRÌNH THỰC HIỆN VÀ KẾT QUẢ THỰC NGHIỆM .29
3.1 Các bước thực hiện PCA 29
3.2 Áp dụng PCA vào nhận diện khuôn mặt 30
3.3 Kết quả thực nghiệm 36
Trang 33.3.1 Mẫu dữ liệu ảnh huấn luyện 37
3.3.2 Giải thích chương trình 40
TÀI LIỆU THAM KHẢO 45
PHỤ LỤC: HƯỚNG DẪN SỬ DỤNG PHẦN MỀM 46
Trang 4DANH MỤC HÌNH ẢNH
Hình 1: Phân chia hai tập điểm 10
Hình 2: Tập dữ liệu lớn, đường thẳng phân chia không tồn tại 11
Hình 3: Chuyển đổi toạ độ trong các hệ cơ sở khác nhau 18
Hình 4: Ví dụ về kỳ vọng và phương sai 21
Hình 5: Ý tưởng chính của PCA 22
Hình 6: PCA dưới góc nhìn Thống kê 26
Hình 7: Các bước thực hiện PCA 30
Hình 8: Ảnh người chứa id 31
Hình 9: Các eigenfaces tìm được bằng PCA 35
Hình 10: Ảnh được suy ra từ eigenfaces 36
Hình 11: Mẫu dữ liệu training 37
Hình 12: Mẫu dữ liệu test 38
Hình 13: Kết quả khi thực hiện nhận diện khuôn mặt 41
Trang 5L I C M N Ờ Ả Ơ
Với tình cảm chân thành và sâu sắc nhất, nhóm em mong muốn được bày
tỏ đến tất cả cá nhân, tổ chức đã tạo điều kiện hỗ trợ và giúp đỡ nhóm trong suốtquá trình nghiên cứu đề tài Trong thời gian qua, nhóm em đã nhận được nhiều
sự quan tâm của quý thầy cô, nhà trường và bạn bè
Với lòng biết ơn sâu sắc nhất, nhóm em xin phép gửi đến quý thầy cô tạikhoa công nghệ thông tin Cảm ơn thầy Trần Hùng Cường đã truyền đạt vốnkiến thức cần có cho chúng em trong suốt quá trình học tập tại trường Nhờ sựhướng dẫn, chỉ bảo tận tình của thầy đã giúp chúng em hoàn thành đề tài mộtcách tốt nhất
Một lần nữa, cả nhóm xin gửi lời cảm ơn chân thành đến thầy, người đãgiúp đỡ và hướng dẫn nhóm em trong quá trình hoàn thành bài báo cáo này Báocáo học phần của nhóm em được làm trong khoảng thời gian năm tuần Vì vậy,bước đầu đi vào thực tế chắc chắn sẽ không tránh khỏi những sai sót
Chúng em mong nhận được sự đóng góp ý kiến từ các thầy cô để giúp chúng
em hoàn thiện kiến thức và bổ sung thêm thông tin cần thiết cho báo cáo họcphần của mình
Trang 6LỜI MỞ ĐẦU
Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đangđược yêu cầu khắt khe tại mọi quốc gia trên thế giới Các hệ thống nhận dạngcon người được ra đời với độ tin cậy ngày càng cao Một trong các bài toán nhậndạng con người rất được quan tâm hiện nay là nhận dạng khuôn mặt Vì nhậndạng khuôn mặt là cách mà con người sử dụng để phân biệt nhau Bên cạnh đó,ngày nay việc thu thập, xử lý thông tin qua ảnh để nhận biết đối tượng đangđược quan tâm và ứng dụng rộng rãi Với phương pháp này, chúng ta có thể thunhận được nhiều thông tin từ đối tượng mà không cần tác động nhiều đến đốitượng nghiên cứu Sự phát triển của khoa học máy tính tạo môi trường thuận lợicho bài toán nhận dạng mặt người từ ảnh số Các hệ thống nhận dạng offline đã
ra đời và có độ tin cậy cao, tuy nhiên các hệ thống nhận dạng online lại chưa đápứng được nhiều
Trong thời đại công nghệ hiện đại, nhận dạng khuôn mặt đã trở thành mộtứng dụng quan trọng trong nhiều lĩnh vực, từ chứng nhận thư mục đích cho đến
an ninh và giám sát Trong đó, PCA (Principal Component Analysis) là mộtphương pháp được sử dụng phổ biến để giảm chiều dữ liệu và tạo ra các đặctrưng quan trọng nhất từ khuôn mặt Trong bài viết này, chúng em xin giới thiệu
về PCA và ứng dụng của nó cho bài toán nhận dạng khuôn mặt Chúng em cũng
sẽ đi vào chi tiết về cách thức thực hiện PCA, cách sử dụng PCA để trích xuấtđặc trưng và các tiêu chí để đánh giá hiệu quả của PCA trong bài toán nhận dạngkhuôn mặt
Bài báo cáo này của chúng em bao gồm 5 phần:
1 Giới thiệu chung: Giới thiệu cơ bản về Machine Learning và mối liên hệcủa Machine Learning với công nghệ hiện nay
2 Thuật toán: Trình bày tổng quan về PCA và các cơ sở toán học áp dụng
Trang 73 Chương trình thực hiện và kết quả thực nghiệm: Các bước thực hiệnPCA, áp dụng PCA vào nhận diện khuôn mặt và chương trình thực hiện
áp dụng PCA cho nhận diện khuôn mặt
4 Kết luận: Tổng kết các điểm mạnh, điểm yếu và kết quả đạt đưuọc saukhi thực hiện bài báo cáo
5 Tài liệu tham khảo: Nguồn tài liệu giúp nhóm tìm hiểu về PCA và ứngdụng cho bài toán nhận diện khuôn mặt
Trang 8CH ƯƠ NG 1 GI I THI U CHUNG Ớ Ệ
Machine Learning gây nên cơn sốt công nghệ trên toàn thế giới trong vàinăm nay Trong giới học thuật, mỗi năm có hàng ngàn bài báo khoa học về đề tàinày Trong giới công nghiệp, từ các công ty lớn như Google, Facebook,Microsoft đến các công ty khởi nghiệp đều đầu tư vào Machine Learning Hàngloạt các ứng dụng sử dụng Machine Learning ra đời trên mọi linh vực của cuộcsống, từ khoa học máy tính đến những ngành ít liên quan hơn như vật lý, hóahọc, y học, chính trị, cỗ máy đánh cờ vây với khả năng tính toán trong mộtkhông gian có số lượng phần tử còn nhiều hơn số lượng hạt trong vũ trụ, tối ưuhơn bất kì đại kì thủ nào, là một trong rất nhiều ví dụ hùng hồn cho sự vượt trộicủa Machine Learning so với các phương pháp cổ điển
Để giới thiệu về Machine Learning, ta dựa vào mối quan hệ của nó với bakhái niệm sau:
1) Machine Learning và Trí tuệ nhân tạo (AI)
2) Machine Learning và Big Data
3) Machine Learning và Dự đoán tương lai
1.1 Machine Learning và Trí tu nhân t o (AI) ệ ạ
Trí tuệ nhân tạo, Artificial Intelligence (AI), một cụm từ vừa gần gũi vừa
xa lạ đối với chúng ta Gần gũi bởi vì thế giới đang phát sốt với những côngnghệ được dán nhãn AI Xa lạ bởi vì một AI thực thụ vẫn còn nằm ngoài tầm vớicủa chúng ta Nói đến AI, hẳn mỗi người sẽ liên tưởng đến một hình ảnh khácnhau Vài thập niên gần đây có một sự thay đổi về diện mạo của AI trong các bộphim quốc tế Trước đây, các nhà sản xuất phim thường xuyên đưa hình ảnhrobot vào phim nhằm gieo vào đầu người xem suy nghĩ rằng trí tuệ nhân tạo làmột phương thức nhân bản con người bằng máy móc Tuy nhiên, trong những bộphim gần hơn về đề tài này, ví dụ như do Johny Depp vào vai chính, ta khôngthấy hình ảnh của một con robot nào cả Thay vào đó là một bộ não điện toán
Trang 9khổng lồ chỉ huy hàng vạn con Nanobot, được gọi là Singularity Tất nhiên cảhai hình ảnh đều là hư cấu và giả tưởng, nhưng sự thay đổi như vậy cũng mộtphần nào phản ánh sự thay đổi ý niệm của con người về AI AI bây giờ đượcxem như vô hình vô dạng, hay nói cách khác có thể mang bất cứ hình dạng nào.
Vì nói về AI là nói về một bộ não, chứ không phải nói về một cơ thể, là softwarechứ không phải là hardware
Trong giới hàn lâm, theo hiểu biết chung, AI là một ngành khoa học đượcsinh ra với mục đích làm cho máy tính có được trí thông minh Mục tiêu này vẫnkhá mơ hồ vì không phải ai cũng đồng ý với một định nghĩa thống nhất về tríthông minh Các nhà khoa học phải định nghĩa một số mục tiêu cụ thể hơn, mộttrong số đó là việc làm cho máy tính lừa được Turing Test Turing Test được tạo
ra bởi Alan Turing (1912-1954), người được xem là cha đẻ của ngành khoa họcmáy tính hiện đại, nhằm phân biệt xem người đối diện có phải là người haykhông
AI thể hiện một mục tiêu của con người Machine Learning là mộtphương tiện được kỳ vọng sẽ giúp con người đạt được mục tiêu đó Và thực tếthì Machine Learning đã mang nhân loại đi rất xa trên quãng đường chinh phục
AI Nhưng vẫn còn một quãng đường xa hơn rất nhiều cần phải đi MachineLearning và AI có mối quan hệ chặt chẽ với nhau nhưng không hẳn là trùngkhớp vì một bên là mục tiêu (AI), một bên là phương tiện (Machine Learning).Chinh phục AI mặc dù vẫn là mục đích tối thượng của Machine Learning, nhưnghiện tại Machine Learning tập trung vào những mục tiêu ngắn hạn hơn như:
Làm cho máy tính có những khả năng nhận thức cơ bản của conngười như nghe, nhìn, hiểu được ngôn ngữ, giải toán, lập trình, …
Hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ
mà chúng ta phải đối mặt hàng ngày, hay còn gọi là Big Data
1.2 Machine Learning và Big Data
Big Data thực chất không phải là một ngành khoa học chính thống Đó làmột cụm từ dân gian và được giới truyền thông tung hô để ám chỉ thời kì bùng
Trang 10nổ của dữ liệu hiện nay Nó cũng không khác gì với những cụm từ như "cáchmạng công nghiệp", "kỉ nguyên phần mềm" Big Data là một hệ quả tất yếu củaviệc mạng Internet ngày càng có nhiều kết nối Với sự ra đời của các mạng xãhội nhưng Facebook, Instagram, Twitter, nhu cầu chia sẻ thông của con ngườităng trưởng một cách chóng mặt Youtube cũng có thể được xem là một mạng xãhội, nơi mọi người chia sẻ video và comment về nội dung của video.
Bùng nổ thông tin không phải là lý do duy nhất dẫn đến sự ra đời của cụm
từ Big Data Nên nhớ rằng Big Data xuất hiện mới từ vài năm gần đây nhưngkhối lượng dữ liệu tích tụ kể từ khi mạng Internet xuất hiện vào cuối thế kỉ trướccũng không phải là nhỏ Thế nhưng, lúc ấy con người ngồi quanh một đống dữliệu và không biết làm gì với chúng ngoài lưu trữ và sao chép Cho đến mộtngày, các nhà khoa học nhận ra rằng trong đống dữ liệu ấy thực ra chứa mộtkhối lượng tri thức khổng lồ Những tri thức ấy có thể giúp cho ta hiểu thêm vềcon người và xã hội Từ danh sách bộ phim yêu thích của một cá nhân chúng ta
có thể rút ra được sở thích của người đó và giới thiệu những bộ phim người ấychưa từng xem, nhưng phù hợp với sở thích Từ danh sách tìm kiếm của cộngđồng mạng chúng ta sẽ biết được vấn đề nóng hổi nhất đang được quan tâm và
sẽ tập trung đăng tải nhiều tin tức hơn về vấn đề đó Big Data chỉ thực sự bắtđầu từ khi chúng ta hiểu được gía trị của thông tin ẩn chứa trong dữ liệu, và có
đủ tài nguyên cũng như công nghệ để có thể khai thác chúng trên quy mô khổng
lồ Và không có gì ngạc nhiên khi Machine Learning chính là thành phần mấuchốt của công nghệ đó Ở đây ta có một quan hệ hỗ tương giữa MachineLearning và Big Data: Machine Learning phát triển hơn nhờ sự gia tăng củakhối lượng dữ liệu của Big Data; ngược lại, gía trị của Big Data phụ thuộc vàokhả năng khai thác tri thức từ dữ liệu của Machine Learning
Ngược dòng lịch sử, Machine Learning đã xuất hiện từ rất lâu trước khimạng Internet ra đời Một trong những thuật toán Machine Learning đầu tiên làthuật toán perceptron được phát minh ra bởi Frank Rosenblatt vào năm 1957
Trang 11gỉan là phân loại thư rác (tam gíac) và thư bình thường (vuông) Chắc các bạn sẽkhó hình dung ra được làm thế nào để làm được điều đó Đối với perceptron,điều này không khác gì với việc vẽ một đường thẳng trên mặt phẳng để phânchia hai tập điểm:
Hình 1: Phân chia hai tập điểmNhững điểm tam giác và vuông đại diện cho những email chúng ta đã biếtnhãn trước Chúng được dùng để "huấn luyện" (train) perceptron Sau khi vẽđường thẳng chia hai tập điểm, ta nhận thêm các điểm chưa được dán nhãn, đạidiện cho các email cần được phân loại (điểm tròn) Ta dán nhãn của một điểmtheo nhãn của các điểm cùng nửa mặt phẳng với điểm đó
Sơ lược quy trình phân loại thư được mô tả sau Trước hết, ta cần mộtthuật toán để chuyển email thành những điểm dữ liệu Công đoạn này rất rấtquan trọng vì nếu chúng ta chọn được biểu diễn phù hợp, công việc củaperceptron sẽ nhẹ nhàng hơn rất nhiều Tiếp theo, perceptron sẽ đọc tọa độ củatừng điểm và sử dụng thông tin này để cập nhật tham số của đường thẳng cầntìm
Vì là một thuật toán khá đơn giản, có rất nhiều vấn đề có thể nảy sinh vớiperceptron, ví dụ như điểm cần phân loại nằm ngay trên đường thẳng phân chia.Hoặc tệ hơn là với một tập dữ liệu phức tạp hơn, đường thẳng phân chia khôngtồn tại:
Trang 12Hình 2: Tập dữ liệu lớn, đường thẳng phân chia không tồn tạiLúc này, ta cần các loại đường phân chia "không thẳng" Nhưng đó lại làmột câu chuyện khác.
1.3 Machine Learning và D đoán t ự ươ ng lai
Perceptron là một thuật toán Supervised Learning: ta đưa cho máy tínhhàng loạt các ví dụ cùng câu trả lời mẫu với hy vọng máy tính sẽ tìm đượcnhững đặc điểm cần thiết để đưa ra dự đoán cho những ví dụ khác chưa có câutrả lời trong tương lai Ngoài ra, cũng có những thuật toán Machine Learningkhông cần câu trả lời mẫu, được gọi là Unsupervised Learning Trong trườnghợp này, máy tính cố gắng khai thác ra cấu trúc ẩn của một tập dữ liệu mà khôngcần câu trả lời mẫu Một loại Machine Learning khác được gọi là ReinforcementLearning Trong dạng này, cũng không hề có câu trả lời mẫu, nhưng thay vì đómáy tính nhận được phản hồi cho mỗi hành động Dựa vào phản hồi tích cựchay tiêu cực mà máy tính sẽ điều chỉnh hoạt động cho phù hợp
Mục tiêu của chiếc xe là leo lên được đỉnh đồi và lấy được ngôi sao.Chiếc xe có hai chuyển động tới và lui Bằng cách thử các chuyển động và nhậnđược phản hồi là độ cao đạt được và thời gian để lấy được ngôi sao, chiếc xe dầntrở nên thuần thục hơn trong việc leo đồi lấy sao
Trang 13Machine Learning có mối quan hệ rất mật thiết đối với statistics (thốngkê) Machine Learning sử dụng các mô hình thống kê để "ghi nhớ" lại sự phân
bố của dữ liệu Tuy nhiên, không đơn thuần là ghi nhớ, Machine Learning phải
có khả năng tổng quát hóa những gì đã được nhìn thấy và đưa ra dự đoán chonhững trường hợp chưa được nhìn thấy Bạn có thể hình dung một mô hìnhMachine Learning không có khả năng tổng quát như một đứa trẻ học vẹt: chỉ trảlời được những câu trả lời mà nó đã học thuộc lòng đáp án Khả năng tổng quát
là một khả năng tự nhiên và kì diệu của con người: bạn không thể nhìn thấy tất
cả các khuôn mặt người trên thế giới nhưng bạn có thể nhận biết được một thứ
có phải là khuôn mặt người hay không với xác suất đúng gần như tuyệt đối.Đỉnh cao của Machine Learning sẽ là mô phỏng được khả năng tổng quát hóa vàsuy luận này của con người
Như ta đã thấy, nói đến Machine Learning là nói đến "dự đoán": từ việc
dự đoán nhãn phân loại đến dự đoán hành động cần thực hiện trong bước tiếptheo Vậy Machine Learning có thể dự đoán tương lai hay không? Có thể cóhoặc có thể không: Machine Learning có thể dự đoán được tương lai, nhưng chỉkhi tương lai có mối liên hệ mật thiết với hiện tại
Để kết thúc, ta hãy xem xét một ví dụ đơn giản sau Giả sử bạn được đưacho một đồng xu, rồi được yêu cầu tung đồng xu một số lần Vấn đề đặt ra là:dựa vào những lần tung đồng xu đó, bạn hãy tiên đoán ra kết quả lần tung tiếptheo Chỉ cần dựa vào tỉ lệ sấp/ngửa của những lần tung trước đó, bạn có thể đưa
ra một dự đoán khá tốt Nhưng nếu mỗi lần tung, người ta đưa cho bạn một đồng
xu khác nhau thì mọi chuyện sẽ hoàn toàn khác Các đồng xu khác nhau có xácsuất sấp ngửa khác nhau Lúc này việc dự đoán gần như không thể vì xác suấtsấp ngửa của lần tung sau không hề liên quan gì đến lần tung trước Nhưng nóicho cùng, Machine Learning hoàn toàn không phải là một bà phủ thủy với quảcầu tiên tri mà cũng giống như chúng ta: phán đoán bằng cách tổng quát hóanhững kinh nghiệm, những gì đã được học từ dữ liệu
Trang 14CH ƯƠ NG 2 THU T TOÁN Ậ
2.1 T ng quan vềề PCA ( ổ Principal Component Analysis)
2.1.1 Khái niệm
Dimensionality Reduction (giảm chiều dữ liệu) là một trong những kỹthuật quan trọng trong Machine Learning Các feature vectors trong các bài toánthực tế có thể có số chiều rất lớn, tới vài nghìn Ngoài ra, số lượng các điểm dữliệu cũng thường rất lớn Nếu thực hiện lưu trữ và tính toán trực tiếp trên dữ liệu
có số chiều cao này thì sẽ gặp khó khăn cả về việc lưu trữ và tốc độ tính toán Vìvậy, giảm số chiều dữ liệu là một bước quan trọng trong nhiều bài toán Đâycũng được coi là một phương pháp nén dữ liệu
Dimensionality Reduction, nói một cách đơn giản, là việc đi tìm một hàm
số, hàm số này lấy đầu vào là một điểm dữ liệu ban đầu x ∈ RD với D rất lớn, vàtạo ra một điểm dữ liệu mới z ∈ Rk có số chiều K < D
Và như thường lệ, tôi sẽ trình bày một phương pháp đơn giản nhất trongcác thuật toán Dimensionality Reduction dựa trên một mô hình tuyến tính.Phương pháp này có tên là Principal Component Analysis (PCA), tức Phân tíchthành phần chính Phương pháp này dựa trên quan sát rằng dữ liệu thườngkhông phân bố ngẫu nhiên trong không gian mà thường phân bố gần cácđường/mặt đặc biệt nào đó PCA xem xét một trường hợp đặc biệt khi các mặtđặc biệt đó có dạng tuyến tính là các không gian con (subspace)
2.1.2 Điểm mạnh
Phương pháp PCA (Principal Component Analysis) là một kỹ thuật giảmchiều dữ liệu phổ biến trong Machine Learning và computer vision Trong nhậndiện khuôn mặt, PCA có thể được sử dụng để giảm số chiều của các đặc trưng
Trang 15của khuôn mặt, từ đó giảm thiểu độ phức tạp của việc xử lý dữ liệu và tăng tốc
độ xử lý
Các điểm mạnh của việc áp dụng PCA vào nhận diện khuôn mặt bao gồm:
- Giảm số chiều của dữ liệu: PCA giúp giảm số chiều của dữ liệu bằng cáchtìm ra các thành phần chính của dữ liệu Khi áp dụng PCA vào nhận diệnkhuôn mặt, chúng ta có thể giảm số chiều của các đặc trưng của khuônmặt, từ đó giảm thiểu độ phức tạp của việc xử lý dữ liệu và tăng tốc độ xửlý
- Giảm thiểu nhiễu: PCA có thể giúp giảm thiểu nhiễu trong dữ liệu bằngcách loại bỏ các thành phần không có ý nghĩa của dữ liệu Trong nhậndiện khuôn mặt, việc loại bỏ các thành phần không quan trọng của khuônmặt có thể giúp tăng độ chính xác của việc nhận diện khuôn mặt
- Tăng độ chính xác: PCA có thể giúp tăng độ chính xác của việc nhận diệnkhuôn mặt bằng cách giảm thiểu sự khác biệt giữa các đặc trưng củakhuôn mặt Khi áp dụng PCA vào nhận diện khuôn mặt, chúng ta có thểtìm ra các thành phần chính của khuôn mặt, từ đó tạo ra các vector đặctrưng có độ dài giống nhau cho các khuôn mặt khác nhau, giúp tăng độchính xác của việc nhận diện khuôn mặt
- Tính linh hoạt: PCA có thể được áp dụng cho các bộ dữ liệu khuôn mặtkhác nhau và có thể được kết hợp với các phương pháp nhận diện khuônmặt khác để tăng độ chính xác của thuật toán
2.1.3 Điểm hạn chế
Tuy nhiên, việc áp dụng PCA cũng có một số hạn chế, ví dụ như việc mấtmát thông tin khi giảm số chiều của dữ liệu, và khó khăn trong việc xác định sốlượng thành phần chính phù hợp để giảm số chiều của dữ liệu:
- Ảnh hưởng đến độ chính xác: PCA có thể làm giảm độ chính xác củathuật toán nhận diện khuôn mặt nếu số chiều dữ liệu giảm quá nhiều hoặcquá ít
Trang 16- Tốn thời gian huấn luyện: Việc huấn luyện PCA để tìm ra các thành phầnchính có thể tốn nhiều thời gian và tài nguyên tính toán.
- Không phù hợp với các khuôn mặt phức tạp: PCA có thể không phù hợpvới các khuôn mặt phức tạp hoặc có nhiều đặc trưng khác nhau, do đó cóthể làm giảm độ chính xác của thuật toán nhận diện khuôn mặt
Trang 17Nhận thấy rằng nếu x là nghiệm của bài toán tối ưu (1) thì kx cũng là nghiệm
với k là một số thực khác không bất kỳ Không mất tính tổng quát, ta có thể giả
sử mẫu số bằng 1 Khi đó, bài toán tối ưu (1) có thể được viết dưới dạng:
(2)
Nói cách khác, ta cần đi tìm x sao cho:
Ở đây, các norm 2 đã được bình phương lên để tránh dấu căn bậc hai Bàitoán (3) có thể được giải bằng Phương pháp nhân tử Lagrange vì ràng buộc làmột phương trình
Lagrangian của Bài toán (3) là:
Nghiệm của bài toán (3) sẽ thoả mãn hệ phương trình:
Từ (4)(5) ta có:
Trang 18Điều này suy ra rằng λ là một trị riêng của A T A và x là 1 vector riêng ứng với trị
riêng đó Tiếp tục nhân hai vế của (6) với x T vào bên trái, ta có:
Nhận thấy rằng vế trái chính là ||Ax||2
2 chính là hàm mục tiêu trong (3) Vậy hàm
mục tiêu đạt giá trị lớn nhất khi λ đạt giá trị lớn nhất Nói cách khác, λ chính là trị riêng lớn nhất của A T A hay chính là singular value lớn nhất của ma trận A.Như vậy, norm 2 của một ma trận chính là singular value lớn nhất của ma trận
đó Và nghiệm của bài toán (3) chính một là right-singular vector ứng vớisingular value đó
Với lý luận tương tự, chúng ta có thể suy ra rằng bàitoán:
có nghiệm là vector riêng ứng với trị riêng nhỏ nhất của A T A Khi đó, hàm số
đạt giá trị nhỏ nhất bằng chính trị riêng nhỏ nhất này
2.2.2 Biểu diễn vector trong các hệ cơ sở khác nhau
Trong không gian D chiều, toạ độ của mỗi điểm được xác định dựa trên một hệtoạ độ nào đó Ở các hệ toạ độ khác nhau, hiển nhiên là toạ độ của mỗi điểmcũng khác nhau
Tập hợp các vector e1,…,eD mà mỗi vector ed có đúng 1 phần tử khác 0 ở thành
phần thứ d và phần tử đó bằng 1, được gọi là hệ cơ sở đơn vị (hoặc hệ đơn vị)
trong không gian D chiều Nếu xếp các vector ed,d=1,2,…,D theo đúng thứ tự
đó, ta sẽ được ma trận đơn vị D chiều
Mỗi vector cột x=[x1,x2,…,xD]∈RD biểu diễn của nó trong hệ đơn vị là:
Trang 19Giả sử có một hệ cơ sở khác u1,u2,…,uD (các vector này độc lập tuyến tính), vậy
thì biểu diễn của vector x trong hệ cơ sở mới này có dạng:
U là ma trận mà cột thứ d của nó chính là vector u d Lúc này, vector y chính là biểu diễn của x trong hệ cơ sở mới Bộ các số yd, d=1,2,…,D là duy nhất vì y có
thể tính được bằng:
với chú ý rằng U là ma trận khả nghịch vì các cột của nó độc lập tuyến tính.
Trong các ma trận đóng vai trò như hệ cơ sở U, các ma trận trực giao, tức UTU =
I, được quan tâm nhiều hơn vì nghịch đảo của chúng
Có thể nhận thấy rằng vector 0 được biểu diễn như nhau trong mọi hệ cơ sở.
Hình 1 dưới đây là 1 ví dụ về việc chuyển hệ cơ sở:
Trang 20Hình 3: Chuyển đổi toạ độ trong các hệ cơ sở khác nhau
Việc chuyển đổi hệ cơ sở sử dụng ma trận trực giao có thể được coi như mộtphép xoay trục toạ độ Nhìn theo một cách khác, đây cũng chính là một phépxoay vector dữ liệu theo chiều ngược lại
2.2.3 Trace
Hàm số trace xác định trên tập các ma trận vuông được sử dụng rất nhiều trongtối ưu vì những tính chất đẹp của nó Hàm trace trả về tổng các phần tử trênđường chéo của một ma trận vuông
Các tính chất quan trọng của hàm trace, với giả sử rằng các ma trận trong hàmtrace là vuông và các phép nhân ma trận thực hiện được:
Trang 212.2.4 Ma trận hiệp phương sai
dữ liệu một chiều có thể được thấy trong Hình 2a)
Căn bậc hai của phương sai, σ còn được gọi là độ lệch chuẩn (standarddeviation) của dữ liệu
2.2.4.2 D li u nhiềều chiềều ữ ệ
Cho N điểm dữ liệu được biểu diễn bởi các vector cột x1,x2,…,xN, khi đó, vector
kỳ vọng và ma trận hiệp phương sai của toàn bộ dữ liệu được định nghĩa là:
Trang 22Trong đó X được tạo bằng cách trừ mỗi cột của X đi ¯x:
Các công thức này khá tương đồng với các công thức cho dữ liệu 1 chiều phíatrên Có một vài điểm lưu ý:
Ma trận hiệp phương sai là một ma trận đối xứng, hơn nữa, nó là một matrận nửa xác định dương
Mọi phần tử trên đường chéo của ma trận hiệp phương sai là các số không
âm Chúng cũng chính là phương sai của từng chiều của dữ liệu
Các phần tử ngoài đường chéo sij, i≠j thể hiện sự tương quan giữa thànhphần thứ i và thứ j của dữ liệu, còn được gọi là hiệp phương sai Giá trị này
có thể dương, âm hoặc bằng 0 Khi nó bằng 0, ta nói rằng hai thànhphần i,j trong dữ liệu là không tương quan (uncorrelated)
Nếu ma trận hiệp phương sai là ma trận đường chéo, ta có dữ liệu hoàn toànkhông tương quan giữa các chiều
Ví dụ về dữ liệu không tương quan và tương quan được cho trong hình b, c dướiđây
Trang 23b) Không gian 2 chiều mà hai chiềukhông tương quan Trong trường hợpnày, ma trận hiệp phương sai là ma trậnđường chéo với hai phần tử trên đường
chéo là σ1,σ2 đây cũng chính là hai trị
riêng của ma trận hiệp phương sai và làphương sai của mỗi chiều dữ liệu
c) Dữ liệu trong không gian hai chiều
có tương quan Theo mỗi chiều, ta cóthể tính được kỳ vọng và phương sai.Phương sai càng lớn thì dữ liệu trongchiều đó càng phân tán Trong ví dụnày, dữ liệu theo chiều thứ hai phân tánnhiều hơn so so với chiều thứ nhất
2.3 Phân tích thành phâền chính
Cách đơn giản nhất để giảm chiều dữ liệu từ D về K<D là chỉ giữ lại K phần
tử quan trọng nhất Tuy nhiên, việc làm này chắc chắn chưa phải tốt nhất vìchúng ta chưa biết xác định thành phần nào là quan trọng hơn Hoặc trongtrường hợp xấu nhất, lượng thông tin mà mỗi thành phần mang là như nhau, bỏ
đi thành phần nào cũng dẫn đến việc mất một lượng thông tin lớn
Trang 24Tuy nhiên, nếu chúng ta có thể biểu diễn các vector dữ liệu ban đầu trong một hệ
cơ sở mới mà trong hệ cơ sở mới đó, tầm quan trọng giữa các thành phần làkhác nhau rõ rệt, thì chúng ta có thể bỏ qua những thành phần ít quan trọng nhất
Lấy một ví dụ về việc có hai camera đặt dùng để chụp một con người, mộtcamera đặt phía trước người và một camera đặt trên đầu Rõ ràng là hình ảnh thuđược từ camera đặt phía trước người mang nhiều thông tin hơn so với hình ảnhnhìn từ phía trên đầu Vì vậy, bức ảnh chụp từ phía trên đầu có thể được bỏ qua
mà không có quá nhiều thông tin về hình dáng của người đó bị mất
PCA chính là phương pháp đi tìm một hệ cơ sở mới sao cho thông tin của dữliệu chủ yếu tập trung ở một vài toạ độ, phần còn lại chỉ mang một lượng nhỏthông tin Và để cho đơn giản trong tính toán, PCA sẽ tìm một hệ trực chuẩn đểlàm cơ sở mới
Giả sử hệ cơ sở trực chuẩn mới là U và chúng ta muốn giữ lại K toạ độ trong hệ
cơ sở mới này Không mất tính tổng quát, giả sử đó là K thành phần đầu tiên.Quan sát hình 3 dưới đây:
Hình 5: Ý tưởng chính của PCATìm một hệ trực chuẩn mới sao cho trong hệ này, các thành phần quan trọng nhất nằm trong K thành phần đầu tiên
Quan sát hình vẽ trên với cơ sở mới U=[Uk ,ŪK] là một hệ trực chuẩn với Uk là
ma trận con tạo bởi K cột đầu tiên của U Với cơ sở mới này, ma trận dữ liệu có
thể được viết thành: