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
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ô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
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ô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
1
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
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].
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 độ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
4
+ 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.
5
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
6
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)
7
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
8
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.
9
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
)}
td
(**)
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.