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

Ứ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

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 (834.55 KB, 72 trang )

 
 

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ĂM 2013 

 


 
 

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ÊN NGÀNH: HỆ THỐNG THÔNG TIN
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ĂM 2013

 


 
 

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.  
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai 
công bố trong bất kỳ công trình nào khác. 

 
Tác giả luận văn

Nguyễn Ngọc Minh

 


 
 

LỜI CẢM ƠN
 
Lời đầu tiên em xin gửi lời cảm ơn đến toàn thể các thầy, cô giáo Học viện 
Công nghệ Bưu chính Viễn thông đã tận tình chỉ bảo em trong suốt thời gian học 
tập tại nhà trường.  
Em xin gửi lời cảm  ơn sâu sắc đến PGS.TS. Đoàn Văn Ban, người đã trực 
tiếp hướng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho em trong suốt 
thời gian làm luận văn tốt nghiệp.  
Bên cạnh đó, để hoàn thành đồ án này, em cũng đã nhận được rất nhiều sự 
giúp đỡ, những lời động viên quý báu của các bạn bè, gia đình và đồng nghiệp. Em 
xin chân thành cảm ơn.  
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc 
rằng đồ án khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông cảm và chỉ 
bảo tận tình của quý thầy cô và các bạn. 
 
HỌC VIÊN
Nguyễn Ngọc Minh

 




 

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ông gian biểu diễn của dữ liệu ................................................. 4
1.2.2. Bản chất của các dữ liệu ............................................................... 4
1.2.3. Tiền xử lý dữ liệu ......................................................................... 4
1.2.4. Quá trình rời rạc hóa dữ liệu ........................................................ 5
1.2.5. Tập mẫu ....................................................................................... 5
1.2.6. Quá trình tìm kiếm trong không gian giả thuyết ........................... 5
1.3. Học có giám sát ................................................................................. 5
1.3.1. Khái niệm .................................................................................... 5
1.3.2. Cách giải một bài toán học có giám sát ........................................ 7
1.4. Học không có giám sát...................................................................... 8
1.4.1. Khái niệm .................................................................................... 8
1.4.2. Mô hình toán học ......................................................................... 9
1.5. Học nửa giám sát .............................................................................. 9
1.5.1. Khái niệm .................................................................................... 9


 


ii 
 
1.5.2. Mô hình toán họ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ới thiệu về mô hình sinh ......................................................... 11
2.1.2. Mô hình sinh trong học nửa giám sát ......................................... 11
2.1.3. Thuật toán kỳ vọng cực đại ........................................................ 12
2.1.3.1. Giới thiệu thuật toán ............................................................ 12
2.1.3.2. Nội dung thuật toán ............................................................. 12
2.1.3.3. Đánh giá thuật toán .............................................................. 14
2.2. Thuật toán tự huấn luyện............................................................... 15
2.2.1. Giới thiệu thuật toán tự huấn luyện ............................................ 15
2.2.2. Đánh giá thuật toán .................................................................... 16
2.3. Thuật toán S3VM ........................................................................... 16
2.3.1. Thuật toán SVM ........................................................................ 16
2.3.2. Giới thiệu thuật toán  S3VM ...................................................... 21
2.3.3. Nội dung thuật toán  S3VM ....................................................... 22
2.3.4. Nhận xét về S3VM .................................................................... 23
2.4. Thuật toán K - láng giềng gần nhất ............................................... 23
2.4.1. Giới thiệu thuật toán .................................................................. 23
2.4.2. Áp dụng KNN vào bài toán phân loại văn bản ........................... 24
2.5. Thuật toán Naive Bayes ................................................................. 26
2.5.1. Thuật toán .................................................................................. 26
2.5.2. Áp dụng vào bài toán phân loại .................................................. 27


 


iii 
 
2.5.3. Ứng dụng Naive Bayes trong phân lớp văn bản ......................... 30
2.6. Thuật toán cây quyết định ............................................................. 32
2.6.1.  Giới thiệu thuật toán ................................................................. 32
2.6.2. Thuật toán ID3 ........................................................................... 36
2.6.2.1. Entropy................................................................................ 36
2.6.2.2. Information Gain ................................................................. 36
2.6.2.3. Phát biểu thuật toán ID3 ...................................................... 37
2.6.3. Đánh giá thuật toán cây quyế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ình tổng quát ...................................................................... 41
3.1.1.1. Giai đoạn huấn luyện ........................................................... 41
3.1.1.2. Giai đoạn phân lớp .............................................................. 43
3.1.2. Quá trình tiền xử lý văn bản ....................................................... 44
3.1.3. Phương pháp biểu diễn văn bản ................................................. 44
3.1.3.1. Mô hình không gian véc tơ .................................................. 45
3.1.3.2. Khái niệm trọng số .............................................................. 45
3.1.4. Đánh giá bộ phân lớ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ệu sử dụng.......................................................................... 49
3.3.2. Trích chọn đặc trưng .................................................................. 51
3.3.3. Phương pháp đánh giá ................................................................ 52
3.3.4. Công cụ phân lớp ....................................................................... 53
3.3.5. Kết quả thử nghiệm và đánh giá ................................................. 54
3.4. Tổng kết chương ............................................................................. 57
KẾT LUẬN ............................................................................................... 58
TÀI LIỆU THAM KHẢO ........................................................................ 59

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 

 



 

DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
 
Thuật ngữ

Viết tắt

Ý nghĩa

Công nghệ thông tin 

CNTT 

Công nghệ thông tin 

Cơ sở dữ liệu 

CSDL 

Cơ sở dữ liệu 

Self-training 


Self-training 

Tự huấn luyện 

EM 

Expectation Maximization 

Kỳ vọng cực đại 

Machine learning 

Machine learning 

Học máy 

Supervised learning 

Supervised learning 

Học có giám sát 

Unsupervised learning 

Unsupervised 
learning 

Học không giám sát 


K-Nearest Neighbors 
algorithm 

KNN 

K láng giềng gần nhất 

Semi-supervised 
learning 

Semi-supervised 
learning 

Học nửa giám sát 

Naive Bayes 

Naive Bayes 

Bayes ngây thơ 

Decision tree 

Decision tree 

Cây quyết định 

Support vector machine 

SVM 


Máy véc tơ hỗ trợ 

Semi-supervised 
support vector machine 

S3VM 

 
 

 

Máy véc tơ hỗ trợ nửa 
giám sát 


vi 
 

DANH MỤC CÁC HÌNH
 
Hình 1.1: Mô hình học có giám sát ............................................................... 6
Hình 1.2: Mô hình học nửa giám sát ............................................................. 9
Hình 2.1: Dữ liệu có nhãn ........................................................................... 11
Hình 2.2: Dữ liệu có nhãn và chưa có nhãn ................................................. 12
Hình 2.3  Phân lớp  SVM ............................................................................ 17
Hình 2.4: Cây quyết định ............................................................................ 34
Hình 3.1: Mô hình giai đoạn huấn luyện ..................................................... 41
Hình 3.2: Chi tiết giai đoạn huấn luyện ....................................................... 42

Hình 3.3: Mô hình giai đoạn phân lớp ......................................................... 43
Hình 3.4: Chi tiết giai đoạn phân lớp .......................................................... 43
Hình 3.5: So sánh độ chính xác và độ bao phủ bộ dữ liệu ban đầu .............. 57
Hình 3.6: So sánh độ chính xác và độ bao phủ bộ dữ liệu sau khi “stemming”
 .............................................................................................................................. 57

 
 
 
 
 
 
 
 
 
 

 


vii 
 

DANH MỤC CÁC BẢNG
 
Bảng 2.1: Dữ liệu huấn luyện thời tiết......................................................... 28
Bảng 2.2: Dữ liệu kết quả huấn luyện ......................................................... 29
Bảng 2.3: Bộ từ vựng .................................................................................. 31
Bảng 2.4: Dữ liệu huấn luyện cây quyết định .............................................. 33
Bảng 2.5: Dữ liệu kiểm tra .......................................................................... 35

Bảng 2.6: Kết quả phân lớp ......................................................................... 36
Bảng 3.1: Bộ dữ liệu thử nghiệm ban đầu ................................................... 50
Bảng 3.2: Danh sách 20 từ đặc trưng .......................................................... 50
Bảng 3.3: Bộ dữ liệu sau khi “stemming” ................................................... 51
Bảng 3.4: Danh sách 20 “stem” đặc trưng ................................................... 51
Bảng 3.5: Kết quả kiểm nghiệm bộ dữ liệu ban đầu .................................... 55
Bảng 3.6: Kết quả kiểm nghiệm bộ dữ liệu sau khi “stemming”.................. 55

 



 

MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay sự phát triển mạnh mẽ của Internet đã dẫn đến sự bùng nổ thông 
tin  về  nhiều  mặt  kể  cả  về  nội  dung  lẫn  số  lượng,  hệ  thống  dữ  liệu  số  hóa  trở  nên 
khổng lồ để phục vụ cho việc lưu trữ trao đổi thông tin. Dữ liệu số hóa này rất đa 
dạng,  nó  có thể  là các  dữ  liệu dưới  dạng  tập tin văn  bản text,  tập  tin  văn bản MS 
word, tập tin văn bản PDF, mail, HTML, ... Các tập tin văn bản cũng được lưu trữ 
trên  máy  tính  cục  bộ hoặc  được truyền  tải  trên  Internet, cùng  với thời gian và với 
lượng người dùng tăng  nhanh thì các tập tin này ngày càng nhiều và đến một thời 
điểm nào đó thì số lượng tập tin này sẽ vượt quá tầm kiểm soát, do đó khi muốn tìm 
kiếm lại một văn bản nào đó việc tìm kiếm sẽ rất khó khăn và phức tạp, đặc biệt là 
trong trường hợp người cần tìm kiếm không rõ các câu cần tìm chính xác trong văn 
bản đó. 
Với sự thành công của một số chương trình học máy đã chứng minh rằng có 
thể tồn tại một tập hợp các quy tắc học tổng quát, cho phép xây dựng các chương 
trình có khả năng tự học trong nhiều lĩnh vực khác nhau. Vào tháng 1-2006, Xiaojin 

Zhu đã cho một cái nhìn tổng quan về các thuật toán nói trên [16]. 
Trích chọn thông tin trên Web đã và đang tạo thêm nhiều tài nguyên thông 
tin, tri thức mới đáp ứng ngày càng hiệu quả nhu cầu thông tin của con người. Ngày 
nay, công nghệ trích chọn thông tin trên Web đã hình thành loại hình dịch vụ đầy 
triển  vọng  trong  việc  cung  cấp  thông  tin  phong  phú  và  hữu  ích  từ  nguồn  dữ  liệu 
được coi là vô hạn trên Web. Tự động phân lớp văn bản là một nhiệm vụ rất quan 
trọng có thể giúp ích cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn này. 
Với mục tiêu góp phần vào lĩnh vực nghiên cứu và ứng dụng phân loại văn 
bản vào cuộc sống, tác giả đã 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ệp thạc sĩ chuyên ngành hệ thống thông tin.  

 



 
2. Mục đích nghiên cứu
Nghiên cứu tổng quan về học máy và một số phương pháp học máy, nghiên 
cứu một số thuật toán học có giám sát, học nửa giám sát từ kết quả thu được đề tài 
cài đặt ứng dụng thử nghiệm vào bài toán phân loại văn bản. 
3. Đối tượng và phạm vi nghiên cứu
Luận văn này thực hiện nghiên cứu các kiến thức cơ bản về học máy, một số 
các thuật toán học có giám sát, nửa giám sát và ứng dụng phân loại văn bản.  
4. Phương pháp nghiên cứu
Nghiên cứu lý thuyết:
- Nghiên cứu các tài liệu do thầy giáo hướng dẫn cung cấp 
-  Tìm  hiểu,  nghiên  cứu  các  tài  liệu  liên  quan  trong  sách,  tạp  chí,  các  bài  báo 
nước ngoài. 
- Tìm kiếm các tài liệu trên mạng internet, …. 

Thực nghiệm: Cài đặt thử nghiệm và đánh giá một số thuật toán học nửa giám sát, 
thuật toán học có giám sát. 
5. Nội dung luận văn
Luận văn gồm 3 chương: 
Chương 1: Tổng quan về phương pháp học máy 
Chương 2: Một số thuật toán học nửa giám sát 
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 
Trong đó đề tài tập trung vào chương 3 nhằm nghiên cứu và áp dụng các kỹ 
thuật phân loại email của bộ dữ liệu dbworld  [18]. 
 
 
 

 



 

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 động học là hoạt động tiếp thu những tri thức lý luận, khoa học. Nghĩa 
là việc học không chỉ dừng lại ở việc nắm bắt những khái niệm đời thường mà học 
phải tiến đến những tri thức khoa học, những tri thức có tính chọn lựa cao, đã được 
khái quát hoá, hệ thống hoá. 
Hoạt động học tập không chỉ hướng vào việc tiếp thu những tri thức, kĩ năng, 
kĩ  xảo mà  còn  hướng  vào việc  tiếp  thu  cả  những  tri  thức  của  chính bản  thân  hoạ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ương pháp học, nghĩa là phải có những tri thức về chính bản thân hoạt động học.  
Vậy,  việc  làm  thế  nào  để  máy  tính  có  khả  năng  học  tập,  tư  duy  và  có  khả 

năng học tập giống con người là một lĩnh vực nghiên cứu rất được chú ý trong thời 
đại hiện nay. 
Học máy (machine learning) [5],[6] là một ngành khoa học nghiên cứu, xây 
dựng các  kĩ thuật trên  nền tảng của trí tuệ nhân tạo  giúp cho  máy tính có  thể suy 
luận  (dự  đoán)  kết  quả  tương  lai  thông  qua  quá  trình  huấn  luyện  (học)  từ  dữ  liệu 
lịch sử . 
Qua đó ta thấy học máy có liên quan rất mật thiết với thống kê, vì cả hai lĩnh 
vực đều nghiên cứu việc phân tích dữ liệu, nhưng học máy khác với thống kê ở chỗ, 
học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán. 
Học máy được ứng dụng vào nhiều lĩnh vực như: Máy truy vấn dữ liệu, chẩn đoán y 
khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, nhận dạng tiếng 
nói và chữ viết, dịch tự động, chơi trò chơi và hoạt động rô-bốt, ... 
Mô hình toán học [5]. 
Cho một tập dữ liệu  X  
+ Một tập mẫu  T  X   

 



 
+ Một số hàm mục tiêu  f  :  X → {đúng, sai} 
+ Một tập huấn luyện  D   x, y  | x  T , y  f ( x )   
+ Tính toán một hàm  f '  :  X →{đúng, sai} sao cho  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ông gian biểu diễn là một tập hợp:  
 Ký hiệu là  X , mỗi phần tử thuộc  X có thể được gọi là các dữ liệu, các thể 
hiện, các đối tượng hay các ví dụ. 

 Mỗi phần tử  S  X  được  biểu diễn bởi  một tập gồm n thuộc tính  
S  ( s1 , s2 ,..., sn )  . 

 Một đối tượng S cũng có thể được biểu diễn kết hợp với lớp liên thuộc của 
nó hay nói cách khác có thể được biểu diễn dưới dạng nhãn:  z  ( s, c)  . 

1.2.2. Bản chất của các dữ liệu
Bản chất của các dữ liệu có thể là các giá trị số trong tập số thực, các giá trị 
rời rạc, các giá trị nhị phân, dãy các phần tử trong một bảng chữ 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ùng kiểu) hoặc dưới dạng trộn (không cùng kiểu). 

1.2.3. Tiền xử lý dữ liệu
Là quá trình xử lý dữ liệu đầu vào nhằm mục đích làm giảm số chiều của dữ 
liệu đầu vào, giảm số chiều của vấn đề, xử lý nhiễu, ...  
Ta thực hiện như sau: 
 Loại bỏ các thuộc tính không phù hợp hoặc ít phù hợp với quá trình học.  
 Sử dụng các phép biến đổi tuyến tính hoặc không tuyến tính trên các thuộc 
tính ban đầu, nhằm giảm số chiều của không gian đầu vào. 
 Dùng  các  chuyên  gia  hoặc  sử  dụng  trực  quan  để  phát  hiện  các  bất  thường, 
các lỗi mô tả thuộc tính hoặc nhãn, nhằm xử lý nhiễu.    
 



 

1.2.4. Quá trình rời rạc hóa dữ liệu
Có  những  thuật  toán  học  không  xử lý được  các  dữ  liệu  mang  tính  liên tục. 
Do vậy, cần phải biến đổi các dữ liệu mang tính liên tục thành các giá trị rời rạc.  

Có thể sử dụng các phương pháp sau: 
+ Phương pháp phân đoạn. 
+ Phương pháp đo lường entropy. 
+ Nếu dữ liệu tuân theo một luật phân phối nào đó, ví dụ phân phố Gauss, 
phân phố đều, … thì ta có thể rời rạc thành các khoảng phân phối tương ứng. 

1.2.5. Tập mẫu
Tập mẫu là tập hữu hạn các ví dụ.  
Có ba kiểu tập mẫu:  
+ Tập mẫu học hay tập học. 
+ Tập mẫu hợp thức hoá hay tập hợp thức. 
+ Tập mẫu thử hay tập thử. 

1.2.6. Quá trình tìm kiếm trong không gian giả thuyết
Trong  một  không  gian  các  giả  thiết  X,  học  trở  thành bài toán tìm  kiếm  giả 
thiết tốt nhất trong X. 
Nếu ta đánh giá mỗi giả thiết bởi một hàm "mục tiêu" thì ta xét học như một 
bài toán tối ưu hoá. Nghĩa là bài toán tìm phần tử của  X  làm tối ưu hàm mục tiêu. 
Trong học máy người ta thường dùng tối ưu không ràng buộc hoặc tối ưu có 
ràng buộc. Các phương pháp tối ưu hoá thường dùng trong học máy như  Gradient, 
nhân tử Lagrange... 

1.3. Học có giám sát
1.3.1. Khái niệm
Học có giám sát (supervised learning) [5],[16] là một kỹ thuật của ngành học 
máy nhằm  mục đích xây dựng  một hàm  f từ dữ tập dữ liệu huấn luyện (Training 
data). Dữ  liệu  huấn  luyện bao  gồm  các  cặp  đối  tượng  đầu  vào  và  đầu  ra  mong 

 




 
muốn. Đầu ra của hàm  f có thể là một giá trị liên tục hoặc có thể là dự đoán một 
nhãn phân lớp cho một đối tượng đầu vào. 

 
Hình 1.1: Mô hình học có giám sát

Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm f cho 
một đối tượng đầu vào hợp lệ bất kì, sau khi đã xét một số mẫu dữ liệu huấn luyện 
(nghĩa là các cặp đầu vào và đầu ra tương ứng). Để đạt được điều này, chương trình 
học  phải  tổng  quát  hóa  từ  các  dữ  liệu  sẵn  có  để  dự  đoán  được  những  tình  huống 
chưa gặp phải theo một cách hợp lý. 
Trong lý thuyết xác suất, một dãy các biến ngẫu nhiên được coi là có độc lập 
cùng  phân  phối  nếu  chúng  có  cùng  một  phân  phối  và  độc  lập  với  nhau  [26].  Các 
quan  sát  trong  một  mẫu  thường  được  giả  thiết  là  độc  lập  cùng  phân  phối  (i.i.d  – 
independently and identically distributed) nhằm làm đơn giản hoá tính toán toán học 
bên dưới của nhiều phương pháp thống kê.  
Hệ thống học sẽ quan sát một tập dữ liệu huấn luyện đã được gán nhãn, bao 
gồm các cặp (đặc tính, nhãn) được biểu diễn bởi  {( x1 , y1 ), ( x2 , y2 ),..., ( xn , yn )} . Trong 
đó  yi  Y  gọi là nhãn hoặc đích của các mẫu xi. Mục đích nhằm dự đoán nhãn y cho 
bất kỳ đầu vào mới với đặc tính x. Nếu nhãn là các số,  y  ( yi )Ti[n ]  biểu diễn véc tơ 
cột của các nhãn. Như đã nêu, một yêu cầu chuẩn là các cặp  ( xi , yi )  tuân theo giả 
thiết i.i.d trải khắp trên  X  Y .  Nhiệm vụ được định rõ là, ta có thể tính toán được 
một phép ánh xạ thông qua thi hành dự đoán của nó trên tập kiểm thử. Nếu các nhãn 
lớp là liên tục, nhiệm vụ phân lớp được gọi là hồi quy (regression). Có hai họ 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 
(discriminative model) 


 



 
 Mô hình sinh mẫu 
Phương  pháp  này  sẽ  tạo  ra  một  mô  hình  mật  độ  phụ  thuộc  vào  lớp  (classconditional density) p(x|y) bằng một vài thủ tục học không có giám sát. Một mật độ 
sinh có thể được suy luận bằng cách sử dụng lý thuyết Bayes. 
p( x | y) 

p( x | y ) p( y )

 p( x | y) p( y)dy

 

y

Gọi là mô hình sinh vì ta có thể tự tạo ra các mẫu dữ liệu. 
 Mô hình phân biệt 
Phương pháp này thay vì đánh  giá xi  được tạo ra như thế  nào  mà tập trung 
đánh giá p(y | x). Một vài mô hình phân biệt hạn chế để mô hình xem p(y|x) lớn hơn 
hoặc nhỏ hơn 0.5. Trong thực hành, phương pháp này thường được đánh giá là hiệu 
quả hơn phương pháp sinh mẫu. 

1.3.2. Cách giải một bài toán học có giám sát
Để giải một bài toán học có giám sát  ta thực hiện theo các bước sau: 
Bước  1:  Xác  định  loại  của  các  dữ  liệu  huấn  luyện:  Trước  tiên  ta  cần  phải 
quyết định xem loại dữ liệu nào sẽ được sử dụng làm dữ liệu huấn luyện. Ta có thể 
chọn  dữ  liệu    một  kí  tự  viết  tay  đơn  lẻ,  toàn  bộ  một  từ  viết  tay,  hay  toàn  bộ  một 

dòng chữ viết tay, ... 
Bước 2: Thu thập tập dữ liệu huấn luyện. Khi thu thập tập dữ liệu huấn luyện 
cần phải đảm bảo được sự đặc trưng cho thực tế sử dụng của hàm chức năng. Do đó 
tập các dữ liệu đầu vào và đầu ra tương ứng phải được thu thập từ các chuyên gia 
hoặc từ việc đo đạc tính toán. 
Bước 3: Xác định việc biễu diễn các đặc trưng đầu vào cho hàm mục tiêu cần 
tìm. Độ chính xác của mục tiêu phụ thuộc rất lớn vào các đối tượng đầu vào được 
biểu diễn như thế nào. Đa số các đối tượng đầu vào được chuyển đổi thành một véc 
tơ đặc trưng chứa các đặc trưng cơ bản của đối tượng đó. Chú ý số lượng các đặc 

 



 
trưng không được lớn quá, để tránh sự bùng nổ tổ hợp  tuy nhiên nó phải đủ lớn để 
đảm bảo dự đoán chính xác đầu ra. 
Bước 4: Xác định cấu trúc của hàm mục tiêu cần tìm và giải thuật học tương 
ứng. Ví dụ, ta có thể sử dụng mạng nơ-ron nhân tạo, cây quyết định, ...  
Bước 5: Hoàn thiện thiết kế.  
Tiến hành chạy giải thuật học với tập dữ liệu huấn luyện thu thập được. Ta 
có thể điều chỉnh các tham số của giải thuật học bằng cách tối ưu hóa hiệu năng trên 
một tập con của tập huấn luyện, (gọi là tập kiểm chứng -validation set) của tập huấn 
luyện hay thông qua kiểm chứng chéo (cross-validation). Sau đó ta tiến hành đo đạc 
hiệu năng của giải thuật trên một tập dữ liệu kiểm tra độc lập với tập huấn luyện. 

1.4. Học không có giám sát
1.4.1. Khái niệm
Học không có giám sát (unsupervised learning) [5],[16] là một phương pháp 
học máy mà dữ liệu huấn luyện là dữ liệu hoàn toàn chưa được gán nhãn, nhằm tìm 

ra một mô hình phù hợp với các quan sát. Học không có giám sát khác với học có 
giám sát ở chỗ, là đầu ra đúng tương ứng cho mỗi đầu vào là chưa biết trước. Trong 
học  không  có  giám  sát,  một  tập  dữ  liệu  đầu  vào  thường  được  thu  thập  một  cách 
ngẫu nhiên, và sau đó một mô hình  mật độ kết hợp sẽ được xây dựng cho tập dữ 
liệu đó. 
Ta có thể kết hợp học không có  giám sát  với suy diễn Bayes để  tạo ra xác 
suất có điều kiện cho bất kỳ biến ngẫu nhiên nào khi biết trước các biến khác. Hay 
nói cách khác khi đó ta đã chuyển từ việc học không có giám sát sang học có giám 
sát. Mọi giải thuật nén dữ liệu, về cơ bản hoặc là dựa vào một phân bố xác suất trên 
một  tập  đầu  vào  một  cách  tường  minh  hay  không  tường  minh.  Do  đó  trong  công 
nghệ nén dữ liệu học không có giám sát được ứng dụng một cách rất hữu dụng. 

 



 

1.4.2. Mô hình toán học
Chẳng hạn cho trước một mẫu chỉ gồm các đối tượng (objects), cần tìm kiếm 
cấu trúc đáng quan tâm (interesting structures) của dữ liệu, và nhóm các đối tượng 
giống nhau. Biểu diễn toán học của phương pháp này như sau: 
Đặt  X  ( x1 , x2 ,..., xn )   là tập hợp gồm n mẫu (examples or points),  xi  X với 
mọi  i∈ [ ]:={1,2,...,n}.  Thông  thường,  ta giả  thiết  các  mẫu  được  tạo  ra một  cách 
độc lập và giống nhau (i.i.d – independently and identically distributed) từ một phân 
phối chung trên X. Mục đích của học không có giám sát là tìm ra một cấu trúc thông 
minh (interesting structures) trên tập dữ 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ọc máy mà dữ liệu huấn luyện là sự kết hợp của dữ liệu được gán nhãn và dữ liệu 
chưa được gán nhãn.  

 
Hình 1.2: Mô hình học nửa giám sát

Như chúng ta đã biết khi áp dụng học có giám sát thì các dữ liệu huấn luyện 
đã được gán nhãn. Do đó sẽ thu được kết quả có độ chính xác rất cao. Tuy nhiên, 
khi đó ta sẽ gặp một vấn đề rất khó khăn là khi lượng dữ liệu lớn, thì công việc gán 
nhãn cho dữ liệu sẽ tốn rất nhiều thời gian và công sức. Hay nói cách khác nhữ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ững nỗ lực rất lớn của con người.  
Đối với mô hình học không có giám sát thì ngược lại, các dữ liệu huấn luyện 
không  được  gán  nhãn.  Do  đó  kết  quả  thu  được  có  độ  chính  xác  không  cao.  Tuy 

 


10 
 
nhiên dữ liệu chưa được gán nhãn, có thể dễ dàng thu thập được rất nhiều. Hay nói 
cách khác là dữ liệu chưa gán nhãn có chi phí rất rẻ. 
Học nửa giám sát đã khắc phục được các nhược điểm, và phát huy được ưu 
điểm của học có giám sát và học không có giám sát. Bằng cách kết hợp giữa học có 
giám sát và học không có giám sát, với một lượng lớn dữ liệu chưa gán nhãn và một 
lượng nhỏ những dữ liệu đã được gán nhãn, bằng các giải thuật học nửa giám sát sẽ 
thu được kết quả vừa có độ chính xác cao vừa mất ít thời gian công sức. Do đó, học 
nửa giám sát là một phương pháp học đạt được hiệu quả rất tốt trong lĩnh vực học 
máy. 

Tóm lại học nửa giám sát là một phương pháp của ngành học máy nhằm xây 
dựng một hàm mục tiêu từ các dữ liệu huấn luyện. Sau đó tổng quát hóa thành mô 
hình chung cho tất cả các dữ liệu gán nhãn và chưa được gán nhãn. Nhằm mục đính 
tìm ra một kết quả mong đợi. 

1.5.2. Mô hình toán học
Cho  X  ( x1 , x2 ,..., xn ) là tập hợp gồm n mẫu.  
Ta giả thiết rằng đa số mẫu được tạo ra một cách độc lập và giống nhau từ 
một phân phối chung trên X và một số lượng nhỏ mẫu đã được gán nhãn. Mục tiêu 
là tìm ra một cấu trúc thông minh trên tập dữ liệu X. 

1.6. Tổng kết chương
Trên đây là một số kiến thức cơ bản về học máy, thông qua đó ta có thể nắm 
bắt  được  các kiến thức  nền  tảng  về học  máy  như: Khái  niệm  thế  nào  là  học  máy, 
học có giám sát, học không giám sát và học nửa giám sát ; Các mô hình toán của 
học máy, học có giám sát, học không giám sát, học nửa giám sát ; Nắm được các 
bước giải một bài toán trong học máy. Đây chính là những kiến thức cơ sở để ta có 
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ương tiếp theo. 
 

 


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

Trong học nửa giám sát, phương pháp được áp dụng lâu đời nhất là phương 
pháp sử dụng mô hình sinh. Mô hình sinh được mô tả bởi những chức năng và thao 
tác toán học được sắp xếp theo sự phân cấp trên cùng một tập dữ liệu điểm. 
Mô hình có dạng  p ( x, y )  p ( y )  p ( x | y )  với  p ( x | y )  là một phân phối nhận 
dạng  hỗn hợp [4],[16].  
Ví  dụ:  Mô  hình  hỗn  hợp  Gaussian,  là  mô  hình  với  một  lượng  lớn  dữ  liệu 
chưa  gán  nhãn  và  một  số  ít  dữ  liệu  gán  nhãn,  các  phần  hỗn  hợp  có  thể  được  xác 
định, sau đó chúng ta chỉ cần gán một nhãn cho mỗi ví dụ thành phần để xác định 
đầy đủ phân phối hỗn hợp. 

2.1.2. Mô hình sinh trong học nửa giám sát
Người ta thường áp dụng mô hình sinh để giải quyết những bài toán nhận dạng 
ảnh, nhận dạng văn bản, nhận dạng tiếng nói và một số bài toán khác.  
Giả sử có một có một tập dữ liệu  ( x , y ) đã được gán nhãn. Với  x  là dữ liệu,  y  
là nhãn tương ứng. Chúng được phân lớp như hình sau:

 
Hình 2.1: Dữ liệu có nhãn

 


12 
 
Khi dữ liệu chưa được gán nhãn được thêm  vào. Thì ta sẽ có  một  mô hình 
phù hợp nhất với tập dữ liệu này, để có thể phân lớp tất cả các dữ liệu mớ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ới thiệu thuật toán 
Thuật toán kỳ  vọng  cực  đại  (Expectation Maximization  - EM)  là  một  thuật 
toán  tổng  quát  đánh  giá  sự  cực  đại  khả  năng(ML  – Maximum  Likelihood)  mà  dữ 
liệu là không hoàn chỉnh (incomplete data) hoặc hàm likelihood liên quan đến cá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ỉnh vì ta không thể quan sát được giá trị của biến ẩn; tương tự như vậy khi dữ liệu 
là không hoàn chỉnh, ta cũng có thể liên tưởng đến một vài biến ẩn với dữ liệu thiếu  

2.1.3.2. Nội dung thuật toán 
Đầu vào:
D : Tập dữ liệu có nhẵn và chưa có nhãn. 
L : Tập dữ liệu đã gán nhãn trong D. 
U : Tập dữ liệu chưa có nhãn trong D.

 


13 
 
Đầu ra:
 

Một cấu trúc thông minh trên tập dữ liệu D. 

Thuật toán:
U  D \ L dùng trong E-bước và M-bước ; 
For i = 0, 1, 2, . . . do 

 { 
For d  U do  

E-bước: dùng phân lớp Bayes thứ nhất xác định P(c|d,i); 
End for 
 } 
For c và t do  

 

M-bước: xác định c,t dùng công thức (**) để xây dựng mô hình i+1; 

 

End for  

 



End for 
 }  
 0 ,t 

1   d D P ( c | d ) n ( d , t )
| W |   d D   P (c | d ) n( d , )

P (c ) 

1

 P(c | d );
| D | d D

 


l



d
  tn ( d ,t )  
Với  P (d | c)  P( L  ld | c)
{
n
(
d
,
t
)}

 td

 

 

(**)



14 
 
Thuật toán kỳ vọng cực đại được thực hiện như sau: 
Bước 1:    Tiến  hành  gán  giá  trị  ngẫu  nhiên  cho  tất  cả  các  tham  số  của  mô 
hình.  
Bước 2: Tiến hành lặp hai bước lặp sau: 
Bước kỳ vọng (Expectation step): Trong bước này thuật toán tiến hành tính 
toán hàm mục tiêu mong muốn cho dữ liệu dựa trên các thiết lập tham số và dữ liệu 
không đầy đủ. 
Bước tối đa hóa (Maximization step): Trong bước này thuật toán tiến hành 
tính toán lại tất cả các tham số, bằng cách sử dụng tất cả các dữ liệu.  
Qua đó ta sẽ nhận được một tập các tham số mới.Tiến trình tiếp tục cho đến 
khi hàm mục tiêu hội tụ, ví dụ như hàm mục tiêu  đạt tới cực đại địa phương. 
Thuật toán kỳ vọng cực đại sử dụng hướng tiếp cận là xuất phát từ một giá trị 
khởi ngẫu nhiên nào đó. Do vậy chỉ đảm bảo đạt được giá cực đại địa phương mang 
tính phương. Nên việc đạt tới cực đại toàn cục hay không là phụ thuộc vào điểm bắt 
đầu xuất phát. Nếu ta xuất phát từ một điểm đúng thì ta có thể tìm được cực đại toàn 
cục. Tuy nhiên vấn đề tìm điểm xuất phát đúng thường rất khó. Ta có thể sử dụng 
hai phương pháp để giải quyết vấn đề này như sau: 
Một là: Tiến hành thử nhiều giá trị khởi đầu khác nhau, qua đó tiến hành lựa 
chọn phương án mà giá trị hàm mục tiêu hội tụ lớn nhất.  
Hai là: Ta sẽ sử dụng một mô hình đơn giản hơn để tiến hành xác định giá 
trị khởi đầu. Qua đó sẽ tìm được vùng tồn tại cực đại toàn cục, sau đó ta sẽ chọn 
một giá trị khởi đầu trong vùng đó để tiến hành bắt đầu với mô hình phức tạp.  

2.1.3.3. Đánh giá thuật toán 
Thuật toán kỳ vọng cực đại có ưu điểm là có mô hình toán rõ ràng, học theo 
khung mô hình xác suất khá tốt và có hiệu quả rất tốt nếu mô hình đó là mô hình 
dạng  đóng.  Tuy  nhiên,  thuật  toán  còn  những  mặt  hạn  chế  là  ta  cần  phải  xác  định 
được tính chính xác của mô hình, xác minh được tính đồng nhất của mô hình, ngoài 

ra xác định tối ưu bằng giải thuật kỳ vọng cực đại sẽ làm ảnh hưởng đến những dữ 
liệu không được gán nhãn nếu mô hình bị sai. 

 


×