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

Nghiên cứu một số thuật toán học máy và ứng dụng

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 (2.19 MB, 87 trang )

NGUYÊN THỊ HÒA

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

NGUYÊN THỊ HÒA

KHOA HỌC MÁY TÍNH

2012 – 2013 Hà Nội, 2014

NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY VÀ
ỨNG DỤNG

LUẬN VĂN THẠC SĨ KỸ THUẬT

2014 – 2016

(Theo định hướng ứng dụng)

HÀ NỘI

HÀ NỘI - 2016


HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

NGUYÊN THỊ HÒA

NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY VÀ


ỨNG DỤNG
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƢỜI HƢỚNG DẪN KHOA HỌC : TS. VŨ VĂN THỎA

HÀ NỘI - 2016


i

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 ký và ghi rõ họ tên

Nguyên Thị Hòa


ii

LỜI CẢM ƠN
Để hoàn thành đƣợc luận văn, ngoài sự nghiên cứu và cố gắng của bản thân,
em xin gửi lời cảm ơn tới TS Vũ Văn Thỏa, giáo viên trực tiếp hƣớng dẫn, tận tình
chỉ bảo và định hƣớng cho em trong suốt quá trình thực hiện luận văn.

Em xin gửi lời cảm ơn chân thành cảm ơn tất cả các thầy cô giáo của Học
viện Công nghệ Bƣu chính Viễn thông đã giảng dạy và dìu dắt em trong trong suốt
quá trình học tập tại trƣờng từ khi còn học đại học cho đến sau đại học.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những ngƣời đã
luôn ở bên cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em có thể học tập tốt
và hoàn thiện luận văn.
Em xin chân thành cảm ơn!


vii

MỤC LỤC
LỜI CAM ĐOAN ...............................................................................................................................i
LỜI CẢM ƠN ................................................................................................................................... ii
MỤC LỤC ...................................................................................................................................... vii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .................................................................. vii
DANH SÁCH BẢNG .................................................................................................................... viii
DANH SÁCH HÌNH VẼ ............................................................................................................... viii
LỜI MỞ ĐẦU .................................................................................................................................... 1
Chƣơng 1 - TỔNG QUAN VỀ HỌC MÁY ....................................................................................... 3
1.1
Một số khái niệm về học máy ............................................................................................ 3
1.2

Phân loại các thuật toán học máy ....................................................................................... 4

1.2.1

Học có giám sát .......................................................................................................... 4


1.2.2

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

1.2.3

Học nửa giám sát........................................................................................................ 6
Ứng dụng của học máy ...................................................................................................... 8

1.3
1.3.1

Ứng dụng trong phân tích dự báo[32] ........................................................................ 8

1.3.2

Ứng dụng trong tìm kiếm ........................................................................................... 9

1.3.3

Ứng dụng trong phân loại ........................................................................................ 10
Kết chƣơng ....................................................................................................................... 10

1.4

Chƣơng 2:
NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC MÁY........................................... 11
2.1
Cây quyết định ................................................................................................................. 11
Tổng quan về cây quyết định ................................................................................... 11


2.1.1
2.1.1.1

Định nghĩa ............................................................................................................ 11

2.1.1.2

Chiến lƣợc cơ bản xây dựng cây quyết định ........................................................ 12

2.1.1.3

Thuận lợi và hạn chế của mô hình cây quyết định ............................................... 15

2.1.2

Thuật toán ID3 ......................................................................................................... 16

2.1.2.1

Thuật toán ............................................................................................................ 17

2.1.2.2

Độ đo tính thuần nhất ........................................................................................... 18

a.

Entropy đo tính thuần nhất của tập huấn luyện ........................................................ 19


b.

Lƣợng thông tin thu đƣợc đo mức độ giảm entropy mong đợi ................................ 20

2.1.2.3

Tìm kiếm không gian giả thuyết trong ID3 .......................................................... 20

2.1.2.4

Đánh giá hiệu suất của cây quyết định: ................................................................ 21

2.1.2.5

Chuyển cây về các luật......................................................................................... 22

2.1.3

Thuật toán C4.5 ........................................................................................................ 22
Thuật toán máy véc tơ hỗ trợ SVM.................................................................................. 23

2.2
2.2.1

Giới thiệu ................................................................................................................. 23

2.2.2

Định Nghĩa ............................................................................................................... 24


2.2.3

Phƣơng pháp SVM phân loại nhị phân .................................................................... 24

2.2.3.1

SVM tuyến tính .................................................................................................... 25


viii

a.

SVM tuyến tính với tập dữ liệu phân tách đƣợc ...................................................... 28

2.2.3.2

SVM phi tuyến tính .............................................................................................. 36

2.2.3.3

Thuật toán tối thiểu tuần tự SMO......................................................................... 40

Thuật toán mạng nơ ron nhân tạo..................................................................................... 40

2.3
2.3.1

Giới thiệu ................................................................................................................. 40


2.3.2

Cơ sở lý thuyết ......................................................................................................... 41

2.3.2.1

Cấu trúc mạng nơ ron ........................................................................................... 41

2.3.2.2

Khả năng ứng dụng của mạng nơ-ron nhân tạo ................................................... 43

2.3.2.3

Tiến trình học ....................................................................................................... 44

2.3.2.4

Giải thuật Back – Propagation ............................................................................. 45

2.3.2.5

Những hạn chế của phƣơng pháp lan truyền ngƣợc:............................................ 48

2.4

So sánh các thuật toán ...................................................................................................... 48

2.5


Kết chƣơng ....................................................................................................................... 50

Chƣơng 3:
3.1

ỨNG DỤNG GIẢI QUYẾT BÀI TOÁN PHÂN LOẠI .......................................... 51

Bài toán phân loại ............................................................................................................ 51

3.1.1

Giới thiệu ................................................................................................................. 51

3.1.2

Mô tả bài toán phân loại ........................................................................................... 51

3.1.3

Phƣơng pháp phân loại ............................................................................................. 51

3.1.4

Đánh giá mô hình ..................................................................................................... 53

3.2
Bài toán phân loại bệnh dựa trên dấu hiệu khám bệnh lâm sàng và các chỉ số xét nghiệm
hóa nghiệm ................................................................................................................................... 55
3.2.1


Đặt bài toán .............................................................................................................. 55

3.2.2

Các bƣớc giải bài toán .............................................................................................. 56

3.2.3

Thu thập dữ liệu nghiên cứu .................................................................................... 57

3.2.4

Tiền xử lý dữ liệu ..................................................................................................... 59

3.2.5

Bài toán thực nghiệm ............................................................................................... 61
Thử nghiệm và đánh giá kết quả ...................................................................................... 63

3.3
3.3.1

Công cụ thực nghiệm ............................................................................................... 63

3.3.2

Chuẩn bị dữ liệu ....................................................................................................... 64

3.3.3


Thực hiện thực nghiệm ............................................................................................ 65

3.3.4

Kết quả thực nghiệm ................................................................................................ 67

3.3.5

Phân tích và đánh giá kết quả ................................................................................... 69

3.4

Kết chƣơng ....................................................................................................................... 70

KẾT LUẬN ...................................................................................................................................... 71
IV. DANH MỤC CÁC TÀI LIỆU THAM KHẢO.......................................................................... 72
PHỤ LỤC......................................................................................................................................... 76


vii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Từ viết tắt

Nghĩa tiếng anh

Nghĩa tiếng việt

SVM


Support Vector Machine

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

KNN

K Nearest Neighbours

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

NB

Naive Bayes

Tiếp cận kiểu Naive Bayes

DT

Decision Tree

Cây quyết định

Nnet

Neural Network

Mạng nơron

LLSF


Linear Least Square Fit

Tuyến tính bình phƣơng nhỏ nhất

EM

expectation-maximization

Cực đại kỳ vọng

XN

HAC

Xét nghiệm

Hierarchical Agglomerative Kỹ thuật phân cụm theo thứ bậc
Clustering

SOM

Self-Organizing Map

Giải thuật bản đồ tự tổ chức


viii

DANH SÁCH BẢNG

Bảng 2.1 Tập dữ liệu thời tiết ...................................................................................13
Bảng 3.1 Các chỉ số liên qua đến độ đo trong KPDL ..............................................54
Bảng 3.2 Số lƣợng BN theo nhóm mặt bệnh nghiên cứu.........................................58
Bảng 3.3 Cơ cấu số mẫu HL và KC tƣơng ứng........................................................64
Bảng 3.4 Cơ cấu của các tập tin dữ liệu ...................................................................64
Bảng 3.5 Kết quả phân loại theo cây quyết định J48 ...............................................67
Bảng 3.6 Kết quả phân loại theo thuật toán SMO ....................................................67
Bảng 3.7 Kết quả đánh giá thuật toán cây quyết định J48 .......................................67
Bảng 3.8 Kết quả đánh giá thuật toán cây quyết định SMO ....................................68
Bảng 3.9 So sánh hiệu quả SMO và J48 ..................................................................68


viii

DANH SÁCH HÌNH VẼ
Hình 1.0.1 Mô hình kim tự tháp: Từ dữ liệu đến tri thức .........................................3
Hình 2.1 Cây quyết định ...........................................................................................12
Hình 2.2 Cây quyết định đi chơi tennis ....................................................................14
Hình 2.3 Cây dự đoán chơi tennis ............................................................................22
Hình 2.4 Tầm quan trọng của biên trong thuật toán SVM .......................................25
Hình 2.5 Ví dụ về một biên không tốt ......................................................................26
Hình 2.6 Ví dụ về biên tối ƣu ...................................................................................26
Hình 2.7 Siêu phẳng phân tách với véc tơ pháp tuyến w .........................................27
Hình 2.8 Độ rộng của biên m....................................................................................28
Hình 2.9 Trƣờng hợp dữ liệu huấn luyện không phân tách đƣợc ............................33
Hình 2.10 Khoảng cách của các điểm lỗi đến vị trí đúng ........................................34
Hình 2.11 Ảnh hƣởng của C đến độ rộng biên và số lƣợng các biến phụ ξi. ..........34
Hình 2.12 Ánh xạ từ không gian 2 chiều sang không gian 3 chiều .........................37
Hình 2.13 Mô hình mạng nơ ron nhân tạo ...............................................................41
Hình 2.14 Cấu trúc 1 nơ ron (Neural) ......................................................................41

Hình 2.15 Cấu trúc mạng nơ ron ..............................................................................42
Hình 2.16 Cấu trúc mạng nơ ron nhiều lớp ..............................................................42
Hình 2.17 Tiến trình học ...........................................................................................45
Hình 2.18 Mô hình tính toán một nơ-ron .................................................................46
Hình 3.1 Giai đoạn xây dựng mô hình .....................................................................52
Hình 3.2 Giai đoạn phân loại ....................................................................................52
Hình 3.3 Đánh giá độ chính xác của mô hình phần lớp với phƣơng pháp Holdout 53
Hình 3.4 Mô hình bài toán phân loại mặt bệnh ........................................................56
Hình 3.5 Các bƣớc phân loại mặt bệnh dựa trên triệu chứng lâm sàng và cận lâm
sàng ...........................................................................................................................57
Hình 3.6 Giao diện khởi động của WEKA ...............................................................63
Hình 3.7 Thực hiện phân loại với J48 Classifier và SMO Classifier .......................66


ix
Hình 3.8 So sánh độ nhạy và thời gian thực hiện giữa thuật toán SMO và cây quyết
định J48 .....................................................................................................................68


1

LỜI MỞ ĐẦU
Trong những năm gần đây, sự phát triển vƣợt bậc của công nghệ thông tin
đã làm số lƣợng thông tin đƣợc trao đổi trên mạng Internet tăng một cách đáng kể.
Do đó, số lƣợng thông tin đƣợc lƣu trữ trong các kho dữ liệu cũng tăng với một tốc
độ chóng mặt, và tốc độ thay đổi thông tin là cực kỳ nhanh chóng. Theo thống kê
của Broder et al (2003) thì cứ sau 9 tháng hoặc 12 tháng lƣợng thông tin đó lại tăng
gấp đôi. Cùng với đó là sự phổ cập máy tính và mạng internet, thói quen tìm kiếm
thông tin qua mạng, đặc biệt là qua các trang web tìm kiếm nổi tiếng ngày càng phổ
biến. Thông qua internet chúng ta có nhiều cơ hội để tiếp xúc với nguồn thông tin

vô cùng lớn. Nhƣng cùng với nguồn thông tin vô tận đó, chúng ta cũng đang phải
đối mặt với sự quá tải thông tin. Đôi khi để tìm đƣợc thông tin cần thiết, chúng ta
phải bỏ ra một lƣợng thời gian khá lớn, còn trong trƣờng hợp chúng ta chƣa rõ mình
thực sự cần gì thì thời gian để tìm kiếm quả là không hề ít.
Với số lƣợng thông tin đồ sộ nhƣ vậy, một yêu cầu lớn đặt ra là làm sao tổ
chức, tìm kiếm và khai thác thông tin, dữ liệu một cách hiệu quả nhất. Một trong
các giải pháp đƣợc nghiên cứu để giải quyết yêu cầu này là xây dựng các mô hình
tính toán dựa trên các phƣơng pháp học máy nhằm phân loại, khai thác thông tin
một cách tự động và trích xuất các tri thức hữu ích.
Xuất phát từ thực tế và mục tiêu nhƣ vậy, học viên thực hiện đề tài luận
văn có tên “Nghiên cứu một số thuật toán học máy và ứng dụng” để bƣớc đầu giải
quyết vấn đề nêu trên.
Nội dung nghiên cứu:
- Nghiên cứu một số kiến thức tổng quan về học máy.
- Khảo sát một số thuật toán học máy nhƣ cây quyết định, máy véctơ hỗ
trợ (SVM), mạng nơron nhân tạo (ANN).
- Ứng dụng các thuật toán đã nghiên cứu để giải quyết bài toán phân loại
cụ thể. Qua đó, đánh giá độ chính xác và tính khả thi của thuật toán.
Cấu trúc của luận văn gồm 3 chƣơng:
Chƣơng 1: Tổng quan về học máy.


2
Chƣơng 2: Nghiên cứu một số thuật toán học máy
Chƣơng 3: Ứng dụng vào giải quyết bài toán phân loại
Trong đó luận văn tập trung vào chƣơng 2 và 3 nhằm nghiên cứu tìm hiểu
để đề xuất ứng dụng giải pháp phù hợp nhất với bài toán phân loại bệnh.


3


Chƣơng 1 - TỔNG QUAN VỀ HỌC MÁY
Chương này trình bày một số kiến thức tổng quan về học máy: những khái
niệm cơ bản trong học máy, mô hình học máy, phân loại các phương pháp học máy,
ứng dụng của học máy trong thực tế.

1.1

Một số khái niệm về học máy
Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu

và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải
quyết những vấn đề cụ thể[36].
Rất khó để định nghĩa một cách chính xác về học máy. “Học - learn” có ý
nghĩa khác nhau trong từng lĩnh vực: tâm lý học, giáo dục, trí tuệ nhân tạo,…
Một định nghĩa rộng nhất: “học máy là một cụm từ dùng để chỉ khả năng
một chƣơng trình máy tính để tăng tính thực thi dựa trên những kinh nghiêm đã trải
qua” hoặc “học máy là để chỉ khả năng một chƣơng trình có thể phát sinh ra một
cấu trúc dữ liệu mới khác với các cấu trúc dữ liệu cũ”. Lợi điểm của các phƣơng
pháp học máy là nó phát sinh ra các luật tƣờng minh, có thể đƣợc sửa đổi, hoặc
đƣợc huấn luyện trong một giới hạn nhất định. Các phƣơng pháp học máy hoạt
động trên các dữ liệu có đặc tả thông tin. Các thông tin đƣợc trình bày theo một cấu
trúc gồm 4 mức đƣợc gọi là tri thức kim tự tháp dƣới đây [32].

Hình 1.0.1 Mô hình kim tự tháp: Từ dữ liệu đến tri thức


4
Học máy là sự tự động của quy trình học và việc học thì tƣơng đƣơng với
việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và

những sự chuyển hoá của chúng. Đây là lĩnh vực rộng lớn không chỉ bao gồm việc
học từ mẫu, mà còn học tăng cƣờng, học với “thầy”,... Các thuật toán học lấy bộ dữ
liệu và những thông tin quen thuộc của nó khi nhập và trả về một kết quả câu nói
hay một câu ví dụ, một khái niệm để diễn tả những kết quả học.
Học máy kiểm tra những ví dụ trƣớc đó và kiểm tra luôn cả những kết quả
của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên
những sự tổng quát hóa cho những trƣờng hợp mới.
Nói chung, học máy sử dụng một tập hữu hạn dữ liệu đƣợc gọi là tập huấn
luyện. Tập này chứa những mẫu dữ liệu mà nó đƣợc viết bằng mã theo một cách
nào đó để máy có thể đọc và hiểu đƣợc. Tuy nhiên, tập huấn luyện bao giờ cũng
hữu hạn do đó không phải toàn bộ dữ liệu sẽ đƣợc học một cách chính xác.
Một tiến trình học máy gồm 2 giai đoạn:
Giai đoạn học: hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ (có thể
là phi tuyến hoặc tuyến tính) giữa các đối tƣợng dữ liệu. Kết quả của việc học có thể
là: nhóm các đối tƣợng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho các đối
tƣợng mới.
Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp...) đƣợc tạo ra
phải đƣợc kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của
tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn.

1.2

Phân loại các thuật toán học máy
Các thuật toán học máy đƣợc chia làm 3 loại: học có giám sát, học không

giám sát và học nửa giám sát[32].

1.2.1 Học có giám sát
Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật học máy giúp hệ
thống xây dựng cách xác định những lớp dữ liệu. Hệ thống phải tìm một sự mô tả

cho từng lớp (đặc tính của mẫu dữ liệu). Ngƣời ta có thể sử dụng các luật phân loại


5
hình thành trong quá trình học và phân loại để có thể sử dụng dự báo các lớp dữ liệu
sau này.
Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:
S = {(xi, cj) i=1,…,M; j=1,…,C}
Các cặp huấn luyện này đƣợc gọi là mẫu, với
xi là vector n-chiều còn gọi là vector đặc trƣng,
ci là lớp thứ j đã biết trƣớc.
Thuật toán học máy giám sát tìm kiếm không gian của những giả thuyết có
thể, gọi là H. Đối với một hay nhiều giả thuyết, mà ƣớc lƣợng tốt nhất hàm không
đƣợc biết chính xác f : x  c.
Đối với công việc phân loại có thể xem giả thuyết nhƣ một tiêu chí phân loại.
Thuật toán học máy tìm ra những giả thuyết bằng cách khám phá ra những đặc
trƣng chung của những ví dụ mẫu thể hiện cho mỗi lớp. Kết quả nhận đƣợc thƣờng
ở dạng luật (Nếu ... thì). Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên
những giả thuyết đã có để dự báo những phân loại tƣơng ứng của chúng. Nếu nhƣ
không gian giả thuyết lớn, thì cần một tập dữ liệu huấn luyện đủ lớn nhằm tìm kiếm
một hàm xấp xỉ tốt nhất f.
Tùy thuộc vào mức độ của thuật toán học giám sát, ngƣời ta có những mô
hình học giám sát nhƣ sau:
-

Học vẹt: hệ thống luôn luôn đƣợc “dạy” những luật đúng, rồi có học hội tụ.

-

Học bằng phép loại suy: hệ thống đƣợc dạy phản hồi đúng cho một công việc

tƣơng tự, nhƣng không xác định. Vì thế hệ thống phải hiệu chỉnh phản hồi trƣớc
đó bằng cách tạo ra một luật mới có thể áp dụng cho trƣờng hợp mới.

-

Học dựa trên trƣờng hợp: trong trƣờng hợp này hệ thống học lƣu trữ tất cả các
trƣờng hợp, cùng với kết quả đầu ra của chúng. Khi bắt gặp một trƣờng hợp
mới, nó sẽ cố gắng hiệu chỉnh đến trƣờng hợp mới này cách xử lý trƣớc đó của
nó đã đƣợc lƣu trữ.


6

-

Học dựa trên sự giải: hệ thống sẽ phân tích tập hợp những giải pháp nhằm chỉ ra
tại sao mỗi phƣơng pháp là thành công hay không thành công. Sau khi những
giải thích này đƣợc tạo ra, chúng sẽ đƣợc dùng để giải quyết những vấn đề mới.
Một số thuật toán thƣờng đƣợc lựa chọn khi xây dựng bộ phân loại gồm có:

máy véc tơ hỗ trợ (SVM), k láng giềng gần nhất (KNN), tiếp cận xác suất thống kê
(NB), Cây quyết định (DT); sử dụng mạng nơron (Nnet), dựa trên vector trọng tâm
(Centroid–base vector), hay tuyến tính bình phƣơng nhỏ nhất (LLSF).

1.2.2 Học không giám sát
Đây là việc học từ quan sát và khám phá. Hệ thống khai thác dữ liệu đƣợc
ứng dụng với những đối tƣợng nhƣng không có lớp đƣợc định nghĩa trƣớc, mà để
nó phải tự hệ thống quan sát những mẫu và nhận ra mẫu. Hệ thống này dẫn đến một
tập lớp, mỗi lớp có một tập mẫu đƣợc khám phá trong tập dữ liệu. Học không giám
sát còn gọi là học từ quan sát và khám phá.

Trong trƣờng hợp chỉ có ít, hay gần nhƣ không có tri thức về dữ liệu đầu
vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những phân loại của
dữ liệu, bằng cách tìm ra những thuộc tính, đặc trƣng chung của những mẫu hình
thành nên tập dữ liệu. Một thuật toán học máy giám sát luôn có thể biến đổi thành
một thuật toán học máy không giám sát.
Đối với một bài toán mà những mẫu dữ liệu đƣợc mô tả bởi n đặc trƣng,
ngƣời ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với một đặc trƣng khác
nhau đóng vai trò thuộc tính lớp, mà chúng ta đang tiên đoán. Kết quả sẽ là n tiêu
chí phân loại (n bộ phân loại), với hy vọng là ít nhất một trong n bộ phân loại đó là
đúng.
Có rất nhiều thuật toán học không giám sát đƣợc ra đời và phát triển nhằm
giải quyết bài toán phân cụm phục vụ khai thác hiệu quả nguồn dữ liệu chƣa gán
nhãn nhiều và rất đa dạng. Việc lựa chọn sử dụng thuật toán nào tuỳ thuộc vào dữ
liệu và mục đích của từng bài toán. Trong đó các thuật toán thƣờng đƣợc sử dụng
nhƣ: k-means, HAC, SOM ...

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


7

Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học
không giám sát. Học bán giám sát sử dụng cả dữ liệu đã gán nhãn và chƣa gán nhãn
để huấn luyện - điển hình là một lƣợng nhỏ dữ liệu có gán nhãn cùng với lƣợng lớn
dữ liệu chƣa gán nhãn.
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 huấn luyện
gồm 2 phần: các ví dụ huấn luyện có nhãn, thƣờng với số lƣợng ít, và các ví dụ học
không có nhãn, thƣờng với số lƣợng nhiều. Các dữ liệu gán nhãn thƣờng hiếm, đắt
và rất mất thời gian, đòi hỏi sự nỗ lực của con ngƣời, trong khi đó dữ liệu chƣa gán
nhãn thì vô vàn nhƣng để sử dụng vào mục đích cụ thể của chúng ta thì rất khó, vì

vậy ý tƣởng kết hợp giữa dữ liệu chƣa gán nhãn và dữ liệu đã gán nhãn để xây dựng
một tập phân loại tốt hơn là nội dung chính của học bán giám sát. Bởi vậy học bán
giám sát là một ý tƣởng tốt để giảm bớt công việc của con ngƣời và cải thiện độ
chính xác lên mức cao hơn.
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) các 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.
Học bán giám sát đứng giữa học không giám sát (không có bất kì dữ liệu đã
đƣợc nhãn nào) và có giám sát (toàn bộ dữ liệu đều đƣợc gán nhãn). Việc học nửa
giám sát tận dụng những ƣu điểm của việc học giám sát và học không giám sát và
loại bỏ những khuyết điểm thƣờng gặp trên hai kiểu học này.
Quá trình học bán giám sát đã đƣợc nghiên cứu phát triển trong một thập kỷ
gần đây, nhất là từ khi xuất hiện các trang Web với số lƣợng thông tin ngày càng
lớn, chủ đề ngày càng phong phú. Chúng ta có thể nêu lên quá trình phát triển của
học bán giám sát trải qua các thuật toán đƣợc nghiên cứu nhƣ sau. Cùng với số liệu
lớn của dữ liệu chƣa gán nhãn, các thành phần hỗn hợp có thể đƣợc nhận ra cùng


8
với thuật toán cực đại kỳ vọng. Chỉ cần một mẫu đơn đã gán nhãn cho mỗi thành
phần để xác định hoàn toàn đƣợc mô hình hỗn hợp. Mô hình này đƣợc áp dụng
thành công vào việc phân loại văn bản. Một biến thể khác của mô hình này chính là
self-training. Cả 2 phƣơng pháp này đƣợc sử dụng cách đây một thời gian khá dài.
Chúng đƣợc sử dụng phổ biến vì dựa trên khái niệm đơn giản của chúng và sự dễ
hiểu của thuật toán. Co-training là thuật toán học bán giám sát điển hình tiếp theo
mà các nhà khoa học đầu tƣ nghiên cứu. Trong khi self-training là thuật toán mà khi

có một sự phân loại lỗi thì có thể tăng cƣờng thêm cho chính nó, thì co-training
giảm bớt đƣợc lỗi tăng cƣờng có thể xảy ra khi có một quá trình phân loại bị lỗi.
Cùng với quá trình phát triển và việc áp dụng phổ biến và sự tăng lên về chất lƣợng
của thuật toán SVM, SVM truyền dẫn nổi bật lên nhƣ một SVM chuẩn mở rộng cho
phƣơng pháp học bán giám sát. Gần đây các phƣơng pháp học bán giám sát dựa trên
đồ thị thu hút nhiều sự quan tâm của các nhà khoa học cũng nhƣ những ngƣời quan
tâm đến lĩnh vực khai phá dữ liệu. Các phƣơng pháp Graph-based bắt đầu với một
đồ thị mà các nút là các điểm dữ liệu gán nhãn và chƣa gán nhãn, và các điểm nối
phản ánh đƣợc sự giống nhau giữa các nút này. Có thể thấy học bán giám sát là một
quá trình hoàn thiện dần các thuật toán để áp dụng vào các vấn đề của đời sống con
ngƣời. Một số thuật toán học bán giám sát điển hình có thể xem là đƣợc áp dụng
nhiều nhất, đó là Naive Bayes, EM với các mô hình hỗn hợp sinh, self-training, cotraining, SVM truyền dẫn, và các phƣơng pháp dựa trên đồ thị.

1.3

Ứng dụng của học máy
Học máy có ứng dụng rộng khắp trong các ngành khoa học và 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ồ. Dƣới đây là một số
ứng dụng phổ biến của học máy.

1.3.1 Ứng dụng trong phân tích dự báo[32]
 Các loại phƣơng pháp dự báo:
-

Dự báo điểm và dự báo khoảng.

-

Phƣơng pháp định tính và định lƣợng.



9

-

Dự báo ngắn hạn (<3 tháng), dự báo trung hạn (6 tháng - 2năm), dự báo dài hạn
(>2 năm) .
Phƣơng pháp định tính.

-

Phƣơng pháp chuyên gia: phƣơng pháp chuyên gia là phƣơng pháp dự báo mà
kết quả là các "thông số" do các chuyên gia đƣa ra.

-

Phƣơng pháp Delphi: tổ chức phối hợp các loại trƣng cầu và xử lý ý kiến
chuyên gia.
Phƣơng pháp định lƣợng.

-

Phƣơng pháp chuỗi thời gian: dựa trên phân tích chuỗi quan sát của một biến
duy nhất theo biến số độc lập là thời gian.

-

Mô hình nhân quả: giả định biến số dự báo có thể đƣợc giải thích bởi hình vi
của những biến số kinh tế khác.


 Ứng Dụng Các Mô Hình Dự Báo Của Học máy.
-

Chƣơng Trình Ứng Dụng Hệ Thống Mạng Nơron Lan Truyền Ngƣợc (FNN).

-

Chƣơng Trình Ứng Dụng Hệ luật mờ (SAM).

-

Chƣơng Trình Ứng Dụng Mạng Nơ rôn dạng Lan Truyền Ngƣợc và thuật toán
di truyền vào phân tích dự báo.
Các chƣơng trình ứng dụng mô hình mạng nơ rôn mờ hồi quy, sử dụng file

dữ liệu huấn luyện, thử nghiệm và dự báo dạng văn bản.

1.3.2 Ứng dụng trong tìm kiếm
Mô hình tìm kiếm có thể gom lại gồm hai thành phần chính: một thành phần
chạy trực tuyến trên web dùng để tƣơng tác với ngƣời dùng, nhận và xử lý câu truy
vấn, một thành phần chạy không trực tuyến dùng để xử lý lƣu lịch sử truy cập trang
web, xử lý tập từ khóa trên trang, xử lý gán trọng số cho trang web, xử lý gom
nhóm phiên làm việc và huấn luyện mạng.
Để quá trình tìm kiếm của ngƣời dùng ít tốn thời gian và tài nguyên xử lý,
toàn bộ quá trình tính toán và tiền xử lý đƣợc thi hành trƣớc trên máy chủ, thành
phần trực tuyến chỉ tính toán lại một phần kết quả do phụ thuộc vào câu truy vấn


10

của ngƣời dùng đồng thời tổng hợp các kết quả mà thành phần không trực tuyến gởi
đến để tối ƣu kết quả tìm kiếm.

1.3.3 Ứng dụng trong phân loại
Ứng dụng xây dựng các thành phần của chƣơng trình thu thập các thông tin
liên quan đến lĩnh vực công nghệ thông tin trên Internet gồm ngôn ngữ tiếng Anh
và tiếng Việt, sau đó tiếp tục phân loại các thông tin này vào theo các đối tƣợng cần
thiết. Phân loại tức là huấn luyện một hàm ánh xạ một mục dữ liệu vào một trong
các lớp đã biết trƣớc.
Ví dụ: Phân loại bệnh nhân theo mặt bệnh, phân loại các loài thực vật …
Phân loại còn đƣợc gọi là quá trình học có giám sát. Hƣớng tiếp cận này thƣờng sử
dụng một số kỹ thuật của học máy nhƣ: Mạng Nơ-ron nhân tạo, cây quyết định,
máy vec-tơ hỗ trợ.

1.4

Kết chƣơng
Trong chƣơng 1 luận văn đã khảo sát các vấn đề chung nhất của học máy.

Các mô hình học máy đƣợc ứng dụng trong nhiều lĩnh vực khác nhau của đời sống
xã hội nhƣ lĩnh vực y tế, sinh học, lĩnh vực kinh tế tài chính, quan trị kinh
doanh,…Tuy nhiên, do đòi hỏi ngày càng cao của thực tiễn, học máy còn gặp nhiều
thách thức và đang là một trong những lĩnh vực thu hút sự quan tâm của các nhà
khoa học và các tổ chức cũng nhƣ doanh nghiệp.
Trong chƣơng này luận văn cũng trình bày tổng quan về các học máy và mộ
số ứng dụng của học máy trong các lĩnh vựa. Có nhiều mô hình học máy, trong đó
phƣơng pháp phân loại đƣợc ứng dụng rất rộng rãi trong thực tế. Trong phƣơng
pháp phân loại, kỹ thuật học máy SVM, cây quyết định, mạng nơ ron là những thuật
toán phân loại đƣợc ứng dụng rộng rãi, đặc biệt là trong y học và tin sinh học.
Vì vậy, chƣơng tiếp theo luận văn sẽ nghiên cứu ba thuật toán cơ bản là cây

quyết định, SVM và mạng nơ-ron.


11

Chƣơng 2: NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỌC
MÁY
Chương này trình bày một số thuật toán học máy tiêu biểu, cụ thể là thuật
toán cây quyết định, vectơ hỗ trợ SVM và mạng nơron nhân tạo.

2.1 Cây quyết định
Cây quyết định là một trong phƣơng pháp học máy tiêu biểu có nhiều ứng
dụng trong phân loại và dự đoán. Mặc dù độ chính xác của phƣơng pháp này không
thật cao so với những phƣơng pháp đƣợc nghiên cứu gần đây, học cây quyết định
vẫn có nhiều ƣu điểm nhƣ đơn giản, dễ lập trình, và cho phép biểu diễn hàm phân
loại dƣới dạng dễ hiểu, dễ giải thích cho con ngƣời. Phƣơng pháp này thƣờng đƣợc
dùng nhƣ phƣơng pháp mở đầu để minh họa cho kỹ thuật học bộ phân loại từ dữ
liệu. Phƣơng pháp học cây quyết định đƣợc sử dụng cho việc học các hàm phân loại
từ dữ liệu huấn luyện, trong đó cây quyết định đƣợc sử dụng làm biểu diễn xấp xỉ
của hàm phân loại, tức là hàm có đầu ra là các giá trị rời rạc. Nhƣ đã nói ở trên,
phƣơng pháp học này thuộc loại học có giám sát.

2.1.1 Tổng quan về cây quyết định
2.1.1.1 Định nghĩa
Cây quyết định là một cấu trúc ra quyết định có dạng cây. Cây quyết định
nhận đầu vào là một bộ giá trị thuộc tính mô tả một đối tƣợng hay một tình huống
và trả về một giá trị rời rạc. Mỗi bộ thuộc tính đầu vào đƣợc gọi là một mẫu hay
một ví dụ, đầu ra gọi là loại hay nhãn phân loại. Thuộc tính đầu vào còn đƣợc gọi là
đặc trƣng và có thể nhận giá trị rời rạc hoặc liên tục. Để cho đơn giản, trƣớc tiên ta
sẽ xem xét thuộc tính rời rạc, sau đó sẽ mở rộng cho trƣờng hợp thuộc tính nhận giá

trị liên tục. Trong các trình bày tiếp theo, tập thuộc tính đầu vào đƣợc cho dƣới
dạng véc tơ x, nhãn phân loại đầu ra đƣợc ký hiệu là y, cây quyết định là hàm f(x)
trả lại giá trị y. Cây quyết định đƣợc biểu diễn dƣới dạng một cấu trúc cây (hình
2.1).


12

Hình 2.1 Cây quyết định
Mỗi nút trung gian, tức là nút không phải nút lá, tƣơng ứng với phép kiểm tra
một thuộc tính. Mỗi nhánh phía dƣới của nút đó tƣơng ứng với một giá trị của thuộc
tính hay một kết quả của phép thử. Khác với nút trung gian, nút lá không chứa
thuộc tính mà chứa nhãn phân loại. Để xác định nhãn phân loại cho một ví dụ nào
đó, ta cho ví dụ chuyển động từ gốc cây về phía nút lá. Tại mỗi nút, thuộc tính
tƣơng ứng với nút đƣợc kiểm tra, tùy theo giá trị của thuộc tính đó mà ví dụ đƣợc
chuyển xuống nhánh tƣơng ứng bên dƣới. Quá trình này lặp lại cho đến khi ví dụ tới
đƣợc nút lá và đƣợc nhận nhãn phân loại là nhãn của nút lá tƣơng ứng.

2.1.1.2 Chiến lƣợc cơ bản xây dựng cây quyết định
-

Bắt đầu từ nút đơn biểu diễn tất cả các mẫu.

-

Nếu các mẫu thuộc về cùng một lớp, nút trở thành nút lá và đƣợc gán nhãn bằng
lớp đó.

-


Ngƣợc lại, dùng độ đo thuộc tính để chọn thuộc tính sẽ phân tách tốt nhất các
mẫu vào các lớp.

-

Một nhánh đƣợc tạo cho từng giá trị của thuộc tính đƣợc chọn và các mẫu đƣợc
phân hoạch theo.

-

Dùng đệ quy cùng một quá trình để tạo cây quyết định.


13

-

Tiến trình kết thúc chỉ khi bất kỳ điều kiện nào sau đây là đúng.
 Tất cả các mẫu cho một nút cho trƣớc đều thuộc về cùng một lớp.
 Không còn thuộc tính nào mà mẫu có thể dựa vào để phân hoạch xa
hơn.
 Không còn mẫu nào cho nhánh.

-

Tuy nhiên, nếu không chọn đƣợc thuộc tính phân loại hợp lý tại mỗi nút, ta sẽ
tạo ra cây rất phức tạp, ví dụ nhƣ cây dƣới đây:
Cho tập dữ liệu sau:
Bảng 2.1 Tập dữ liệu thời tiết


Quang Cảnh

Nhiệt độ

Độ ẩm

Gió

Đi chơi Tennis

Nắng

Nóng

Cao

Yếu

Không

Nắng

Nóng

Cao

Mạnh

Không


Âm u

Nóng

Cao

Yếu



Mƣa

Ấm áp

Cao

Yếu



Mƣa

Lạnh

Bình thƣờng

Yếu




Mƣa

Lạnh

Bình thƣờng

Mạnh

Không

Âm u

Lạnh

Bình thƣờng

Mạnh



Nắng

Ấm áp

Cao

Yếu

Không


Nắng

Lạnh

Bình thƣờng

Yếu



Mƣa

Ấm áp

Bình thƣờng

Yếu



Nắng

Ấm áp

Bình thƣờng

Mạnh




Âm u

Ấm áp

Cao

Mạnh



Âm u

Nóng

Bình thƣờng

Yếu



Mƣa

Ấm áp

Cao

Mạnh

không



14

Từ dữ liệu trên ta xây dựng đƣợc cây quyết định nhƣ sau:
Quang cảnh

Nắng

Độ ẩm

U ám

Mƣa

U ám

Gió


Bình thƣờng

Không



Mạnh
Không

Yếu



Hình 2.2 Cây quyết định đi chơi tennis

Tránh “quá vừa” dữ liệu
Thế nào là “quá vừa” dữ liệu? Có thể hiểu đây là hiện tƣợng cây quyết định
chứa một số đặc trƣng riêng của tập dữ liệu đào tạo, nếu lấy chính tập traning data
để test lại mô hình phân loại thì độ chính xác sẽ rất cao, trong khi đối với những dữ
liệu tƣơng lai khác nếu sử dụng cây đó lại không đạt đƣợc độ chính xác nhƣ vậy.
Quá vừa dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và những
phƣơng pháp học khác. Đặc biệt khi số lƣợng ví dụ trong tập dữ liệu đào tạo quá ít,
hay có noise trong dữ liệu.
Có hai phƣơng pháp tránh “quá vừa” dữ liệu trong cây quyết định:
 Dừng phát triển cây sớm hơn bình thƣờng, trƣớc khi đạt tới điểm phân loại hoàn
hảo tập dữ liệu đào tạo. Với phƣơng pháp này, một thách thức đặt ra là phải ƣớc
lƣợng chính xác thời điểm dừng phát triển cây.
Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉa cây.


15
 Mặc dù phƣơng pháp thứ nhất có vẻ trực tiếp hơn, nhƣng với phƣơng pháp thứ
hai thì cây quyết định đƣợc sinh ra đƣợc thực nghiệm chứng minh là thành công
hơn trong thực tế. Hơn nữa việc cắt tỉa cây quyết định còn giúp tổng quát hóa,
và cải thiện độ chính xác của mô hình phân loại. Dù thực hiện phƣơng pháp nào
thì vấn đề mấu chốt ở đây là tiêu chuẩn nào đƣợc sử dụng để xác định kích
thƣớc hợp lý của cây cuối cùng.
Thao tác với thuộc tính liên tục
Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toàn không đơn
giản nhƣ với thuộc tính rời rạc.
Thuộc tính rời rạc có tập giá trị xác định từ trƣớc và là tập hợp các giá trị rời
rạc. Ví dụ loại ô tô là một thuộc tính rời rạc với tập giá trị là: {xe tải, xe khách, xe

con,taxi}.Việc phân chia dữ liệu dựa vào phép kiểm tra giá trị của thuộc tính rời rạc
đƣợc chọn tại một ví dụ cụ thể có thuộc tập giá trị của thuộc tính đó hay không. Đây
là phép kiểm tra logic đơn giản, không tốn nhiều tài nguyên tính toán. Trong khi đó,
với thuộc tính liên tục (thuộc tính dạng số) thì tập giá trị là không xác định trƣớc.
Chính vì vậy, trong quá trình phát triển cây, cần sử dụng kiểm tra dạng nhị phân:
value(A) ≤ θ. Với θ là hằng số ngƣỡng đƣợc lần lƣợt xác định dựa trên từng giá trị
riêng biệt hay từng cặp giá trị liền nhau (theo thứ tự đã sắp xếp) của thuộc tính liên
tục đang xem xét trong tập dữ liệu đào tạo. Điều đó có nghĩa là nếu thuộc tính liên
tục A trong tập dữ liệu đào tạo có d giá trị phân biệt thì cần thực hiện d-1 lần kiểm
tra value(A) ≤ θi với i = 1..d-1 để tìm ra ngƣỡng θ tốt nhất tƣơng ứng với thuộc tính
đó. Việc xác định giá trị của θ và tiêu chuẩn tìm θ tốt nhất tùy vào chiến lƣợc của
từng thuật toán.

2.1.1.3 Thuận lợi và hạn chế của mô hình cây quyết định
Một số ƣu điểm của cây quyết định:
-

Cây quyết định tự giải thích và khi đƣợc gắn kết lại, chúng có thể dễ dàng tự
sinh ra. Nói cách khác, nếu cây quyết định mà có số lƣợng nút lá vừa phải thì


×