hỆ thỐng thÔng tin thÔng minh -...
Post on 04-Sep-2019
5 Views
Preview:
TRANSCRIPT
5/3/19
1
HỆ THỐNG THÔNG TIN THÔNG MINH
PGS.TS. Trần Văn Lăng
Học viện Khoa học và Công nghệ, VAST
NỘI DUNG
Cáchệthốngthôngminhcóthểdựatrêncáctínhtoánmangtínhthôngminh.Nêncóthểsửdụngnhữngtrithứcsauđâyđểxâydựnghệthống
1. TưduylogicvớihệthốngđiềukhiểndùngPython
2. MachineLearningvớiTensorFlow
3. ThuậttoántiếnhóadùngPython
A.Prof. Tran Van Lang, PhD -- VAST
MACHINE LEARNING VỚI TENSORFLOW
• Ngàynay,ởgócđộkhoahọcthìLĩnhvựcCôngnghệthôngtincóxuhướngchuyểnKhoahọcmáytính(ComputerScience)sangKhoahọcdữliệu(DataScience)
• Cónghĩalà:từnhữngnghiêncứuvềsựlưutrữvàxửlýcủamáytính,sangnhữngnghiêncứuvềnộihàmcủadữliệu.
• Bởibảnthântrongdữliệuđangtồntạiđãhàmchứathôngtintừđócóthểrútraquytắcdùngtrongviệcxửlý
A.Prof. Tran Van Lang, PhD -- VAST
MACHINE LEARNING VỚI TENSORFLOW
• Input:X,Ylàcáctậpdữliệuthỏamãnbởiquytắcmộtcáchtựnhiên:
f:X à Y
• Output:Quytắchaymôhìnhf
A.Prof. Tran Van Lang, PhD -- VAST
Từđógiảiquyếtbàitoántrướcđây(Khoahọcmáytính)Input:X’,vớiquytắcf đãtìmđượcởtrên,suyraOutput:Y’
5/3/19
2
MACHINE LEARNING
• Nhưtrên,mọibàitoánluônđặtradướidạngphảicóinputvàoutput.
• Mốiliênhệgiữainputvàoutputtrongtoánhọcthườnggọiđólàhàm(function).
• Nhưvậy,hàmlàtậphợpnhữngquytắcđểnhữngphầntửởtậpnguồnđềucómộtvàchỉmộtphầntửởtậpđích.
A.Prof. Tran Van Lang, PhD -- VAST
MACHINE LEARNING
• NhiệmvụcủaMachineLeraning(ML)làlàmsaogiúpmáytínhtìmrahàmnày
• MLphânthành2nhómthuậttoánchính.Sựkhácnhaugiữa2nhómnàylàviệccungcấptậpdữliệuhuấnluyện;cáchthuậttoánsửdụngdữliệuvàloạivấnđềmàthuậttoángiảiquyết.
• Họccógiámsát (SupervisedLearning)
• Họckhônggiámsát (UnsupervisedLearning)
A.Prof. Tran Van Lang, PhD -- VAST
SUPERVISED LEARNING
• Họccógiámsátlàviệccóinputlàmộttậpnguồnvàmộttậpđíchtươngứng(gọilàđãđượcgánnhãn)đểlàmcơsởtìmraoutputlàhàmhaymôhình(model)mongmuốn.
• Tậphợpkếthợpbởihaitậpnàyđượcgọilàtậphuấnluyện(TrainingSet)
• Khithựchiện,dữliệumớilạiđượcsửdụngđể huấnluyện.Việchuấnluyện lạinhằmcảitiếnmôhìnhnàyhơnnữa
A.Prof. Tran Van Lang, PhD -- VAST
SUPERVISED LEARNING
• Tronghọccógiámsát,căncứvàodữliệucủatậpđích;cóthểphânthành2dạngbàitoán:
• Phânlớp (Classification):Khibàitoánmàdữliệucủatậpđíchlàhữuhạnvàcógánnhãn.Chẳnghạn,
• Phânnhómhọcsinhvàotrườngdựavàobảngtên• Hồiquy haytiênlượng (Regression):Khidữliệutậpđíchcótínhliêntụcvànốitiếpnhau.Chẳnghạn,• Dựđoánbiếnđộngcủachứngkhoándựatrêndữliệucủanhữngnămtrước
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
3
UNSUPERVISED LEARNING
• Họckhônggiámsátphảisửdụngkhikhôngcótậpđíchmàchỉcótậpnguồnvàcácđặctrưngcủatậpnguồnnày.Nhằmkhámphácấutrúcvàmốiquanhệcủadữliệu
• Họckhônggiámsátcòngọilàhọckhôngđượcsựchỉbảo.
• Khithựchiện,dữliệumớiđượcsuydiễnđểthêmvào.Từđóđưavềviệchọccógiámsát.Chínhvìvậyranhgiớigiữahọcgiámsátvàkhônggiámsátđôikhicũngkhôngđượcphânchiarõràng.
• Cóthểgọitrongtrườnghợpnàylàhọcbángiámsát(Semi-SupervisedLearning)
A.Prof. Tran Van Lang, PhD -- VAST
UNSUPERVISED LEARNING
• Cácbàitoánhọckhônggiámsátcũngđượcchialàmhailoạidựavàodữliệutậpnguồn:
• Gomcụm (Clustering):Khitậpnguồnchứamộtsốđặctínhcóthểnhậndạngđược(gọilàcácđặctrưng- featurehaycáccategory).Chẳnghạn,
• Gomemailvàothưmụcspamdựatrêncáchđặttên,nơigửi,tầnsuấtxuấthiệncủanơigửi,mộtsốnộidung
• Rútgọn hayướclượng (Reduction,Estimation):nhằmđểgiảmbớtđộphứctạpcủabàitoán
A.Prof. Tran Van Lang, PhD -- VAST
ĐỊNH NGHĨA MACHINE LEARNING
• “AcomputerprogramissaidtolearnfromexperienceEwithrespecttosomeclassoftasksTandperformancemeasureP,ifitsperformanceattasksinT,asmeasuredbyP,improveswithexperienceE.”,byTomMitchell
• ”MộtchươngtrìnhmáytínhđượcgọilàhọcđểthựchiệncôngviệcTtừkinhnghiệmEnếunhưhiệuquảthựchiệncôngviệcTcủanóđượcđobởiđộđoPvàđượccảitiếnbởikinhnghiệmE.”
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN TRONG MACHINE LEARNING
• TrongMLcó3thuậttoánphổbiến,đólà:
• SupportVectorMachines(SVM): ýtưởngcơbảncủathuậttoánSVMlàchuyểnđổikhônggianchứadữliệubanđầuthànhkhônggianmớihữuhạnchiềumàtrongkhônggiannàycóthểphânchiadữliệuthànhcáclớp(dựatrênlabel)dễdànghơnbởicácsiêuphẳng- hyperlane).Siêuphẳnggiữa2lớpthỏamãnđiềukiệnlàkhoảngcáchgiữa2đốitượngcủa2lớpgầnnhaunhấtlàcựcđại.
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
4
THUẬT TOÁN TRONG MACHINE LEARNING
• Môhìnhxácsuất(ProbabilisticModels):Sửdụngcácphânbốxácsuấtđểgiảiquyết.ChẳnghạnthuậttoánNaiveBayessửdụnglýthuyếtBayestrongphânbốxácsuất.
• DeepLearning(Họcsâu):Dựatrêncácmôhìnhnhiềumạngthầnkinhnhântạo(ANN- ArtificialNeuralNetworks- làmộthệthốngcácchươngtrìnhmôphỏngcáchvậnhànhcủabộnãongười)cóliênkếtvớinhau.Nóicáchkhác,DeepLearningkhôngnhữngchỉhọcmàcòntạoracáccấutrúcbiểudiễncácđặctrưngquantrọngmộtcáchtựđộngđểliênkếtcácANN.
A.Prof. Tran Van Lang, PhD -- VAST A.Prof. Tran Van Lang, PhD -- VAST
Việc chọn lựa thuật toán trong ML
TENSORFLOW
• TensorFlow củaGoogle làcôngcụgiúptạoứngdụngvềthôngminhnhântạo-AI(ArtificalIntelligence)
• TensorFlowlàthưviệnphầnmềmnguồnmởvềtínhtoánsốhiệunăngcao(highperformancenumericalcomputation)thựchiệntrêncácloạimáytínhhiệnnay(desktop,cluster,mobile).
• Tensor làkháiniệmmởrộngmatrixtrongtoánhọc.Trongtinhọclàmảngnhiềuchiều• Trườnghợp0chiềulàscalar(vôhướng),1chiềulàvector(véctơ),2chiềulàmatrix(matrận),vàn-chiềulàtensor
A.Prof. Tran Van Lang, PhD -- VAST
TENSORFLOW
• TrongML,việctìmrahàmhaymodelthểhiệnmốiquanhệgiữatậpnguồnvàtậpđíchlànhiệmvụchính.TensorFlowlàcôngcụđểhiệnthựcML,nênđãđưarakháiniệmFlownhưlàđồthịluồngdữliệu(dataflowgraphs)
• ĐóchínhlàluồngdữliệugiữacácTensor
• Chínhvìvậy,trongTensorFlowcó2kháiniệmcơbảnđólàNodevàTensor
• Node:làchỗlàmthayđổidữliệutrongluồngdữliệu.Nênnodelàcácphéptoán,cáchằnggiátrị,cácbiến.ĐóchínhlàđiểmgiaocắttrongGraph(đồthị)
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
5
TENSORFLOW
• Tensor:đóchínhlàloạidữliệu.ỞgócđộGraph,tensornằmtrêncạnh(Edge),củađồthịcònNodelànútcủađồthịđó.
• Tensorcó3thuộctínhcơbảnlà rank, shape và type:
• rank:0làScalar,1làvector,2làmatrix,3là3D-array,...• shape:làhìnhdạng,haykíchthướccủatensor
• type:kiểudữliệucủacácphầntửtrongtensor
A.Prof. Tran Van Lang, PhD -- VAST
GRAPH VÀ SESSION
• TrongTensorFlowcó2nhiệmvụrạchròi,đólà:
• Địnhnghĩa:nhằmxâydựngđồthị(Graph)• Thựcthicáctínhtoán:dùngSessionđểthựcthi
• Chẳnghạn,đểthựchiệnphéptoáncộng2sốnguyên,trướchếtcầnphảiđịnhnghĩamộtđồthịgồm3nút:• Biếna• Biếnb
• Phéptoáncộng
A.Prof. Tran Van Lang, PhD -- VAST
GRAPH VÀ SESSION
• SauđóthựcthibằngmộtphiênSession
• Lưuý:ngoạitrừcáchằnggiátrị,cácbiếnphảiđượckhởitạogiátrịmớidùngđượcbằnghànhviinitializer()
• Thayvìsess.run(),cóthểviết:
A.Prof. Tran Van Lang, PhD -- VAST
SESSION
• Trongtrườnghợpcóquánhiềubiếnphảikhởitạo,việckhởitạocũngcóthểthựchiệnchomọibiếnbằngcách:
A.Prof. Tran Van Lang, PhD -- VAST
• Lưuý:ĐểbỏquacáccảnhbáowarningkhidùngTensorFlow,vàđểcoiđồ.thịtrênTensorBoard,bổsungthêmcáccâulệnhsau:
5/3/19
6
TENSORBOARD
• Khiđó,saukhithựcthichươngtrìnhPythonbằngdònglệnh
pythonexample.py
• SẽgọiđếnTensorBoardđểtạologfilesửdụngtrongWebBrowser
tensorboard--logdir=./graphs--host127.0.0.1--port8088
• Kếtquảxuấtra
TensorBoard1.12.2athttp://127.0.0.1:8088(PressCTRL+Ctoquit)
đểchờgọiđếnhttp://127.0.0.1:8088 trongWebBroswer
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY
• Hồiquy(Regression)làphươngphápmàmốiquanhệgiữatậpnguồnvàtậpđíchlàquanhệthểhạngdướidạnghàm.
• Trongphươngpháptính,thựcchấtlàphéptínhnộisuy,phươngphápbìnhphươngtốithiểu(MeanLeastSquare)
• HồiquytuyếntínhcòngọilàphươngphápBìnhphươngtốithiểutuyếntính(LinearLeastSquare)trongPhươngpháptính,hayphươngpháphiệuchỉnhtuyếntính(LinearFitting)trongThốngkê.
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Chohàm!𝑦 = 𝑓 𝑥, 𝑤( , 𝑤) = 𝑤( + 𝑤)𝑥
• VàbảngN cặpgiátrị 𝑥+ , 𝑦+ , ∀𝑖 = 1, 𝑁
• Nếu
0+1)
2
𝑦+ − 𝑓 𝑥, 𝑤( , 𝑤)4
đạtcựctiểu,thìhàm !𝑦 = 𝑓 𝑥, 𝑤( , 𝑤) xấpxỉtốtnhấtbảngcácgiátrị𝑥+ , 𝑦+ , ∀𝑖 = 1, 𝑁
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Trongphươngpháptrên
• Còngọi 𝑥+, 𝑦+ , ∀𝑖 = 1,𝑁 làcácgiátrịđầuvàovàđầura
• Cácgiátrịnàyquanhệvớinhautheoquytắctuyếntính• !𝑦 làđầuradựđoán(predictedoutput)
• w =w0,w1 làtrọngsố(weight)
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
7
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Đặt
𝐿 𝑤 = 𝐿 𝑤(, 𝑤) = 0+1)
2
𝑦+ − 𝑓 𝑥, 𝑤( , 𝑤)4
• Phươngpháphồiquytuyếntínhlàtìm𝑤∗ thỏa:𝑤∗ = 𝑎𝑟𝑔𝑚𝑖𝑛 𝐿(𝑤)
>1(>?,>@)
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Tacó:
𝜕𝐿𝜕𝑤(
= 20+1)
2
𝑦+ − 𝑤( −𝑤) 𝑥+ −1
𝜕𝐿𝜕𝑤)
= 20+1)
2
𝑦+ − 𝑤( −𝑤) 𝑥+ −𝑥+
𝜕𝐿𝜕𝑤
= 0 ⟺
0+1)
2
𝑦+ − 𝑤( −𝑤) 𝑥+ = 0
0+1)
2
𝑦+ − 𝑤( −𝑤) 𝑥+ 𝑥+ = 0
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Suyra𝑤(, 𝑤) lànghiệmcủahệ:
E𝑁𝑤( + ∑+1)
2 𝑥+ 𝑤) = ∑+1)2 𝑦+
∑+1)2 𝑥+ 𝑤( + ∑+1)
2 𝑥+4 𝑤) = ∑+1)
2 𝑥+𝑦+
• Hoặcdướidạngmatrận
𝑁 0+1)
2
𝑥+
0+1)
2
𝑥+ 0+1)
2
𝑥+4
𝑤(𝑤)
=
0+1)
2
𝑦+
0+1)
2
𝑥+𝑦+
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Đặt
𝑋 =1 … 1𝑥) … 𝑥2
,
• Suyra𝑤(𝑤)
= 𝑋𝑋I J)𝑋𝑦)⋮𝑦2
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
8
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
1. Input 𝑥) … 𝑥2 I , 𝑦) … 𝑦2 I
2. output 𝑤( 𝑤) I
3. Begin4. Build X
5. XT =Transfer X6. A=XXT
7. b =X 𝑦) … 𝑦2 I
8. 𝑤( 𝑤) I=A-1b9. 𝐄𝐧𝐝
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Cáchàmsauđâyđượcdùng
• len():lấysốphầntửcủamộtarray
• numpy.ones():tạomatrậncácphầntửbằng1(all-onesmatrix,matrixofones)• numpy.concatenate(...,axis=0/1):gộpthêm1matrậnvàomatrậnđãcó,axis=0nếuthêmdòng,axis=1nếucầnthêmcột
• numpy.dot():tínhtích2matrận
• numpy.linalg.pinv():tínhmatrậnnghịchđảo• numpy.linspace():trảvềcácgiátrịrờirạctrênđoạnchotrước.
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Ứngdụng1:Tìmtrọnglượngcủamộtngườikhibiếtchiềucao
• Ngoàira,cũngđãcódữliệutươngứnggiữachiềucao(tậpnguồn- h)vàcânnặng(tậpđích- w)đểlàmcơsởchoviệcrútramôhìnhthểhiệnmốiquanhệnày.
• Trongứngdụngnàytìmw theoh dướidạngtuyếntính
w=w1h+w0
• Trongđów1 làtrọngsố(weight),w0 làđộlệch(Bias)
A.Prof. Tran Van Lang, PhD -- VAST
• Chiềucaovàcânnặngcủa2ongườitrongvídụtrướcchoởbảng
A.Prof. Tran Van Lang, PhD -- VAST
STT Cao Nặng STT Cao Nặng STT Cao Nặng
1 145 42 8 164 64 15 177 71
2 150 46 9 165 65 16 178 72
3 152 50 10 168 66 17 180 72
4 154 54 11 170 67 18 181 73
5 156 54 12 172 68 19 182 74
6 160 56 13 174 69 20 184 75
7 162 60 14 175 70
5/3/19
9
• Giảsửchiềucao(h)vàcânnặng(w)quanhệdướidạngtuyếntính
w =w1 xh +w0
• Vấnđềlàtìmcácmodelparameterw1,w0
• TheothuậttoánhồiquytuyếntínhđượcviếtbằngPythonnhưsau:
A.Prof. Tran Van Lang, PhD -- VAST
• Tạocácmatrậnnhưslidetrước
• Sauđótínhmatrậnnghịchđảo,rồinhânvớimatrậnbđểcókếtquảlàmodelparameters
A.Prof. Tran Van Lang, PhD -- VAST
• Kếtquảhàmxấpxỉdạngtuyếntínhnhưhình
A.Prof. Tran Van Lang, PhD -- VAST
• Từđócóthểsửdụngđểdựđoán
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
10
• Trườnghợpvớidữliệuđầuvàonhiềuhơn.Chẳnghạn,
• Bàitoánđịnhgiá(y)củaviênđáquýphụthuộcvào3tiềnđề:
• Trọnglượng(x1)• Kíchthước(x2)
• Độtinhkhiết(x3).
• Khiđó,đểtìmhàmdựđoánvềgiá- làquanhệf giữavectorgồm3thànhphầnx=(x1, x2, x3)Tvớimộtsốy(đạilươngvôhướng).
A.Prof. Tran Van Lang, PhD -- VAST
• Vớivídụtrên,hàmf ởdạngtuyếntính(lũythừabậc1củax)nhưsau,nêngọilàhồiquytuyếntính
y≈f(x)=w0+w1x1 +w2x2 +w3x3
Trongđów =(w0,w1,w2,w3)T làgiátrịcầntìm• Trườnghợptổngquát,hàmf códạng
y≈f(x)=w0+w1x1 +w2x2 +...+wMxMvớiM tiềnđề xk vàkếtluận y,trongđó
vector w =(w0,w1,w2,...,wM)T cầnphảitìm
A.Prof. Tran Van Lang, PhD -- VAST
• NếukýhiệulạixT =(1,x1,x2,x3)thìcóthểviếtlạihàmdựđoáncầntìmnhưsau:
y≈f(x)=xTw
• Vấnđềđặtralàphảitìmđượccácwk,k=1..M saochosaisốtrungbìnhphươnggiữay vàf(x)lànhỏnhất.
• Haylàphảitìmw saocho
(y– xTw)2 ≈ 0
A.Prof. Tran Van Lang, PhD -- VAST
• GiảsửđãcóN dữliệuyivềkếtluậnthuthậpđược,đồngthờiN dữliệunàytươngứngvớibộdữliệuxi ,i=1..N củaMtiềnđề.
• Nóicáchkhác,nếucóN bộdữliệu(cảtiềnđềvàkếtluận)(yi,x1i, x2i,..., xMi), i=1..N
• Bàitoánđặtralàtìmcácwk,k=1..M saocho
𝐿 𝒘 =0+1)
2
𝑦+ − 𝒙I𝒘 4
đạtcựctiểu
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
11
• Kýhiệuvector
y =(y1,y2,...,yN)T
vàmatrận
𝑿 =𝑥𝟏𝟏 ⋯ 𝑥𝟏𝑵⋮ ⋱ ⋮
𝑥Y) ⋯ 𝑥𝑴𝑵
• HàmL(w)đượcviếtlại
𝐿 𝒘 = 𝒚 − 𝑿𝑻𝒘𝟐
𝟐
A.Prof. Tran Van Lang, PhD -- VAST
• Đểtìmw saochoL(w)đạtcựctiểu,bàitoánđượcđưavềgiảiphươngtrình:
𝜕𝐿(𝒘)𝜕𝒘
= 0 ⟺𝜕𝜕𝒘
𝒚 − 𝑿𝑻𝒘𝟐
𝟐= 0
⟺ 𝑿 𝒚 − 𝑿𝑻𝒘 = 0
• Suyra,w đượctínhtừbiểuthứcsauvới𝒃 = 𝑿𝒚𝒘 = (𝑿𝑿𝑻)J)𝒃
A.Prof. Tran Van Lang, PhD -- VAST
• Saukhitìmđượcw,thayvàobiểuthức
f(x)=w0+w1x1 +w2x2 +...+wMxM
• Tacógiátrịdựđoán_𝒚 = 𝑓(_𝒙) nếucóđượccácgiátrị_𝒙.
• ChươngtrìnhviếtbằngPythonnhưsau:
A.Prof. Tran Van Lang, PhD -- VAST
• Cóthểmởrộngđểtìmtrọnglượngcủamộtngườikhibiếtchiềucaovàchiềudàibànchân
• Trongchươngtrìnhdưới:tronglượngđượclưutrữtrongx1,chiềudàilòngbànchântrongx2vàylàtrọnglượng.Từđótìmmốiquanhệgiữax1,x2vày
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
12
• Tạocácmatrậnnhưtrongphầnlýthuyết
• Từđótìmmatrậnnghịchđảođểsuyracácthamsốtrongmôhìnhtuyếntínhởtrên
A.Prof. Tran Van Lang, PhD -- VAST
• Kếtquả
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Ngoàiviệcsửdụngnhữnghàmtruyềnthốngliênquanđếntínhtoánkhoahọcnhưnhânmatrận,nghịchđảomatrận,...ChúngtacóthểsửdụngtrựctiếphàmLinearRegression()củathưviệnscikit-learn.
• Khiđóchươngtrìnhđượcviếtnhưsau:
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
13
BÀI TẬP
• Sửdụngđiềukhiểnmờđểđưaradựđoáncânnặngkhibiếtchiềucao;vớiluậtlà“ngườicàngcaothìcàngcânnặng”.
• Dựđoángiácủacănhộchungcưcăncứvàotổngdiệntích,sốphòng,khuvựcbằngthuậttoánhồiquytuyếntínhdùngthưviệnscikit-learn.
A.Prof. Tran Van Lang, PhD -- VAST
DÙNG TENSORFLOW ĐỂ HUẤN LUYỆN
• QuaytrởlạivớibàitoándùngHồiquytuyếntính.
• Giảsửchúngtacầntìmramộtmodel(mộtquytắc)tươngứnggiữatậpnguồnlànhữngphầntửtrongtậphợp{0,1,2,3,4}vàtậpđích{1,3,5,7,9}
• Vềhìnhảnh,rõràngtacóthểrútraquytắcđólà
y =2x +1
• Trongđóx làphầntửthuộctậpnguồn,y làphầntửthuộctậpđích
A.Prof. Tran Van Lang, PhD -- VAST
• Bằngcáchxemxéttừngtọađộtrongmặtphẳng(x,y):đólàcácđiểm(0,1),(1,3),(2,5),(3,7),(4,9).
• Theophươngpháphồiquytuyếntính,hàmmấtmátlàvớiN=4
𝐿 𝑤 =12𝑁
0+1)
2
𝑊𝑥+ + 𝑏 − 𝑦+ 4
• VớiW =2,b =1,thìL(w)=0
A.Prof. Tran Van Lang, PhD -- VAST
• Tổngquáthóalên,tậpđíchvàtậpnguồncóquanhệvớinhaudạng
y=Wx+b
• BàitoánđặtralàtìmW,b saochomấtmátbằng0
• GiảsửchúngtachoW =1,b =1trongmôhìnhcủaTensorFlow,quađóvớixbấtkỳ,cóthểtínhy theocôngthứctrênnhưsau:
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
14
• Sauđóthựcthiđểtínhcácgiátrịy vớix thuộc{0,1,2,3,4},kếtquảy là{1,2,3,4,5}.
• Kếtquảnàyrấtkhácbiệtsovớitậphuấnluyệnlà{1,3,5,7,9},vàgiátrịhàmmấtmáttrongtrườnghợpnàylà3(bằngcáchthayY_trainbởi[1,2,3,4,5])
A.Prof. Tran Van Lang, PhD -- VAST
• Saisốbìnhphươngtrungbìnhtrongtrườnghợpnàylà4
• Trongkhiđó,nếuchọnW =2,b =1nhưtrênthìkếtquảrấttốt(giátrịhàmmấtmátbằng0,saisốcũngbằng0)
A.Prof. Tran Van Lang, PhD -- VAST
• Vấnđềđặtralàtìmmộthàmtốiưu(Optimizer)trongTensorFlowdùngchohuấnluyệnsaochogiátrịmấtmátđạtcựctiểu
• Tronggóitensorflow.traincómộtOptimizerđơngiảnđólàGradientDescentOptimizer()vớihệsốđểhuấnluyện(learningrate)là0.01.Nêncó2bước
optimizer=GradientDescentOptimizer(0.01)
train=optimizer.minimize(loss)
• TừđâycóthểdùngTensorFlowđểtìmmodelparameter(cácthamsốW,b)nhưsau:
A.Prof. Tran Van Lang, PhD -- VAST A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
15
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Quaytrởlạivớibàitoándựđoántrọnglượngkhibiếtchiềucao.TrongTensorFlow,sửdụngthuậttoántốiưuGradientDescentđểlàmtốithiểuhàmmấtmát
• DùngTensorFlowvớiPythonvớidữliệuhuấnluyệngồmcặp(X_train,Y_train))
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Kếtquảđượcxấpxỉbằngđồthịnhưhình,trongđóđườngthẳnglàđồthịcủa
Y=WX+B
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
16
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• DùngkếtquảđểdựđoánvớichươngtrìnhLinearRegression2.py
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Ứngdụng2:Mởrộnghơn,giảsửtrọnglượngkhôngnhữngphụthuộcchiềucaomàcòncảchiềudàibànchân.
• Khiđó,cầnphảicótậpnguồnlàcáccặp(X1,X2)vớiX1 làchiềucao,X2 làchiềudàibànchân;tậpđíchvẫnlàY.
• KhiđóYđượctìmdướidạng
Y =W1X1 +W2X2 +B
• TừđótìmW1,W2 vàB saochohàmmấtmátđạtcựctiểu
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Dữliệuhuấnluyệntrongtrườnghợpnàybaogồm2thànhphần:
• Tậpnguồn(X_train)làmatrậncón dòng2cột,vớin làsốdữliệu
• Tậpđích(Y_train)làvectorcón thànhphầnLưuý:phảichuyểnvịmatrậnvàvectornàyđểđúngvớiyêucầu
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• CáccâulệnhcũngnhưỨngdụng1,chỉthayđổiđểlàmrõhơnw làmộttensorcóshapelà(2,1)
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
17
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• CácbướctiếptheohoàntoàngiốngvớitrườnghợptậpnguồnX_trainlàmatrậnn dòng1cột
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Đểvẽhình,cầntáchtậpnguồnX_trainthành2thànhphần,mỗithànhthànhphầnlàmộtvectorn dòng.
A.Prof. Tran Van Lang, PhD -- VAST
A.Prof. Tran Van Lang, PhD -- VAST A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
18
THUẬT TOÁN HỒI QUY TUYẾN TÍNH
• Tínhtoántheochươngtrình vớisốliệunhậpvào
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• KNN(K-NearestNeighbor)làthuậttoánKlánggiềnggầnnhất
• KNNthuộcloạisupervised-learningđơngiảnnhất
• KNNcóthểápdụngđượcchocảClassification vàRegression
• Khitraining,KNN khônghọc mộtđiềugìtừdữliệu,mọitínhtoánđượcthựchiệnkhidựđoánkếtquảcủadữliệumới
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Với Classification,nhãn(đầura)củamộtđiểmdữliệu(DataPoint)mớiđượcsuyratừKđiểmdữliệugầnnhấttrongtrainingset.
• VớiRegresssion,đầuracủamộtđiểmdữliệusẽbằngchínhđầuracủađiểmdữliệuđãbiếtgầnnhất(trongtrườnghợpK=1).
• Tómtại,KNNlàthuậttoánđitìmđầuracủamộtđiểmdữliệumớibằngcách chỉ dựatrênthôngtincủaKđiểmdữliệutrongtrainingsetgầnnónhất(K-lâncận),mà khôngquantâmđếnviệccómộtvàiđiểmdữliệutrongnhữngđiểmgầnnhấtnàylànhiễu(dữliệumàcólờigiảisai)
A.Prof. Tran Van Lang, PhD -- VAST
MINH HỌA KNN
• Giảsửcómộtdatasetgồm2loạidữliệulàmàuđỏ(class1)vàmàuxanh(class0)nhưhìnhbêncạnh(hìnhnàyđượcvẽbằngchươngtrìnhPython)
• Thuậttoán3-NNtìmđiểm(50,25)– cóhìnhdấu*màuđen– thuộcclass1hayclass2bằngcáchtínhkhoảngcáchtừđiểmnàyđếntấtcảcácđiểmcótrongdataset.
• Sauđóchỉra3điểmgầnvớiđiểm*nàynhất,màtrongđócó2điểmthuộcclass1,1điểmthuộcclass0.Kếtluậnđiểmnàythuộcclass1
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
19
ĐỊNH NGHĨA KHOẢNG CÁCH
• MộttiêuchíquantrọngtrongKNNđólàkhoảngcách(đểđokháiniệmgần)
• Cho2vectorX,Ycócácthànhphầnnhưsau:
𝑋 = 𝑥), 𝑥4,… , 𝑥b I và𝑌 = 𝑦), 𝑦,… , 𝑦b I
• Khoảngcáchtổngquátgiữa2vectornàyđượckýhiệuvàđịnhnghĩalà:
𝑋−𝑌 d =0+1)
b
𝑥+ − 𝑦+ d e) d
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Cácbiểuhiệncụthểcủakhoảngcáchnàylà
• Khip =2,đóchínhlàkhoảngcáchEuclide𝑋−𝑌 4 = 𝑥) − 𝑦) 4 + 𝑥4 − 𝑦4 4 +⋯+ 𝑥b − 𝑦b 4
• Khip =1,đólàkhoảngcáchtrịtuyệtđốibìnhthường𝑋−𝑌 = 𝑥) − 𝑦) + 𝑥4 − 𝑦4 +⋯+ 𝑥b − 𝑦b
• Khi𝑝 →∞𝑋−𝑌 i = 𝑀𝑎𝑥 𝑥) − 𝑦) , 𝑥4 − 𝑦4 ,… , 𝑥b − 𝑦b
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Dữliệuthửcóthểtìmthấyởhttp://yann.lecun.com/exdb/mnist/
• Dữliệunàykhálớn,độchínhxáckhácao:
• Accuracyof1NNforMNIST:96.91%
• Runningtime:1828.86s(hơn30phút)• Cóthểthửnghiệmvớibộdữliệunhỏhơnchứa3loàihoalan
A.Prof. Tran Van Lang, PhD -- VAST
• DữliệuIrisflowerdataset baogồmthôngtincủabaloạihoalankhácnhau:Irissetosa,IrisvirginicavàIrisversicolor. Trongnày có 150records(mỗiloạilannàycó50bông),mỗirecordcó4attributes:chiềudàicánhhoa(petallength),chiềurộngcánhhoa(petalwidth),chiềudàiđàihoa(sepallength),chiềurộngđàihoa(sepalwidth).
• Vìvậy,khilưutrữcầnmộtvector4thànhphầnchomỗitấmhình
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
20
THUẬT TOÁN KNN
• Trongcơsởdữliệugồm150bônghoanày,đượcphânbố50bônghoađầuthuộccùngmộtloại,50bônghoatiếptheocùngmộtloại,và50bônghoacuốithuộccùngmộtloại.
• Ứngdụng3:DựđoáncácbônghoalanđưavàothuộcloạilanIrisgìtrong3loại:IrisSetosa,hayIrisVersicolor,hayIrisVirginica
• Giảsửdữliệuđượclưutrữtrongtậptin./Data/iris.data.
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Khiđócóthểđọcdữliệuđểhiểnthịvàsửdụng
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Trong150dữliệunày,dùng120dữliệuđểhuấnluyện,30dữliệuđểthửnghiệm.Sauđóphânlớpvớikgồm10lánggiềng.
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Đểtínhsaisốtrungbìnhứngvớicácgiátrịk khácnhautrong[1,40]
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
21
THUẬT TOÁN KNN
• Đồthịsaisốtrungbình
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• HoặclấytrựctiếpbộdữliệuhoalanIriscótrongthưviệnscikit-learn(https://scikit-learn.org/stable/),đọcđểlưuvàobiếntrongchươngtrình
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Táchngẫunhiênđểcó100dữliệuhuấnluyệnvà50dữliệukiểmtra
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Đưavàothử5hoalanIriscầnbiếtđólàloạilangì
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
22
THUẬT TOÁN KNN
• Dùng10lánggiềng(10-NN)đểxácđịnhloạilanvớikhoảngcáchEuclidegiữamộtbônghoacầnkiểmtravới10bônghoatronglâncậncủabônghoanày
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN
• Sosánhgiữakếtquảchínhxácvàkếtquảdựđoán;đồngthờiđưarakếtquảcủa5bônghoacầnbiếtlàloạilanIrisgì
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN DÙNG TENSORFLOW
• Tronghaichươngtrìnhtrên,chúngtasửdụngthưviệnkNNcủascikit-learn.
• ĐểdùngthưviệnTensorFlow,bổsungmộtsốbướcnhưsau:
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN DÙNG TENSORFLOW
• Lưuý,tậptindữliệuiris.datađượcthaycộtphânloạilanIriscógiátrịlà0,1,2tươngứngcho3loạilan
A.Prof. Tran Van Lang, PhD -- VAST
5/3/19
23
THUẬT TOÁN KNN DÙNG TENSORFLOW
A.Prof. Tran Van Lang, PhD -- VAST
THUẬT TOÁN KNN DÙNG TENSORFLOW
• KếtquảcủachươngtrìnhdùngTensorFlow
A.Prof. Tran Van Lang, PhD -- VAST
top related