Học bán giám sát là phương pháp học với tập dữ liệu huấn luyện gồm cả dữ liệu đã được gán nhãn và dữ liệu chưa được gán nhãn. Tuỳ vào từng mục đích cụ thể, học bán giám sát có thể được áp dụng cho bài toán phân lớp hoặc phân cụm dữ liệu. Nội dung chính của học bán giám sát là hệ thống sử dụng một tập dữ liệu huấn luyện (training set) gồm 2 phần: các ví dụ học có nhãn, thường với số lượng (rất) ít, và các ví dụ học không có nhãn, thường với số lượng (rất) nhiều. Thực tế cho thấy khi sử dụng kết hợp dữ liệu không có nhãn với một lượng nhất định dữ liệu có nhãn có thể tăng độ chính xác đáng kể. Một thuật toán học bán giám sát được sử dụng sẽ học các ví dụ có nhãn, sau đó tiến hành gán nhãn cho một số (có lựa chọn) ví dụ không có nhãn một cách hợp lý, có đánh giá chất lượng công việc hay độ chính xác. Tiếp theo, chọn các ví dụ vừa được gán nhãn có độ tin cậy cao (vượt trên một ngưỡng chọn trước) đưa vào kết hợp với tập dữ liệu có nhãn, tạo thành một tập dữ liệu huấn luyện mới. Áp dụng một phương pháp kiểm thử (có thể kết hợp với một tập dữ liệu đã biết trước nhãn) để đánh giá hiệu năngđộ chính xác của mô hình.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-**** -
NGUYỄN THỊ LOAN MOUNPHINE PHONEPANYA
VŨ ĐÌNH THUẤN
PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT
SEMI-SUPERVIED LEARNING
BÀI TẬP LỚN MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC Lớp: Cao học K25
Giảng viên hướng dẫn: TS Trần Đăng Hưng
Hà Nội, tháng 5 năm 2016
Trang 22
MỤC LỤC
Trang
MỞ ĐẦU 3
Chương 1: GIỚI THIỆU 4
1.1 Giới thiệu về học máy 4
1.1.1 Khái niệm học máy 4
1.1.2 Chương trình học máy 4
1.1.3 Ứng dụng 5
1.2 Các phương pháp học máy 5
1.2.1 Học có giám sát 6
1.2.2 Học không giám sát 6
1.2.3 Học bán giám sát 6
1.2.4 Học tăng cường 6
1.3 Mục tiêu, nhiệm vụ nghiên cứu của đề tài 7
Chương 2: PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT 8
2.1 Giới thiệu 8
2.1.1 Khái niệm học bán giám sát 8
2.1.2 Nội dung phương pháp học bán giám sát 8
2.2 Một số thuật toán tiêu biểu 8
2.2.1 Thuật toán cực đại kỳ vọng (EM) 9
2.2.2 SVM truyền dẫn (TSVM) 10
2.2.3 Self-training 11
2.2.4 Co-training 11
2.2.5 Phương pháp dựa trên đồ thị (Graph-based) 13
2.3 Ứng dụng 13
KẾT LUẬN 14
TÀI LIỆU THAM KHẢO 15
Trang 33
MỞ ĐẦU
Hiện nay công nghệ thông tin đã và đang phát triển rất mạnh mẽ, được ứng dụng rộng rãi ở nhiều lĩnh vực Do đó mà số lượng và tốc độ thay đổi thông tin là cực kỳ nhanh chóng, trong đó chủ yếu là các thông tin chưa được gán nhãn Nhiều nghiên cứu của ngành học máy có thể tìm ra được dữ liệu chưa gán nhãn khi sử dụng với một số lượng nhỏ dữ liệu gán nhãn Tuy nhiên để thu được kết quả của
dữ liệu gán nhãn thường đòi hỏi ở trình độ tư duy và khả năng của con người, công việc này tốn nhiều thời gian và chi phí, do vậy dữ liệu gán nhãn thường rất hiếm và đắt, trong khi dữ liệu chưa gán nhãn thì lại rất phong phú, đa dạng Trong trường hợp đó để khắc phục những hạn chế trên cần phải có một phương pháp học không cần nhiều dữ liệu gán nhãn và có khả năng tận dụng được các nguồn dữ liệu chưa gán nhãn rất phong phú như hiện nay, phương pháp học đó được gọi là phương pháp học bán giám sát
Phương pháp học bán giám sát là phương pháp học máy sử dụng tập dữ liệu huấn luyện bao gồm cả các thông tin đã gán nhãn và thông tin chưa gán nhãn, phương pháp học này đang được sử dụng rất phổ biến vì khả năng tiện lợi của nó
Trong đề tài này chúng tôi tập trung vào nghiên cứu cơ sở lý thuyết của các phương pháp học bán giám sát với một số thuật toán tiêu biểu Với mục tiêu trên thì ngoài phần mở đầu và kết luận đề tài được cấu trúc như sau:
Chương 1: Giới thiệu Chương này sẽ trình bày khái quát các nội dung về
học máy như khái niệm học máy, chương trình học máy, các phương pháp học máy
Chương 2: Phương pháp học bán giám sát Trong chương này chúng tôi
sẽ trình bày khái niệm học bán giám sát, nội dung phương pháp học bán giám sát
và ứng dụng của nó, sau đó sẽ trình bày một số thuật toán tiêu biểu trong phương pháp học bán giám sát
Trang 44
Chương 1: GIỚI THIỆU 1.1 Giới thiệu về học máy
Học máy (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo cung cấp cho máy tình những khả năng mới liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể “học” Cụ thể hơn, học máy là phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu
1.1.1 Khái niệm học máy
Arthur Samuel (1959): Học máy là một ngành khoa học cung cấp cho máy tính có khả năng học mà không cần chương trình cài đặt trước
Tom Mitchell (1998): Học máy chính là một máy tính có thể học từ quá khứ
Có hai loại phương pháp học máy chính:
- Phương pháp quy nạp: Máy học/ phân biệt các khái niệm dựa trên dữ liệu
đã thu thập được trước đó Phương pháp này cho phép tận dụng được nguồn dữ liệu rất nhiều và sẵn có
- Phương pháp suy diễn: Máy học/ phân biệt các khái niệm dựa vào các luật Phương pháp này cho phép tận dụng được các kiến thức chuyên ngành để
hỗ trợ máy tính
Hiện nay, các thuật toán đều cố gắng tận dụng được ưu điểm của hai phương pháp này
1.1.2 Chương trình học máy
Trang 55
- Xây dựng mô hình: Từ tập dữ liệu quá khứ (dữ liệu huấn luyện) qua quá trình học (sử dụng các thuật toán) ta sẽ xây dựng được mô hình M (hàm mục tiêu h)
- Sử dụng mô hình: Từ các dữ liệu mới sau khi áp dụng hàm mục tiêu ta sẽ thu được kết quả (phân lớp, dự đoán, phân cụm…)
- Kiểm thử mô hình: Kiểm tra lại các kết quả
1.1.3 Ứng dụng
Học máy có tính ứng dụng rộng trong nhiều lĩnh vực của đời sống xã hội như các ngành khoa học – sản xuất, đặc biệt những ngành cần phân tích khối lượng dữ liệu khổng lồ, một số dữ liệu thường thấy đó là:
Xử lý ngôn ngữ tự nhiên (Natural Language processing): Xử ý văn bản, giao tiếp người – máy
Nhận dạng (Pattern Recognition): Nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy
Chuẩn đoán trong y tế: phân tích ảnh X–quang, các hệ chuyên gia chẩn đoán tự động
Tin sinh học: phân loại chuỗi gene, quá trình hình thành gene/ protein
Vật lý: Phân tích ảnh thiên văn, tác động giữa các hạt
Tìm kiếm (Search Engine)
Phát hiện gian lận tài chính (financial fraud): Gian lận thẻ tín dụng
Phân tích thị trường chứng khoán (stock market analysis)
Chơi trò chơi: Tự động chơi cờ, hành động của các nhân vật ảo
Robot là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên
hệ thần kinh - bộ não của người máy
1.2 Các phương pháp học máy
Trong lĩnh vực học máy có các phương pháp học sau:
- Học có giám sát (supervised learning)
- Học không giám sát (unsupervised learning)
- Học bán giám sát (semi-supervised learning)
- Học tăng cường (reinforcement learning)
Trang 66
1.2.1 Học có giám sát
Là phương pháp học máy trong đó tập dữ liệu huấn luyện bao gồm các ví
dụ (đối tượng/bản ghi…), mỗi ví dụ được gắn kèm với một nhãn (giá trị đầu ra mong muốn)
Mục đích là học một giả thiết (phân lớp, hàm mục tiêu…) phù hợp với tập
dữ liệu hiện có
Giả thiết học được sẽ được dùng để phân lớp/ dự đoán đối với các ví dụ mới
Một số thuật toán: Navie-Bayes, ID3, SVM…
1.2.2 Học không giám sát
Là phương pháp học máy trong đó tập dữ liệu huấn luyện bao gồm các ví
dụ (đối tượng/bản ghi…), mỗi ví dụ không có thông tin về nhãn (giá trị đầu ra mong muốn)
Mục đích tìm ra các cụm/cấu trúc/quan hệ tồn tại trong tập dữ liệu hiện có Một số thuật toán: K-means, DBSCAN…
1.2.3 Học bán giám sát
Là phương pháp học tập với tập dữ liệu huấn luyện gồm cả dữ liệu đã được gán nhãn và dữ liệu chưa được gán nhãn
Tùy vào từng mục đích cụ thể, học bán giám sát có thể được áp dụng cho bài toán phân lớp hoặc phân cụm
Một số thuật toán: EM, TSVM, Self-training, Co-training…
1.2.4 Học tăng cường
Là phương pháp học tập với tập dữ liệu thường không được cho trước mà sinh ra trong quá trình tương tác với môi trường thông qua hành động nào đó
Mục đích là tìm một chiến lược lựa chọn hành động để cực tiểu hóa chi phí dài hạn
Học dựa trên mô hình (model based): DP-Dynamic Programming
Học không có mô hình (model free): MC-Monte Carlo, TD-Temporal Diffirence
Trang 77
1.3 Mục tiêu, nhiệm vụ nghiên cứu của đề tài
Mục tiêu của đề tài: Xác định những ứng dụng thực tế của các thuật toán
tiêu biểu trong phương pháp học bán giám sát
Nhiệm vụ nghiên cứu:
- Nghiên cứu cơ sở lý thuyết của học máy, ứng dụng của học máy, các phương pháp học máy phổ biến
- Nghiên cứu cơ sở lý thuyết của phương pháp học bán giám sát trong học máy, ứng dụng của phương pháp học bán giám sát
- Nghiên cứu các thuật toán tiêu biểu được sử dụng trong phương pháp học bán giám sát và ứng dụng của các thuật toán này để giải quyết các bài toán thực tế
Trang 88
Chương 2: PHƯƠNG PHÁP HỌC BÁN GIÁM SÁT
2.1 Giới thiệu
2.1.1 Khái niệm học bán giám sát
Học bán giám sát là phương pháp học với tập dữ liệu huấn luyện gồm cả
dữ liệu đã được gán nhãn và dữ liệu chưa được gán nhãn
Tuỳ vào từng mục đích cụ thể, học bán giám sát có thể được áp dụng cho bài toán phân lớp hoặc phân cụm dữ liệu
2.1.2 Nội dung phương pháp học bán giám sát
- Nội dung chính của học bán giám sát là hệ thống sử dụng một tập dữ liệu
huấn luyện (training set) gồm 2 phần: các ví dụ học có nhãn, thường với số lượng (rất) ít, và các ví dụ học không có nhãn, thường với số lượng (rất) nhiều Thực tế cho thấy khi sử dụng kết hợp dữ liệu không có nhãn với một lượng nhất định dữ liệu có nhãn có thể tăng độ chính xác đáng kể
- Một thuật toán học bán giám sát được sử dụng sẽ học các ví dụ có nhãn,
sau đó tiến hành gán nhãn cho một số (có lựa chọn) ví dụ không có nhãn một cách hợp lý, có đánh giá chất lượng công việc hay độ chính xác Tiếp theo, chọn các ví
dụ vừa được gán nhãn có độ tin cậy cao (vượt trên một ngưỡng chọn trước) đưa vào kết hợp với tập dữ liệu có nhãn, tạo thành một tập dữ liệu huấn luyện mới
- Áp dụng một phương pháp kiểm thử (có thể kết hợp với một tập dữ liệu
đã biết trước nhãn) để đánh giá hiệu năng/độ chính xác của mô hình
2.2 Một số thuật toán tiêu biểu
Một số thuật toán thường được sử dụng trong phương pháp học bán giám sát gồm có: Thuật toán cực đại kỳ vọng (EM - Expectation Maximization), SVM truyền dẫn (TSVM - Transductive Support Vector Machine), Self-training, Co-training và các phương pháp dựa trên đồ thị (graph-based)
Việc lựa chọn thuật toán nào để xây dựng mô hình dựa trên một số định hướng: nếu các lớp dữ liệu có tính phân cụm cao thì nên dùng EM với mô hình hỗn hợp sinh; nếu đã sử dụng SVM thì mở rộng thành TSVM; khi khó nâng cấp
mô hình học có giám sát đã có, thì nên dùng self-training; nếu các đặc trưng của
dữ liệu phân chia tự nhiên thành hai phần riêng rẽ thì nên dùng Co-training; còn nếu hai mẫu dữ liệu có đặc trưng tương tự nhau hướng tới một lớp thì sử dụng phương pháp dựa trên đồ thị
Trang 99
2.2.1 Thuật toán cực đại kỳ vọng (EM)
Thuật toán cực đại kỳ vọng (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) Ở đâ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
Thuật toán EM gồm hai bước lặp: E-step và M-step
Khởi tạo, nó gán giá trị ngẫu nhiên cho tất cả các tham số của mô hình Sau
đó, tiến hành lặp hai bước lặp sau:
(1) E-step (Expectation step) – Bước kỳ vọng: Trong bước lặp này, nó tính toán likelihood mong muốn cho dữ liệu dựa trên các thiết lập tham số
và incomplete data
(2) M-step (Maximization step) – Bước cực đại hóa: Tính toán lại tất cả các tham số sử dụng tất cả các dữ liệu Khi đó, ta sẽ có một tập các tham số mới
Tiến trình tiếp tục cho đến khi likelihood hội tụ, ví dụ như đạt tới cực đại cục bộ EM sử dụng hướng tiếp cận leo đồi, nên chỉ đảm bảo đạt được cực đại cục
bộ Khi tồn tại nhiều cực đại, 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 leo đồi Nếu ta bắt đầu từ một đồi đúng (right hill), ta sẽ có khả năng tìm được cực đại toàn cục Tuy nhiên, việc tìm được right hill thường là rất khó Có hai chiến lược được đưa ra để giải quyết bài toán này: Một là, chúng ta thử nhiều giá trị khởi đầu khác nhau, sau đó lựa chọn giải pháp có giá trị likelihood hội tụ lớn nhất Hai là, sử dụng mô hình đơn giản hơn để xác định giá trị khởi đầu cho các mô hình phức tạp Ý tưởng là: một mô hình đơn giản hơn sẽ giúp tìm được vùng tồn tại cực đại toàn cục, và ta bắt đầu bằng một giá trị trong vùng đó
để tìm kiếm tối ưu chính xác khi sử dụng mô hình phức tạp hơn
Thuật toán EM rất đơn giản, ít nhất là về mặt khái niệm Nó được sử dụng hiệu quả nếu dữ liệu có tính phân cụm cao
Trang 1010
2.2.2 SVM truyền dẫn (TSVM)
Học quy nạp (inductive learning)
Ta xem xét hàm 𝑓 ánh xạ từ đầu vào 𝑥 tới đầu ra 𝑦:𝑦 = 𝑓(𝑥) với 𝑦 ∈ {−1,1} Học quy nạp sẽ dựa vào các dữ liệu huấn luyện có dạng {(𝑥𝑖, 𝑦𝑖): 𝑖 = 1,2, , 𝑛}
để tìm hàm 𝑓 Sau đó, ta sẽ sử dụng hàm 𝑓 để dự đoán nhãn 𝑦𝑛+1 cho các mẫu chưa gán nhãn 𝑥𝑛+1
Các vấn đề của phương pháp:
Khó tập hợp các dữ liệu gán nhãn
Lấy các mẫu dữ liệu chưa gán nhãn thì dễ dàng
Các mẫu cần phân lớp là biết trước
Không quan tâm đến hàm phân lớp 𝑓
Học truyền dẫn (transductive learning)
Học truyền dẫn được Vapnik đề cập từ năm 1998 Một bộ học được gọi là truyền dẫn nếu nó chỉ xử lý trên dữ liệu gán nhãn và dữ liệu chưa gán nhãn, và không thể xử lý dữ liệu mà nó chưa biết Cho trước một tập các mẫu gán nhãn {(𝑥𝑖, 𝑦𝑖): 𝑖 = 1,2, , 𝑛} và một tập các dữ liệu chưa gán nhãn 𝑥1, 𝑥2, , 𝑥𝑚, mục đích của ta là tìm các nhãn 𝑦1, 𝑦2, , 𝑦𝑚 Học truyền dẫn không cần thiết phải xây dựng hàm 𝑓, đầu ra của nó sẽ là một vector các nhãn lớp được xác định bằng việc chuyển thông tin từ dữ liệu gán nhãn sang dữ liệu chưa gán nhãn Các phương pháp dựa trên đồ thị lúc đầu thường là truyền dẫn
Phương pháp học TSVM
Qui ước:
+, - : các mẫu âm, dương
: các mẫu chưa gán nhãn
TSVM là một mở rộng của SVM chuẩn Trong
SVM chỉ có dữ liệu gán nhãn được sử dụng,
mục đích là tìm siêu phẳng cực đại dựa trên các
mẫu dữ liệu huấn luyện Với TSVM, các điểm
dữ liệu chưa gán nhãn cũng được sử dụng Mục
đích của TSVM là gán nhãn cho các điểm dữ liệu chưa gán nhãn để cho biên tuyến tính có lề phân cách là lớn nhất trên cả dữ liệu gán nhãn và dữ liệu chưa gán nhãn
Trang 1111
2.2.3 Self-training
Self-training là kỹ thuật học bán giám sát được sử dụng khá phổ biến do tận dụng được nguồn dữ liệu chưa gán nhãn lớn và ban đầu chỉ cần lượng nhỏ dữ liệu đã gán nhãn Nội dung chính của Self-training là lặp nhiều lần phương pháp học có giám sát
Gọi 𝐷: là tập các dữ liệu đã được gán nhãn
𝐶 : là tập các dữ liệu chưa gán nhãn
Thuật toán Self-training thực hiện như sau:
Lặp (cho đến khi 𝐶 = ∅):
(1) Huấn luyện bộ phân lớp có giám sát ℎ trên tập 𝐷
(2) Sử dụng ℎ để phân lớp dữ liệu trong tập 𝐶
(3) Tìm tập con 𝐶′ ⊆ 𝐶 có độ tin cậy cao nhất: 𝐷 + 𝐶′ ⇒ 𝐷; 𝐶 − 𝐶′ ⇒ 𝐶 Ban đầu huấn luyện bộ phân lớp bằng cách cho bộ phân lớp học một tập dữ liệu huấn luyện đã được gán nhãn (tập này thường nhỏ so với tập dữ liệu chưa gán nhãn) Dùng bộ phân lớp đã được huấn luyện, phân lớp cho các dữ liệu chưa được gán nhãn Trong số dữ liệu mới được gán nhãn, chọn các dữ liệu có độ tin cậy cao (lớn hơn một ngưỡng nào đó) kèm với nhãn vừa gán, đem bổ sung vào tập dữ liệu huấn luyện ban đầu Sau đó, bộ phân lớp được học lại trên tập huấn luyện mới (gồm dữ liệu đã gán nhãn ban đầu và dữ liệu do bộ phân lớp mới gán nhãn) và thuật toán được lặp lại Sau mỗi vòng lặp, bộ phân lớp sẽ bổ sung một số mẫu dữ liệu có độ tin cậy cao nhất cùng với dự đoán phân lớp của chúng vào tập dữ liệu huấn luyện Tên gọi Self-training xuất phát từ việc sử dụng dự đoán của nó để huấn luyện chính nó
2.2.4 Co-training
Thuật toán Co-training dựa trên giả thuyết rằng các đặc trưng của tập dữ liệu huấn luyện có thể được phân chia thành 2 tập con (trường hợp lý tưởng là hai tập con này thoả mãn điều kiện độc lập nhau) Nội dung chính của thuật toán như sau:
+ Dùng 2 bộ phân lớp phù hợp để học 2 tập con tương ứng (mỗi tập con huấn luyện một bộ phân lớp)
+ Mỗi bộ phân lớp thực hiện phân lớp cho các dữ liệu chưa gán nhãn, thu được kết quả là tập dữ liệu chưa gán nhãn kèm theo nhãn dự đoán của chúng Trong tập kết quả của bộ phân lớp 1, chọn ra những mẫu dữ liệu (kèm nhãn đã dự