Các phương pháp học theo thống kê đặc biệt thích hợp với lĩnhvực thị giác máy như nhận dạng và xác định đối tượng hiệu quả [13].. Một số kỹ thuật nhận dạng 1.1.2.1 Nhận dạng dựa theo miề
Trang 1VŨ 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
Trang 2LỜ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
“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ậnvă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
Trang 3Em xin gửi lời cảm ơn chân thành đến các thầy cô giáo Trường Đại họcCô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ọctậ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ệpnhữ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
MỤC LỤ
Trang 4LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH VẼ vi
LỜI MỞ ĐẦU 1
CHƯƠNG 1 KHÁI QUÁT VỀ NHẬN DẠNG VÀ KỸ THUẬT SVM 3
1.1 Khái quát về nhận dạng 3
1.1.1 Khái niệm về nhận dạng 3
1.1.2 Một số kỹ thuật nhận dạng 4
1.1.2.1 Nhận dạng dựa theo miền không gian 4
1.1.2.2 Nhận dạng theo phương pháp thống kê 6
1.1.2.3 Nhận dạng dựa vào khoảng cách 7
1.1.2.3 Nhận dạng dựa theo cấu trúc 8
1.1.3 Kết hợp các kỹ thuật nhận dạng 10
1.1.3.1 Kiến trúc tuần tự 11
1.1.3.2 Kiến trúc song song 11
1.1.3.3 Kiến trúc lai ghép 11
1.1.4 Một số khó khăn trong nhận dạng 12
1.2 Kỹ thuật SVM trong nhận dạng 12
1.2.1 Kỹ thuật SVM 12
1.2.2 Một số ứng dụng của SVM 14
1.2.2.1 Chẩn đoán Virus máy tính 14
1.2.2.2 Phân loại email 15
1.2.2.3 Nhận dạng mặt người 16
1.2.2.4 Nhận dạng chữ viết tay 17
1.3 Kết luận 19
CHƯƠNG 2 KỸ THUẬT SVM TRONG NHẬN DẠNG PHIẾU ĐIỂM 20
Trang 52.1 Thuật toán SVM 20
2.1.1 Phân lớp nhị phân 20
2.1.2 Phân nhiều lớp 28
2.1.2.1 Chiến lược một chống một (OVO: One - versus - One) 28
2.1.2.2 Chiến lược một chống phần còn lại (OVR: One - versus - Rest) 29
2.1.2.3 Chiến lược phân cấp 29
2.2 Các thuật toán huấn luyện SVM 29
2.2.1 Thuật toán chặt khúc 30
2.2.2 Thuật toán phân rã 30
2.2.3 Thuật toán SMO 31
2.2.3.1 Tối ưu hai nhân tử Lagrange 32
2.2.3.2 Tối ưu theo phương pháp heuristic 33
2.2 Nhận dạng phiếu điểm với SVM 33
2.2.1 Đặc trưng của phiếu điểm 33
2.2.2 Nhận dạng phiếu điểm 35
2.2.2.1 Tiền xử lý 36
2.2.2.2 Phân đoạn và trích chọn đặc trưng 39
2.2.2.3 Huấn luyện và nhận dạng 39
2.2.2.4 Hậu xử lý 39
2.3 Kết luận 40
CHƯƠNG 3 THIẾT KẾ CHƯƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM 41
3.1 Phân lớp với SVM 41
3.2 Nhận dạng phiếu điểm 43
3.2.1 Huấn luyện 46
3.2.2 Nhận dạng 47
3.3 Đánh giá kết quả 48
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
TÀI LIỆU THAM KHẢO 52
Trang 6DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
NNSRM Nearest Neighbor Rule-based Structural Risk MinimizationOVO One - versus - One
OVR One - versus - Rest
PCA Principal Component Analysis
PLD Picture Language Description
QP Quadratic Programing
RBF Radius Basic Function
SMO Sequential Minimal Optimization
SVM Support Vector Machine
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Sơ đồ tổng quát hệ thống nhận dạng ảnh 4
Hình 1.2 Các từ vựng cơ bản của ngôn ngữ hình thức PLD 9
Hình 1.3 Các phép toán trong ngôn ngữ LCD 9
Hình 1.4 Mô hình nhận dạng chữ viết tay rời rạc 18
Hình 2.1 Phân lớp tuyến tính 20
Hình 2.2 Phân nhiều lớp với SVM 28
Hình 2.3 Mẫu phiếu điểm thi viết 34
Hình 2.4 Mẫu phiếu điểm thường xuyên 35
Hình 2.5 Nhị phân hóa ảnh 36
Hình 2.6 Lọc nhiễu 36
Hình 2.7 Chuẩn hóa kích thước ảnh các số “4” và “6” 37
Hình 2.8 Làm tròn biên chữ 37
Hình 2.9 Làm mảnh chữ 38
Hình 2.10 Hiệu chỉnh độ nghiêng của phiếu điểm 38
Hình 2.11 Tách thông tin phiếu điểm 39
Hình 3.1 Chương trình mô phỏng phân lớp 41
Hình 3.2 Mô phỏng phân lớp nhị phân với SVM 42
Hình 3.3 Phân nhiều lớp với SVM (trước khi phân lớp) 42
Hình 3.4 Phân nhiều lớp với SVM (sau khi phân lớp) 43
Hình 3.5 Một mẫu dữ liệu huấn luyện 43
Hình 3.6 Phiếu điểm cần nhận dạng 44
Hình 3.7 Mô hình hệ thống nhận dạng phiếu điểm 45
Hình 3.8 Huấn luyện Support Vector theo dữ liệu mẫu 46
Hình 3.9 Các support vector 46
Hình 3.10 Nhận dạng các chữ số với SVM 47
Hình 3.11 Nhận dạng phiếu điểm 47
Hình 3.12 Xử lý phiếu điểm 48
Hình 3.13 Nhận dạng phiếu điểm 48
Trang 8MỞ ĐẦU
Các phương pháp thống kê gần đây thường được đề cập tới trong các lĩnhvự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ápnà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áncủ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ĩnhvự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ácphươ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àycà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íchdự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ươngphá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ápkhá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àmthí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ạngcá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ậndạ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ảiquyế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ácgầ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 đốivớ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 tinhthầ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ạngchữ viết tay và cho kết quả đầy triển vọng [11], [14] Một trong các kỹ thuật đó là
Trang 9kỹ 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ạngphiế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:
Trình bày những lý thuyết cơ bản về nhận dạng, kỹ thuật SVM trong nhậndạ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ụngcủ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
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ữngthiế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àmluậ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 Đạihọc Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên đã tạo điều kiệnthuận lợi, giúp đỡ tác giả hoàn thành luận văn này
Trang 10CHƯƠ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ẫuchuẩ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ạngmẫ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 địnhtheo cách định lượng (mô hình tham số) hay định tính (mô hình cấu trúc) Khi đốitượ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ớphay 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ẫucầ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ẫuchuẩ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 sovớ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 đặctrư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
Trang 11gộ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ậndạ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ó đangviế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ậndạ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 tayoffline, 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ănbả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
Trang 12Giả sử không gian đối tượng X được định nghĩa: X {X ,i i1, 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 Ci,
Để 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:
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ềuchiề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áchhay 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
Trang 13nhau 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ớpphâ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 đốitượ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àmmật độ xác suất:
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ê
sao cho X C k nếu (P C X k / )P C X( / )l , l k l1, 2, , r
ở đây: (P C X là xác suất của C k/ ) k trong điều kiện X xảy ra Tương tự đối với( / )l
P C 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ồntạ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ậndạng với sai số là nhỏ nhất
Phương pháp ra quyết định với tối thiểu:
Trang 14Cần xác định X C k nhờ xác suất (P C X Nếu có sai số sẽ được tính bởi k / )
1 P C X( k/ ) Để đá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:
, ,
Để sai số là nhỏ nhất ta cần có r k là 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):
toàn xác định đối tương X thuộc lớp C k nào Đây chính là nội dung tư tưởng củaphươ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
Trang 15lớ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ử X 1 ∈ C 1 gọilà lớp g 1
Gọi Z 1 là phần tử trung tâm của g 1
Tính tất cả các khoảng cách D j1 =D(X j ,Z 1 ) với j=1,2, m
Tìm D k1 =max j D jk trong đó X k là phần tử xa nhất của nhóm g 1.
Như vậy, X k là phần tử trung tâm của lớp mới g 2 Kí hiệu Z 2
Nếu D k (2) <Өdd k , với Өd 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 X 3 là phần tử trung tâm của g 3 , ký hiệu Z 3 ; Tính D 3 =(D 12 +D 13 +D 23 );
D 13 =D(Z 1 ,Z 3 );
D23=D(Z 2 ,Z 3 ).
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 Z 1 ,Z 2 , ,Z m
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) Trongcá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
Trang 16Giả 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à:
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ụngtrong nhận dạng bởi một ngôn ngữ hình thức, trong đó có một ngôn ngữ điểnhì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:
Trang 17Hì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ạnglớ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
Trang 18có 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 haykhô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ácphươ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ânlớ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ếntrú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áyphâ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àytiế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ứccủ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áyphâ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ếnlượ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íatrướ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ốicù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 đếnphứ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 quamộ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ưnghoặ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
Trang 19Kiến trúc này là một sự lai ghép giữa hai kiến trúc tuần tự và songsong Ý 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ớtnhững khó khăn trong việc nhận dạng chữ viết Sau đây là một vài ví dụ điểnhì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áyphâ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ượngmẫu cần xử lý trong mỗi bước tiếp theo giảm đi đáng kể Sau đó, phương pháp phânlớ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ốicùng Trong mức thứ nhất, một phân bố Gausse được lựa chọn để sử dụng cho việclự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 choviệ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ả chothấ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 doquá 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 đadạ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
Trang 20ngườ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ềutrở 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ủathuậ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 gianvector 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ẳngquyế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ệttươ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ởikhoả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ẳngnà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ệcphâ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ênlớ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ểuhoá độ 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êuphẳ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ácmẫ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ệusuấ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ànthiệ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 địnhkhả 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ấttổ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
Trang 21lự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ệuhuấ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 địnhbằ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 đốitượ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ấnluyệ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ệucủ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 quanhiề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 vilâ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ăngtốc độ chẩn đoán cũng như đảm bảo độ chính xác cao, chúng ta có thể thực hiệnphươ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ứccho giai đoạn nhận dạng đối tượng
Cho trước tập các đối tượng chẩn đoán {x1, x2, x3,…,xn} là các vectơ trongkhô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 đặctrư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
Trang 22và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ầugiả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ônggian 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ảnchấ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 đổithô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áttriể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ụngnhư: 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ựngcá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ănbả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ênmạ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ácthư 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
Trang 23SVM 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ươngphá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ậpthuật ngữ T= {t1, t2,…tn} mỗi văn bản di được biểu diễn bởi một vectơ xi= {wi1,
wi2, win} trong không gian vectơ, trong đó wij là trọng số của thuật ngữ trong vănbả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ônggian 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 haykhô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ụngphương pháp SVM để tìm một siêu phẳng f(x) “tốt nhất” trong không gian n-chiềunhằ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 1thuộ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 đượcgọ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ớnnhấ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ừngngườ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êngcủ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ỉnhtươ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
Trang 24họ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ểntiê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êncứ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ạngnơ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ânRBF (Radial basis function):
Ở đây số lượng mẫu huấn luyện đóng vai trò quan trọng trong vấn đề tổngquá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áptổ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á phongphú, một số phương pháp học máy thường được áp dụng như: mô hình Markov ẩn,
Trang 25mạng nơron hay phương pháp SVM Trong đó SVM được đánh giá là phương pháphọ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 đặctrư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ìnhhuấ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ờigian, 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ẫumớ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àotí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ệcchuẩn hóa kích thước ảnh được thực hiện theo các bước sau:
Trang 26Bướ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ànhNxN 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ựachọ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ậndạng chữ viết tay và sơ lược về SVM Cho đến nay các kết quả nghiên cứu nhậndạ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ĩnhvự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ẫncò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
Trang 27nền tảng toán học chặt chẽ Chương tiếp theo tập trung nghiên cứu về lý thuyếtSVM để áp dụng cho bài toán nhận dạng phiếu điểm.
Trang 28CHƯƠNG 2
KỸ THUẬT SVM TRONG NHẬN DẠNG PHIẾU ĐIỂM
2.1 Thuật toán SVM
2.1.1 Phân lớp nhị phân
Như đã trình bày ở Chương 1, 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 vào năm 1995 Để làm rõ hơn vềthuật toán SVM ta sẽ xét bài toán phân lớp nhị phân [6], sau đó sẽ mở rộng vấn đề
ra cho bài toán phân nhiều lớp
Xét ví dụ của bài toán phân lớp như hình vẽ; ở đó ta phải tìm một đườngthẳng sao cho bên trái nó toàn là các điểm đỏ, bên phải nó toàn là các điểm xanh.Bài toán mà dùng đường thẳng để phân chia này được gọi là phân lớp tuyến tính(linear classification)
Hình 2.1 Phân lớp tuyến tính
Hàm tuyến tính phân biệt hai lớp như sau:
y x ( ) = w ( )TF x + b
(2.1)Trong đó:
w ∈ R m là vector trọng số hay vector chuẩn của siêu phẳng phân cách, T là kíhiệu chuyển vị
Trang 29Điểm dữ liệu, mẫu… đều được hiểu là input vector xi; nếu là không gian 2chiều thì đường phân cách là đường thẳng, nhưng trong không gian đa chiều thì gọi
đó là siêu phẳng
Giả sử tập dữ liệu của ta có thể phân tách tuyến tính hoàn toàn (các mẫu đềuđược phân đúng lớp) trong không gian đặc trưng (feature space), do đó sẽ tồn tại giátrị tham số w và b theo (2.1) thỏa y(x n)>0 cho những điểm có nhãn t n=+1 và
y(x n)<0 cho những điểm có t n=−1, vì thế mà t n y(x n)>0 cho mọi điểm dữ liệu huấnluyện
SVM tiếp cận giải quyết vấn đề này thông qua khái niệm gọi là lề, đườngbiên… (margin) Lề được chọn là khoảng cách nhỏ nhất từ đường phân cách đếnmọi điểm dữ liệu hay là khoảng cách từ đường phân cách đến những điểm gần nhất
Trong SVM, đường phân lớp tốt nhất chính là đường có khoảng cách marginlớn nhất (tức là sẽ tồn tại rất nhiều đường phân cách xoay theo các phương khácnhau, và ta chọn ra đường phân cách mà có khoảng cách margin là lớn nhất)
Trang 30Ta có công thức tính khoảng cách từ điểm dữ liệu đến mặt phân cách như sau:
|y (x )|
‖w‖
Do ta đang xét trong trường hợp các điểm dữ liệu đều được phân lớp đúngnên t n y(x n)>0 cho mọi n Vì thế khoảng cách từ điểm xn đến mặt phân cách đượcviết lại như sau:
arg max
w, b {‖w1‖min
n [t n(w T ϕ(x n)+b)] } (2.3)Chúng ta có thể đem nhân tử 1
‖w‖ ra ngoài bởi vì w không phụ thuộc n Giảiquyết vấn đề này một cách trực tiếp sẽ rất phức tạp, do đó ta sẽ chuyển nó về mộtvấn đề tương đương dễ giải quyết hơn Ta sẽ tỉ lệw → ϑww và b → ϑwb cho mọi điểm dữliệu, từ đây khoảng cách lề trở thành 1, việc biến đổi này không làm thay đổi bảnchất vấn đề
t n(w T ϕ(x n)+b)=1 (2.4)
Trang 31Từ bây giờ, các điểm dữ liệu sẽ thỏa ràng buộc:
t n(w T ϕ(x n)+b)≥ 1,n=1 , … , N (2.5)Vấn đề tối ưu yêu cầu ta cực đại ‖w‖−1 được chuyển thành cực tiểu ‖w‖2, taviết lại công thức:
Lý thuyết Nhân tử Lagrange:
Vấn đề cực đại hàm f(x) thỏa điều kiện g(x )≥ 0 sẽ được viết lại dưới dạng tối
ưu của hàm Lagrange như sau:
Lưu ý dấu (-) trong hàm Lagrange, bởi vì ta cực tiểu theo biến w và b, và làcực đại theo biến a
Lấy đạo hàm L(w,b,a) theo w và b ta có: