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

Phương pháp nhận dạng Support Vector Machines(SVM) trong nhận dạngchữ viết tay

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 (891.48 KB, 35 trang )

 

__________________________________________________________________________
- MHV: CH1102010 1

M 
 1
 2
 3
 4
1.1. Khám phá tri thức và khai phá dữ liệu là gì? 4
1.2. Quá trình phát hiện tri thức 4
1.3. Quá trình khai phá dữ liệu 7
1.4. Chức năng của khai phá dữ liệu 9
1.5. Các kỹ thuật khai phá dữ liệu 9
1.6. Các dạng dữ liệu có thể khai phá được 12
1.7. Các lĩnh vực liên quan đến khai phá dữ liệu và ứng dụng của khai phá dữ liệu
12
1.8. Các thách thức và hướng phát triển của phát hiện tri thức và khai phá dữ liệu.
13
 15
2.1.Support Vector Machines (SVM) : 15
 18
2. 18
2.4 19
 20
 20
  21
 21
 21
 23


 26
 27
 27
 28
  30
 32
 32
 32
 34
 

__________________________________________________________________________
- MHV: CH1102010 2


Trước tiên, em xin gửi lời cảm ơn chân thành nhất tới PGS - T.S Đỗ
Phúc đã tận tình hướng dẫn, giảng dạy truyền đạt những kiến thức nền tảng cơ
bản cho chúng em về môn học:"Khai phá Dữ liệu và kho dữ liệu".
Em xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong khoa
Công nghệ thông tin - Trường đại học Công nghệ thông tin- Đai học
QG.TPHCM đã tần tình giúp đỡ và giảng dạy cho chúng em trong những môn
học vừa qua.
Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành
tốt môn học. Song chắc chắn kết quả nghiên cứu sẽ không tránh khỏi những
thiếu sót, vì vậy em kính mong nhận được sự chỉ bảo và góp ý của quý thầy cô
và các bạn.
Em xin chân thành cám ơn!




Hà Nội, tháng 11 năm 2012



- CH1102010





 

__________________________________________________________________________
- MHV: CH1102010 3


Trong nhiều năm qua, cùng với sự phát triển của công nghệ thông tin và
ứng dụng của công nghệ thông tin trong nhiều lĩnh vực của đời sống xã hội, thì
lượng dữ liệu được các cơ quan thu thập và lưu trữ ngày một nhiều lên. Người
ta lưu trữ những dữ liệu này vì cho rằng nó ẩn chứa những giá trị nhất định nào
đó. Tuy nhiên theo thống kê thì chỉ có một lượng nhỏ của những dữ liệu này
(khoảng từ 5% đến 10%) là luôn được phân tích, số còn lại họ không biết sẽ
phải làm gì và có thể làm gì với những dữ liệu này, nhưng họ vẫn tiếp tục thu
thập và lưu trữ vì hy vọng những dữ liệu này sẽ cung cấp cho họ những thông
tin quý giá một cách nhanh chóng để đưa ra những quyết định kịp thời vào một
lúc nào đó. Chính vì vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu
truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một
khuynh hướng kỹ thuật mới đó là Khai phá dữ liệu (Data Mining).
Kỹ thuật khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong
nhiều lĩnh vực khác nhau trên thế giới, tại Việt Nam kỹ thuật này còn tương

đối mới mẻ tuy nhiên cũng đang được nghiên cứu và bắt đầu đưa vào một số
ứng dụng thực tế. Vì vậy, hiện nay ở nước ta vấn đề phát hiện tri thức và khai
phá dữ liệu đang thu hút được sự quan tâm của nhiều người và nhiều công ty
phát triển ứng dụng công nghệ thông tin. Trong phạm vi đề tài này của em, em
sẽ trình bày nội dung sau: "     
"




 

__________________________________________________________________________
- MHV: CH1102010 4


1.1. Khám phá tri thức và khai phá dữ liệu là gì?

Phát hiện tri thức (Knowledge Discovery ) trong các cơ sở dữ liệu là một
qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng:
hợp thức, mới, khả ích, và có thể hiểu được [4].
Còn khai thác dữ liệu (data mining) là một ngữ tương đối mới, nó ra
đời vào khoảng những năm cuối của của thập kỷ 1980. Có rất nhiều định nghĩa
khác nhau về khai phá dữ liệu. Giáo sư Tom Mitchell đã đưa ra định nghĩa của
khai phá dữ liệu như sau: “Khai phá dữ liệu là việc sử dụng dữ liệu lịch sử để
khám phá những qui tắc và cải thiện những quyết định trong tương lai.”. Với
một cách tiếp cận ứng dụng hơn, tiến sĩ Fayyad đã phát biểu: ”Khai phá dữ
liệu thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một
quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng
hữu ích, dưới dạng các quy luật, ràng buộc, qui tắc trong cơ sở dữ liệu.”. Còn

các nhà thống kê thì xem " khai phá dữ liệu như là một quá trình phân tích
được thiết kế thăm dò một lượng cực lớn các dữ liệu nhằm phát hiện ra các
mẫu thích hợp và/ hoặc các mối quan hệ mang tính hệ thống giữa các biến và
sau đó sẽ hợp thức hoá các kết quả tìm được bằng cách áp dụng các mẫu đã
phát hiện được cho tập con mới của dữ liệu".
Nói tóm lại: khai phá dữ liệu là một bước trong quy trình phát hiện tri
thức gồm có các thụât toán khai thác dữ liệu chuyên dùng dưới một số quy
định về hiệu quả tính toán chấp nhận được để tìm ra các mẫu hoặc các mô hình
trong dữ liệu [4].
1.2. Quá trình phát hiện tri thức
Quá trình khám phá tri thức được tiến hành qua 5 bước sau [5]:

 

__________________________________________________________________________
- MHV: CH1102010 5



Hình 1.1. Quá trình khám phá tri thức
1.2.1. Hình thành và định nghĩa bài toán
Đây là bước tìm hiểu lĩnh vực ứng dụng và hình thành bài toán, bước
này sẽ quyết định cho việc rút ra những tri thức hữu ích, đồng thời lựa
chọn các phương pháp khai phá dữ liệu thích hợp với mục đích của ứng
dụng và bản chất của dữ liệu.
1.2.2. Thu thập và tiền xử lý dữ liệu
Trong bước này dữ liệu được thu thập ở dạng thô (nguồn dữ liệu thu
thập có thể là từ các kho dữ liệu hay nguồn thông tin internet). Trong giai
đoạn này dữ liệu cũng được tiền xử lý để biến đổi và cải thiện chất lượng
dữ liệu cho phù hợp với phương pháp khai phá dữ liệu được chọn lựa

trong bước trên.
Bước này thường chiếm nhiều thời gian nhất trong quá trình khám phá
tri thức.
Các giải thuật tiền xử lý dữ liệu bao gồm :
1. Xử lý dữ liệu bị mất/ thiếu: Các dạng dữ liệu bị thiếu sẽ
được thay thế bởi các giá trị thích hợp
 

__________________________________________________________________________
- MHV: CH1102010 6

2. Khử sự trùng lắp: các đối tượng dữ liệu trùng lắp sẽ bị loại
bỏ đi. Kỹ thuật này không được sử dụng cho các tác vụ có
quan tâm đến phân bố dữ liệu.
3. Giảm nhiễu: nhiễu và các đối tượng tách rời khỏi phân bố
chung sẽ bị loại đi khỏi dữ liệu.
4. Chuẩn hoá: miền giá trị của dữ liệu sẽ được chuẩn hoá.
5. Rời rạc hoá: các dạng dữ liệu số sẽ được biến đổi ra các giá
trị rời rạc.
6. Rút trích và xây dựng đặc trưng mới từ các thuộc tính đã
có.
7. Giảm chiều: các thuộc tính chứa ít thông tin sẽ được loại bỏ
bớt.
1.2.3. Khai phá dữ liệu và rút ra các tri thức
Đây là bước quan trọng nhất trong tiến trình khám phá tri thức. Kết
quả của bước này là trích ra được các mẫu và/hoặc các mô hình ẩn dưới
các dữ liệu. Một mô hình có thể là một biểu diễn cấu trúc tổng thể một
thành phần của hệ thống hay cả hệ thống trong cơ sở dữ liệu, hay miêu tả
cách dữ liệu được nảy sinh. Còn một mẫu là một cấu trúc cục bộ có liên
quan đến vài biến và vài trường hợp trong cơ sở dữ liệu.

1.2.4. Phân tích và kiểm định kết quả
Bước thứ tư là hiểu các tri thức đã tìm được, đặc biệt là làm sáng tỏ
các mô tả và dự đoán. Trong bước này, kết quả tìm được sẽ được biến đổi
sang dạng phù hợp với lĩnh vực ứng dụng và dễ hiểu hơn cho người
dùng.
 

__________________________________________________________________________
- MHV: CH1102010 7

1.2.5. Sử dụng các tri thức phát hiện được
Trong bước này, các tri thức khám phá được sẽ được củng cố, kết
hợp lại thành một hệ thống, đồng thời giải quyết các xung đột tiềm năng
trong các tri thức đó. Các mô hình rút ra được đưa vào những hệ thống
thông tin thực tế dưới dạng các môdun hỗ trợ việc đưa ra quyết định.
Các giai đoạn của quá trình khám phá tri thức có mối quan hệ chặt
chẽ với nhau trong bối cảnh chung của hệ thống. Các kỹ thuật được sử
dụng trong giai đoạn trước có thể ảnh hưởng đến hiệu quả của các giải
thuật được sử dụng trong các giai đoạn tiếp theo. Các bước của quá trình
khám phá tri thức có thể được lặp đi lặp lại một số lần, kết quả thu được
có thể được lấy trung bình trên tất cả các lần thực hiện.
1.3. Quá trình khai phá dữ liệu
Khai phá dữ liệu là hoạt động trọng tâm của quá trình khám phá tri thức
. Thuật ngữ khai phá dữ liệu còn được một số nhà khoa học gọi là phát hiện tri
thức trong cơ sở dữ liệu ( knowledge discovery in database _KDD) ( theo
Fayyad Smyth and Piatestky-Shapiro 1989). Quá trình này gồm có 6 bước [1]:

Hình 1.2. Quá trình khai phá dữ liệu
 


__________________________________________________________________________
- MHV: CH1102010 8

Quá trình khai phá dữ liệu bắt đầu với kho dữ liệu thô và kết thúc với tri
thức được chiết xuất ra. Nội dung của quá trình như sau:
1.3.1. Gom dữ liệu (gatherin)
Tập hợp dữ liệu là bước đầu tiên trong khai phá dữ liệu. Bước này
lấy dữ liệu từ trong một cơ sở dữ liệu, một kho dữ liệu, thậm chí dữ liệu
từ những nguồn cung ứng web.
1.3.2. Trích lọc dữ liệu (selection)
Ở giai đoạn này dữ liệu được lựa chọn và phân chia theo một
số tiêu chuẩn nào đó.
1.3.3. Làm sạch và tiền xử lý dữ liệu (cleansing preprocessing).
Giai đoạn thứ ba này là giai đoạn hay bị sao lãng, nhưng thực tế
nó là một bước rất quan trọng trong quá trình khai phá dữ liệu. Một số lỗi
thường mắc phải trong khi gom dữ liệu là dữ liệu không đầy đủ hoặc
không thống nhất, thiếu chặt chẽ. Vì vậy dữ liệu thường chứa các giá trị
vô nghĩa và không có khả năng kết nối dữ liệu. Ví dụ Sinh viên có
tuổi=200. Giai đoạn thứ ba này nhằm xử lý các dữ liệu như trên(dữ liệu
vô nghĩa, dữ liệu không có khả năng kết nối). Những dữ liệu dạng này
thường được xem là thông tin dư thừa, không có giá trị. Bởi vậy đây là
một quá trình rất quan trọng. Nếu dữ liệu không được làm sạch- tiền xử
lý - chuẩn bị trước thì sẽ gây nên những kết quả sai lệch nghiêm trọng về
sau.
1.3.4. Chuyển đổi dữ liệu (transformation)
Trong giai đoạn này, dữ liệu có thể được tổ chức và sử dụng lại.
Mục đích của việc chuyển đổi dữ liệu là làm cho dữ liệu phù hợp hơn
với mục đích khai phá dữ liệu.
 


__________________________________________________________________________
- MHV: CH1102010 9

1.3.5. Phát hiện và trích mẫu dữ liệu ( pattern extraction and
discovery)
Đây là bước tư duy trong khai phá dữ liệu. Ở trong giai đoạn này
nhiều thuật toán khác nhau đã được sử dụng để trích ra các mẫu từ dữ
liệu. Thuật toán thường dùng để trích mẫu dữ liệu là thuật toán phân loại
dữ liệu, kết hợp dữ liệu, thuật toán mô hình hoá dữ liệu tuần tự.
1.3.6. Đánh giá kết quả mẫu (evaluation of result )
Đây là giai đoạn cuối cùng trong quá trình khai phá dữ liệu, ở giai
đoạn này các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ
liệu. Không phải mẫu dữ liệu nào cũng hữu ích, đôi khi nó còn bị sai
lệch. Vì vậy cần phải đưa ra những tiêu chuẩn đánh giá độ ưu tiên cho
các mẫu dữ liệu để rút ra được những tri thức cần thiêt.
1.4. Chức năng của khai phá dữ liệu
Khai phá dữ liệu có hai chức năng cơ bản đó là: chức năng dự đoán và
chức năng mô tả.
1.5. Các kỹ thuật khai phá dữ liệu
Trong thực tế có nhiều kỹ thuật khai phá dữ liệu khác nhau nhằm thực
hiện hai chức năng mô tả và dự đoán.
- Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả các tính chất
hoặc các đặc tính chung của dữ liệu trong CSDL hiện có. Một số kỹ
thuật khai phá trong nhóm này là: phân cụm dữ liệu (Clustering),
tổng hợp (Summarisation), trực quan hoá (Visualization), phân tích
sự phát triển và độ lệch (Evolution and deviation analyst),….
- Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán
dựa vào các suy diễn trên cơ sở dữ liệu hiện thời. Một số kỹ thuật
khai phá trong nhóm này là: phân lớp (Classification), hồi quy
 


__________________________________________________________________________
- MHV: CH1102010 10

(Regression), cây quyết định (Decision tree), thống kê (statictics),
mạng nơron (neural network), luật kết hợp,….
Một số kỹ thuật phổ biến thường được sử dụng để khai phá dữ
liệu hiện nay là :
1.5.1. Phân lớp dữ liệu:
Mục tiêu của phân lớp dữ liệu đó là dự đoán nhãn lớp cho các mẫu dữ
liệu. Quá trình gồm hai bước: xây dựng mô hình, sử dụng mô hình để
phân lớp dữ liệu( mỗi mẫu 1 lớp). Mô hình được sử dụng để dự đoán
nhãn lớp khi mà độ chính xác của mô hình chấp nhận được.
1.5.2. Phân cụm dữ liệu:
Mục tiêu của phân cụm dữ liệu là nhóm các đối tượng tương tự nhau
trong tập dữ liệu vào các cum, sao cho các đối tượng thuộc cùng một lớp
là tương đồng.
1.5.3. Khai phá luật kết hợp:
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối
liên hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu. Đầu ra của giải thuật
luật kết hợp là tập luật kết hợp tìm được. Phương pháp khai phá luật kết
hợp gồm có hai bước:
- Bước 1: Tìm ra tất cả các tập mục phổ biến. Một tập mục phổ biến
được xác định thông qua tính độ hỗ trợ và thoả mãn độ hỗ trợ cực
tiểu.
- Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật
phải thoả mãn độ hỗ trợ và độ tin cậy cực tiểu.
 

__________________________________________________________________________

- MHV: CH1102010 11

1.5.4. Hồi quy:
Phương pháp hồi quy tương tự như là phân lớp dữ liệu. Nhưng
khác ở chỗ nó dùng để dự đoán các giá trị liên tục còn phân lớp dữ liệu
dùng để dự đoán các giá trị rời rạc.
1.5.5. Giải thuật di truyền:
Là quá trình mô phỏng theo tiến hoá của tự nhiên. Ý tưởng chính
của giải thuật là dựa vào quy luật di truyền trong biến đổi, chọn lọc tự
nhiên và tiến hoá trong sinh học.
1.5.6. Mạng nơron:
Đây là một trong những kỹ thuật khai phá dữ liệu được ứng dụng
phổ biến hiện nay. Kỹ thuật này phát triển dựa trên một nền tảng toán
học vững vàng, khả năng huấn luyện trong kỹ thuật này dựa trên mô
hình thần kinh trung ương của con người.
Kết quả mà mạng nơron học được có khả năng tạo ra các mô hình
dự báo, dự đoán với độ chính xác và độ tin cậy cao. Nó có khả năng
phát hiện ra được các xu hướng phức tạp mà kỹ thuật thông thường khác
khó có thể phát hiện ra được. Tuy nhiên phương pháp mạng nơ ron rất
phức tạp và quá trình tiến hành nó gặp rất nhiều khó khăn: đòi hỏi mất
nhiều thời gian, nhiều dữ liệu, nhiều lần kiểm tra thử nghiệm.
1.5.7. Cây quyết định.
Kỹ thuật cây quyết định là một công cụ mạnh và hiệu quả trong
việc phân lớp và dự báo. Các đối tượng dữ liệu được phân thành các lớp.
Các giá trị của đối tượng dữ liệu chưa biết sẽ được dự đoán, dự báo. Tri
thức được rút ra trong kỹ thuật này thường được mô tả dưới dạng tường
minh, đơn giản, trực quan, dễ hiểu đối với người sử dụng.
 

__________________________________________________________________________

- MHV: CH1102010 12

1.6. Các dạng dữ liệu có thể khai phá được
- CSDL quan hệ
- CSDL đa chiều
- CSDL giao dịch
- CSDL quan hệ - đối tượng
- CSDL không gian và thời gian
- CSDL đa phương tiện.
1.7. Các lĩnh vực liên quan đến khai phá dữ liệu và ứng dụng của khai
phá dữ liệu
1.7.1. Các lĩnh vực liên quan đến phát hiện tri thức và khai phá dữ
liệu
Phát hiện tri thức và khai phá dữ liệu được ứng dụng trong nhiều ngành
và lĩnh vực khác nhau như: tài chính ngân hàng, thương mại, y tế, giáo
dục, thống kê, máy học, trí tuệ nhân tạo, csdl, thuật toán toán học, tính
toán song song với tốc độ cao, thu thập cơ sở tri thức cho hệ chuyên
gia,…
1.7.2. Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được vận dụng để giải quyết các vấn đề thuộc nhiều lĩnh
vực khác nhau. Chẳng hạn như giải quyết các bài toán phức tạp trong các
ngành đòi hỏi kỹ thuật cao, như tìm kiếm mỏ dầu, từ ảnh viễn thám, cảnh
báo hỏng hóc trong các hệ thống sản xuất; Được ứng dụng cho việc quy
hoạch và phát triển các hệ thống quản lý và sản xuất trong thực tế như dự
đoán tải sử dụng điện, mức độ tiêu thụ sản phẩm, phân nhóm khách hàng;
Áp dụng cho các vấn đề xã hội như phát hiện tội phạm, tăng cường an
ninh…
Một số ứng dụng cụ thể như sau :
 


__________________________________________________________________________
- MHV: CH1102010 13

- Khai phá dữ liệu được sử dụng để phân tích dữ liệu, hỗ trợ ra quyết
định.
- Trong sinh học: nó dùng để tìm kiếm , so sánh các hệ gen và thông
tin di chuyền, tìm mối liên hệ giữa các hệ gen và chuẩn đoán một số
bệnh di chuyền
- Trong y học: khai phá dữ liệu giúp tìm ra mối liên hệ giữa các triệu
chứng, chuẩn đoán bệnh.
- Tài chính và thị trường chứng khoán: Khai phá dữ liệu để phân tích
tình hình tài chính, phân tích đầu tư, phân tích cổ phiếu
- Khai thác dữ liệu web.
- Trong thông tin kỹ thuật: khai phá dữ liệu dùng để phân tích các sai
hỏng, điều khiển và lập lịch trình…
- Trong thông tin thương mại: dùng để phân tích dữ liệu người dùng,
phân tích dữ liệu marketing, phân tích đầu tư, phát hiện các gian lận.
1.8. Các thách thức và hướng phát triển của phát hiện tri thức và khai
phá dữ liệu.
Sự phát triển của phát hiện tri thức và khai phá dữ liệu gặp phải một
số thách thức sau:
- CSDL lớn (số lượng bản ghi, số bảng)
- Số chiều lớn
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện
không còn phù hợp nữa.
- Dữ liệu bị thiếu hoặc bị nhiễu.
- Quan hệ giữa các trường phức tạp
- Vấn đề giao tiếp với người sử dụng và kết hợp với các tri thức đã có.
- Tích hợp với các hệ thống khác.
- …

 

__________________________________________________________________________
- MHV: CH1102010 14

Hướng phát triển của khám phá tri thức và khai phá dữ liệu là vượt qua
được tất cả những thách thức trên. Chú trọng vào việc mở rộng ứng dụng để
đáp ứng cho mọi lĩnh vực trong đời sống xã hội, và tăng tính hữu ích của việc
khai phá dữ liệu trong những lĩnh vực đã có khai phá dữ liệu. Tạo ra các
phương pháp khai phá dữ liệu linh động, uyển chuyển để xử lý số lượng dữ
liệu lớn một cách hiệu quả. Tạo ra tương tác người sử dụng tốt, giúp người sử
dụng tham gia điều khiển quá trình khai phá dữ liệu, định hướng hệ thống
khai phá dữ liệu trong việc phát hiện các mẫu đáng quan tâm. Tích hợp khai
phá dữ liệu vào trong các hệ cơ sở dữ liệu. Ứng dụng khai phá dữ liệu để khai
phá dữ liệu web trực tuyến. Một vấn đề quan trọng trong việc phát triển khám
phá tri thức và khai phá dữ liệu đó là vấn đề an toàn và bảo mật thông tin
trong khai phá dữ liệu.
















 

__________________________________________________________________________
- MHV: CH1102010 15

Chương 2: Giới thiệu về Support vector machines
2.1.Support Vector Machines (SVM) :
Giới thiệu :
SVM là một phương pháp phân lớp xuất phát từ lý thuyết học thống kê.
SVM sẽ cố gắng tìm cách phân lớp dữ liệu sao cho có lỗi xảy ra trên tập kiểm
tra là nhỏ nhất (Test Error Minimisation). Ý tưởng của nó là ánh xạ (tuyến tính
hoặc phi tuyến) dữ liệu vào không gian các vector đặc trưng (space of feature
vectors) mà ở đó một siêu phẳng tối ưu được tìm ra để tách dữ liệu thuộc hai
lớp khác nhau [1].
Giả sử, chúng ta lựa chọn được tập các đặc trưng là T={t
1
, t
2
, …, t
n
}, x
i

vector dữ liệu được biểu diễn x
i
=(w
i1
, w

i2
, …, w
in
), w
in
R là trọng số của đặc
trưng t
n
. Với tập dữ liệu huấn luyện Tr={(x
1
, y
1
), (x
2
, y
2
), …, (x
l
, y
l
)}, (x
i

R
n
),
y
i

{+1, -1}, cặp (x

i
, y
i
) được hiểu là vector x
i
được gán nhãn là y
i
.
Nếu coi mỗi x
i
được biểu diễn tương ứng với một điểm dữ liệu trong
không gian R
n
thì ý tưởng của SVM là tìm một mặt hình học (siêu phẳng) f(x)
“tốt nhất” trong không gian n-chiều để phân chia dữ liệu sao cho tất cả các
điểm x
+
được gán nhãn 1 thuộc về phía dương của siêu phẳng (f(x
+
)>0), các
điểm x
-
được gán nhãn –1 thuộc về phía âm của siêu phẳng (f(x
-
)<0)[2].

Hình 2.1: H
2
là mặt phẳng tốt nhất.
Việc tính toán để tìm ra siêu mặt phẳng tối ưu dùng kỹ thuật sử dụng toán

tử Lagrange để biến đổi thành dạng đẳng thức là rất phức tạp và khó khăn.
 

__________________________________________________________________________
- MHV: CH1102010 16

Hiện nay đã có những bộ thư viện đã hỗ trợ cho việc tính toán trên như :
SVM
light
, LIBSVM, jSVM, …
Ví dụ: Giả sử ta có một tập các điểm được gán nhãn dương (+1):
{(3,1), (3, -1), (6, 1), (6, -1)}
Và tập các điểm được gán nhãn âm (-1) trong mặt phẳng R
+
:
{(1, 0), (0, 1), (0, -1), (-1, 0)}

Hình 2.2: Các điểm dữ liệu được biểu diễn trên R
+
.
Chúng ta sẽ dùng SVM để phân biệt hai lớp (+1 và -1). Bởi vì dữ liệu
được chia tách một cách tuyến tính, rõ ràng, nên chúng ta sử dụng linear SVM
(SVM tuyến tính) để thực hiện. Theo quan sát hình 2, chúng ta chọn ra 3
vector hỗ trợ để thực thi các phép toán nhằm tìm ra mặt phẳng phân tách tối ưu
nhất:
{s
1
= (1,0), s
2
= (3,1), s

3
= (3, -1)}
 

__________________________________________________________________________
- MHV: CH1102010 17


Hình 2.3: Các vector hỗ trợ (support vector) được chọn.
Các vector hỗ trợ được tăng cường (augmented) bằng cách thêm 1. Tức là
s
1
= (1, 0), thì nó sẽ được chuyển đổi thành
s
= (1, 0, 1). Theo kiến trúc SVM, công việc của chúng ta là tìm ra những
giá trị
i

.
1 1 1 2 2 1 3 3 1
1 1 2 2 2 2 3 3 2
1 1 1 2 2 3 3 3 3
( ). ( ) ( ). ( ) ( ). ( ) 1
( ). ( ) ( ). ( ) ( ). ( ) 1
( ). ( ) ( ). ( ) ( ). ( ) 1
s s s s s s
s s s s s s
s s s s s s
  
  

  
         
         
         

Bởi vì chúng ta sử dụng SVM tuyến tính nên hảm
()
- dùng để chuyển
đổi vector từ không gia dữ liệu đầu vào sang không gian đặc trưng – sẽ
bằng
() I
. Biểu thức trên được viết lại như sau:
1 1 1 2 2 1 3 3 1
1 1 2 2 2 2 3 3 2
1 1 3 2 2 3 3 3 3
. . . 1
. . . 1
. . . 1
s s s s s s
s s s s s s
s s s s s s
  
  
  
   
   
   

Ta rút gọn biểu thức trên thông qua việc tính toán tích vô hướng giữa các
vector.

1 2 3
1 2 3
1 2 3
2 4 4 1
4 11 9 1
4 9 11 1
  
  
  
   
   
   

Giải hệ phương trình 3 ẩn trên ta có: α
1
= -3.5, α
2
= 0.75, α
3
= 0.75. Tiếp
đến ta tính trọng số

thông qua công thức:
 

__________________________________________________________________________
- MHV: CH1102010 18

1 3 3 1
3.5 0 0.75 1 0.75 1 0

1 1 1 2
ii
i
s

       
       
      
       
       

       


Siêu phẳng phân chia 2 lớp đó là: y = wx + b với w = (1, 0) và b = -2

Hình 2.4: Siêu phẳng được biểu diễn trên R
+
.
2.2
- 
+Dựa trên cơ sở các thành phần liên thông của ảnh,phân tập ký tự tiếng
Việt thành 3 nhóm (box,dạng chữ rời,dạng chữ liên tục) và tách các ký tự có
dấu thành các phần rời nhau.
+Sau đó xây dựng máy phân lớp SVM để nhận dạng cho từng phần chữ
và phần dấu.
+ Kết quả thực nghiệm cho thấy mô hình nhận dạng có độ chính xác
tương đối cao.
2.3.
Trong phần này, em sẽ tập trung xây dựng mô hình nhận dạng chữ viết

tay rời rạc theo phương pháp phân lớp SVM. 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.
 

__________________________________________________________________________
- MHV: CH1102010 19

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.5. Mô hình nhận dạng chữ viết tay
2.4
Sau khi đã khử nhiễu, ảnh được chuẩn hóa về kích thước chuẩn 16´16. Việc
chuẩn hóa kích thước ảnh được thực hiện theo các bước sau:
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 16´16.
 


__________________________________________________________________________
- MHV: CH1102010 20

2.
Trong phần này, em sẽ chọn phương pháp trích chọn đặc trưng đơn giản
nhưng hiệu quả, có thể áp dụng cho các tập dữ liệu chữ viết tay rời rạc. Ảnh ký
tự sau khi đã chuẩn hóa về kích thước chuẩn sẽ được chia thành N´N vùng
(Hình 2.6). 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 2.6. Trích chọn đặc trưng trọng số vùng.
Trong thực nghiệm, với ảnh kích thước 16´16, chọn N=8, như vậy có 8´8 = 64
đặc trưng.
2.6
Trong phần cài đặt thực nghiệm, chúng tôi áp dụng thuật toán SMO để huấn
luyện phân lớp SVM nhị phân, sử dụng và kế thừa một số chức năng của phần
mềm mã nguồn mở LibSVM [1] để phát triển ứng dụng nhận dạng chữ viết tay
rời rạc.










 


__________________________________________________________________________
- MHV: CH1102010 21

  
3.1. Thu
Thuật toán máy vector hỗ trợ (Support Vector Machine – SVM) được Corters
và Vapnik giới thiệu vào năm 1995. SVM rất hiệu quả để giải quyết các bài
toán với dữ liệu có số chiều lớn (như các vector biểu diễn văn bản). Thuật toán
SVM được thực hiện trên một tập dữ liệu học D= {(Xi,Ci), i=1,…n}.Trong đó
Ci Є {-1,1} xác định dữ liệu dương hay âm. Mục đích của thuật toán là tìm
một siêu phẳng αsvm.d + b phân chia dữ liệu thành hai miền. Phân lớp một tài
liệu mới chính là xác định dấu của f[d] = αsvm.d + b. Tài liệu sẽ thuộc lớp
dương nếu f(d) > 0, thuộc lớp âm nếu f(d) < 0.

Hình 3.1: Mô tả sự phân chia tài liệu theo dấu của hàm f(d) = αsvm.d + b
3.2. 
Cho trước tập huấn luyện được biểu diễn trong không gian vector trong
đó mỗi văn bản là một điểm, phương pháp tìm ra một siêu mặt phẳng h quyết
định tốt nhất có thể chia các điểm trên không gian này thành 2 lớp riêng biệt
tương ứng lớp + và lớp Hiệu quả xác định siêu mặt phẳng này được quyết
 

__________________________________________________________________________
- MHV: CH1102010 22

định bởi khoảng cách của điểm gần mặt phẳng nhất của mỗi lớp. Khoảng
cách càng lớn thì mặt phẳng quyết định càng tốt đồng nghĩa với việc phân
loại càng chính xác và ngược lại. Mục đích cuối cùng của phương pháp là
tìm được khoảng cách biên lớn nhất.


Hình 3.1: Các điểm được khoanh tròn là các vector hỗ trợ
(trích dẫn: support-vector-machines.org)
3.3. 
Phương trình siêu mặt phẳng chứa vector
i
d
như sau:

0*  bwd
i

Đặt






0.,1
0.,1
).()(
bwd
bwd
bwdsigndh
i
i
ii

Như vậy h(
i

d
) biểu diễn sự phân lớp của
i
d

vào 2 lớp + và lớp Gọi y
i

= {±1}, y
i
= +1 văn bản
i
d

thuộc lớp +, y
i
= -1 văn bản
i
d
thuộc lớp Để có
siêu mặt phẳng h ta đi giải bài toán:
Tính Min||
w
|| với
w
và b thoản mãn điều kiện:

1)).((:,1  bwdsignyni
i
i


Bài toán SVM có thể được giải bằng toán tử Lagrange để biến đổi thành
dạng đẳng thức.
Một điểm đặc biệt trong phương pháp SVM là siêu mặt phẳng h chỉ phụ
thuộc vào các vector hỗ trợ. Khác so với các phương pháp khác vì các
 

__________________________________________________________________________
- MHV: CH1102010 23

phương pháp khác có kết quả phân loại phụ thuộc vào toàn bộ dữ liệu. Khi
dữ liệu có sự thay đổi thì kết quả cũng thay đổi.

Chữ viết tay trực tuyến có được khi người viết sử dụng "bút và giấy diện
tử". Thiết bị này sẽ nghi nhận lại vị trí tọa độ của đầu viết sau đó chuyển tải vào
máy tính để hiển thị lại nét viết hay nhận dạng chữ viết để máy tính có thể hiểu
được giống như khi gõ từ bàn phím
Chữ viết tay trực tuyến có các những dạng sau:
a. Hộp(box): thiết bị có các ô để người viết viết vào từng ô một.
b. Chữ rời(Discrete): người viết không bị giới hạn của các ô mà có thể viết
liên tiếp các chữ, tuy nhiên người viết phải chừa một khoảng trống thích hợp
giữa các chữ.
c. Chữ liên tục(Continuous): người viết viết các chữ liên tục, chữ này nối
vào chữ kia mà không phải nhấc bút khỏi giấy. Đây là cách viết tự nhiên nhất
theo lối viết thông thường hàng ngày của con người.

Hình 3.2. Các chữ viết tay

 


__________________________________________________________________________
- MHV: CH1102010 24

Đối với dạng 1, việc quy về nhạn dạng từng chữ một vì các chữ đã được
viết riêng vào các box. Đối với dạng 2, việc tách các chữ viết ra với nhau không
phải là quá khó nên cuối cùng là nhận dạng từng chữ một. Còn đối với dạng 3,
vì các chữ nối vào nhau, người viết viết liên tục không nhấc bút nên việc tách
các chữ ra con nhiều khó khăn, nhất là người viết không thẳng hay các chữ đè
lên nhau
Để tách chữ ở dạng 3, có thể dựa vào 2 đặc tính sau:
1) Bút được nhấc lên khi chuyển sang chữ khác. Tuy nhiên có nhiều chữ có
nhiều hơn một nét bút nên trong cùng một chữ vẫn có hiện tượng nhấc bút. Do
đó cần thêm đăc tính thứ 2.
2) Vùng bao của chữ mới không đè lên vùng bao của chữ cũ. Sau khi tách
chữ, một chữ được biểu diễn bởi một dãy các tọa đô như sau:
(x
1
,y
1
),(x
2
,y
21
), ,(x
l
,y
l
)
Trong đó số lượng điểm l có thể thay đổi tuy theo các loại chữ khác nhau.
Ngay cả trong một loại chữ, cùng một người viết, các chữ có thể có số điểm

khác nhau.

Hình 3.3. Dãy tọa độ lấy mẫu của một chữ viết tay
Có những trường hợp trong một chữ viết có nhiều hơn một nét bút. Các nét
này cũng là một yếu tố quan trọng để nhận dạng không thể bỏ qua.
 

__________________________________________________________________________
- MHV: CH1102010 25

Một vấn đề quân trọng khác cùng một chữ có thể có nhiều cách viết khác
nhau. Ví dụ:



Phương pháp SVM có tính tổng quát nên có thể nhận dạng mà không cần phải
phân thành các lớp con.
Tiền sử lý:
Sau khi lấy tọa độ đầu bút, có thể tiến hành một số biện pháp tiền sử lý
nhằm chuẩn hóa lại chữ viết theo các cách sau:
1) Đưa về tỷ lệ chuẩn.
2) Bỏ bớt những điểm quà gần kề nhau.
3) Thêm điểm.
4) Khử nhiễu, làm trơn nét viết.

×