1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài thuyết trình học phần trí tuệ nhân tạo tên đề tài thuật toán k nearest neighbors(k nn)

24 4 0

Đ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-Nearest Neighbors(K-NN)
Tác giả Lê Gia Huy, Lê Quốc Huy, Hồ Văn Khánh
Người hướng dẫn GVHD: Trần Đình Toàn
Trường học Trường Đại Học Công Thương TP.Hồ Chí Minh
Chuyên ngành Trí Tuệ Nhân Tạo
Thể loại Bài Thuyết Trình
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 24
Dung lượng 1,35 MB

Nội dung

+ Tích Hợp với Big Data: K-nn có thể được áp dụng vào xử lý big data, đặcbiệt là khi bạn muốn thực hiện các phân loại dựa trên sự tương đồng giữa các điểm dữ liệu.. Điều nàybao gồm cách

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP.HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

1 Lê Gia Huy

2 Lê Quốc Huy

3 Hồ Văn Khánh

Thành phố Hồ Chí Minh, tháng 10 năm 2023

Trang 2

MỤC LỤC

Phần I MỞ ĐẦU 1

Phần II NỘI DUNG 2

I Tổng quan về bài thuyết trình 2

1 Lý do chọn chọn đề tài 2

2 Mục đích nghiên cứu 2

II Thuật toán K-NN 4

1 Giới thiệu về thuật toán 4

1.1 Khái niệm thuật toán 4

1.2 Ưu nhược điểm của thuật toán 4

2 Ứng dụng 5

3 So sánh thuật toán K-NN và Thuật toán khác 6

4 Nội dung thuật toán 6

4.1 Ý tưởng của thuật toán 6

4.2 Các bước thực hiện 7

4.3 1 số phép đo khoảng các 8

4.3.1 Khoảnh cách Euclid (đường chim bay) 8

4.3.2 Khoảnh cách Manhattan 9

5 Ví dụ minh họa 9

5.1 Ví dụ 1 9

5.2 Ví dụ về K-NN nhiễu 10

5.3 Ví dụ 11

III Demo code 13

Phần III KẾT LUẬN 19

i

Trang 3

Phần IV TÀI LIỆU THAM KHẢO 20

ii

Trang 4

Phần I

BẢNG PHÂN CÔNG CÔNG VIỆC

iii

Trang 5

Phần II

Phần III MỞ ĐẦU

Trong thời đại hiện nay, không thể phủ nhận sự thăng hoa của trí tuệ nhântạo (AI) đã chuyển đổi toàn diện cả cuộc sống cá nhân và thế giới kinh doanh Sựphát triển vượt bậc của AI đã mang lại tiềm năng vô tận cho ứng dụng của nó trongđời sống hàng ngày và đa dạng các lĩnh vực công nghiệp Để hiểu sâu hơn về cách

AI vận hành và khả năng đưa ra các quyết định logic có ảnh hưởng sâu rộng, khôngthể không xem xét một khía cạnh quan trọng – thuật toán K-Nearest Neighbors(K-NN) Đây không chỉ là một công cụ, mà là một trụ cột trong lĩnh vực học máy vàlogic trong AI, giúp máy tính tư duy và suy luận như con người

Trong bài báo cáo này, chúng ta sẽ tìm hiểu sâu hơn về vị trí quan trọng củathuật toán K-NN trong ngành AI, khám phá cách nó hoạt động và tác động của nótrên cuộc cách mạng trí tuệ nhân tạo đang diễn ra trên khắp thế giới

iv

Trang 6

Phần IV NỘI DUNG

I Tổng quan về bài thuyết trình

1 Lý do chọn chọn đề tài

- Thuật toán K-nn (K-nearest neighbors) là một lựa chọn tốt cho đề tài mônTrí tuệ Nhân tạo vì nó đơn giản nhưng mạnh mẽ Dưới đây là một số lý do chọn đềtài này:

+ Hiểu rõ về cơ bản của Machine Learning: K-nn là một thuật toán cơbản trong machine learning, giúp bạn hiểu rõ về cách mà các thuật toán này hoạtđộng Nó làm rõ khái niệm về việc dự đoán dựa trên dữ liệu huấn luyện gần nhất

+ Dễ Hiểu và Triển Khai: Thuật toán này rất dễ hiểu, đặc biệt là cho nhữngngười mới bắt đầu trong lĩnh vực trí tuệ nhân tạo Bạn có thể dễ dàng thấy cách nóhoạt động và áp dụng nó trong các bài toán cụ thể

+ Ứng Dụng Rộng Rãi: K-nn được sử dụng trong nhiều lĩnh vực như nhậndạng hình ảnh, phân loại văn bản, và nhiều bài toán khác Bạn có thể tìm hiểu cách

nó áp dụng vào các vấn đề thực tế

+ Khám Phá và Nghiên Cứu Cải Tiến: Bạn có thể nghiên cứu về các phươngpháp cải tiến của K-nn, ví dụ như việc sử dụng các phương pháp tối ưu hóa để cảithiện hiệu suất hoặc kết hợp nó với các phương pháp khác

+ Tích Hợp với Big Data: K-nn có thể được áp dụng vào xử lý big data, đặcbiệt là khi bạn muốn thực hiện các phân loại dựa trên sự tương đồng giữa các điểm

dữ liệu

2 Mục đích nghiên cứu

v

Trang 7

-Hiểu Rõ Hơn về Quá Trình Quyết Định: Nghiên cứu về thuật toán K-nn cóthể giúp hiểu rõ hơn về cách quá trình quyết định diễn ra trong mô hình Điều nàybao gồm cách nó đo lường sự tương đồng giữa các điểm dữ liệu và quyết định dựatrên các điểm gần nhất.

- Hiệu Suất và Tối Ưu Hóa: Một mục đích quan trọng là nghiên cứu cách cảithiện hiệu suất của thuật toán K-nn Có thể xem xét các kỹ thuật tối ưu hóa, giảmthiểu độ phức tạp tính toán, hoặc xử lý hiệu quả với dữ liệu lớn

-Ứng Dụng trong Lĩnh Vực Cụ Thể: Mục tiêu có thể tập trung vào cách K-nn

có thể được áp dụng trong các lĩnh vực cụ thể như y tế, tài chính, hình ảnh, hayngôn ngữ tự nhiên Các ứng dụng cụ thể sẽ giúp nâng cao hiểu biết và áp dụng thực

tế của thuật toán

-Khả Năng Áp Dụng Đa Nhiệm: Nghiên cứu có thể tập trung vào khả năngcủa K-nn trong các nhiệm vụ đa nhiệm, tức là làm thế nào nó có thể được sử dụng

để giải quyết nhiều vấn đề cùng một lúc hoặc làm thế nào nó tương tác với các môhình khác

-Tích Hợp với Các Công Nghệ Mới: Mục tiêu nghiên cứu cũng có thể liênquan đến việc tích hợp thuật toán K-nn với các công nghệ mới như học máy tăngcường, học máy dựa trên biểu diễn, hoặc các kỹ thuật khác đang phát triển

-Đối Mặt với Thách Thức Dữ Liệu: Một mục đích khác có thể là nghiên cứulàm thế nào thuật toán K-nn đối mặt với thách thức từ dữ liệu không đồng đều,nhiễu, hoặc thiếu sót

=>> Nói chung, mục đích nghiên cứu của thuật toán K-nn trong trí tuệ nhântạo là cải thiện hiểu biết, hiệu suất và ứng dụng thực tế của nó trong các lĩnh vựckhác nhau

vi

Trang 8

II Thuật toán K-NN

1 Giới thiệu về thuật toán

1.1 Khái niệm thuật toán

-KNN (K-Nearest Neighbors) là một trong những thuật toán học có giám sátđơn giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy Ý tưởng củathuật toán này là nó không học một điều gì từ tập dữ liệu học (nên KNN được xếpvào loại lazy learning), mọi tính toán được thực hiện khi nó cần dự đoán nhãn của

dữ liệu mới

-Lớp (nhãn) của một đối tượng dữ liệu mới có thể dự đoán từ các lớp (nhãn)của k hàng xóm gần nó nhất

Có một vài khái niệm tương ứng người-máy như sau:

Ngôn ngữ người Ngôn ngữ Máy Học in Machine Learning

Tập tài liệu mang vào phòng thi Tập dữ liệu tập huấn Training set

Câu hỏi trong dề thi Dữ liệu kiểm thử Test data point

Câu hỏi gần giống Điểm dữ liệu gần nhất Nearest Neighbor

1.2 Ưu nhược điểm của thuật toán

Đơn giản và dễ triển khai: Thuật toán

KNN đơn giản và dễ hiểu, không yêu

cầu quá nhiều trọng số hay tham số phức

Yếu tố tính toán: Một trong

những hạn chế của KNN là yếu tố tính toán Với mỗi điểm dữ liệu

vii

Trang 9

tạp Điều này làm cho việc triển khai

thuật toán trở nên dễ dàng và nhanh

chóng

mới cần phân loại, thuật toán phải tính toán khoảng cách đến tất cả các điểm dữ liệu huấn luyện đã biết Điều này đòi hỏi một lượng tính toán đáng kể, đặc biệt là với tập dữ liệu lớn

Linh hoạt trong việc xử lý dữ liệu:

KNN có khả năng phân loại dữ liệu với

nhiều đặc trưng và nhãn khác nhau Nó

không giới hạn bởi các giả định về phân

phối của dữ liệu và có thể áp dụng cho

nhiều loại bài toán khác nhau

Nhạy cảm với dữ liệu nhiễu:

KNN có thể nhạy cảm với dữ liệu nhiễu và các điểm dữ liệu outlier Điều này có thể ảnh hưởng đến độ chính xác của thuật toán, vì nó có thể gây ra các dự đoán sai lệch

Không cần quá trình huấn luyện phức

tạp: KNN không yêu cầu quá trình huấn

luyện phức tạp như các thuật toán học

máy khác Thay vào đó, nó sử dụng các

điểm dữ liệu huấn luyện đã biết để phân

loại điểm dữ liệu mới

Lựa chọn K và phương pháp tính khoảng cách: Độ chính xác

của thuật toán KNN phụ thuộc vào giá trị của K (số lượng điểm gần nhất) và phương pháp tính khoảng cách giữa các điểm dữ liệu Lựa chọn K và phương pháp tính khoảng cách phù hợp là quan trọng

để đạt được kết quả tốt

Dễ dàng mở rộng: KNN có thể được

mở rộng để xử lý dữ liệu lớn và đa chiều

bằng cách sử dụng các cấu trúc dữ liệu

như cây KD-Tree hoặc cấu trúc dữ liệu

băm Điều này giúp cải thiện hiệu suất

tính toán của thuật toán

2 Ứng dụng

KNN là một mô hình đơn giản và trực quan nhưng vẫn có hiệu quả cao vì nókhông tham số; mô hình không đưa ra giả định nào về việc phân phối dữ liệu Hơnnữa, nó có thể được sử dụng trực tiếp để phân loại đa lớp

viii

Trang 10

Thuật toán KNN có nhiều ứng dụng trong ngành đầu tư, bao gồm dự đoánphá sản, dự đoán giá cổ phiếu, phân bổ xếp hạng tín dụng trái phiếu doanh nghiệp,tạo ra chỉ số vốn và trái phiếu tùy chỉnh.

3 So sánh thuật toán K-NN và Thuật toán khác

-K-nn vs Học máy tăng cường (Reinforcement Learning):

+K-nn: Dùng cho bài toán phân loại và dự đoán dựa trên sự tương đồng vớicác điểm dữ liệu lân cận

+Reinforcement Learning: Chủ yếu dùng trong bài toán quyết định chuỗihành động để tối ưu hóa một hàm thưởng

-K-nn vs Mạng Nơ-ron (Neural Networks):

+K-nn: Dễ hiểu, không yêu cầu nhiều tham số, thích hợp cho dữ liệu có cấutrúc đơn giản

+Neural Networks: Mạnh mẽ với khả năng học đặc trưng phức tạp, phù hợpcho nhiều loại dữ liệu, đặc biệt là hình ảnh, văn bản

-K-nn vs Xử lý Ngôn Ngữ Tự Nhiên (Natural Language Processing - NLP):+K-nn: Có thể sử dụng cho phân loại văn bản đơn giản dựa trên sự tươngđồng

+NLP: Sử dụng các mô hình như Transformer để hiểu và tạo ra ngôn ngữ tựnhiên, phức tạp hơn so với việc so sánh dựa trên sự tương đồng

4 Nội dung thuật toán

ix

Trang 11

4.1 Ý tưởng của thuật toán

Thuật toán KNN cho rằng những dữ liệu tương tự nhau sẽ tồn tại gần nhau trong một không gian, từ đó công việc của chúng ta là sẽ tìm k điểm gần với

dữ liệu cần kiểm tra nhất Việc tìm khoảng cách giữa 2 điểm củng có nhiều côngthức có thể sử dụng, tùy trường hợp mà chúng ta lựa chọn cho phù hợp

4.2 Các bước thực hiện

Phương pháp K-Nearest Neighbors (K-NN) là một thuật toán học máy khôngparametric, tức là nó không giả định bất kỳ mô hình hay phân phối cụ thể nào về dữliệu Thay vào đó, nó dựa vào việc so sánh và lựa chọn các điểm dữ liệu gần nhất

để thực hiện phân loại hoặc dự đoán

Dưới đây là các bước cơ bản để triển khai thuật toán K-NN:

luyện có nhãn, trong đó mỗi điểm dữ liệu đã được gán nhãn Nếu bạn đang làmviệc trên bài toán phân loại, nhãn sẽ là các nhãn lớp (class labels) Nếu bạn đanglàm việc trên bài toán dự đoán, nhãn có thể là các giá trị số (ví dụ: dự đoán giá trịcủa một thuộc tính)

thường là một số lẻ Giá trị của K quyết định số lượng hàng xóm sẽ được lựa chọn

để thực hiện phân loại hoặc dự đoán cho một điểm dữ liệu mới

độ tương đồng (hoặc khoảng cách) giữa các điểm dữ liệu trong tập huấn luyện vàđiểm dữ liệu mới Khoảng cách Euclide là một phương pháp phổ biến để tính toán

x

Trang 12

độ tương đồng, nhưng có thể sử dụng các phương pháp đo khác như khoảng cáchManhattan, khoảng cách Cosine, hoặc hàm kernel.

điểm dữ liệu gần nhất với điểm dữ liệu mới Các điểm dữ liệu này được xem là

"hàng xóm" trong thuật ngữ K-NN

xóm để phân loại hoặc dự đoán cho điểm dữ liệu mới Đối với bài toán phân loại,chúng ta thực hiện đa số phiếu bầu (voting) để xác định nhãn cuối cùng dựa trênnhãn của K hàng xóm Đối với bài toán dự đoán, chúng ta có thể tính trung bình giátrị của các hàng xóm hoặc sử dụng các phương pháp khác tùy thuộc vào bài toán cụthể

Điều quan trọng khi triển khai thuật toán K-NN là lựa chọn đúng giá trị K vàphương pháp đo độ tương đồng phù hợp với bài toán Ngoài ra, việc chuẩn bị vàtiền xử lý dữ liệu cũng có thể ảnh hưởng đáng kể đến kết quả của thuật toán

Bước 1: Xác định tham số K= số láng giềng gần nhất

Bước 2: Tính khoảng cách đối tượng cần phân lớp với tất cả các đối tượng trongtraining data

Bước 3: Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gầnnhất với đối tượng cần phân lớp

Bước 4: Lấy tất cả các lớp của K láng giềng gần nhất

Bước 5: Dựa vào phần lớn lớp của K để xác định lớp cho đối tượng cần phân lớp

4.3 1 số phép đo khoảng các

4.3.1 Khoảnh cách Euclid (đường chim bay)

xi

Trang 13

Khoảng cách Euclid (Euclidean distance) là việc chúng ta tìm khoảng cáchgiữa hai điểm trong không gian, ví dụ cho hai điểm P1(x1,y1) và P2(x2,y2) thìkhoảng cách Euclid sẽ được tính theo công thức:

d=√(x2−x1)2+(y2−y1)2

4.3.2 Khoảnh cách Manhattan

Khoảng cách Manhattan (Manhattan distance) còn được gọi là khoảng cáchL1 hay khoảng cách trong thành phố, là một dạng khoảng cách giữa hai điểmtrong không gian Euclid với hệ tọa độ Descartes Đại lượng này được tính bằngtổng chiều dài của hình chiếu của đường thẳng nối hai điểm này trong hệ trục tọa

Trang 14

Giả sử bài toán được đặt ra: mình mới quen một người bạn, tuy nhiên mình

là fan của Us-Uk vậy nên mình cần biết người bạn này có phải là fan của K-Pophay không Qua thời gian tìm hiểu mình đã thu thập được một số dữ liệu và đã biểuhiện dưới dạng hình vẽ trên

Ta dễ dàng nhìn thấy có hai loại: hình vuông màu xanh biểu diễn cho nhữngngười là fan của K-pop, tam giác màu đỏ biểu diễn cho những người không là fancủa K-pop, hình tròn màu xanh là người bạn mình muốn biết có phải là fan K-pophay không, khoảng cách giữa chấm tròn và các điểm còn lại biểu diễn độ thân thiếtcủa bạn đó với những người bạn

Phương pháp đơn giản nhất để kiểm tra xem bạn đó chơi thân với người bạnnào nhất, tức là tìm xem điểm gần chấm xanh thuộc class nào (hình vuông hay tamgiác) Từ hình trên ta dễ dàng nhận thấy điểm gần chấm xanh nhất là hình tam giácmàu đỏ, do đó nó sẽ được phân vào lớp tam giác màu đỏ

Có một vấn đề trong phương pháp trên, xung quanh cấm xanh xuất hiện rấtnhiều hình vuông màu xanh nên việc xét điểm gần nhất là chưa khả thi Vì vậy, ta

sẽ xét k điểm gần nhất Giả sử, ta lấy K=3, dựa theo hình trên ta dễ dàng nhận ra cóhai

hình tam giác đỏ và một hình vuông xanh có khoảng cách gần chấm xanh nhất, do

đó chấm xanh được phân vào lớp tam giác đỏ Lấy K=7, ta có năm hình vuôngxanh và hai hình tam giác đỏ, lúc này chấm xanh được xếp vào lớp hình vuôngxanh Trường hợp lấy K=4, ta nhận thấy sẽ có hai hình vuông xanh và hai hình tamgiác đỏ, đây là trường hợp có điểm bằng nhau, với trường hợp này KNN sẽ xử lýbằng cách so sánh tổng khoảng cách của các hình gần nhất với điểm ta đang xét

xiii

Trang 15

5.3 Ví dụ

xiv

Trang 16

Giả sử ta có tập dữ liệu D có gắn nhãn gồm 15 điểm như trên ảnh.

Bước 1.Điểm cần dự đoán nhãn A(3,9)

Bước 2.Ta tính khoảng cách từ điểm A đến các điểm dữ liệu trong D bằngcông thức Euclidian

Bước 3.Ta chọn K= 5, và tìm ra 5 điểm có khoảng cách gần với điểm A nhất.Bước 4.Trong 5 điểm ta thấy có 4 điểm mang nhãn (+) và 1 điểm mang nhãn(-)

Bước 5.Vậy ta có thể đưa ra kết luận là điểm A cần dự đoán mang nhãn (+)

xv

Trang 17

III Demo code

Định nghĩa 1 cấu trúc mô tả 1 điểm và tọa độ của điểm đó và khoảng cách từcái điểm cần tìm đến điểm đó

Khai báo khởi tạo danh sách các phần tử

xvi

Trang 18

xvii

Trang 19

xviii

Trang 20

Khai báo tọa độ của giá trị cần tìm

xix

Trang 21

Hàm xác định điểm cần tìm thuộc lớp 0 hay lớp 1

Kết quả tính khoảng cách từ điểm cần tìm tới các điểm khác tăng dần

xx

Trang 22

Trong các điểm K gần điểm cần tìm nhất các điểm thuộc lớp nào nhiều hơnthì điểm cần tìm cũng thuộc lớp đó

Kết quả điểm cần tìm thuộc lớp

xxi

Trang 23

Phần V KẾT LUẬN

Trong bài thuyết trình này, chúng em đã giới thiệu về khái niệm, cú pháp vàngữ nghĩa của Thuật toán K-NN, một phương pháp suy luận quan trọng trong trítuệ nhân tạo Chúng em cũng đã minh hoạ cách áp dụng thuật toán K-NN để chứngminh các định lý trong logic mệnh đề và logic vị từ cấp một Ngoài ra, chúng tôicũng đã chỉ ra một số ưu điểm và nhược điểm của thuật toán K-NN so với cácphương pháp suy luận khác

Thuật toán K-NN là một công cụ mạnh mẽ để biểu diễn và lập luận với cáctri thức logic Tuy nhiên, thuật toán K-NN cũng gặp một số khó khăn khi xử lý cáctri thức phức tạp, không chắc chắn hoặc mơ hồ Do đó, các nghiên cứu về cải tiến

và mở rộng thuật toán K-NN vẫn đang được tiếp tục trong lĩnh vực trí tuệ nhân tạo.Chúng tôi hy vọng bài thuyết trình này sẽ giúp các bạn có cái nhìn tổng quan và sâusắc hơn về K-NN và vai trò của nó trong trí tuệ nhân tạo

xxii

Trang 24

Phần VI TÀI LIỆU THAM KHẢO

[1] https://codelearn.io/sharing/thuat-toan-k-nearest-neighbors-knn

[2] Bạch Hưng Khang, Hoàng Kiếm Trí tuệ nhân tạo - Các phương pháp và ứngdụng NXB Khoa học Kỹ thuật, 1989

[3]neighbor-haym-9d

https://www.slideshare.net/trongthuy3/luan-van-nghien-cuu-thuat-toan-knearest-[4]https://github.com/sonnhfit/machine_learning_tutorial/blob/master/KNN/

knn_turorial.cpp

xxiii

Ngày đăng: 10/04/2024, 23:34

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

TÀI LIỆU LIÊN QUAN

w