HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NGUYỄN NGỌC MINH
ỨNG DỤNG CÁC PHƯƠNG PHÁP HỌC NỬA GIÁM SÁT VÀO BÀI
TOÁN PHÂN LOẠI VĂN BẢN
LUẬN VĂN THẠC SỸ KỸ THUẬT
HÀNỘI–NĂM2013
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
NGUYỄN NGỌC MINH
ỨNG DỤNG CÁC PHƯƠNG PHÁP HỌC NỬA GIÁM SÁT VÀO
BÀI TOÁN PHÂN LOẠI VĂN BẢN
CHUYÊNNGÀNH:HỆTHỐNGTHÔNGTIN
MÃSỐ:60.48.01.04
LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS ĐOÀN VĂN BAN
HÀNỘI-NĂM2013
LỜI CAM ĐOAN
Tôicamđoanđâylàcôngtrìnhnghiêncứucủariêngtôi.
Cácsốliệu,kếtquảnêutrongluậnvănlàtrungthựcvàchưatừngđượcai
côngbốtrongbấtkỳcôngtrìnhnàokhác.
Tác giả luận văn
Nguyễn Ngọc Minh
LỜI CẢM ƠN
Lờiđầutiênemxingửilờicảmơnđếntoànthểcácthầy,côgiáoHọcviện
CôngnghệBưuchínhViễnthôngđãtậntìnhchỉbảoemtrongsuốtthờigianhọc
tậptạinhàtrường.
EmxingửilờicảmơnsâusắcđếnPGS.TS.ĐoànVănBan,ngườiđãtrực
tiếphướngdẫn,tạomọiđiềukiệnthuậnlợivàtậntìnhchỉbảochoemtrongsuốt
thờigianlàmluậnvăntốtnghiệp.
Bêncạnhđó,đểhoànthànhđồánnày,emcũngđãnhậnđượcrấtnhiềusự
giúpđỡ,nhữnglờiđộngviênquýbáucủacácbạnbè,giađìnhvàđồngnghiệp.Em
xinchânthànhcảmơn.
Tuynhiên,dothờigianhạnhẹp,mặcdùđãnỗlựchếtsứcmình,nhưngchắc
rằngđồánkhótránhkhỏithiếusót.Emrấtmongnhậnđượcsựthôngcảmvàchỉ
bảotậntìnhcủaquýthầycôvàcácbạn.
HỌCVIÊN
Nguyễn Ngọc Minh
i
MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC i
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT v
DANH MỤC CÁC HÌNH vi
DANH MỤC CÁC BẢNG vii
MỞ ĐẦU 1
CHƯƠNG 1 - TỔNG QUAN VỀ PHƯƠNG PHÁP HỌC MÁY 3
1.1. Khái niệm học máy 3
1.2. Một số khái niệm cơ bản trong học máy 4
1.2.1.Khônggianbiểudiễncủadữliệu 4
1.2.2.Bảnchấtcủacácdữliệu 4
1.2.3.Tiềnxửlýdữliệu 4
1.2.4.Quátrìnhrờirạchóadữliệu 5
1.2.5.Tậpmẫu 5
1.2.6.Quátrìnhtìmkiếmtrongkhônggiangiảthuyết 5
1.3. Học có giám sát 5
1.3.1.Kháiniệm 5
1.3.2.Cáchgiảimộtbàitoánhọccógiámsát 7
1.4. Học không có giám sát 8
1.4.1.Kháiniệm 8
1.4.2.Môhìnhtoánhọc 9
1.5. Học nửa giám sát 9
1.5.1.Kháiniệm 9
ii
1.5.2.Môhìnhtoánhọc 10
1.6. Tổng kết chương 10
CHƯƠNG 2 - MỘT SỐ THUẬT TOÁN HỌC NỬA GIÁM SÁT 11
2.1. Mô hình sinh và thuật toán kỳ vọng cực đại 11
2.1.1.Giớithiệuvềmôhìnhsinh 11
2.1.2.Môhìnhsinhtronghọcnửagiámsát 11
2.1.3.Thuậttoánkỳvọngcựcđại 12
2.1.3.1.Giớithiệuthuậttoán 12
2.1.3.2.Nộidungthuậttoán 12
2.1.3.3.Đánhgiáthuậttoán 14
2.2. Thuật toán tự huấn luyện 15
2.2.1.Giớithiệuthuậttoántựhuấnluyện 15
2.2.2.Đánhgiáthuậttoán 16
2.3. Thuật toán S3VM 16
2.3.1.ThuậttoánSVM 16
2.3.2.GiớithiệuthuậttoánS3VM 21
2.3.3.NộidungthuậttoánS3VM 22
2.3.4.NhậnxétvềS3VM 23
2.4. Thuật toán K - láng giềng gần nhất 23
2.4.1.Giớithiệuthuậttoán 23
2.4.2.ÁpdụngKNNvàobàitoánphânloạivănbản 24
2.5. Thuật toán Naive Bayes 26
2.5.1.Thuậttoán 26
2.5.2.Ápdụngvàobàitoánphânloại 27
iii
2.5.3.ỨngdụngNaiveBayestrongphânlớpvănbản 30
2.6. Thuật toán cây quyết định 32
2.6.1.Giớithiệuthuậttoán 32
2.6.2.ThuậttoánID3 36
2.6.2.1.Entropy 36
2.6.2.2.InformationGain 36
2.6.2.3.PhátbiểuthuậttoánID3 37
2.6.3.Đánhgiáthuậttoáncâyquyếtđịnh 37
2.7. Tổng kết chương 38
CHƯƠNG 3 - PHÂN LOẠI VĂN BẢN DỰA VÀO PHƯƠNG PHÁP
HỌC NỬA GIÁM SÁT 39
3.1. Phát biểu bài toán phân loại văn bản 39
3.1.1.Môhìnhtổngquát 41
3.1.1.1.Giaiđoạnhuấnluyện 41
3.1.1.2.Giaiđoạnphânlớp 43
3.1.2.Quátrìnhtiềnxửlývănbản 44
3.1.3.Phươngphápbiểudiễnvănbản 44
3.1.3.1.Môhìnhkhônggianvéctơ 45
3.1.3.2.Kháiniệmtrọngsố 45
3.1.4.Đánhgiábộphânlớp 47
3.1.4.1.Macro-Averaging 48
3.1.4.2.Micro-Averaging 49
3.2. Giới thiệu bài toán thực nghiệm 49
3.3. Môi trường thực nghiệm 49
iv
3.3.1.Dữliệusửdụng 49
3.3.2.Tríchchọnđặctrưng 51
3.3.3.Phươngphápđánhgiá 52
3.3.4.Côngcụphânlớp 53
3.3.5.Kếtquảthửnghiệmvàđánhgiá 54
3.4. Tổng kết chương 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59
v
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Thuật ngữ Viết tắt Ý nghĩa
Côngnghệthôngtin CNTT Côngnghệthôngtin
Cơsởdữliệu CSDL Cơsởdữliệu
Self-training Self-training Tựhuấnluyện
EM ExpectationMaximization
Kỳvọngcựcđại
Machinelearning Machinelearning Họcmáy
Supervisedlearning Supervisedlearning
Họccógiámsát
Unsupervisedlearning
Unsupervised
learning
Họckhônggiámsát
K-NearestNeighbors
algorithm
KNN Klánggiềnggầnnhất
Semi-supervised
learning
Semi-supervised
learning
Họcnửagiámsát
NaiveBayes NaiveBayes Bayesngâythơ
Decisiontree Decisiontree Câyquyếtđịnh
Supportvectormachine
SVM Máyvéctơhỗtrợ
Semi-supervised
supportvectormachine
S3VM
Máyvéctơhỗtrợnửa
giámsát
vi
DANH MỤC CÁC HÌNH
Hình1.1:Môhìnhhọccógiámsát 6
Hình1.2:Môhìnhhọcnửagiámsát 9
Hình2.1:Dữliệucónhãn 11
Hình2.2:Dữliệucónhãnvàchưacónhãn 12
Hình2.3PhânlớpSVM 17
Hình2.4:Câyquyếtđịnh 34
Hình3.1:Môhìnhgiaiđoạnhuấnluyện 41
Hình3.2:Chitiếtgiaiđoạnhuấnluyện 42
Hình3.3:Môhìnhgiaiđoạnphânlớp 43
Hình3.4:Chitiếtgiaiđoạnphânlớp 43
Hình3.5:Sosánhđộchínhxácvàđộbaophủbộdữliệubanđầu 57
Hình3.6:Sosánhđộchínhxácvàđộbaophủbộdữliệusaukhi“stemming”
57
vii
DANH MỤC CÁC BẢNG
Bảng2.1:Dữliệuhuấnluyệnthờitiết 28
Bảng2.2:Dữliệukếtquảhuấnluyện 29
Bảng2.3:Bộtừvựng 31
Bảng2.4:Dữliệuhuấnluyệncâyquyếtđịnh 33
Bảng2.5:Dữliệukiểmtra 35
Bảng2.6:Kếtquảphânlớp 36
Bảng3.1:Bộdữliệuthửnghiệmbanđầu 50
Bảng3.2:Danhsách20từđặctrưng 50
Bảng3.3:Bộdữliệusaukhi“stemming” 51
Bảng3.4:Danhsách20“stem”đặctrưng 51
Bảng3.5:Kếtquảkiểmnghiệmbộdữliệubanđầu 55
Bảng3.6:Kếtquảkiểmnghiệmbộdữliệusaukhi“stemming” 55
1
MỞ ĐẦU
1. Lý do chọn đề tài
NgàynaysựpháttriểnmạnhmẽcủaInternetđãdẫnđếnsựbùngnổthông
tinvềnhiềumặtkểcảvềnộidunglẫnsốlượng,hệthốngdữliệusốhóatrởnên
khổnglồđểphụcvụchoviệclưutrữtraođổithôngtin.Dữliệusốhóanàyrấtđa
dạng,nócóthểlàcácdữliệudướidạngtậptinvănbảntext,tậptinvănbảnMS
word,tậptinvănbảnPDF,mail,HTML, Cáctậptinvănbảncũngđượclưutrữ
trênmáytínhcụcbộhoặcđượctruyềntảitrênInternet,cùngvớithờigianvàvới
lượngngườidùngtăngnhanhthìcáctậptinnàyngàycàngnhiềuvàđếnmộtthời
điểmnàođóthìsốlượngtậptinnàysẽvượtquátầmkiểmsoát,dođókhimuốntìm
kiếmlạimộtvănbảnnàođóviệctìmkiếmsẽrấtkhókhănvàphứctạp,đặcbiệtlà
trongtrườnghợpngườicầntìmkiếmkhôngrõcáccâucầntìmchínhxáctrongvăn
bảnđó.
Vớisựthànhcôngcủamộtsốchươngtrìnhhọcmáyđãchứngminhrằngcó
thểtồntạimộttậphợpcácquytắchọctổngquát,chophépxâydựngcácchương
trìnhcókhảnăngtựhọctrongnhiềulĩnhvựckhácnhau.Vàotháng1-2006,Xiaojin
Zhuđãchomộtcáinhìntổngquanvềcácthuậttoánnóitrên[16].
TríchchọnthôngtintrênWebđãvàđangtạothêmnhiềutàinguyênthông
tin,trithứcmớiđápứngngàycànghiệuquảnhucầuthôngtincủaconngười.Ngày
nay,côngnghệtríchchọnthôngtintrênWebđãhìnhthànhloạihìnhdịchvụđầy
triểnvọngtrongviệccungcấpthông tinphongphúvàhữuíchtừnguồn dữliệu
đượccoilàvôhạntrênWeb.Tựđộngphânlớpvănbảnlàmộtnhiệmvụrấtquan
trọngcóthểgiúpíchcũngnhưtìmkiếmthôngtintrênnguồntàinguyênlớnnày.
Vớimụctiêugópphầnvàolĩnhvựcnghiêncứuvàứngdụngphânloạivăn
bảnvàocuộcsống,tácgiảđãchọnđềtài“Ứng dụng các phương pháp học nửa
giám sát vào bài toán phân loại văn bản” làm đề tài nghiên cứu luận văn tốt
nghiệpthạcsĩchuyênngànhhệthốngthôngtin.
2
2. Mục đích nghiên cứu
Nghiêncứutổngquanvềhọcmáyvàmộtsốphươngpháphọcmáy,nghiên
cứumộtsốthuậttoánhọccógiámsát,họcnửagiámsáttừkếtquảthuđượcđềtài
càiđặtứngdụngthửnghiệmvàobàitoánphânloạivănbản.
3. Đối tượng và phạm vi nghiên cứu
Luậnvănnàythựchiệnnghiêncứucáckiếnthứccơbảnvềhọcmáy,mộtsố
cácthuậttoánhọccógiámsát,nửagiámsátvàứngdụngphânloạivănbản.
4. Phương pháp nghiên cứu
Nghiên cứu lý thuyết:
-Nghiêncứucáctàiliệudothầygiáohướngdẫncungcấp
-Tìmhiểu, nghiên cứu các tài liệu liên quantrongsách, tạp chí, cácbài báo
nướcngoài.
-Tìmkiếmcáctàiliệutrênmạnginternet,….
Thực nghiệm: Càiđặtthửnghiệmvàđánhgiámộtsốthuậttoánhọcnửagiámsát,
thuậttoánhọccógiámsát.
5. Nội dung luận văn
Luậnvăngồm3chương:
Chương 1:Tổngquanvềphươngpháphọcmáy
Chương 2:Mộtsốthuậttoánhọcnửagiámsát
Chương 3:Phânloạivănbảndựavàophươngpháphọcnửagiámsát
Trongđóđềtàitậptrungvàochương3nhằmnghiêncứuvàápdụngcáckỹ
thuậtphânloạiemailcủabộdữliệudbworld[18].
3
CHƯƠNG 1 - TỔNG QUAN VỀ PHƯƠNG PHÁP HỌC MÁY
1.1. Khái niệm học máy
Hoạtđộnghọclàhoạtđộngtiếpthunhữngtrithứclýluận,khoahọc.Nghĩa
làviệchọckhôngchỉdừnglạiởviệcnắmbắtnhữngkháiniệmđờithườngmàhọc
phảitiếnđếnnhữngtrithứckhoahọc,nhữngtrithứccótínhchọnlựacao,đãđược
kháiquáthoá,hệthốnghoá.
Hoạtđộnghọctậpkhôngchỉhướngvàoviệctiếpthunhữngtrithức,kĩnăng,
kĩxảomàcònhướngvàoviệctiếpthucảnhữngtrithứccủachínhbảnthânhoạt
động học. Hoạt động học muốn đạt kết quả cao, người học phải biết cách học,
phươngpháphọc,nghĩalàphảicónhữngtrithứcvềchínhbảnthânhoạtđộnghọc.
Vậy,việclàmthếnàođểmáytínhcókhảnănghọctập,tưduyvàcókhả
nănghọctậpgiốngconngườilàmộtlĩnhvựcnghiêncứurấtđượcchúýtrongthời
đạihiệnnay.
Họcmáy(machinelearning)[5],[6]làmộtngànhkhoahọcnghiêncứu,xây
dựngcáckĩthuậttrênnềntảngcủatrítuệnhântạogiúpchomáytínhcóthểsuy
luận(dựđoán)kếtquảtươnglaithôngquaquátrìnhhuấnluyện(học)từdữliệu
lịchsử.
Quađótathấyhọcmáycóliênquanrấtmậtthiếtvớithốngkê,vìcảhailĩnh
vựcđềunghiêncứuviệcphântíchdữliệu,nhưnghọcmáykhácvớithốngkêởchỗ,
họcmáytậptrungvàosựphứctạpcủacácgiảithuậttrongviệcthựcthitínhtoán.
Họcmáyđượcứngdụngvàonhiềulĩnhvựcnhư:Máytruyvấndữliệu,chẩnđoány
khoa,pháthiệnthẻtíndụnggiả,phântíchthịtrườngchứngkhoán,nhậndạngtiếng
nóivàchữviết,dịchtựđộng,chơitròchơivàhoạtđộngrô-bốt,
Môhìnhtoánhọc[5].
Chomộttậpdữliệu
X
+Mộttậpmẫu
T X
4
+Mộtsốhàmmụctiêu
f
:
X
→{đúng,sai}
+Mộttậphuấnluyện
, | , ( )D x y x T y f x
+Tínhtoánmộthàm
'f
:
X
→{đúng,sai}saocho
'( ) ( )f x f x
,
x X
.
1.2. Một số khái niệm cơ bản trong học máy
1.2.1. Không gian biểu diễn của dữ liệu
Khônggianbiểudiễnlàmộttậphợp:
Kýhiệulà
X
,mỗiphầntửthuộc
X
cóthểđượcgọilàcácdữliệu,cácthể
hiện,cácđốitượnghaycácvídụ.
Mỗiphầntử
S X
đượcbiểudiễnbởimộttậpgồmnthuộctính
1 2
( , , , )
n
S s s s
.
MộtđốitượngScũngcóthểđượcbiểudiễnkếthợpvớilớpliênthuộccủa
nóhaynóicáchkháccóthểđượcbiểudiễndướidạngnhãn:
( , )z s c
.
1.2.2. Bản chất của các dữ liệu
Bảnchấtcủacácdữliệucóthểlàcácgiátrịsốtrongtậpsốthực,cácgiátrị
rờirạc,cácgiátrịnhịphân,dãycácphầntửtrongmộtbảngchữcái(alphabet),
Không gian biểu diễn của dữ liệu có thể biểu diễn dưới dạng thuần nhất
(cùngkiểu)hoặcdướidạngtrộn(khôngcùngkiểu).
1.2.3. Tiền xử lý dữ liệu
Làquátrìnhxửlýdữliệuđầuvàonhằmmụcđíchlàmgiảmsốchiềucủadữ
liệuđầuvào,giảmsốchiềucủavấnđề,xửlýnhiễu,
Tathựchiệnnhưsau:
Loạibỏcácthuộctínhkhôngphùhợphoặcítphùhợpvớiquátrìnhhọc.
Sửdụngcácphépbiếnđổituyếntínhhoặckhôngtuyếntínhtrêncácthuộc
tínhbanđầu,nhằmgiảmsốchiềucủakhônggianđầuvào.
Dùngcácchuyêngiahoặcsửdụngtrựcquanđểpháthiệncácbấtthường,
cáclỗimôtảthuộctínhhoặcnhãn,nhằmxửlýnhiễu.
5
1.2.4. Quá trình rời rạc hóa dữ liệu
Cónhữngthuậttoánhọckhôngxửlýđượccácdữliệumangtínhliêntục.
Dovậy,cầnphảibiếnđổicácdữliệumangtínhliêntụcthànhcácgiátrịrờirạc.
Cóthểsửdụngcácphươngphápsau:
+Phươngphápphânđoạn.
+Phươngphápđolườngentropy.
+Nếudữliệutuântheomộtluậtphânphốinàođó,vídụphânphốGauss,
phânphốđều,…thìtacóthểrờirạcthànhcáckhoảngphânphốitươngứng.
1.2.5. Tập mẫu
Tậpmẫulàtậphữuhạncácvídụ.
Cóbakiểutậpmẫu:
+Tậpmẫuhọchaytậphọc.
+Tậpmẫuhợpthứchoáhaytậphợpthức.
+Tậpmẫuthửhaytậpthử.
1.2.6. Quá trình tìm kiếm trong không gian giả thuyết
TrongmộtkhônggiancácgiảthiếtX,họctrởthànhbàitoántìmkiếmgiả
thiếttốtnhấttrongX.
Nếutađánhgiámỗigiảthiếtbởimộthàm"mụctiêu"thìtaxéthọcnhưmột
bàitoántốiưuhoá.Nghĩalàbàitoántìmphầntửcủa
X
làmtốiưuhàmmụctiêu.
Tronghọcmáyngườitathườngdùngtốiưukhôngràngbuộchoặctốiưucó
ràngbuộc.CácphươngpháptốiưuhoáthườngdùngtronghọcmáynhưGradient,
nhântửLagrange
1.3. Học có giám sát
1.3.1. Khái niệm
Họccógiámsát(supervisedlearning)[5],[16]làmộtkỹthuậtcủangànhhọc
máynhằmmụcđíchxâydựngmộthàm
f
từdữtậpdữliệuhuấnluyện(Training
data).Dữ liệu huấn luyệnbao gồm các cặp đối tượng đầu vào và đầu ra mong
6
muốn.Đầuracủahàm
f
cóthểlàmộtgiátrịliêntụchoặccóthểlàdựđoánmột
nhãnphânlớpchomộtđốitượngđầuvào.
Hình 1.1: Mô hình học có giám sát
Nhiệmvụcủachươngtrìnhhọccógiámsátlàdựđoángiátrịcủahàmfcho
mộtđốitượngđầuvàohợplệbấtkì,saukhiđãxétmộtsốmẫudữliệuhuấnluyện
(nghĩalàcáccặpđầuvàovàđầuratươngứng).Đểđạtđượcđiềunày,chươngtrình
họcphảitổngquáthóatừcácdữliệusẵncóđểdựđoánđượcnhữngtìnhhuống
chưagặpphảitheomộtcáchhợplý.
Tronglýthuyếtxácsuất,mộtdãycácbiếnngẫunhiênđượccoilàcóđộclập
cùngphânphốinếuchúngcócùngmộtphânphốivàđộclậpvớinhau[26].Các
quansát trong một mẫuthườngđượcgiảthiếtlàđộc lập cùngphânphối(i.i.d–
independentlyandidenticallydistributed)nhằmlàmđơngiảnhoátínhtoántoánhọc
bêndướicủanhiềuphươngphápthốngkê.
Hệthốnghọcsẽquansátmộttậpdữliệuhuấnluyệnđãđượcgánnhãn,bao
gồmcáccặp(đặctính,nhãn)đượcbiểudiễnbởi
1 1 2 2
{( , ),( , ), ,( , )}
n n
x y x y x y
.Trong
đó
i
y Y
gọilànhãnhoặcđíchcủacácmẫux
i
.Mụcđíchnhằmdựđoánnhãnycho
bấtkỳđầuvàomớivớiđặctínhx.Nếunhãnlàcácsố,
[ ]
( )
T
i i n
y y
biểudiễnvéctơ
cộtcủacácnhãn.Nhưđãnêu,mộtyêucầuchuẩnlàcáccặp
( , )
i i
x y
tuântheogiả
thiếti.i.dtrảikhắptrên
.X Y
Nhiệmvụđượcđịnhrõlà,tacóthểtínhtoánđược
mộtphépánhxạthôngquathihànhdựđoáncủanótrêntậpkiểmthử.Nếucácnhãn
lớplàliêntục,nhiệmvụphânlớpđượcgọilàhồiquy(regression).Cóhaihọthuật
toán có giám sát: mô hình sinh mẫu (generative model) và mô hình phân biệt
(discriminativemodel)
7
Môhìnhsinhmẫu
Phươngphápnàysẽtạo ramột môhìnhmậtđộphụthuộcvàolớp (class-
conditionaldensity)p(x|y)bằngmộtvàithủtụchọckhôngcógiámsát.Mộtmậtđộ
sinhcóthểđượcsuyluậnbằngcáchsửdụnglýthuyếtBayes.
( | ) ( )
( | )
( | ) ( )
y
p x y p y
p x y
p x y p y dy
Gọilàmôhìnhsinhvìtacóthểtựtạoracácmẫudữliệu.
Môhìnhphânbiệt
Phươngphápnàythayvìđánhgiáx
i
đượctạoranhưthếnàomàtậptrung
đánhgiáp(y|x).Mộtvàimôhìnhphânbiệthạnchếđểmôhìnhxemp(y|x)lớnhơn
hoặcnhỏhơn0.5.Trongthựchành,phươngphápnàythườngđượcđánhgiálàhiệu
quảhơnphươngphápsinhmẫu.
1.3.2. Cách giải một bài toán học có giám sát
Đểgiảimộtbàitoánhọccógiámsáttathựchiệntheocácbướcsau:
Bước1:Xácđịnh loại của cácdữliệuhuấnluyện: Trước tiên ta cần phải
quyếtđịnhxemloạidữliệunàosẽđượcsửdụnglàmdữliệuhuấnluyện.Tacóthể
chọndữliệumộtkítựviếttayđơnlẻ,toànbộmộttừviếttay,haytoànbộmột
dòngchữviếttay,
Bước2:Thuthậptậpdữliệuhuấnluyện.Khithuthậptậpdữliệuhuấnluyện
cầnphảiđảmbảođượcsựđặctrưngchothựctếsửdụngcủahàmchứcnăng.Dođó
tậpcácdữliệuđầuvàovàđầuratươngứngphảiđượcthuthậptừcácchuyêngia
hoặctừviệcđođạctínhtoán.
Bước3:Xácđịnhviệcbiễudiễncácđặctrưngđầuvàochohàmmụctiêucần
tìm.Độchínhxáccủamụctiêuphụthuộcrấtlớnvàocácđốitượngđầuvàođược
biểudiễnnhưthếnào.Đasốcácđốitượngđầuvàođượcchuyểnđổithànhmộtvéc
tơđặctrưngchứacácđặctrưngcơbảncủađốitượngđó.Chúýsốlượngcácđặc
8
trưngkhôngđượclớnquá,đểtránhsựbùngnổtổhợptuynhiênnóphảiđủlớnđể
đảmbảodựđoánchínhxácđầura.
Bước4:Xácđịnhcấutrúccủahàmmụctiêucầntìmvàgiảithuậthọctương
ứng.Vídụ,tacóthểsửdụngmạngnơ-ronnhântạo,câyquyếtđịnh,
Bước5:Hoànthiệnthiếtkế.
Tiếnhànhchạygiảithuậthọcvớitậpdữliệuhuấnluyệnthuthậpđược.Ta
cóthểđiềuchỉnhcácthamsốcủagiảithuậthọcbằngcáchtốiưuhóahiệunăngtrên
mộttậpconcủatậphuấnluyện,(gọilàtậpkiểmchứng-validationset)củatậphuấn
luyệnhaythôngquakiểmchứngchéo(cross-validation).Sauđótatiếnhànhđođạc
hiệunăngcủagiảithuậttrênmộttậpdữliệukiểmtrađộclậpvớitậphuấnluyện.
1.4. Học không có giám sát
1.4.1. Khái niệm
Họckhôngcógiámsát(unsupervisedlearning)[5],[16]làmộtphươngpháp
họcmáymàdữliệuhuấnluyệnlàdữliệuhoàntoànchưađượcgánnhãn,nhằmtìm
ramộtmôhìnhphùhợpvớicácquansát.Họckhôngcógiámsátkhácvớihọccó
giámsátởchỗ,làđầurađúngtươngứngchomỗiđầuvàolàchưabiếttrước.Trong
họckhôngcógiámsát, mộttập dữliệuđầuvàothường được thu thập mộtcách
ngẫunhiên,vàsauđómộtmôhìnhmậtđộkếthợpsẽđượcxâydựngchotậpdữ
liệuđó.
TacóthểkếthợphọckhôngcógiámsátvớisuydiễnBayesđểtạoraxác
suấtcóđiềukiệnchobấtkỳbiếnngẫunhiênnàokhibiếttrướccácbiếnkhác.Hay
nóicáchkháckhiđótađãchuyểntừviệchọckhôngcógiámsátsanghọccógiám
sát.Mọigiảithuậtnéndữliệu,vềcơbảnhoặclàdựavàomộtphânbốxácsuấttrên
mộttậpđầuvào mộtcáchtường minhhaykhôngtườngminh.Dođótrongcông
nghệnéndữliệuhọckhôngcógiámsátđượcứngdụngmộtcáchrấthữudụng.
9
1.4.2. Mô hình toán học
Chẳnghạnchotrướcmộtmẫuchỉgồmcácđốitượng(objects),cầntìmkiếm
cấutrúcđángquantâm(interestingstructures)củadữliệu,vànhómcácđốitượng
giốngnhau.Biểudiễntoánhọccủaphươngphápnàynhưsau:
Đặt
1 2
( , , , )
n
X x x x
làtậphợpgồmnmẫu(examplesorpoints),
i
x
Xvới
mọii∈[]:={1,2, ,n}.Thôngthường,tagiảthiếtcácmẫuđượctạoramộtcách
độclậpvàgiốngnhau(i.i.d–independentlyandidenticallydistributed)từmộtphân
phốichungtrênX.Mụcđíchcủahọckhôngcógiámsátlàtìmramộtcấutrúcthông
minh(interestingstructures)trêntậpdữliệuđó.
1.5. Học nửa giám sát
1.5.1. Khái niệm
Học nửa giám sát (semi-supervised learning) [5],[16] là một phương pháp
họcmáymàdữliệuhuấnluyệnlàsựkếthợpcủadữliệuđượcgánnhãnvàdữliệu
chưađượcgánnhãn.
Hình 1.2: Mô hình học nửa giám sát
Nhưchúngtađãbiếtkhiápdụnghọccógiámsátthìcácdữliệuhuấnluyện
đãđượcgánnhãn.Dođósẽthuđượckếtquảcóđộchínhxácrấtcao.Tuynhiên,
khiđótasẽgặpmộtvấnđềrấtkhókhănlàkhilượngdữliệulớn,thìcôngviệcgán
nhãnchodữliệusẽtốnrấtnhiềuthờigianvàcôngsức.Haynóicáchkhácnhững
dữ liệu được gán nhãn là rất đắt và việc tạo ra nhãn cho những dữ liệu đòi hỏi
nhữngnỗlựcrấtlớncủaconngười.
Đốivớimôhìnhhọckhôngcógiámsátthìngượclại,cácdữliệuhuấnluyện
không đượcgánnhãn. Do đókếtquả thuđượccó độchính xác không cao.Tuy
10
nhiêndữliệuchưađượcgánnhãn,cóthểdễdàngthuthậpđượcrấtnhiều.Haynói
cáchkháclàdữliệuchưagánnhãncóchiphírấtrẻ.
Họcnửagiámsátđãkhắcphụcđượccácnhượcđiểm,vàpháthuyđượcưu
điểmcủahọccógiámsátvàhọckhôngcógiámsát.Bằngcáchkếthợpgiữahọccó
giámsátvàhọckhôngcógiámsát,vớimộtlượnglớndữliệuchưagánnhãnvàmột
lượngnhỏnhữngdữliệuđãđượcgánnhãn,bằngcácgiảithuậthọcnửagiámsátsẽ
thuđượckếtquảvừacóđộchínhxáccaovừamấtítthờigiancôngsức.Dođó,học
nửagiámsátlàmộtphươngpháphọcđạtđượchiệuquảrấttốttronglĩnhvựchọc
máy.
Tómlạihọcnửagiámsátlàmộtphươngphápcủangànhhọcmáynhằmxây
dựngmộthàmmụctiêutừcácdữliệuhuấnluyện.Sauđótổngquáthóathànhmô
hìnhchungchotấtcảcácdữliệugánnhãnvàchưađượcgánnhãn.Nhằmmụcđính
tìmramộtkếtquảmongđợi.
1.5.2. Mô hình toán học
Cho
1 2
( , , , )
n
X x x x
làtậphợpgồmnmẫu.
Tagiảthiếtrằngđasốmẫuđượctạoramộtcáchđộclậpvàgiốngnhautừ
mộtphânphốichungtrênXvàmộtsốlượngnhỏmẫuđãđượcgánnhãn.Mụctiêu
làtìmramộtcấutrúcthôngminhtrêntậpdữliệuX.
1.6. Tổng kết chương
Trênđâylàmộtsốkiếnthứccơbảnvềhọcmáy,thôngquađótacóthểnắm
bắtđượccáckiếnthứcnềntảngvềhọcmáynhư:Kháiniệmthếnàolàhọcmáy,
họccógiámsát,họckhônggiámsátvàhọcnửagiámsát;Cácmôhìnhtoáncủa
họcmáy,họccógiámsát,họckhônggiámsát,họcnửagiámsát;Nắmđượccác
bướcgiảimộtbàitoántronghọcmáy.Đâychínhlànhữngkiếnthứccơsởđểtacó
thể tiếp tục tìm hiểu, nghiên cứu các thuật toán về học nửa giám sát trong các
chươngtiếptheo.
11
CHƯƠNG 2 - MỘT SỐ THUẬT TOÁN HỌC NỬA GIÁM SÁT
2.1. Mô hình sinh và thuật toán kỳ vọng cực đại
2.1.1. Giới thiệu về mô hình sinh
Tronghọcnửagiámsát,phươngphápđượcápdụnglâuđờinhấtlàphương
phápsửdụngmôhìnhsinh.Môhìnhsinhđượcmôtảbởinhữngchứcnăngvàthao
táctoánhọcđượcsắpxếptheosựphâncấptrêncùngmộttậpdữliệuđiểm.
Môhìnhcódạng
( , ) ( ) ( | )p x y p y p x y
với
( | )p x y
làmộtphânphốinhận
dạnghỗnhợp[4],[16].
Ví dụ: Mô hìnhhỗnhợpGaussian, là mô hình với một lượng lớn dữliệu
chưagánnhãnvàmộtsốítdữliệugánnhãn,cácphầnhỗnhợpcóthểđượcxác
định,sauđóchúngtachỉcầngánmộtnhãnchomỗivídụthànhphầnđểxácđịnh
đầyđủphânphốihỗnhợp.
2.1.2. Mô hình sinh trong học nửa giám sát
Ngườitathườngápdụngmôhìnhsinhđểgiảiquyếtnhữngbàitoánnhậndạng
ảnh,nhậndạngvănbản,nhậndạngtiếngnóivàmộtsốbàitoánkhác.
Giảsửcómộtcómộttậpdữliệu
( , )x y
đãđượcgánnhãn.Với
x
làdữliệu,
y
lànhãntươngứng.Chúngđượcphânlớpnhưhìnhsau:
Hình 2.1: Dữ liệu có nhãn
12
Khidữliệuchưađượcgánnhãnđượcthêmvào.Thìtasẽcómộtmôhình
phùhợpnhấtvớitậpdữliệunày,đểcóthểphânlớptấtcảcácdữliệumớiđượcđưa
vào.
Hình 2.2: Dữ liệu có nhãn và chưa có nhãn
2.1.3. Thuật toán kỳ vọng cực đại
2.1.3.1.Giớithiệuthuậttoán
Thuậttoánkỳvọngcựcđại(ExpectationMaximization-EM)làmộtthuật
toántổngquátđánhgiásựcựcđạikhảnăng(ML–MaximumLikelihood)màdữ
liệulàkhônghoànchỉnh(incompletedata)hoặchàmlikelihoodliênquanđếncác
biến ẩn (latent variables) [5]. Ở đây, hai khái niệm “incomplete data” và “latent
variables” có liên quan đến nhau: Khi tồn tại biến ẩn, thì dữliệu là không hoàn
chỉnhvìtakhôngthểquansátđượcgiátrịcủabiếnẩn;tươngtựnhưvậykhidữliệu
làkhônghoànchỉnh,tacũngcóthểliêntưởngđếnmộtvàibiếnẩnvớidữliệuthiếu
2.1.3.2.Nộidungthuậttoán
Đầu vào:
D:Tậpdữliệucónhẵnvàchưacónhãn.
L:TậpdữliệuđãgánnhãntrongD.
U:TậpdữliệuchưacónhãntrongD.
13
Đầu ra:
MộtcấutrúcthôngminhtrêntậpdữliệuD.
Thuật toán:
UD\LdùngtrongE-bướcvàM-bước;
Fori=0,1,2,...do
{
FordUdo
{
E-bước:dùngphânlớpBayesthứnhấtxácđịnhP(c|d,
i
);
Endfor
}
Forcvàtdo
{
M-bước:xácđịnh
c,t
dùngcôngthức(**)đểxâydựngmôhìnhi+1;
Endfor
}
Endfor
}
(**);)|(
||
1
)(
),()|(||
),()|(1
,0
Dd
Dd
Dd
t
dcP
D
cP
dndcPW
tdndcP
Với
dt
tdn
t
d
d
tdn
l
clLPcdP
),(
)},({
)|()|(
14
Thuậttoánkỳvọngcựcđạiđượcthựchiệnnhưsau:
Bước 1:Tiến hànhgángiátrịngẫunhiên chotấtcảcácthamsốcủamô
hình.
Bước 2:Tiếnhànhlặphaibướclặpsau:
Bước kỳ vọng (Expectationstep):Trongbướcnàythuậttoántiếnhànhtính
toánhàmmụctiêumongmuốnchodữliệudựatrêncácthiếtlậpthamsốvàdữliệu
khôngđầyđủ.
Bước tối đa hóa (Maximizationstep):Trongbướcnàythuậttoántiếnhành
tínhtoánlạitấtcảcácthamsố,bằngcáchsửdụngtấtcảcácdữliệu.
Quađótasẽnhậnđượcmộttậpcácthamsốmới.Tiếntrìnhtiếptụcchođến
khihàmmụctiêuhộitụ,vídụnhưhàmmụctiêuđạttớicựcđạiđịaphương.
Thuậttoánkỳvọngcựcđạisửdụnghướngtiếpcậnlàxuấtpháttừmộtgiátrị
khởingẫunhiênnàođó.Dovậychỉđảmbảođạtđượcgiácựcđạiđịaphươngmang
tínhphương.Nênviệcđạttớicựcđạitoàncụchaykhônglàphụthuộcvàođiểmbắt
đầuxuấtphát.Nếutaxuấtpháttừmộtđiểmđúngthìtacóthểtìmđượccựcđạitoàn
cục.Tuynhiênvấnđềtìmđiểmxuấtphátđúngthườngrấtkhó.Tacóthểsửdụng
haiphươngphápđểgiảiquyếtvấnđềnàynhưsau:
Một là:Tiếnhànhthửnhiềugiátrịkhởiđầukhácnhau,quađótiếnhànhlựa
chọnphươngánmàgiátrịhàmmụctiêuhộitụlớnnhất.
Hai là:Tasẽsửdụngmộtmôhìnhđơngiảnhơnđểtiếnhànhxácđịnhgiá
trịkhởiđầu.Quađósẽtìmđượcvùngtồntạicựcđạitoàncục,sauđótasẽchọn
mộtgiátrịkhởiđầutrongvùngđóđểtiếnhànhbắtđầuvớimôhìnhphứctạp.
2.1.3.3.Đánhgiáthuậttoán
Thuậttoánkỳvọngcựcđạicóưuđiểmlàcómôhìnhtoánrõràng,họctheo
khungmôhìnhxácsuấtkhátốtvàcóhiệuquảrấttốtnếumôhìnhđólàmôhình
dạngđóng.Tuynhiên,thuậttoáncònnhữngmặthạnchếlàtacầnphảixácđịnh
đượctínhchínhxáccủamôhình,xácminhđượctínhđồngnhấtcủamôhình,ngoài
raxácđịnhtốiưubằnggiảithuậtkỳvọngcựcđạisẽlàmảnhhưởngđếnnhữngdữ
liệukhôngđượcgánnhãnnếumôhìnhbịsai.