Tải bản đầy đủ (.docx) (60 trang)

Kỹ thuật SVM trong nhận dạng phiếu điểm

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.07 MB, 60 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VŨ THỊ THU HUYỀN

KỸ THUẬT SVM
TRONG NHẬN DẠNG PHIẾU ĐIỂM
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: TS. Nguyễn Văn Vinh

Thái Nguyên – 2013


2

LỜI CAM ĐOAN
Tên tôi là: Vũ Thị Thu Huyền
Lớp: Cao học Công nghệ thông tin K10B
Khoá học: 2011 - 2013
Chuyên ngành: Khoa học máy tính
Mã số chuyên ngành: 60 48 01
Cơ sở đào tạo: Trường Đại học Công nghệ thông tin và Truyền thông Thái Nguyên
Giáo viên hướng dẫn: TS Nguyễn Văn Vinh
Cơ quan công tác: Trường Đại học Công nghệ Thông tin và Truyền thông Đại học Thái Nguyên
Tôi xin cam đoan toàn bộ nội dung được trình bày trong bản luận văn này là
kết quả tìm hiểu và nghiên cứu của riêng tôi, trong quá trình nghiên cứu luận văn
“Kỹ thuật SVM trong nhận dạng phiếu điểm” các kết quả và dữ liệu được nêu ra


là hoàn toàn trung thực. Mọi thông tin trích dẫn đều được tuân theo luật sở hữu trí
tuệ, có liệt kê rõ ràng các tài liệu tham khảo.
Tôi xin chịu hoàn toàn trách nhiệm với những nội dung được viết trong luận
văn này.
Thái Nguyên, ngày 18 tháng 09 năm 2013
HỌC VIÊN

Vũ Thị Thu Huyền

2


3

LỜI CẢM ƠN
Luận văn được thực hiện tại Trường Đại học Công nghệ Thông tin và Truyền
Thông - Đại học Thái Nguyên dưới sự hướng dẫn của thầy TS. Nguyễn Văn Vinh.
Trước hết em xin bày tỏ lòng biết ơn sâu sắc tới thầy TS. Nguyễn Văn Vinh,
trường Đại học Công nghệ - ĐH Quốc gia Hà Nội, người đã tận tình hướng dẫn
giúp đỡ để em hoàn thành tốt luận văn của mình.
Em xin gửi lời cảm ơn chân thành đến các thầy cô giáo Trường Đại học
Công nghệ Thông tin và Truyền Thông - Đại học Thái Nguyên, cùng các thầy cô
giáo đã nhiệt tình giảng dạy, truyền đạt kiến thức cho em trong suốt quá trình học
tập tại trường cũng như quá trình làm luận văn này.
Cuối cùng em xin gửi lời cảm ơn đến gia đình, bạn bè, các đồng nghiệp
những người đã động viên, giúp đỡ và tạo điều kiện cho em trong quá trình học tập
và hoàn thành luận văn.
Thái Nguyên, ngày 18 tháng 09 năm 2013
HỌC VIÊN


Vũ Thị Thu Huyền

3


4

MỤC LỤC

4


5

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

Ý nghĩa

NNSRM

Nearest Neighbor Rule-based Structural Risk Minimization

OVO
OVR
PCA
PLD
QP
RBF
SMO

SVM

One - versus - One
One - versus - Rest
Principal Component Analysis
Picture Language Description
Quadratic Programing
Radius Basic Function
Sequential Minimal Optimization
Support Vector Machine

5


6

DANH MỤC CÁC HÌNH VẼ

6


7

MỞ ĐẦU
Các phương pháp thống kê gần đây thường được đề cập tới trong các lĩnh
vực xử lý ngôn ngữ tự nhiên, thị giác máy, nhận dạng tiếng nói, … xem như là sự
chọn lựa có cải tiến đối với các phương pháp truyền thống bởi vì các phương pháp
này tận dụng được lượng dữ liệu khổng lồ ngày càng tăng lên và sức mạnh tính toán
của máy tính [10]. Các phương pháp học theo thống kê đặc biệt thích hợp với lĩnh
vực thị giác máy như nhận dạng và xác định đối tượng hiệu quả [13] . Một trong các

phương pháp đó là Máy hỗ trợ vector (Support Vector Machine - SVM).
SVM là một phương pháp máy học được giới thiệu từ năm 1995 và ngày
càng trở nên phổ biến trong việc ứng dụng vào các lĩnh vực như: xử lý ảnh, xử lý
ngôn ngữ, thị giác máy, … [10], [13]. SVM được xây dựng, mở rộng và phân tích
dựa trên lý thuyết một cách chặt chẽ. Ưu điểm chính của SVM so với các phương
pháp khác là cách giải quyết vấn đề mang tính toàn cục trong khi các phương pháp
khác có thể mang tính cục bộ. Tăng cường khả năng SVM bằng cách chọn một hàm
thích hợp là những hàm có khả năng học dữ liệu phức tạp và phân chia phi tuyến (ví
dụ hàm đa thức (Polynomial), hàm bán kính căn bản (RBF) và hàm Perceptron
(mạng nơron 2 lớp) thường được dùng như các hàm xấp xỉ) để phát triển thành công
cụ phân lớp.
Các bài toán nhận dạng được nghiên cứu nhiều hiện nay bao gồm nhận dạng
các mẫu hình học (vân tay, mặt người, hình khối,…), nhận dạng tiếng nói và nhận
dạng ký tự viết. Nhận dạng ký tự viết bao gồm hai kiểu chính là nhận dạng ký tự in
và nhận dạng ký tự viết tay. Cho đến nay bài toán nhận dạng ký tự in đã được giải
quyết khá trọn vẹn với sự ra đời của nhiều hệ thống nhận dạng đạt tới độ chính xác
gần như tuyệt đối. Nhận dạng ký tự viết tay hiện vẫn đang là vấn đề thách thức đối
với các nhà nghiên cứu, bài toàn này chưa thể giải quyết trọn vẹn được vì nó phụ
thuộc nhiều vào người viết và sự biến đổi đa dạng trong cách viết và trạng thái tinh
thần của từng người viết.
Hiện nay, có nhiều kỹ thuật học máy được ứng dụng cho bài toán nhận dạng
chữ viết tay và cho kết quả đầy triển vọng [11], [14]. Một trong các kỹ thuật đó là


8

kỹ thuật học máy SVM [5], [12]. Do đó chúng tôi chọn đề tài: “Kỹ thuật SVM
trong nhận dạng phiếu điểm”.
Tuy nhiên do hạn chế về mặt thời gian cũng như độ phức tạp của bài toán, do
đó tôi chỉ đi sâu nghiên cứu về kỹ thuật SVM và mô phỏng chương trình nhận dạng

phiếu điểm. Các phiếu điểm được sử dụng trong luận văn này là những mẫu phiếu
điểm đang được sử dụng tại trường Đại học Công nghệ Thông tin và Truyền thông,
Đại học Thái Nguyên.
Nội dung luận văn gồm:

Chương 1: Khái quát về nhận dạng và kỹ thuật SVM
Trình bày những lý thuyết cơ bản về nhận dạng, kỹ thuật SVM trong nhận
dạng: khái niệm về nhận dạng, các phương pháp nhận dạng. Các vấn đề và ứng dụng
của nhận dạng. Giới thiệu sơ lược về SVM, những ứng dụng trong thực tế của SVM.
Chương 2: Kỹ thuật SVM trong nhận dạng phiếu điểm
Giới thiệu về kỹ thuật SVM, thuật toán SVM. Đặc trưng của phiếu điểm, kỹ
thuật SVM trong nhận dạng phiếu điểm.

Chương 3: Thiết kế chương trình và kết quả thử nghiệm
Thiết kế chương trình minh họa kỹ thuật phân lớp với SVM, nhận dạng số
viết tay, phiếu điểm với SVM.
Kết luận và hướng phát triển
Trình bày các kết quả đã đạt được, hướng phát triển tiếp theo.
Do thời gian và trình độ còn hạn chế nên luận văn khó tránh khỏi những
thiếu sót, kính mong nhận được sự đóng góp, chỉ bảo của các thầy giáo, cô giáo và
các bạn đồng nghiệp.
Cuối cùng, tác giả xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS. Nguyễn Văn Vinh - Giảng viên Đại học Công nghệ, Đại học Quốc Gia Hà Nội
đã tận tình hướng dẫn, chỉ bảo, giúp đỡ, khích lệ tác giả trong suốt quá trình làm
luận văn. Đồng thời, tác giả xin chân thành cảm ơn các thầy cô trong trường Đại
học Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên đã tạo điều kiện
thuận lợi, giúp đỡ tác giả hoàn thành luận văn này.


9


CHƯƠNG 1
KHÁI QUÁT VỀ NHẬN DẠNG VÀ KỸ THUẬT SVM
1.1. Khái quát về nhận dạng
1.1.1. Khái niệm về nhận dạng [4]
Nhận dạng ảnh là quá trình phân loại các đối tượng được biểu diễn theo một
mô hình nào đó và gán cho chúng một tên gọi dựa theo những quy luật và mẫu
chuẩn. Quá trình nhận dạng dựa vào những mẫu học biết trước gọi là nhận dạng
mẫu. Quá trình nhận dạng gồm 3 giai đoạn chính:
- Chọn mô hình biểu diễn đối tượng.
- Chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn.
- Học trong nhận dạng.
Trong việc lựa chọn để biểu diễn đối tượng, đối tượng có thể được xác định
theo cách định lượng (mô hình tham số) hay định tính (mô hình cấu trúc). Khi đối
tượng đã được xác định, quá trình nhận dạng chuyển sang giai đoạn thứ hai giai đoạn học (Learning). Học là giai đoạn cung cấp tri thức cho hệ thống. Mục
đích học nhằm cải thiện, điều chỉnh việc phân loại tập đối tượng thành các lớp.
Nhận dạng là tìm ra quy luật và các thuật toán để có thể gắn đối tượng vào một lớp
hay nói một cách khác gán cho đối tượng một tên.
Học theo mẫu: Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học theo
mẫu. Đặc điểm cơ bản của kỹ thuật này là ta có một thư viện các mẫu chuẩn. Mẫu
cần nhận dạng sẽ được đem so sánh với mẫu chuẩn để xem nó thuộc loại nào. Vấn
đề chủ yếu là thiết kế một hệ thống để có thể đối sánh đối tượng trong ảnh với mẫu
chuẩn và quyết định gán cho chúng vào một lớp. Việc đối sánh nhờ vào các thủ tục
ra quyết định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết định [2].
Học không có mẫu: Kỹ thuật này phải tự định ra các lớp khác nhau và xác
định các tham số đặc trưng cho từng lớp. Học không có mẫu gặp khó khăn hơn so
với học theo mẫu. Một mặt, do số lớp không được biết trước, mặt khác những đặc
trưng của lớp cũng không được biết trước. Kỹ thuật này nhằm tiến hành mọi cách


10


gộp nhóm có thể và chọn lựa cách tốt nhất. Bắt đầu từ tập dữ liệu, nhiều thủ tục xử
lý khác nhau nhằm phân lớp và nâng cấp dần để đạt được một phương án phân loại.
Lĩnh vực nhận dạng chữ được chia làm hai loại: Nhận dạng chữ in và nhận
dạng chữ viết tay. Đến thời điểm này, nhận dạng chữ in đã được giải quyết gần như
trọn vẹn. Tuy nhiên, nhận dạng chữ viết tay vẫn đang là vấn đề thách thức lớn đối với
các nhà nghiên cứu. Nhận dạng chữ viết tay được phân ra làm hai loại: nhận dạng
chữ viết tay online (trực tuyến) và nhận dạng chữ viết tay offline (ngoại tuyến) [5].
Nhận dạng chữ viết tay online được thực hiện trên cơ sở lưu lại các thông tin
về nét chữ như thứ tự nét viết, hướng và tốc độ của nét viết trong quá trình nó đang
viết. Đây chính là cơ sở để máy tính nhận diện được các chữ cái, do đó việc nhận
dạng không gặp quá nhiều khó khăn. Ngược lại, đối với nhận dạng chữ viết tay
offline, dữ liệu đầu vào là ảnh văn bản được quét vào nên việc nhận dạng có độ khó
cao hơn nhiều so với nhận dạng chữ viết tay online. Do dữ liệu đầu vào là ảnh văn
bản nên nhận dạng chữ viết tay offline và nhận dạng chữ in còn được gọi chung là
nhận dạng chữ quang học (OCR - Optical Character Recognition).
Một hệ thống nhận dạng có thể tóm tắt theo sơ đồ sau:

Hình 1.1. Sơ đồ tổng quát hệ thống nhận dạng ảnh
1.1.2. Một số kỹ thuật nhận dạng
1.1.2.1 Nhận dạng dựa theo miền không gian [4], [14]
Trong kỹ thuật này, các đối tượng nhận dạng là các đối tượng định lượng.
Mỗi đối tượng được biểu diễn bởi một vectơ nhiều chiều.
Phân hoạch không gian


11

Giả sử không gian đối tượng X được định nghĩa:


X = {X i , i = 1, 2...m}

, với Xi

là một vectơ. Người ta nói D là một phân hoạch của không gian X thành các lớp C i,
Ci , Ci ⊂ X

nếu:
Ci ∩ C j = Φ

với i ≠ j và ∪Ci = X

Đây là trường hợp lý tưởng khi tập X tách được hoàn toàn. Trong thực tế,
thường gặp không gian biểu diễn tách được từng phần. Như vậy, phân loại là dựa
vào việc xây dựng một ánh xạ f: X → D . Công cụ xây dựng ánh xạ này là các hàm
phân biệt (Descriminant Functions).
Để chia đối tượng thành các lớp, cần xác định số lớp và ranh giới giữa các
lớp đó. Gọi {g i} là các hàm phân lớp hay hàm tách biệt. Lớp hàm này được định
nghĩa như sau:
Nếu " i ¹ k , g k(X>) g i (X) thì ta quyết định X Î lớp k.
Như vậy để phân biệt lớp k lớp ta cần k-1 hàm phân biệt. Hàm phân biệt g(.)
củamột lớp nào đó thường được dùng trong thực tế do tính đơn giản, dễ xử lý là
hàm tuyến tính. Hàm tuyến tính có dạng:
g ( X ) = W0 + W1 X 1 + W2 X 2 + ... + Wk X k

Trong đó:
Wi

là trọng số gán cho các thành phần Xi;


W0 là trọng số hằng.
Trong trường hợp hàm g(.) là tuyến tính, người ta nói việc phân lớp là tuyến
tính (trong trường hợp một hay hai chiều) hay siêu phẳng (trong trường hợp nhiều
chiều). Các hàm phân biệt thường được xây dựng dựa trên khái niệm khoảng cách
hay dựa vào xác suất có điều kiện.
Phân lớp dựa theo khoảng cách (Distance) là một công cụ tốt để xác định
đối tượng có “gần nhau” về một đặc trưng nào đó hay không. Nếu khoảng cách nhỏ
hơn một ngưỡng τ nào đấy thì ta coi hai đối tượng là giống nhau. Nếu chúng giống


12

nhau ta gộp chung lại, nếu chúng khác nhau thì ta tách thành hai hoặc nhiều lớp
phân biệt.
Phân lớp dựa theo xác suất có điều kiện (Conditional Probability). Trong
một số trường hợp, người ta dựa vào xác suất có điều kiện để phân lớp cho đối
tượng. Lý thuyết xác suất có điều kiện được Bayes nghiên cứu khá kỹ lưỡng và
được dùng để phân biệt đối tượng.
1.1.2.2. Nhận dạng theo phương pháp thống kê [4]
Giả sử các đối đối tượng nhận dạng tuân theo luật phân bố Gauss, với hàm
mật độ xác suất:
1
( x − m) 2
f ( x) =
exp
2πδ 2
2πδ 2

Trong đó m là kỳ vọng, δ là độ lệch chuẩn.
Người ta có dùng phương pháp ra quyết định dựa vào lý thuyết Bayes. Lý

thuyết Bayes thuộc loại lý thuyết thống kê nên phương pháp nhận dạng dựa trên lý
thuyết Bayes có tên là phương pháp thống kê.
Quy tắc Bayes:
Cho không gian đối tượng X={X l, l=1,2,…L},không gian diễn dịch
Ω={C1,C2,…Cr} với r là số lớp.
Giả sử tồn tại một sai số ε trong kết quả nhận dạng, khi đó quy tắc Bayes
được phát biểu:

ε : X → Ω sao cho X ∈ Ck nếu P(Ck / X ) > P(Cl / X ) ∀l <> k , l = 1, 2,..., r.
ở đây: P(Ck / X ) là xác suất của Ck trong điều kiện X xảy ra. Tương tự đối với
P(Cl / X )

.

Trường hợp lý tưởng là nhận dạng đúng (không có sai số). Thực tế, luôn tồn
tại sai số ε trong quá trình nhận dạng. Vấn đề chính ở đây là xây dựng quy tắc nhận
dạng với sai số ε là nhỏ nhất.
Phương pháp ra quyết định với ε tối thiểu:


13

Cần xác định X ∈ Ck nhờ xác suất P(Ck / X ) . Nếu có sai số sẽ được tính bởi
1 − P(Ck / X )

. Để đánh giá sai số trung bình, người ta xây dựng một ma trận L(r , r )

với giả thiết có n lớp.
Ma trận L được định nghĩa như sau:
ìï l > 0 khi k ¹ j

Lk,i = ïí k,i
ïï lk,j £ 0 khi k = j
î

Như vậy, sai số trung bình của sự phân lớp sẽ là:
r

rk ( X ) = ∑ lk , j P ( C j / X )
j =1

(1.1)

Để sai số là nhỏ nhất ta cần có rklà nhỏ nhất (min). Từ lý thuyết xác suất ta có
công thức tính xác suất có điều kiện (Công thức Bayes):
P (C j / X ) =

P (X / C j )P (C j )
P (X )

(1.2)

r

rk ( X ) = å lk,j P ( X / C j )P (C j )
j =1

Từ công thức (1.1) và (1.2) suy ra:

(1.3)
Vậy, quy tắc ra quyết định dựa trên lý thuyết Bayes có tính đến sai số được

phát biểu như sau:
X Î Ck

nếu pkk, p=1,2,..r

Với pklà rk(X) được xác định theo (1.3). Rõ ràng, từ điều kiện pk,toàn xác định đối tương X thuộc lớp Ck nào. Đây chính là nội dung tư tưởng của
phương pháp thống kê.
1.1.2.3. Nhận dạng dựa vào khoảng cách [4]
a. Nguyên tắc
Giả sử có tập gồm m đối tượng. Xác định khoảng cách giữa các đối tượng và
khoảng cách lớn nhất ứng với phần tử xa nhất tạo nên lớp đối tượng mới. Việc phân


14

lớp được tạo nên dần dần dựa vào thủ tục xác định khoảng cách giữa các đối tượng
và các lớp.
b. Thuật toán
Bước 1:
Chọn hạt nhân ban đầu. Giả sử X1C1 gọilà lớp g1
Gọi Z1 là phần tử trung tâm của g1
Tính tất cả các khoảng cách Dj1=D(Xj,Z1) với j=1,2,..m
Tìm Dk1=maxjDjk trong đó Xk là phần tử xa nhất của nhóm g1.
Như vậy, Xk là phần tử trung tâm của lớp mới g2. Kí hiệu Z2.
Tính d1=D12=D(Z1,Z2).
Bước 2:
Tính khoảng cách Dj1, Dj2 với
Dj1=D(Xj,Z1); Dj2=D(Xj,X2). Đặt Dk(2)=maxj Dj
Nguyên tắc chọn:

Nếu Dk(2)<Өdk, với Ө là ngưỡng cho trước.
Kết thúc thuật toán. Việc phân lớp kết thúc;
Nếu không, tạo nhóm thứ ba. Gọi X3 là phần tử trung tâm của g3, ký hiệu Z3;
Tính D3=(D12+D13+D23);
D13=D(Z1,Z3);
D23=D(Z2,Z3).
Quá trình lặp lại cho đến khi phân xong.
Kết quả thu được các lớp đại diện Z1,Z2,..,Zm
1.1.2.3. Nhận dạng dựa theo cấu trúc [4]
Biểu diễn định tính: Ngoài cách biểu diễn định lượng (theo tham số) như đã
mô tả ở trên, tồn tại nhiều kiểu đối tượng mạng tính định tính (theo cấu trúc). Trong
cách biểu diễn này, người ta quan tâm đến các dạng và mối quan hệ giữa chúng. Giả
thiết rằng, mỗi đối tượng được biểu diễn bởi một dãy ký tự, các đặc tính biểu diễn
bởi cùng một số ký tự. Phương pháp nhận dạng ở đây là nhận dạng logic, dựa vào
hàm phân biệt là hàm Bool. Cách nhận dạng là nhận dạng các từ có cùng độ dài.


15

Giả sử hàm phân biệt cho mọi ký hiệu là ga(X), gb(X),… tương ứng với các ký hiệu
a, b, … Để dễ dàng hình dung, ta giả sử có từ 'abcd' được biểu diễn bởi một dãy ký
tự X={x1, x2, x3, x4}, khi đó hàm phân biệt tương ứng nhận được là:
g a(x1)+ g b(x2) + g c(x3) + gd(x4)
Các phép cộng ở đây có thể áp dụng toán tử OR trên cơ sở tính giá trị cực đại
của hàm phân biệt, xác định (quyết định) X có thuộc lớp các từ "abcd" hay không.
Trong cách tiếp cận này, đối tượng của ta có thể xem là tương đương với một câu
hay một mệnh đề.
Thủ tục phân loại và nhận dạng ở đây gồm hai giai đoạn:
Giai đoạn 1: Xác định các quy tắc xây dựng, tương đương với việc nghiên
cứu một văn phạm trong một ngôn ngữ chính thống.

Giai đoạn 2: Xem xét tập các dạng trong không gian mẫu có được sinh ra hoàn
toàn từ các dạng cơ bản đó không. Nếu nó thuộc tập đó thì coi như đã phân loại xong.
Tuy nhiên, ở phương pháp này, văn phạm là một vấn đề lớn khá phức tạp và
khó có thể tìm được loại phù hợp một cách hoàn hảo với mọi đối tượng. Vì vậy,
trong nhận dạng dựa theo cấu trúc, ta chỉ sử dụng được một phần rất nhỏ.
Như đã trình bày trong phần các mô hình biểu diễn mẫu. Mô hình cấu trúc
tương đương với một văn phạm G: G={V1, Vn, P, S}. Ngoài ra còn có rất nhiều văn
phạm khác nhau từ chính tắc đến phi ngữ cảnh. Một văn phạm sẽ được sử dụng
trong nhận dạng bởi một ngôn ngữ hình thức, trong đó có một ngôn ngữ điển
hình cho nhận dạng cấu trúc là PLD (Picture Language Description).
Trong ngôn ngữ PLD, các từ vựng là các vạch có hướng. Có bốn từ vựng cơ bản:

Hình 1.2. Các từ vựng cơ bản của ngôn ngữ hình thức PLD
Các phép toán cho các từ vựng trên được định nghĩa như sau:


16

Hình 1.3. Các phép toán trong ngôn ngữ LCD
Văn phạm sinh ra các mô tả trong ngôn ngữ PLD được định nghĩa như sau:
GA = {Vn, VT, P, S}
Với Vn = {A, B, C, D, E} và VT = {a, b, c , d}. S là ký hiệu bắt đầu và P là
tập luật sản xuất.
Các bước nhận dạng
Các đối tượng cần được nhận dạng theo phương pháp này được biểu diễn bởi
một câu trong ngôn ngữ, gọi là L(G). Khi đó thao tác phân lớp chính là xem xét một
đối tượng có thuộc văn phạm L(G) không. Nói cách khác, nó có được sinh ra bởi
các luật của văn phạm G hay không.
Như vậy các bước cần phải thực hiện là:
• Xác định tập V1 chung cho tất cả mọi đối tượng

• Xác định các quy tắc P để sản sinh ra một câu và chúng khác nhau đối với mỗi lớp.
• Thực hiện quá trình học với các câu biểu diễn các đối tượng mẫu l nhằm xác định
văn phạm G.
• Ra quyết định: xác định một đối tượng X được biểu diễn bởi một câu lx.
Nếu lx nhận biết bởi L(Gk) thì ta nói rằng X là một đối tượng thuộc loại Ck.
Nói cách khác, việc ra quyết định phân lớp dựa vào phân tích câu Gk
biểu diễn lớp Ck.
1.1.3. Kết hợp các kỹ thuật nhận dạng
Các phần đã trình bày ở trên cho thấy rằng có nhiều phương pháp nhận dạng
lớp có thể áp dụng đối với các hệ nhận dạng chữ viết tay. Mỗi phương pháp trên
đều


17

có những ưu điểm và nhược điểm riêng. Vấn đề đặt ra là các phương pháp trên caó
thể kết hợp với nhau theo một cách nào đó để nâng cao chất lượng nhận dạng hay
không ? Nhiều công trình nghiên cứu kiến trúc phân lớp theo ý tưởng kết hợp các
phương pháp nhận dạng đã nêu trên. Các hướng tiếp cận kiến trúc kết hợp để phân
lớp có thể chia thành ba nhóm sau: Kiến trúc tuần tự, kiến trúc song song và kiến
trúc lai ghép.
1.1.3.1. Kiến trúc tuần tự
Kiến trúc này chuyển kết quả đầu ra của một máy phân lớp thành đầu vào của
máy phân lớp tiếp theo. Có bốn chiến lược cơ bản được sử dụng trong kiến trúc
tuần tự, đó là dãy, chọn lựa boosting và thác nước.
Trong chiến lược về dãy, mục tiêu của mỗi giai đoạn là thu gọn số lớp mà
mẫu đầu vào có thể thuộc về các lớp đó. Số lớp có thể thu gọn tại mỗi giai đoạn
sinh ra nhãn của mẫu ở giai đoạn cuối cùng. Trong chiến lược chọn lựa, đầu tiên
máy phân lớp gán mẫu chưa biết vào một nhóm ký tự gần giống nhau. Các nhóm
này tiếp tục được phân lớp ở các giai đoạn sau đó theo một cây phân cấp. Tại mỗi

mức của cây, nhánh con cùng mẹ là giống nhau theo một độ đo nào đó. Vì vậy, các
máy phân lớp thực hiện phân lớp từ thô đến tinh dần trong các nhóm nhỏ. Đối với
chiến lược boosting, mỗi máy phân lớp điều khiển một số lớp, các máy phân lớp ở
phía trước không thể điều khiển được các lớp của các máy phân lớp ở phía sau.Cuối
cùng, trong chiến lược thác nước, các máy phân lớp được kết nối từ đơngiản đến
phức tạp. Các mẫu không thỏa mãn ở một mức độ tin cậy nào đó thì phải thông qua
một máy phân lớp mạnh hơn trong một giới hạn nào đó của các đặc trưng
hoặc các chiến lược nhận dạng khác.
1.1.3.2. Kiến trúc song song
Kiến trúc này kết nối kết quả của các thuật toán phân lớp độc lập bằng cách
sử dụng nhiều phương pháp khác nhau. Trong số các kiến trúc này, tiêu biểu nhất là
phương pháp bỏ phiếu và luật quyết định Bayes.
1.1.3.3. Kiến trúc lai ghép


18

Kiến trúc này là một sự lai ghép giữa hai kiến trúc tuần tự và song
song. Ý tưởng chính là kết hợp các điểm mạnh của cả hai kiến trúc trên và chặn bớt
những khó khăn trong việc nhận dạng chữ viết. Sau đây là một vài ví dụ điển
hình về các hướng kết hợp các kỹ thuật nhận dạng:
Theo Yuan Y. Tang (1998), một hướng tiếp cận dãy trên cơ sở phân lớp đa
đặc trưng và đa mức được phát triển cho chữ viết tay Trung Quốc. Hệ thống này sử
dụng mười lớp đặc trưng như các đặc trưng về hình dáng bên ngoài, các đặc trưng
về mật độ nét bút và các đặc trưng về hướng nét bút. Đầu tiên, một nhóm các máy
phân lớp phân chia toàn bộ các ký tự thành một số nhóm nhỏ hơn, vì vậy số lượng
mẫu cần xử lý trong mỗi bước tiếp theo giảm đi đáng kể. Sau đó, phương pháp phân
lớp ký tự đa mức được đề xuất với năm mức phục vụ cho quyết định phân lớp cuối
cùng. Trong mức thứ nhất, một phân bố Gausse được lựa chọn để sử dụng cho việc
lựa chọn một số mẫu nhỏ hơn từ một vài nhóm. Từ mức thứ hai đến mức thứ năm,

các hướng tiếp cận đối sánh được sử dụng với các đặc trưng khác nhau để nhận dạng.
Srihari (1989) và các cộng sự đã đề xuất một hướng tiếp cận song song cho
việc nhận dạng bản thảo viết tay ở mức từ, họ kết hợp ba thuật toán: đối sánh mẫu,
phân lớp cấu trúc và phân lớp hỗn hợp giữa thống kê - cấu trúc. Các kết quả nhận
được từ ba thuật toán trên được kết nối lại theo một trình tự thích hợp. Kết quả cho
thấy tốc độ nhận dạng tăng lên đáng kể.
1.1.4. Một số khó khăn trong nhận dạng
- Sự che khuất: Ảnh có thể bị chèn bởi ảnh khác, hoặc bị cắt một phần ảnh
- Hướng của ảnh: Ảnh có thể bị xoay chiều, không đúng so với chiều gốc do
quá trình chụp, scan.
- Điều kiện chụp, scan ảnh: Ảnh được chụp, scan trong các điều kiện khác
nhau về ánh sáng, tính chất của máy scan nên ảnh hưởng nhiều đến chất lượng ảnh.
Khó khăn khi nghiên cứu bài toán nhận dạng chữ viết tay là sự biến thiên đa
dạng trong cách viết của từng người. Cùng một người viết nhưng đôi khi cũng có
nhiều sự khác biệt trong cách viết tuỳ thuộc vào từng ngữ cảnh, kiểu viết của một


19

người cũng có thể thay đổi theo thời gian hoặc theo thói quen. Điều này gây ra nhiều
trở ngại trong việc trích chọn đặc trưng cũng như lựa chọn mô hình nhận dạng.
1.2. Kỹ thuật SVM trong nhận dạng
1.2.1. Kỹ thuật SVM
Support Vector Machine (SVM) là một phuơng pháp phân lớp dựa trên lý
thuyết học thống kê, được đề xuất bởi Vapnik (1995) [5], [6]. Ý tưởng chính của
thuật toán này là cho trước một tập huấn luyện được biểu diễn trong không gian
vector trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một mặt phẳng
quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt
tương ứng lớp + và lớp -. Chất lượng của siêu mặt phẳng này được quyết định bởi
khoảng cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng

này. Khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt đồng thời việc
phân loại càng chính xác. Mục đích thuật toán SVM tìm ra được khoảng cách biên
lớn nhất để tạo kết quả phân lớp tốt [6].
SVM sử dụng thuật toán học nhằm xây dựng một siêu phẳng làm cực tiểu
hoá độ phân lớp sai của một đối tượng dữ liệu mới. Độ phân lớp sai của một siêu
phẳng được đặc trưng bởi khoảng cách bé nhất tới siêu phẳng đấy. SVM có khả
năng rất lớn cho các ứng dụng được thành công trong bài toán phân lớp văn bản.
Phân lớp văn bản là một cách tiếp cận mới để tạo ra tập phân lớp văn bản từ các
mẫu cho trước. Cách tiếp cận này phối hợp với sự thực thi ở mức độ cao và hiệu
suất cùng với những am hiểu về mặt lý thuyết, tính chất thô ngày càng được hoàn
thiện. Thông thường, hiệu quả ở mức độ cao không có các thành phần suy nghiệm.
Phương pháp SVM có khả năng tính toán sẵn sàng và phân lớp, nó trở thành lý
thuyết học mà có thể chỉ dẫn những ứng dụng thực tế. Đặc trưng cơ bản quyết định
khả năng phân lớp là khả năng phân lớp những dữ liệu mới dựa vào những tri thức
đã tích luỹ được trong quá trình huấn luyện. Sau quá trình huấn luyện nếu hiệu suất
tổng quát hoá của bộ phân lớp cao thì thuật toán huấn luyện được đánh giá là tốt.
Hiệu suất tổng quát hoá phụ thuộc vào hai tham số là sai số huấn luyện hay và năng


20

lực của máy học. Trong đó sai số huấn luyên là tỷ lệ lỗi phân lớp trên tập dữ liệu
huấn luyện. Còn năng lực của máy học được xác định bằng kích thước Vapnik Chervonenkis (kích thước VC) [7], [8]. Kích thước VC là một khái niệm quan trọng
đối với một họ hàm phân tách (hay là tập phân lớp). Đại lượng này được xác định
bằng số điểm cực đại mà họ hàm có thể phân tách hoàn toàn trong không gian đối
tượng. Một tập phân lớp tốt là tập phân lớp đơn giản nhất và đảm bảo sai số huấn
luyện nhỏ. Phương pháp SVM được xây dựng trên ý tưởng này.
1.2.2. Một số ứng dụng của SVM
1.2.2.1. Chẩn đoán Virus máy tính
Ngày nay, cùng với sự phổ biến của mạng Internet, virus máy tính đã trở

thành một vấn đề cấp bách. Các hoạt động lây nhiễm, phá hoại, đánh cắp dữ liệu
của virus máy tính ngày càng lan rộng và phổ biến, ảnh hưởng trực tiếp đến vấn đề
an ninh mạng và an toàn dự liệu cho nhiều hệ thống công nghệ thông tin trên quy
mô toàn cầu. Trước tình hình đó, các hệ chống virus (thường gọi là anti-virus - AV)
cần cải tiến phương pháp và công nghệ nhằm đạt mục tiêu: chủ động, nhanh chóng,
hiệu quả và an toàn.
Chẩn đoán virus máy tính là một quá trình xử lý phức tạp thực hiện qua
nhiều giai đoạn. Có rất nhiều loại virus máy tính. Mỗi loại có phương pháp, hành vi
lây nhiễm trên nhiều đối tượng khác nhau. Do tính liên tục của quy trình chẩn đoán,
độ chính xác của bài toán phụ thuộc vào kết quả xử lý từng giai đoạn và đặc điểm
xử lý, mỗi giai đoạn có thể áp dụng nhiều tiếp cận, giải pháp khác nhau. Để gia tăng
tốc độ chẩn đoán cũng như đảm bảo độ chính xác cao, chúng ta có thể thực hiện
phương pháp NNSRM (Nearest Neighbor Rule-based Structural Risk Minimization
- Cực tiểu rủi ro cấu trúc dựa vào luật láng giềng gần nhất) [3] sử dụng hàm đa thức
cho giai đoạn nhận dạng đối tượng.
Cho trước tập các đối tượng chẩn đoán {x 1, x2, x3,…,xn} là các vectơ trong
không gian X. Mục tiêu của giai đoạn nhận dạng đối tượng là phân tích các đặc
trưng giống nhau giữa các xi để phân chúng vào lớp 1- Có thể nhiễm lớp virus V
hoặc Lớp 2- Không nhiễm lớp virus V. Ý tưởng ứng dụng kỹ thuật phân lớp này dựa


21

vào tính chất miễn nhiễm của một số đối tượng đặc biệt, nhằm thỏa mãn yêu cầu
giảm số lượng các điểm mô tả dữ liệu khi hoạt động trên các tập dữ liệu lớn. Để đạt
được quy luật phân lớp tổng quát, chúng ta thực hiện giải thuật NNSRM trên không
gian chuẩn đoán với giá trị tối thiểu của sai số thực nghiệm Remp(fs) → 0.
Vai trò của SVM trong giải quyết bài toán
Với các hàm đa thức bậc cao hơn nếu tăng số chiều của không gian chuyển
đổi thì sẽ làm mất tính tổng quát. Tuy nhiên hàm phân lớp SVM thực thi tốt hơn với

dữ liệu tổng hợp có các hàm đa thức bậc cao (số chiều dữ liệu tăng) trong khi công
cụ phân lớp NNSRM [6] giảm đi mức độ chính xác (dù với số lượng nhỏ) do bản
chất xấp xỉ của giải pháp NNSRM.
Với phương pháp SVM, sự thực thi bắt đầu giảm sút khi số bậc cao mở rộng
và còn phụ thuộc vào việc chọn các tham số hợp lý để đảm bảo thu được kết quả.
1.2.2.2. Phân loại email [6]
Lọc thư rác
Sự phát triển của các dịnh vụ thông tin trên Internet và nhu cầu trao đổi
thông tin làm cho các hệ thống thư điện tử phát triển mạnh. Song song với sự phát
triển đó, nạn thư rác ngày càng gây nhiều thiệt hại cho cộng đồng người sử dụng
như: làm hao phí tài nguyên của mạng máy tính, làm mất thời gian của người dùng
và thậm trí có thể phát tán những thông tin văn hóa độc hại. Vì vậy, việc xây dựng
các giải pháp tự động lọc và chống thứ rác dựa trên các phương pháp phân loại văn
bản, tức là gán văn bản vào một hoặc một số nhóm văn bản đã được biết trước.
Đối với bài toán lọc thư rác, đầu vào là các bức thư điện tử được gửi trên
mạng Internet. Thông thường, có hai nhóm văn bản là thư rác (Spam mail) và thư
sạch. Việc xác định nhóm thư rác thường không có một định nghĩa chính xác, nó
thay đổi theo từng đối tượng và hoàn cảnh. Theo định nghĩa thông thường, đó là các
thư có nội dung văn hóa độc hại, quảng cáo được phát tán với số lượng lớn, các thư
tuyên truyền với mục đích xấu,… Vì vậy, một hệ thống phân loại tự động có khả
năng học để thích nghi là cần thiết cho các hệ thống thư điện tử. Phương pháp dùng


22

SVM khá hiệu quả trong việc phân loại thư rác, vì về bản chất nó vẫn là phương
pháp sử dụng thống kê nên có những ưu điểm nhất định.
Ta biểu diễn các thư nhận được dưới dạng các vector. Giả sử ta có một tập
thuật ngữ T= {t1, t2,…tn} mỗi văn bản di được biểu diễn bởi một vectơ x i= {wi1,
wi2,...win} trong không gian vectơ, trong đó w ij là trọng số của thuật ngữ trong văn

bản. Tọa độ của mỗi vectơ tương ứng với tọa độ của một điểm dữ liệu trong không
gian n chiều Rn. Khi đó bài toán đặt ra là kiểm tra xem một văn bản có thuộc hay
không thuộc vào một nhóm cho trước: Những văn bản nào thuộc nhóm đang xét thì
được gán nhãn 1 (gọi là những điểm dữ liệu dương), ngược lại thì gán nhãn -1 (gọi
là những điểm dữ liệu âm).
Dữ liệu huấn luyện của SVM là tập các văn bản đã được gán nhãn trước:
Tr = {(x1, y1), (x2, y2),…, (xm,ym)}
Trong đó xi là vectơ dữ liệu biểu diễn văn bản di với xi Î Rn và yi Î {-1,1}. Cặp
(xi, yi) được hiểu là vectơ xi (hay văn bản di) được gán nhãn là yi. Từ đó, ứng dụng
phương pháp SVM để tìm một siêu phẳng f(x) “tốt nhất” trong không gian n-chiều
nhằm phân chia dữ liệu sao cho tất cả các điểm dữ liệu x “dương” được gán nhãn 1
thuộc về phía dương của siêu phẳng (f(x)>0), còn các điểm x “âm” được gán nhãn
-1 thuộc về phía âm của siêu phẳng (f(x)<0). Một siêu phẳng phân chia dữ liệu được
gọi là “tốt nhất”nếu khoảng cách từ điểm dữ liệu gần nhất đến siêu phẳng là lớn
nhất. Khi đó, việc xác định một tài liệu x Î Tr có thuộc phân loại l hay không tương
ứng với việc xét dấu của f(x): nếu f(x)>0 thì x Î l , nếu ngược lại thì x Ï l .
So sánh với cách tiếp cận khác dùng để phân lớp và lọc thư rác thì việc sử
dụng phương pháp SVM có những tiện ích, phù hợp với yêu cầu của người dùng. Ở
đây, tiêu chuẩn phân loại có thể được học từ các ví dụ mẫu học riêng của từng
người dùng, vì thế mỗi người hay mỗi đơn vị có thể tạo được cách lọc thư rác riêng
của mình. Đồng thời sự mềm dẻo của nó cũng giúp dễ dàng cho việc điều chỉnh
tương thích với sự xuất hiện của các loại thư rác mới. Trong khi các công cụ khác
có thể phải tốn nhiều công sức khi phát triển các luật mới, thì sử dụng SVM chỉ cần


23

học lại trên tập mẫu mở rộng (chứa mẫu thư rác cũ và mới), nó sẽ tự động phát triển
tiêu chuẩn lọc thích hợp với tình huống mới.
1.2.2.3. Nhận dạng mặt người

Nhận dạng mặt người có những ứng dụng vô cùng to lớn trong các hệ thống
an ninh, nhân dạng phạm nhân, thẩm định thẻ tín dụng,…Cũng đã có nhiều nghiên
cứu thực hiện nhận dạng mặt người bằng các phương pháp khác nhau như: mạng
nơron nhân tạo, mô hình Makov ẩn, PCA, Eigenface,…Mỗi phương pháp đó cũng
có những ưu và nhược điểm riêng.
Một số nghiên cứu gần đây cho thấy: Có thể áp dụng mô hình phân lớp SVM
để giải quyết bài toán nhận dạng mặt người với việc lựa chọn sử dụng hàm hạt nhân
RBF (Radial basis function):

æ
ç
x- y ÷
÷
ç
÷
K (x, y) = expç
÷
ç
2
ç 2s ÷
÷
÷
ç
è
ø

Trong đó, SVM ban đầu được thiết kế để phân lớp nhị phân. Mục tiêu của
khảo sát phân hai lớp là tìm ra các giá trị hệ số đặc trưng của hệ thống nhận dạng
mặt người, các hệ số này sẽ được sử dụng để đánh giá hiệu năng của hệ thống trong
trường hợp phân đa lớp.

Ở đây số lượng mẫu huấn luyện đóng vai trò quan trọng trong vấn đề tổng
quát hóa và hiệu năng của SVM.
1.2.2.4. Nhận dạng chữ viết tay [3]
Cho đến nay, việc nhận dạng chữ viết tay vẫn chưa có được một giải pháp
tổng thể, các ứng dụng của nó cũng chỉ giới hạn trong phạm vi hẹp. Các kết quả chủ
yếu về lĩnh vực này chỉ tập trung trên các tập dữ liệu chữ số viết tay chuẩn như
USPS và MNIST, bên cạnh đó cũng có một số công trình nghiên cứu trên các hệ
chữ cái tiếng La tinh, Hy Lạp, Trung Quốc, Việt Nam... tuy nhiên các kết quả đạt
được cũng còn nhiều hạn chế.
Các giải pháp tiếp cận để giải bài toán nhận dạng chữ viết tay khá phong
phú, một số phương pháp học máy thường được áp dụng như: mô hình Markov ẩn,


24

mạng nơron hay phương pháp SVM. Trong đó SVM được đánh giá là phương pháp
học máy tiên tiến đang được áp dụng rộng rãi trong các lĩnh khai phá dữ liệu và thị
giác máy tính…
Công việc được thực hiện theo hai bước chính sau đây:
Bước 1: Xây dựng mô hình huấn luyện.
Tập dữ liệu huấn luyện sau khi qua các khâu tiền xử lý và trích chọn đặc
trưng sẽ được đưa vào máy huấn luyện phân lớp SVM. Sau khi kết thúc quá trình
huấn luyện, hệ thống sẽ lưu lại giá trị các tham số của hàm quyết định phân lớp để
phục vụ cho việc nhận dạng sau này. Quá trình huấn luyện tiêu tốn khá nhiều thời
gian, tốc độ huấn luyện nhanh hay chậm tùy thuộc vào từng thuật toán huấn luyện,
chiến lược phân lớp SVM cũng như số lượng mẫu tham gia huấn luyện.
Bước 2: Phân lớp nhận dạng.
Dựa vào giá trị các tham số của hàm quyết định thu được ở Bước 1, một mẫu
mới x sau khi đã qua các khâu tiền xử lý và trích chọn đặc trưng sẽ được đưa vào
tính toán thông qua hàm quyết định để xác định lớp của mẫu x (Hình 2.1).


Hình 1.4. Mô hình nhận dạng chữ viết tay rời rạc
Tiền xử lý
Sau khi đã khử nhiễu, ảnh được chuẩn hóa về kích thước chuẩn 16x16. Việc
chuẩn hóa kích thước ảnh được thực hiện theo các bước sau:


25

Bước 1: Nhị phân hóa ảnh.
Bước 2: Tìm hình chữ nhật R bé nhất chứa các điểm đen trên ảnh.
Bước 3: Lấy vùng ảnh I nằm trong hình chữ nhật R.
Bước 4: Chuẩn hóa ảnh I về kích thước chuẩn 16x16.
Trích chọn đặc trưng
Ảnh ký tự sau khi đã chuẩn hóa về kích thước chuẩn sẽ được chia thành
NxN vùng. Tổng số điểm đen của mỗi vùng sẽ được chọn để tạo thành các vectơ
đặc trưng.

Hình 1.5. Trích chọn đặc trưng trọng số vùng
Với khả năng vượt trội của SVM về tính hiệu quả, độ chính xác, khả năng xử
lý các bộ dữ liệu một cách linh hoạt, việc sử dụng SVM là một trong những sự lựa
chọn tối ưu trong việc giải quyết các bài toán nhận dạng, phân loại.
1.3. Kết luận
Chương này đã giới thiệu một cách tổng quan về lĩnh vực nhận dạng, nhận
dạng chữ viết tay và sơ lược về SVM. Cho đến nay các kết quả nghiên cứu nhận
dạng chữ viết tay vẫn còn hạn chế, các ứng dụng chủ yếu chỉ tập trung ở một số lĩnh
vực hẹp. Các kết quả liên quan đến nhận dạng chữ viết tay tiếng Việt hiện nay vẫn
còn hạn chế.
Có nhiều kỹ thuật tiên tiến đang được áp dụng cho bài toán nhận dạng chữ
viết tay như HMM, mạng nơron, k-láng giềng gần nhất, luật quyết định Bayes,

SVM... Trong số các kỹ thuật này thì SVM được đánh giá là phương pháp có độ
chính xác phân lớp cao và phương pháp luận của nó được xây dựng dựa trên một


×