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

luận văn thạc sĩ nhận dạng ảnh mặt người sử dụng mạng nơron

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 (2.64 MB, 69 trang )
























ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT&TT




TRẦN XUÂN TỨ




NHẬN DẠNG ẢNH MẶT NGƯỜI SỬ DỤNG MẠNG NƠRON





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






Thái Nguyên - 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
























ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT&TT



TRẦN XUÂN TỨ



NHẬN DẠNG ẢNH MẶT NGƯỜI SỬ DỤNG MẠNG NƠRON

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
PGS.TS ĐỖ NĂNG TOÀN




Thái Nguyên - 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Lời cam đoan
Tôi xin cam đoan luận văn “Nhận dạng ảnh mặt người sử dụng mạng
nơron” 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.
Trần Xuân Tứ















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


Lời cảm ơn

Tôi xin chân thành cảm ơn Thầy giáo PGS.TS Đỗ Năng Toàn đã tận
tình chỉ dạy và hướng dẫn tôi trong suốt thời gian nghiên cứu hoàn thành luận
văn. Để có kết quả như ngày hôm nay công lao của các Thầy, Cô giáo là vô
cùng to lớn. Tôi xin chân thành cảm ơn các Thầy, Cô giáo Viện Công nghệ
thông tin và Khoa Công nghệ thông tin - Đại học Thái Nguyên đã tận tình
giảng dạy, trang bị những vốn kiến thức và kinh nghiệm quý báu để tôi có
được kết quả tốt nhất trong học tập.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến gia đình, bạn bè và đồng nghiệp
đã luôn giúp đỡ, động viên để tôi hoàn thành tốt chương trình học và đề tài
nghiên cứu của mình.

Thái Nguyên, ngày 02 tháng10 năm 2011


Trần xuân Tứ




Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
i

MỤC LỤC
Trang
Trang phụ bìa
Lời cam đoan
Mục lục i
Danh mục các ký hiệu, các chữ viết tắt ii
Danh mục các bảng iii
Danh mục các hình vẽ, đồ thị iv

Phần mở đầu 1
Chương 1: khái quát về xử lý ảnh và trích chọn đặc trưng 5
1.1 Khái quát về xử lý ảnh 5
1.1.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh 5
1.1.2 Thu nhận và biểu diễn ảnh 6
1.2 Trích chọn đặc trưng 9
1.2.1 Phương pháp phân tích thành phần chính 9
1.2.2 Phương pháp phân tách tuyến tính 19
1.2.3 Phương pháp xử lý hình thái 22
Chương 2: Mạng nơron 35
2.1 Giới thiệu về mạng nơ-ron 35
2.1.1 Lịch sử phát triển 35
2.1.2 Mô hình mạng nơ-ron nhân tạo 37
2.2 Phạm vi ứng dụng của mạng nơ-ron 47
2.2.1 Các lĩnh vực ứng dụng mạng nơ-ron 47
2.2.2 Ưu và nhược điểm của mạng nơ-ron 48
2.3 Thuật toán học lan truyền ngược 48
Chương 3: Nhận dạng ảnh mặt người sử dụng mạng Nơron 53
3.1 Bài toán 53
3.2 Thiết kế hệ thống 53
3.2.1 Trích chọn đặc trưng 53
3.2.2 Thiết kế mạng nơron 54
3.3 Chương trình 54
3.3.1 Cơ sở dữ liệu ảnh 54
3.3.2 Môi trường cài đặt 56
3.3.3 Cài đặt 56
3.4 Kiểm thử và đánh giá 57
Phần Kết luận 59
Tài liệu tham khảo 61


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ii

Danh mục các ký hiệu, các chữ 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













Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii

Danh mục các bảng
Bảng 3.1. Các module chính của chương trình 56



















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iv

Danh mục các hình vẽ, đồ thị
Hình 1.1. Quá trình xử lý ảnh. 5
Hình 1.2. Các bước cơ bản trong một hệ thống xử lý ảnh. 6
Hình 1.3 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB 7
Hình 1.4. Sự chuyển đổi giữa các mô hình biểu diễn ảnh 8
Hình 1.5. Ví dụ vector thường và vetor riêng 13
Hình 1.6. Ví dụ về sự ổn định của vector riêng đối với việc lấy tỉ lệ 14
Hình 1.7. Ảnh gốc trong cơ sở dữ liệu ORL 18
Hình 1.8. Ảnh sau khi biến đổi theo PCA 18
Hình 1.9. Ví dụ minh họa LDA 19

Hình 1.10. Ảnh sau khi biến đổi theo LDA 22
Hình 1.11. Sự liên thông 23
Hình 1.12. Phép dãn ảnh nhị phân 26
Hình 1.13. Phép co ảnh nhị phân 27
Hình 1.14. Phép dãn ảnh tổng quát dựa theo phép cộng Minkowski 30
Hình 1.15. So sánh các kết quả của hai phép co ảnh 32
Hình 1.16. Ảnh sau khi xử lý hình thái 34
Hình 2.1. Mô hình nơ ron sinh học 37
Hình 2.2. Một số dạng hàm kích hoạt của nơron 39
Hình 2.3. Mô hình một nơ-ron 42
Hình 2.4. Các thành phần cơ bản của mạng nơron nhân tạo 43
Hình 2.5. Mạng truyền thẳng một lớp 45
Hình 2.6. Mô tả cấu trúc của mạng nơ ron truyền thẳng nhiều lớp 46
Hình 2.7. Mạng một lớp có nối ngược 46
Hình 2.8. Mạng nhiều lớp có nối ngược 47
Hình 2.9. Mạng nơron l lớp 49
Hình 3.1. Ảnh gốc được bổ sung ảnh gương 53
Hình 3.2. Ảnh gốc trong bộ ảnh ORL 55
Hình 3.3. Giao diện chính của chương trình 57
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1

Phần mở đầu
- Đặt vấn đề:
+ Giới thiệu tổng quan về đề tài
Trong luận văn này trình bày khái quát về xử lý ảnh, các phương pháp
trích chọn đặc trưng. Mạng nơron và sử dụng mạng Nơron trong bài toán
nhận dạng ảnh mặt người.
+ Lý do chọn đề tài
Hiện nay, cùng với sự phát triển như vũ bão của công nghệ thông tin nói

chung và sự phát triển trong lĩnh vực thị giác máy nói riêng, các hệ thống phát
hiện và nhận dạng mặt người đang ngày càng có nhiều ứng dụng trong thực tế
như vấn đề an ninh, nhận dạng người 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.
Trong thế kỷ 20 có rất nhiều mô hình tính toán mô phỏng bộ não của
người được nghiên cứu trong đó có mạng nơron. Mạng nơ-ron có khả năng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2

giải quyết hàng loạt các bài toán như tính toán tối ưu, nhận dạng, điều khiển
và được ứng dụng trong nhiều lĩnh vực của công nghệ thông tin.
Một mạng nơron nhân tạo bao gồm một tập các đơn vị xử lý cơ bản, gọi
là nơron, chúng truyền thông tin bằng cách gửi các tín hiệu cho nhau qua các
kênh kết nối có trọng số. Mỗi nơron thực hiện một công việc tương đối đơn
giản: nhận tín hiệu từ các nơron lân cận hoặc từ nguồn bên ngoài, tính toán tín
hiệu ra rồi truyền sang cho các nơron khác. Ngoài việc xử lý này, nhiệm vụ
thứ hai của nơron là điều chỉnh lại các trọng số. Hệ thống sẽ được thực hiện
song song vì nhiều nơron có thể thực hiện tính toán ở cùng thời điểm. Xuất
phát trong hoàn cảnh đó tôi đã quyết định lựa chọn đề tài: “Nhận dạng ảnh

mặt người sử dụng mạng Nơron” là một việc làm không chỉ có ý nghĩa khoa
học và còn mang đận tính thực tiễn nhất khi thực tế đang đặt ra những yêu cầu
đòi hỏi.
- Nội dung nghiên cứu
+ Mục tiêu nghiên cứu và tính cấp thiết của đề tài
Đề tài nghiên cứu các phương pháp trích chọn đặc trưng, nghiên cứu về
mạng nơron và ứng dụng thuật toán lan truyền ngược để giải bài toán nhận
dạng ảnh mặt người .
Tính cấp thiết của đề tài: Hiện nay tình trạng bất ổn về an ninh, chính trị
và nạn khủng bố trên thế giới ngày càng phức tạp do vậy vấn đề nhận dạng
người 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àng trở nên quan trọng và cấp thiết.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3

+ Phạm vi nghiên cứu và ứng dụng
Nghiên cứu các ứng dụng của mạng nơron trong bài toán nhận dạng ảnh
mặt người. Từ dó cài đặt chương trình phân công nhiệm vụ trong hệ thống
nhận dạng mặt người.
Trong khuôn khổ của đề tài chỉ tập trung nghiên cứu cơ sở lý thuyết và cài
đặt thử nghiệm chương trình trên máy tính.
+ Ý nghĩa khoa học
Tìm hiểu nhận dạng ảnh mặt người sử dụng mạng Nơron, phục vụ ứng
dụng trong thực tế như vấn đề an ninh, nhận dạng người 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í . . .
+ Phương pháp nghiên cứu

Nghiên cứu lý thuyết: thu nhận từ internet, các tài liệu từ thầy hướng dẫn
Thu thập tài liệu, đọc, hiểu
Tổng hợp đánh giá, phân tích những vấn đề về cơ sở khoa học, cơ sở lý
luận của lĩnh vực nghiên cứu.
Nghiên cứu lý thuyết tổng hợp và cài đặt thử nghiệm.
+ Các kết quả dự kiến đạt được
Giới thiệu tổng quan về xử lý ảnh, bài toán nhận dạng ảnh mặt người
Trình bày Mạng nơron, Sử dụng thuật toán Lan truyền ngược để giải bài
toán nhận dạng ảnh mặt người.
Cài đặt thử nghiệm chương trình nhận dạng ảnh mặt người.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4

- Bố cục luận văn
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận,
phần mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận văn
được trình bày theo cấu trúc như sau:
Chương 1: Khái quát về xử lý ảnh và trích chọn đặc trưng
Trình bày khái quát về xử lý ảnh, phương pháp tích chọn đặc trưng
Chương 2: Mạng nơron
Mạng nơron nhân tạo, mô hình mạng nơron nhân tạo, liên kết giữa các
nơron, hàm kích hoạt và quy tắc xác định tín hiệu ra. Sử dụng thuật toán Lan
truyền ngược để giải bài toán nhận dạng ảnh mặt người.
Chương 3: Nhận dạng ảnh mặt người sử dụng mạng Nơron










Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5

Chương 1: khái quát về xử lý ảnh và trích chọn đặc trưng
1.1 Khái quát về xử lý ảnh
1.1.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh
- Xử lý ảnh
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng
vai trò quan trọng nhất. Những năm trở lại đây với sự phát triển của phần
cứng máy tính, xử lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có
nhiều ứng dụng trong cuộc sống. Xử lý ảnh và đồ hoạ đóng một vai trò quan
trọng trong tương tác người máy.
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào
nhằm cho ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh
có thể là một ảnh “tốt hơn” hoặc một kết luận.



Hình 1.1. Quá trình xử lý ảnh.
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như
là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của
đối tượng trong không gian và nó có thể xem như một hàm n biến P(c
1
, c
2
, ,

c
n
). Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều.



XỬ LÝ ẢNH
Ảnh
Ảnh
“T
ốt h
ơn”

Kết luận
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6

Sơ đồ tổng quát của một hệ thống xử lý ảnh:




Hình 1.2. Các bước cơ bản trong một hệ thống xử lý ảnh.
- Các vấn đề cơ bản trong xử lý ảnh
+ Nắn chỉnh biến dạng
+ Khử nhiễu
+ Chỉnh mức xám
+ Trích chọn đặc điểm
+ Nhận dạng
+ Nén ảnh

1.1.2 Thu nhận và biểu diễn ảnh
- Thu nhận
Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận
này có thể cho ảnh đen trắng. Các thiết bị thu nhận ảnh có 2 loại chính ứng
với 2 loại ảnh thông dụng Raster, Vector.
Các thiết bị thu nhận ảnh thông thường Raster là camera các thiết bị thu
nhận ảnh thông thường Vector là sensor hoặc bàn số hoá Digitalizer hoặc
được chuyển đổi từ ảnh Raster.

Lưu tr


Thu nhận ảnh

(Scanner,
Camera,Sensor)
Tiền xử


Trích chọn

đ
ặc điểm

Hệ quyết định

Đối sánh
rút
ra kết luận
Hậu

x
ử lý

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7


- Biểu diễn ảnh
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được
nhúng trong các thiết bị kỹ thuật khác nhau. Quá trình lưu trữ ảnh nhằm 2
mục đích: Tiết kiệm bộ nhớ, giảm thời gian xử lý
Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng và
đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn
theo 2 mô hình cơ bản
+ Mô hình Raster
Đây là cách biểu diễn ảnh thông dụng nhất hiện nay, ảnh được biểu diễn
dưới dạng ma trận các điểm (điểm ảnh). Thường thu nhận qua các thiết bị như
camera, scanner. Tuỳ theo yêu cầu thực thế mà mỗi điểm ảnh được biểu diễn
qua 1 hay nhiều bít
Mô hình Raster thuận lợi cho hiển thị và in ấn. Ngày nay công nghệ phần
cứng cung cấp những thiết bị thu nhận ảnh Raster phù hợp với tốc độ nhanh
và chất lượng cao cho cả đầu vào và đầu ra. Một thuận lợi cho việc hiển thị
trong môi trường Windows là Microsoft đưa ra khuôn dạng ảnh DIB (Device
Independent Bitmap) làm trung gian. Hình 1.3 thể hiện quy trình chung để
hiển thị ảnh Raster thông qua DIB.




Hình 1.3. Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB

BMP
PCC
.
.
.


DIB

Cửa sổ
Thay đổi
Paint
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8


+ Mô hình Vector
Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ dễ dàng cho
hiển thị và in ấn còn đảm bảo dễ dàng trong lựa chọn sao chép di chuyển tìm
kiếm… Theo những yêu cầu này kỹ thuật biểu diễn vector tỏ ra ưu việt hơn.
Trong mô hình vector người ta sử dụng hướng giữa các vector của điểm
ảnh lân cận để mã hoá và tái tạo hình ảnh ban đầu ảnh vector được thu nhận
trực tiếp từ các thiết bị số hoá như Digital hoặc được chuyển đổi từ ảnh Raster
thông qua các chương trình số hoá
Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh và
chất lượng cho cả đầu vào và ra nhưng lại chỉ hỗ trợ cho ảnh Raster. Do vậy,
những nghiên cứu về biểu diễn vectơ đều tập trung từ chuyển đổi từ ảnh
Raster.



Hình 1.4. Sự chuyển đổi giữa các mô hình biểu diễn ảnh







RASTER VECTOR RASTER
Vecter
hóa
Raster
hóa
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9

1.2 Trích chọn đặc trưng
Phần 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.
1.2.1 Phương pháp phân tích thành phần chính
Phương pháp phân tích thành phần chính (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ếm các mẫu trong 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
được rút gọn sao cho lượng thông tin dùng để biểu diễn ảnh đó giảm đi, đồng
thời không làm mất những đặc điểm quan trọng nhất của khuôn mặt.
Ảnh gốc cần 10304 giá trị để biểu diễn trong khi ảnh biến đổi chỉ cần 49
giá trị.


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10

* Cơ sở toán học
- Lý thuyết thống kê
Các nhà thống kê thường quan tâm đến việc lấy mẫu trê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ệu X đượ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 X với giá trị là 4. Lưu ý rằng X
1
là số đầu tiên trong X. Ngoài ra ký
hiệu n cò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à:


=







(
1.1
)

Giá trị trung bình không thể hiện được nhiề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àn khá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ẩn của tập dữ liệu sẽ đánh giá được sự trải
rộng của dữ liệu. Độ lệch chuẩn 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ính như sau:
=

∑ (


−

)




(
−1
)

(
1.2
)

Phương sai là 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ần như giống hoàn toàn với độ lệch chuẩn:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11



=
∑ (


−

)



(
−1
)


(
1.3
)

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ẩn là phương pháp thông dụng hơn, bên
cạnh đó phương sai cũng được sử dụng.
Độ 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 được cho 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 sai là 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ới mộ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ần giố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:

(

)
=
∑ (



−

)(


−

)


(
−1
)

(
1.4
)

Tương tự, công thức tính hiệp phương sai được viết như sau:

(
,
)
=
∑ (


−

)(



−

)


(
−1
)

(
1.5
)

Công thức (1.5) tương tự công thức (1.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ày có thể được diễ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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12

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)”.
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án
rồ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à:

×
= 
,
= 

,



(
1.6
)

ở đâ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àng i, cột j là giá
trị hiệp phương sai giữa hai chiều thứ i và thứ j.
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.



Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13

- Đại số ma trận
Phần này trình bày một số kiến thức cơ bản về đại số ma trận được dùng
trong PCA. Đặc biệt trong đó sẽ xét các vector riêng và giá trị riêng củ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ện chúng có kích thước
phù hợp. Vector riêng là 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ư hình 1.5.

 ℎườ 
2 3
2 1
× 
1
3
=
11
5

 ê 
2 3
2 1
× 
3
2
=
12
8
= 4×
3
2


Hình 1.5. 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 
3
2

 (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ên 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êng của ma trận biến đổi đó.
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 vector riê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 (hình 1.6). Lý do là khi lấy một tỉ lệ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14

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ệu có bao nhiêu chiều.
Điều này rất quan trọng bởi vì nó có ý nghĩa lớn khi 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.
2 ×
3
2
=
6
4


2 3
2 1

× 
6
4
=
24
16
= 4 ×
6
4


Hình 1.6. Ví dụ về sự ổn định của vector riêng đối với việc lấy tỉ lệ
Giá trị riêng có quan hệ chặt chẽ với vector riêng. Thực tế là trên hình 1.5
đã 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ày là 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 đã được lấ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 (hình 1.6).
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ềm newmat trên trang web
hay các bộ công cụ trong thư viện lập trình của
MATLAB.
* Phương pháp PCA
Phương pháp phân tích thành phần chính cho phép xá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 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:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

15

Bước 1: Lấy dữ liệu
Bước 2: Hiệu chỉnh theo giá trị trung bình
Để tính PCA 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
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.
Đ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ềm toán học, khi tính vector riêng đều trả về kết quả là các
vector đơn vị.
Bước 5: Chọn các thành phần và xác lập vector đặc trưng
Các vector riêng và giá trị riêng tính được ở phần trước với cá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.
Một cách tổng quát, sau khi tìm được cá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ác thà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ỏ qua nế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ên dữ 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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16


tính được n vector riêng và giá trị riêng, p vector riêng đầu tiên được chọn,
khi đó dữ liệu cuối cùng chỉ còn p chiều.
Tiếp theo cần xác lập một vector đặc trưng, thực chất là tên gọi của một
ma trận các vector. Vector này được xây dựng bằng cách lấy các vector riêng
muốn giữ lại, rồi đặt chúng theo các cột để tạo thành ma trận:
_Đặ_ư=
(






)

(
1.7
)

Bước 6: Xác định tập dữ liệu mới
Bước này là bước cuối cùng trong PCA đồng thời là bước đơn giản nhất.
Sau khi các thành phần (vector riêng) được chọn để giữ lại trong dữ liệu và
thiết lập vector đặc trưng, tiến hành chuyển vị vector và nhân vào phía trái tập
dữ liệu gốc đã chuyển vị.
Dữ_liệu_cuối = Vector_Đặc_trưng  Dữ_liệu_điều_chỉnh
trong đó:
 Vector_Đặc_trưng là ma trận với các vector riêng trong các cột đã
chuyển vị sao cho chúng nằm theo các hàng, với vector riêng ý nghĩa
nhất nằm trên cùng.
 Dữ_liệu_điều_chỉnh là dữ liệu đã được điều chỉnh theo giá trị trung

bình sau đó chuyển vị, nghĩa là các dữ liệu nằm trên mỗi cột, với mỗi
hàng theo mỗi chiều khác nhau.
 Dữ_liệu_cuối là tập dữ liệu cuối cùng, với các điểm dữ liệu nằm theo
cột, còn các chiều là theo hàng.
Kết quả là dữ liệu gốc được biểu diễn chỉ theo các vector đã chọn. Tập dữ
liệu gốc có hai trục x, y và dữ liệu được biểu diễn theo chúng. Dữ liệu cũng có
thể được biểu diễn theo bất kỳ trục nào trong số đó. Nếu các trục này vuông
góc với nhau thì việc biểu diễn là hiệu quả nhất. Đó là tầm quan trọng của sự
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17

trực giao của các vector riêng. Dữ liệu đã được biểu diễn theo hai vector riêng
thay vì biểu diễn theo các trục x và y. Trong trường hợp tập dữ liệu mới được
giảm về số chiều, nghĩa là bỏ qua một số vector riêng, dữ liệu mới chỉ được
biểu diễn theo các vector đã chọn.
Bây giờ là việc áp dụng phân tích thành phần chính đối với tập dữ liệu
ảnh. Trong luận văn, tập dữ liệu ảnh được lấy từ cơ sở dữ liệu ORL (Olivetti
Research Laboratory, Surrey University). Mỗi ảnh có kích thước 112×92, có
thể được coi là một vector 10304 chiều, hoặc tương đương với một điểm
trong không gian 10304 chiều. Hình 1.7 là một số ảnh gốc trong cơ sở dữ liệu.
Áp dụng PCA để giảm số chiều của không gian khổng lồ trên, kết quả thu
được là các ảnh đã được biến đổi sau khi phân tích theo các thành phần đặc
trưng, các vector riêng được chọn theo các giá trị riêng tương ứng có giá trị
lớn hơn 10
-3
, số lượng vector riêng là 49, nghĩa là mỗi ảnh biểu diễn một điểm
trong không gian 49 chiều (hình 1.8).











Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

×