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

phân tích khác biệt tuyến tính đa bước cho phân tích dữ liệu điện não đồ số chiều cao

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.98 MB, 80 trang )

TRƢỜNG ĐẠI HỌC NÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN



KHÓA LUẬN TỐT NGHIỆP


ĐỀ TÀI:
PHÂN TÍCH KHÁC BIỆT TUYẾN TÍNH ĐA BƢỚC CHO
PHÂN LOẠI DỮ LIỆU ĐIỆN NÃO ĐỒ SỐ CHIỀU CAO


Ngƣời thực hiện: Đặng Thị Phƣợng - K54THO
Khóa: 54
Nghành: Tin Học
Ngƣời Hƣớng Dẫn: Giảng Viên TS. Nguyễn Hoàng Huy



HÀ NỘI – 2014
Sinh viên thực hiện Đặng Thị Phượng – K54THO
i

LỜI CẢM ƠN
Lời đầu tiên em xin đƣợc bày tỏ lòng biết ơn sâu sắc tới Thầy giáo hƣớng
dẫn Tiến Sĩ Nguyễn Hoàng Huy, ngƣời đã dành rất nhiều thời gian quý báu để tận
tình giúp đỡ, chỉ bảo và hƣớng dẫn em hoàn thành tốt khóa luận tốt nghiệp này.
Em xin chân thành cảm ơn các thầy, cô giáo trong trƣờng Đại học Nông
nghiệp Hà Nội, đặc biệt là các thầy cô Khoa Công nghệ thông tin đã giảng dạy,
truyền thụ rất nhiều kiến thức và tạo điều kiện cho em đƣợc học tập, đƣợc nghiên


cứu tại trƣờng trong suốt quãng thời gian qua, giúp cho em có kiến thức chuyên
môn để hoàn thành tốt khóa luận.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình và bạn bè, những ngƣời thân
đã luôn quan tâm, chăm sóc và động viên em trong thời gian thực hiện khóa luận
tốt nghiệp.
Vì điều kiện khách quan và thời gian thực hiện có hạn nên khóa luận không
tránh khỏi có những vấn đề thiếu sót nhất định. Em rất mong nhận đƣợc những ý
kiến đóng góp từ phía các thầy cô và các bạn.
Em xin chân thành cảm ơn!

Hà Nội, ngày 30 tháng 5 năm 2014.
Sinh viên thực hiện
Đặng Thị Phượng

Sinh viên thực hiện Đặng Thị Phượng – K54THO
ii

MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC BẢNG iv
DANH MỤC HÌNH ẢNH iv
DANH MỤC TỪ VIẾT TẮT vi
DANH MỤC CÁC KÝ HIỆU vii
PHẦN I: MỞ ĐẦU 1
1.1. Đặt vấn đề 1
1.2. Mục đích đề tài nghiên cứu 2
1.3. Phƣơng pháp nghiên cứu 3
1.4. Cấu trúc khóa luận 3
PHẦN II: PHÂN TÍCH KHÁC BIỆT TUYẾN TÍNH 4

2.1. Một số kiến thức cơ bản 4
2.1.1. Dữ liệu 4
2.1.2. Phân bố của dữ liệu 4
2.1.3. Phân bố lý thuyết 5
2.1.4. Phân bố chuẩn nhiều chiều [14] 9
2.2. Bài toán phân loại 13
2.3. Tỉ số lỗi 14
2.4. Phân tích khác biệt tuyến tính 14
2.4.1. Mô hình LDA lý thuyết 14
Sinh viên thực hiện Đặng Thị Phượng – K54THO
iii

2.4.2. Mô hình LDA thực nghiệm 15
2.4.3. Xây dựng hàm phân biệt của LDA 17
2.5. Phân tích khác biệt tuyến tính đƣợc chính quy hóa (Regularized LDA) [8] .17
2.6. Phân tích khác biệt tuyến tính đa bƣớc (Multi-step LDA) [1][8] 18
2.7. Xây dựng hàm phân biệt multi-step LDA 20
PHẦN III: DỮ LIỆU ĐIỆN NÃO ĐỒ TỪ HỆ THỐNG 31
3.1. Hệ thống giao tiếp não – máy tính dựa vào điện não đồ 31
3.1.1. Hệ thống giao tiếp não – máy tính 31
3.1.2. Dữ liệu điện não đồ 33
3.1.3. Một số ứng dụng của điện não đồ EEG 36
3.2. Dữ liệu điện não đồ từ hệ thống viết bằng ý nghĩ 38
3.3. Một số phƣơng pháp tiền xử lý dữ liệu [8] 42
3.3.1. Đối sánh và chuẩn hóa dữ liệu 42
3.3.2. Giảm số chiều dữ liệu 43
3.4. Phân loại dữ liệu điện não đồ 43
PHẦN IV: KẾT QUẢ THỰC NGHIỆM 46
PHẦN V: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 54
PHỤ LỤC: CÁC HÀM CỦA MATLAB SỬ DỤNG TRONG KHÓA LUẬN TỐT

NGHIỆP [3][4][22] 56
TÀI LIỆU THAM KHẢO 70


Sinh viên thực hiện Đặng Thị Phượng – K54THO
iv

DANH MỤC BẢNG
Bảng 2.1. Bảng dữ liệu chiều dài của 31 con cá 5
Bảng 2.2. Mức độ chính xác của giá trị AUC 30
Bảng 4.1. Trung bình giá trị AUC của LDA, two-step LDA, regularized LDA và
multi-step LDA qua 42 tập dữ liệu. 51

DANH MỤC HÌNH ẢNH
Hình 2.1. Biểu đồ biểu diễn tần số và tần suất của dữ liệu A 5
Hình 2.2. Đồ thị hàm mật độ xác suất của phân bố chuẩn [14] 7
Hình 2.3. Đồ thị hàm mật độ xác suất của phân bố đều [14] 8
Hình 2.4. Biểu đồ tần số của dữ liệu B 9
Hình 2.5. Biểu đồ mô phỏng hàm mật độ xác suất của phân bố chuẩn hai chiều 12
Hình 2.6. Biểu đồ mô phỏng phân bố chuẩn 2 chiều bằng Matlab 13
Hình 3.1. Hình minh họa ngƣời sử dụng muốn đánh vần chữ O [20] 31
Hình 3.2. Sơ đồ của giao tiếp não – máy tính [8] 32
Hình 3.3. Chiếc mũ đƣợc gắn các điện cực [19] 33
Hình 3.4. Ngƣời sử dụng đội chiếc mũ đƣợc gắn sẵn các điện cực cùng với thiết bị
đo [19] 34
Hình 3.5. Điện não đồ đo đƣợc tại các điện cực lẫn cả nhiễu do hoạt động của cơ
bắp gây ra [8] 35
Sinh viên thực hiện Đặng Thị Phượng – K54THO
v


Hình 3.6. Điện não đồ đo đƣợc tại các điện cực lẫn cả nhiễu do hoạt động của mắt
gây ra [8] 35
Hình 3.7. Chiếc chân giả đƣợc điều khiển bằng ý nghĩ [17] 37
Hình 3.8. Chiếc máy bay quadcopter đƣợc điều khiển bằng ý nghĩ [18] 38
Hình 3.9. Vị trí đặt 32 điện cực theo hệ thống 10-20[19] 39
Hình 3.10. Một mẫu thử nghiệm trong quá trình ngƣời sử dụng đọc ký tự [10] 40
Hình 3.11. Sơ đồ mô tả thời gian xuất hiện cho mỗi thử nghiệm[8] 40
Hình 3.12. Điện não đồ EEG ghi nhận tại một điện cực khi xuất hiện ký tự đƣợc
bôi đen [14] 41
Hình 3.13. Hai mẫu thử nghiệm: Thử nghiệm xuất hiện đúng ký tự đích E (bên
trái) và thử nghiệm xuất hiện ký tự khác là A (bên phải) [8] 44
Hình 3.14. Biểu đồ phân loại tín hiệu EEG tại điện cực O1 cho 15 tập dữ liệu [8] 45
Hình 4.1. Giao diện kết quả thực nghiệm 47
Hình 4.2. Giao diện tiền xử lý với hệ số giảm số chiều là 32, tính score của hàm
multi-step LDA với kiểu (32, 2, 2, 2, 2, 2) và giá trị AUC của multi-step LDA 48
Hình 4.3. Giao diện tính ngƣỡng phân loại 49
Hình 4.4. Giao diện biểu đồ phân loại tại điện cực Fz của mẫu 101 thuộc lớp target
50
Hình 4.5. Giao diện biểu đồ phân loại tại điện cực Fz của mẫu 1000 thuộc lớp non-
target 50
Sinh viên thực hiện Đặng Thị Phượng – K54THO
vi

Hình 4.6. So sánh hiệu suất của multi-step LDA kiểu (16, 2, 2, 2, 2, 2, 2) và
regularized LDA qua 42 tập dữ liệu. Mức ý nghĩa thống kê  đƣợc tính bởi một
kiểm thử xếp hạng Wilcoxon 52

DANH MỤC TỪ VIẾT TẮT

Từ viết tắt

Mô tả
LDA
Linear Discriminant Analysis.
AUC
Area Under the Curve.
BCI
Brain – Computer Interfaces.
EEG
ElectroEncephaloGraphy.


Sinh viên thực hiện Đặng Thị Phượng – K54THO
vii

DANH MỤC CÁC KÝ HIỆU

Ký hiệu
Mô tả

Tập số thực.

Giá trị của biến ngẫu nhiên .

Hàm mũ 

.






Hàm mật độ xác suất của biến ngẫu nhiên .



Kỳ vọng của biến ngẫu nhiên 

.





Ma trận hiệp phƣơng sai của vectơ ngẫu nhiên 

Xác suất của sự kiện A.

Số chiều của vectơ.

Dung lƣợng mẫu của tập dữ liệu.

Hàm phân loại.

Tỉ số lỗi của hàm phân loại.








Hàm phân biệt tuyến tính thực nghiệm của .






Hàm phân biệt tuyến tính lý thuyết của .













mẫu thuộc về lớp thứ nhất



.

Ngƣỡng phân loại.




Điểm trong two-step LDA.







Hàm phân biệt của two-step LDA.





Độ lớn của .

Ma trận đơn vị.


Sinh viên thực hiện Đặng Thị Phượng – K54THO
1
PHẦN I: MỞ ĐẦU
1.1. Đặt vấn đề
Trong lĩnh vực học máy (Machine learning), mục tiêu của phân loại thống
kê là sử dụng các đặc trƣng, các thuộc tính của đối tƣợng/dữ liệu để xác định
lớp/nhóm mà đối tƣợng/dữ liệu đó thuộc về. Để xác định lớp/nhóm chính xác cho
đối tƣợng/dữ liệu, cần phải dựa vào việc đo lƣờng các giá trị thuộc tính của đối
tƣợng/dữ liệu và thƣờng biểu diễn dƣới dạng một vectơ, số chiều của vectơ chính

là số thuộc tính của đối tƣợng/dữ liệu.
“Ngày nay, dữ liệu số chiều cao xuất hiện trong hầu khắp các lĩnh vực nhƣ
công nghệ thông tin, tin sinh, thiên văn học,…” [11]. Các kiểu dữ liệu này thƣờng
có số thuộc tính lớn hơn dung lƣợng mẫu của tập dữ liệu. Dữ liệu số chiều cao
(high-dimensional data), có nghĩa là vectơ biểu diễn cho dữ liệu có số chiều nhiều
hơn hai hoặc ba chiều. Trong thống kê nhiều chiều, dữ liệu có số chiều lớn hơn so
với dữ liệu trong thống kê cổ điển [11].
Dữ liệu từ hệ thống giao tiếp não - máy tính (data from brain computer interfaces),
dữ liệu gen và vi mảng (genetic and microarray data), dữ liệu tài chính có tần số
cao (high-frequency financial data) là những dữ liệu có số chiều cao phổ biến. Báo
cáo với hƣớng nghiên cứu về dữ liệu điện não đồ (ElectroEncephaloGraphy - EEG)
có số chiều cao từ hệ thống giao tiếp não - máy tính (Brain Computer Interfaces -
BCI). Mục đích của hệ thống BCI là phân loại dữ liệu điện não đồ tƣơng ứng với
trạng thái của não bộ[1][6].
Một số phƣơng pháp phân loại phổ biến nhƣ phân loại k-nearest neighbor (k-
nearest neighbor classifiers), phân loại tuyến tính (linear classifiers), máy vectơ hỗ
trợ (support vector machines - SVM), mạng nơron (neural networks) và một số
Sinh viên thực hiện Đặng Thị Phượng – K54THO
2
phƣơng pháp khác. Những phƣơng pháp phân loại đơn giản luôn đƣợc chọn thay
cho những phƣơng pháp phân loại phức tạp. Trong số những phƣơng pháp phân
loại trên, phân loại tuyến tính (linear classifiers) là phƣơng pháp duy nhất đƣợc chỉ
ra là phƣơng pháp phân loại đơn giản và cần thiết cho quá trình phân loại. Các
phƣơng pháp còn lại đều là những phƣơng pháp phức tạp và không cần thiết. Đối
với phân loại tuyến tính, phƣơng pháp tiếp cận chủ yếu là phân tích khác biệt tuyến
tính (linear discriminant analysis - LDA). Bởi vì, LDA là phƣơng pháp phân loại
với độ chính xác tƣơng đối. LDA thƣờng sử dụng để phân loại cho hai lớp đối với
tất cả thuộc tính của dữ liệu và có thể mở rộng ra đối với nhiều lớp [13].
Hƣớng nghiên cứu mà báo cáo này tập trung vào là áp dụng phƣơng pháp
LDA cho nhiều bƣớc để phân loại dữ liệu từ hệ thống giao tiếp não - máy tính dựa

trên dữ liệu điện não đồ, thay vì áp dụng nó cho tất cả các thuộc tính cùng một lúc.
Đƣợc sự đồng ý của Khoa Công nghệ thông tin - Trƣờng Đại học Nông nghiệp Hà
Nội và Giảng viên hƣớng dẫn em là TS. Nguyễn Hoàng Huy, em quyết định chọn
đề tài: “Phân tích khác biệt tuyến tính đa bước cho phân loại dữ liệu điện não
đồ số chiều cao” làm khóa luận tốt nghiệp của mình.
1.2. Mục đích đề tài nghiên cứu
- Tìm hiểu phƣơng pháp phân tích khác biệt tuyến tính (LDA).
- Tìm hiểu phƣơng pháp phân tích khác biệt tuyến tính đa bƣớc (multi-step
LDA).
- Tìm hiểu dữ liệu điện não đồ EEG và hệ thống BCI dựa vào EEG.
- Kiểm tra hiệu suất phân loại của phƣơng pháp multi-step LDA đối với phân
loại dữ liệu điện não đồ có số chiều cao.
- Xây dựng kết quả thực nghiệm đối với dữ liệu điện não đồ có số chiều cao.
Sinh viên thực hiện Đặng Thị Phượng – K54THO
3
1.3. Phƣơng pháp nghiên cứu
Nghiên cứu các tài liệu, bài báo, nghiên cứu của các tác giả trong và ngoài
nƣớc về LDA, multi-step LDA, EEG và hệ thống BCI dựa vào EEG, các thông
tin trên Internet.
1.4. Cấu trúc khóa luận
Ngoài các phần mục lục, danh mục bảng, danh mục hình ảnh, danh mục từ
viết tắt, danh mục các ký hiệu, phụ lục, tài liệu tham khảo, khóa luận đƣợc chia
làm 5 phần chính nhƣ sau:
Phần I: Phần mở đầu, nêu vấn đề, mục đích, phƣơng pháp nghiên cứu đề tài
và cấu trúc của khóa luận.
Phần II: Nêu một số kiến thức cơ bản liên quan đến đề tài nghiên cứu của
khóa luận; tìm hiểu phƣơng pháp phân tích khác biệt tuyến tính (LDA) và multi-
step LDA; xây dựng hàm LDA và multi-step LDA.
Phần III: Trình bày về dữ liệu điện não đồ EEG, hệ thống BCI dựa vào
EEG và một số ứng dụng của EEG; tìm hiểu dữ liệu EEG cho hệ thống viết bằng

ý nghĩ.
Phần IV: Xây dựng kết quả thực nghiệm với dữ liệu điện não đồ có số chiều
cao.
Phần V: Tổng kết những kết quả mà khóa luận đã đạt đƣợc và đƣa ra định
hƣớng phát triển tiếp theo cho đề tài.

Sinh viên thực hiện Đặng Thị Phượng – K54THO
4
PHẦN II: PHÂN TÍCH KHÁC BIỆT TUYẾN TÍNH
(Linear Discriminant Analysis)
2.1. Một số kiến thức cơ bản
2.1.1. Dữ liệu
Dữ liệu là các đối tƣợng, hình ảnh, chuỗi các bit, số, ký hiệu mà máy tính có
thể lƣu trữ, biểu diễn và xử lý trong công việc hàng ngày [14].
Ví dụ: Một danh sách sinh viên có các thông tin sau: Mã sinh viên, Họ tên,
Điểm tích lũy. Muốn lƣu trữ thông tin của sinh viên ta cần ghi các thông tin đó
thành chuỗi các bit lƣu trữ dƣới dạng dữ liệu trong máy tính để quá trình xử lý về
sau dễ dàng.
2.1.2. Phân bố của dữ liệu
Phân bố của dữ liệu là độ dày đặc hay thƣa thớt của số liệu trong các miền
dữ liệu khác nhau, sự phân bố đó đƣợc thể hiện qua biểu đồ tần số và biểu đồ tần
suất:
- Biểu đồ tần số là một dạng biểu đồ cột đơn giản, biểu diễn  lần xuất
hiện của mỗi giá trị trong tập n dữ liệu.
- Tỉ số


là tần suất xuất hiện của giá trị, biểu đồ tần suất dùng để biểu
diễn tỉ số đó.
- Ví dụ: Cho dữ liệu A là chiều dài của 31 con cá:




Sinh viên thực hiện Đặng Thị Phượng – K54THO
5
Bảng 2.1. Bảng dữ liệu chiều dài của 31 con cá
30
30
25
25
35
45
40
40
35
45
25
45
30
30
30
40
30
25
45
45
35
35
30
40

40
40
35
35
35
35
35

Mô tả sự phân bố của dữ liệu A qua biểu đồ biểu diễn tần số và tần suất:

Hình 2.1. Biểu đồ biểu diễn tần số và tần suất của dữ liệu A
2.1.3. Phân bố lý thuyết
Phân bố của dữ liệu đƣợc mô hình hóa bởi các phân bố lý thuyết nhƣ phân
bố chuẩn và phân bố đều.
Biến ngẫu nhiên là phép đặt tƣơng ứng các kết quả có thể của phép thử ngẫu
nhiên vào tập số thực . Biến ngẫu nhiên gồm có hai loại: Biến ngẫu nhiên rời rạc
0.00%
5.00%
10.00%
15.00%
20.00%
25.00%
30.00%
35.00%
0
1
2
3
4
5

6
7
8
9
10
25 30 35 40 45
Sinh viên thực hiện Đặng Thị Phượng – K54THO
6
là loại biến ngẫu nhiên chỉ nhận một số hữu hạn hay vô hạn đếm đƣợc các giá trị.
Và biến ngẫu nhiên liên tục là loại biến ngẫu nhiên có thể nhận các giá trị trong
một khoảng hoặc một số khoảng giá trị thực nào đó [2].
Hàm mật độ xác suất  của biến ngẫu nhiên liên tục  là hàm số xác định
trên  thỏa mãn












- Phân bố chuẩn
Phân bố chuẩn đƣợc Gauss tìm ra năm 1809 nên nó còn đƣợc gọi là phân bố
Gauss [2], là một phân bố xác suất đƣợc dùng trong nhiều lĩnh vực. Nó là họ phân
bố có hàm mật độ phân bố tƣơng tự nhau, chỉ khác tham số giá trị trung bình  và
phƣơng sai 


. Hàm mật độ xác suất của phân bố chuẩn với biến ngẫu nhiên ,
phụ thuộc vào hai tham số là giá trị trung bình  và phƣơng sai 

[14]:











 





Phân bố chuẩn chuẩn hóa (Standard Normal Distribution) là phân bố chuẩn
với giá trị trung bình bằng 0 và phƣơng sai bằng 1 (đƣờng cong màu đỏ trong hình
bên dƣới). Phân bố chuẩn là phân bố mà hàm mật độ có dạng hình chuông, vì đồ
thị của hàm mật độ xác suất có dạng chuông. Hàm mật độ xác suất đƣợc rút gọn
thành [14]:














Sinh viên thực hiện Đặng Thị Phượng – K54THO
7

Hình 2.2. Đồ thị hàm mật độ xác suất của phân bố chuẩn [14]
Dữ liệu phân bố chủ yếu xung quanh giá trị trung bình  và thƣa thớt dần về
hai bên.
- Phân bố đều [14]
Phân bố đều là một phân bố mà xác suất xảy ra nhƣ nhau cho mọi kết quả
của biến ngẫu nhiên liên tục. Hàm mật độ xác suất của phân bố đều với biến ngẫu
nhiên liên tục , giá trị cực tiểu  và giá trị cực đại , có dạng:






  




Sinh viên thực hiện Đặng Thị Phượng – K54THO
8

Hình 2.3. Đồ thị hàm mật độ xác suất của phân bố đều [14]
Dữ liệu đƣợc mô phỏng ngẫu nhiên trong đoạn [a, b] và phân bố đều trong
đoạn đó.
Mô phỏng các phân bố ngẫu nhiên là sử dụng các chƣơng trình máy tính
sinh ra dữ liệu một cách ngẫu nhiên theo phân bố xác định nào đó.
Ví dụ: Cho dữ liệu B phân bố đều trong đoạn [0,1] và đƣợc sinh ngẫu nhiên
1000 lần. Sử dụng lệnh B = rand(1000,1) trong Matlab, kết quả của lệnh là một ma
trận gồm 1000 hàng và 1 cột, chứa toàn bộ dữ liệu B, biểu diễn dữ liệu B dƣới
dạng biểu đồ tần số nhƣ sau:
Sinh viên thực hiện Đặng Thị Phượng – K54THO
9

Hình 2.4. Biểu đồ tần số của dữ liệu B
2.1.4. Phân bố chuẩn nhiều chiều [14]
Phân bố chuẩn nhiều chiều đôi khi đƣợc gọi là phân bố Gauss nhiều chiều, là
tổng quát hóa của phân bố chuẩn một chiều (còn gọi là phân bố Gauss) cho không
gian nhiều chiều hơn.
Vectơ ngẫu nhiên  có  chiều đƣợc ký hiệu là 













, trong đó các thành phần của nó là các biến ngẫu nhiên độc lập tuân theo phân
bố chuẩn chuẩn hóa; vectơ trung bình , đƣợc ký hiệu là 










ma trận hiệp phƣơng sai  kích thƣớc   .
Trong thống kê, vectơ trung bình  của vectơ ngẫu nhiên  đƣợc xác định
bởi
Sinh viên thực hiện Đặng Thị Phượng – K54THO
10














.
Và ma trận hiệp phƣơng sai  của vectơ ngẫu nhiên  đƣợc xác định bởi















 




 












 







 





 






 





 











 













 










 





 







 





 








 















 


  









.
Hàm mật độ của vectơ ngẫu nhiên 









là hàm









thỏa mãn




















  




























Vectơ ngẫu nhiên  tuân theo phân bố chuẩn nhiều chiều với vectơ trung
bình  và ma trận hiệp phƣơng sai  nh thc là



, hàm mật độ xác suất
đƣợc cho bởi:

























 





 



Sinh viên thực hiện Đặng Thị Phượng – K54THO
11
Ví dụ: Vẽ biểu đồ mô phỏng hàm mật độ xác suất của phân bố chuẩn với số
chiều là 2.
function ham_mat_do_xac_suat(mu, sigma, x1, x2)

[X1,X2] = meshgrid(x1,x2);
F = mvnpdf([X1(:) X2(:)], mu, sigma);
F = reshape(F, length(x2), length(x1));
surf(x1, x2, F);
caxis([min(F(:))-0.5*range(F(:)), max(F(:))]);
axis([min(x1(:)) max(x1(:)) min(x2(:)) max(x2(:)) min(F(:))
max(F(:))])
xlabel('x1');
ylabel('x2');
zlabel('Ham Mat Do Xac Suat');
end.
Giá trị thử nghiệm cho hàm ham_mat_do_xac_suat():
mu = [0 0];
sigma = [0.25 0.3; 0.3 1];
x1 = -3:0.2:3;
x2 = -3:0.2:3;
Sinh viên thực hiện Đặng Thị Phượng – K54THO
12

Hình 2.5. Biểu đồ mô phỏng hàm mật độ xác suất của phân bố chuẩn hai
chiều
Ví dụ: Mô phỏng phân bố chuẩn nhiều chiều bằng Matlab với số chiều là 2,
thực hiện bằng các lệnh nhƣ sau:
function r = mo_phong_nhieu_chieu(mu,sigma)
r=mvnrnd(mu,sigma,100); %ham sinh vecto ngau nhien
plot(r(:,1),r(:,2),'r*') %ham tao bieu do
end.
Giá trị thử nghiệm cho hàm mo_phong_nhieu_chieu():
mu=[1 3]; %vecto trung binh
sigma=[1 0.5;0.5 2.5]; %vecto ma tran hiep phuong sai


Sinh viên thực hiện Đặng Thị Phượng – K54THO
13

Hình 2.6. Biểu đồ mô phỏng phân bố chuẩn 2 chiều bằng Matlab
2.2. Bài toán phân loại
Mỗi đối tƣợng có vectơ biểu diễn 

và thuộc vào một trong  lớp
tƣơng ứng, với .
Giả sử có  đối tƣợng với vectơ biểu diễn tƣơng ứng








và đã
biết lớp tƣơng ứng của các








. Dữ liệu về  đối tƣợng này gọi là dữ

liệu huấn luyện.
Xây dựng hàm phân loại 

, hàm phân loại có thể dự
đoán lớp tƣơng ứng cho đối tƣợng mới có vectơ biểu diễn 

với độ chính xác
càng cao càng tốt.
Sinh viên thực hiện Đặng Thị Phượng – K54THO
14
2.3. Tỉ số lỗi
Mục đích của bài toán phân loại là phân loại đối tƣợng mới dựa vào vectơ
biểu diễn  vào đúng lớp  tƣơng ứng của nó, sao cho xác suất phân loại sai  là
nhỏ nhất, xác suất phân loại sai đó hay còn gọi là tỉ số lỗi của hàm phân loại.
Tỉ số lỗi lý thuyết của hàm phân loại 

:








,
trong đó,  là lớp thực tƣơng ứng với .
Trong thực nghiệm, chỉ có thể xấp xỉ tỉ số lỗi lý thuyết trên dữ liệu kiểm tra
và độc lập hoàn toàn với dữ liệu huấn luyện. Tỉ số lỗi của hàm phân loại xấp xỉ tỉ
số giữa số đối tƣợng bị phân loại sai với  đối tƣợng trong dữ liệu kiểm tra.

2.4. Phân tích khác biệt tuyến tính
Phân tích khác biệt tuyến tính, có tên tiếng anh là Linear Discriminant
Analysis (LDA), là một phƣơng pháp thống kê cổ điển, đƣợc phát triển vào năm
1936 bởi R.A. Fisher.
LDA đƣợc sử dụng thành công trong những vấn đề phân loại dữ liệu và tìm
kiếm một sự kết hợp tuyến tính của các thuộc tính đặc trƣng nhất hoặc tách hai hay
nhiều lớp của đối tƣợng hoặc sự kiện. Kết quả của sự kết hợp có thể đƣợc sử dụng
nhƣ một bộ phân loại tuyến tính (linear classifier) hoặc phổ biến hơn đối với giảm
số chiều (dimensionality reduction) trƣớc khi phân loại cuối [14].
2.4.1. Mô hình LDA lý thuyết
Trong không gian  chiều, có hai lớp chứa đối tƣợng. Mỗi đối tƣợng đƣợc
cho bởi một vectơ biểu diễn 

. Sự phân bố của các đối tƣợng trong hai lớp
đều tuân theo phân bố chuẩn, với tham số vectơ trung bình  và ma trận hiệp
Sinh viên thực hiện Đặng Thị Phượng – K54THO
15
phƣơng sai . Sự phân bố đó tuân theo hai phân bố chuẩn có cùng ma trận hiệp
phƣơng sai  và vectơ trung bình khác nhau 



.
Vấn đề ở đây là cần phân loại đối tƣợng vào đúng lớp mà đối tƣợng đó thuộc
về. Đối tƣợng có thể thuộc vào lớp thứ nhất hoặc lớp thứ hai. Để phân loại đối
tƣợng về các lớp tƣơng ứng cần dựa vào vectơ biểu diễn , khi đó, vectơ  sẽ
tƣơng đƣơng với các phân bố chuẩn, đƣợc biểu diễn nhƣ sau:





 hoặc 




Việc phân loại đối tƣợng sẽ hiệu quả hơn khi ta xây dựng các hàm phân biệt
cho các thuộc tính của đối tƣợng.
Trong trƣờng hợp này, ta tiến hành xây dựng hàm phân tích khác biệt tuyến
tính cho các thuộc tính (hay các phần tử) của đối tƣợng (hay vectơ biểu diễn ).
Hàm phân biệt tuyến tính của  (với ) đƣợc xác định bởi:







 










.



là giá trị của hàm phân biệt tuyến tính và đƣợc xác định trong lý thuyết.
2.4.2. Mô hình LDA thực nghiệm
Giả sử có  dữ liệu huấn luyện








, trong không gian  chiều
xét vectơ biểu diễn













Áp dụng phân tích khác biệt tuyến tính cho hai lớp



, với  và 







Xác định giá trị vectơ trung bình cho các lớp
Sinh viên thực hiện Đặng Thị Phượng – K54THO
16




















trong đó, 

; 











; 











;



 

.



 



Ma trận hiệp phƣơng sai mẫu 

cho các lớp







 


 




 











 








 








 

Ta xây dựng đƣợc hàm phân biệt tuyến tính của  nhƣ sau:









 








 



Đặt 






, giá trị  là dùng để ƣớc lƣợng dữ liệu 


vào lớp tƣơng ứng
cụ thể, gọi là ngƣỡng phân loại.
Trong đó: 





là xác suất của lớp thứ nhất,






là xác suất của lớp thứ hai
- Nếu 





 



(lớp thứ nhất)
- Nếu 






 



(lớp thứ hai)
Hàm phân biệt tuyến tính thực nghiệm của  đƣợc xác định bởi:
Sinh viên thực hiện Đặng Thị Phượng – K54THO
17








 









 




2.4.3. Xây dựng hàm phân biệt của LDA
 Giá trị đầu vào: train_data – là ma trận 2 chiều (, _dung lƣợng mẫu
và _số chiều) chứa tập dữ liệu huấn luyện (training data); train_label – là
ma trận cột ( x 1) chứa nhãn hay lớp của dữ liệu; test_data – là ma trận 2
chiều (  ) chứa tập dữ liệu kiểm tra (test data).
 Giá trị đầu ra: score – là ma trận chứa giá trị hàm phân biệt của LDA; w – là
biến chứa giá trị của tích: 






 


.
 Chƣơng trình đƣợc viết trên Matlab, nhƣ sau:
function [score, w] = lda(train_data, train_label, test_data)
mu1=mean(train_data(train_label ==1,:),1);
mu2=mean(train_data(train_label ~=1,:),1);
mu=(mu1+mu2)/2;
sigma1 = cov(train_data(train_label ==1,:));
sigma2 = cov(train_data(train_label ~=1,:));
m1 = sum(train_label == 1);
m2 = sum(train_label ~=1);
sigma = ((m1-1)*sigma1+(m2-1)*sigma2)/(m1+m2-2);

w = (mu1-mu2)*pinv(sigma);
score = (test_data-repmat(mu,size(test_data,1),1))*w';
end.
2.5. Phân tích khác biệt tuyến tính đƣợc chính quy hóa (Regularized LDA) [8]
Khi dung lƣợng mẫu  của dữ liệu huấn luyện lớn hơn số thuộc tính ,
nhƣng về độ lớn giống nhƣ  : 



, sai số cộng dồn khi ƣớc lƣợng rất nhiều

×