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,…
và
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