ĐẠ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 3LỜ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 4MỤ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 5I 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 6Từđó,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 7phươ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 81
� − 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 93.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 104.Ứng dụng của PCA
4.1 Một số ứng dụng của PCA trong thực tế
Trang 11PCAcó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 14Số 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 15Bướ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 16Số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 17II Ứ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 18Chọ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 20Matlabchochú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