1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tiểu luận Đề tài thuật toán k nn

22 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thuật Toán K-NN
Tác giả Biện Phước Sang, Nguyễn Hoàng Phi Hưng
Người hướng dẫn Trần Đình Toàn
Trường học Trường Đại Học Công Thương Thành Phố Hồ Chí Minh
Chuyên ngành Trí Tuệ Nhân Tạo
Thể loại bài tiểu luận
Năm xuất bản 2024
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 22
Dung lượng 2,19 MB

Nội dung

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 4

LOI 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 5

LỜI NHẬN XÉT CỦA GIẢNG VIÊN

Trang 6

Mụ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 7

5.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 8

PHAN 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 9

BÁ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 10

2.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 11

3 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 13

o _ 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

Ngày đăng: 04/12/2024, 17:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN