Tải bản đầy đủ (.pdf) (65 trang)

Nghiên cứu phương pháp nhận dạng ảnh mặt người và ứng dụng

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.94 MB, 65 trang )


Số hóa bởi Trung tâm Học liệu

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




ĐỖ DUY CỐP




NGHIÊN CỨU PHƢƠNG PHÁP
NHẬN DẠNG ẢNH MẶT NGƢỜI VÀ ỨNG DỤNG




LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH














Thái Nguyên – 2014

Số hóa bởi Trung tâm Học liệu


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




ĐỖ DUY CỐP



NGHIÊN CỨU PHƢƠNG PHÁP
NHẬN DẠNG ẢNH MẶT NGƢỜI VÀ ỨNG DỤNG
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. Vũ Việt Vũ








Thái Nguyên - 2014
i


Số hóa bởi Trung tâm Học liệu

MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC TỪ VIẾT TẮT ii
DANH MỤC CÁC BẢNG ii
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ iii
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
CHƢƠNG 1 TỔNG QUAN VỀ NHẬN DẠNG ẢNH MẶT NGƢỜI 3
1.1 Tổng quan về nhận dạng ảnh mặt ngƣời 3
1.2 Các hƣớng tiếp cận trong nhận dạng mặt ngƣời 4
1.2.1 Phƣơng pháp trích chọn đặc trƣng sử dụng mặt riêng (Eigenface) 4
1.2.2 Phƣơng pháp trích chọn đặc trƣng sử dụng mô hình Markov ẩn 5
1.2.3 Phƣơng pháp phân tích thành phần chính 5
1.3 Bố cục luận văn 6
CHƢƠNG 2 TRÍCH CHỌN ĐẶC TRƢNG 7
2.1 Phƣơng pháp phân tích thành phần chính - PCA 7
2.1.1 Cơ sở toán học 8
2.1.2 Phƣơng pháp PCA 17
2.2 Phƣơng pháp phân tách tuyến tính - LDA 24

2.3 Phƣơng pháp xử lý hình thái 27
2.3.1 Biến đổi trúng-trƣợt (hit-or-miss) 29
2.3.2 Phép dãn ảnh và co ảnh tổng quát 33
2.3.3 Dãn và co ảnh đa mức xám 40
CHƢƠNG 3 MẠNG NƠRON 42
3.1 Giới thiệu mạng nơron 42
3.1.1 Nơron – đơn vị xử lý cơ bản 42
3.1.2. Liên kết giữa các nơron 43
3.1.3. Hàm kích hoạt và các quy tắc xác định tín hiệu ra 44
3.1.4 Quy tắc delta 45
3.2 Thuật toán học lan truyền ngƣợc 46
ii


Số hóa bởi Trung tâm Học liệu

CHƢƠNG 4 THIẾT KẾ VÀ ĐÁNH GIÁ 52
4.1 Thiết kế hệ thống 52
4.1.1 Cơ sở dữ liệu ảnh 52
4.1.2 Môi trƣờng cài đặt 53
4.1.3 Cài đặt 53
4.2 Kiểm thử và đánh giá 56
KẾT LUẬN 58
HƢỚNG PHÁT TRIỂN 59
TÀI LIỆU THAM KHẢO 60

DANH MỤC CÁC TỪ VIẾT TẮT
LDA (Linear Discriminant Analysis): Phƣơng pháp phân tách tuyến tính
LMS (Least Mean Square): Phƣơng pháp bình phƣơng trung bình tối
thiểu

ORL (Olivetti Research Laboratory, Surrey University): Cơ sở dữ liệu
ảnh dùng trong luận văn
PCA(Principal Components Analysis): Phƣơng pháp phân tích thành phần
chính
DANH MỤC CÁC BẢNG
Bảng 2.1. Tính toán độ lệch chuẩn 10
Bảng 2.2. Tập dữ liệu hai chiều và tính toán hiệp phương sai 12
Bảng 4.1. Các module chính của chương trình 53



iii


Số hóa bởi Trung tâm Học liệu

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1. Ví dụ minh họa PCA 8
Hình 2.2. Dữ liệu và đồ thị biểu diễn dữ liệu 18
Hình 2.3. Đồ thị biểu diễn dữ liệu đã chuẩn hóa với các vector riêng 20
Hình 2.4. Ảnh gốc trong cơ sở dữ liệu ORL 23
Hình 2.5. Ảnh sau khi biến đổi theo PCA 23
Hình 2.6. Ví dụ minh họa LDA 24
Hình 2.7. Ảnh sau khi biến đổi theo LDA 27
Hình 2.8. Sự liên thông 28
Hình 2.9. Phép dãn ảnh nhị phân 31
Hình 2.10. Phép co ảnh nhị phân 32
Hình 2.11. Các toán tử đại số ảnh trên các mảng nhị phân 34
Hình 2.12. Lật và dịch một mảng nhị phân 34
Hình 2.13. Phép dãn ảnh tổng quát dựa theo phép cộng Minkowski 37

Hình 2.14. So sánh các kết quả của hai phép co ảnh 39
Hình 2.15. Phép dãn ảnh và co ảnh tổng quát với phần tử cấu trúc 5

5 40
Hình 2.16. Ảnh sau khi xử lý hình thái 41
Hình 3.1. Các thành phần cơ bản của mạng nơron nhân tạo 43
Hình 3.2. Một số dạng hàm kích hoạt của nơron 44
Hình 3.3. Mạng nơron l lớp 47
Hình 4.1. Ảnh gốc trong bộ ảnh ORL 52
Hình 4.2. Ảnh gốc được bổ sung ảnh gương 54
Hình 4.3. Giao diện chính của chương trình 56



1


Số hóa bởi Trung tâm Học liệu

LỜI CẢM ƠN
Lời đầu tiên tôi xin bày tỏ lòng biết ơn sâu sắc tới TS. Vũ Việt Vũ, công
tác tại trƣờng Đại học Kỹ thuật Công nghiệp - Đại học Thái Nguyên, ngƣời đã
tận tình hƣớng dẫn và giúp tôi hoàn thành luận văn tốt nghiệp này.
Tôicũng xin gửi lời cảm ơn chân thành đến các thầy cô giáo của trƣờng
Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên, cùng
các thầy cô giáo của Viện Công nghệ thông tin - Viện khoa học Việt Nam đã
nhiệt tình giảng dạy, truyền đạt kiến thức cho tôi trong suốt 2 năm học qua.
Tôi xin cảmơn sự động viên và giúp đỡ của tất cả những ngƣời thân trong
gia đình, của các bạn bè, đồng nghiệp trong quá trìnhthực hiện luận văn này.
Thái Nguyên, ngày 20 tháng 05 năm 2014

Học viên


Đỗ Duy Cốp

2


Số hóa bởi Trung tâm Học liệu

LỜI CAM ĐOAN
Tôi là: Đỗ Duy Cốp
Lớp: CK11A
Khoá học: 2012 - 2014
Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 60 48 01
Cơ sở đào tạo: Trƣờng Đại học Công nghệ thông tin và Truyền thông Thái
Nguyên.
Giáo viên hƣớng dẫn: TS. Vũ Việt Vũ
Cơ quan công tác: Trƣờng Đại học Kỹ thuật Công nghiệp - Đại học Thái
Nguyên
Tôi xin cam đoan luận văn “Nghiên cứu phương pháp nhận dạng ảnh
mặt người và ứng dụng” này là công trình nghiên cứu của riêng tôi. Các số
liệu sử dụng trong luận văn là trung thực. Các kết quả nghiên cứu đƣợc trình
bày trong luận văn chƣa từng đƣợc công bố tại bất kỳ công trình nào khác.
Thái Nguyên, ngày 20 tháng 05 năm 2014
Học viên


Đỗ Duy Cốp



3


Số hóa bởi Trung tâm Học liệu

CHƢƠNG 1. TỔNG QUAN VỀ NHẬN DẠNG ẢNH MẶT NGƢỜI
1.1 Tổng quan về nhận dạng ảnh mặt ngƣời
Xử lý ảnh là một lĩnh vực đƣợc quan tâm rất nhiều trong khoảng 10 năm
trở lại đây. Bài toán nhận dạng ảnh nhằm mục đích phát hiện và nhận dạng
đối tƣợng trong ảnh. Bài toán nhận dạng ảnh đƣợc ứng dụng trong nhiều lĩnh
vực, đặc biệt là nhận dạng mặt ngƣời đã đƣợc ứng dụng trong các hệ thống
bảo mật, nhận dạng ngƣời trên các bằng lái xe, hộ chiếu, nhận dạng ngƣời
trong các hệ thống tƣơng tác ngƣời-máy, trong lĩnh vực giải trí,…
Đặc biệt sau thảm họa ngày 11/9, các chính phủ trên toàn thế giới đã bắt
đầu chú ý hơn tới các mức an ninh ở sân bay và biên giới. Ngân sách hằng
năm của các nƣớc đã tăng lên nhiều cho các kỹ thuật hiện đại để xác định,
nhận dạng và lần theo các đối tƣợng nghi vấn. Nhu cầu tăng lên trong các ứng
dụng này đã giúp các nhà khoa học có thêm quỹ để phát triển các dự án
nghiên cứu. Mặc dù việc nhận dạng mặt ngƣời không thể chính xác đƣợc nhƣ
các phƣơng pháp nhận dạng khác nhƣ nhận dạng vân tay, nhƣng nó vẫn nhận
đƣợc sự quan tâm lớn của các nhà nghiên cứu trong lĩnh vực thị giác máy. Lý
do chủ yếu là trên thực tế, mặt ngƣời vẫn là cách truyền thống để con ngƣời
nhận ra nhau.
Một hệ thống nhận dạng mặt ngƣời điển hình bao gồm các thành phần
chính nhƣ hình1.1.
Hình 1.1. Mô hình hệ thống nhận dạng mặt người

Ảnh

mặt
ngƣời
Trích chọn
đặc trƣng
Nhận dạng
mặt ngƣời
Thông tin
ngƣời đƣợc
nhận dạng
4


Số hóa bởi Trung tâm Học liệu

1.2 Các hƣớng tiếp cận trong nhận dạng mặt ngƣời
Có hai hƣớng tiếp cận chính làm hạt nhân của các kỹ thuật phân tích đặc
trƣng mặt ngƣời: hƣớng tiếp cận hình học và hƣớng tiếp cận hình ảnh.
 Hướng tiếp cận hình học sử dụng việc ánh xạ không gian các đặc
trƣng mặt ngƣời. Mặt ngƣời đƣợc phân loại theo khoảng cách hình
học, theo đƣờng bao và theo các góc giữa các điểm.
 Hướng tiếp cận hình ảnh bao gồm việc xây dựng các mẫu từ những
đặc trƣng mặt ngƣời. Mẫucủa các đặc trƣng nổi bật, hoặc thậm chí
là toàn khuôn mặt đƣợc thiết lập, việc nhận dạng đƣợc thực
hiệnbằng cách duyệt các khuôn mặt rồi tìm mặt nào khớp nhất với
mẫu.
Hiện nay các hệ thống nhận dạng mặt ngƣời vẫn đang tiếp tục đƣợc phát
triển. Dƣới đây là một số phƣơng pháp trích chọn đặc trƣng:
- Mặt riêng (Eigenface)
- Mô hình Markov ẩn
- Phân tích thành phầnchính(PCA)

1.2.1 Phƣơng pháp trích chọn đặc trƣng sử dụng mặt riêng (Eigenface)
Thuật toán Eigenface rất phổ biến và đƣợc sử dụng rộng rãi do sựđơn giản
và hiệu quả tính toán. Thuật toán sử dụng cáchtiếp cận lý thuyết thông tin
trong việc mã hóa các ảnh mặt ngƣời và xác địnhcác vector riêng tƣơng ứng
với giá trị riêng lớnnhất của ma trận hiệp phƣơng sai của ảnh. Sau đó, đối với
mỗi nhómảnh của một ngƣời, ta tính vector trung bình, một ngƣỡng sẽ đƣợc
chọnđể xác định khoảng cách chấp nhận đƣợc cựcđạitừ một ảnh đến
nhómảnhgiúp nhận dạng những ảnh mới.
5


Số hóa bởi Trung tâm Học liệu

1.2.2 Phƣơng pháp trích chọn đặc trƣng sử dụng mô hình Markov ẩn
Mô hình Markov ẩn phân loại một đặc trƣng mặt ngƣời bằng tính chất của
chuỗi Markov. Một dãy ngẫu nhiên các biến lấy trên các giá trị điểmảnh
tƣơng ứng tạo nên chuỗi Markov, nếu xác suất để hệ thống đạt trạng thái x
n+1

tại thời điểm n+1 chỉ phụ thuộc vào xác suất để hệ thống đạt trạng thái x
n
tại
thời điểm n. Trong một chuỗi Markov, việc chuyển hệ thống từ trạng thái này
sang trạng thái khác tƣơng ứng với một xác suất nàođó, nhƣng kết quả của
một ký hiệu ra lại xác định đƣợc trƣớc. Nhƣ vậy, kết quả là một phân bố xác
suất của tất cả các ký hiệu ra tại mỗi trạng thái và kết quả này đƣợc dùngđể so
sánh giữa hai khuôn mặt.
1.2.3 Phƣơng pháp phân tích thành phần chính
Trong phương pháp phân tích thành phần chính(PCA  còn gọi là biến
đổi Karhunen-Loeve), tập dữ liệu đƣợc biểu diễn lại với số đặc trƣngít hơn

đồng thời giữ đƣợc hầu hết các thông tin quan trọng nhất của dữ liệu. PCA
thƣờngđƣợc sử dụng cùng phƣơng pháp mặt riêng. Tập con các vector riêng
đƣợc dùng làm các vector cơ sở của một không gian con, trong đó ta có thể so
sánh vớicác ảnh trong cơ sở dữ liệuđểnhận dạng các ảnh mới. Các vector cơ
sở này còn đƣợc gọi là các thành phần chínhcủa cơ sở dữ liệu ảnh.
Mạng nơron đƣợc sử dụng rộng rãi trong các hệ thống nhận dạng mặt
ngƣời. Kỹ thuật mạng nơron mô phỏnghoạt động của các nơron trong bộnão
ngƣời. Mạng nơron có khả năng điều chỉnh các trọng số dựa trên các mẫu
họctrong quá trình huấn luyện. Kết quả là mạng đạt đƣợc hiệu quả cao trong
việc phân loại các lớp, dựa trên dữ liệu mẫu khả tách tuyến tính hoặc phi
tuyến.
6


Số hóa bởi Trung tâm Học liệu


1.3Bố cục luận văn
Mặc dù các hệ thống nhận dạng mặt ngƣời hiện tạiđã đạt đƣợc hiệu quả
khá cao, tuy nhiên chúngvẫn còn hạn chế là chỉ tập trung vào một hay một vài
phƣơng pháp trích chọn đặc trƣng. Có hệ thống chỉ thực hiện nhận dạng dựa
trên các đặcđiểm về hình học của mặt ngƣời hoặc có hệ thống chỉ dựa trên các
đặcđiểm thống kê.
Trong luận văn này, việc trích chọn đặc trƣng sẽ đƣợc thực hiệndựa trên
những đặcđiểm thống kê của khuôn mặt (cụ thể là phƣơng pháp phân tích
thành phầnchính– PCA và phƣơng pháp phân tách tuyến tính – LDA) và
những đặcđiểm về hình thái của khuôn mặt. Chƣơng 2 trình bàychi tiết về các
phƣơng pháp trích chọn đặc trƣng đƣợc lựa chọn để xây dựng chƣơng trình.
Chƣơng 3 trình bày về mạng noron với thuật toán họclan truyền ngƣợc lỗi,
đƣợc dùng để phân loạiảnh. Chƣơng 4 trình bày cụ thểviệc thiết kế hệ thống

và đánh giáhiệu quả thực hiện. Cuối cùng làphầnkết luận.
7


Số hóa bởi Trung tâm Học liệu

CHƢƠNG 2. TRÍCH CHỌN ĐẶC TRƢNG
Chương này sẽ trình bày về các phương pháp trích chọn đặc trưng được
sử dụng trong luận văn. Mục đích thứ nhất của việc trích chọn đặc trưng là
giảm số chiều của dữ liệu. Dữ liệu ảnh mặt người có số điểm ảnh lớn (cỡ vài
nghìn đến vài chục nghìn điểm ảnh), do đócần có một phép biến đổi để giảm
lượng thông tin sử dụng để biểu diễn,đồng thời không làm mất quá nhiều
thông tin quan trọng. Mục đích thứ hai của việc trích chọn đặc trưng là giúp
phân biệt tốt hơn đối với các mẫu dữ liệu. Các ảnh mặt người sẽ được biểu
diễn trong một không gian mới sao cho có thể làm nổi bật được sự khác biệt
giữa các ảnh với nhau.Các phần sau sẽ trình bày về phương pháp phân tích
thành phần chính, phương pháp phân tách tuyến tính và phương pháp xử lý
hình thái ảnh mặt người.
2.1 Phƣơng pháp phân tích thành phầnchính - PCA
Phƣơng pháp phân tích thành phầnchính [4](PCA – Principal Components
Analysis) là một kỹ thuật thống kê hữu ích trong các ứng dụng nhận dạng mặt
ngƣời và nénảnh, đồng thờiđây cũng là một kỹ thuật phổ biến cho việc tìm
kiếmcác mẫutrong không gian dữ liệu có số chiều lớn.
Mụcđích của phƣơng pháp phân tích này có thể diễnđạt ngắn gọn nhƣ
sau:Ảnh gốc có kích thƣớc 112×92 (10304 điểmảnh).Nhữngảnh này
cầnđƣợcrút gọn sao cho lƣợng thông tin dùng để biểu diễnảnhđó giảmđi,đồng
thờikhông làm mất những đặcđiểm quan trọng nhất của khuôn mặt. Kết
quảcủa việc phân tích này sẽđạt đƣợcnhƣ hình 2.1.
8



Số hóa bởi Trung tâm Học liệu


Hình 2.1. Ví dụ minh họa PCA
Ảnh gốc cần 10304 giá trị để biểu diễn trong khi ảnh biến đổi chỉ cần49
giá trị.
2.1.1 Cơ sở toán học
a. Lý thuyết thống kê
Các nhà thống kê thƣờng quan tâm đến việc lấy mẫutrên một tập dữ liệu.
Ví dụ vềcuộc bầu cử, tập dữ liệu là toàn bộ dân số trong một đất nƣớc, trong
khi đó mẫu là một tập con của dân số nhà thống kê muốn đánh giá. Một vấn
đề lớn của thống kê học là thông qua phƣơng pháp đánh giá một mẫu của dân
số, kết quả thống kê cho phép đánh giá đƣợc xu hƣớng chính của toàn bộdân
số.
Xét một tập ví dụ X = [1 2 4 6 12 15 25 45 68 67 65 98]. Chỉ số dƣới của
ký hiệuX đƣợc dùng để trỏ tới một số cụ thể trong tập. Ví dụ X
3
trỏ tới số thứ
ba trong Xvới giá trị là 4. Lƣu ý rằng X
1
là số đầu tiên trong X. Ngoài ra ký
hiệu ncòn đƣợc sử dụngđể chỉ tổng số các phần tử trong tập X.
Giá trị trung bình của mẫu là:

9


Số hóa bởi Trung tâm Học liệu


Giá trị trung bình không thể hiệnđƣợcnhiều về dữ liệu ngoại trừ điểm
trung bình. Ví dụ, hai tập sau có cùng một giá trị trung bình là 10, nhƣng
chúng hoàn toànkhác nhau:
[0 8 12 20] và [8 9 11 12]
Sự khác nhau đó là sự trải rộng của dữ liệu. Độ lệch chuẩncủa tập dữ liệu
sẽ đánh giá đƣợc sự trải rộng của dữ liệu.Độ lệch chuẩnkí hiệu là s trong công
thức (2.2) làkhoảng cách trung bình từ điểm trung bình của dữ liệu đến các
điểm. Công thức tínhnhƣ sau:

Câu hỏi đặt ra: “Vì sao lại sử dụng giá trị (n

1) mà không phải là n?”
Nguyên nhân là, nếu mẫu của tập dữ liệu đƣợc lấy là tập con của thế giới thực
thì phải sử dụng (n

1) vì giá trị nhận đƣợc gần với độ lệch chuẩn hơn so với
sử dụngn. Tuy nhiên, nếu tính độ lệch chuẩncho toàn bộ dân số, giá trị cần
dùng làn chứ không phải (n

1).
Với hai tập dữ liệu trên, việc tính độ lệch chuẩnđƣợc thực hiện nhƣ bảng
2.1. Tập thứ nhất có độ lệch chuẩnlớn hơn do dữ liệu trải ra xa hơn so
vớiđiểm trung bình. Một ví dụ khác, tập [10 10 10 10] cũng có điểm trung
bình là 10, nhƣng độ lệch chuẩnlại bằng 0, bởi vì tất cả các số là giống nhau.
Không số nào chệch ra khỏi điểm trung bình.
Phƣơng sailà một hàm đo khác về sự trải rộng của dữ liệu trong một tập.
Thực tế nó gầnnhƣ giống hoàn toànvới độ lệch chuẩn:
10



Số hóa bởi Trung tâm Học liệu


Bảng 2.1. Ví dụ về tính độ lệch chuẩn
Tập 1:
X
i



0
8
12
20
10
2
2
10
100
4
4
100
Tổng
208
Chia cho (n-1)
69.333
Khai căn
8.3266
Tập 2:
X

i



8
9
11
12
2
1
1
2
4
1
1
4
Tổng
10
Chia cho (n-1)
3.333
Khai căn
1.8257
11


Số hóa bởi Trung tâm Học liệu

Nhƣ vậy đây chỉ là bình phƣơng của độ lệch chuẩn. s
2
là ký hiệu thƣờng

dùng cho phƣơng sai của một mẫu. Cả hai phƣơng pháp này đều đánh giá độ
trải rộng của dữ liệu. Độ lệch chuẩnlà phƣơng pháp thông dụng hơn, bên
cạnhđóphƣơng sai cũng đƣợc sử dụng.
Hai phƣơng pháp trên chỉ sử dụng đƣợc cho dữ liệu một chiều. Tuy nhiên,
nhiều tập dữ liệu lại có nhiều hơn một chiều và mục đích của việc phân tích
thống kê các tập dữ liệu này là nhằm tìm hiểu mối quan hệ giữa các chiều. Ví
dụ, xét tập dữ liệu về chiều cao của các sinh viên trong một lớp và điểm số
của họ về một môn học nào đó. Ta có thể tiến hành phân tích thống kê xem
ảnh hƣởng của chiều cao sinh viên đếnđiểm số nhƣ thế nào.
Độ lệch chuẩn và phƣơng sai chỉ thực hiện trên một chiều, do đó chúng
cũng chỉ có thể tính toán đƣợccho mỗi chiều của tập dữ liệu một cách độc lập
với các chiều khác. Tuy nhiên, nếu có một phƣơng pháp đánh giá đƣợc sự
biến đổi của các chiều từ giá trị trung bình của mỗi chiều khác, khi đósẽ rất
hữu ích đối với việc thống kê dữ liệu.
Hiệp phƣơng sailà một phƣơng pháp nhƣ vậy. Hiệp phƣơng sai luôn
đánh giá giữa hai chiều. Để tính hiệp phƣơng sai giữa một chiều với chính nó,
có thể sử dụng phƣơng sai. Vớimột tập dữ liệu ba chiều (x, y, z), ta có thể
đánh giá hiệp phƣơng sai giữa các chiều x và y, giữa y và z, giữa z và x.
Công thức tính hiệp phƣơng sai gầngiống với công thức tính phƣơng sai.
Công thức tính phƣơng sai có thể đƣợc viết lại nhƣ sau:

Tƣơng tự, công thức tính hiệp phƣơng saiđƣợc viếtnhƣ sau:
12


Số hóa bởi Trung tâm Học liệu


Công thức (2.5) tƣơng tựcông thức (2.4), ngoại trừ ở nhân tử thứ hai, giá
trị của X đƣợc thay bằng giá trị của Y. Việc nàycó thể đƣợcdiễn đạt nhƣ sau:

“Với mỗi điểm dữ liệu, tính tích của độ sai khác giữa giá trị x và giá trị trung
bình của x, với độ sai khác giữa giá trịy và giá trị trung bình của y. Cộng tất cả
vào rồi chia cho (n

1)”.
Ví dụvới một nhóm sinh viên, xét tổng số giờ họ dành cho môn học A và
điểm số họ đạt đƣợc ở môn đó. Khi đó bài toán có hai chiều, chiều thứ nhất là
H, số giờ học, chiều thứ hai là M, điểm số. Bảng 2.2 là các số liệu và việc tính
toán cov(H,M), hiệp phƣơng sai giữa thời gian học và điểm số.
Bảng 2.2. Tập dữ liệu hai chiều và tính toán hiệp phương sai

Số giờ (H)
Điểm (M)
Dữ liệu
9
15
25
14
10
18
0
16
5
39
56
93
61
50
75
32

85
42
Tổng
112
533
Trung bình
12.44
59.22

13


Số hóa bởi Trung tâm Học liệu


H
M



9
15
25
14
10
18
0
16
5
39

56
93
61
50
75
32
85
42
4.92
1.08
11.08
0.08
3.92
4.08
13.92
2.08
8.92
23.42
6.42
30.58
1.42
12.42
12.58
30.42
22.58
20.42
115.23
6.93
338.83
0.11

48.69
51.33
423.45
46.97
182.15
Tổng
1199.61
Trung bình
133.29
Giá trị chính xác không quan trọng bằng dấu của nó (dƣơng hay âm). Nếu
giá trị là dƣơng, nóchỉ ra rằng cả hai chiều cùng nhau tăng, nghĩa là một cách
tổng quát, khi số giờ học tăng lên thì điểm số cũng tăng lên.
Nếu giá trị là âm, khi đó một chiều tăng lên, một chiều giảm đi. Giá trị
hiệp phƣơng sai âm cho thấy rằng chúng đối lập nhau, khi số giờ học tăng lên
thì điểm số giảm đi.
Trƣờng hợp cuối cùng, nếu giá trị hiệp phƣơng sai bằng 0, khi đó hai
chiều độc lập với nhau.
Kết quả điểm số tăng lên khi số giờ học tăng có thể dễ dàng nhận thấy
bằng đồ thị. Tuy nhiên, việc minh họa trực quan nhƣ vậy chỉ có thể thực hiện
đƣợc khi dữ liệu cóhai hoặc ba chiều. Vì giá trị hiệp phƣơng sai có thể đƣợc
14


Số hóa bởi Trung tâm Học liệu

tính giữa hai chiều bất kỳ trong một tập dữ liệu, nên kỹ thuật này thƣờng đƣợc
sử dụng để tìm mối liên hệ giữa các chiều trong các tập dữ liệu nhiều chiều
mà việc biểu diễn trực quan gặp khó khăn.
Từ công thức tính cov(X,Y) trên, bằng cáchđổi chỗ hai nhân tử


ta suy ra cov(X,Y) = cov(Y,X).
Hiệp phƣơng sai chỉ đánh giá đƣợc quan hệ giữa hai chiều. Nếu dữ liệu
cónhiều hơn hai chiều, có thể có nhiều hơn một giá trị hiệp phƣơng sai đƣợc
tính. Ví dụ, từ một tập dữ liệu ba chiều (x, y, z) ta có thể tính cov(x,y), cov(y,z)
và cov(z,x). Với một tập dữ liệu n chiều, sẽcó giá trị hiệp phƣơng sai
khác nhau.
Các giá trị hiệp phƣơng sai giữa tất cả các chiều khác nhau đƣợc tính
toánrồi đƣa vào một ma trận. Ma trận hiệp phƣơng sai của một tập dữ liệu n
chiều là:

ở đây C
nn
là ma trận n hàng,n cột và Dim
i
là chiều thứi. Toàn bộ công thức
trên có nghĩa là với một tập dữ liệu n chiều, ma trận hiệp phƣơng sai của dữ
liệu làma trận n hàng,n cột (ma trận vuông) với phần tử tại hàngi, cột jlà giá
trị hiệp phƣơng sai giữa hai chiều thứi và thứj.
Ví dụ: Ma trận hiệp phƣơng sai của một tập dữ liệu ba chiều, với các
chiều là x, y và z là ma trậncó 3 hàng, 3 cột với các giá trị nhƣ sau:

15


Số hóa bởi Trung tâm Học liệu

Một số điểm chú ý: Trên đƣờng chéo chính, các giá trị chính là hiệp
phƣơng sai giữa một chiều và chính nó, đó là phƣơng sai của chiều đó. Điểm
thứ hai là, vì cov(a,b) = cov(b,a) nên ma trận hiệp phƣơng sai là ma trận đối
xứng qua đƣờng chéo chính.

b. Đại số ma trận
Phần này trình bàymột số kiến thức cơ bản về đại số ma trận đƣợcdùng
trong PCA. Đặc biệt trong đó sẽ xét các vector riêng vàgiá trị riêngcủa một
ma trận cho trƣớc.
Hai ma trận có thể đƣợc nhân với nhau, vớiđiều kiệnchúng có kích thƣớc
phù hợp. Vector riênglà một trƣờng hợp đặc biệt của việc này. Xét hai phép
nhân giữa một ma trận và một vector nhƣsau:

Ví dụ vector thường và vetor riêng
Trong trƣờng hợp thứ nhất, vector kết quả không phải là một bội số của
vector gốc, trong khi đó ở trƣờng hợp thứ hai, vector kết quả bằng đúng 4 lần
vector gốc.Vector (trƣờng hợp thứ hai) biểu diễn một mũi tên từ gốc (0,0)
đến điểm (3,2). Ma trận bênh cạnh là ma trận vuông, có thể coi nhƣ một ma
trận biến đổi. Nếu nhân ma trận này vào phía trái của vector, kết quả sẽ là một
vector khác đã đƣợc biến đổi từ vị trí gốc của nó.Vector này (và tất cả các bội
số của nó, vì chiều dài của vector không ảnh hƣởng đến kết quả) là một vector
riêngcủa ma trận biến đổi đó.
16


Số hóa bởi Trung tâm Học liệu

Các vector riêng có một số tính chất. Thứ nhất,vector riêng chỉ có thể
đƣợc xác định đƣợcđối với các ma trận vuông. Không phải mọi ma trận
vuông đều có vector riêng. Nếu một ma trận nn có vector riêng thì số lƣợng
đólà n.
Thứ hai, khi nhân vectorriêng với một số nàođó, vector kết quả vẫn sẽ
bằng đúng số lần nhƣ vậy của vector gốc. Lý do làkhi lấy một tỉ lệ nào đó của
vector, chỉ đơn giản độ dài của nó bị thay đổi, không ảnh hƣởng đến chiều của
vector. Cuối cùng, mọi vector riêng của một ma trận là trực giao, nghĩa là

chúng vuông góc với nhau, bất kể dữ liệucó bao nhiêu chiều. Điều này rất
quan trọng bởi vì nó có ý nghĩa lớnkhi biểu diễn dữ liệu theo các vector trực
giao này thay vì biểu diễn theo các trục x và y.

Ví dụ về sự ổn định của vector riêng đối với việc lấy tỉ lệ
Giá trị riêngcó quan hệ chặt chẽvới vector riêng.Thực tế làở ví dụ trên đã
xuất hiện một giá trị riêng. Trong cả hai ví dụ trên, số lần vector gốc đƣợc
tăng lên sau khi nhân với ma trận vuông luôn cốđịnh, số lần nàylà 4. Vậy 4 là
giá trị riêng ứng với vector riêng đó. Không cần biết bội số nào của vector
riêng đã đƣợclấy trƣớc khi đem nhân với ma trận vuông, vector kết quả nhận
đƣợc luôn bằng 4 lần vector gốc.
Hiện nay có rất nhiều thƣ viện toán học hỗ trợ việc tìm các vector riêng và
giá trị riêng của các ma trận, ví dụgói phần mềmnewmat trên trang web
hay các bộ công cụ trong thƣ viện lập trình
củaMATLAB.
17


Số hóa bởi Trung tâm Học liệu

2.1.2 Phƣơng phápPCA
Phƣơng pháp phân tích thành phầnchính cho phépxác định các mẫu trong
một tập dữ liệu và biểu diễn dữ liệu theo cách có thể làm nổi bật đƣợc sự
giống nhau và khác nhau giữa các mẫu. Vì các mẫu có thể rất khó tìm ra trong
dữ liệu nhiều chiều (do không thể biểu diễn trực quan bằng đồ họa), nên PCA
[4] là một công cụ hữu hiệu để phân tích dữ liệu. Phƣơng pháp này bao gồm
một số bƣớc cơ bản sau:
Bƣớc 1: Lấy dữ liệu
Để có thểvẽ đồ thị minh họa trực quan việc phân tích PCA theo từng
bƣớc, dữ liệu trong ví dụ sẽ có hai chiều.Dữ liệu đƣợc cho ở hình 2.2.

Bƣớc 2: Hiệu chỉnh theo giá trị trung bình
Để tínhPCA thuận lợi, các giá trị trên mỗi chiều của dữ liệu sẽ đƣợc trừđi
giá trị trung bình của chiềuđó. Tất cả các giá trị x bị trừ đi (trung bình giá trị
x của tất cả các điểm) và tất cả các giá trị y bị trừ đi (trung bình giá trị y của
tất cả các điểm). Tập dữ liệu nhận đƣợc có giá trị trung bình là 0.
Bƣớc 3: Tính ma trận hiệp phƣơng sai
Do dữ liệu có hai chiều nên kích thƣớc của ma trận hiệp phƣơng sai là
22. Ma trậnthu đƣợclà:

Vì các phần tử nằm ngoài đƣờng chéo chính của ma trận là dƣơng, nên hai
giá trị x và y cùng nhau tăng.

18


Số hóa bởi Trung tâm Học liệu

Dữ liệu gốc
X
Y
Dữ liệu sau
khi chỉnh
X
Y
2.5
0.5
2.2
1.9
3.1
2.3

2
1
1.5
1.1
2.4
0.7
2.9
2.2
3.0
2.7
1.6
1.1
1.6
0.9
0.69
1.31
0.39
0.09
1.29
0.49
0.19
0.81
0.31
0.71
0.49
1.21
0.99
0.29
1.09
0.79

0.31
0.81
0.31
1.01


Hình 2.2. Dữ liệu và đồ thị biểu diễn dữ liệu

19


Số hóa bởi Trung tâm Học liệu

Bước 4: Tính vector riêng và giá trị riêng của ma trận hiệp phương sai
Vì ma trận hiệp phƣơng sai vuông nên có thể tính vector riêng và giá trị
riêng của ma trận này. Chúng cho biết những thông tin hữu ích về dữ liệu. Hai
vector riêng là và , với hai giá trị riêng
tƣơng ứnglà 0.0490833989 và 1.28402771.
Điều lƣu ý quan trọng rằng các vector riêng ở đây đều là vector đơn vị,
nghĩa là độ dài của chúng bằng 1. Điều này rất quan trọng trong PCA. Hầu hết
các gói phần mềmtoán học, khi tính vector riêng đều trả về kết quả làcác
vector đơn vị.
Nhƣ trên đồ thị dữ liệu ở hình2.3, dữ liệu có một mẫu chủđạo (hƣớng theo
một đƣờng chéo). Ở phía trên của dữ liệu là hai vector riêng, chúng là những
đƣờng chéo hình chấm chấm. Nhƣ đã trình bày ở phần vector riêng, chúng
vuông góc với nhau. Nhƣng quan trọng hơn, chúng cung cấp thông tin về các
mẫu trong dữ liệu. Một trong hai vector riêng nằm theo hƣớng phân
bốchínhcủa dữ liệu.Vector riêng đó cho thấy mối quan hệ giữa dữ liệu với
đƣờng thẳngđó. Vector riêng thứ hai cho thấy một mẫu khác, kém quan trọng
hơn, là tất cả cácđiểmphân bố dọc theo đƣờng chính nhƣng cách đƣờng chính

một khoảng nàođó.
Nhƣ vậy, bằng việc tính các vector riêng của ma trận hiệp phƣơng sai, ta
có thể trích ra các đặc trƣng củadữ liệu. Các bƣớc còn lại sẽ là việc biến đổi
dữ liệu sao cho nó đƣợc biểu diễn theo các đặc trƣng đó.
20


Số hóa bởi Trung tâm Học liệu


Hình2.3. Đồ thị biểu diễn dữ liệu đã chuẩn hóa với các vector riêng
Bƣớc 5: Chọn các thành phần và xác lậpvector đặc trƣng
Các vector riêng và giá trị riêng tính đƣợcở phần trƣớc vớicác giá trị riêng
khá khác nhau. Vector riêng ứng với giá trị riêng cao nhất sẽ là thành phần
chính của tập dữ liệu. Trong ví dụ trên, vector riêng với giá trị riêng lớn hơn
là vector trỏ dọctheo dữ liệu. Nó mô tả mối quan hệ có ý nghĩa nhất giữa các
chiều củadữ liệu.
Một cách tổng quát, sau khi tìm đƣợccác vector riêng từ ma trận hiệp
phƣơng sai, bƣớc tiếp theo là sắp xếp chúng theo giá trị riêng, từ cao đến thấp.
Nghĩa là cácthành phần đƣợc sắp xếp theo thứ tự tầm quan trọng giảm dần.
Khi đó, các thành phần ít có ý nghĩa có thể đƣợc bỏ quanếu cần. Một số thông
tinđã bị lƣợc bỏ, nhƣng vì giá trị riêng của chúng nhỏnêndữ liệu không bị mất
nhiều. Khi bỏ qua một số thành phần, dữ liệu thu đƣợc sẽ có số chiều ít hơn
dữ liệu gốc. Nói cách khác, nếu dữ liệu gốc cón chiều, sau khi tính đƣợc

×