Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.87 MB, 67 trang )
Tập hợp 1
X
0
8
12
20
Total
Divided by (n-1)
Square Root
Tập hợp 2
Xi
8
9
11
12
Total
Divided by (n-1)
Square Root
(𝑋 − 𝑋)
-10
-2
2
10
(𝑋 − 𝑋)2
100
4
4
100
208
69.33
8.3266
(𝑋 𝑖 − 𝑋)
-2
-1
1
2
(𝑋 𝑖 − 𝑋)2
4
1
1
4
10
3.333
1.8257
Ta có thể dễ dàng nhận thấy tập dữ liệu 1 có độ lệch chuẩn lớn hơn
có khoảng cách lớn hơn tập dữ liệu 2.
2.1.1.2 Phƣơng sai
Phƣơng sai là một đại lƣợng khác dùng để đo khoảng cách của dữ
liệu. Ta có công thức: s
2
n
i 1
(X i X )2
(n 1)
.
Dễ thấy phƣơng sai chính là bình phƣơng độ lệch chuẩn.
2.1.1.3 Hiệp phƣơng sai
Ta thấy rằng 2 đại lƣợng độ lệch chuẩn và phƣơng sai chỉ sử dụng
đƣợc trong 1 chiều. Trong thực tế dữ liệu có thể có rất nhiều chiều. Một ví
dụ đơn giản ta có dữ liệu về cân nặng và điểm số của toàn bộ sinh viên
trong lớp K15-T4. Đối với dữ liệu này, độ lệch chuẩn và phƣơng sai chỉ
tính đƣợc trên từng chiều riêng biệt và ta không thấy đƣợc mối liên hệ giữa
2 chiều này.
16
Tƣơng tự phƣơng sai, hiệp phƣơng sai là đại lƣợng đo sự biến thiên
giữa 2 chiều. Nếu tính hiệp phƣơng sai giữa 1 chiều với chính nó ta đƣợc
phƣơng sai của chiều đó. Nếu tập dữ liệu có 3 chiều x, y, z ta có thể tính
hiệp phƣơng sai của từng cặp chiều (x, y), (y, z), (z, x). Công thức của hiệp
phƣơng sai tƣơng tự công thức của phƣơng sai. Công thức của phƣơng sai
đƣợc khai triển nhƣ sau:
var( X )
N
I 1
( X X )( X i X )
(n 1)
Và công thức của hiệp phƣơng sai: cov( X , Y )
N
I 1
( X i X ) (Yi Y )
(n 1)
Từ công thức hiệp phƣơng sai ta thấy, nếu cov(X, Y) dƣơng thì X, Y
đồng biến, cov(X, Y) âm thì X, Y nghịch biến, nếu bằng 0 thì X, Y độc lập.
2.1.1.4 Ma trận hiệp phƣơng sai
Hiệp phƣơng sai đó sự biến thiên giữa 2 chiều, do đó đối với tập dữ
liệu có n chiều ta có
n!
giá trị hiệp phƣơng sai khác nhau. Để thuận
(n 2)!*2
tiện cho việc tính toán ta biểu diễn các giá trị này thông qua một ma trận
gọi là ma trận hiệp phƣơng sai. Định nghĩa của ma trận nhƣ sau:
C n x n (ci , j , ci , j cov( Dimi , Dim j ))
m xn
Trong đó C
là 1 ma trận với n hàng, n cột và Dimx là chiều thứ
x. Ví dụ ma trận hiệp phƣơng sai của 1 tập dữ liệu có 3 chiều x, y, z:
𝐶=
𝑐𝑜𝑣(𝑥, 𝑥) 𝑐𝑜𝑣 𝑥, 𝑦 𝑐𝑜𝑣(𝑥, 𝑧)
𝑐𝑜𝑣(𝑦, 𝑥) 𝑐𝑜𝑣(𝑦, 𝑦) 𝑐𝑜𝑣(𝑦, 𝑧)
𝑐𝑜𝑣(𝑧, 𝑥) 𝑐𝑜𝑣(𝑧, 𝑦) 𝑐𝑜𝑣(𝑧, 𝑧)
2.1.1.5 Ma trận đại số
Phần này giới thiệu về 2 khái niệm là nền tảng đƣợc sử dụng trong
PCA đó là vector riêng (eigenvector) và giá trị riêng (eigenvalue).
23
1
11
𝑥
=
21
3
5
23
3
12
3
𝑥
=
=4 𝑥
21
2
8
2
Hình 2.1: Ví dụ về 1 non-eigenvector và 1 eigenvector
17
2 𝑥
3
6
=
2
4
6
24
2 3
6
𝑥
=
=4 𝑥
2 1
4
16
4
Hình 2.2: Ví dụ về 1 eigenvector có tỉ lệ khác vẫn 1 là eigenvector
2.1.1.5.1 Eigenvector (Vectơ riêng)
Ta có thể nhân 2 ma trận với điều kiện kích cỡ phù hợp và
eigenvector là 1 trƣờng hợp đặc biệt của phép nhân này. Quan sát 2 phép
nhân ma trận với vector trên hình (2.1). Ở ví dụ thứ nhất vector kết quả
không phải là một bội số của vector gốc trong khi ở ví dụ thứ 2 vector kết
quả bằng 4 lần vector gốc. Ta thấy rằng vector
3
2
trong ví dụ 2.2 biểu diễn
1 mũi tên từ điểm (0, 0) đến điểm (3, 2) và ma trận còn lại đƣợc hiểu là ma
trận chuyển đổi. Nếu ta nhân ma trận này về bên trái của vector thì vector
mới nhận đƣợc chính là vector cũ bị tịnh tiến đi một lƣợng. Đó là tính biến
đổi của vector riêng.
Các tính chất của vector riêng:
Chỉ các ma trận vuông (n x n) mới có vector riêng.
Không phải mọi ma trận vuông đều có vector riêng.
Nếu 1 ma trận vuông (n x n) có vector riêng thì sẽ có n vector
riêng.
Nếu nhân vector riêng với 1 số thì kết quả sau khi nhân với ma
trận chuyển đổi, vector kết quả vẫn là vector ban đầu
Tất cả các vector riêng của 1 ma trận đều trực giao với nhau
2.1.1.5.2 Eigenvalue (Giá trị riêng)
Giá trị riêng là một khái niệm liên quan chặt chẽ đến vector riêng.
Thực tế chúng ta đã thấy 1 giá trị riêng trong hình 2.1. Chú ý trong cả 2 ví
dụ trên, số đƣợc nhận với 2 vector riêng bằng nhau và bằng 4; 4 đƣợc gọi là
giá trị riêng ứng với 1 vector riêng (2 vector riêng trong 2 ví dụ trên là
tƣơng đƣơng nhau). Giá trị riêng và vector riêng luôn đi với nhau thành
một cặp.
18
2.1.2 Kỹ thuật phân tích thành phần chính (PCA–Principal
Components Analysis)
2.1.2.1 Phƣơng pháp
Giả sử ta có các quan sát về p biến ngẫu nhiên. Chúng ta tìm hiểu,
nhƣ sự cố gắng để đơn giản tình hình, xem lúc nào thì có thể tìm đƣợc p
biến mới 1 , 2 ,.., p không tƣơng quan với nhau và có thể biểu diễn tuyến
tính qua các biến cũ. Dĩ nhiên là chúng ta phải đòi hỏi sự thay đổi biến số
này không làm mất thông tin về các biến ban đầu. Phân tích thành phần
chính là một phƣơng pháp nhằm mục đích nhƣ vậy. Nó dựa vào phân tích
cấu trúc của ma trận hiệp phƣơng sai của vector ngẫu nhiên X thông qua
việc phân tích các tổ hợp tuyến tính của các thành phần của nó. Mục tiêu cơ
bản của phân tích thành phần chính là:
Rút gọn số liệu.
Biểu diễn và giải thích tập số liệu.
Việc phân tích các thành phần chính thƣờng phát hiện ra các mối
quan hệ tiềm ẩn trong các thành phần và cho phép ta giải thích các mối
quan hệ đó. Hơn nữa, việc phân tích các thành phần chính là một giai đoạn
trung gian của các nghiên cứu khác, ví dụ nhƣ phân tích hồi quy, phân tích
nhân tố thông qua các thành phần chính.
Một vấn đề đƣợc đặt ra của việc phân tích thành phần chính là số
thành phần chính chủ yếu, hay nói cách khác là cần phải giữ lại bao nhiêu
thành phần chính giải thích các vấn đề liên quan tới thành phần chính.
Thông thƣờng các thành phần chính ứng với các giá trị riêng i rất
nhỏ ( i 0 ) không đóng vai trò gì trong phân tích số liệu và ta có thể loại
đi. Theo ngôn ngữ về sự khôi phục thông tin về các số liệu ban đầu dựa
trên các dự báo tuyến tính của các thành phần X 1 ,..., X p của vector X dựa
trên các thông tin về quan sát các thành phần chính Y1 ,..., Y p ta chỉ cần giữ lại
k thành phần chính nếu
1 ... k
đủ lớn ( Ví dụ: 95%, 97%... ).
1 ... p
Dựa vào cấu trúc của các thành phần chính, ngƣời ta có thể giải thích
vai trò của các biến Xi trong các thành phần chính đó và từ đó có một sự lý
giải về vai trò của các nhân tố trong tự nhiên và xã hội.
19
PCA là một công cụ thống kê đã đƣợc xây dựng trong các ứng dụng
nhận dạng mặt ngƣời và nén ảnh, ngoài ra PCA còn là một công cụ đƣợc sử
dụng phổ biến trong việc tìm mẫu cho dữ liệu nhiều chiều.
Các bước thực hiện:
Bƣớc 1: Chuẩn bị dữ liệu.
Ví dụ:
Data =
x
2.5
0.5
2.2
1.9
3.1
2.3
2
1
1.5
1.1
y
2.4
0.7
2.9
2.2
3.0
2.7
1.6
1.4
1.6
0.9
x
.69
1.31
.39
.09
1.29
.49
.19
-.81
-.31
-.71
y
.49
-1.21
.99
.29
1.09
.79
-.31
-.81
-.31
-1.01
Bƣớc 2: Trừ dữ liệu cho kỳ vọng
Data Adjust =
20
Hình 2.3: Mô tả dữ liệu đầu vào trên mặt phẳng 2 chiều
Bƣớc 3: Tính ma trận hiệp phƣơng sai
𝑐𝑜𝑣 =
. 616555556 . 615444444
. 615444444 . 716555556
Bƣớc 4: Tính các vector riêng (eigenvector) và giá trị riêng
(eigenvalue)
𝑒𝑖𝑔𝑒𝑛𝑣𝑎𝑙𝑢𝑒𝑠 =
. 0490833989
1.28402771
−.735178656 −.677873399
. 677873399 −.735178656
Bƣớc 5: Chọn thành phần chính
𝑒𝑖𝑔𝑒𝑛𝑣𝑒𝑐𝑡𝑜𝑟 =
o Ta giữ lại k vector riêng với k giá trị k riêng lớn nhất, thể hiện
bằng vector đặc trƣng ( feature vector ).
FeatureVector = ( eigenvector 1 , ..., eigenvector k )
Trong ví dụ
21
nếu chọn cả hai vector riêng thì ta đƣợc vector
đặc trƣng:
. 677873399 −.735178656
−.735178656 . 677873399
Nếu chỉ chọn vector riêng ứng với giá trị riêng
lớn nhất thì ta đƣợc vector đặc trƣng:
−.677873399
−.735178656
o Các thành phần chính đƣợc xác định bởi:
Yi eiT X , Trong đó Yi là thành phần chính thứ i, ei là
vector riêng thứ i, X là dữ liệu đã trừ kỳ vọng ban đầu.
Có thể viết lại nhƣ sau:
FinalData FeatureVec tor T DataAdjust
o Trong ví dụ
Nếu chọn cả hai vector riêng, ta đƣợc thành phần
chính là:
Transformed Data =
x
-.827970186
1.77758033
-.992197494
-.274210416
-1.67580142
-.912949103
.0991094375
1.14457216
.438046137
1.22382056
22
y
-.175115307
.142857227
.384374989
.130417207
-.209498461
.175282444
-.349824698
.0464172582
.0177646297
-.162675287
Hình 2.4: Mô tả các thành phần chính trên mặt phẳng
Nếu chỉ chọn vector riêng ứng với giá trị riêng lớn nhất,
ta đƣợc thành phần chính là:
Bƣớc 6: Khôi phục dữ liệu ban đầu
o DataAdjust FeatureVec tor FinalData
Cộng thêm kỳ vọng ta sẽ đƣợc dữ liệu ban đầu.
o Trong ví dụ với 1 thành phần chính:
DataAdjust
23
Dữ liệu ban đầu:
Hình 2.5: Dữ liệu đƣợc khôi phục lại với 1 thành phần chính
o Nhận xét: Nếu chỉ giữ lại một thành phần chính để khôi phục
lại dữ liệu ban đầu bằng dự báo tuyến tính tối ƣu x và y ban
đầu qua 1 thành phần chính vừa tính thì sai số tƣơng đối là:
24
0.0490833989
0.036819 3,6819%
0.0490833989 1.28402771
2.1.2.2 Eigenface
Eigenface là một khái niệm đƣợc đƣa ra khi Matthew Turk và Alex
Pentland áp dụng PCA để xác định và nhận dạng khuôn mặt. Eigenface có
thể hiểu là những đặc trƣng riêng biệt, đơn giản đƣợc trích rút từ tập ảnh dữ
liệu ban đầu bằng phƣơng pháp PCA.
Cho một tập các ảnh huấn luyện có kích thƣớc n x m đƣợc mô tả bởi
các vector có kích thƣớc n x m. Turk và Pentland dùng PCA trên tập huấn
luyện ảnh các khuôn mặt để sinh các ảnh riêng (gọi là eigenface) để tìm
một không gian con (không gian khuôn mặt) trong không gian ảnh. Nếu
cho 100 ảnh, mà mỗi khuôn mặt có kích thƣớc 91x50 thì có thể chỉ dùng 50
ảnh riêng, trong khi vẫn duy trì đƣợc một khả năng giống nhau hợp lý (giữ
đƣợc 95% tính chất). Các ảnh khuôn mặt đƣợc chiếu vào không gian con
này và đƣợc gom nhóm lại. Tƣơng tự các ảnh không có khuôn mặt dùng để
huấn luyện cũng đƣợc chiếu vào cùng không gian con và gom nhóm lại.
Các ảnh khuôn mặt khi chiếu vào không gian khuôn mặt thì ít bị thay đổi,
trong khi chiếu các ảnh không phải khuôn mặt thì xuất hiện nhiều sự khác
nhau. Xác định sự có mặt của một khuôn mặt trong ảnh thông qua tất cả
khoảng cách giữa các vị trí trong ảnh và không gian ảnh, đã có nhiều
nghiên cứu về xác định khuôn mặt, nhận dạng, và trích đặc trƣng từ ý
tƣởng vector riêng, phân rã, và gom nhóm.
2.1.2.3 Triển khai
Ảnh khuôn mặt nói riêng và ảnh số nói chung đƣợc biểu diễn thông
qua các giá trị của mỗi điểm ảnh. Với một ảnh khuôn mặt đa cấp xám I có
kích thƣớc r x c, chúng ta có thể nói rằng mỗi ảnh khuôn mặt đó là một lƣới
các điểm ảnh với r hàng và c cột. Tổng số điểm ảnh của mỗi bức ảnh sẽ là
N = rc. Ảnh I đơn giản là một ma trận với mỗi thành phần là một giá trị 8
bit đƣợc biểu diễn thông qua từng điểm ảnh riêng biệt.
Bây giờ bức ảnh đang xét đƣợc coi nhƣ một vector với độ dài N hay
nói cách khác là một điểm trong không gian N chiều. Xét một ví dụ với
một ảnh đa cấp xám có kích thƣớc 128 x 128, ảnh này sẽ là một điểm trong
không gian 16384 chiều. Một cách trực quan ta thấy rằng, khi kích thƣớc
của ảnh tăng lên, thì giá trị N, số chiều của không gian ảnh cũng tăng theo.
25
Vì những ảnh khuôn mặt là tƣơng tự nhau nên những điểm biểu diễn ảnh
khuôn mặt trong không gian ảnh sẽ không bị phân tán ngẫu nhiên trong
không gian rộng mà sẽ hội tụ trong một vùng nhỏ của không gian ảnh. Có
thể hiểu một cách hình thức nhƣ sau:
Hình 2.6: Mô tả hình thức không gian các ảnh khuôn mặt trong
không gian ảnh
Từ tập dữ liệu là một tập ảnh của một vài ngƣời, ta biểu diễn là một
vector N chiều với M là tổng số vector.
Tiếp theo ta tính khuôn mặt trung bình của tập dữ liệu:
Tiếp theo ta trừ mỗi ảnh khuôn mặt trong tập dữ liệu cho ảnh trung
bình:
Tiếp theo ta tính ma trận hiệp phƣơng sai:
26