1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

1 Sử dụng kỹ thuật PCA

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



Xem Thêm
Tải bản đầy đủ (.pdf) (67 trang)

×