Các ứng d ng phân tích thành ph n chính (Applications of principal ầ

Một phần của tài liệu bài ti u lu ể ận môn phương pháp tính tài phân tích thành ph n chính và ng d đề ầ ứ ụng (Trang 52)

component analysis )

✓ Overview (plots) of any data table (t ng quan v b n d ổ ề ả ữliệu)

✓ Dimensionality reduction (gi m biả ến đa chiều)

✓ Similarity models( mô hình tương đồng)

PCA có th ể được áp d ng cho b t k d u ma trụ ấ ỳ ữliệ ận. Nó cũng được gi i thiớ ệu

như là một bước khởi đầu c a b t k ủ ấ ỳ phép phân tích đa biến nào đềcó được cái nhìn

đầu tiên v c u trúc d ề ấ ữliệu, để xác định bên ngoài, phác h a các lo i,.. Tuy nhiên, ọ ạ

khi m c tiêu phân lo i ho c có liên quan m t t p h p các bi n s khác( vd: hi u ụ ạ ặ ộ ậ ợ ế ố ệ

chuẩn (calibration)), có ph n m rầ ở ộng c a PCA thì hi u qu ủ ệ ả hơn cho những vấn đề

này. Dưới đây là một quan điểm khá đảng phái (partisan) c a PCA ủ được trình bày.

Nó ph n ánh nh ng kinh nghiả ữ ệm mà rojections cũng coi bao gồm một ph m vi l n ạ ớ

2.8.1 T ng quan v bổ ề ản d liu (Overview (plots) of any data table )

Lô điểm của hai hoặc ba vectơ điểm đầu tiên, t alpha cho th y nhóm, giá tr ấ ị

ngoại lai và các m u m nh khác trong d ẫ ạ ữliệu. Điều này có th ể được nhìn th y trong ấ

các âm mưu của các điểm dữ liệu người Thụy Điển. Nhi u ề ứng d ng khác có th ụ ể

được tìm th y trong vấ ấn đề này.

2.8.2 Gi m biả ến đa chiều (Dimensionality reduction)

Như đã chỉ ra b i Frank và Kowalski, hai nhóm chính cở ủa ứng d ng PCA và ụ

FA có th ể được nhìn th y trong hóa phân tích ấ (analytical chemistry), được đặt tên

theo việc khai thác các y u tế ốcơ bản – giá trị tiềm ẩn (the lantent varia) bles -– và

độ phân gi i quang ph c a h n hả ổ ủ ỗ ợp đa thành phần (multicomponent mixtures.)

Trong hi u su t cao phân tích s c ký l ng hai chi u(high performance liquid ệ ấ ắ ỏ ề

chromatographic analysis), tóm lại đây là một cách để tìm s nh nh t c a các loố ỏ ấ ủ ại

trong m t m u ộ ẫ

Vài vectơ điểm đầu tiên, t alpha, có th ể được xem như là các biến tiềm ẩn mà

hiện h u h t các thông tin trong d ầ ế ữliệu. Điều này gần đây đã được s dử ụng để tìm

ra đặc tính chính c a các amino acids, dung môi và chủ ất xúc tác, sau đó được s ử

dụng trong s mô t ự ả định lượng của các lựa ch n c a các th c th . Ví d ọ ủ ự ể ụ

Lô của vectơ điểm PC đầu tiên và th hai c a mứ ủ ột b ng v i 20 thu c tính cho ả ớ ộ

20 amino acids thông thường "t nhiên". Nhóm ch ra m t m i quan h giự ỉ ộ ố ệ ữa các

thuộc tính lý hóa của các axit amin và nucleotide mà được s d ng trong các codon ử ụ (adsbygoogle = window.adsbygoogle || []).push({});

được mã hóa do guanine (G) dường như không tham gia vào mối quan h này ệ

những vec tơ điểm PC s ố lượng mô t s ả ự thay đổi cơ cấu trong các gia đình của các

peptide và do đó tạo thành một cơ sở cho c u trúc m i quan h hoấ ố ệ ạt động cho các peptide.

2.8.3 Mô hình tương đồng (Similarity models )

Wold cho th y m t mô hình máy tính có cùng m t tài s n x p x cho m t b ng ấ ộ ộ ả ấ ỉ ộ ả

dữ liệu c a cùng m t tài s n x p x cho m t b ng d u c a d ủ ộ ả ấ ỉ ộ ả ữliệ ủ ữliệu trong một

khoảng th i gian h n ch ; các mô hình máy tính có th ờ ạ ế ể được xem như là một s m ự ở

rộng c a b ng d ủ ả ữliệu Taylor. Các địa điểm gần gi ng nhau giố ữa các đối tượng, các

điều khoản ít hơn là cần thi t trong vi c m rế ệ ở ộng để đạt được m t s t t lành x p x ộ ự ố ấ ỉ

nhất định. các điều ki n tiên quy t cho cách gi i thích này c a PCA là m t vài gi ệ ế ả ủ ộ ả

thuyết v s khác nhau và liên t c c a quá trình t o d ề ự ụ ủ ạ ữliệu, đã được tìm thấy để

giữ trong nhiều trường hợp. Điều này gi i thích, ít nh t là m t ph n, các ti n ích ả ấ ộ ầ ệ

thiết th c c a PCA. ự ủ

Do đó, một phương pháp nhận d ng m u có th d a trên các mô hình máy tính ạ ẫ ể ự

riêng bi t, m t cho t ng loệ ộ ừ ại đối tượng. Các đối tượng mới được phân loại theo để

phù h p c a h ho c thi u phù h p v i mô hình l p hợ ủ ọ ặ ế ợ ớ ớ ọc, trong đó cung cấp một

phân lo i theo xác suạ ất. Đây là cơ sở cho các phương pháp Simca (Soft Independent

Modelng c a Class Analogies) N u mu n phân bi t mủ ế ố ệ ột cách tối ưu giữa hai l p ớ

của Thụy Điển, m t mô hình máy tính có th ộ ể được trang b cho m i l p. K t qu ị ỗ ớ ế ả

cho th y rấ ằng th c s có s giự ự ự ống nhau trong l p h c (mô hình hai ho c ba thành ớ ọ ặ

phần mô t ả đầy đủ các d ữliệu) và các l p hớ ọc được tách t t (m u m i phù h p vố ẫ ớ ợ ới những "lớp lưu trữ" xấu và ngược l i); ạ

III. Phân tích thành ph n chính (PCA) trong Python

3.1. Gi i thi u và ng dớ ệ ứ ụng c a PCA

3.1.1 Gi i thi u ớ ệ

Phân tích thành ph n chính (PCA) là m t k thu t giầ ộ ỹ ậ ảm kích thước cho phép

bạn xác định các mối tương quan và các mẫu trong trong t p d ậ ữliệu để nó có

thểđược chuyển đổi thành t p d ậ ữliệu có th nguyên thứ ấp hơn đáng kể mà

không làm m t b t k thông tin quan tr ng nào. ấ ấ ỳ ọ

Khi tìm th y mấ ối tương quan chặt ch giẽ ữa các bi n khác nhauế , ý tưởng chính

của PCA giảm kích thước của d u sao cho d ữliệ ữliệu quan tr ng vọ ẫn được gi ữ (adsbygoogle = window.adsbygoogle || []).push({});

lại. Kích thước không là gì ngoài tính năng đại di n. ệ

Một y u t quan trế ố ọng cần lưu ý về PCA là m t k thu t giộ ỹ ậ ảm kích thước

không giám sát, có th phân cể ụm các điểm dữ liệu tương tự dựa trên mối tương

quan gi a chúng mà không c n b t k s ữ ầ ấ ỳ ự giám sát nào. Dưới đây sẽnêu ra điều

này trên th c t b ng Python. ự ế ằ

3.1.2 ng dỨ ụng

Tăng tốc độ thuật toán Machine Learning (ML): ý tưởng chính c a PCA là ủ

giảm kích thước, d a vào nhự ững điều đó có thể tăng tốc độ phù h p c a thuợ ủ ật

toán Machine learning bằng cách thay đổi thu t toán tậ ối ưu hoá. Nếu thu t toán ậ

học ban đầu chậm do kích thước đầu vào cao, thì vi c s dệ ử ụng PCA đểtăng tốc là một trong nh ng l a ch n c n thi ữ ự ọ ầ ết.

Trực quan hoá d ữliệu: để giải quy t mế ột vấn đề mà gi ữliệu là chìa khoá, c n ầ

phải khám phá d u sâu rữliệ ộng như tìm hiểu mối tương quan của các bi n. Mế ột

sốlượng l n các bi n mà d ớ ế ữliệu được phân ph i, vi c trố ệ ực quan hoá th là mể ột

thách th c và hứ ầu như không thể. PCA có th ể làm điều đó để giảm d u 4 ữliệ

3.1.3 Ý nghĩa

Các thành ph n chính là chìa khoá quan tr ng c a PCA, khi d ầ ọ ủ ữliệu được chi u ế

vào m t chi u thộ ề ấp hơn (giả s là ba chi u) t mử ề ừ ột không gian cao hơn, thì ba

chiều ởđây chính là ba thành phần chính lưu giữ hầu hết phương sai (thông tin)

của d u. ữliệ

Các thành phần chính đều có hướng và độ l n. Thành ph n chính là cớ ầ ấu trúc cơ

bản trong d ữliệu, nh ng ữ hướng có nhiều phương sai nhất, những hướng mà d ữ

liệu được tr i ra nhi u nh t. Các thành ph n chính là mả ề ấ ầ ột đường th ng và thành ẳ

phần chính đầu tiên có nhiều phương sai nhất trong d ữliệu. M i thành ph n ỗ ầ

chính ti p theo trế ực giao v i thành ph n cu i cùng ớ ầ ố ở trước và có phương sai

nhỏ d n. ầ

3.2.Phân tích thành phần chính (PCA) để trc quan hóa d liu

3.2.1 T i t p d ả ệ ữliu Iris

Bộ d u Iris là m t trong nh ng b d ữliệ ộ ữ ộ ữliệu scikit-learning đi kèm với nó

không yêu c u t i xu ng b t k tầ ả ố ấ ỳ ệp nào t các traừ ng web. Đoạn code dưới đây

3.2.2 Chu n hóa dẩ ữ liu (adsbygoogle = window.adsbygoogle || []).push({});

Vì PCA mang l i m t không gian con tạ ộ ối đa hoá phương sai dọc theo các tr c, ụ

nên vi c chu n hoá d ệ ẩ ữliệu là vi c r t c n thiệ ấ ầ ết, đặc biệt nếu nó được đo trên các thang đo khác nhau. PCA được th c hi n theo quy mô, vì v y c n chia t l ự ệ ậ ầ ỷ ệ các tính năng trong dữ liệu trước khi áp d ng PCA. S d ng StandardScaler ụ ử ụ

chuyển đổi dữ liệu sang thang đo đơn vị (giá trị trung bằng=0, phương sai=1), đây là yêu cầu hi u su t tệ ấ ối ưu đối v i thu t toán Machine-Learning. ớ ậ

3.2.3 Phép chi u PCA sang 2D ế

Đối v i t p d ớ ậ ữliệu Iris, ban đầu có 4 c t (chiộ ều dài đài hoa, chiều rộng đài hoa,

chiều dài cánh hoa, chi u rề ộng cánh hoa). Trong đoạn code dưới đây, mã chiếu

dữ liệu g c 4 chi u thành 2 chi u. ố ề ề

3.2.4 Tr c quan hóa phép chi u 2D ự ế Vẽ biểu đồ dữ liệu 2 chi u ề

Phương sai được hi u là s cho ta biể ẽ ết bao nhiêu thông tin được mã hoá thành

mỗi thành phần chính. Khi ta đổi t không gian b n chi u sang không gian hai ừ ố ề

chiều thì điều này là quan tr ng, n u s d ng các thu c tính ta s ọ ế ử ụ ộ ẽ nhìn ra điều

Thành ph n chính ch yầ ủ ếu đầu tiên chứa 72.77% phương sai và các thành phần

chính ti p theo ch a 23.03%, t ng c a hai thành ph n chế ứ ổ ủ ầ ứa 95.8% phương sai.

3.3. Phân tích thành phần chính (PCA) đểtăng tốc thut toán Machine-

Learning

Đây cũng là một trong nh ng ữ ứng d ng quan trụ ọng nh t c a PCA. Ta ph i s ấ ủ ả ử

dụng t p d ậ ữliệu có s u r t lốliệ ấ ớn để áp d ng PCA. Ta tham kh o D án ụ ả ự

Python – nh n d ng ch s vi t tay v i b d ậ ạ ữ ố ế ớ ộ ữliệu có s n trên các trang web là ẵ Cơ sở dữ liệu MNIST. B d u ch a 784 cộ ữliệ ứ ột tính năng (784 kích thước), 60.000 hình nh hu n luy n các ch s vi t tay t ả ấ ệ ữ ố ế ừ 0 đến 9 và 10.000 hình nh ả để thử nghiệm. Thông s ố Số liệu Nhãn Giá tr s nguyên t ị ố ừ 0 đến 255 3.3.1 T i d ả ữliu xung Sử d ng các hàm có sụ ẵn trong python để tải d ữliệu v ề và đọc ra k t qu . ế ả

Các tính năng có kích thước 784 chi u g m m i hình ề ồ ỗ ảnh là 28 x 28, và nhãn chỉ đơn giản là các s t ố ừ 0 đến 9.

3.3.2 Tách d liu thành các t p huậ ấn luyn và ki m tra

Giả s d ng d u g c cho t p h p th nghi m là 1/7 và 6/7 d u còn l i là ử ụ ữliệ ố ậ ợ ử ệ ữliệ ạ được hu n luy n. ấ ệ

3.3.3 Chu n hóa dẩ ữ liu

Tương tự như chuẩn hoá d ữliệu của PCA để trực quan hoá d u, ta có th ữliệ ể chuyển đổi dữ liệu sang quy mô đơn vị (giá trị trung bình=0 và phương sai=1). StandardScaler giúp chuẩn hoá các tính năng của t p d u. Áp d ng biậ ữliệ ụ ến đổi cho c t p hu n luy n và t p ki m tra. ả ậ ấ ệ ậ ể

3.3.4 Các bước s dụng PCA mà để tăng tốc thut toán Machine Learning (hi quy Logistic).

Sử dụng thư viện Sklearn, áp d ng m t thu t toán Machine Learning mà b n ụ ộ ậ ạ chọn cho d ữliệu đã chuyển đổi. T o m t phiên b n c a mô hình. Áp d ng bi n ạ ộ ả ủ ụ ế đổi cho c t p hu n luy n và t p kiả ậ ấ ệ ậ ểm tra.

Các bước s d ng: ử ụ

• Nhập mô hình mu n s d ng. Trong sklearn, t t c các mô hình machine ố ử ụ ấ ả learning được triển khai dưới dạng các l p python ớ

• Tạo m t phiên b n c a mô hình. ộ ả ủ

• Huấn luy n mô hình trên d ệ ữliệu, lưu trữ thông tin học được t d u. Mô ừ ữliệ hình này đang tìm hiểu mối quan h gi a ch s (X) và nhãn (Y). ệ ữ ữ ố

• Dự đoán nhãn của d ữliệu m i. S dớ ử ụng thông tin mà mô hình đọc được trong quá trình hu n luyấ ện mô hình. Đoạn code dưới đây dự đoán cho một lần quan sát. (adsbygoogle = window.adsbygoogle || []).push({});

3.3.5 S thành phố ần, phương sai, bảng thi gian

pd.DataFrame(data = [[1.00, 784, 48.94, .9158], [.99, 541, 34.69, .9169], [.95, 330, 13.89, .92], [.90, 236, 10.56, .9168], [.85, 184, 8.85, .9156]], columns = ['Variance Retained', 'Number of Components', 'Time (seconds)',

IV.ng dng:

- Giảm kích thước c a d u. ủ ữliệ

- N u ta có th gi m s chi u v 2 ho c 3 chi u, ta có th dùng các loế ể ả ố ề ề ặ ề ể ại đồthị để hiểu thêm v d ề ữliệu mà mình đang có, giúp ta nhìn dữ liệu trực quan hơn.

- X lý vử ấn đề tương quan giữa các bi n trong d ế ữliệu ban đầu b ng cách s d ng các ằ ử ụ biến mới trong không gian mà phương pháp PCA tìm được để mô tả d u. ữliệ

4.1 Chúng ta s bẽ ắt đầu b ng m t ví dằ ộ ụ mang tính ch t minh hấ ọa tr c quan:

Chúng ta có 2 bi n X và X ế 1 2có tương quan (tuyến tính), được biểu di n bễ ằng đồ thị sau:

Ta bi t r ng khi th c hiế ằ ự ện các phân tích đa biến mà trong đó các biến có tương quan với nhau là r t khó ch u! ấ ị

Ta th y r ng d ấ ằ ữliệu trên tr c mụ ới đã giảm s ự tương quan đáng kể (bi n Y và Y g n ế 1 2 ầ như không tương quan), và sự thay đổi c a d ủ ữliệu ph thu c ph n l n vào bi n Y1, ụ ộ ầ ớ ế ta có th ểchỉ dùng m t biếộ n Y1 để biểu di n d ễ ữliệu, điều này giúp ta gi m s chi u ả ố ề dữ liệu mà không làm gi m quá nhiả ều “phương sai” của d ữliệu. Đây cũng chính là tư tưởng của phương pháp PCA. Sau đây chúng ta sẽ làm rõ hơn về mặt lý thuyết của phương pháp này.

Giảm chi u d u hình ề ữliệ ảnh.

Giả s ta có m t t p dử ộ ậ ữ liệu nhi u ề ảnh có kích thước rất lớn. Khả năng lưu trữ của server là có h n. Trong tình hu ng này làm thạ ố ể nào để ảm kích thướ gi c c a bủ ộ ảnh vừa với dung lượng server mà thông tin của các bức ảnh v n gi ẫ ữ được một lượng l n. ớ Câu tr l i s có sau khi khi ta th c hành nén m t bả ờ ẽ ự ộ ức ảnh b ng thu t toán truncated ằ ậ SVD.

* N n t ng toán hề ả ọc cho phương pháp PCA:

Cho bi n ng u nhiên X ế ẫ có p chi u, X=(xề 1,…,xp) mô t dả ữ liệu ban đầu và ta có ma trận hiệp phương sai là:

S= ( sij)1 ≤i ≤p, 1 ≤j≤ p

Ta tìm các bi n ng u nhiên m i y có d ng là t h p tuy n tính c a các thành ph n ế ẫ ớ ạ ổ ợ ế ủ ầ của X sao cho y có phương sai càng lớn càng t t (ch a nhi u thông tin), v m t hình ố ứ ề ề ặ thức ta vi t l i vế ạ ấn đề trên: Tìm y có d ng ạ y=∑pi=1aixi sao cho Var(y) l n nh t có ớ ấ thể. Không m t tính tấ ổng quát và để đơn giản tính toán, ta gi s k v ng cả ử ỳ ọ ủa các thành ph n trong X ầ là 0 và phương sai bằng 1, lúc đó ta có:

Var(y)=∑p =1∑pi j=1aiajsij=aTSa, v i a=(aớ 1,..,ap) và aTa=1

Như vậy, ta c n gi i bài toán tầ ả ối ưu với điều ki n biên: max aTSa vệ ới điều ki n ệ biên aTa=1 bằng phương pháp nhân tử Largrange ta chuy n bài toán này ể thành:Max aTSa−λ(1−aTa) nên ta có a là nghi m c a ệ ủ Sa=λa, dễ thấy: a chính là vectơ riêng, còn λ chính là trị riêng tương ứng của ma trận S.

Chú ý: S là ma trận đối xứng nửa xác định dương (symmetric positive semidefinite), và do đó có các trị riêng không âm và các vectơ riêng lập thành h ọtrực giao.

Giả s S p ử có trị riêng (λi)1≤i≤p và p vecto riêng (a(i))1≤i≤p tương ứng,do điều

Một phần của tài liệu bài ti u lu ể ận môn phương pháp tính tài phân tích thành ph n chính và ng d đề ầ ứ ụng (Trang 52)