CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VỀ ĐIỆN NÃO ĐỒ
3.3 Giảm chiều dữ liệu bằng phương pháp phân tích thành phần chính (PCA)
(PCA)
Giảm chiều dữ liệu (Dimentionality reduction) là việc chuyển đổi dữ liệu từ khơng gian chiều cao thành khơng gian chiều thấp để biểu diễn chiều thấp giữ lại một số thuộc tính cĩ ý nghĩa của dữ liệu gốc. Làm việc trong khơng gian chiều cao cĩ thể khơng mang lại hiệu quả vì một số lý do: dữ liệu thơ thường thưa thớt do hệ quả của ràng buộc vềkích thước và việc phân tích dữ liệu thường khĩ tính tốn được. Giảm chiều dữ liệu phổ biến trong các lĩnh vực xử lý số lượng lớn các quan sát hoặc sốlượng lớn các biến, chẳng hạn như xử lý tín hiệu, nhận dạng giọng nĩi, tin học thần kinh và tin sinh học.
Dữ liệu đầu vào của bài tốn phát hiện bệnh nhân tâm thần phân liệt thể paranoid sử dụng dữ liệu gồm sốlượng đặc trưng lớn, cĩ thể cĩ các đặc trưng ít hoặc khơng quan trọng gây ảnh hưởng đến mơ hình học máy. Do đĩ việc áp dụng các phương pháp giảm chiều dữ liệu để đưa dữ liệu từ số chiều lớn về số chiều nhỏ hơn cĩ thể giúp cải thiện hiệu năng của thuật tốn phân loại, giúp thuật tốn hoạt động ổn định hơn, ít nhạy cảm với nhiễu (tránh quá khớp) và rút gọn các thơng số của model.
3.3.1 Cơ sở lý thuyết
Trong PCA, mỗi đặc trưng là một vector hàng kích thước n (n bằng số mẫu); mỗi điểm dữ liệu là một vector cột kích thước m (m bằng sốđặc trưng). Ý
45 tưởng chính của PCA là giảm chiều dữ liệu bằng cách đưa dữ liệu từm chiều về
k chiều (k < m).
Một cách đơn giản để giảm chiều dữ liệu từ m về k là chỉ giữ lại k đặc trưng quan trọng nhất của dữ liệu. Tuy nhiên cách làm này khơng hiệu quả với những trường hợp lượng thơng tin ở mỗi thành phần đều xấp xỉ như nhau, việc loại bỏ một sốđặc trưng sẽ gây mất mát thơng tin.
Nếu cĩ thể biểu diễn các vector dữ liệu ban đầu trong một hệcơ sở mới mà trong hệ đĩ, tầm quan trọng giữa các thành phần là khác nhau rõ rệt thì cĩ thể loại bỏ những thành phần ít quan trọng nhất như cách tiếp cận đã nên ở trên. PCA 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 thành phần, phần cịn lại chỉ mang một lượng nhỏ thơng tin. Hệ cơ sở mới cần tìm là một hệ trực chuẩn, là tổ hợp tuyến tính của cơ sở gốc. Hình 1-2 minh họa cho quá trình chuyển hệcơ sở từ (e1, e2) sang hệ (u1, u2), với u1, u2 lần lượt là thành phần chính thứ nhất và thứ hai.
Xét dữ liệu X = [x1, x2, … xn] cĩ n mẫu trong khơng gian m chiều. Mỗi hàng là một vector trong Rm. Gọi Y là ma trận biến đổi của X bởi phép biến đổi trực giao U xác định bởi: Y = UX Với U = [u1, u2, ..., um]; các cột của U là hệcơ sở mới để biểu diễn dữ liệu X.
Thành phần chính (principal component) được xác định là vector đơn vị cĩ phương sai lớn nhất hay hướng của đường thẳng phù hợp nhất (best-fit line).
Giả sử dữ liệu được quy tâm (trung bình bằng 0) bằng phép biến đổi sau: 𝑥𝑥̅ =1𝑛𝑛� 𝑥𝑥𝑖𝑖
𝑛𝑛
𝑖𝑖=1
𝑥𝑥𝑖𝑖 =𝑥𝑥𝑖𝑖 − 𝑥𝑥̅
Thành phần chính thứ nhất là vector u1, hình chiếu của dữ liệu trên khơng gian sinh bởi {u1} cĩ tọa độ là𝑦𝑦𝑖𝑖 =𝑢𝑢1𝑇𝑇𝑥𝑥𝑖𝑖cĩ phương sai là:
46 𝜎𝜎𝑚𝑚2 =1𝑛𝑛�(𝑦𝑦𝑖𝑖− 𝑦𝑦�)2 𝑛𝑛 𝑖𝑖=1 = 1𝑛𝑛�(𝑦𝑦𝑖𝑖)2 𝑛𝑛 𝑖𝑖=1 ⇔ 𝜎𝜎𝑚𝑚2 =𝑛𝑛1�(𝑢𝑢1𝑇𝑇𝑥𝑥𝑖𝑖)2 𝑛𝑛 𝑖𝑖=1 ⇔ 𝜎𝜎𝑚𝑚2 =1𝑛𝑛� 𝑢𝑢1𝑇𝑇𝑥𝑥𝑖𝑖𝑇𝑇𝑥𝑥𝑖𝑖 𝑛𝑛 𝑖𝑖=1 𝑢𝑢1 ⇔ 𝜎𝜎𝑚𝑚2 =𝑢𝑢1𝑇𝑇�1 𝑛𝑛� 𝑥𝑥𝑖𝑖𝑇𝑇𝑥𝑥𝑖𝑖 𝑛𝑛 𝑖𝑖=1 � 𝑢𝑢1 ⇔ 𝜎𝜎𝑚𝑚2 =𝑢𝑢1𝑇𝑇�𝑛𝑛1𝑋𝑋𝑇𝑇 ⋅ 𝑋𝑋� 𝑢𝑢1
Vậy với dữ liệu đã quy tâm thì ma trận hiệp phương sai là 𝑆𝑆 = 1𝑛𝑛𝑋𝑋𝑇𝑇𝑋𝑋. Ta giải bài tốn:𝑢𝑢1 = 𝑎𝑎𝑟𝑟𝑙𝑙𝑚𝑚𝑎𝑎𝑥𝑥{𝑤𝑤𝑇𝑇𝑆𝑆𝑤𝑤: ‖𝑤𝑤‖ = 1}
Thành phần chính thứ hai: 𝑢𝑢2 = 𝑎𝑎𝑟𝑟𝑙𝑙𝑚𝑚𝑎𝑎𝑥𝑥{𝑤𝑤𝑇𝑇𝑆𝑆𝑤𝑤: ‖𝑤𝑤‖ = 1}, 𝑤𝑤 ⊥ 𝑢𝑢1}
Giả sử cĩ các thành phần chính u1,… uk-1, thành phần chính thứ k được xác định bởi:
𝑢𝑢𝑘𝑘 = 𝑎𝑎𝑟𝑟𝑙𝑙𝑚𝑚𝑎𝑎𝑥𝑥{𝑤𝑤𝑇𝑇𝑆𝑆𝑤𝑤: ‖𝑤𝑤‖ = 1}, 𝑤𝑤 ⊥ 𝑢𝑢1, …𝑤𝑤 ⊥ 𝑢𝑢𝑘𝑘−1}
Các thành phần chính u1,… uk là các vector riêng đơn vịứng với các giá trị riêng lớn thứ i của ma trận hiệp phương sai S.
47 Hàm tổn thất do xấp xỉ dữ liệu từ khơng gian gốc xuống khơng gian k chiều xác định bởi: 𝑃𝑃 =𝑛𝑛1�‖𝑥𝑥𝑖𝑖− 𝑥𝑥�𝑖𝑖𝑈𝑈𝑈𝑈𝑇𝑇 − 𝑥𝑥̅‖2 𝑛𝑛 𝑖𝑖=1 ⇔ 𝑃𝑃 =1𝑛𝑛�‖𝑥𝑥𝑖𝑖− 𝑥𝑥�𝑖𝑖𝑈𝑈𝑈𝑈𝑇𝑇‖2 𝑛𝑛 𝑖𝑖=1 ⇔ 𝑃𝑃 =1𝑛𝑛� �𝑥𝑥�𝑛𝑛 𝑖𝑖𝑥𝑥�𝑖𝑖𝑇𝑇 − 𝑥𝑥�𝑖𝑖𝑈𝑈𝑈𝑈𝑇𝑇𝑥𝑥�𝑖𝑖𝑇𝑇� 𝑖𝑖=1 ⇔ 𝑃𝑃 =𝑡𝑡𝑟𝑟𝑎𝑎𝑡𝑡𝑡𝑡(𝑆𝑆)− 𝑡𝑡𝑟𝑟𝑎𝑎𝑡𝑡𝑡𝑡(𝑈𝑈𝑇𝑇𝑆𝑆𝑈𝑈) ⇔ 𝑃𝑃 = � 𝜎𝜎𝑖𝑖2 𝑚𝑚 𝑖𝑖=𝑘𝑘+1
3.3.2 Các bước thực hiện PCA
- Bước 1: Tính vector kỳ vọng của tồn bộ dữ liệu: 𝑥𝑥̅ =1𝑛𝑛� 𝑥𝑥𝑖𝑖
𝑛𝑛
𝑖𝑖=1
- Bước 2: Thực hiện phép biến đổi quy tâm (zero-mean) cho dữ liệu: 𝑥𝑥𝑖𝑖 =𝑥𝑥𝑖𝑖 − 𝑥𝑥̅
- Bước 3: Tính ma trận hiệp phương sai: 𝑆𝑆 =𝑛𝑛1𝑋𝑋𝑇𝑇𝑋𝑋
- Bước 4: Tính các giá trị riêng và vector riêng đơn vị của ma trận S, sắp xếp chúng theo thứ tự giảm dần của trị riêng.
- Bước 5: Chọn các vector riêng U = [u1, u2,… uk] ứng với k giá trị riêng lớn nhất.
- Bước 6: Chiếu dữ liệu đã quy tâm bởi phép chiếu trực giao xuống khơng gian con sinh bởi { u1, u2,… uk} bởi cơng thức:
𝑍𝑍=𝑈𝑈𝑇𝑇𝑋𝑋�
48 𝑥𝑥𝑖𝑖 ≈ 𝑈𝑈𝑇𝑇𝑍𝑍+ 𝑥𝑥̅
3.3.3 Phương pháp xác định số thành phần chính
Số thành phần chính hay chiều của dữ liệu mới (k) cĩ thể là một giá trị bất kỳ trong khoảng từ 1 đến m (số đặc trưng). Dễ dàng nhận thấy k càng nhỏ thì chiều của dữ liệu mới càng ít, cấu trúc dữ liệu càng đơn giản, tuy nhiên mất mát thơng tin E cũng càng lớn. Vậy cần chọn k nhỏ nhất sao cho lượng thơng tin được giữ lại đủ lớn. Cĩ thể giả sử cần giữ lại r% lượng thơng tin từ dữ liệu gốc, từđĩ tính knhư sau:
Hàm tổn thất do xấp xỉ dữ liệu từ khơng gian gốc xuống khơng gian k chiều xác định bởi:
𝑃𝑃 = � 𝜎𝜎𝑖𝑖2 𝑚𝑚
𝑖𝑖=𝑘𝑘+1
Cần giữ lại r% lượng thơng tin ban đầu, vậy lượng thơng tin mất mát chiếm (100-r)% lượng thơng tin ban đầu. Cơng thức tính k:
𝑟𝑟𝑘𝑘 = 1−100𝑟𝑟 = � 𝜎𝜎𝑖𝑖 2 𝑚𝑚 𝑖𝑖=𝑘𝑘+1 �𝑚𝑚 𝜎𝜎𝑖𝑖2 𝑖𝑖=1
Như vậy, giả sử muốn giữ lại 99% dữ liệu, cần chọn k nhỏ nhất sao cho 𝑟𝑟𝑘𝑘 ≤0.01.