Thuật toán K láng giềng gần nhất là gì? Tính ứng dụng và lưu ý?
Trong thống kê, thuật toán k -nehest lân cận ( k -NN ) là một phương pháp phân loại không tham số được phát triển lần đầu tiên bởi Evelyn Fix và Joseph Hodges vào năm 1951, và sau đó được Thomas Cover mở rộng . Nó được sử dụng để phân loại và hồi quy. Trong cả hai trường hợp, đầu vào bao gồm k ví dụ huấn luyện gần nhất trong một tập dữ liệu . Đầu ra phụ thuộc vào việc k -NN được sử dụng để phân loại hay hồi quy.
Mục lục bài viết
1. Thuật toán K láng giềng là gì?
– Một bài toán phân loại có một giá trị rời rạc làm đầu ra của nó. Ví dụ: “thích dứa trên pizza” và “không thích dứa trên pizza” là rời rạc. Không có trung đất. Sự tương tự ở trên về việc dạy một đứa trẻ xác định một con lợn là một ví dụ khác về bài toán phân loại.
– Hình ảnh này cho thấy một ví dụ cơ bản về dữ liệu phân loại có thể trông như thế nào. Chúng tôi có một công cụ dự đoán (hoặc một tập hợp các công cụ dự đoán) và một nhãn. Trong hình ảnh, chúng ta có thể đang cố gắng dự đoán xem ai đó thích dứa (1) trên bánh pizza của họ hay không (0) dựa trên tuổi của họ (chỉ số dự đoán).
– Thông lệ tiêu chuẩn là biểu diễn đầu ra (nhãn) của thuật toán phân loại dưới dạng số nguyên như 1, -1 hoặc 0. Trong trường hợp này, những con số này hoàn toàn là biểu diễn.Không nên thực hiện các phép toán trên chúng vì làm như vậy sẽ vô nghĩa. Hãy suy nghĩ một chút. “Thích dứa” + “không thích dứa” là gì? Chính xác. Chúng ta không thể thêm chúng, vì vậy chúng ta không nên thêm các biểu diễn số của chúng.
– Một bài toán hồi quy có một số thực (một số có dấu thập phân) làm đầu ra của nó. Ví dụ: chúng ta có thể sử dụng dữ liệu trong bảng dưới đây để ước tính cân nặng của một người nào đó dựa trên chiều cao của họ.
Dữ liệu được sử dụng trong phân tích hồi quy sẽ giống với dữ liệu được hiển thị trong hình trên. Chúng ta có một biến độc lập (hoặc tập hợp các biến độc lập) và một biến phụ thuộc (thứ mà chúng ta đang cố gắng đoán với các biến độc lập của chúng ta). Ví dụ, chúng ta có thể nói chiều cao là biến độc lập và cân nặng là biến phụ thuộc. Ngoài ra, mỗi hàng thường được gọi là ví dụ, quan sát hoặc điểm dữ liệu, trong khi mỗi cột (không bao gồm nhãn / biến phụ thuộc) thường được gọi là dự đoán, thứ nguyên, biến độc lập hoặc tính năng.
– Một thuật toán học máy không được giám sát sử dụng dữ liệu đầu vào mà không có bất kỳ nhãn nào – nói cách khác, không có giáo viên (nhãn) nào nói cho trẻ (máy tính) biết khi nào nó đúng hoặc khi nó mắc lỗi để nó có thể tự sửa chữa.
– Không giống như học có giám sát cố gắng tìm hiểu một chức năng sẽ cho phép chúng tôi đưa ra dự đoán với một số dữ liệu mới không được gắn nhãn, học không giám sát cố gắng tìm hiểu cấu trúc cơ bản của dữ liệu để cung cấp cho chúng tôi thông tin chi tiết hơn về dữ liệu. Thuật toán KNN giả định rằng những thứ tương tự tồn tại gần nhau. Nói cách khác, những thứ tương tự ở gần nhau.
2. Tính ứng dụng và lưu ý của thuật toán K láng giềng gần nhất:
– Lưu ý trong hình trên rằng hầu hết thời gian, các điểm dữ liệu tương tự nằm gần nhau. Thuật toán KNN dựa vào giả định này đủ đúng để thuật toán trở nên hữu ích. KNN nắm bắt được ý tưởng về sự tương tự (đôi khi được gọi là khoảng cách, khoảng cách gần hoặc gần) với một số phép toán mà chúng ta có thể đã học trong thời thơ ấu của mình – tính toán khoảng cách giữa các điểm trên biểu đồ.
– Lưu ý: Cần phải hiểu về cách chúng ta tính khoảng cách giữa các điểm trên biểu đồ trước khi tiếp tục. Nếu bạn chưa quen hoặc cần cập nhật về cách thực hiện phép tính này, hãy đọc kỹ toàn bộ “ Khoảng cách giữa 2 điểm ” và quay lại ngay.
– Có nhiều cách khác để tính khoảng cách và một cách có thể phù hợp hơn tùy thuộc vào vấn đề chúng ta đang giải quyết. Tuy nhiên, khoảng cách đường thẳng (còn gọi là khoảng cách Euclide) là một lựa chọn phổ biến và quen thuộc.
– Khi chúng ta giảm giá trị của K xuống 1, các dự đoán của chúng ta trở nên kém ổn định hơn. Chỉ cần suy nghĩ trong một phút, hãy tưởng tượng K = 1 và chúng ta có một điểm truy vấn được bao quanh bởi một số màu đỏ và một màu xanh lá cây (tôi đang nghĩ về góc trên cùng bên trái của ô màu ở trên), nhưng màu xanh lục là hàng xóm gần nhất. Về lý, chúng tôi nghĩ rằng điểm truy vấn rất có thể là màu đỏ, nhưng vì K = 1, KNN dự đoán sai rằng điểm truy vấn là màu xanh lá cây.
– Ngược lại, khi chúng tôi tăng giá trị của K, các dự đoán của chúng tôi trở nên ổn định hơn do đa số bỏ phiếu / lấy trung bình và do đó, có nhiều khả năng đưa ra dự đoán chính xác hơn (cho đến một thời điểm nhất định). Cuối cùng, chúng tôi bắt đầu chứng kiến số lượng lỗi ngày càng tăng. Tại thời điểm này, chúng tôi biết rằng chúng tôi đã đẩy giá trị của K đi quá xa.
– Trong trường hợp chúng ta đang chiếm đa số phiếu (ví dụ như chọn chế độ trong một bài toán phân loại) giữa các nhãn, chúng ta thường đặt K là một số lẻ để có điểm bẻ gãy.
– Đặc điểm của thuật toán K láng giềng gần nhất được dùng để tải dữ liệu, khởi tạo K cho số hàng xóm đã chọn của bạn, đối với mỗi ví dụ trong dữ liệu, tính toán khoảng cách giữa ví dụ truy vấn và ví dụ hiện tại từ dữ liệu, thêm khoảng cách và chỉ số của ví dụ vào một bộ sưu tập có thứ tự, sắp xếp tập hợp theo thứ tự khoảng cách và chỉ số từ nhỏ nhất đến lớn nhất (theo thứ tự tăng dần) theo khoảng cách, chọn K mục đầu tiên từ bộ sưu tập đã sắp xếp, lấy nhãn của K mục đã chọn, nếu hồi quy, trả về giá trị trung bình của K nhãn, nếu phân loại, trả về chế độ của K nhãn.
– Chọn giá trị phù hợp cho thuật toán K láng giềng gần nhất: Để chọn K phù hợp với dữ liệu của bạn, chúng tôi chạy thuật toán KNN nhiều lần với các giá trị khác nhau của K và chọn K để giảm số lỗi chúng tôi gặp phải trong khi duy trì khả năng đưa ra dự đoán chính xác của thuật toán khi nó được cung cấp dữ liệu mà nó có ‘ t thấy trước đây.
– Tính ứng dụng của thuật toán K láng giềng gần nhất: Thuật toán đơn giản và dễ thực hiện, thuật toán K láng giềng gần nhất hông cần phải xây dựng một mô hình, điều chỉnh một số thông số hoặc đưa ra các giả định bổ sung, thuật toán rất linh hoạt. Nó có thể được sử dụng để phân loại, hồi quy và tìm kiếm (như chúng ta sẽ thấy trong phần tiếp theo). Tuy nhiên, bên cạnh đó, thuật toán K lánh giềng gần nhất còn tồn tại những nhược điểm, đó là thuật toán chậm hơn đáng kể khi số lượng các ví dụ và / hoặc các yếu tố dự đoán / các biến độc lập tăng lên. Nhược điểm chính của KNN là trở nên chậm hơn đáng kể khi khối lượng dữ liệu tăng lên khiến nó trở thành một lựa chọn không thực tế trong môi trường cần đưa ra các dự đoán nhanh chóng. Hơn nữa, có những thuật toán nhanh hơn có thể tạo ra kết quả phân loại và hồi quy chính xác hơn.
Tuy nhiên, với điều kiện bạn có đủ tài nguyên máy tính để xử lý nhanh chóng dữ liệu bạn đang sử dụng để đưa ra dự đoán, KNN vẫn có thể hữu ích trong việc giải quyết các vấn đề có giải pháp phụ thuộc vào việc xác định các đối tượng tương tự. Một ví dụ về điều này là sử dụng thuật toán KNN trong hệ thống giới thiệu, một ứng dụng của tìm kiếm KNN.
– Thuật toán K láng giềng gần nhất cung cấp chức năng cho các phương pháp học tập dựa trên người hàng xóm không giám sát và có giám sát. Những người hàng xóm gần nhất không được giám sát là nền tảng của nhiều phương pháp học tập khác, đặc biệt là phương pháp học đa tạp và phân cụm quang phổ. Học tập dựa trên hàng xóm được giám sát có hai cách: phân loại cho dữ liệu có nhãn rời rạc và hồi quy cho dữ liệu có nhãn liên tục.
– Nguyên tắc đằng sau các phương pháp lân cận gần nhất là tìm một số lượng mẫu huấn luyện được xác định trước trong khoảng cách gần nhất với điểm mới và dự đoán nhãn từ các mẫu này. Số lượng mẫu có thể là một hằng số do người dùng xác định (k-học lân cận gần nhất) hoặc thay đổi dựa trên mật độ cục bộ của các điểm (học lân cận dựa trên bán kính). Nói chung, khoảng cách có thể là bất kỳ thước đo nào: khoảng cách Euclide tiêu chuẩn là lựa chọn phổ biến nhất. Các phương pháp dựa trên lân cận được gọi là phương pháp học máy không tổng quát hóa , vì chúng chỉ đơn giản là “ghi nhớ” tất cả dữ liệu huấn luyện của nó (có thể được chuyển thành cấu trúc lập chỉ mục nhanh như Cây bóng hoặc Cây KD ).
– Mặc dù tính đơn giản của nó, các nước láng giềng gần nhất đã thành công trong một số lượng lớn các bài toán phân loại và hồi quy, bao gồm các chữ số viết tay và các cảnh ảnh vệ tinh. Là một phương pháp phi tham số, nó thường thành công trong các tình huống phân loại mà ranh giới quyết định rất bất thường. Các lớp trong có thể xử lý mảng hoặc ma trận NumPy làm đầu vào. Đối với ma trận dày đặc, một số lượng lớn các chỉ số khoảng cách có thể được hỗ trợ. Đối với ma trận thưa thớt, số liệu Minkowski tùy ý được hỗ trợ cho các tìm kiếm.
Có rất nhiều thói quen học tập dựa vào những người hàng xóm gần nhất làm cốt lõi của họ. Một ví dụ là ước tính mật độ hạt nhân, được thảo luận trong phần ước tính mật độ .