Thuật ngữ

K-Láng giềng gần nhất (KNN)

Khám phá K-Nearest Neighbors (KNN), một thuật toán học máy đơn giản nhưng mạnh mẽ cho các tác vụ phân loại và hồi quy. Tìm hiểu cách thức hoạt động của nó!

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

K-Nearest Neighbors (KNN) là một thuật toán học máy cơ bản được sử dụng cho cả nhiệm vụ phân loại và hồi quy. Thuật toán này được biết đến với tính đơn giản và trực quan, khiến nó trở thành lựa chọn phổ biến cho người mới bắt đầu trong lĩnh vực học máy. Ý tưởng cốt lõi đằng sau KNN là các điểm dữ liệu có thuộc tính tương tự có xu hướng thuộc cùng một lớp hoặc có các giá trị tương tự. Thuật toán này đưa ra dự đoán dựa trên lớp đa số hoặc giá trị trung bình của 'K' điểm dữ liệu gần nhất trong tập dữ liệu đào tạo.

Cách thức hoạt động của K-Nearest Neighbors (KNN)

Thuật toán KNN hoạt động theo nguyên tắc tiệm cận. Khi được trình bày với một điểm dữ liệu mới, chưa từng thấy, thuật toán sẽ tính toán khoảng cách giữa điểm này và tất cả các điểm trong tập dữ liệu đào tạo. Sau đó, thuật toán sẽ xác định 'K' điểm đào tạo gần nhất với điểm mới. Đối với phân loại, điểm mới được gán lớp phổ biến nhất trong số 'K' điểm lân cận gần nhất của nó. Đối với hồi quy, giá trị dự đoán là giá trị trung bình (hoặc giá trị trung bình có trọng số) của các giá trị của 'K' điểm lân cận gần nhất của nó. Việc lựa chọn 'K' rất quan trọng và có thể ảnh hưởng đáng kể đến hiệu suất của mô hình. 'K' nhỏ hơn có thể dẫn đến độ nhạy nhiễu, trong khi 'K' lớn hơn có thể làm mịn ranh giới quyết định nhưng có thể bao gồm các điểm từ các lớp khác.

Khoảng cách đo lường

Khái niệm "gần nhất" trong KNN dựa trên một phép đo khoảng cách. Các phép đo khoảng cách phổ biến được sử dụng bao gồm khoảng cách Euclidean, khoảng cách Manhattan và khoảng cách Minkowski. Mỗi phép đo có các đặc điểm riêng và phù hợp với các loại dữ liệu khác nhau. Ví dụ, khoảng cách Euclidean thường được sử dụng cho dữ liệu số liên tục, trong khi khoảng cách Manhattan có thể mạnh hơn đối với các giá trị ngoại lai.

Sự liên quan và ứng dụng

KNN được sử dụng rộng rãi do dễ triển khai và hiệu quả trong nhiều lĩnh vực. Nó đặc biệt hữu ích khi có ít hoặc không có kiến thức trước về phân phối dữ liệu. KNN có thể được áp dụng trong các hệ thống đề xuất, chẳng hạn như đề xuất sản phẩm cho người dùng dựa trên sở thích của những người dùng tương tự. Bạn có thể tìm hiểu thêm về các hệ thống đề xuất trong bối cảnh AI và học máy.

Ứng dụng trong thế giới thực

Ví dụ 1: Chăm sóc sức khỏe

Trong chăm sóc sức khỏe, KNN có thể được sử dụng để dự đoán liệu một bệnh nhân có khả năng mắc một căn bệnh cụ thể nào đó dựa trên tiền sử bệnh án của những bệnh nhân tương tự hay không. Bằng cách phân tích các yếu tố như tuổi tác, huyết áp và mức cholesterol, KNN có thể phân loại bệnh nhân mới vào các nhóm nguy cơ, hỗ trợ chẩn đoán sớm và lập kế hoạch điều trị cá nhân hóa. Khám phá thêm về AI trong chăm sóc sức khỏe .

Ví dụ 2: Nhận dạng hình ảnh

KNN có thể được sử dụng trong các tác vụ nhận dạng hình ảnh , chẳng hạn như nhận dạng chữ số viết tay hoặc phân loại hình ảnh của các đối tượng. Bằng cách biểu diễn hình ảnh dưới dạng vectơ đặc điểm, KNN có thể phân loại hình ảnh mới dựa trên mức độ tương đồng của chúng với hình ảnh được gắn nhãn trong tập huấn luyện. Ứng dụng này đặc biệt có liên quan trong các lĩnh vực như nhận dạng ký tự quang học (OCR) và gắn thẻ hình ảnh tự động.

Các khái niệm liên quan

Phân cụm K-Means

Mặc dù cả KNN và K-Means đều liên quan đến tham số 'K', nhưng chúng phục vụ các mục đích khác nhau. K-Means là thuật toán học không giám sát được sử dụng để phân cụm, trong đó 'K' biểu thị số cụm. Ngược lại, KNN là thuật toán học có giám sát được sử dụng để phân loại và hồi quy, trong đó 'K' biểu thị số lượng hàng xóm được xem xét. Tìm hiểu thêm về Phân cụm K-Means .

Giảm chiều

Hiệu suất của KNN có thể bị ảnh hưởng bởi dữ liệu có nhiều chiều, một hiện tượng được gọi là "lời nguyền của đa chiều". Các kỹ thuật như Phân tích thành phần chính (PCA) có thể được sử dụng để giảm số lượng tính năng trong khi vẫn giữ lại thông tin cần thiết, do đó cải thiện hiệu quả và độ chính xác của KNN.

Ưu điểm và nhược điểm

Thuận lợi

  • Tính đơn giản: KNN dễ hiểu và dễ triển khai.
  • Không có giai đoạn đào tạo: KNN không có giai đoạn đào tạo rõ ràng, khiến nó trở nên hiệu quả đối với các tập dữ liệu động.
  • Tính linh hoạt: Có thể sử dụng cho cả nhiệm vụ phân loại và hồi quy.

Nhược điểm

  • Chi phí tính toán: KNN có thể tốn kém về mặt tính toán, đặc biệt là với các tập dữ liệu lớn, vì nó yêu cầu tính toán khoảng cách đến tất cả các điểm đào tạo.
  • Độ nhạy với 'K': Việc lựa chọn 'K' có thể ảnh hưởng đáng kể đến hiệu suất.
  • Lời nguyền của tính đa chiều: Hiệu suất giảm sút khi dữ liệu có nhiều chiều.

Kết thúc

K-Nearest Neighbors là một thuật toán linh hoạt và trực quan có vị trí trong nhiều ứng dụng học máy khác nhau. Khả năng đưa ra dự đoán dựa trên sự giống nhau của các điểm dữ liệu khiến nó trở thành một công cụ có giá trị cho các tác vụ phân loại và hồi quy. Tuy nhiên, việc cân nhắc cẩn thận về lựa chọn 'K' và số liệu khoảng cách là điều cần thiết để có hiệu suất tối ưu. Đối với những người quan tâm đến việc khám phá các mô hình học máy tiên tiến và triển khai chúng, Ultralytics cung cấp các giải pháp tiên tiến như Ultralytics YOLO các mô hình và nền tảng Ultralytics HUB .

Đọc tất cả