Trong phần tiếp theo, bài báo cáo sẽ giới thiệu một bài toán cụ thể liên quan đến đo điện cơ EMG, một phương pháp ghi lại hoạt động điện của các cơ bắp, sử dụng các số liệu giả định và á
Trang 1BÁO CÁO BÀI TẬP LỚN
MÔN ĐẠI SỐ TUYẾN TÍNH
ĐỀ TÀI: LDA-GIẢM CHIỀU DỮ LIỆU
NHÓM 05 - LỚP P02
GVHD: TS Đặng Văn Vinh SV: Huỳnh Tuấn Kiệt - 2411780 Lưu Thành Lực - 2411986 Nguyễn Huy Hoàng Kim - 2411812 Nguyễn Tuấn Kiệt - 2411791 Phạm Quốc Lợi - 2452708
Vũ Cát Tường Linh - 2411902 Trần Đặng Nhật Minh - 2412120
TP HỒ CHÍ MINH, THÁNG 11/2024
Trang 22 Cơ sở lý thuyết 3
2.1 Giảm chiều dữ liệu 3
2.2 Giới thiệu LDA 3
2.3 Linear Discriminant Analysis với 2 Classes 3
2.3.1 Ma trận đối xứng nửa xác định dương, ma trận đối xứng xác định dương, chuẩn Frobenius 3
2.3.1.a Ma trận đối xứng nửa xác định dương, ma trận đối xứng xác định dương 3
2.3.1.b Chuẩn Frobenius 3
2.3.2 Ý tưởng cơ bản 4
2.3.3 Xây dựng hàm mục tiêu 5
2.3.4 Nghiệm của hàm mục tiêu 6
2.4 Linear Discriminant Analysis với C lớp (C ≥ 3) 7
2.4.1 Xây dựng hàm mục tiêu 7
2.4.1.a Trong lớp 7
2.4.1.b Giữa các lớp 8
2.4.2 Nghiệm của hàm mục tiêu 8
2.5 Ưu và nhược điểm của phương pháp Linear Discriminant Analysis 9
3 Ứng dụng của LDA trong vấn đề thực tiễn 10 3.1 Giới thiệu về EMG (ELECTROMYOGRAPHY) 10
3.1.1 Khái quát về EMG 10
3.1.2 Nguyên lý hoạt động của EMG 10
3.1.3 Quy trình thực hiện EMG 11
3.2 Áp dụng phương pháp LDA để xử lý tín hiệu EMG 11
3.2.1 Bảng dữ liệu đầu vào 11
3.2.2 Thuật toán 11
3.2.3 Xử lí dữ liệu thông qua Matlab 12
3.3 Một số ứng dụng khác 15
3.3.1 Đánh giá rủi ro tín dụng trong tài chính 15
3.3.2 Chẩn đoán bệnh trong chăm sóc sức khỏe 15
3.3.3 Phân loại văn bản và phân tích ngữ nghĩa 16
Trang 31 Lời mở đầu
Phân tích phân biệt tuyến tính (LDA) dựa trên phân biệt tuyến tính của Fisher, một phương pháp thống kê được phát triển bởi Ngài Ronald Fisher vào những năm 1930 và sau đó được C.R.Rao đơn giản hóa thành một phiên bản đa lớp Phương pháp của Fisher nhằm mục đích xác định sự kết hợp tuyến tính của các đặc điểm phân biệt giữa hai hoặc nhiều loại đối tượng hoặc sự kiện được gắn nhãn Linear Discriminant Analysis (LDA) là một trong những phương pháp quan trọng nhất trong học máy (Machine Learning), đóng vai trò quan trọng trong việc giảm chiều dữ liệu và phân loại các nguồn thông tin lớn và phức tạp có giám sát Bài báo cáo này nhằm mục đích cung cấp một cái nhìn tổng quan về cơ sở lý thuyết của LDA và minh họa ứng dụng của nó trong một vấn đề y học - đo điện cơ EMG (Electromyography)
Trước nhất, bài báo cáo sẽ trình bày cơ sở lý thuyết của LDA, bao gồm các khái niệm cơ bản, cách thức xây dựng thuật toán Trong phần tiếp theo, bài báo cáo sẽ giới thiệu một bài toán cụ thể liên quan đến đo điện cơ EMG, một phương pháp ghi lại hoạt động điện của các cơ bắp, sử dụng các số liệu giả định và áp dụng LDA để giảm chiều dữ liệu, từ đó giúp quá trình phân tích
và xử lý dữ liệu trở nên hiệu quả hơn Cuối cùng, đoạn lập trình cho thuật toán LDA, minh họa cho bài toán đo điện cơ EMG, sẽ được giới thiệu Điều này giúp người đọc có thể dễ dàng hiểu
và áp dụng LDA trong các tình huống thực tế
Chúng em xin gửi lời cảm ơn chân thành đến thầy Đặng Văn Vinh, người đã hướng dẫn và
hỗ trợ chúng em trong quá trình thực hiện bài báo cáo này Những kiến thức và sự hướng dẫn tận tình của thầy là nguồn động lực, sự hỗ trợ sâu sắc giúp chúng em hoàn thành báo cáo một cách hoàn thiện nhất
Trong quá trình thực hiện, chúng em đã cố gắng hết sức để đảm bảo tính chính xác và đầy
đủ của thông tin Tuy nhiên, bài báo cáo không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm và góp ý từ thầy để báo cáo này có thể được hoàn thiện hơn Chúng em xin chân thành cảm ơn thầy
Trang 42 Cơ sở lý thuyết
2.1 Giảm chiều dữ liệu
Giảm chiều dữ liệu (Dimensionality Reduction) là một trong những kỹ thuật quan trọng trong Machine Learning Các vectơ đặc trưng trong các bài toán thực tế có thể có số chiều rất lớn, thậm chí hàng triệu Ngoài ra, số lượng các điểm dữ liệu cũng thường rất lớn Nếu thực hiện lưu trữ và tính toán trực tiếp trên dữ liệu có số chiều cao này thì sẽ gặp khó khăn cả về việc lưu trữ và tốc độ tính toán Vì vậy, giảm số chiều dữ liệu là một bước quan trọng trong nhiều bài toán Đây cũng được coi là một phương pháp nén dữ liệu
Dimensionality Reduction, nói một cách đơn giản, là việc đi tìm một ánh xạ, ánh xạ này lấy đầu vào là một điểm dữ liệu ban đầu x thuộc RD với D rất lớn, và tạo ra 1 điểm dữ liệu mới z thuộc RK có số chiều K < D
2.2 Giới thiệu LDA
LDA (Linear Discriminant Analysis) là một phương pháp giảm chiều dữ liệu trong bài toán classification bằng một biến đổi tuyến tính giảm số chiều của dữ liệu nhỏ hơn C (với C là số lớp của mô hình) nhưng vẫn giữ được các chất lượng phân loại của mô hình
Mục tiêu của LDA là tìm tập các thuộc tính tốt nhất để mô tả đối tượng Mục đích là từ tập các thuộc tính mô tả đối tượng ban đầu (thường rất lớn) tìm ra tập các thuộc tính tốt nhất
để biểu diễn cho đối tượng nhằm làm giảm số chiều biểu diễn đối tượng từ đó làm giảm chi phí tính toán của các mô hình khai phá dữ liệu nhưng chất lượng của mô hình vẫn đảm bảo 2.3 Linear Discriminant Analysis với 2 Classes
2.3.1 Ma trận đối xứng nửa xác định dương, ma trận đối xứng xác định dương,
chuẩn Frobenius
2.3.1.a Ma trận đối xứng nửa xác định dương, ma trận đối xứng xác định dương Một ma trận vuông A kích thước n × n được gọi là nửa xác định dương nếu nó thỏa mãn điều kiện sau:
• A là ma trận đối xứng
• Tất cả các giá trị riêng của ma trận A đều không âm
• Với mọi vector x khác vectơ không, ta có xTAx ≥ 0
Vẫn giữ các điều kiện trên nhưng khi xTAx > 0 thì A là ma trận đối xứng xác định dương 2.3.1.b Chuẩn Frobenius
Cho ma trận A ∈ Rm×n, chuẩn Frobenius của ma trận này được định nghĩa là căn bậc hai của tổng bình phương tất cả các phần tử của ma trận:
∥A∥F =
v u
m
X
i=1
n
X
j=1
|aij|2
và
∥A∥2
F =
m
X
i=1
n
X
j=1
|aij|2
Trang 52.3.2 Ý tưởng cơ bản
Giả sử có N điểm dữ liệu x1, x2, , xN trong đó N1< N thuộc lớp thứ nhất, N2= N − N1
điểm cuối cùng thuộc lớp thứ hai Nhiệm vụ của LDA là tìm một phép chiếu sao cho các điểm
dữ liệu thuộc các lớp khác nhau được chiếu lên một đường thẳng để tối đa hóa khoảng cách giữa các điểm trung bình của các lớp trên đường thẳng đó và đồng thời giảm thiểu sự phân tán của các điểm dữ liệu trong từng lớp nhằm làm các điểm dữ liệu được chiếu lên một đường thẳng phân biệt nhất
Sau khi thực hiện phép chiếu lên 3 đường thẳng phân biệt, ta dùng đường cong hình chuông thể hiện đồ thị của các hàm mật độ xác suất của dữ liệu được chiếu xuống theo từng lớp Ta sẽ khảo sát khoảng cách kì vọng (khoảng giữa các điểm trung bình) giữa 2 lớp và tổng phương sai
Hình 1: Biểu diễn sự phân bố của các điểm dữ liệu trong các lớp sau phép chiếu lên đường thẳng
• Ở hình 1a, dữ liệu ở cả 2 lớp quá phân tán dẫn đến tỉ lệ phần chồng lên nhau lớn (phần màu xám) Do đó, độ đặc trưng của mỗi lớp chưa được phân biệt rõ
Trang 6• Ở hình 1b, tuy dữ liệu trong mỗi lớp ít phân tán, tập trung hơn nhưng khoảng cách giữa hai kì vọng là quá nhỏ, dẫn đến tỉ lệ phần chồng lên nhau của 2 lớp lớn, và điều này cũng không tốt để phân loại hai lớp
• Ở hình 1c, độ lệch chuẩn của mỗi lớp và khoảng cách kì vọng lớn, phần chồng lên nhau chiếm tỉ lệ nhỏ, việc phân loại hai lớp đảm bảo tính chính xác
Độ lệch chuẩn được biểu diễn thông qua hai phương sai s2, s2 (còn được gọi là within-class variances) Khi độ lệch chuẩn nhỏ thì dữ liệu trong mỗi lớp ít bị phân tán
Khoảng cách giữa hai kì vọng được biểu diễn thông qua bình phương khoảng cách giữa hai
kì vọng (trung bình của dữ liệu mới của mỗi lớp), hay (m1− m2)2 (còn gọi là between-class variance) Khi đại lượng này lớn thì chứng tỏ hai lớp sau phép chiếu nằm xa nhau
Do đó Linear Discriminant Analysis là thuật toán đi tìm một phép chiếu sao cho tỉ lệ giữa between-class variance và within-class variance lớn nhất có thể
2.3.3 Xây dựng hàm mục tiêu
Với bài toán vừa nêu trên, ta có C1= {n | 1 ≤ n ≤ N1} là tập hợp các chỉ số của các điểm thuộc lớp 1 và C2= {m | N1+ 1 ≤ m ≤ N } là tập hợp các chỉ số của các điểm thuộc lớp 2 Phép chiếu
dữ liệu xuống 1 đường thẳng có thể được mô tả bằng một vector hệ số w, giá trị tương ứng của mỗi điểm dữ liệu mới được cho bởi:
yn= wTxn, 1 ≤ n ≤ N Với yn là phép chiếu của điểm dữ liệu xn lên vector ⃗w, vector này được chọn sao cho phân biệt các lớp tốt nhất trên đường thẳng mới
Vector trung bình lớp thứ k:
mk= 1
nk
X
n∈Ck
xn, k = 1, 2 (1)
mk đại diện cho trung bình tất cả các điểm dữ liệu trong lớp Ck (đóng vai trò trung tâm cho lớp đó khi tính toán mức độ phân tán của các điểm dữ liệu quanh điểm trung bình của chúng) Khi đó:
m∗1− m∗2= 1
N1
X
i∈C1
yi− 1
N2
X
j∈C2
yj = WT(m1− m2) (2)
(vector ⃗w được dùng để biến đổi dữ liệu từ không gian gốc (với chiều cao) thành không gian ít chiều hơn (không gian 1 chiều) sao cho các lớp được phân tách tốt nhất) Ta cần tìm vector ⃗w sao cho khoảng cách giữa hai trung bình m1 và m2 sau khi chiếu ( qua ⃗w) được tối đa hóa Các phương sai trong lớp được định nghĩa là:
s2k = X
n∈Ck
(yn− m∗k)2, k = 1, 2 (3)
Chú ý rằng các within-class variances ở đây không được lấy trung bình như variance thông thường Điều này được lý giải là tầm quan trọng của mỗi within-class variance nên tỷ lệ thuận với số lượng điểm dữ liệu nằm trong class đó Thế nên ta không chia trung bình nữa
LDA là thuật toán đi tìm giá trị lớn nhất của hàm mục tiêu:
f (w) = (m
∗
1− m∗
2)2
s2
1+ s2 2
(4)
Trang 7Tiếp theo, chúng ta sẽ đi tìm biểu thức phụ thuộc giữa tử số và mẫu số trong vế phải của (4) vào w:
Với tử số:
(m∗1− m∗2)2= wT(m1− m2)(m1− m2)Tw = wTSBw (5)
SB còn được gọi là between-class covariance matrix Đây là một ma trận đối xứng nửa xác định dương
Với mẫu số:
s21+ s22=
2
X
k=1
X
n∈Ck
(wT(xn− mk))2= wT
2
X
k=1
X
n∈Ck
(xn− mk)(xn− mk)Tw = wTSww (6)
Sw còn được gọi là within-class covariance matrix Đây cũng là một ma trận đối xứng nửa xác định dương vì nó là tổng của hai ma trận đối xứng nửa xác định dương
Trong (5) và (6), ta đã sử dụng đẳng thức:
(aTb)2= (aTb)(aTb) = aTbbTa, với a, b là 2 vector cùng chiều bất kỳ
Như vậy, bài toán tối ưu cho LDA trở thành:
w = arg max
w
wTSBw
wTSww 2.3.4 Nghiệm của hàm mục tiêu
Nghiệm của hàm mục tiêu là không điểm của đạo hàm
Sử dụng công thức ∇w(wTAw) = 2Aw
Ta có
∇wf (w) = 1
(wTSww)2 2SBw(wTSww) − 2wTSBwTSww = 0 (7)
⇔ SBw = w
TSBw
wTSwwSww (8)
⇒ S−1
w SBw = f (w)w (9) Trong (9), ta đã giả sử rằng ma trận SW là khả nghịch Điều này không luôn luôn đúng, nhưng
ta sẽ xử lí thông qua kĩ thuật xấp xỉ SW bởi ¯Sw≈ Sw+ λI, với λ là một số thực dương nhỏ Ma trận mới này là khả nghịch vì trị riêng nhỏ nhất của nó bằng với trị riêng nhỏ nhất của Swcộng với λ tức không nhỏ hơn λ > 0 Điều này được suy ra từ việc Sw là một ma trận nửa xác định dương Từ đó suy ra ¯Sw là một ma trận xác định dương vì mọi trị riêng của nó là thực dương,
và vì thế, nó khả nghịch Khi tính toán, ta có thể sử dụng nghịch đảo của ¯Sw
Việc tìm w đưa về việc tìm trị riêng lớn nhất của Sw−1SB
Gọi α là trị riêng lớn nhất của Sw−1SB Gọi w0 là một véctơ riêng của Sw−1SB ứng với α
• Nhận xét 1: Nếu x là nghiệm của bài toán thì k.x (k ∈ R∗) cũng là nghiệm của bài toán
Vì (m1− m2)T.w là một số vô hướng nên ta có thể chọn w (theo nhận xét 1) sao cho
(m1− m2)T.w = α
Trang 8Khi đó, ta có: α.w = Sw−1SB.w = Sw−1(m1− m2)(m1− m2)Tw = S−1w (m1− m2).α
Suy ra:
w = Sw−1(m1− m2)
Vì các biến đổi trên là tương đương nên ta có w = Sw−1(m1− m2) là một nghiệm của bài toán
Khi đó theo (9), f (w) đạt giá trị lớn nhất
2.4 Linear Discriminant Analysis với C lớp (C ≥ 3)
2.4.1 Xây dựng hàm mục tiêu
Giả sử rằng chiều của dữ liệu D lớn hơn số lớp C (mục đích chính là đảm bảo ta có đủ thông tin
để phân biệt giữa các lớp với nhau Khi D lớn hơn C, điều đó có nghĩa là mỗi lớp có thể được
đại diện bởi một số lượng lớn các đặc trưng, giúp mô hình dễ dàng tìm ra các ranh giới phân
loại rõ ràng hơn giữa các lớp Hơn nữa, trong quá trình giảm chiều (từ D xuống D’), ta muốn
giữ lại những thông tin quan trọng nhất để phân biệt giữa các lớp Nếu số chiều D ban đầu nhỏ
hơn hoặc bằng số lượng lớp C, việc phân biệt các lớp sẽ trở nên khó khăn hơn vì có ít thông tin
đặc trưng hơn Giả định này giúp đảm bảo rằng sau khi giảm chiều, dữ liệu vẫn giữ lại được các
đặc trưng quan trọng và có đủ khả năng phân loại chính xác.)
Giả sử chiều chúng ta muốn giảm về là D’ < D và dữ liệu mới ứng với mỗi điểm dữ liệu x là:
y = WTx, với W ∈ RDxD′
Một vài ký hiệu:
• Xk, Yk = WTXk lần lượt là ma trận dữ liệu của class k trong không gian ban đầu và
không gian mới với số chiều nhỏ hơn
• mk = 1
N k
P
n∈Ck
xk∈ RD là vector trung bình lớp thứ k trong không gian ban đầu
• ek =N1
k
P
n∈Ck
yn = WTmk ∈ RD′ là vector trung bình lớp thứ k trong không gian mới
⃗
m là vector trung bình của toàn bộ dữ liệu trong không gian ban đầu và ⃗e là vector trung
bình của toàn bộ dữ liệu trong không gian mới
2.4.1.a Trong lớp
Phương sai trong lớp k được tính như sau:
σk = X
n∈C k
||yn− ek||2
F = ∥Yk− Ek∥2= ∥WT(Xk− Mk)∥2F = trace(WT(Xk− Mk)(Xk− Mk)TW ) (10)
Với ⃗Ek là một ma trận có các cột giống hệt nhau và bằng với vector trung bình ⃗ek
Ek= WTMk với Mk là ma trận có các cột giống hệt nhau và bằng với vector trung bình ⃗mk
Tổng phương sai trong lớp:
sw=
C
X
k=1
σk =
C
X
k=1
trace(WT(Xk− Mk)(Xk− Mk)TW ) = trace(WTSWW ) (11)
Trang 9với SW =
C
X
k=1
||Xk− Mk||2F =
C
X
k=1
X
n∈Ck
(xn− mk)(xn− mk)T (12)
2.4.1.b Giữa các lớp
Tổng phương sai giữa các lớp:
sB =
C
X
k=1
Nk||ek− e||2F =
C
X
k=1
||Ek− E||2F (13)
Với Nk là số phần tử ở lớp thứ k, ta lấy Nk làm trọng số vì có thể có những lớp có nhiều phần tử so với các lớp còn lại Chú ý rằng ma trận E có thể có số cột linh động, phụ thuộc vào
số cột của ma trận Ek mà nó đi cùng (và bằng Nk)
Lập luận tương tự (11), (12) ta được:
sB= trace(WTSBW ) (14)
với SB=
C
X
k=1
(Mk− M )(Mk− M )T =
C
X
k=1
Nk(mk− m)(mk− m)T (15)
và số cột của ma trận M cũng linh động theo số cột của Mk
Từ đó, ta xây dựng được hàm mục tiêu:
F (W ) = trace(W
TSBW ) trace(WTSWW ) 2.4.2 Nghiệm của hàm mục tiêu
Gọi C là số lớp (C ≥ 3) Ta có bổ đề sau:
rankSB ≤ C − 1 (∗∗) Khi đó
rankSW−1SB≤ rankSB ≤ C − 1
Vì số lượng lớn nhất các vectơ riêng độc lập tuyến tính ứng với 1 trị riêng chính là rank của không gian riêng ứng với trị riêng đó, đồng thời không thể lớn hơn rank của ma trận nên số lượng lớn nhất các véctơ ứng với trị riêng lớn nhất của SW−1SB không vượt quá hạng của nó, tức
là không vượt quá C − 1, ta đặt là l (l ≤ C − 1)
Ta có hàm mục tiêu:
F (W ) = trace(W
TSBW ) trace(WTSWW ) Kết hợp với công thức ∇Wtrace(WTAW ) = 2AW, ta có
∇WF (W ) = 2 SBW trace(W
TSWW ) − trace(WTSBW )SWW (trace(WTSWW ))2 = 0
⇔ SBW = trace(w
TSBW ) trace(wTSWW )SWW
Trang 10⇒ S−1WSBW = F (W )W Lập luận tương tự với trường hợp 2 classes, ta có:
WT = [w1w2 wl] với wi (i = 1, l) là các vectơ riêng tương ứng với trị riêng lớn nhất của SW−1SB (xếp các wi theo cột)
Quá trình biến đổi dữ liệu có thể mô tả như sau, ta có các điểm dữ liệu xm×i (i = 1, l, n là
số điểm dữ liệu, m là số đặc trưng ), ma trận W
x(1)1×m=x1,1 x2,1 xm,1; x(2)1×m=x1,2 x2,2 xm,2; ; x(n)1×m=x1,n x2,n xm,n
và WT
m×l=w1 w2 wl
Sau biến đổi, ta thu được bộ dữ liệu Yn×l
Y = WTX
Xn×m=
x11 x21 xm1
x12 x22 xm2
. . .
x1n x2n xmn
=⇒ Yn×l=
y11 y21 yl1
y12 y22 yl2
. . .
y1n y2n yln
Nhận xét 2
• Ta thấy rằng chiều của dữ liệu giảm từ n × m xuống còn n × l (với l ≤ C − 1)
2.5 Ưu và nhược điểm của phương pháp Linear Discriminant Analysis
Ưu điểm:
• Tính toán nhanh chóng và không yêu cầu nhiều tài nguyên, sai số thấp trong phương pháp phân loại (Classification)
• Hiệu quả với dữ liệu có nhiều chiều
• Có khả năng giải quyết vấn đề đa cộng tuyến, tức là hiện tượng tồn tại mối tương quan cao giữa các đặc trưng khác nhau Nó thực hiện điều này bằng cách chuyển đổi dữ liệu sang không gian chiều thấp hơn (lower-dimensional space) trong khi vẫn bảo toàn tính toàn vẹn của thông tin
Nhược điểm:
• LDA giả định rằng các lớp dữ liệu có phân phối chuẩn Gaussian Khi dữ liệu không tuân theo phân phối này, hiệu suất có thể bị ảnh hưởng
• Không hiệu quả với dữ liệu phi tuyến tính
• Không phù hợp với dữ liệu không gán nhãn
• Không hiệu quả với dữ liệu có trung bình lớp trùng nhau
• Trong PCA, số chiều của không gian mới có thể là bất kỳ số nào không lớn hơn số chiều
và số điểm của dữ liệu Trong LDA, với bài toán có C classes, số chiều của không gian mới chỉ có thể không vượt quá C − 1