HỆ THỐNG THÔNG TIN THÔNG MINH -...

Preview:

Citation preview

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

Recommended