SlideShare a Scribd company logo
1 of 60
www.themegallery.comLý thuyết xử lý tín hiệu vô tuyến điện
PHÂN TÍCH
THÀNH PHẦN CƠ BẢN
(PCA - Principal Component Analysis)
Nguyễn Văn Đoàn
Trần Thái Hà
Đồng Văn Hảo
Mai Văn Tá
Hà Tiến Thành
Nguyễn Thị Thủy
Vũ Mạnh Tuấn
(Cao học KTĐT 28A)
1/14
Principal component analysis
2/14
NỘI DUNG BÁO CÁO
1. Vai trò PCA trong xử lý tín hiệu nhiều chiều
2. Cơ sở toán học
2.2. Thuật toán PCA
2.1. Một số khái niệm toán học sử dụng trong PCA
3. Ví dụ minh họa thuật toán PCA
4. Ứng dụng
5. Mô phỏng trên Matlab
Principal component analysis
Dữ liệu nhiều chiều
Đặt vấn đề
- Dữ liệu nhiều chiều: dữ liệu hình ảnh (image data), dữ liệu video,
dữ liệu audio, dữ liệu văn bản (document data), dữ liệu viết tay
(handwritten data)… Các dữ liệu này được biểu diễn bởi các thuộc
tính không gian, thời gian...
-> Khái niệm: dữ liệu k - chiều là dữ liệu được hoàn toàn xác định bởi
vectơ các giá trị thuộc tính (x1, …, xk) trong không gian k - chiều.
3
1. VAI TRÒ PCA TRONG XỬ LÝ TÍN HIỆU NHIỀU CHIỀU
Principal component analysis
Tín hiệu nhiều chiều
• Tín hiệu nhiều chiều là tín hiệu biến thiên theo nhiều hơn 1
biến độc lập.
• Ví dụ:
+ tín hiệu hình ảnh: ~(x,y);
+ tín hiệu tivi đen trắng:~(x,y,t)….
• Xử lý tín hiệu nhiều chiều là việc thực hiện phép toán trên tín
hiệu nhiều chiều, nhằm biến đổi tín hiệu, rút trích thông tin...
4
Principal component analysis
Vai trò PCA trong xử lý tín hiệu nhiều chiều
Dữ liệu có số chiều lớn, do đó cần phải tìm cách đưa dữ liệu về
không gian có số chiều nhỏ hơn ->PCA là một trong những phương pháp
như thế, nhưng hơn thế, PCA còn có nhiều đặc tính tốt:
1) Giúp giảm số chiều của dữ liệu;
2) Thay vì giữ lại các trục tọa độ của không gian cũ, PCA xây dựng một
không gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ
liệu tốt tương đương không gian cũ;
3) Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của
không gian cũ;
4) Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được
khám phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn.
5
Principal component analysis
Vai trò PCA trong xử lý tín hiệu nhiều chiều
(Minh họa đặc tính 4)
Khám phá liên kết tiềm ẩn nhờ đổi hệ trục tọa độ,
cách nhìn khác nhau về cùng một dữ liệu.
6
Principal component analysis
Vai trò PCA trong xử lý tín hiệu nhiều chiều
Ý tưởng chung: 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 dữ liệu trên đó là lớn nhất có
thể.
• Ví dụ minh họa
7
Principal component analysis
8/14
2. CƠ SỞ TOÁN HỌC
2.1. Một số khái niệm toán học sử dụng trong PCA
2.1.1. Các đặc trưng số của vector ngẫu nhiên
a) Kỳ vọng (mean, expected value)
* Ý nghĩa: giá trị “mong muốn”, biểu diễn giá trị trung bình của
một biến.
* Biểu diễn toán học
Với X biến ngẫu nhiên rời rạc:
(1) x i i
i
m E X p x    
Principal component analysis
9/14
2.1.1. Các đặc trưng số của vector ngẫu nhiên
b) Độ lệch chuẩn (Standard Deviation)
* Ý nghĩa: đo tính biến động của giá trị mang tính thống kê.
Nó cho thấy sự chênh lệch về giá trị của từng thời điểm đánh giá so
với giá trị trung bình.
* Biểu diễn toán học
(2) (t) m (t)xs E X   
Principal component analysis
10/14
2.1.1. Các đặc trưng số của vector ngẫu nhiên
c) Phương sai (variance)
* Ý nghĩa: phương sai của một biến ngẫu nhiên là thước đo
sự phân tán thống kê của biến đó, nó hàm ý các giá trị của biến đó
thường ở cách giá trị kỳ vọng bao xa.
* Biểu diễn toán học
(3)  22 2
var( ) ( ) ( )xX s E X t m t   
Principal component analysis
11/14
2.1.1. Các đặc trưng số của vector ngẫu nhiên
d) Hiệp phương sai (covariance)
* Ý nghĩa: hiệp phương sai là độ đo sự biến thiên cùng nhau
của hai biến ngẫu nhiên (phân biệt với phương sai - đo mức độ biến
thiên của một biến).
* Biểu thức toán học
(4)   cov( , ) ( ) ( ) Y( ) ( )x yX Y E X t m t t m t  
Principal component analysis
12/14
2.1.1. Các đặc trưng số của vector ngẫu nhiên
Trường hợp đặc biệt: , khi đó:
(5)
1 2
1
... np p p
n
   
1
1 n
i
i
g X x
n


   
 
2
1
1
n
i
i
x X
s
n
 

 


 
2
2 1
1
n
i
i
x X
n
 




  
1
cov(X,Y)
1
n
i x i y
i
x y
n
 

 



Principal component analysis
13/14
2.1.1. Các đặc trưng số của vector ngẫu nhiên
Bảng tổng hợp một số tính chất đặc trưng số của vector ngẫu nhiên
Principal component analysis
14/14
2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai
a) Ma trận hiệp phương sai (covariance matrix)
X là vector cột, mỗi thành phần Xi là biến ngẫu ngẫu nhiên có
phương sai xác định và E{ Xi }= μi.
=> xây dựng ma trận hiệp phương sai (matrix covariance) với các
thành phần si,j là hiệp phương sai:
(6)
 , ,cov( ) ( )( )i j i j i i j js X X E X X    
1 1 1 2 1
2 1 2 2 2
1 2
cov(X ,X ) cov(X ,X ) ... cov(X ,X )
cov(X ,X ) cov(X ,X ) ... cov(X ,X )
... ... ... ...
cov(X ,X ) cov(X ,X ) ... cov(X ,X )
n
n
X
n n n n
S
 
 
 
 
 
 
Principal component analysis
15/14
2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai
b) Trị riêng, vector riêng
* Khái niệm
Cho 𝑨 ∈ 𝑪 𝑚x𝑚 là ma trận vuông.
Vector 𝒖 ∈ 𝑪 𝑚 gọi là vector riêng ứng với trị riêng λ ∈ 𝑪 nếu:
(7)Au u
Principal component analysis
16/14
2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai
b) Trị riêng, vector riêng
* Khái niệm
* Tính chất
- Trị riêng là nghiệm của phương trình đặc trưng
det 𝐀 − λ𝑰 = 0
- Một trị riêng có thể có nhiều vector riêng.
- Mỗi vector riêng chỉ ứng với một trị riêng duy nhất
- Mọi trị riêng của A đều khác không thì A khả nghịch
- Nếu λ là trị riêng của A thì λk là trị riêng của Ak
Principal component analysis
17/14
2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai
b) Trị riêng, vector riêng
* Khái niệm
* Tính chất
* Phương pháp giải tìm trị riêng, vector riêng
- Bước 1: giải phương trình đặc trưng tìm trị riêng
det 𝐀 − λ𝑰 = 0
- Bước 2: giải hệ phương trình thuần nhất tìm vector riêng ui
ứng với trị riêng λi.
det 𝐀 − λ𝑰 𝒖 = 𝟎
Principal component analysis
18
2.2. THUẬT TOÁN PCA
Cho ma trận
. Các bước của PCA lần lượt như sau:
Bước 1: Tiền xử lí
Bước 2: Xây dựng không gian mới
Bước 3: Chuyển dữ liệu từ không gian ban đầu
vào không gian mới
Principal component analysis
19
2.2.THUẬT TOÁN PCA
I. TIỀN XỬ LÍ
- Dữ liệu ban đầu có thể có giá trị thay đổi bất thường, do
vậy cần phải có một bước tiền xử lí để chuẩn hóa giá trị trên
các cột của ma trận X.
- Có 2 cách tiền xử lí thường được dùng cho PCA
1. Centered PCA
2. Normed PCA
Principal component analysis
20
2.2. THUẬT TOÁN PCA
I. TIỀN XỬ LÍ
1. Centered PCA
Mang tất cả các feature (của các cột của X) về cùng một gốc tọa độ:
(8)
𝑋 = 𝑥𝑖𝑗
𝑥𝑖𝑗 =
𝑥𝑖𝑗 − 𝑔𝑗
𝑛
𝑔𝑗 =
𝑖=1
𝑛
𝑥𝑖𝑗
𝑛
Principal component analysis
21
2.2. THUẬT TOÁN PCA
I. TIỀN XỬ LÍ
2. Normed PCA
Mang tất cả các feature về cùng một gốc tọa độ, đồng thời chuẩn
hóa về cùng một quãng độ lệch chuẩn bằng 1:
(9)
𝑋 = 𝑥𝑖𝑗
𝑥𝑖𝑗 =
𝑥𝑖𝑗 − 𝑔𝑗
𝑛σ𝑗
Principal component analysis
22
Xét trận X có kích thước n x p,
Ma trận hiệp phương sai của X:
Tính chất:
- Các thành phần nằm trên đường chéo của SX là phương sai của một
kiểu đo riêng biệt nào đó;
- Các thành phần không nằm trên đường chéo là hiệp phương sai giữa
hai kiểu đo nào đó. (tức là nói lên tính tương quan giữa hai kiểu đo, như
vậy trường hợp tốt nhất là các kiểu đo là không tương quan tức là hiệp
phương sai giữa chúng bằng 0)
𝑋 =
𝑥11 … 𝑥1𝑝
… … …
𝑥 𝑛1 … 𝑥 𝑛𝑝
𝑆 𝑋 =
1
𝑛 − 1
𝑋𝑋 𝑇
2.2. THUẬT TOÁN PCA
Principal component analysis
23
Sau khi nhận được ma trận ta cần biến đổi nó về ma trận Y sao cho:
là ma trận đường chéo
Thực chất là tìm phép biến đổi P:
Sử dụng tính chất:
𝑆 𝑌 =
1
𝑛 − 1
𝑌𝑌 𝑇
2.2. THUẬT TOÁN PCA
Principal component analysis
24
Đặt:
Người ta chứng minh được: A là ma trận đối xứng và có thể phân tích
dưới dạng
Trong đó E là ma trận gồm các vector riêng của A xếp theo cột, và
Chọn:
Do đó: Thỏa mãn là
ma trận
đường chéo
2.2. THUẬT TOÁN PCA
Principal component analysis
25
2.2. THUẬT TOÁN PCA
II. XÂY DỰNG KHÔNG GIAN MỚI
Tính ma trận hiệp phương sai
Tìm trị riêng của V theo thứ tự giảm dần
Và véc tơ riêng tương ứng:
Principal component analysis
26
2.2. THUẬT TOÁN PCA
III. CHUYỂN DỮ LIỆU
(TỪ KHÔNG GIAN BAN ĐẦU VÀO KHÔNG GIAN MỚI)
Khi đó tọa độ các điểm trong hệ tọa độ mới là
Xây dựng không gian mới từ k véc tơ đầu tiên (từ
lớn đến nhỏ) trong m véc tơ riêng của V , (k < m)
Principal component analysis
27
3. MINH HỌA THUẬT TOÁN PCA
GĐ 1: Tiền xử lí
GĐ 2: Xây dựng không gian mới
GĐ 3: Chuyển dữ liệu từ không gian ban đầu
vào không gian mới
Bước 1: thu thập dữ liệu
Bước 2: chuẩn hóa dữ liệu
Bước 3: xây dựng ma trận hiệp phương sai
Bước 4: xác định trị riêng, vector riêng
Bước 5: lựa chọn các thành phần xây dựng vector đặc trưng
Bước 6: chuyển dữ liệu và không gian mới
Principal component analysis
28
3. MINH HỌA THUẬT TOÁN PCA
Step 1: Thu thập dữ liệu
X
x0 y0
2.5 2.4
0.5 0.7
2.2 2.9
1.9 2.2
3.1 3.0
2.3 2.7
2 1.6
1 1.1
1.5 1.6
1.1 0.9
Principal component analysis
29
3. MINH HỌA THUẬT TOÁN PCA
Step 2: Chuẩn hóa dữ liệu
Original PCA data Norm PCA data
X
x0 y0
Xnorm
x1 y1
2.5 2.4 0.2779 0.1831
0.5 0.7 -0.5276 -0.4520
2.2 2.9 0.1571 0.3698
1.9 2.2 0.0362 0.1083
3.1 3.0 0.5195 0.4072
2.3 2.7 0.1973 0.2951
2 1.6 0.0765 -0.1158
1 1.1 -0.3262 -0.3026
1.5 1.6 -0.1248 -0.1158
1.1 0.9 -0.2859 -0.3773
mean 1.8100 1.9100 mean 0 0
std 0.7852 0.8465 std 0.3162 0.3162
var 0.6166 0.7166 var 0.1 0.1
Principal component analysis
30
3. MINH HỌA THUẬT TOÁN PCA
Step 3: Xây dựng ma trận hiệp phương sai
0.1000 0.0926
0.0926 0.1000
 
  
 
covar
Step 4: Xác định trị riêng, vector riêng
0.0074 0
0 0.1926
 
  
 
eival
0.7071 0.7071
0.7071 0.7071
 
  
 
eivec
0.1000 0.0926
0.0926 0.1000
 
  
 
covar
0.0074 0
0 0.1926
 
  
 
eival
0.7071 0.7071
0.7071 0.7071
 
  
 
eivec
Principal component analysis
31
3. MINH HỌA THUẬT TOÁN PCA
Principal component analysis
32
3. MINH HỌA THUẬT TOÁN PCA
Principal component analysis
33
3. MINH HỌA THUẬT TOÁN PCA
Principal component analysis
34
3. MINH HỌA THUẬT TOÁN PCA
Principal component analysis
 Nhận diện khuôn mặt
 Công nghệ thông tin
 Sinh học
 Tài chính
 Giảm kích thước của các dữ liệu
35
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
 Nhận diện khuôn mặt
 Ý tưởng chính
• Mục tiêu của phương pháp PCA là “giảm số chiều”
của 1 tập vector sao cho vẫn đảm bảo được “tối đa
thông tin quan trọng nhất” . Tức Feature extraction
(giữ k thuộc tính “mới”) chứ không phải Feature
selection (giữ lại k thuộc tính nguyên gốc ban đầu).
36
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
37
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Hệ thống nhận dạng tổng quát
Hình 1: Cấu trúc tổng quát của hệ thống nhận dạng mặt
38
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• - Tiền xử lý: Chuẩn hóa kích cỡ giữa ảnh trong
CSDL
- Tách khuôn mặt: khuôn mặt trên ảnh chụp
được tách ra phần mặt, nó sẽ là các khuôn mặt
cần tìm và chức năng trích chọn đặc trưng sẽ
sử dụng các ảnh được tách ra này.
39
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
- Trích chọn đặc trưng: Tìm ra các đặc trưng chính của
ảnh mặt, từ các đặc trưng này hình thành các vector
đặc trưng, các vector này sẽ được sử dụng để đối
sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt
trong CSDL.
- Đối sánh: Thực hiện việc so sánh giữa các vector đặc
trưng để chọn ra độ tương tự giữa ảnh cần tìm và ảnh
trong CSDL.
40
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Nhận các khuôn mặt từ cơ sở dữ liệu
• Giả sử có M ảnh, khi đó i=1,2...M.
Hình 2: Các ảnh cùng kích thước và mặt ở tâm ảnh
41
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Đầu tiên chúng ta sẽ đọc cơ sở dữ liệu và nhận
vào các ảnh luyện Ii. Các ảnh luyện ở đây đều là
ảnh mặt, chúng có mặt ở tâm ảnh và có cùng
kích thước.
• Sau đó ta tương ứng mỗi ảnh Ii với một vector
Γi
• Ii (ảnh N×N) → Γi (vector N2×1)
42
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Bước 1: Tính toán giá trị trung bình
Giá trị vector trung bình:
(4.1)
• Γi là vector 1 chiều (N2×1) đại diện cho mỗi ảnh.
Ψ là vector trung bình (kích thước N2×1) của
tập tất cả các Γi trên; Ψ còn được gọi là vector
trung bình mặt của tập luyện.
43
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Bước 2: Trừ đi giá trị trung bình
Sai số của các ảnh so với giá trị vector mặt
trung bình
Φi = Γi – Ψ (4.2)
Φi là vector sai số ứng với mỗi ảnh,
44
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Bước 3: Tính ma trận hiệp phương sai
Ma trận hiệp phương sai được tính theo công
thức sau:
(4.3)
Trong đó C là ma trận hiệp phương sai (kích thước
N2×N2):
(4.4)
• A là ma trận N2×M, 𝚽n là giá trị sai số được tính ở
công thức (4.2).
45
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
Bước 4: Tính các trị riêng và vector đặc trưng của ma trận hiệp
phương sai
Ma trận AAT và ATA luôn có chung trị riêng và vector đặc
trưng thì có liên hệ với nhau bởi biểu thức ui = Avi mà ma trận ATA
lại có số chiều ít hơn hẳn (ma trận M×M) nên ta sẽ chuyển đổi về
ma trận ATA. Sau khi tính toán ta được M vector đặc trưng của
AAT (ui = Avi) tương ứng với M giá trị riêng.
Chuẩn hóa các vector đặc trưng ui về vector đơn vị:
||ui|| =1 (4.5)
46
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
Bước 5: Lựa chọn các thành phần và xây dựng
vector đặc trưng.
Mỗi khuôn mặt trong tập huấn luyện có thể được
biểu diễn lại là 1 tổ hợp tuyến tính của K vector riêng lớn
nhất:
• (4.6)
ui vector riêng của K vector đặc trưng lớn nhất
wi là các trọng số tương ứng với các vector đặc trưng
47
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Trong đó 𝑤j
i (j=1..K) là các trọng số tương ứng với K
vector đặc trưng,
• 𝛺i là vector đại diện cho khuôn mặt thứ i trong tập
luyện.
48
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
49
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Hình ảnh cho thấy, hình ảnh ban đầu sẽ bằng ảnh
trung bình cộng với tổng tất cả các đặc trưng mặt
nhân với trọng số tương ứng.
50
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Chỉ giữ lại K vector riêng trong số M vector nói trên
(ứng với K trị riêng lớn nhất), tất nhiên K<<N2.
• Xác định K.
- Sắp xếp theo thứ tự dãy giảm dần các
eigenvalues tìm được.
- Theo dõi sự biến thiên của dãy trên, khi không
còn biến thiên (hoặc xấp xỉ bằng không) thì lúc đó ta đã
chọn đủ K.
51
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
• Nhược điểm PCA Eigenfaces
• Trong những trường hợp sau, PCA Eigenfaces
sẽ nhận dạng sai:
• Khác nhau về điều kiện ánh sáng
• Khác nhau về điệu bộ (nghiêng đầu chẳng
hạn…)
• Cảm xúc (cười to, há miệng…)
52
4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
Principal component analysis
53
5. MÔ PHỎNG TRÊN MATLAB
%% PCAexam.m
%% Principal Components Analysis
%% Step 1: Get some data
display('%% Step 1: Get some data');
x0 = ([2.5 0.5 2.2 1.9 3.1 2.3 2 1 1.5 1.1])';
y0 = ([2.4 0.7 2.9 2.2 3.0 2.7 1.6 1.1 1.6 0.9])';
X = ([x0, y0])
% plot data
subplot(2,2,1)
plot(x0,y0,'k+');
title('Original PCA data');
line([0 0],[-1 4],'Color','r','LineStyle',':');
line([-1 4],[0 0],'Color','r','LineStyle',':');
grid on;
axis([-1 4 -1 4]);
Principal component analysis
54
5. MÔ PHỎNG TRÊN MATLAB
%% Step 2: Normal PCA
display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
display('%% Step 2: Normal PCA');
mu_x0 = mean(x0) % mean of the x0 values
mu_y0 = mean(y0) % mean of the y0 values
std_x0 = std(x0) % std of the x0 values
std_y0 = std(y0) % std of the y0 values
n = size(x0) % n(1) number of sample
x1 = (x0 - mu_x0)/(std_x0*sqrt(n(1))); %
normal PCA
y1 = (y0 - mu_y0)/(std_y0*sqrt(n(1)));
Xnorm = ([x1, y1])
Principal component analysis
55
5. MÔ PHỎNG TRÊN MATLAB
%% Step3: Calculate the covariance matrix
display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
display('%% Step3: Calculate the covariance matrix');
covar = cov(x1,y1)
Principal component analysis
56
5. MÔ PHỎNG TRÊN MATLAB
%% Step 4: Calc. the eigenvectors and eigenvalues
display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
display('%% Step4: Calculate the eigenvec and eigenval');
[eivec, eival]=eig(covar)
% Plot data
subplot(2,2,2)
% new coordinates
t = -1:1
tval1 = eivec(1,2)/eivec(1,1)*t;
tval2 = eivec(2,2)/eivec(2,1)*t;
plot(t,tval1, t, tval2)
legend('eivec1','eivec2');
hold on;
% normal PCA data
plot(x,y,'k+');
title('Normal PCA data');
line([0 0],[-1 1],'Color','r','LineStyle',':');
line([-1 1],[0 0],'Color','r','LineStyle',':');
grid on
hold off
axis([-1 1 -1 1]);
Principal component analysis
57
5. MÔ PHỎNG TRÊN MATLAB
%% Step 5: Choosing components and forming a feature vector
display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
display('%% Step 5: Choosing components and forming a fea_vector');
respone = input('Number of new coordinates (1 or 2): ');
dim = respone(1);
if (dim == 1)
eivalmax = max(diag(eival))
if eivalmax == eival(1,1)
fea_vector = eivec(:,1)
else
fea_vector = eivec(:,2)
end
end
if (dim == 2)
eivalmax = max(diag(eival))
if eivalmax == eival(1,1)
fea_vector = [eivec(:,1),eivec(:,1)]
else
fea_vector = [eivec(:,2),eivec(:,1)]
end
end
Principal component analysis
58
5. MÔ PHỎNG TRÊN MATLAB
%% Step 6: Deriving the new data set
display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
display('%% Step 6: Deriving the new data set');
Xfinal = ((fea_vector).')*((Xnorm).')
x2 = Xfinal(1,:);
if (dim == 1)
y2 = 0;
else
y2 = Xfinal(2,:);
End
%% (continue...)
Principal component analysis
59
5. MÔ PHỎNG TRÊN MATLAB
% Plot data when chosing one eigvalue
subplot(2,2,3)
plot(x1,0,'k+');
title('Final data when chosing one eigvalue ');
line([0 0],[-1 1],'Color','r','LineStyle',':');
line([-1 1],[0 0],'Color','r','LineStyle',':');
grid on;
axis([-1 1 -1 1]);
% Plot data when chosing two eigvalues
subplot(2,2,4)
plot(x2,y2,'k+');
title('Final data when chosing two eigvalues ');
line([0 0],[-1 1],'Color','r','LineStyle',':');
line([-1 1],[0 0],'Color','r','LineStyle',':');
grid on;
axis([-1 1 -1 1]);
Principal component analysis
60
5. MÔ PHỎNG TRÊN MATLAB

More Related Content

What's hot

Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Tính toán khoa học - Chương 2: Hệ phương trình tuyến tính
Tính toán khoa học - Chương 2: Hệ phương trình tuyến tínhTính toán khoa học - Chương 2: Hệ phương trình tuyến tính
Tính toán khoa học - Chương 2: Hệ phương trình tuyến tínhChien Dang
 
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấpHướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấpVan-Duyet Le
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
Tóm tắt lý thuyết triết học mác – lênin 4854431
Tóm tắt lý thuyết triết học mác – lênin 4854431Tóm tắt lý thuyết triết học mác – lênin 4854431
Tóm tắt lý thuyết triết học mác – lênin 4854431nataliej4
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTITTran Tien
 
Quy hoach tuyen tinh C H U O N G2
Quy hoach tuyen tinh C H U O N G2Quy hoach tuyen tinh C H U O N G2
Quy hoach tuyen tinh C H U O N G2Ngo Hung Long
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsaBảo Điệp
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtHưởng Nguyễn
 
các phân phối xác xuất thường gặp
các phân phối xác xuất thường gặpcác phân phối xác xuất thường gặp
các phân phối xác xuất thường gặpKhoa Nguyễn
 
Chuong 2 dai so tuyen tinh 2
Chuong 2   dai so tuyen tinh 2Chuong 2   dai so tuyen tinh 2
Chuong 2 dai so tuyen tinh 2Trương Huỳnh
 
Phụ thuộc hàm và dạng chuẩn 1
Phụ thuộc hàm và dạng chuẩn 1Phụ thuộc hàm và dạng chuẩn 1
Phụ thuộc hàm và dạng chuẩn 1Trung Trần
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáNit
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 
BẢNG TRA PHÂN PHỐI CHI-SQUARE
BẢNG TRA PHÂN PHỐI CHI-SQUAREBẢNG TRA PHÂN PHỐI CHI-SQUARE
BẢNG TRA PHÂN PHỐI CHI-SQUAREhiendoanht
 
Bài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân TạoBài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân TạoDự Nguyễn Quang
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhCao Toa
 
Tom tat cong thuc xstk
Tom tat cong thuc xstkTom tat cong thuc xstk
Tom tat cong thuc xstkBích Anna
 

What's hot (20)

Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Tính toán khoa học - Chương 2: Hệ phương trình tuyến tính
Tính toán khoa học - Chương 2: Hệ phương trình tuyến tínhTính toán khoa học - Chương 2: Hệ phương trình tuyến tính
Tính toán khoa học - Chương 2: Hệ phương trình tuyến tính
 
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấpHướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
Tóm tắt lý thuyết triết học mác – lênin 4854431
Tóm tắt lý thuyết triết học mác – lênin 4854431Tóm tắt lý thuyết triết học mác – lênin 4854431
Tóm tắt lý thuyết triết học mác – lênin 4854431
 
Xử lý ảnh PTIT
Xử lý ảnh PTITXử lý ảnh PTIT
Xử lý ảnh PTIT
 
Quy hoach tuyen tinh C H U O N G2
Quy hoach tuyen tinh C H U O N G2Quy hoach tuyen tinh C H U O N G2
Quy hoach tuyen tinh C H U O N G2
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsa
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
 
các phân phối xác xuất thường gặp
các phân phối xác xuất thường gặpcác phân phối xác xuất thường gặp
các phân phối xác xuất thường gặp
 
Ktmt chuong 2
Ktmt chuong 2Ktmt chuong 2
Ktmt chuong 2
 
Chuong 2 dai so tuyen tinh 2
Chuong 2   dai so tuyen tinh 2Chuong 2   dai so tuyen tinh 2
Chuong 2 dai so tuyen tinh 2
 
Thuật toán K mean
Thuật toán K meanThuật toán K mean
Thuật toán K mean
 
Phụ thuộc hàm và dạng chuẩn 1
Phụ thuộc hàm và dạng chuẩn 1Phụ thuộc hàm và dạng chuẩn 1
Phụ thuộc hàm và dạng chuẩn 1
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
BẢNG TRA PHÂN PHỐI CHI-SQUARE
BẢNG TRA PHÂN PHỐI CHI-SQUAREBẢNG TRA PHÂN PHỐI CHI-SQUARE
BẢNG TRA PHÂN PHỐI CHI-SQUARE
 
Bài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân TạoBài giảng Trí Tuệ Nhân Tạo
Bài giảng Trí Tuệ Nhân Tạo
 
Ngân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tínhNgân hàng câu hỏi kiến trúc máy tính
Ngân hàng câu hỏi kiến trúc máy tính
 
Tom tat cong thuc xstk
Tom tat cong thuc xstkTom tat cong thuc xstk
Tom tat cong thuc xstk
 

Similar to Thuat toan pca full 24-5-2017

Pca principal componentsanalysis
Pca principal componentsanalysisPca principal componentsanalysis
Pca principal componentsanalysisSongLam123
 
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433Muoivy Wm
 
Tai lieu sap_2000_v10
Tai lieu sap_2000_v10Tai lieu sap_2000_v10
Tai lieu sap_2000_v10Quang Nguyen
 
Model based collaborative filtering
Model based collaborative filteringModel based collaborative filtering
Model based collaborative filteringBui Loc
 
báo-cáo-mô-hình-hóa-nhóm-15.pdf
báo-cáo-mô-hình-hóa-nhóm-15.pdfbáo-cáo-mô-hình-hóa-nhóm-15.pdf
báo-cáo-mô-hình-hóa-nhóm-15.pdfngTrnh17
 
10 mat102-bai 7-v1.0
10 mat102-bai 7-v1.010 mat102-bai 7-v1.0
10 mat102-bai 7-v1.0Yen Dang
 
12.ma trận và dịnh thức
12.ma trận và dịnh thức12.ma trận và dịnh thức
12.ma trận và dịnh thứcTrinh Yen
 
Bài tập thực hành số 1
Bài tập thực hành số 1Bài tập thực hành số 1
Bài tập thực hành số 1Tran Trung Dung
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBrand Xanh
 
05 mat102-bai 2-v1.0
05 mat102-bai 2-v1.005 mat102-bai 2-v1.0
05 mat102-bai 2-v1.0Yen Dang
 
Shape Matching And Object Recognition Using Shape Contexts
Shape Matching And Object Recognition Using Shape ContextsShape Matching And Object Recognition Using Shape Contexts
Shape Matching And Object Recognition Using Shape Contextsnlnngu
 
TRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdfTRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdfPHNGUYNNGC9
 
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdfbo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdfLinhTrnTh14
 
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phânPhương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phânHajunior9x
 
Bài Giảng Xử Lý Ảnh Số
Bài Giảng Xử Lý Ảnh Số Bài Giảng Xử Lý Ảnh Số
Bài Giảng Xử Lý Ảnh Số nataliej4
 

Similar to Thuat toan pca full 24-5-2017 (20)

Pca principal componentsanalysis
Pca principal componentsanalysisPca principal componentsanalysis
Pca principal componentsanalysis
 
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
Tai lieu huong_dan_hoc_matlab_danh_cho_mon_xu_ly_anh_rat_hay_2264_7433
 
Tai lieu sap_2000_v10
Tai lieu sap_2000_v10Tai lieu sap_2000_v10
Tai lieu sap_2000_v10
 
1385102
13851021385102
1385102
 
SAP 2000
SAP 2000SAP 2000
SAP 2000
 
DCCTHP Tcca2
DCCTHP Tcca2DCCTHP Tcca2
DCCTHP Tcca2
 
Model based collaborative filtering
Model based collaborative filteringModel based collaborative filtering
Model based collaborative filtering
 
báo-cáo-mô-hình-hóa-nhóm-15.pdf
báo-cáo-mô-hình-hóa-nhóm-15.pdfbáo-cáo-mô-hình-hóa-nhóm-15.pdf
báo-cáo-mô-hình-hóa-nhóm-15.pdf
 
10 mat102-bai 7-v1.0
10 mat102-bai 7-v1.010 mat102-bai 7-v1.0
10 mat102-bai 7-v1.0
 
12.ma trận và dịnh thức
12.ma trận và dịnh thức12.ma trận và dịnh thức
12.ma trận và dịnh thức
 
Bài tập thực hành số 1
Bài tập thực hành số 1Bài tập thực hành số 1
Bài tập thực hành số 1
 
Luận văn: Phép biến đổi phân tuyến tính, HAY, 9đ
Luận văn: Phép biến đổi phân tuyến tính, HAY, 9đLuận văn: Phép biến đổi phân tuyến tính, HAY, 9đ
Luận văn: Phép biến đổi phân tuyến tính, HAY, 9đ
 
Bai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tuBai thi Nghiem ky thuat dien tu
Bai thi Nghiem ky thuat dien tu
 
05 mat102-bai 2-v1.0
05 mat102-bai 2-v1.005 mat102-bai 2-v1.0
05 mat102-bai 2-v1.0
 
Shape Matching And Object Recognition Using Shape Contexts
Shape Matching And Object Recognition Using Shape ContextsShape Matching And Object Recognition Using Shape Contexts
Shape Matching And Object Recognition Using Shape Contexts
 
TRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdfTRNG_DI_HC_NHA_TRANG.pdf
TRNG_DI_HC_NHA_TRANG.pdf
 
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdfbo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
bo-de-tham-khao-giua-hoc-ky-2-toan-8-nam-2023-2024-phong-gddt-tp-hai-duong.pdf
 
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phânPhương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
Phương pháp số và lập trình - Nội suy, Đạo hàm, Tích phân
 
Bài Giảng Xử Lý Ảnh Số
Bài Giảng Xử Lý Ảnh Số Bài Giảng Xử Lý Ảnh Số
Bài Giảng Xử Lý Ảnh Số
 
Ch1.DSTT_Slides.pdf
Ch1.DSTT_Slides.pdfCh1.DSTT_Slides.pdf
Ch1.DSTT_Slides.pdf
 

Thuat toan pca full 24-5-2017

  • 1. www.themegallery.comLý thuyết xử lý tín hiệu vô tuyến điện PHÂN TÍCH THÀNH PHẦN CƠ BẢN (PCA - Principal Component Analysis) Nguyễn Văn Đoàn Trần Thái Hà Đồng Văn Hảo Mai Văn Tá Hà Tiến Thành Nguyễn Thị Thủy Vũ Mạnh Tuấn (Cao học KTĐT 28A) 1/14
  • 2. Principal component analysis 2/14 NỘI DUNG BÁO CÁO 1. Vai trò PCA trong xử lý tín hiệu nhiều chiều 2. Cơ sở toán học 2.2. Thuật toán PCA 2.1. Một số khái niệm toán học sử dụng trong PCA 3. Ví dụ minh họa thuật toán PCA 4. Ứng dụng 5. Mô phỏng trên Matlab
  • 3. Principal component analysis Dữ liệu nhiều chiều Đặt vấn đề - Dữ liệu nhiều chiều: dữ liệu hình ảnh (image data), dữ liệu video, dữ liệu audio, dữ liệu văn bản (document data), dữ liệu viết tay (handwritten data)… Các dữ liệu này được biểu diễn bởi các thuộc tính không gian, thời gian... -> Khái niệm: dữ liệu k - chiều là dữ liệu được hoàn toàn xác định bởi vectơ các giá trị thuộc tính (x1, …, xk) trong không gian k - chiều. 3 1. VAI TRÒ PCA TRONG XỬ LÝ TÍN HIỆU NHIỀU CHIỀU
  • 4. Principal component analysis Tín hiệu nhiều chiều • Tín hiệu nhiều chiều là tín hiệu biến thiên theo nhiều hơn 1 biến độc lập. • Ví dụ: + tín hiệu hình ảnh: ~(x,y); + tín hiệu tivi đen trắng:~(x,y,t)…. • Xử lý tín hiệu nhiều chiều là việc thực hiện phép toán trên tín hiệu nhiều chiều, nhằm biến đổi tín hiệu, rút trích thông tin... 4
  • 5. Principal component analysis Vai trò PCA trong xử lý tín hiệu nhiều chiều Dữ liệu có số chiều lớn, do đó cần phải tìm cách đưa dữ liệu về không gian có số chiều nhỏ hơn ->PCA là một trong những phương pháp như thế, nhưng hơn thế, PCA còn có nhiều đặc tính tốt: 1) Giúp giảm số chiều của dữ liệu; 2) Thay vì giữ lại các trục tọa độ của không gian cũ, PCA xây dựng một không gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ; 3) Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của không gian cũ; 4) Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được khám phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn. 5
  • 6. Principal component analysis Vai trò PCA trong xử lý tín hiệu nhiều chiều (Minh họa đặc tính 4) Khám phá liên kết tiềm ẩn nhờ đổi hệ trục tọa độ, cách nhìn khác nhau về cùng một dữ liệu. 6
  • 7. Principal component analysis Vai trò PCA trong xử lý tín hiệu nhiều chiều Ý tưởng chung: 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 dữ liệu trên đó là lớn nhất có thể. • Ví dụ minh họa 7
  • 8. Principal component analysis 8/14 2. CƠ SỞ TOÁN HỌC 2.1. Một số khái niệm toán học sử dụng trong PCA 2.1.1. Các đặc trưng số của vector ngẫu nhiên a) Kỳ vọng (mean, expected value) * Ý nghĩa: giá trị “mong muốn”, biểu diễn giá trị trung bình của một biến. * Biểu diễn toán học Với X biến ngẫu nhiên rời rạc: (1) x i i i m E X p x    
  • 9. Principal component analysis 9/14 2.1.1. Các đặc trưng số của vector ngẫu nhiên b) Độ lệch chuẩn (Standard Deviation) * Ý nghĩa: đo tính biến động của giá trị mang tính thống kê. Nó cho thấy sự chênh lệch về giá trị của từng thời điểm đánh giá so với giá trị trung bình. * Biểu diễn toán học (2) (t) m (t)xs E X   
  • 10. Principal component analysis 10/14 2.1.1. Các đặc trưng số của vector ngẫu nhiên c) Phương sai (variance) * Ý nghĩa: phương sai của một biến ngẫu nhiên là thước đo sự phân tán thống kê của biến đó, nó hàm ý các giá trị của biến đó thường ở cách giá trị kỳ vọng bao xa. * Biểu diễn toán học (3)  22 2 var( ) ( ) ( )xX s E X t m t   
  • 11. Principal component analysis 11/14 2.1.1. Các đặc trưng số của vector ngẫu nhiên d) Hiệp phương sai (covariance) * Ý nghĩa: hiệp phương sai là độ đo sự biến thiên cùng nhau của hai biến ngẫu nhiên (phân biệt với phương sai - đo mức độ biến thiên của một biến). * Biểu thức toán học (4)   cov( , ) ( ) ( ) Y( ) ( )x yX Y E X t m t t m t  
  • 12. Principal component analysis 12/14 2.1.1. Các đặc trưng số của vector ngẫu nhiên Trường hợp đặc biệt: , khi đó: (5) 1 2 1 ... np p p n     1 1 n i i g X x n         2 1 1 n i i x X s n          2 2 1 1 n i i x X n          1 cov(X,Y) 1 n i x i y i x y n        
  • 13. Principal component analysis 13/14 2.1.1. Các đặc trưng số của vector ngẫu nhiên Bảng tổng hợp một số tính chất đặc trưng số của vector ngẫu nhiên
  • 14. Principal component analysis 14/14 2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai a) Ma trận hiệp phương sai (covariance matrix) X là vector cột, mỗi thành phần Xi là biến ngẫu ngẫu nhiên có phương sai xác định và E{ Xi }= μi. => xây dựng ma trận hiệp phương sai (matrix covariance) với các thành phần si,j là hiệp phương sai: (6)  , ,cov( ) ( )( )i j i j i i j js X X E X X     1 1 1 2 1 2 1 2 2 2 1 2 cov(X ,X ) cov(X ,X ) ... cov(X ,X ) cov(X ,X ) cov(X ,X ) ... cov(X ,X ) ... ... ... ... cov(X ,X ) cov(X ,X ) ... cov(X ,X ) n n X n n n n S            
  • 15. Principal component analysis 15/14 2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai b) Trị riêng, vector riêng * Khái niệm Cho 𝑨 ∈ 𝑪 𝑚x𝑚 là ma trận vuông. Vector 𝒖 ∈ 𝑪 𝑚 gọi là vector riêng ứng với trị riêng λ ∈ 𝑪 nếu: (7)Au u
  • 16. Principal component analysis 16/14 2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai b) Trị riêng, vector riêng * Khái niệm * Tính chất - Trị riêng là nghiệm của phương trình đặc trưng det 𝐀 − λ𝑰 = 0 - Một trị riêng có thể có nhiều vector riêng. - Mỗi vector riêng chỉ ứng với một trị riêng duy nhất - Mọi trị riêng của A đều khác không thì A khả nghịch - Nếu λ là trị riêng của A thì λk là trị riêng của Ak
  • 17. Principal component analysis 17/14 2.1.2. Trị riêng, vector riêng của ma trận hiệp phương sai b) Trị riêng, vector riêng * Khái niệm * Tính chất * Phương pháp giải tìm trị riêng, vector riêng - Bước 1: giải phương trình đặc trưng tìm trị riêng det 𝐀 − λ𝑰 = 0 - Bước 2: giải hệ phương trình thuần nhất tìm vector riêng ui ứng với trị riêng λi. det 𝐀 − λ𝑰 𝒖 = 𝟎
  • 18. Principal component analysis 18 2.2. THUẬT TOÁN PCA Cho ma trận . Các bước của PCA lần lượt như sau: Bước 1: Tiền xử lí Bước 2: Xây dựng không gian mới Bước 3: Chuyển dữ liệu từ không gian ban đầu vào không gian mới
  • 19. Principal component analysis 19 2.2.THUẬT TOÁN PCA I. TIỀN XỬ LÍ - Dữ liệu ban đầu có thể có giá trị thay đổi bất thường, do vậy cần phải có một bước tiền xử lí để chuẩn hóa giá trị trên các cột của ma trận X. - Có 2 cách tiền xử lí thường được dùng cho PCA 1. Centered PCA 2. Normed PCA
  • 20. Principal component analysis 20 2.2. THUẬT TOÁN PCA I. TIỀN XỬ LÍ 1. Centered PCA Mang tất cả các feature (của các cột của X) về cùng một gốc tọa độ: (8) 𝑋 = 𝑥𝑖𝑗 𝑥𝑖𝑗 = 𝑥𝑖𝑗 − 𝑔𝑗 𝑛 𝑔𝑗 = 𝑖=1 𝑛 𝑥𝑖𝑗 𝑛
  • 21. Principal component analysis 21 2.2. THUẬT TOÁN PCA I. TIỀN XỬ LÍ 2. Normed PCA Mang tất cả các feature về cùng một gốc tọa độ, đồng thời chuẩn hóa về cùng một quãng độ lệch chuẩn bằng 1: (9) 𝑋 = 𝑥𝑖𝑗 𝑥𝑖𝑗 = 𝑥𝑖𝑗 − 𝑔𝑗 𝑛σ𝑗
  • 22. Principal component analysis 22 Xét trận X có kích thước n x p, Ma trận hiệp phương sai của X: Tính chất: - Các thành phần nằm trên đường chéo của SX là phương sai của một kiểu đo riêng biệt nào đó; - Các thành phần không nằm trên đường chéo là hiệp phương sai giữa hai kiểu đo nào đó. (tức là nói lên tính tương quan giữa hai kiểu đo, như vậy trường hợp tốt nhất là các kiểu đo là không tương quan tức là hiệp phương sai giữa chúng bằng 0) 𝑋 = 𝑥11 … 𝑥1𝑝 … … … 𝑥 𝑛1 … 𝑥 𝑛𝑝 𝑆 𝑋 = 1 𝑛 − 1 𝑋𝑋 𝑇 2.2. THUẬT TOÁN PCA
  • 23. Principal component analysis 23 Sau khi nhận được ma trận ta cần biến đổi nó về ma trận Y sao cho: là ma trận đường chéo Thực chất là tìm phép biến đổi P: Sử dụng tính chất: 𝑆 𝑌 = 1 𝑛 − 1 𝑌𝑌 𝑇 2.2. THUẬT TOÁN PCA
  • 24. Principal component analysis 24 Đặt: Người ta chứng minh được: A là ma trận đối xứng và có thể phân tích dưới dạng Trong đó E là ma trận gồm các vector riêng của A xếp theo cột, và Chọn: Do đó: Thỏa mãn là ma trận đường chéo 2.2. THUẬT TOÁN PCA
  • 25. Principal component analysis 25 2.2. THUẬT TOÁN PCA II. XÂY DỰNG KHÔNG GIAN MỚI Tính ma trận hiệp phương sai Tìm trị riêng của V theo thứ tự giảm dần Và véc tơ riêng tương ứng:
  • 26. Principal component analysis 26 2.2. THUẬT TOÁN PCA III. CHUYỂN DỮ LIỆU (TỪ KHÔNG GIAN BAN ĐẦU VÀO KHÔNG GIAN MỚI) Khi đó tọa độ các điểm trong hệ tọa độ mới là Xây dựng không gian mới từ k véc tơ đầu tiên (từ lớn đến nhỏ) trong m véc tơ riêng của V , (k < m)
  • 27. Principal component analysis 27 3. MINH HỌA THUẬT TOÁN PCA GĐ 1: Tiền xử lí GĐ 2: Xây dựng không gian mới GĐ 3: Chuyển dữ liệu từ không gian ban đầu vào không gian mới Bước 1: thu thập dữ liệu Bước 2: chuẩn hóa dữ liệu Bước 3: xây dựng ma trận hiệp phương sai Bước 4: xác định trị riêng, vector riêng Bước 5: lựa chọn các thành phần xây dựng vector đặc trưng Bước 6: chuyển dữ liệu và không gian mới
  • 28. Principal component analysis 28 3. MINH HỌA THUẬT TOÁN PCA Step 1: Thu thập dữ liệu X x0 y0 2.5 2.4 0.5 0.7 2.2 2.9 1.9 2.2 3.1 3.0 2.3 2.7 2 1.6 1 1.1 1.5 1.6 1.1 0.9
  • 29. Principal component analysis 29 3. MINH HỌA THUẬT TOÁN PCA Step 2: Chuẩn hóa dữ liệu Original PCA data Norm PCA data X x0 y0 Xnorm x1 y1 2.5 2.4 0.2779 0.1831 0.5 0.7 -0.5276 -0.4520 2.2 2.9 0.1571 0.3698 1.9 2.2 0.0362 0.1083 3.1 3.0 0.5195 0.4072 2.3 2.7 0.1973 0.2951 2 1.6 0.0765 -0.1158 1 1.1 -0.3262 -0.3026 1.5 1.6 -0.1248 -0.1158 1.1 0.9 -0.2859 -0.3773 mean 1.8100 1.9100 mean 0 0 std 0.7852 0.8465 std 0.3162 0.3162 var 0.6166 0.7166 var 0.1 0.1
  • 30. Principal component analysis 30 3. MINH HỌA THUẬT TOÁN PCA Step 3: Xây dựng ma trận hiệp phương sai 0.1000 0.0926 0.0926 0.1000        covar Step 4: Xác định trị riêng, vector riêng 0.0074 0 0 0.1926        eival 0.7071 0.7071 0.7071 0.7071        eivec 0.1000 0.0926 0.0926 0.1000        covar 0.0074 0 0 0.1926        eival 0.7071 0.7071 0.7071 0.7071        eivec
  • 31. Principal component analysis 31 3. MINH HỌA THUẬT TOÁN PCA
  • 32. Principal component analysis 32 3. MINH HỌA THUẬT TOÁN PCA
  • 33. Principal component analysis 33 3. MINH HỌA THUẬT TOÁN PCA
  • 34. Principal component analysis 34 3. MINH HỌA THUẬT TOÁN PCA
  • 35. Principal component analysis  Nhận diện khuôn mặt  Công nghệ thông tin  Sinh học  Tài chính  Giảm kích thước của các dữ liệu 35 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 36. Principal component analysis  Nhận diện khuôn mặt  Ý tưởng chính • Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập vector sao cho vẫn đảm bảo được “tối đa thông tin quan trọng nhất” . Tức Feature extraction (giữ k thuộc tính “mới”) chứ không phải Feature selection (giữ lại k thuộc tính nguyên gốc ban đầu). 36 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 37. Principal component analysis 37 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 38. Principal component analysis • Hệ thống nhận dạng tổng quát Hình 1: Cấu trúc tổng quát của hệ thống nhận dạng mặt 38 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 39. Principal component analysis • - Tiền xử lý: Chuẩn hóa kích cỡ giữa ảnh trong CSDL - Tách khuôn mặt: khuôn mặt trên ảnh chụp được tách ra phần mặt, nó sẽ là các khuôn mặt cần tìm và chức năng trích chọn đặc trưng sẽ sử dụng các ảnh được tách ra này. 39 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 40. Principal component analysis - Trích chọn đặc trưng: Tìm ra các đặc trưng chính của ảnh mặt, từ các đặc trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong CSDL. - Đối sánh: Thực hiện việc so sánh giữa các vector đặc trưng để chọn ra độ tương tự giữa ảnh cần tìm và ảnh trong CSDL. 40 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 41. Principal component analysis • Nhận các khuôn mặt từ cơ sở dữ liệu • Giả sử có M ảnh, khi đó i=1,2...M. Hình 2: Các ảnh cùng kích thước và mặt ở tâm ảnh 41 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 42. Principal component analysis • Đầu tiên chúng ta sẽ đọc cơ sở dữ liệu và nhận vào các ảnh luyện Ii. Các ảnh luyện ở đây đều là ảnh mặt, chúng có mặt ở tâm ảnh và có cùng kích thước. • Sau đó ta tương ứng mỗi ảnh Ii với một vector Γi • Ii (ảnh N×N) → Γi (vector N2×1) 42 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 43. Principal component analysis • Bước 1: Tính toán giá trị trung bình Giá trị vector trung bình: (4.1) • Γi là vector 1 chiều (N2×1) đại diện cho mỗi ảnh. Ψ là vector trung bình (kích thước N2×1) của tập tất cả các Γi trên; Ψ còn được gọi là vector trung bình mặt của tập luyện. 43 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 44. Principal component analysis • Bước 2: Trừ đi giá trị trung bình Sai số của các ảnh so với giá trị vector mặt trung bình Φi = Γi – Ψ (4.2) Φi là vector sai số ứng với mỗi ảnh, 44 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 45. Principal component analysis • Bước 3: Tính ma trận hiệp phương sai Ma trận hiệp phương sai được tính theo công thức sau: (4.3) Trong đó C là ma trận hiệp phương sai (kích thước N2×N2): (4.4) • A là ma trận N2×M, 𝚽n là giá trị sai số được tính ở công thức (4.2). 45 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 46. Principal component analysis Bước 4: Tính các trị riêng và vector đặc trưng của ma trận hiệp phương sai Ma trận AAT và ATA luôn có chung trị riêng và vector đặc trưng thì có liên hệ với nhau bởi biểu thức ui = Avi mà ma trận ATA lại có số chiều ít hơn hẳn (ma trận M×M) nên ta sẽ chuyển đổi về ma trận ATA. Sau khi tính toán ta được M vector đặc trưng của AAT (ui = Avi) tương ứng với M giá trị riêng. Chuẩn hóa các vector đặc trưng ui về vector đơn vị: ||ui|| =1 (4.5) 46 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 47. Principal component analysis Bước 5: Lựa chọn các thành phần và xây dựng vector đặc trưng. Mỗi khuôn mặt trong tập huấn luyện có thể được biểu diễn lại là 1 tổ hợp tuyến tính của K vector riêng lớn nhất: • (4.6) ui vector riêng của K vector đặc trưng lớn nhất wi là các trọng số tương ứng với các vector đặc trưng 47 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 48. Principal component analysis • Trong đó 𝑤j i (j=1..K) là các trọng số tương ứng với K vector đặc trưng, • 𝛺i là vector đại diện cho khuôn mặt thứ i trong tập luyện. 48 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 49. Principal component analysis 49 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 50. Principal component analysis • Hình ảnh cho thấy, hình ảnh ban đầu sẽ bằng ảnh trung bình cộng với tổng tất cả các đặc trưng mặt nhân với trọng số tương ứng. 50 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 51. Principal component analysis • Chỉ giữ lại K vector riêng trong số M vector nói trên (ứng với K trị riêng lớn nhất), tất nhiên K<<N2. • Xác định K. - Sắp xếp theo thứ tự dãy giảm dần các eigenvalues tìm được. - Theo dõi sự biến thiên của dãy trên, khi không còn biến thiên (hoặc xấp xỉ bằng không) thì lúc đó ta đã chọn đủ K. 51 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 52. Principal component analysis • Nhược điểm PCA Eigenfaces • Trong những trường hợp sau, PCA Eigenfaces sẽ nhận dạng sai: • Khác nhau về điều kiện ánh sáng • Khác nhau về điệu bộ (nghiêng đầu chẳng hạn…) • Cảm xúc (cười to, há miệng…) 52 4. ỨNG DỤNG PCA TRONG NHẬN DIỆN KHUÔN MẶT
  • 53. Principal component analysis 53 5. MÔ PHỎNG TRÊN MATLAB %% PCAexam.m %% Principal Components Analysis %% Step 1: Get some data display('%% Step 1: Get some data'); x0 = ([2.5 0.5 2.2 1.9 3.1 2.3 2 1 1.5 1.1])'; y0 = ([2.4 0.7 2.9 2.2 3.0 2.7 1.6 1.1 1.6 0.9])'; X = ([x0, y0]) % plot data subplot(2,2,1) plot(x0,y0,'k+'); title('Original PCA data'); line([0 0],[-1 4],'Color','r','LineStyle',':'); line([-1 4],[0 0],'Color','r','LineStyle',':'); grid on; axis([-1 4 -1 4]);
  • 54. Principal component analysis 54 5. MÔ PHỎNG TRÊN MATLAB %% Step 2: Normal PCA display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'); display('%% Step 2: Normal PCA'); mu_x0 = mean(x0) % mean of the x0 values mu_y0 = mean(y0) % mean of the y0 values std_x0 = std(x0) % std of the x0 values std_y0 = std(y0) % std of the y0 values n = size(x0) % n(1) number of sample x1 = (x0 - mu_x0)/(std_x0*sqrt(n(1))); % normal PCA y1 = (y0 - mu_y0)/(std_y0*sqrt(n(1))); Xnorm = ([x1, y1])
  • 55. Principal component analysis 55 5. MÔ PHỎNG TRÊN MATLAB %% Step3: Calculate the covariance matrix display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'); display('%% Step3: Calculate the covariance matrix'); covar = cov(x1,y1)
  • 56. Principal component analysis 56 5. MÔ PHỎNG TRÊN MATLAB %% Step 4: Calc. the eigenvectors and eigenvalues display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'); display('%% Step4: Calculate the eigenvec and eigenval'); [eivec, eival]=eig(covar) % Plot data subplot(2,2,2) % new coordinates t = -1:1 tval1 = eivec(1,2)/eivec(1,1)*t; tval2 = eivec(2,2)/eivec(2,1)*t; plot(t,tval1, t, tval2) legend('eivec1','eivec2'); hold on; % normal PCA data plot(x,y,'k+'); title('Normal PCA data'); line([0 0],[-1 1],'Color','r','LineStyle',':'); line([-1 1],[0 0],'Color','r','LineStyle',':'); grid on hold off axis([-1 1 -1 1]);
  • 57. Principal component analysis 57 5. MÔ PHỎNG TRÊN MATLAB %% Step 5: Choosing components and forming a feature vector display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'); display('%% Step 5: Choosing components and forming a fea_vector'); respone = input('Number of new coordinates (1 or 2): '); dim = respone(1); if (dim == 1) eivalmax = max(diag(eival)) if eivalmax == eival(1,1) fea_vector = eivec(:,1) else fea_vector = eivec(:,2) end end if (dim == 2) eivalmax = max(diag(eival)) if eivalmax == eival(1,1) fea_vector = [eivec(:,1),eivec(:,1)] else fea_vector = [eivec(:,2),eivec(:,1)] end end
  • 58. Principal component analysis 58 5. MÔ PHỎNG TRÊN MATLAB %% Step 6: Deriving the new data set display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'); display('%% Step 6: Deriving the new data set'); Xfinal = ((fea_vector).')*((Xnorm).') x2 = Xfinal(1,:); if (dim == 1) y2 = 0; else y2 = Xfinal(2,:); End %% (continue...)
  • 59. Principal component analysis 59 5. MÔ PHỎNG TRÊN MATLAB % Plot data when chosing one eigvalue subplot(2,2,3) plot(x1,0,'k+'); title('Final data when chosing one eigvalue '); line([0 0],[-1 1],'Color','r','LineStyle',':'); line([-1 1],[0 0],'Color','r','LineStyle',':'); grid on; axis([-1 1 -1 1]); % Plot data when chosing two eigvalues subplot(2,2,4) plot(x2,y2,'k+'); title('Final data when chosing two eigvalues '); line([0 0],[-1 1],'Color','r','LineStyle',':'); line([-1 1],[0 0],'Color','r','LineStyle',':'); grid on; axis([-1 1 -1 1]);
  • 60. Principal component analysis 60 5. MÔ PHỎNG TRÊN MATLAB