1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề Tài 12 Nêu Cơ Sở Lý Thuyết Của Phân Tích Thành Phần Chính (Pca - Principle Component Analysis) Và Ứng Dụng Của Pca Để Hồi Quy Tuyến Tính”.Pdf

21 6 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nêu Cơ Sở Lý Thuyết Của Phân Tích Thành Phần Chính (PCA - Principle Component Analysis) Và Ứng Dụng Của PCA Để Hồi Quy Tuyến Tính
Tác giả Tống Hồng Quân, Hoàng Văn Quyến, Kiều Thị Thu Phương, Nguyễn Thị Diễm Quỳnh, Nguyễn Hà Hồng Quân
Người hướng dẫn Ths. Nguyễn Xuân Mỹ
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Đại Số Tuyến Tính
Thể loại Báo Cáo Bài Tập Lớn
Năm xuất bản 2021-2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 21
Dung lượng 2,81 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP.HCMTRƯỜNG ĐẠI HỌC BÁCH KHOA... ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOABÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNH TP... LỜI MỞ ĐẦUTrong những hoạt động

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

BÁO CÁO BÀI TẬP LỚN MÔN ĐẠI SỐ TUYẾN TÍNH

TP HỒ CHÍ MINH, tháng 12 năm 2021

Trang 3

LỜI MỞ ĐẦUTrong những hoạt động của đời sống như học tập, giải trí, làm việc… đều liên hệ ítnhiều tới khoa học công nghệ, trí tuệ nhân tạo Để tạo ra một sản phẩm khoa học côngnghệ thành công không thể thiếu những chương trình và thuật toán, được sử dụng linhhoạt cũng như mang tính chọn lọc nhằm tối ưu lợi ích mà sản phẩm đem lại, tiết kiệmthời gian thiết kế cũng như dễ dàng hoạt động Trong số những thuật toán ấy, PCA( Principal Component Analysis)- Thuật toán phân tích thành phần chính, là một trongnhững thuật toán có rất nhiều ứng dụng trong đa lĩnh vực không chỉ ở khoa học côngnghệ mà còn được sử dụng trong kinh tế, tài chính, sinh học,

Với mục đích tìm hiểu về PCA, cơ sở lí thuyết của nó, một số điều thú vị ở PCA và đểnói thêm về một trong những ứng dụng của PCA- Hồi quy tuyến tính (Linearregression), chúng em đã viết một bài báo cáo ngắn về những thông tin đã thu thậpđược về PCA, nhằm trao dồi kiến thức, mở rộng hiểu biết về PCA cũng như ứng dụngcủa nó: Hồi quy tuyến tính

Vì lượng kiến thức và hiểu biết còn hạn hẹp mà bài báo tương đối ngắn và còn nhiềuthiếu sót song chúng em mong thầy, cô có thể góp ý giúp chúng em chỉnh sửa, đồngthời có thể đem lại một chút hiểu biết mà chúng em tích lũy được đến với người đọc

Cảm ơn thầy, cô đã đọcNhóm 12

Trang 4

MỤC LỤC

I CƠ SỞ LÝ THUYẾT 5

1 Ưu điểm của PCA 5

2 Cơ sở lý thuyết 5

2.1 Nhận xét 5

2.2 Kì vọng 6

2.3 Phương sai 6

2.4 Hiệp phương sai 6

2.5 Ma trận hiệp phương sai 7

2.6 Phương sai lớn nhất 7

3 Các bước phân tích PCA và ví dụ 8

3.1 Các bước phân tích PCA 8

3.2 Ví dụ 9

4 Ứng dụng của PCA 10

4.1 Một số ứng dụng của PCA trong thực tế 10

4.2 Ứng dụng của PCA trong thực tế 11

4.2.1.Ngữcảnh 11

4.2.2.Thuthậpthôngtin 11

4.3 Ứng dụng các bước PCA và lập trình 11

II ỨNG DỤNG PCA TRONG HỒI QUY TUYẾN TÍNH 17

1 Định nghĩa 17

2 Ví dụ minh họa 18

III KẾT QUẢ VÀ KẾT LUẬN 19

1 Kết quả 19

2 Kết luận 20

IV CÁC TÀI LIỆU THAM KHẢO 20

PHỤ LỤC 21

Trang 5

I CƠ SỞ LÝ THUYẾT

1 Ưu điểm của PCA

Phépphân tíchthành phầnchính(PrincipalComponents Analysis-PCA) làmộtthuậttoánthốngkêsửdụngphépbiếnđổitrựcgiaođể biếnđổimộttậphợp dữliệutừmột khônggiannhiềuchiều sangmộtkhông gianmớiítchiềuhơn(2 hoặc3chiều)nhằmtốiưuhóaviệcthểhiệnsựbiếnthiêncủadữliệu

Phépbiếnđổi tạoranhững ưuđiểm sauđốivớidữliệu:

- Giảmsốchiềucủakhônggian chứadữliệukhinócósốchiềulớn,khôngthểthểhiện trongkhông gian2hay 3chiều

- Xâydựngnhữngtrụctọađộ mới,thayvìgiữ lạicáctrụccủakhônggian cũ,nhưnglạicókhảnăngbiểudiễndữ liệutốttương đương,và đảmbảođộbiếnthiêncủadữliệutrênmỗichiềumới

- Tạođiều kiệnđểcácliênkếttiềmẩncủadữliệu cóthểđượckhám phátrongkhônggianmới,mànếuđặttrongkhônggiancũthìkhópháthiệnvìnhữngliênkếtnàykhông thểhiệnrõ

- Đảmbảocáctrụctọađộtrongkhônggianmớiluôntrựcgiaođôimộtvớinhau,mặcdùtrong khônggianbanđầucáctrụccóthể khôngtrựcgiao

2 Cơ sở lý thuyết

2.1 Nhận xét

Vớinhữngý tưởngban đầu,tamong muốncóthểtạora mộtkhông gianmớinhỏ hơnmàvẫncó thểgiữlại đượccác thôngtinquantrọng, nhưnglạigặprắcrốivớiviệccânnhắcrằngcóthể giảmbaonhiêu chiềuvàđólànhữngchiềunào.Vì vậytaxâydựng nênthuậtngữphương saihaycòngọilàđộphân tándữliệu.Dựavào sosánhgiá trịphươngsai giữacácchiềutađưađếnmức độquantrọng,đólàlượngthôngtinmà chiềuđóchứađược

Trang 6

Từđó,tacóthểbỏđicácchiều khôngquantrọng(cóphươngsai khôngđángkể)

Theođịnhnghĩacủaphươngsai,phươngsaicủa1bảngdữliệuXbanđầu(Achiều)cóphươngsai theotừngchiềucógiátrịđáng kể,cóthểnóicácchiềubanđầucủadữliệu Xđềucómứcđộquantrọngnhấtđịnh, khôngthểlượcbỏđichiềucủanó

Vìthếnêncần1phépbiếnđổiđểquaycácchiềucủadữliệuXđếnkhicóBchiềunhậngiátrịphươngsailớnnhất.VìphươngsaicủadữliệuXlàhằngsốnêntacó thểnói(A-B)chiềucònlạicómứcđộquantrọngrấtít(phươngsaikhôngđángkể)vàđượcphéplượcbỏđi CuốicùngcóthểbiểudiễnXtrêncơsở mớivớiđộ“mấtmát”ít nhấttrongkhônggianvớisốchiều.2.2 Kì vọng

Làgiátrịmongmuốn,nóđơngiảnlàtrungbìnhcộngcủatoànbộcácgiátrị.ChoN giátrị�1, �2, ., ��:

�= �1

�=1

��2.3 Phương sai

Làtrungbìnhcộng củabìnhphươngkhoảng cáchtừmỗiđiểm tớikỳvọng,phươngsai càngnhỏthì cácđiểmdữliệucàng gầnvớikỳvọng,tứccácđiểmdữ liệucànggiống nhau.Phương saicànglớn thìtanói dữliệucàngcótínhphân tán

�2= 1

� − 1 �=1

�(��− �)22.4 Hiệp phương sai

Làđộđosựbiếnthiêncùng nhaucủahaibiếnngẫunhiên(phânbiệtvớiphươngsai –đomứcđộbiếnthiêncủamộtbiến).Nếu2 biếncóxuhướngthayđổicùng nhau(nghĩa là,khi mộtbiến cógiá trịcaohơn giátrịkỳ vọngthìbiếnkiacóxu hướngcũngcaohơngiátrị kỳvọng),thìhiệpphươngsaigiữahaibiếnnàycó giátrịdương.Mặtkhác,nếumộtbiếnnằmtrêngiátrịkỳvọng cònbiếnkiacóxu hướngnằmdướigiá trịkỳvọng, thìhiệp

Trang 7

phươngsaicủahaibiếnnàycógiátrịâm.Nếuhaibiếnnàyđộclậpvớinhauthìgiá trịbằng0.

����, � =��=1(��− �)(��− �)

�2.5 Ma trận hiệp phương sai

ChoNđiểmdữliệuđượcbiểudiễnbởicácvectorcột�1, �2, , ��,khiđó,vectorkỳvọngvàmatrậnhiệp phươngsaicủatoànbộdữliệuđượcđịnhnghĩalà:

����Matrậnhiệpphươngsailà mộtmatrậnđốixứng,hơnnữa,nólàmộtmatrậnnửaxác địnhdương

Mọiphầntử trênđườngchéocủamatrậnhiệpphươngsai làcácsốkhôngâm.Chúngcũngchínhlàphươngsaicủatừngchiềucủadữliệu

Cácphần tửngoàiđườngchéo���,i# jthểhiệnsựtươngquangiữathànhphầnthứivàthứjcủadữliệu,cònđượcgọilàhiệpphươngsai.Giátrịnàycóthểdương,âmhoặcbằng0.Khinóbằng0, tanóirằnghaithànhphầni,jtrongdữliệu làkhôngtương quan

Nếumatrậnhiệpphươngsailàmatrậnđườngchéo,tacódữliệuhoàntoànkhông tươngquangiữacácchiều

PhươngsaicủaảnhcủaXquaphépbiếnđổilà:

Trang 8

1

� − 1 �=1 {��1 ��− �� �}1 2= �1�S�1với � =� − 11 �=1(��− �)(��− �)(��− X)�Tìmgiá trịlớnnhấtcủa �1 �S�1vớiđiều kiệnuTu=1

SửdụngphươngphápnhântửLagrange củagiảitíchhàmnhiều biến,ta cóhàmLagrange:

3 Các bước phân tích PCA và ví dụ

3.1 Các bước phân tích PCA

Bước 1: Tínhgiátrịtrungbình(mean)� củaX

�ℎ�ẩ� ℎó� �ữ��ệ�, �ì� �ọ� �ớ� �ℎ� �ữ��ệ�

Bước 2: Tìmvector� �= � − �

Tìmmatrậnhiệpphương sai�= 1

�−1���Bước 3: TìmtrịriêngcủaSvàsắpxếptheogiátrịgiảmdần�1>� >2

.��vàtìmcác vectorriêng đơnvịứng vớicácgiátrịriêng

Trang 9

3.2 Ví dụ

Giả thiết đề ra: ChomatrậnXcỡ 216x2đượctríchtừfile ovariancancertrongMATLAB, hãyviếtchươngtrình đểgiảmchiềudữliệu (PCA)chomatrậnX

Dướiđâylà đoạnscript củađềbàitrên:

Trang 10

4.Ứng dụng của PCA

4.1 Một số ứng dụng của PCA trong thực tế

Trang 11

PCAcónhiềuứngdụngtrongcôngnghệthông tinvàkinhtế,điểnhìnhlàtrítuệnhân tạo(Machinelearning),mộtsốcôngnghệnhưnhậndiệnkhuônmặt,xửlídữliệunhiềuchiềunhư vănbản,hìnhảnh ,ứngdụngvàotàichính, kinhtế,công nghệthôngtin,sinh học….

Tronglĩnhvựckinhtế,PCAthườngđượcứngdụngđểthugọndữliệutừđóđemlạicáinhìnkháchquanvềtình hìnhkinhtếcủadoanh nghiệp,thịtrườngcũng nhưsảnphẩm, dướiđâylàmộtvídụ đơngiảncủaPCA trongviệcquảnlí kinhdoanh

4.2 Ứng dụng của PCA trong thực tế

4.2.1 Ngữcảnh

Mộtsốcănhộđãđượcđăngbán lâunhưngkhôngcóngườimua

Cầnphântíchvàchỉracác yếutốdẫnđếncănhộkhôngbánđược DùngphântíchPCA

4.3 Ứng dụng các bước PCA và lập trình

PCAtạoramột khônggianmớicóítchiềuhơnnhưngvẫnđảmbảodữliệu

Trang 12

- CácbướcphântíchPCAdựatrên8 yếutốđãchọn.

Bước 2: Chuẩn hóadữ liệu(Featurenormalization)

- Tínhgiátrịchuẩndữliệu:

- Xétbảngdữliệu11yếutố,đểđơngiản,tachỉxétdiệntíchcănhộ(m^2),với

- X=(x1,x2,…)=(56,60,…)

Trang 13

- ��ℎ���=�1−�

�� Giátrịchuẩn=(Giátrịthực-Giátrịtrungbình)/ phươngsai),cụthể:

X

Vídụ:�1�ℎ���=�1 −�

� � = -1.424Tươngtự, ta cóbảng giátrịchuẩn:

Cáchtrungtâm

Khoảngsân

Tộiphạm

Dùnglệnhcov_mat(trongMatplotlib),cov((offset))(trongexcel),… tìm

đượcma trậnhiệpphương sai Ởđây dùngMatplotlib:Ứng dụng thựctế

Trang 14

Số lầu Gara Cách

trungtâm

Khoảngsân

Tộiphạm

Diện

tích

-0.8370.758 -0.874

-0.8130.67 -0.704

-0.9220.842 -0.72

Trang 15

Bước 4: ChạyPCA

- Lậptrìnhqua(Matplotlib,Matlab,…), tađượcbảngPCA:

ỞđâydùngMatplotlib, lậptrìnhqua Jupyter Notebook

- Giảithíchvàứngdụng:

Trang 16

Sốdươngthểhiệnsựtươngquanthuận,sốdươnglàcàngthìsựtươngquanthuậncàngcao

Sốâmthểhiện sựtương quannghịch

- Theohình,diện tíchcănhộ tỉlệthuậnvớisốphòngngủ.Nghĩalàkhidiệntíchcànglớnthìsốphòngngủcó xuhướngcàngtăng.Nhưnglạitỉlệnghịchvớikhoảng cáchtrungtâm và tỉlệ tội phạm, nói cáchkhác,diện tích cănhộcànglớnthìcàng gần trungtâm,tỉlệtộiphạmcàngthấp

Dođó,khi phân tíchnhữngcăn hộkhóbán, nguyên nhânchủyếu thườngdocáctươngquannghịch,màởđâylàtỉlệtộiphạmvàsựcáchxatrungtâm.Cụthể,các căn hộnhỏthườngkhóbánhơn,vìởxatrungtâmvàcótỉlệtộiphạmcao

Trang 17

II ỨNG DỤNG PCA TRONG HỒI QUY TUYẾN TÍNH

1 Định nghĩa

Địnhnghĩa:“Hồiquytuyếntính“làmộtphươngphápthốngkêđểhồiquydữliệuvớibiếnphụthuộccógiátrịliêntụctrongkhicácbiếnđộclậpcóthểcó mộttronghaigiátrịliên tụchoặclàgiátrịphân loại.Nóicáchkhác“Hồiquy tuyếntính“làmộtphươngphápđểdựđoánbiếnphụthuộc(Y)dựatrêngiátrịcủabiếnđộclập(X).Nócóthểđượcsửdụngchocáctrườnghợpchúngtamuốndựđoánmộtsốlượngliêntục.Ví dụ,dựđoángiaothông ởmộtcửahàng bánlẻ ,dự đoánthờigian chúng tadùng dừnglại mộttrangnàođóhoặcsốtrangđãtruycậpvàomộtwebsite nàođó …

Môtảthuậttoán:trong môhình hồiquytuyếntính,đểtìmđượcđường thẳng(haymặtphẳng)cuốicùng“khớpnhất“vớibộdữliệu,taphảitốithiểu“sựkhaithác“giữacácđiểmdữliệuvớicác điểmmàmôhìnhhồiquydựđoán.Cácbài

Trang 18

Chọnmộtmẫungẫu nhiêngồmmộtsốcặpchavàcontraiđã trưởngthành.Đo

chiềucao X(inch) của chavàchiềucaoY(inch) củacontrai,số liệu trong bảng

Trang 19

Ýnghĩacủahệ sốgóc b=0.476:

- Dohệsốgócdươngnêngiữachiềucaocủachavàconcómốiquanhệthuận

- nếuchiềucaocủacha tănglên1 inch thìchiềucaocủcontăng1lượnglà0.476inches

III KẾT QUẢ VÀ KẾT LUẬN

1 Kết quả

Ứngdụng PCA trong hồiquytuyếntínhgiúp ta tìm đượcđườngthẳng (haymặtphẳng)cuốicùng “khớpnhất“ vớibộdữliệu

Việcphântíchhồiquytuyếntínhchotathấytínhbềnvữngcủa cácmốiliênhệgiữacác biến,đặc biệtlàcácbiếnđịnh lượng

Sửdụngphầnmềmmatlabđểgiảisẽchokếtquảrấtchínhxáccủabàitoán

Trang 20

Matlabchochúngtathấyđượchình ảnh2D trực quan

2 Kết luận

Đềtàinàygiúpchúngtahiểurõhơnvề ứngdụngchínhcủaPCAvàlợiíchcủaviệcPCA tronghồi quytuyếntính

Kếthợpvớiviệcsử dụngphầnmềmmatlabgiúpchúngta giảiquyếtcácbàitoántươngtự tốiưu hơnkhigiảitay

IV CÁC TÀI LIỆU THAM KHẢOPrincipal component analysis -Wikipedia

(2)Giáotrìnhtuyếntính-Đặng VănVinh-nhàxuấtbảnĐạihọcquốcgia thànhphốHồChí Minh

(3)Youtube:AndrewNg-Bài71:Giảmchiều dữliệu-ThuậttoánPCA(4)Youtube:AndrewNg-Bài70:Giảmchiều dữliệu-TổngquanvềthuậttoánPCA

Trang 21

(5)Youtube: PrincipalComponent Analysis(PCA) |MATLAB|MachineLearning(6)Youtube: PrincipalComponent Analysis(PCA) inPythonandMATLAB(7)Linearregression -Wikipedia

Ngày đăng: 18/06/2024, 17:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w