



















Preview text:
lOMoAR cPSD| 45734214
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN MÔN HỌC
XÂY DỰNG MÔ HÌNH NHẬN DẠNG CHỮ VIẾT TAY
Tp.HCM, tháng ..5. năm 2023 lOMoAR cPSD| 45734214
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN MÔN HỌC
XÂY DỰNG MÔ HÌNH NHẬN DẠNG CHỮ VIẾT TAY
Tp.HCM, tháng 5... năm 2023 0 lOMoAR cPSD| 45734214 LỜI CẢM ƠN
Lời cảm ơn đầu tiên chúng em xin được gửi đến TS.Đặng Như Phú - Th.S Nguyễn
Cao Thái và toàn thể giảng viên khoa công nghê thông tin Trường Đại học
Nguyễn Tất Thành Tp.HCM, cảm ơn thầy đã truyền đạt kiến thức, kinh nghiệm và
những gợi ý giúp chúng em hoàn thành tốt đồ án môn học này. Tiếp theo chúng
em muốn gởi lời cảm ơn đến thạc sĩ THs.Đặng Như Phú - thạc sĩ Nguyễn Thái Sơn
đã giúp đỡ chúng em rất nhiều trong cách thức thu thập số liệu và các kiến thức liên
quan để hoàn thành bài báo cáo .. Cuối cùng, chân thành cảm ơn người thân, bạn bè
luôn bên cạnh động viên, hỗ trợ về mặt tinh thần để chúng em vượt qua khó khăn
và hoàn thành tốt đồ án môn học này.
Em xin chân thành cảm ơn !
.......................................................................................................................................................... BM-ChT-
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KỲ THI KẾT THÚC HỌC PHẦN TRUNG
TÂM KHẢO THÍ HỌC KỲ …..… NĂM HỌC …….. - ….…
PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁN
Môn thi:Mô hình trí tuệ nhân tạo....................................Lớp học phần:20DTH1C.......................
Nhóm sinh viên thực hiện :17......................................... 1
Lê Thanh Hải..................................................Tham gia đóng
góp:100%...................... 2
Nguyễn Thị Thu Hằng....................................Tham gia đóng
góp:100%...................... 3 Trần Anh Sơn. ...............................................Tham gia đóng
góp:100%...................... 4. .......................................................................Tham gia đóng
góp:...............................
5.........................................................................Tham gia đóng góp:...............................
6.........................................................................Tham gia đóng góp:...............................
7.........................................................................Tham gia đóng góp:...............................
8.........................................................................Tham gia đóng góp:............................... iii lOMoAR cPSD| 45734214
Ngày thi:10/05.2023........................................................Phòng thi:L.404A..................................
Đề tài tiểu luận/báo cáo của sinh viên : Xây dựng mô hình nhận dạng chữ viết tay.....................
................................................................................................................................................
Phần đánh giá của giảng viên (căn cứ trên thang rubrics của môn học): Tiêu chí (theo Điểm tối Điểm đạt Đánh giá của GV CĐR HP) đa được
Cấu trúc của .................................................................................... báo cáo
.................................................................................... Nội dung
- Các nội dung .................................................................................... thành
.................................................................................... phần - Lập luận
....................................................................................
.................................................................................... - Kết luận
.................................................................................... Trình bày
.................................................................................... TỔNG ĐIỂM
Giảng viên chấm thi
(ký, ghi rõ họ tên) LỜI MỞ ĐẦU
Mô Hình nhận dạng là bài toán xuất hiện cách đây khá lâu và vẫn luôn thu hút
được nhiều sự quan tâm, nghiên cứu. Đặc biệt là trong vài thập niên gần đây,
do sự thúc đẩy của quá trình tin học hoá trong mọi lĩnh vực, bài toán nhận dạng
không còn dừng lại ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực để
áp dụng vào thực tế. Các bài toán nhận dạng đang được ứng dụng trong thực tế
hiện nay tập trung vào nhận dạng mẫu, nhận dạng tiếng nói và nhận dạng chữ.
Trong số này, nhận dạng chữ là bài toán được quan tâm rất nhiều và cũng đã
đạt được nhiều thành tựu rực rỡ. Các ứng dụng có ý nghĩa thực tế lớn có thể kể
đến như: nhận dạng chữ in dùng trong quá trình sao lưu sách báo trong thư 0 lOMoAR cPSD| 45734214
viện, nhận dạng chữ viết tay dùng trong việc phân loại thư ở bưu điện, thanh
toán tiền trong nhà băng và lập thư viện sách cho người mù (ứng dụng này có
nghĩa: scan sách bình thường, sau đó cho máy tính nhận dạng và trả về dạng tài
liệu mà người mù có thể đọc được).
Xuất phát từ yêu cầu thực tế, đang rất cần có nhưng nghiên cứu về vấn đề này.
Chính vì vậy chúng em đã chọn đề tài nhận dạng chữ viết tay viết tay làm đồ án
môn học với mong muốn phần nào áp dụng vào bài toán thực tế.
NHẬN XÉT CỦA GIẢNG VIÊN GIẢNG DẠY
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
.......................................................................................................................................................... v lOMoAR cPSD| 45734214
..........................................................................................................................................................
..........................................................................................................................................................
Tp.HCM, Ngày . . . . tháng . . . . năm . . . .
Giảng viên giảng dạy
(Ký tên và ghi rõ họ tên)
Th.S Đặng Như Phú MỤC LỤC
CHƯƠNG I: GIỚI THIỆU .................................................................................................... 1
1. Giới thiệu đè tài ................................................................................................................. 1
2. Lý do chọn đề tài ............................................................................................................... 1
3. Mục tiêu đề tài ................................................................................................................... 1
4. Công nghệ áp dụng ............................................................................................................ 1
CHƯƠNG II: CƠ SỞ LÝ THUYẾT ..................................................................................... 3
1. Khái niệm ........................................................................................................................... 3
1.1 Tổng quan về mô hình nhận dạng chữ viết tay ............................................................ 3
1.2 Ứng dụng thuật toán KNN ........................................................................................... 4
1.3 Xếp hạng tín dụng ........................................................................................................ 4
1.4 Tiền xử dữ liệu ............................................................................................................ 4
1.5 Nhận dạng mẫu ............................................................................................................. 4
1.6 Thị giác máy tính ......................................................................................................... 4
CHƯƠNG III: XÂY DỰNG MÔ HÌNH GIẢI THUẬT ...................................................... 5
1. Mô hình tổng quát về nhận dang chữ viết tay .................................................................... 5
1.1 Tiền xử lý ...................................................................................................................... 5
1.2 Nhị phân hóa ảnh .......................................................................................................... 6
1.3 Lọc nhiễu ...................................................................................................................... 6 0 lOMoAR cPSD| 45734214
1.4 Chuẩn hóa kích thước ảnh ............................................................................................ 7
1.5. Làm trơn biên chữ ....................................................................................................... 7
1.6 Làm đầy chữ ................................................................................................................. 8
1.7 Làm mảnh chữ .............................................................................................................. 8
1.8 Điều chỉnh độ nghiêng của văn bản ............................................................................. 8
2. Mô hình K-nearest neighbor .......................................................................................... 9
2.1. Tiền xử lý ................................................................................................................... 11
2.2. Trích chọn đặc trưng...........................................................................................13 .. 11
2.3. Lựa chọn thuật toán huấn luyện phân lớp ................................................................. 12
2.4. Thuật toán nhận dạng chữ viết tay ............................................................................ 12
CHƯƠNG IV: THỰC NGHIỆM..................................................................................15... 14
4.1 Đưa hình ảnh test vào và cho ra kết quả nhận dạng chữ:............................................... 14
4.2 Nhận dạng số...........................................................................................................18
CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............................................22 1. Kết
luận.................................................................................................................22 2. Hướng phát
triển...................................................................................................22 TÀI LIỆU KHAM
KHẢO................................................................................................22 vii lOMoAR cPSD| 45734214
DANH MỤC CÁC BẢNG HÌNH
Hình 1. Sơ đồ tổng quá của một hệ thống nhận dạng chữ viết..................................6
Hình 2:Nhị phân hóa ảnh..........................................................................................7
Hình 3.Nhiễu đốm và nhiễu vệt..................................................................................7
Hình 6: Làm mảnh chữ.............................................................................................9
Hình 7: Hiệu chỉnh độ nghiêng của văn bản...........................................................10
Hình 8:Mô hình nhận dạng chữ viết tay..................................................................11 0 lOMoAR cPSD| 45734214
DANH MỤC CÁC TỪ VIẾT TẮT Chữ viết tắt Ý nghĩa Ví dụ: CSDL Cơ sở dữ liệu KNN K-nearest neighbor. ix lOMoAR cPSD| 45734214
CHƯƠNG I: GIỚI THIỆU
1. Giới thiệu đè tài
Mô hình Nhận dạng chữ viết tay là một công nghệ giúp người dùng nhận và giải thích
dữ liệu chữ viết tay dễ hiểu từ các nguồn như tài liệu giấy, ảnh, màn hình cảm ứng và
các thiết bị khác trên máy tính. Nó ứng dụng hai công nghệ số tiêu biểu là trí tuệ nhân
tạo (Artifical Intelligent) và học máy (Machine Learning)
Nhận dạng chữ viết tay được coi là một phiên bản nâng cấp hơn của công nghệ nhận
dạng chữ quang học OCR. Một công nghệ vốn được biết đến nhờ khả năng nhận dạng chữ in từ hình ảnh.
Ngày nay, công nghệ nhận dạng chữ viết tay ngày càng được ứng dụng phổ biến hơn.
Nó góp phần không nhỏ vào các công tác số hóa tài liệu, sổ đỏ, hộ khẩu,…
2. Lý do chọn đề tài
Nhận dạng chữ in: đã được giải quyết gần như trọn vẹn (sản phẩm
FineReader 9.0 của hãng ABBYY có thể nhận dạng chữ in theo 192 ngôn ngữ
khác nhau, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 của Viện Công nghệ
Thông tin Hà Nội có thể nhận dạng được các tài liệu chứa hình ảnh, bảng và
văn bản với độ chính xác trên 98%).
Nhận dạng chữ viết tay: vẫn còn là vấn đề thách thức lớn đố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ó hoàn toàn
phụ thuộc vào người viết và sự biến đổi quá đa dạng trong cách viết và trạng
thái sức khỏe, tinh thần của từng người viết.
3. Mục tiêu đề tài
Mục tiêu chính của đề tài này là sử dụng kỹ thuật Deep learning - KNN để xây dựng
chương trình nhận dạng chữ số viết tay.
4. Công nghệ áp dụng.
– Nhận dạng số viết tay – Nhận dạng dấu tick lOMoAR cPSD| 45734214
– Nhận dạng chữ cái viết tay: Nhận dạng một chữ cái viết tay riêng rẽ
– Nhận dạng chữ viết tay rời rạc: Nhận dạng văn bản viết tay rời (các chữ cái được
viết cách nhau, không viết liền)
– Nhận dạng một từ viết tay viết viết liền: Nhận dạng một chữ viết tay viết liền (các
chữ cái được viết liền nhau)
– Nhận dạng chữ viết tay viết liền: Nhận dạng chữ viết tay viết liền (nhiều chữ viết
tay, các chữ cái được viết liền nhau)
– Phân hoạch chữ viết tay: Phân hoạch chữ viết tay, cho ra các vùng của các từ viết tay
và giá trị nhận dạng của các từ viết tay đó lOMoAR cPSD| 45734214
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 1. Khái niệm
1.1 Tổng quan về mô hình nhận dạng chữ viết tay
Nhận dạng chữ là lĩnh vực được nhiều nhà nghiên cứu quan tâm và cho đến nay lĩnh
vực này cũng đã đạt được nhiều thành tựu lớn lao cả về mặt lý thuyết lẫn ứng dụng thực
tế. 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 on-line (trực
tuyến) và nhận dạng chữ viết tay off-line (ngoại tuyến).
Nhận dạng chữ viết tay on-line đượ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. Một trong những sản phẩm nhận dạng chữ viết tay trực tuyến tiêu
biểu nhất là hệ thống nhận dạng chữ viết tay rời rạc trực tuyến trên một trạm làm việc
của IBM do H.S.M.Beigi, C.C.Tapert, M.Ukeison và C.G.Wolf ở phòng thực hành
Watson IBM cài đặt [6]. Ngược lại, đối với nhận dạng chữ viết tay off-line, 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 on-line. Do dữ liệu đầu vào là ảnh văn bản nên nhận dạng chữ
viết tay off-line 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).
Khó khăn lớn nhất khi nghiên cứu bài toán nhận dạng chữ viết tay là sự biến thiên quá
đ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 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. lOMoAR cPSD| 45734214
1.2 Ứng dụng thuật toán KNN
Phân loại là một vấn đề quan trọng trong khoa học dữ liệu và học máy. KNN là một
trong những thuật toán lâu đời nhất nhưng chính xác được sử dụng để phân loại mẫu và mô hình hồi quy.
Dưới đây là một số lĩnh vực mà thuật toán k-hàng xóm gần nhất có thể được sử dụng:
1.3 Xếp hạng tín dụng.
Thuật toán KNN giúp xác định xếp hạng tín dụng của một cá nhân bằng cách so sánh
họ với những người có đặc điểm tương tự.
1.4 Tiền xử dữ liệu.
Tập dữ liệu có thể có nhiều giá trị bị thiếu. Thuật toán KNN được sử dụng cho một
quá trình được gọi là truyền dữ liệu bị thiếu để ước tính các giá trị bị thiếu.
1.5 Nhận dạng mẫu.
Khả năng của thuật toán KNN để xác định các mẫu tạo ra một loạt các ứng dụng. Ví
dụ, nó giúp phát hiện các mô hình sử dụng thẻ tín dụng và phát hiện các mô hình bất
thường. Phát hiện mẫu cũng hữu ích trong việc xác định các mẫu trong hành vi mua hàng của khách hàng.
1.6 Thị giác máy tính.
Thuật toán KNN được sử dụng để phân loại hình ảnh. Vì nó có khả năng nhóm các
điểm dữ liệu tương tự nhau, chẳng hạn như nhóm các con mèo lại với nhau và các con
chó trong một lớp khác nhau, nó rất hữu ích trong một số ứng dụng thị giác máy tính . lOMoAR cPSD| 45734214
CHƯƠNG III: XÂY DỰNG MÔ HÌNH GIẢI THUẬT
1. Mô hình tổng quát về nhận dang chữ viết tay. 1.1 Tiền xử lý.
Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng, tuy
nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm lại. Vì vậy, tùy thuộc vào
chất lượng ảnh quét vào của từng văn bản cụ thể để chọn một hoặc một vài chức năng
trong khối này. Nếu cần ưu tiên tốc độ xử lý và chất lượng của máy quét tốt thì có thể
bỏ qua giai đoạn này. Khối tiền xử lý bao gồm một số chức năng: Nhị phân hóa ảnh, lọc
nhiễu, chuẩn hóa kích thước ảnh, làm trơn biên chữ, làm đầy chữ, làm mảnh chữ và xoay văn bản.
Hình 1. Sơ đồ tổng quá của một hệ thống nhận dạng chữ viết lOMoAR cPSD| 45734214 1.2 Nhị phân hóa ảnh
Nhị phân hóa ảnh là một kỹ thuật chuyển ảnh đa cấp xám sang ảnh nhị phân. Trong
bất kỳ bài toán phân tích hoặc nâng cao chất lượng ảnh nào, nó cũng cần thiết để xác
định các đối tượng quan trọng. Nhị phân hóa ảnh phân chia ảnh thành 2 phần: phần nền
và phần chữ. Hầu hết các phương pháp nhị phân hóa ảnh hiện nay đều lựa chọn một
ngưỡng thích hợp theo cường độ sáng của ảnh và sau đó chuyển tất cả các giá trị độ sáng
lớn hơn ngưỡng đó thành một giá trị độ sáng (ví dụ “trắng”) và tất cả các giá trị bé hơn
ngưỡng thành một giá trị độ sáng khác (“đen”).
Hình 2:Nhị phân hóa ảnh.. 1.3 Lọc nhiễu
Nhiễu là một tập các điểm sáng thừa trên ảnh. Khử nhiễu là một vấn đề thường gặp
trong nhận dạng, nhiễu có nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu đứt nét...).
Hình 3.Nhiễu đốm và nhiễu vệt.
Để khử các nhiễu đốm (các nhiễu với kích thước nhỏ), có thể sử dụng các phương
pháp lọc (lọc trung bình, lọc trung vị...). Tuy nhiên, với các nhiễu vệt (hoặc các nhiễu có
kích thước lớn) thì các phương pháp lọc tỏ ra kém hiệu quả, trong trường hợp này sử
dụng phương pháp khử các vùng liên thông nhỏ tỏ ra có hiệu quả hơn. lOMoAR cPSD| 45734214
1.4 Chuẩn hóa kích thước ảnh
Hình 4: Chuẩn hóa kích thước ảnh các ký tự “A” và “P”.
Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trọng tâm ảnh, sau đó xác định
khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải của hình chữ nhật
bao quanh ảnh. Thông qua khoảng cách lớn nhất đó, có thể xác định được một tỷ lệ co,
giãn của ảnh gốc so với kích thước đã xác định, từ đó hiệu chỉnh kích thước ảnh theo tỷ
lệ co, giãn này. Như vậy, thuật toán chuẩn hóa kích thước ảnh luôn luôn đảm bảo được
tính cân bằng khi co giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch
1.5. Làm trơn biên chữ
Đôi khi do chất lượng quét ảnh quá xấu, các đường biên của chữ không còn giữ được
dáng điệu trơn tru ban đầu mà hình thành các đường răng cưa giả tạo. Trong các trường
hợp này, phải dùng các thuật toán làm trơn biên để khắc phục . (a) (b)
Hình 5: (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên. lOMoAR cPSD| 45734214 1.6 Làm đầy chữ
Chức năng này được áp dụng với các ký tự bị đứt nét một cách ngẫu nhiên. Ảnh đứt
nét gây khó khăn cho việc tách chữ, dễ bị nhầm hai phần liên thông của ký tự thành hai
ký tự riêng biệt, tạo nên sai lầm trong quá trình nhận dạng. 1.7 Làm mảnh chữ
Đây là một bước quan trọng nhằm phát hiện khung xương của ký tự bằng cách loại bỏ
dần các điểm biên ngoài của các nét. Tuy nhiên, quá trình làm mảnh chữ rất nhạy cảm
với việc khử nhiễu. Hiện nay có nhiều phương pháp làm mảnh chữ, các thuật toán tìm
xương có thể tham khảo ở [28].
Hình 6: Làm mảnh chữ.
1.8 Điều chỉnh độ nghiêng của văn bản
Do trang tài liệu quét vào không cẩn thận hoặc do sự cố in ấn, các hàng chữ bị lệch so
với lề chuẩn một góc α, điều này gây khó khăn cho công đoạn tách chữ, đôi khi không
thể tách được. Trong những trường hợp như vậy, phải tính lại tọa độ điểm ảnh của các chữ bị sai lệch.
Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ biến nhất dựa trên cơ sở biểu
đồ chiếu (projection profile) của ảnh tài liệu; một số kỹ thuật dựa trên cơ sở các phép
biến đổi Hough và Fourier. một số kỹ thuật hiệu chỉnh độ nghiêng khác có thể tìm thấy trong .
Hình 7: Hiệu chỉnh độ nghiêng của văn bản. lOMoAR cPSD| 45734214
2. Mô hình K-nearest neighbor.
Với KNN, trong bài toán Classification, label của một điểm dữ liệu mới (hay kết quả của
câu hỏi trong bài thi) được suy ra trực tiếp từ K điểm dữ liệu gần nhất trong training set.
Label của một test data có thể được quyết định bằng major voting (bầu chọn theo số
phiếu) giữa các điểm gần nhất, hoặc nó có thể được suy ra bằng cách đánh trọng số khác
nhau cho mỗi trong các điểm gần nhất đó rồi suy ra label. Chi tiết sẽ được nêu trong phần tiếp theo.
Trong bài toán Regresssion, đầu ra của một điểm dữ liệu sẽ bằng chính đầu ra của điểm
dữ liệu đã biết gần nhất (trong trường hợp K=1), hoặc là trung bình có trọng số của đầu
ra của những điểm gần nhất, hoặc bằng một mối quan hệ dựa trên khoảng cách tới các điểm gần nhất đó.
Một cách ngắn gọn, KNN là thuật toán đi tìm đầu ra của một điểm dữ liệu mới bằng cách
chỉ dựa trên thông tin của K điểm dữ liệu trong training set gần nó nhất (K-lân cận),
không quan tâm đến việc có một vài điểm dữ liệu trong những điểm gần nhất này là
nhiễu. Hình dưới đây là một ví dụ về KNN trong classification với K = 1 .
Hình 8:Mô hình nhận dạng chữ viết tay lOMoAR cPSD| 45734214
Chuẩn hóa dữ liệu
Khi có một thuộc tính trong dữ liệu (hay phần tử trong vector) lớn hơn các thuộc tính
khác rất nhiều (ví dụ thay vì đo bằng cm thì một kết quả lại tính bằng mm), khoảng cách
giữa các điểm sẽ phụ thuộc vào thuộc tính này rất nhiều. Để có được kết quả chính xác
hơn, một kỹ thuật thường được dùng là Data Normalization (chuẩn hóa dữ liệu) để đưa
các thuộc tính có đơn vị đo khác nhau về cùng một khoảng giá trị, thường là từ 0 đến 1,
trước khi thực hiện KNN. Có nhiều kỹ thuật chuẩn hóa khác nhau, các bạn sẽ được thấy
khi tiếp tục theo dõi Blog này. Các kỹ thuật chuẩn hóa được áp dụng với không chỉ KNN
mà còn với hầu hết các thuật toán khác.
Sử dụng các phép đo khoảng cách khác nhau
Ngoài norm 1 và norm 2 tôi giới thiệu trong bài này, còn rất nhiều các khoảng cách khác
nhau có thể được dùng. Một ví dụ đơn giản là đếm số lượng thuộc tính khác nhau giữa
hai điểm dữ liệu. Số này càng nhỏ thì hai điểm càng gần nhau. Đây chính là giả chuẩn 0
mà tôi đã giới thiệu trong Tab Math. Ưu điểm của KNN
Độ phức tạp tính toán của quá trình training là bằng 0.
Việc dự đoán kết quả của dữ liệu mới rất đơn giản.
Không cần giả sử gì về phân phối của các class.
Nhược điểm của KNN
KNN rất nhạy cảm với nhiễu khi K nhỏ.
Như đã nói, KNN là một thuật toán mà mọi tính toán đều nằm ở khâu test. Trong đó
việc tính khoảng cách tới từng điểm dữ liệu trong training set sẽ tốn rất nhiều thời
gian, đặc biệt là với các cơ sở dữ liệu có số chiều lớn và có nhiều điểm dữ liệu. Với
K càng lớn thì độ phức tạp cũng sẽ tăng lên. Ngoài ra, việc lưu toàn bộ dữ liệu trong
bộ nhớ cũng ảnh hưởng tới hiệu năng của KNN.