Thay vào đó, KNN sử dụng khoảng cách giữa các điểm dữ liệu để xác định "láng giềng gần nhất" của điểm cần dự đoán, từ đó suy ra kết quả.. Dựa trên các điểm lân cận này, KNN có thể dự đoá
Trang 1———————<= “=—=«>`lz»c-—— ©—— —
- TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG THÀNH PHÒ HÒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BY BYG) BH) HYG) BH) HYG) K CRERCRCRGRGRGRGR GR
%›oOoœs
Thành phé Hé Chi Minh, thang 10 nam 2024
——————>-=«›`'-+<— OO
Trang 2
TRUONG DAI HOC CONG THUONG THANH PHO HO CHi MINH
KHOA CONG NGHE THONG TIN
Giảng viên hướng dan: TRAN DINH TOAN
Sinh viên thực hiện:
Nhóm trưởng: BIỆN PHƯỚC SANG
Thành viên 1:NGUYỄN HOÀNG PHI HƯNG
Thành viên 2:Biện Phước Sang 2001224149
#a2o0oœs
Thành phố Hồ Chí Minh, thang 10 nam 2024
Trang 3
LỜI CAM ĐOAN
“Chúng em xin cam đoan sẽ thực hiện nghiên cứu về đồng bộ hóa tiên trình một cách nghiêm túc và khoa học Chúng em hiệu rằng đồng bộ hóa tiền trình là một vấn đè
quan trọng trong hệ điều hành, có ảnh hưởng trực tiếp đến hiệu suất và độ tin cậy của hệ thống
Chúng em cam két sẽ hoàn thành nghiên cứu một cách độc lập, tuân thủ các quy
định của trường và đám báo tính chính xác của kết quá nghiên cứu
Chúng em xin chan thanh cam on!”
Dai diện thành viên nhóm
Trang 4LOI CAM ON
“Chúng em xin chân thành cảm ơn thầy Trần Đình Toàn đã tận tình hướng dẫn, chỉ
bảo và tạo điều kiện thuận lợi để chúng em hoàn thành đề tài nghiên cứu này Nhờ sự
giúp đỡ của thầy, chúng em đã có những kiến thức sâu sắc và toàn diện về đồng bộ hóa
tiến trình ”
"Chúng em xin gửi lời cảm ơn đến các tác giả của những công trình nghiên cứu đã đóng góp vào việc xây dựng nền tảng kiến thức cho đề tài này Nhờ có những nghiên cứu
đó, chúng em đã có thê tiếp cận và hiểu rõ hơn về vấn đề đồng bộ hóa tiến trình
"Chúng em hi vọng những kết quả nghiên cứu của mình sẽ góp phần nhỏ bé vào sự
phát triển của lĩnh vực đồng bộ hóa tiến trình."
Trí Tuệ Nhân Tạo là một môn học quan trọng, thiết thực Tuy nhiên, do hạn chế
kinh nghiệm nghiên cứu và các khó khăn về nguồn tài liệu cũng như sự mới mẻ của đề tài
và còn nhiều bỡ ngỡ trong bài tiểu luận của chúng em chắc chắn còn nhiều thiếu sót và hạn chế Rất mong nhận được sự nhận xét, ý kiến đóng góp, phê bình từ phía Thầy để bài
tiểu luận được hoàn thiện hơn
Lời cuối cùng, chúng em xin kính chúc Thầy/Cô nhiều sức khỏe, thành công và
hạnh phúc ”
Trang 5LỜI NHẬN XÉT CỦA GIẢNG VIÊN
Trang 6Mục lục
1 Giới thiệu thuật toán KNN
1.1 Định nghĩa thuật toán KNN
1.2 Lịch sử phát triển và ứng dụng ban đầu của KNN
Trang 75.2 Nhược điểm của KNN
6 Ứng dụng của thuật toán KNN trong thực tế
6.1 Phân loại hình ảnh
6.2 Phân loại văn bản và phân tích ngôn ngữ tự nhiên
6.3 Hệ thắng gợi ý
6.4 Dự đoán giá trị trong phân tích tài chính
6.5 Phân tích y sinh và chắn đoán bệnh
6.6 Nhận diện mẫu trong đữ liệu thời gian thực
7 Tối ưu hóa thuật toán KNN
7.1 Tối ưu hóa hiệu năng
7.2 Tối ưu hóa độ chính xác
8 Các biến thế của thuật toán KNN
9.2 Ưu, nhược điểm của KNN trong so sánh với các thuật toán khác
9.3, Các trường hợp KNN chưa phải là lựa chọn tối ưu
9.4 Tiềm năng cải tiến và ứng dụng trong tương lai
Trang 8PHAN MỞ ĐẦU
Trong thời đại bùng nỗ đữ liệu và công nghệ hiện nay, các phương pháp học máy đóng vai trò quan trọng trong việc xử lý và phân tích dữ liệu để đưa ra các dự đoán và quyết định chính xác Thuật toán K-Nearest Neighbors (KNN) là một trong những thuật toán cơ bản và pho bién nhat trong lĩnh vực này nhờ vảo sự đơn giản, dé hiểu và tính ứng dụng rộng rãi trong nhiều lĩnh vực như nhận diện mẫu, phân loại, và hồi quy
KNN thuộc nhóm các thuật toán không tham số (non-parametric), nghĩa là nó không yêu cầu mô hình hóa đữ liệu theo một phân phối cô định Thay vào đó, KNN sử dụng khoảng cách giữa các điểm dữ liệu để xác định "láng giềng gần nhất" của điểm cần dự đoán, từ đó suy ra kết quả Dựa
trên các điểm lân cận này, KNN có thể dự đoán nhãn hoặc giá trị liên tục cho điểm mới, giup giai
quyết được các bài toán phân loại và hồi quy
Tuy nhiên, dù mang lại nhiều lợi ích, KNN cũng tồn tại một số hạn chế đáng chú ý khi áp dung vào dữ liệu lớn hoặc dữ liệu có nhiều chiều Đề tối ưu hóa thuật toán và vượt qua các khó khăn về hiệu năng, nhiều cái tiến và biến thể của KNN đã được nghiên cứu và phát triển
Bài báo cáo này sẽ đi sâu phân tích các khía cạnh quan trọng của thuật toán KNN, từ cách thức hoạt động, ưu nhược điểm, ứng dụng thực tế đến các phương pháp tối ưu hóa và các biến thé khác nhau Qua đó, người đọc sẽ có cái nhìn toàn điện và đánh giá chính xác hơn về khả năng áp dụng của KNN trong các bài toán học máy thực tiễn
Trang 9BÁO CÁO VỀ THUẬT TOÁN K-NN
1 Giới thiệu
» _ Thuật toán K-Nearest Neighbors (KNN) là một trong những thuật toán học máy đơn gián và phô biến, đặc biệt là trong các bài toán phân loại và hồi quy KNN không yêu cầu giai đoạn huấn luyện phức tạp, và thay vào đó, nó sử dụng toàn bộ đữ liệu huấn luyện đề đưa ra quyết định khi dự đoán cho một dữ liệu mới
« - Nguyên lý cơ bản: KNN hoạt động dựa trên gia dinh rang các đối tượng có tính chất
tương tự nhau sẽ nằm gân nhau trong không gian đặc trưng Điều này có nghĩa là khi có một đữ liệu mới cần dự đoán nhãn (trong phân loại) hoặc giá trị (trong hồi quy), KNN sẽ
so sánh điểm đữ liệu này với các điểm đữ liệu khác trong tập huấn luyện và xem nhãn (hoặc giá trị) của các điểm gần nhất để đưa ra đự đoán
» Lý do KNN trở nên phố biến:
o_ Dễ hiểu và dễ triển khai: Không yêu cầu kiến thức chuyên sâu về học máy
hay kỹ thuật phức tạp
ø _ Không yêu cầu giai đoạn huấn luyện: KNN không cản mô hình hóa hoặc
xây dựng công thức phức tạp Dự đoán được thực hiện trực tiếp bằng cách
tính toán khoảng cách
o_ Ứng dụng đa dạng: KNN được ứng dụng trong các lĩnh vực như nhận diện
hình ánh, phân loại văn bán, và hệ thống gợi ý, nhờ vào khả năng tìm kiếm
Sự tương đồng giữa các đối tượng
« Nội dung báo cáo:+
o _ Trình bày chỉ tiết nguyên lý của KNN
o_ Các bước triên khai và những yêu tố cần chú ý khi áp dụng
o_ Các phương pháp tính toán khoảng cách khác nhau và cách lựa chọn giá trị
K
o Phan tich ưu, nhược điểm và một số ứng dụng thực tế của thuật toán KNN
2 Cơ sở lý thuyết
2.1 Khái niệm thuật toán K-Nearest Neighbors (KNN)
« _ Định nghĩa: KNN là một thuật toán phân loại và hỏi quy dựa trên khoáng cách Khi cần đưa ra dự đoán cho một điểm dữ liệu mới, thuật toán sẽ:
o_ Tìm K điểm dữ liệu gần nhất trong không gian đặc trưng từ tập dữ liệu
huán luyện
o_ Đổi với phân loại: Dựa vào nhãn của các điểm gần nhát đề quyết định nhãn
cho điểm mới
o_ Đổi với hồi quy: Tính trung bình giá trị của các điểm gần nhất đề dự đoán giá trị cho điểm mới.
Trang 102.2 Phân loại và hồi quy trong KNN
« _ Phân loại: KNN có thẻ xem là một thuật toán phân loại dựa trên đa số phiếu
(majority voting) Đề dự đoán nhãn cho một điểm đữ liệu mới, KNN chọn ra K diém gan nhất và nhãn phô biến nhất trong số các điêm này sẽ là nhãn dự đoán
« Hồi quy: Trong trường hợp hỏi quy, thuật toán sẽ tính giá trị trung bình của các điềm dữ liệu gàn nhát đề đưa ra dự đoán cho điềm mới Điều này có nghĩa là nếu các điểm gần đó có giá trị cao, thì diém cần dự đoán cũng sẽ có xu hướng nhận giá trị cao và ngược lại
2.3 Các yếu tố ảnh hưởng đến hiệu quả của KNN
¢ Gia tri K: Là số lượng “hàng xóm gần nhất” được xem xét dé đưa ra dự đoán cho điểm mới Giá trị K có ảnh hưởng lớn đến độ chính xác và tính tổng quát của thuật toán:
o Knhé: Kết quá của mô hình dễ bị ảnh hưởng bởi dữ liệu nhiễu, dẫn đến
nguy cơ OVerfitting
o_ K lớn: Mô hình sẽ có tính tông quát cao hơn nhưng có thể Đỏ qua các điểm
dữ liệu quan trọng, làm giảm độ chính xác
o_ Lựa chọn K tối ưu: Thường thực hiện qua phương pháp kiêm định chéo
(cross-validation) dé tim ra gia trị K có độ chính xác cao nhát
e - Phương pháp tính khoảng cách:
o_ Khoảng cách giữa các điêm dữ liệu xác định độ “gần” của các điểm và do
đó ảnh hưởng đến việc chọn hàng xóm
o_ Các phương pháp tính khoảng cách phỏ biến là Euclidean va Manhattan,
hoac bién thé Minkowski:
„_ Euclidean: Đo khoáng cách đường thăng, phù hợp khi các đặc trưng
liên tục có quy mô gàn nhau
» Manhattan: Do khoảng cách theo các trục, phù hợp với các dữ liệu
có dạng lưới hoặc đặc trưng roi rac
» Minkowski: La dang tong quat cua Euclidean va Manhattan, trong
đó người dùng có thẻ điều chinh tham số ppp đề tùy chinh khoảng
cách
+ Chuẩn hóa dữ liệu: KNN phụ thuộc vào khoảng cách, nên các đặc trưng với độ lớn khác
nhau cần được chuẩn hóa (ví dụ: Min-Max Scaling hoặc Standard Scaling) đề tránh ánh
hưởng quá lớn của một đặc trưng cụ thé
2.4 Các dạng biến thể của KNN
« _ Weighted KNN: Đề tăng độ chính xác, KNN có thê áp dụng một biến thê có trọng
số, trong đó các điểm gan hơn được gán trọng số lớn hơn, giúp thuật toán nhạy Cảm hơn với các điểm ở gần
« _ KNN với KD-tree hoặc Ball-tree: Các cấu trúc dữ liệu này giúp tối ưu hóa tìm kiếm hàng xóm, làm giảm chỉ phí tính toán cho các tập đữ liệu lớn
Trang 113 Các bước triển khai KNN
Đề triển khai thuật toán K-Nearest Neighbors (KNN), cần tuân theo các bước chính như sau:
3.1 Lựa chọn giá trị K
« Klàgì?: K là số lượng “hàng xóm gần nhất” sẽ được xét đến để xác định nhãn
hoặc giá trị của điểm dữ liệu mới Giá trị của K có ảnh hưởng lớn đến độ chính xác
của thuật toán
+ _ Cách lựa chọn K:
o Gia tri K nhỏ: Khi K nhỏ (ví dụ, K=1 hoặc K=3), thuật toán sẽ xem xét rất
ít hàng xóm, có thẻ dẫn đến việc quá khớp (overfitting) và dễ bị ảnh hưởng bởi nhiễu trong dữ liệu
o_ Giá trị K lớn: Khi K lớn (ví dụ, K=10 hoặc K=20), thuật toán sẽ có xu
hướng xem xét nhiều hàng xóm hơn, giúp giảm nhiễu nhưng có thể dẫn đến
hiện tượng underfitting, bỏ qua các chỉ tiết của dữ liệu
o_ Xác định K tối ưu: K thường được xác định thông qua các phương pháp kiêm định chéo (cross- validation) Phuong phap nay thir nghiệm nhiều giá trị K khác nhau đề tìm ra giá trị cho hiệu suất dự đoán tốt nhát trên tập kiêm tra
3.2 Tính khoảng cách
+ Tai sao can tính khoảng cach?: KNN dựa trên khoảng cách đê xác định các điểm
dữ liệu nào gan nhất với điểm dữ liệu cần dự đoán Các điêm gần sẽ có ánh hưởng mạnh mẽ đến kết quả dự đoán hơn so với các điểm xa
« _ Các phương pháp tính khoảng cách phổ biến:
o Euclidean: Khoảng cách Euclidean thường được Sử dụng cho các đặc trưng
số liên tục Công thức tính như sau:
Manhattan: Phuong pháp này tính khoảng cách dựa trên trục toa độ, thường được dùng cho đữ liệu lưới hoặc các đặc trưng rời rạc:
Trang 12« _ Cách xác định: Sau khi tính toán khoảng cách giữa điểm dữ liệu mới va tat cá các
điểm trong tập huán luyện, thuật toán sẽ chọn ra K diém có khoảng cách nhỏ nhất
(K hàng xóm gan nhát)
« - Lọc và xếp hạng: Tất cả các điểm Sẽ được sắp xếp theo thứ tự tăng dan cua khoang cach Sau do, chi K diém gan nhất sẽ được dùng đề bỏ phiêu cho nhãn hoặc tính giá trị trung bình
3.4 Dự đoán nhãn hoặc giá trị
Ö - Dự đoán cho bài toán phân loại:
o Bo phiéu đa số: Với K hàng xóm gan nhát, thuật toán sẽ đếm số lượng mỗi nhãn xuất hiện và chọn nhãn xuất hiện nhiều nhất làm nhãn dự đoán cho điểm mới
o KNN C6 treng sé (Weighted KNN): Cac diém gan hon duoc gan trong sé
cao hon, giup dy doan chinh xac hon Trong số thường là nghịch đảo của
khoảng cách (ví dụ: weight=1 distance\text{weight} =
\frac{1 distance}weight=distance1)
« - Dự đoán cho bài toán hồi quy:
o Tinh trung bình: Giá trị dự đoán cho điểm mới là giá trị trung bình của các giá trị tại K điểm gàn nhát
10
Trang 13o _ Trọng số theo khoảng cách: Có thề áp dụng trọng Số tương tự như phân
loai dé cac diém gan hơn có ảnh hưởng lớn hơn đên giá trị dự doan cudi cùng
+ Dinh nghĩa: Khoảng cách Euclidean là khoảng cách đường thăng giữa hai điệm
trong không gian, là phương pháp pho biên va thường được Sử dụng cho đữ liệu sô
° Ứng dụng: Phù hợp với đữ liệu liên tục, đặc biệt là các đặc trưng không chênh lệch quá nhiêu về đơn vị đo lường Trước khi áp dụng khoảng cách này, dữ liệu thường cần chuẩn hoa dé dam bao rang cac đặc trưng có cùng thang đo
4.2 Khoảng cách Manhattan
¢ Dinh nghia: Khoang cach Manhattan la tông khoảng cách theo từng trục, được sử dụng nhiều cho các dữ liệu có dạng lưới, như trong các bài toán hình học lưới và bài toán đường đi ngắn nhất
« - Ứng dụng: Phù hợp với dữ liệu có các đặc trưng rời rạc hoặc khi muốn giảm tác động của các đặc trưng có giá trị cực đại Khoảng cách này cũng ít nhạy cảm với các giá trị ngoại lai hơn so với Euclidean
4.3 Khoảng cách Minkowski
¢ Dinh nghia: Minkowski la dang tong quat cua khoang cach Euclidean va Manhattan No
có thế điều chỉnh linh hoạt với tham số ppp, trong đó:
o Khi p=1: khoảng cach Minkowski la khoang cach Manhattan
o Khi p=2: khoang cach Minkowski la khoang cach Euclidean
«Ứng dụng: Phương pháp này cho phép điều chỉnh linh hoạt để thử nghiệm các khoảng cách khác nhau nhăm tôi ưu hóa độ chính xác cho bài toán cụ thể
4.4, Khoang cach Hamming
° Định nghĩa: Khoảng cách Hamming đo lường sự khác biệt giữa hai điểm đữ liệu đựa trên
số lượng đặc trưng khác nhau, thường dùng trong đữ liệu rời rạc hoặc nhị phân
« - Ứng dụng: Thường dùng trong các bài toán phân loại văn bản, phân loại dữ liệu nhị phân
và xử lý các mã bit
11