Tải bản đầy đủ (.pdf) (43 trang)

machine learning co ban

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (631.74 KB, 43 trang )

TableofContents
Lờitựa

1.1

Machinelearninglàgì?

1.2

SupervisedLearning

1.3

Cáckháiniệmcơbản

1.3.1

Haigócnhìnvềsupervisedlearning

1.3.2

Objectivefunction

1.3.3

Overfitting

1.3.4

RegularizedLossMinimization


1.3.5

Tinhchỉnhcáchyperparameter

1.3.6

Thuậttoánsupervisedlearningtổngquát

1.3.7

Lossfunction

1.3.8

DeepLearning

1.4

Linearmodels

1.4.1

Biểudiễntừ(wordrepresentation)

1.4.2

1


Lờitựa


Lờitựa
Xinchào,mìnhlàNguyễnXuânKhánh,mộtngườiđanghọcvànghiêncứuvềmachine
learning.Lĩnhvựcmìnhchuyênsâuchođếnbâygiờlànaturallanguageprocessing(gọitắt
làNLP),tứclàlàmchomáytínhcókhảnănghiểuđượcngônngữcủaconngười.Mình
khôngphảilàmộtchuyêngianghiêncứu,kinhnghiệmcònkhánonnếusovớicácgiáosư
vàkỹsưđầungànhnhưngmìnhrấtmuốnđembộmônnàyvềgiớithiệuvớimọingười,
nhấtlàcácbạncònđangloayhoaytìmcâutrảlờichocâuhỏi:họcTinhọcsaunàycóthể
làmđượcgì?
Cuốnsáchnàyđượcviếtnhằmđưaramộttrongrấtnhiềucâutrảlờichocâuhỏitrên.Nội
dungchủyếugiớithiệuvềmộtlĩnhvựcthuhútrấtnhiềusựchúýtrongvàinămgầnđây,
machinelearning.
Sáchđượcđặttênlà"MachineLearning:mì,súpvàcôngthứcnấu"vớiýtưởnglànếu
ngườiđọchiểuđượcnhữngthànhtốcơbảncủamachinelearningvàcáchphốihợpgiữa
chúngthìsẽsángtạorarấtnhiều"mónngon".Mụcđíchchínhcủasáchlànhằmgiúpngười
đọccóđọcnềntảnghọcthuậtvữngchắctrướckhiđisâuhơnvàonghiêncứuvàsángchế.
Ngày20/7/2016

2


Machinelearninglàgì?

Machinelearninglàgì?
Machinelearninggâynêncơnsốtcôngnghệtrêntoànthếgiớitrongvàinămnay.Trong
giớihọcthuật,mỗinămcóhàngngànbàibáokhoahọcvềđềtàinày.Tronggiớicông
nghiệp,từcáccôngtylớnnhưGoogle,Facebook,Microsoftđếncáccôngtykhởinghiệp
đềuđầutưvàomachinelearning.Hàngloạtcácứngdụngsửdụngmachinelearningrađời
trênmọilinhvựccủacuộcsống,từkhoahọcmáytínhđếnnhữngngànhítliênquanhơn
nhưvậtlý,hóahọc,yhọc,chínhtrị.AlphaGo,cỗmáyđánhcờvâyvớikhảnăngtínhtoán

trongmộtkhônggiancósốlượngphầntửcònnhiềuhơnsốlượnghạttrongvũtrụ,tốiưu
hơnbấtkìđạikìthủnào,làmộttrongrấtnhiềuvídụhùnghồnchosựvượttrộicủa
machinelearningsovớicácphươngphápcổđiển.
Vậythựcchất,machinelearninglàgì?
Đểgiớithiệuvềmachinelearning,mìnhxindựavàomốiquanhệcủanóvớibakháiniệm
sau:
1. Machinelearningvàtrítuệnhântạo(ArtificialIntelligencehayAI)
2. MachinelearningvàBigData.
3. Machinelearningvàdựđoántươnglai.
Trítuệnhântạo,AI,mộtcụmtừvừagầngũivừaxalạđốivớichúngta.Gầngũibởivìthế
giớiđangphátsốtvớinhữngcôngnghệđượcdánnhãnAI.XalạbởivìmộtAIthựcthụvẫn
cònnằmngoàitầmvớicủachúngta.NóiđếnAI,hẳnmỗingườisẽliêntưởngđếnmộthình
ảnhkhácnhau.VàithậpniêngầnđâycómộtsựthayđổivềdiệnmạocủaAItrongcácbộ
phimquốctế.Trướcđây,cácnhàsảnxuấtphimthườngxuyênđưahìnhảnhrobotvào
phim(nhưTerminator),nhằmgieovàođầungườixemsuynghĩrằngtrítuệnhântạolàmột
phươngthứcnhânbảnconngườibằngmáymóc.Tuynhiên,trongnhữngbộphimgầnhơn
vềđềtàinày,vídụnhưTranscendencedoJohnyDeppvàovaichính,takhôngthấyhình
ảnhcủamộtconrobotnàocả.Thayvàođólàmộtbộnãođiệntoánkhổnglồchỉhuyhàng
vạnconNanobot,đượcgọilàSingularity.Tấtnhiêncảhaihìnhảnhđềulàhưcấuvàgiả
tưởng,nhưngsựthayđổinhưvậycũngmộtphầnnàophảnánhsựthayđổiýniệmcủacon
ngườivềAI.AIbâygiờđượcxemnhưvôhìnhvôdạng,haynóicáchkháccóthểmangbất
cứhìnhdạngnào.VìnóivềAIlànóivềmộtbộnão,chứkhôngphảinóivềmộtcơthể,là
softwarechứkhôngphảilàhardware.
Tronggiớihànlâm,theohiểubiếtchung,AIlàmộtngànhkhoahọcđượcsinhravớimục
đíchlàmchomáytínhcóđượctríthôngminh.Mụctiêunàyvẫnkhámơhồvìkhôngphảiai
cũngđồngývớimộtđịnhnghĩathốngnhấtvềtríthôngminh.Cácnhàkhoahọcphảiđịnh
nghĩamộtsốmụctiêucụthểhơn,mộttrongsốđólàviệclàmchomáytínhlừađượcTuring

3



Machinelearninglàgì?

Test.TuringTestđượctạorabởiAlanTuring(1912-1954),ngườiđượcxemlàchađẻcủa
ngànhkhoahọcmáytínhhiệnđại,nhằmphânbiệtxemngườiđốidiệncóphảilàngườihay
không.1
AIthểhiệnmộtmụctiêucủaconngười.Machinelearninglàmộtphươngtiệnđượckỳvọng
sẽgiúpconngườiđạtđượcmụctiêuđó.Vàthựctếthìmachinelearningđãmangnhânloại
đirấtxatrênquãngđườngchinhphụcAI.Nhưngvẫncònmộtquãngđườngxahơnrất
nhiềucầnphảiđi.MachinelearningvàAIcómốiquanhệchặtchẽvớinhaunhưngkhông
hẳnlàtrùngkhớpvìmộtbênlàmụctiêu(AI),mộtbênlàphươngtiện(machinelearning).
ChinhphụcAImặcdùvẫnlàmụcđíchtốithượngcủamachinelearning,nhưnghiệntại
machinelearningtậptrungvàonhữngmụctiêungắnhạnhơnnhư:
1. Làmchomáytínhcónhữngkhảnăngnhậnthứccơbảncủaconngườinhưnghe,
nhìn,hiểuđượcngônngữ,giảitoán,lậptrình,…

1. Hỗtrợconngườitrongviệcxửlýmộtkhốilượngthôngtinkhổnglồmàchúngtaphải
đốimặthàngngày,haycòngọilàBigData.
BigDatathựcchấtkhôngphảilàmộtngànhkhoahọcchínhthống.Đólàmộtcụmtừdân
gianvàđượcgiớitruyềnthôngtunghôđểámchỉthờikìbùngnổcủadữliệuhiệnnay.Nó
cũngkhôngkhácgìvớinhữngcụmtừnhư"cáchmạngcôngnghiệp","kỉnguyênphần
mềm".BigDatalàmộthệquảtấtyếucủaviệcmạngInternetngàycàngcónhiềukếtnối.
VớisựrađờicủacácmạngxãhộinhưngFacebook,Instagram,Twitter,nhucầuchiasẻ
thôngcủaconngườităngtrưởngmộtcáchchóngmặt.Youtubecũngcóthểđượcxemlà
mộtmạngxãhội,nơimọingườichiasẻvideovàcommentvềnộidungcủavideo.Đểhiểu
đượcquymôcủaBigData,hãyxemquanhữngconsốsauđây(tínhđếnthờiđiểmbài
viết):
Khoảng300giờvideođượcuploadtrênyoutubetrongmỗiphút(theo
/>Hơn900triệungườithậtsựsửdụngFacebookmỗingày,82.8%trongsốđóởngoài
MỹvàCanada(theo />Nhucầuchiasẻtăngđiđôivớiviệcnhucầutìmkiếmthôngtincũngtăng.Googlephải

xửlý100tỉlượttìmkiếmmỗitháng,tứclà3,3tỉlượtmỗingàyvà38.000lượtmỗigiây
(theo />Vànhữngconsốnàyđangtănglêntheotừnggiây!
BùngnổthôngtinkhôngphảilàlýdoduynhấtdẫnđếnsựrađờicủacụmtừBigData.Nên
nhớrằngBigDataxuấthiệnmớitừvàinămgầnđâynhưngkhốilượngdữliệutíchtụkểtừ
khimạngInternetxuấthiệnvàocuốithếkỉtrướccũngkhôngphảilànhỏ.Thếnhưng,lúcấy
conngườingồiquanhmộtđốngdữliệuvàkhôngbiếtlàmgìvớichúngngoàilưutrữvàsao

4


Machinelearninglàgì?

chép.Chođếnmộtngày,cácnhàkhoahọcnhậnrarằngtrongđốngdữliệuấythựcrachứa
mộtkhốilượngtrithứckhổnglồ.Nhữngtrithứcấycóthểgiúpchotahiểuthêmvềcon
ngườivàxãhội.Từdanhsáchbộphimyêuthíchcủamộtcánhânchúngtacóthểrútra
đượcsởthíchcủangườiđóvàgiớithiệunhữngbộphimngườiấychưatừngxem,nhưng
phùhợpvớisởthích.Từdanhsáchtìmkiếmcủacộngđồngmạngchúngtasẽbiếtđược
vấnđềnónghổinhấtđangđượcquantâmvàsẽtậptrungđăngtảinhiềutintứchơnvềvấn
đềđó.BigDatachỉthựcsựbắtđầutừkhichúngtahiểuđượcgíatrịcủathôngtinẩnchứa
trongdữliệu,vàcóđủtàinguyêncũngnhưcôngnghệđểcóthểkhaithácchúngtrênquy
môkhổnglồ.Vàkhôngcógìngạcnhiênkhimachinelearningchínhlàthànhphầnmấuchốt
củacôngnghệđó.ỞđâytacómộtquanhệhỗtươnggiữamachineLearningvàBigData:
machinelearningpháttriểnhơnnhờsựgiatăngcủakhốilượngdữliệucủaBigData;
ngượclại,gíatrịcủaBigDataphụthuộcvàokhảnăngkhaitháctrithứctừdữliệucủa
machinelearning.
Ngượcdònglịchsử,machinelearningđãxuấthiệntừrấtlâutrướckhimạngInternetrađời.
Mộttrongnhữngthuậttoánmachinelearningđầutiênlàthuậttoánperceptronđượcphát
minhrabởiFrankRosenblattvàonăm1957.Đâylàmộtthuậttoánkinhđiểndùngđểphân
loạihaikháiniệm.Mộtvídụđơngỉanlàphânloạithưrác(tamgíac)vàthưbìnhthường
(vuông).Chắccácbạnsẽkhóhìnhdungrađượclàmthếnàođểlàmđượcđiềuđó.Đốivới

perceptron,điềunàykhôngkhácgìvớiviệcvẽmộtđườngthẳngtrênmặtphẳngđểphân
chiahaitậpđiểm:

Nhữngđiểmtamgiácvàvuôngđạidiệnchonhữngemailchúngtađãbiếtnhãntrước.
Chúngđượcdùngđể"huấnluyện"(train)perceptron.Saukhivẽđườngthẳngchiahaitập

5


Machinelearninglàgì?

điểm,tanhậnthêmcácđiểmchưađượcdánnhãn,đạidiệnchocácemailcầnđượcphân
loại(điểmtròn).Tadánnhãncủamộtđiểmtheonhãncủacácđiểmcùngnửamặtphẳng
vớiđiểmđó.
Sơlượcquytrìnhphânloạithưđượcmôtảsau.Trướchết,tacầnmộtthuậttoánđể
chuyểnemailthànhnhữngđiểmdữliệu.Côngđoạnnàyrấtrấtquantrọngvìnếuchúngta
chọnđượcbiểudiễnphùhợp,côngviệccủaperceptronsẽnhẹnhànghơnrấtnhiều.Tiếp
theo,perceptronsẽđọctọađộcủatừngđiểmvàsửdụngthôngtinnàyđểcậpnhậtthamsố
củađườngthẳngcầntìm.Cácbạncóthểxemquademocủaperceptron(điểmxanhlácây
làđiểmperceptronđangxửlý):

Vìlàmộtthuậttoánkháđơngiản,córấtnhiềuvấnđềcóthểnảysinhvớiperceptron,vídụ
nhưđiểmcầnphânloạinằmngaytrênđườngthẳngphânchia.Hoặctệhơnlàvớimộttập
dữliệuphứctạphơn,đườngthẳngphânchiakhôngtồntại:

6


Machinelearninglàgì?


Lúcnày,tacầncácloạiđườngphânchia"khôngthẳng".Nhưngđólạilàmộtcâuchuyện
khác.
Perceptronlàmộtthuậttoánsupervisedlearning:tađưachomáytínhhàngloạtcácvídụ
cùngcâutrảlờimẫuvớihyvọngmáytínhsẽtìmđượcnhữngđặcđiểmcầnthiếtđểđưara
dựđoánchonhữngvídụkhácchưacócâutrảlờitrongtươnglai.Ngoàira,cũngcónhững
thuậttoánmachinelearningkhôngcầncâutrảlờimẫu,đượcgọilàunsupervised
learning.Trongtrườnghợpnày,máytínhcốgắngkhaithácracấutrúcẩncủamộttậpdữ
liệumàkhôngcầncâutrảlờimẫu.Mộtloạimachinelearningkhácđượcgọilà
reinforcementlearning.Trongdạngnày,cũngkhônghềcócâutrảlờimẫu,nhưngthayvì
đómáytínhnhậnđượcphảnhồichomỗihànhđộng.Dựavàophảnhồitíchcựchaytiêu
cựcmàmáytínhsẽđiềuchỉnhhoạtđộngchophùhợp.Sauđâylàmộtvídụminhhọa:

7


Machinelearninglàgì?

Mụctiêucủachiếcxelàleolênđượcđỉnhđồivàlấyđượcngôisao.Chiếcxecóhaichuyển
độngtớivàlui.Bằngcáchthửcácchuyểnđộngvànhậnđượcphảnhồilàđộcaođạtđược
vàthờigianđểlấyđượcngôisao,chiếcxedầntrởnênthuầnthụchơntrongviệcleođồilấy
sao.
Machinelearningcómốiquanhệrấtmậtthiếtđốivớistatistics(thốngkê).Machine
learningsửdụngcácmôhìnhthốngkêđể"ghinhớ"lạisựphânbốcủadữliệu.Tuynhiên,
khôngđơnthuầnlàghinhớ,machinelearningphảicókhảnăngtổngquáthóanhữnggì
đãđượcnhìnthấyvàđưaradựđoánchonhữngtrườnghợpchưađượcnhìnthấy.Bạncó
thểhìnhdungmộtmôhìnhmachinelearningkhôngcókhảnăngtổngquátnhưmộtđứatrẻ
họcvẹt:chỉtrảlờiđượcnhữngcâutrảlờimànóđãhọcthuộclòngđápán.Khảnăngtổng
quátlàmộtkhảnăngtựnhiênvàkìdiệucủaconngười:bạnkhôngthểnhìnthấytấtcảcác
khuônmặtngườitrênthếgiớinhưngbạncóthểnhậnbiếtđượcmộtthứcóphảilàkhuôn
mặtngườihaykhôngvớixácsuấtđúnggầnnhưtuyệtđối.Đỉnhcaocủamachinelearning

sẽlàmôphỏngđượckhảnăngtổngquáthóavàsuyluậnnàycủaconngười.
Nhưtađãthấy,nóiđếnmachinelearninglànóiđến"dựđoán":từviệcdựđoánnhãnphân
loạiđếndựđoánhànhđộngcầnthựchiệntrongbướctiếptheo.Vậymachinelearningcó
thểdựđoántươnglaihaykhông?Cóthểcóhoặccóthểkhông:machinelearningcóthể
dựđoánđượctươnglai,nhưngchỉkhitươnglaicómốiliênhệmậtthiếtvớihiệntại.
Đểkếtthúc,mìnhmuốncùngcácbạnxemxétmộtvídụđơngiảnsau.Giảsửbạnđược
đưachomộtđồngxu,rồiđượcyêucầutungđồngxumộtsốlần.Vấnđềđặtralà:dựavào
nhữnglầntungđồngxuđó,bạnhãytiênđoánrakếtquảlầntungtiếptheo.Chỉcầndựa
vàotỉlệsấp/ngửacủanhữnglầntungtrướcđó,bạncóthểđưaramộtdựđoánkhátốt.
Nhưngnếumỗilầntung,ngườitađưachobạnmộtđồngxukhácnhauthìmọichuyệnsẽ
hoàntoànkhác.Cácđồngxukhácnhaucóxácsuấtsấpngửakhácnhau.Lúcnàyviệcdự

8


Machinelearninglàgì?

đoángầnnhưkhôngthểvìxácsuấtsấpngửacủalầntungsaukhônghềliênquangìđến
lầntungtrước.Điềutươngtựcũngxảyravớiviệcdựđoántươnglaibằngmachine
learning,nếutaxemnhưmỗingàycómột"đồngxu"đượctungrađểxemmộtsựkiệncó
diễnrahaykhông.Nếu"đồngxu"củangàymaiđượcchọnmộtcáchtùyýkhôngtheophân
bốnàocảthìmachinelearningsẽthấtbại.Rấtmaylàtrongnhiềutrườnghợpđiềuđó
khônghoàntoànđúng,thếgiớihoạtđộngtheonhữngquyluậtnhấtđịnhvàmachine
learningcóthểnhậnranhữngquyluậtđó.Nhưngnóichocùng,machinelearninghoàn
toànkhôngphảilàmộtbàphủthủyvớiquảcầutiêntrimàcũnggiốngnhưchúngta:phán
đoánbằngcáchtổngquáthóanhữngkinhnghiệm,nhữnggìđãđượchọctừdữliệu.
1.XemphimTheImitationGamevềnhânvậtnày,nhưngđừngtinhếtnhữnggìtrong
phim.↩

9



SupervisedLearning

Chương1:SupervisedLearning
Supervisedlearninglàmộthướngtiếpcậncủamachinelearningđểlàmchomáytínhcó
khảnăng"học".Tronghướngtiếpcậnnày,ngườita"huấnluyện"máytínhdựatrênnhững
quansátcódánnhãn(labeleddata).Tacóthểhìnhdungnhữngquansát(observation)
nàynhưlànhữngcâuhỏi,vànhãn(label)củachúnglànhữngcâutrảlời.Ýtưởngcủa
supervisedlearninglà:bằngviệcghinhớvàtổngquáthóamộtsốquytắctừmộttậpcâu
hỏicóđápántrước,máytínhsẽcóthểtrảlờiđượcnhữngcâuhỏidùchưatừnggặpphải,
nhưngcómốiliênquan.Vídụtadạymáytính"1+1=2"vàhyvọngnósẽhọcđượcphép
tínhcộngx+1vàtrảlờiđượclà"2+1=3".Supervisedlearningmôphỏngviệcconngười
họcbằngcáchđưaradựđoáncủamìnhchomộtcâuhỏi,sauđóđốichiếuvớiđápán.Sau
đóconngườirútraphươngphápđểtrảlờiđúngkhôngchỉcâuhỏiđó,màchonhữngcâu
hỏicódạngtươngtự.
Trongsupervisedlearning,cácquansátbắtbuộcphảiđượcdánnhãntrước.Đâychính
làmộttrongnhữngnhượcđiểmcủaphươngphápnày,bởivìkhôngphảilúcnàoviệcdán
nhãnchínhxácchoquansátcũngdễdàng.Vídụnhưtrongdịchthuật(machine
translation),từmộtcâucủangônngữgốccóthểdịchthànhrấtnhiềuphiênbảnkhácnhau
trongngônngữcầndịchsang.Tuynhiên,việcquansátđượcdánnhãncũnglạichínhlàưu
điểmcủasupervisedlearningbởivìmộtkhiđãthuthậpđượcmộtbộdữliệulớnđượcdán
nhãnchuẩnxác,thìviệchuấnluyệntrởnêndễdànghơnrấtnhiềusovớikhidữliệukhông
đượcdánnhãn.
Trongchươngnày,chúngtasẽđưasupervisedlearningvềmộtphươngtrìnhtoánhọcđơn
giản,thậmchícóthểgiảiđượcbằngkiếnthứcphổthông.Tuynhiên,tasẽchỉranhững
điểmbấtcậpkhisửdụngcácphươngphápthôngthườngđểtìmlờigiảivàđưaramộtsố
cáchđểhạnchếnhữngbấtcậpđó.Tổnghợpnhữngphươngphápnày,taxâydựngđược
mộtthuậttoánsupervisedlearningtổngquát.


10


Cáckháiniệmcơbản

Cáckháiniệmcơbản
Observation:kíhiệulàx,inputtrongcácbàitoán.Observationthườngcódạngmộtvector
x = (x1 , x2 , ..., xn ),gọilàfeaturevector.Mỗixi gọilàmộtfeature.Vídụbạnmuốnđoán
xemhômnaycómưakhôngdựavàoobservationgồmcácfeature(nhiệtđộ,độẩm,tốcđộ
gió).
Label:kíhiệulày,outputcủabàitoán.Mỗiobservationsẽcómộtlabeltươngứng.Ởvídụ
vềmưaởtrênlabelchỉlà"mưa"hoặc"khôngmưa".Labelcóthểmangnhiềudạngnhưng
đềucóthểchuyểnđổithànhmộtsốthựchoặcmộtvector.Trongchươngnàychủyếulàm
việcvớilabellàsốthực.
Model:trongchươngnàycácbạnhiểulànólàmộthàmsốf (x),nhậnvàomộtobservation
xvàtrảvềmộtlabely = f (x).
Parameter:mọithứcủamodelđượcsửdụngđểtínhtoánraoutput.Vídụmodellàmột
hàmđathứcbậchai:f (x) = ax21 + bx2 + cthìparametercủanólàbộba(a, b, c).Tuynhiên,
cònmộtloạiparameterđặcbiệtnữagọilàhyperparameter.Hyperparameterlàmộtkhái
niệmmangtínhtươngđốivàquyước,thườngchỉcácparametercótínhchấthơimặcđịnh.
Đốivớihàmđathứcthìbậccủađathứccóthểđượcxemlàmộthyperparameter.Đểngắn
gọn,ngườitathườnggomtấtcảparametercủamộtmodellạithànhmộtvector,thường
đượckíhiệulàw.Trongf (x)vừarồithìw = (a, b, c).Kíhiệufw (x)đượcdùngđểchỉmột
modelđãđượcxácđịnhthamsố.Trongtrườnghợpcấutrúcmodelđãđượcxácđịnh(vídụ
đãbiếtđượcnólàđathứcbậc2),thìcóthểdùngwđểchỉmodelthaychofw (x)luôn.

11


Haigócnhìnvềsupervisedlearning


HaigócnhìnvềSupervisedLearning
Ởbàinàymìnhđưaramộtđịnhnghĩasơlược.Địnhnghĩanàykhônghoàntoànchínhxác
nhưngnógiúptahiểumộtcáchkháiquátnhấtvềsupervisedlearning.Dầndầntrongcác
bàihọcsauchúngtasẽcảitiếnđểhoànchỉnhđịnhnghĩanày.

Gócnhìnthứnhất:ướclượnghàmsố
Tiếpcậnsupervisedlearningthựcchấtkhôngđòihỏiquánhiềukiếnthứccaosiêu.Nócó
thểđượcquyvềthànhmộtbàitoántốithiểuhàmsốcơbảntrongtoánhọc.
Bạnhãytưởngtượngrằngđangchơimộttròchơivớithiênnhiên(làmộtsứcmạnhvôhình
điềukhiểnmọisựviệccủavũtrụ).Đầutiên,thiênnhiênviếtramộthàmbíẩnf ∗ nàođó.
Sauđóthiênnhiênđưavàohàmsốnàymộtloạtcácobservationx(1) , ⋯ , x(N )đểtạora
mộtloạtcáclabely(1) = f ∗ (x(1) ), ⋯ , y (N ) = f ∗ (x(N ) )tươngứng.Sauđó,thiênnhiênđem
giấuhàmf ∗ đivàchỉchừalạicáccặpobservation-label(x (i), y(i) )chochúngtanhìnthấy.
Nhiệmvụcủachúngtalàkhôiphụclạiđượchàmf ∗ bằngmộtmodelfw mộtcáchchính
xácnhấtcóthể.Tagọiđâylàtròchơisupervisedlearning.
Mọibàitoánsupervisedlearningđềucóthểđượcđịnhnghĩatheocáchnày.Vídụtrongbài
toánphânloạivănbản,observationxcóthểlàmộtvănbản,labelylàchủđềcủavănbản
đó,cònf ∗ làmộtchuyêngiađọcvănbảnvàtìmrachủđềcủachúng.Mụctiêucủa
machinelearninglàtạoramộtchươngtrìnhmáytínhfw đểlàmcôngviệcnàytốtnhưlà
chuyêngiaf ∗ kia.
Q1:Giảsửbằngcáchnàođótabiếtđượcrằngx = (x1 , x2 )(mộtvector2chiều)và
y = f ∗ (x) = ax21 + bx2 + c.Cầnbaonhiêucặpdữliệu(x, y)đểcóthểtìmraparameter
(a, b, c)?
A1:Vớimỗicặp(x, y)taxâydựngđượcmộtphươngtrìnhy = ax21 + bx2 + c.Vìcó3ẩn
nêntacầnchỉcần3phươngtrìnhlàgiảirađượcthamsố(nếutồntại).Tứclàcần3điểm
dữliệu.

12



Haigócnhìnvềsupervisedlearning

Trongthựctếthìmọichuyệnkhôngđơngiảnnhưvậy.Supervisedlearningđốimặtvới
nghịchlýsauđây:vìtakhôngthểnàogiaotiếpđượcvớitựnhiên,nênsẽkhôngbaogiờ
biếtđượcf ∗ códạngnhưthếnào.Vìthế,dùtacóđưaramộtmodelfw đểướclượngf ∗ ,
cũngkhôngaibiếtf ∗ làgìđểchobiếtlàtađangđúnghaysai.Nóicáchkhác,supervised
learninglàmộttròchơidựđoánmàkhôngaibiếtđápánđúnglàgì.
Đọcđếnđâycácbạnđừngnảnlòng.Tuylànghecóphầnkhôngtưởng,nhưngkhôngriêng
gìmachinelearning,cácngànhkhoahọccơbảnkháccũngchơinhữngtròchơitươngtự.
CácbạncónghĩrằngEinsteinnằmmơthấythiênnhiênthìthầmvàotaimìnhcôngthức
E = mc2 ?
Chođếngiờ,ngườitavẫnphảilàmthínghiệmtrongthựctếđểkiểmchứnglạicáclýthuyết
củaEinsteinchođếnkhinósaithìthôi.Trongsupervisedlearning,tacũnglàmmộtđiều
tươngtựnhưvậy:kiểmchứngsựđúngđắncủamộtmodelbằngthựcnghiệm.Chodù
khôngbiếthìnhdạngcủaf ∗rasao,thìvẫncònđócáccặpobservation-labelsinhratừhàm
này.Tasẽđánhgiáđộtốtcủamộtmodeltrêncácdữliệuthựctếnày.
Vídụ,nếunhậnđược100cặpobservation-label,tachỉdùngkhoảng80cặpđểxâydựngra
fw .Cònlại20cặp,tagiấukhôngchomodelnhìnthấylúcnóhọc.Saukhimodelhọctừ80
cặpdữliệu,tasẽchocácobservationcủa20cặpdữliệucònlạivàomodelđểtạoracác
labeldựđoán,rồisosánhchúngvớicáclabelthật(dof ∗sinhra).80cặpđượcdùngđểxây
dựngramodelgọilàtrainingset(tậphuấnluyện),còn20cặpdùngđểđánhgiámodelgọi
làtestset(tậpkiểmtra).Tươngứng,supervisedlearningcũngđượcchiathànhhaiquá
trình:train(lúcmodelhọc)vàtest(lúcđánhgiámodel).

13


Haigócnhìnvềsupervisedlearning


Q2:Tạisaokhôngdùngtấtcảdữliệuđểtrainrồitesttrênđóluôn?
A2:Trongmachinelearning,cómộtnguyêntắcvôcùng,vôcùngquantrọngcầnnhớ:đólà
quátrìnhtrainvàtestphảiđộclậpvớinhau!Dữliệuđượcdùngđểtestmodelphải
khôngđượcmodelnhìnthấylúctrain.Córấtnhiềucáchđểviphạmnguyêntắcnày,và
điềudẫnđếnmộthậuquả"thảmkhốc",overfitting.Mìnhsẽgiảithíchvềhiệntượngnày
trongmộtdịpkhác.Nóinômnalàmodelcủabạnsẽbiếnthànhmộtconvẹt,chẳnghọc
đượcgìkhácngoàiviệclặplạinhữnggìnóđãnhìnthấy.Vìthế,bạnphảichiadữliệura
thànhtrainingsetvàtestset,vàphảilàmđiềunàytrướckhitrainmodel.
Tuyđãlàmchotròchơisupervisedlearningtrởnênhợplệ,tavẫnchưathểchơiđược.Có
haivấnđềphátsinh,đólà:
1. Thếnàolàmộtmodel"tốt"trêntestset?2.Làmsaođểtìmrađượcmộtmodel"tốt"từ
trainingset?
Vấnđềthứnhấtgọilàevaluationproblemvàvấnđềthứhaigọilàtrainingproblem.Giải
mộtbàitoánmachinelearningtứclàbạnđitìmlờigiảicụthểchohaivấnđềnày.

Gócnhìnthứhai:tốiưuhàmsố
Đểgiảiquyếthaivấnđềđãnêu,tacầnđếngócnhìnthứhai.
Đầutiên,tatậptrungvàoevaluationproblem:giảsửđãtìmđượcmộtmodelfw ,làmthế
nàođểđođộtốtcủanótrêntestsetbằngmộtconsốcụthể?

14


Haigócnhìnvềsupervisedlearning

Mộttrongnhữngcáchđơngiảnnhấtđólàđếmxemnóđoánsaibaonhiêulabelthậttrên
testset.Tagiảsửmodelbịphạt1điểmvớimỗilầnlabeldựđoánkhácvớilabelthật.Số
điểmbịphạttrungbìnhđượcgọilàerrorrate(độsaisót)củamodel.Errorratelàmộtsố
thựctrongđoạn[0,1].Theongônngữtoánhọc,errorratetrênmộttestsetDtest củamodel
fw đượctínhnhưsau:

e Dtest =

1
∣Dtest∣



I{f w(x) ≠ y}

(x,y)∈Dtest

trongđó:
∣Dtest∣sốlượngcáccặp(x, y)củatestset(kíhiệu|S|nghĩalàlựclượngcủatậphợp
S).
I{.}sẽtrảvề1nếulogictrongdấungoặcnhọnlàđúng,0nếusai.
Nếulậptrình,pseudocodesẽnhưthếnày:
N=|D_{test}|
error_rate=0
fori=0..N-1
if(f(x[i])!=y[i])error_rate+=1
error_rate=error_rate/N

Errorratecàngthấp,thìmodelcàngtốt.Nếuđoánđúnghếttấtcảcặpdữliệu,tađạt
đượcerrorrate"trongmơ",0%.Nhưngnênnhớđấylàkếtquảđượcđotrênmộttestset
hữuhạn.Kếtquảnàychỉđưarađượcmộtchặntrênvàchặndướichokếtquảtrêntậpvô
hạn(xemthêmvềcentrallimittheorem).Nóicáchkhác,nếutựnhiêncógửiđếnmộttest
setmớiđểđánhgiáfw ,thìchưachắctacóthểlặplạiđượcerrorrategiốngnhưtrêntest
setcũ.Errorrateđượcđánhgiátrêntestsetcànglớnthìcàngđángtincậy.
Tacóthểđịnhnghĩađộtốttheorấtnhiềucáchkhácnữa.Tổngquát,độtốtcủamodelđược
xácđịnhdựatrêngiátrịcủaevaluationfunctiontrêntestset:

LDtest (fw ) =

1

∣Dtest∣ (x,y)∈D

L (fw (x), y )
test

trongđófw làmodelđượctest,hàmLlàmộtlossfunction.
Errorratelàmộtdạngevaluationfunctionthườngdùngvớilossfunctionlà
L (fw (x), y ) ≡ I{f (x) ≠ y}(kíhiệu≡đọclà"đượcđịnhnghĩabằngnhau").

15


Haigócnhìnvềsupervisedlearning

Đếnđây,tasẵnsàngchơitròchơisupervisedlearningdướigócnhìnnhưmộtbàitoántối
ưuhàmsố.Hãyquaylạitrảlờihaivấnđềtrongphầntrước:
1. Thếnàolàmộtmodel"tốt"trêntestset?→modelchogiátrịcủaevaluationfunction
trêntestsetcàngnhỏthìcàngtốt.
2. Làmsaođểtìmrađượcmộtmodeltốttừtrainingset?→tìmmodelcựctiểuhóagiátrị
củaevaluationfunctiontrêntrainingset.
Cụthểhơn,saukhichọnđượcevaluationfunction,supervisedlearningcóthểđượcgóigọn
trong2bướcsau:
1. Train(huấnluyện):tìmmodelfw tốithiểuhóagiátrịcủaevaluationfunctiontrên
trainingset.
2. Test(kiểmtra):thôngbáođộtốtcủafw làgíatrịcủaevaluationfunctiontrêntestset.
Lưuý:Ởđâytasửdụngluônevaluationfucntionđểgiảiquyếttrainingproblem.Tuynhiên,

đâychỉlàgiảipháptạmthời.Lýdovìsaovàgiảipháptốthơnlàgìsẽđượcbànđếntrong
bàisau.

16


Objectivefunction

Objectivefunction
Giữatrainingproblemvàevaluationproblem,evaluationproblemđơngiảnhơnvìbạnchỉ
việcđưaobservationvàomodel,nhậnvềlabeldựđoán,vàtínhgiátrịcủaevaluation
functiontrêntestset.Trainingproblemphứctạphơnvìnóphảiđảmbảorằngmodelphảicó
khảnăngdựđoántốtkhôngchỉtrêntrainingsetmàcòntrêntestset(làdữliệukhôngđược
modelnhìnthấylúctrain).Bàiviếtgiảithíchtạisaokhôngthểsửdụngcácevaluation
functionnhưerrorrateđểtrainmodel,vàgiớithiệuvềkháiniệmobjectivefunction.

Mụctiêutốithượngcủasupervisedlearning
Khinóiđếnviệc"giải"trainingproblemtứclàtađangnóiđếnviệctìmmộtphươngpháp
huấnluyệntrêntrainingsetsaochomodeldựđoántốttrêntestset.Ngườitathườngít
quantâmđếnđộtốtcủamodeltrêntrainingsetbởivìnóthườngrấtcao(nhấtlàvớicác
modelcựcmạnhcủadeeplearning).Độtốttrêntrainingsetchỉthểhiệnđượckhảnăngghi
nhớcủamodelvềnhữnggìđãnhìnthấy.Vớimộttríthôngminhthậtsự,tacầnthêmkhả
năngtổngquáthóa,chínhlàviệcdựđoántốttrêndữliệuchưahềđượcnhìnthấy.

Objectivefunction
Đểdựđoántốtnhấttrêntestset,cáchđơngiảnnhấtlàtìmmodeldựđoántốtnhấttrên
trainingset,vàhyvọngrằngnócũngsẽdựđoántốttrêntestset.Vìthế,ởbàitrướctaphát
biểurằng:
1. Train:tìmmodelfw tốithiểuhóagiátrịcủaevaluationfunctiontrêntrainingset.
2. Test:thôngbáođộtốtcủafw làgíatrịcủaevaluationtrêntestset.

Tuynhiên,cáchlàmnàytrongthựctếvừarấtkhóthựchiệnđượcvừakhônghiệuquả.Ta
chỉtìmrahaivấnđềtrongphátbiểutrênvàthayđổiđểlàmnóthựctếvàhiệuquảhơn.
Thứnhất,khitrainmodeltachỉmuốntìmramodeldựđoán"khá"chínhxáctrên
trainingsetmàthôi.Vìsaolà"khá"chínhxácmàkhôngphảilà"hoàntoàn"chínhxác?
Khôngcóđiềugìđảmbảomodeldựđoánhoànchínhxáctrêntrainsetcũngdựđoántốt
trêntestsetcả.Thậmchínócóthểdựđoánrấttệnếutestsetrấtkhácvớitrainset.Điều
giốngnhưviệcbạnbị"trậttủ"khiđivậy(ônmộtđằngđềramộtkiểu).Thườngtrongcácbài
toán,bạncómộtkhốidữliệulớntừmộtnguồnnàođórồichiara80%đểtrainvà20%để
test.Vìthếmàtrainingsetvàtestsetsẽcócùngmộtnguồn(nóichínhxáchơnlàcùngmột
phânbốxácsuất).Vídụnhưngtrainingsetcủabạnlàảnhcónhiềucâycối,thìtrongtest
setcũngsẽcónhiềucâycối.Nhưngmàdùcógầngiốngnhaunhưvậy,haisetnàycũng
17


Objectivefunction

vẫncónhữngkhácbiệtnhấtđịnh.Taphảiđánhđổigiữakhảnăngghinhớvàkhảnăngtổng
quáthóacủamodel.Modelmuốnghinhớcàngtốtthìlạicàngphảixửlýnhiềutrườnghợp
ngoạilệ.Cókhi,mộtobservationxđượcgánlabelytheomộtlogicrấtkìlạvàhiếmgặp.
Lúcnày,modelphảiđặtrangoạilệ.Việcđặtraquánhiềungoạilệlàmmodelbớttínhtổng
quát,vìngoạilệlànhữngquyluậtmàchỉđúngvớimộtsốíttrườnghợp.Đểhạnchếnhững
ngoạilệnày,tachỉcầnmodelđoán"khá"chínhxáctrêntrainsetmàthôi.Bùlạimodelsẽ
tổngquáthơnvàđoánchínhxáchơntrêntestset.Suychocùng,độtốttrêntestsetmớilà
thứtaquantâmsaucùng.
Thứhai,trongphátbiểutrêntadùngcùngmộtlossfunctionchocảtrainvàtest.Đâylàmột
trườnghợprấtlýtưởngvàhiếmgặptrongthựctiễn.Trongđasốtrườnghợp,loss
functionđượcsửdụnglúctrainvàlúctestkhônggiốngnhau.Kìlạđúngkhông?Tại
saochúngta"dạy"mộtđằng,nhưngmàlại"rađề"mộtnẻo?
Evaluationfunctionthườngdùngthườngrấtkhóđểtốithiểuhóabằngcácphươngpháp
toánhọc(sẽgiảithíchngaysauphầnnày).Lýdokháiquátlàdocácevaluationfunctionnày

thườnglàtổngcủacủacáclossfunctioncódạng0-1loss,tứclàchỉtrảvề0hoặc1vàphải
trùnghoàntoànvớilabelthậtthìmớinhậnđược0.Errorratelàmộtvídụđiểnhìnhcủa0-1
loss.Đốivớinhữnghàmnhưvậy,nếumodelđoánsaithìkhôngbiếtsửachữatheohướng
nàođểtiếnbộhơn.
Khitrain,tacầnmộtlossfunctionchopartialcredit,tứclàđúngtớiđâuchođiểmtớiđóvà
dựđoánthếnàocũngcóđiểm.Modelcóthểtậndụngđiềunàyđểthayđổicâutrảlờimột
chútxemđiểmtănghaygiảm,dầndầntìmracâutrảlờiđúng.Mộttrongnhữngloss
functionthườngđượcsửdụngnhấtlànegativelog-likelihood.Khisửdụnglossfunction
này,modelcủachúngtathayvìđưaramộtđápáncụthể,thìsẽđưaraxácsuất
observationxmanglabely,tứclàfw (x) ≡ Pw (y ∣ x).Negativelog-likelihoodđượcđịnh
nghĩanhưsau:
L(fw (x), y) ≡ − log Pw (y ∣ x)
Tathấylànếumodelđưaxácsuất100%cholabelthậty,thìlossfunctionsẽcógiátrị
− log 1 = 0vàmodelkhôngbịphạt.Hơnnữa,chodùmodelđưaraxácsuấtthếnàothì
cũngđềunhậnđượclosstươngứngvớiđộsai.Vídụ,tadựđoánP w(y ∣ x)thìđộsailà
− log 0.8 ≈ 0.1
Tagọihàmđượcmodeltốiưulúctrainlàobjectivefunctionđểphânbiệtvớievaluation
functionlúctest.Objectivefunctionthườngcódạngnhưsau:
objective = average_loss + regularizer

18


Objectivefunction

Giốngnhưevaluationfunction,objectivefunctioncũnggồmgiátrịtrungbìnhcủaloss
function(lưuý,lossfunctionnàykhácvớilossfunctioncủaevaluationfunction).Objective
functioncòncóthêmregularizer.Tácdụngcủaregularizerchínhlàđểgiảiquyếtvấnđề
đầutiêntanhắcđến,làmchomodelchỉdựđoán"khá"chínhxáctrainingsetmàthôi.
Giốngvớievaluationfunction,nếukhôngcóregularizer,objectivefunctioncũngđảmbảo

tínhchấttốiưu:modelnhậnđượcgiátrị0khivàchỉkhidựđoánhoànhảotrainingset.Vì
thế,tacầnthêmregularizervàoobjectivefunctionđểđiềunàykhôngxảyra.Bàiviếtsausẽ
nóirõhơnvềđiềunày.
Câuhỏi:evaluationfunctionvàobjectivefunctionkhácnhauthếnào?
Trảlời:khácnhauởlossfunctionvàregularizer.
Đếnđâytaphátbiểulạivềhaiquátrìnhcủasupervisedlearning:
1. Train:tìmfw tốithiểuhóaobjectivefunctionLDtrain (fw ).
2. Test:đođộtốtcủafw bằngevaluationfunctionLDtest (fw ).

Đọcthêm:vìsaokhôngdùngerrorrateđểtrainmodel?
Nhưtađãbiết,quátrìnhtrainmodelvềbảnchấtlàtốiưumộthàmsố.Từkiếnthứcđãhọc
từcấp3,tacũngbiếtrằngviệctốiưuhàmsốcóliênquanđếnđạohàm(vídụnhưđạohàm
ởđiểmcựctiểucủamộthàmsốbằng0).Cụthểhơn,trongsupervisedlearning,tathường
tốiưuhàmsốbằnggradientdescent,tứclàdùnggradient(đạohàmnhiềubiến)đểdẫnlối
chotađiđếnđiểmcựctiểu.Phươngphápnàysẽđượcgiớithiệuchitiếttrongmộtbàikhác.
Đểdễhiểu,bạncóthểhìnhdungtốiưuhàmsốnhưlàđitìmthunglũngthấpnhất
trongmộtvùngnúinon.Cáchđơngiảnnhấtlàbạncứthảmìnhlănxuốngdốcchođến
khinàodừnglại.Gradientgiốngnhưngtổnglựccủalựchấpdẫnvàphảnlựccủamặtđất,
sẽkéobạnlănvềnơithấphơnchođếnkhimặtđấtkhôngcòndốcnữa.
Khinhìnlạimộtevaluationfunctionnhưlàerrorrate:
eD =

1
∑ I{fw (x) ≠ y}
∣D∣
(x,y)∈D

tathấyI{fw (x) ≠ y}khôngcógradientliêntục.Tacóthểtưởngtượngviệckhôngcó
gradientliêntụcgiốngnhưhàmsốbị"gãy"ởmộtsốđiểmnàođó.Trongtrườnghợpnày,
khitachofw (x)đitừ−∞đến+∞,hàmI{fw (x) ≠ y}hầuhếtmanggiátrị1vàgradient


19


Objectivefunction

bằng0.Chỉđếnđiểmmàfw (x) = y,hàmnàyđộnhiêngiảmxuốnggiátrị0vàgradientở
đâykhôngđượcđịnhnghĩa.Hơnnữa,ởnhữngđiểmmàhàmnàycógradient,thìgradient
lạivôdụng(bằng0).Hìnhvẽnàysẽgiúpbạndễhìnhdunghơn,

Ởđâymodelcủachúngtađangđượcgiảđịnhlàchỉcó1parameter(vídụnhư
y = f (x) = axvớiparameterlàa).Đườngngangthểhiệnchođồthịvớitrụcnganglàtham
số,trụcdọclàgiátrịerrorrateứngvớithamsố.Việcđisangtrái/phảithểhiệnchoviệc
tăng/giảmthamsố.Gỉasửmodelđanglạcởvùngmàerrorrateđangcógiátrịlà1.Xung
quanhgầnđóhoàntoànlàmộtvùngbằngphẳng(gradientbằng0).Modelhoàntoànkhông
biếtnênđivềhướngnào(tănghaygiảmparameter)đểđếnđượcvùngthấphơn.Model
khôngthểnhìnqúaxavàkhôngthểnàobiếtđượclàđithêmvềbênphảimộtđoạnsẽđạt
đượcerrorratetốiưu(bằng0).Trongthựctế,modelcórấtnhiềuparametervà,vớimỗi
parameter,taphảiraquyếtđịnhtănghaygiảmnhưthếnày.

20


Overfitting

Overfitting
Trongbàinày,tasẽtìmhiểukỹhơnvềtrainingproblem.Tạisaochỉcầntìmmodeldựđoán
"khá"chínhxáctrêntrainingset?Tạisaomộtmodeldựđoán"hoàntoàn"chínhxáctrên
trainingsetlạicóthểdựđoánrấttồitrêntestset?
Khinóiđếntrainingproblem,khôngthểquênđiobjectivefunction.Nhắclại,objective

functionthườngcódạng:
objective = average_loss + regularizer
Theongônngữtoánhọc:
L Dtrain (f w) =

1
∣Dtrain ∣



L(f w(x), y) + λR(f w)

(x,y)∈Dtrain

1
với ∣D train
∣ ∑ (x,y)∈Dtrain L(fw (x), y)làtrungbìnhlossfunctiontrêntrainingset,R(fw )là

regularizer,λlàregularizationconstant(mộthyperparameter).
Mụctiêucủatraininglàtìmramodeltốithiểuhóaobjectivefunction:
w∗ = arg min LDtrain (w)
w

Đểrútgọnkýhiệu,khimodelcódạngxácđịnh,tacóthểsửdụngwđểchỉmodelthaycho
fw .
Kíhiệuarg minx f (x)trảvềgiátrịcủaxđểhàmf (x)đạtđượcgiátrịcựctiểu.Vídụ,
arg minx x2 + 1 = 0bởivìx2 + 1đạtgiátrịcựctiểu(bằng1)tạix = 0.Cácbạnsẽnhìnthấy
phươngtrìnhnàytrongđasốcácpaper(bàibáokhoahọc)vềmachinelearning.
Khitanóimuốntìmmodel"dựđoánchínhxáchoàntoàn"trêntrainingset,tứclànóiđến
việcsửdụngmộtobjectivefunctionmàkhôngcóregularizer:

LERM
Dtrain (fw ) =

1
∣Dtrain∣



L(fw (x), y)

(x,y)∈Dtrain

Đâyđượcgọilàquytắcempiricalriskminimization(ERM).Tasẽgiảithíchvìsaonó
đượcgọinhưvậy.Lossfunctioncònđượcgọilàriskfunction(hàmrủiro).Chữempirical
đượcthêmvàobởivìriskfunctionnàyđượctínhtrungbìnhtrênmộttậpdữliệuhữuhạn.
Vậyempiricalriskminimizationtứclàtốithiểuhóarủirotrênmộttậpdữliệuhữuhạn.

21


Overfitting

Bàiviếtnàygiớithiệunhữngkiếnthứccầnthiếtđểtađưarađượcmộtthuậttoán
supervisedlearningtốthơnERM.Tasẽnóikỹvềvấnđềlớnnhấtthườnggặpphảikhisử
dụngERM,overfitting,vàcáchkhắcphụcnó.Overfittinglàmộttrongnhữngkháiniệm
quantrọngbậcnhấttrongmachinelearning,là"bóngmaámlấymachinelearning".

Occam'srazor
AlbertEinsteintừngcómộtcâunóinổitiếnglà:
Everythingshouldbemadeassimpleaspossible,butnosimpler.

Nghĩalà"mọithứnênđượctốigiảnhóahếtmứccóthể,nhưngkhôngnênquámứccó
thể".Trongmachinelearning,ngườitathườngnhắcđếnmộtnguyêntắcgầntươngtựgọi
làOccam'srazor:
Entitiesmustnotbemultipliedbeyondnecessity.(Wikipedia)
Ápdụngvàomachinelearning,nguyêntắcnàyđượchiểulà:
Trongtấtcảcácgiảthiếtcóthểgiảithíchđượcmộthiệntượng,tanênchọngiảthiếtđơn
giảnnhất.
Hoặcthậmchíđơngiảnhơn:
Trongtấtcảcácmodel"đúng",chọnmodelđơngiảnnhất.
Lưuýlàởđâycóđếnhaiđiềukiệncầnđượcđảmbảo:giảthiếtphảiđơngiảnnhấtnhưng
vẫnphảigiảithíchđượchiệntượng.RấtdễđểápdụngOccam'srazormộtcáchsailầm.
Taxétbàitoánphânloạithưvàohailoạilabel,spamvàkhôngspam.Modelđơngiảnnhất
cóthểnghĩrađólàrandommộttronghailabelvớimỗibứcthư.Modelnàydùtốigiản
nhưnglạivôdụngvàviphạmOccam'srazorvìnókhôngthểgiảithíchtínhchấtspam.
Trongmộtvídụkhácnhưtronghìnhsau,

22


Overfitting

Chọnmộtđathứcbậccaophứctạpđể"giảithích"(điquahết)cácđiểmmàuđencũngvi
phạmOccam'srazorbởivìgiảthiếtđượcchọnkhôngphảiđơngiảnnhất.Thựcchấttachỉ
cầnmộtđathứcbậcmộtđơngiản(đườngthẳngđỏ)để"giảithích"đượccácđiểmnày.

Noise
Vớisupervisedlearning,chodùcótồntạimộthàmbíẩnf ∗saochomốiquanhệgiữalabel
vàobservationlày = f ∗(x),thìdữliệutrongthựctếcũngkhôngbaogiờphảnánhchính
xácđượcmốiquanhệnày.Nguyênnhângâyrađiềunàycóthểlàdosaisốtrongdụngcụ
đo,hoặcđơngiảnlàdotựnhiênmangtínhngẫunhiên.Vídụsauchothấythayvìthuđược

dữliệutuyếntínhhoànhảo(y = ax)nhưhìnhbêntráithìthườngtọađộcủacácđiểmdữ
liệusẽbịsailệchnhưhìnhbênphải.

Vớimộtcặpdữliệu(x, y),tacóthểmôtảquátrìnhbiếndạngcủanónhưsau:
~ = x + ϵx
x
~) + ϵy
y~ = f (x

23


Overfitting

~, y~),phiên
Cuốicùng,dữliệuthậtsựtanhậnđượcđểhuấnluyệnvàkiểmtramodellà(x
bảnlỗicủa(x, y).ϵx vàϵy đượcgọilànoisecủaxvày.Noisethườngđượcxemlàmột
biếnsốngẫunhiên(randomvariable),thayđổitùytheotừngcặp(x, y).
Sựxuấthiệncủanoiselàmchomốiquanhệgiữaobservationvàlabeltrởnênphứctạp
hơnquanhệthựcsựgiữachúng.Đốivớivídụởtrên,thìnoiseđãbiếnmộtquanhệtuyến
tínhthànhmộtquanhệphứctạphơn(đườngxanhdương)màmộtđathứctuyếntính(bậc
một)khôngthểgiảithíchnổinữamàcầnđếnmộtđathứcbậccaohơn:

Noisekhôngtrựctiếpgâyraoverfittingnhưngnólạilàmchooverfittingtrởnêngâyhại.Về
bảnchất,overfittinglàdomodelcốgắnggiảithíchtấtcảcácđiểmdữliệunhìnthấy.
ĐiềunàykhônggìkhácchínhlàtuântheoERMmộtcáchtuyệtđốiđểdựđoánđúngtấtcả
cácobservationcủatrainingset.Nếulàmthế,trongquáhìnhhuấnluyện,noisesẽ"lừa"
modelhọcmộthàmsốhoàntoànsaisovớibảnchấtcủadữliệu.
Khicácđiểmdữliệucủatestsetxuấthiện,vìnoisethườngkhôngquálớn,cácđiểmmới
nàycũngvẫnthểhiệnphầnlớnquanhệtuyếntínhvàchỉhơilệchvớiđườngthẳngđỏmà

thôi.

Trongtrườnghợpnày,nếuápdụngERMtasẽchọnđườngxanhdươngthayvìđường
thẳngđỏvìđườngthẳngxanhdươngchosaisốthấphơntrêncácđiểmdữliệucủatraining
set(cácđiểmđen).Nhưngmộtmodelphứctạpnhưđườngthẳngxanhdươnglạichosai
sótrấtlớntrêncácđiểmdữliệucủatestset(tathấycácđiểmxanhlácâynằmrấtxasovới
đườngxanhdương).Vìsaisóttrêntestsetmớilàthứtaquantâmsaucùngnênđiềunày
rấttệ.Ngượclại,nếuchọnmodelđơngiảnnhưhơnđườngthẳngđỏvàchấpnhậnsaisót
mộtíttrêntậphuấnluyện,saisóttrêntestsetsẽnhỏhơnnhiều.
Quavídụnày,tathấylàkhiápdụngOccam'srazorvàomachinelearning,takhôngthểtuân
thủnóquámộtcáchchặtchẽ.SựxuấthiệncủanoiselàmchohaitiêuchuẩncủaOccam's
razorrấtkhóđượcbảotoàn:đểgiảithíchđượcđúnghơntậphuấnluyệnvốnchứanoise,ta

24


Overfitting

buộcphảităngđộphứctạpcủamodel,vàngượclại.Vìthế,điềutacầnlàmlàcânbằng
giữahaiđiềukiện,đưamodelgầnvớiOccam'srazornhấtcóthể:chọnmộtmodelđơngiản
vừaphảivàgiảithíchđượchiệntượngtươngđốiđúng.
Đếnđây,tađãhiểutạisaochỉcầnmodeldựđoán"khá"chínhxáctrêntrainingsetrồiphải
khôngnào.

Overfitting
Quaphântíchởphầntrên,chắccácbạncũnghiểunômnaoverfittinglàkhitaquácốgắng
tốithiểuhóaobjectivefunctionL Dtrain (w)nhưngđiềuđólạilàmchoevaluationfunction
LDtest (w)lớn.Trongphầnnày,mìnhsẽgiớithiệuđịnhnghĩavềoverfittingmàmìnhquen
thuộcnhất.Nhưngtrướchết,tacầnmộtđịnhnghĩavềevaluationfunctiontrênmộttậpdữ
liệuvôhạn:

LD (w) = E(x,y)∼D [L (fw (x), y )] = ∑ L (fw (x), y ) D(x, y)
(x,y)

Dởđâykhôngphảilàmộttậpdữliệumàlàmộtphânbốxácsuấtlêncáccặpdữliệu(x, y),
vớiD(x, y)làxácsuấtxuấthiệncủacặp(x, y).Khinóivềmộttậpdữliệu"vôhạn",taám
chỉđếnviệcliêntụclấycácmẫu(x, y)từphânbốD.Vớicácbạnchưaquenthuộckhái
niệmnày,mìnhsẽminhhọabằngvídụđơngiảnsau:
Giảsửtacómộtphânbốxácsuấtvềsấpngửacủamộtđồngxunhưsau:60%ngửavà
40%sấp.Muốnlấymộtmẫutừphânbốnày,tangẫunhiênchọnmộtsốthựctrongđoạn
$[0,1)$,tạmgọilàr.Nếur ≤ 0.6,tachọnmẫulàngửa,ngượclạitachọnmẫulàsấp.Lặp
lạiquátrìnhnàyvôhạnlần,tađượcmộttậpdữliệuvôhạngồmcácmẫusấp/ngửa.
KýhiệuEx∼P [f (x)]đượcgọilàkỳvọng(expectation)củahàmf (x)vớixđượclấymẫutừ
phânbốP .Kỳvọngđơngiảnlàphéptínhtrungbìnhcộngtrêntậpvôhạn.Tathấylàđịnh
nghĩaevaluationfunctiontrêntậpvôhạnthậtrakhôngkhácgìmấysovớiđịnhnghĩa
evaluationfunctiontrêntậphữuhạn;tachỉthayphéptrungbìnhcộngtrêntậphữuhạn
thànhkỳvọng.
GiảmthiểuLD (w)làmụcđíchtốithượngcủasupervisedlearning.TadùngLDtest (w)đểước
lượngLD (w)vìtrongthựctếtakhôngthểnàocónguồndữliệuvôhạn.
Đếnđây,tađịnhnghĩaoverfittinglàkhi:

25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×