0
Tải bản đầy đủ (.docx) (68 trang)

GIỚI THIỆU VỀ THUẬT TOÁN PCA

Một phần của tài liệu HD2_17KS_DA_DUONGTRUNGLUONG (Trang 25 -25 )

1.2.1. Giới thiệu

Phương pháp này được phát minh năm 1901 và hiện nay nó được sử dụng như công cụ để phân tích dữ liệu nghiên cứu và thực hiện các mô hình dự đoán. PCA còn bao gồm cả việc tính toán phân tích các giá trị đặc trưng của một ma trận tuơng quan dữ liệu hay phân tính các giá trị đơn của ma trận dữ liệu thường sau khi tính trung bình dữ liệu của mỗi thuộc tính.

PCA là phương pháp đơn giản nhất phân tích đa biến dựa trên các vector đặc trưng. Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu trúc bên trong của dữ liệu [4]. Nếu một tập dữ liệu đa biến được xem xét như tập các tọa độ trong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn một biến) thì phương pháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái bóng của vật thể khi quan sát từ chính những đặc trưng cơ bản nhất của vật thể đó.

1.2.2. Đặc trưng PCA

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 tìm được thành phần nào là quan trọng. Hoặc trong trườ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 đi một lượng thông tin lớn.

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ột camera đặ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 ảnh nhì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.

Tì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.

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:

(1.2) Từ đây ta cũng suy ra:

Mục đích của PCA là đi tìm ma trận trực giao U sao cho phần lớn thông tin được giữ lại ở phần màu xanh UKZ và phần màu đỏ sẽ được lược bỏ và thay bằng một ma trận không phụ thuộc vào từng điểm dữ liệu. Nói cách khác, ta sẽ xấp xỉ Y bởi một ma trận có toàn bộ các cột là như nhau. Chú ý rằng các cột này có thể phụ thuộc vào dữ liệu training nhưng không phụ thuộc vào dữ liệu test, các bạn sẽ thấy rõ hơn khi lập trình mà tôi sẽ trình bày trong bài tiếp theo. Gọi mỗi cột đó là b và có thể coi nó là bi, khi đó, ta sẽ xấp xỉ:

Y≈b1T (1.4)

Trong đó 1T∈R1×N là vector hàng có toàn bộ các phần tử bằng 1. Giả sử đã tìm được U, ta cần tìm b thoả mãn:

(1.5)

Giải phương trình đạo hàm theo b của hàm mục tiêu bằng 0: (1.6)

Như vậy, việc tính toán sẽ thuận tiện hơn nhiều nếu vector kỳ vọng =0. Việc này có thể đạt được nếu ngay từ đầu, chúng ta trừ mỗi vector dữ liệu đi vector kỳ vọng của toàn bộ dữ liệu. Đây chính là các bước đầu tiên của PCA.

Với giá trị b tìm được này, dữ liệu ban đầu sẽ được xấp xỉ với: (1.7)

Chú ý rằng, nếu các cột của một ma trận V tạo thành một hệ trực chuẩn thì với một ma trận W bất kỳ, ta luôn có:

(1.9)

Vì vậy hàm mất mát trong (1.8) có thể viết lại thành: (1.10)

(1.11)

Với là dữ liệu đã chuẩn hoá và với SS là ma trận hiệp phương sai của dữ liệu. Ta gọi ma trận này là zero-corrected data hoặc dữ liệu đã được chuẩn hoá. Có thể nhận thấy

Công việc còn lại là tìm các ui để mất mát là nhỏ nhất. Trước hết, chúng ta có một nhận xét thú vị. Nhắc lại định nghĩa ma trận hiệp phương sai Với ma trận U trực giao bất kỳ, thay K=0 vào (1.12) ta có:

(1.13) (1.14)

Với λ1≥λ2≥⋯≥λD≥0 là các trị riêng của ma trận nửa xác định dương S. Chú ý rằng các trị riêng này là thực và không âm.

Như vậy L không phụ thuộc vào cách chọn ma trận trực giao U và bằng tổng các phần tử trên đường chéo của S. Nói cách khác, L chính là tổng của các phương sai theo từng thành phần của dữ liệu ban đầu.

Vì vậy, việc tối thiểu hàm mất mát J được tương đương với việc tối đa: (1.17)

phương sai S. Trị riêng lớn nhất λ1 của ma trận này còn được gọi là Thành phần chính thứ nhất (First Principal Component), trị riêng thứ hai λ2 còn được gọi là Thành phần chính thứ hai, etc. Chính vì vậy, phương pháp này có tên gọi là Phân tích thành phần chính - Principal Component Analysis. Ta chỉ giữ lại K thành phần chính của dữ liệu khi muốn giảm số chiều dữ liệu.

PCA có thể được coi là phương pháp đi tìm một hệ cơ sở trực chuẩn đóng vai trò một phép xoay, sao cho trong hệ cơ sở mới này, phương sai theo một số chiều nào đó là rất nhỏ và ta có thể bỏ qua.

Trong không gian ban đầu với các vector cơ sở màu đen e1,e2, phương sai theo mỗi chiều dữ liệu đều lớn. Trong không gian mới với các vector cơ sở màu đỏ u1,u2, phương sai theo chiều thứ hai rất nhỏ so với . Điều này nghĩa là khi chiếu dữ liệu lên u2 ta được các điểm rất gần nhau và gần với kỳ vọng theo chiều đó. Trong trường hợp này, kỳ vọng theo mọi chiều bằng 0 nên ta có thể thay thế toạ độ theo chiều u2 bằng 0. Rõ ràng là nếu dữ liệu có phương sai càng nhỏ theo một chiều nào đó thì khi xấp xỉ chiều đó bằng một hằng số, sai số xảy ra càng nhỏ.

chứng minh ở trên, tổng phương sai theo mọi chiều trong hệ cơ sở nào cũng là như nhau và bằng tổng các trị riêng của ma trận hiệp phương sai.

Vì vậy, PCA còn được coi là phương pháp giảm số chiều dữ liệu mà giữ được tổng phương sai còn lại là lớn nhất.

1.2.3. Một số kỹ thuật cơ bản trong nhận dạng

Chuyển ảnh màu thành ảnh xám [6]:

 Là một hệ thống màu có mô hình màu đơn giản nhất với 256 cấp độ xám biến thiên từ màu đen đến màu trắng.

 Ảnh được xuất ra sẽ có màu trắng đen.

 Được sử dụng cả trong công nghiệp in lẫn dùng trong việc thể hiện ảnh lên các thiết bị số.

 Ảnh xám (Gray image) hay còn gọi là ảnh đơn sắc (Monochromatic), mỗi giá trị điểm ảnh (Pixel) trong ma trận điểm ảnh mang giá trị từ 0 đến 255.

 Một bức ảnh mà tập hợp của một ma trận điểm ảnh(Pixel). Mỗi điểm ảnh có thể được biểu diễn bằng n bytes dưới các kênh màu khác nhau. Việc chuyển đổi giữa các hệ màu thông thường được thực hiện thông qua các phép biến đổi ma trận.

Hình 1.6: Ảnh chuyển đổi từ ảnh RGB sang GRAY.

Các bộ lọc không gian. Tách biên đối tượng.

1.2.4. Các bước thực hiện PCA.

Từ các suy luận phía trên, ta có thể tóm tắt lại các bước trong PCA như sau [5]:

 Tính vector kỳ vọng của toàn bộ dữ liệu: (1.18)

 Trừ mỗi điểm dữ liệu đi vector kỳ vọng của toàn bộ dữ liệu: (1.19)

 Tính ma trận hiệp phương sai:

trận UK có các cột tạo thành một hệ trực giao. K vectors này, còn được gọi là các thành phần chính, tạo thành một không gian con gần với phân bố của dữ liệu ban đầu đã chuẩn hoá.

 Chiếu dữ liệu ban đầu đã chuẩn hoá xuống không gian con tìm được.

 Dữ liệu mới chính là toạ độ của các điểm dữ liệu trên không gian mới.

(1.21)

Dữ liệu ban đầu có thể tính được xấp xỉ theo dữ liệu mới như sau: (1.22)

Các bước thực hiện PCA có thể được xem trong Hình dưới đây:

1.2.5. Lưu ý về tính PCA trong các bài toán thực tế.

Có hai trường hợp mà chúng ta cần lưu ý về PCA:

 Trường hợp thứ nhất là lượng dữ liệu có được nhỏ hơn rất nhiều so với số chiều dữ liệu.

 Trường hợp thứ hai là khi lượng dữ liệu trong tập training là rất lớn, có thể lên tới cả triệu. Việc tính toán ma trận hiệp phương sai và trị riêng đôi khi trở nên bất khả thi. Có những hướng giải quyết hiệu quả cho các trường hợp này.

Trong mục này, ta sẽ coi như dữ liệu đã được chuẩn hoá, tức đã được trừ đi vector kỳ vọng. Khi đó, ma trận hiệp phương sai sẽ là

Số chiều dữ liệu nhiều hơn số điểm dữ liệu [5]:

Đó là trường hợp D>N, tức ma trận dữ liệu X là một ‘ma trận cao’. Số trị riêng khác không của ma trận hiệp phương sai S sẽ không vượt quá rank N. Vậy ta cần chọn K<N vì không thể chọn ra được N trị riêng khác 0 của một ma trận có rank bằng N.

Việc tính toán các trị riêng và vector riêng cũng có thể được thực hiện một cách hiệu quả dựa trên các tính chất sau đây:

Tính chất 1: Trị riêng của A cũng là trị riêng của kA với k≠0 bất kỳ. Điều

này có thể được suy ra trực tiếp từ định nghĩa của trị riêng và vector riêng.

Tính chât 2: Trị riêng của AB cũng là trị riêng của BA với A∈Rd 1×d2, B∈Rd

2×d1là các ma trận bất kỳ và d1, d2 là các số tự nhiên khác không bất kỳ. Như vậy, thay vì tìm trị riêng của ma trận hiệp phương sai S∈RD×D, ta đi tìm trị riêng của ma trận T=XTX∈RN×N có số chiều nhỏ hơn (vì N<D).

Tính chất 3: Giả sử (λ,u) là một cặp trị riêng - vector riêng của T, thế thì (λ,Xu) là một cặp trị riêng - vector riêng của S.Thật vậy:

trận hiệp phương sai dựa trên một ma trận nhỏ hơn.  Chuẩn hoá các vector riêng [5]:

Nhắc lại định nghĩa không gian riêng: Không gian riêng ứng với trị riêng của một ma trận là không gian sinh tạo bởi toàn bộ các vector riêng ứng với trị riêng đó.

Việc cuối cùng phải làm là chuẩn hoá các vector riêng tìm được sao cho chúng tạo thành một hệ trực chuẩn. Việc này có thể dựa trên hai điểm sau đây:

Thứ nhất, nếu A là một ma trận đối xứng, (λ1,x1),(λ2,x2) là các căp trị riêng - vector riêng của A với λ1≠λ2, thế thì . Nói cách khác, hai vector bất kỳ trong hai không gian riêng khác nhau của một ma trận đối xứng thì trực giao với nhau. Chứng minh cho tính chất này có thể được thấy trong một dòng dưới đây:

Dấu bằng cuối cùng xảy ra vì λ1≠λ2.

Thứ hai, với các trị riêng độc lập tìm được trong một không gian riêng, ta có thể dùng Gram-Schmit process để chuẩn hoá chúng về một hệ trực chuẩn.

Kết hợp hai điểm trên, ta có thể thu được các vector riêng tạo thành một hệ trực chuẩn, chính là ma trận UK trong PCA.

Với các bài toán large-scale [5]:

Trong rất nhiều bài toán, cả D và N đều là các số rất lớn, đồng nghĩa với việc ta phải tìm trị riêng cho một ma trận rất lớn. Ví dụ, có 1 triệu bức ảnh 1000 × 1000 pixel, như vậy D=N=106 là một số rất lớn, việc trực tiếp tính toán trị riêng và vector riêng cho ma trận hiệp phương sai là không khả thi. Tuy nhiên, có một phương pháp cho phép tính xấp xỉ các giá trị này một cách nhanh hơn. Phương pháp đó có tên là Power Method.

Phương pháp Power tìm trị riêng và vector riêng của một ma trận nửa xác định dương A∈Rn×n:  Chọn một vector q(0)∈Rn,||q(0)||2=1 bất kỳ.  Với k=1,2,…, tính: z=Aq(k−1).  Chuẩn hoá: q(k)=z/||z||2.  Nếu ||q(k)−q(k−1)||2 đủ nhỏ thì dừng lại.  Nếu không, k:=k+1 rồi quay lại Bước 2.

 q(k) chính là vector riêng ứng với trị riêng lớn nhất λ1=(q(k))TAq(k).

Quy trình này hội tụ khá nhanh và đã được chứng minh tại đây. Phần chứng minh tương đối đơn giản và không mang lại nhiều thông tin hữu ích, tôi xin được bỏ qua.

Để tìm vector riêng và trị riêng thứ hai của ma trận A, chúng ta dựa trên định lý sau:

Định lý: Nếu ma trận nửa xác định dương A có các trị riêng λ1≥λ2≥⋯ ≥λn(≥0) và các vector riêng tương ứng v1,…,vn, hơn nữa các vector riêng này tạo thành 1 hệ trực chuẩn, thì ma trận: có các trị riêng λ2≥λ3≥⋯≥λn≥0 và các vector riêng tương ứng là v1,v2,v3,…,vn,.

Chứng minh: Với i=1:

(1.24) Với i>1:

(1.25)

riêng tương ứng của ma trận hiệp phương sai. Cũng xin lưu ý rằng ta chỉ cần tìm tới trị riêng thứ K của ma trận hiệp phương sai. Cách làm này trên thực tế được sử dụng rất nhiều.

Phương pháp Power còn là thuật toán cơ bản trong Google PageRank giúp sắp xếp các website theo mức độ phổ biến giảm dần. PageRank chính là nền móng của Google; ngày nay, việc tìm kiếm trong Google sử dụng nhiều thuật toán nâng cao hơn PageRank. Tôi sẽ có một bài riêng về Google PageRank sau khi nói về Chuỗi Markov và Mô hình Markov ẩn.

1.3. Khái quát về nhận dạng mặt người

1.3.1. Phân tích các đặc tính sinh trắc học của người [7].

Đặc tính sinh trắc của người là đặc tính đo được các nét hành vi riêng của con người, là những nét riêng. Nhận diện người được thực hiện trong quá trình kiểm tra tính đồng nhất của đặc tính sinh trắc giữa người cần kiểm tra với đặc tính tương tự của người đã được lưu sẵn trong cơ sở dữ liệu ảnh. Có thể nhận diện người dựa trên các đặc điểm sinh trắc tĩnh trên người như khuôn vân tay, bàn tay, mặt, mắt, gen…hay các đặc trưng hành vi như giọng nói, dáng đi, chữ viết …

Dữ liệu sinh trắc lý tưởng của người cần phải có những đặc tính cơ bản như:

 Tính tổng quát: Mỗi người đều được thể hiện bởi đặc tính này.  Tính duy nhất: Không thể tồn tại hai người có đặc tính giống nhau.  Tính thường xuyên: Là sự độc lập của đặc tính đối với thời gian.  Tính thu thập được: Là đặc tính được thu thập một cách tương đối

đơn giản và nhanh chóng từ mỗi cá nhân và có thể được chi tiết hóa.

Hình 1.8: Các nguồn gốc đặc tính sinh trắc của người.

1.3.2. Hệ thống nhận dạng tổng quát.

Nhiệm vụ của hệ thống nhận dạng mặt người là xử lý tự động thông tin từ các ảnh để tìm ra độ tương tự giữa các khuôn mặt và đưa ra quyết định về tính đồng nhất giữa chúng. Câu trúc của hệ thống nhận dạng mặt người được thể hiện như hình sau:

 Tiền xử lý (PP): Chức năng này để chuẩn hóa ảnh cần tìm giúp cho việc tìm kiếm được hiệu quả hơn. Các công việc trong bước tiền xử lý có thể là: Chuẩn hóa kích cỡ giữa ảnh trong cơ sở dữ liệu và ảnh

Một phần của tài liệu HD2_17KS_DA_DUONGTRUNGLUONG (Trang 25 -25 )

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×