Phương pháp k-lân cận gần nhất là gì?

k-Nearest Neighbors (kNN) Thống kê & Mô hình ~6 phút đọc

Phương pháp k-lân cận gần nhất (kNN) là gì?

Phương pháp k-lân cận gần nhất (tiếng Anh: k-Nearest Neighbors, viết tắt kNN) là một thuật toán học máy có giám sát (supervised learning) được sử dụng phổ biến trong lĩnh vực khoa học dữ liệu và quản trị rủi ro ngân hàng. Thuật toán này dựa trên nguyên tắc phân loại một đối tượng mới bằng cách xem xét k điểm dữ liệu đã biết gần nhất với nó trong không gian đặc trưng đa chiều. Kết quả phân loại được xác định thông qua phương pháp bỏ phiếu đa số từ các láng giềng này. Nói một cách đơn giản, "cho tôi biết bạn đứng cạnh ai, tôi sẽ nói cho bạn biết bạn là ai."

Tại sao kNN quan trọng trong ngân hàng?

  • Phát hiện gian lận hiệu quả: Thuật toán giúp phân tích hàng triệu giao dịch mỗi ngày, so sánh giao dịch mới với mô hình hành vi bất thường đã được huấn luyện trước đó.
  • Đánh giá tín dụng tự động: Hỗ trợ phân loại khách hàng vào các nhóm rủi ro dựa trên hồ sơ thu nhập, lịch sử tín dụng và hành vi tài chính tương tự.
  • Tuân thủ pháp luật: Đáp ứng yêu cầu của Thông tư số 13/2018/TT-NHNN về bảo đảm an toàn công nghệ thông tin ngân hàng và Nghị định số 116/2013/NĐ-CP về phòng chống rửa tiền.
  • Chi phí triển khai hợp lý: Là thuật toán lazy learning (học lười), không cần quá trình huấn luyện phức tạp như các mô hình mạng nơ-ron, giúp tiết kiệm nguồn lực IT.

Cách hoạt động của kNN

Quy trình hoạt động của thuật toán kNN bao gồm các bước tuần tự sau:

Bước 1: Chuẩn bị dữ liệu huấn luyện Hệ thống cần một tập dữ liệu đã được gán nhãn sẵn, trong đó mỗi điểm dữ liệu bao gồm các thuộc tính đặc trưng và nhãn phân loại tương ứng. Dữ liệu cần được chuẩn hóa (normalization) để đảm bảo các thuộc tính có cùng thang đo.

Bước 2: Tính toán khoảng cách Khi có đối tượng mới cần phân loại, thuật toán tính khoảng cách từ đối tượng đó đến tất cả các điểm trong tập huấn luyện. Các công thức phổ biến:

Công thức Công thức Ứng dụng
Euclidean d = √(Σ(xi-yi)²) Đo khoảng cách đường thẳng
Manhattan d = Σ|xi-yi| Dữ liệu dạng lưới
Cosine cos θ = (A·B)/(|A||B|) Dữ liệu dạng văn bản/tần suất

Bước 3: Xác định k láng giềng gần nhất Chọn k điểm có khoảng cách nhỏ nhất. Giá trị k thường là số lẻ để tránh trường hợp bỏ phiếu hòa.

Bước 4: Bỏ phiếu đa số Đối tượng mới được phân vào lớp chiếm đa số trong k láng giềng gần nhất.

Lưu ý quan trọng về giá trị k:

  • k quá nhỏ: Dễ gây overfitting (mô hình ghi nhớ nhiễu)
  • k quá lớn: Có thể dẫn đến underfitting (mô hình quá tổng quát)
  • Nguyên tắc: k < √(số điểm dữ liệu) và k là số lẻ

Ví dụ thực tế

Ví dụ 1: Phát hiện gian lận thẻ tín dụng

Ngân hàng A triển khai hệ thống phát hiện gian lận sử dụng thuật toán kNN với k=5. Một khách hàng đang sinh sống tại Hà Nội bất ngờ có giao dịch mua hàng tại TP. Hồ Chí Minh với số tiền 50 triệu đồng vào lúc 3 giờ sáng.

Hệ thống tính khoảng cách từ giao dịch này đến 5 giao dịch gần nhất trong lịch sử. Kết quả cho thấy 4 trong 5 giao dịch gần nhất là gian lận (mua hàng với số tiền lớn, địa điểm khác thường so với hồ sơ khách hàng). Thuật toán bỏ phiếu đa số → giao dịch bị đánh dấu đáng ngờ, hệ thống tự động gửi cảnh báo đến bộ phận giám sát và yêu cầu khách hàng xác minh.

Ví dụ 2: Phân loại nhóm rủi ro tín dụng

Ngân hàng B sử dụng kNN để phân loại khách hàng vay vốn. Một khách hàng có thu nhập 25 triệu đồng/tháng, điểm tín dụng 650, không có nợ xấu. Hệ thống so sánh với 7 khách hàng có hồ sơ tương tự nhất:

  • 5 khách hàng → nhóm rủi ro thấp (trả nợ đúng hạn)
  • 2 khách hàng → nhóm rủi ro trung bình

→ Khách hàng được xếp vào nhóm rủi ro thấp và được duyệt vay với lãi suất ưu đãi.

Phân biệt với thuật ngữ liên quan

Tiêu chí kNN (k-Nearest Neighbors) K-Means Clustering
Loại học máy Học có giám sát (supervised) Học không giám sát (unsupervised)
Dữ liệu huấn luyện Cần dữ liệu đã gán nhãn Không cần nhãn, tự phân cụm
Mục đích Phân loại/dự đoán Phân nhóm dữ liệu
Đầu ra Nhãn lớp cụ thể Cụm dữ liệu
Ứng dụng trong ngân hàng Phát hiện gian lận, chấm điểm tín dụng Phân khúc khách hàng, nhóm hóa hành vi

Điểm chung: Cả hai đều sử dụng khái niệm "khoảng cách" và "láng giềng" trong không gian đặc trưng đa chiều.

Câu hỏi thường gặp trong đề thi

  1. Thuật toán kNN thuộc loại học máy nào?

    • A. Học có giám sát (Supervised Learning)
    • B. Học không giám sát (Unsupervised Learning)
    • C. Học tăng cường (Reinforcement Learning)
    • D. Học bán giám sát (Semi-supervised Learning)
  2. Tại sao giá trị k trong thuật toán kNN thường được chọn là số lẻ?

    • A. Để giảm thời gian tính toán
    • B. Để tránh trường hợp bỏ phiếu hòa khi phân loại
    • C. Để tăng độ chính xác của mô hình
    • D. Để phù hợp với cấu trúc dữ liệu ngân hàng
  3. Khi giá trị k trong thuật toán kNN quá nhỏ, mô hình có nguy cơ gặp phải vấn đề gì?

    • A. Underfitting
    • B. Overfitting
    • C. Dữ liệu bị thiếu
    • D. Mô hình không hội tụ

Tổng kết

Phương pháp k-lân cận gần nhất (kNN) là một thuật toán học máy có giám sát, đơn giản nhưng hiệu quả cao, được ứng dụng rộng rãi trong phát hiện gian lận và đánh giá tín dụng tại các ngân hàng Việt Nam. Điểm mấu chốt cần nhớ: thuật toán dựa trên nguyên tắc bỏ phiếu đa số từ k láng giềng gần nhất, với k thường là số lẻ để tránh hòa phiếu.

Khi ôn thi ngân hàng, thí sinh cần phân biệt rõ kNN (supervised) với K-Means (unsupervised), hiểu cách chọn giá trị k phù hợp, và nắm vững các công thức tính khoảng cách phổ biến. Trong bối cảnh chuyển đổi số ngân hàng hiện nay, kNN thường được kết hợp với các kỹ thuật khác như cây quyết định hay mạng nơ-ron để xây dựng hệ thống phòng chống rủi ro đa lớp.

🎓

Luyện thi với kiến thức này

Thuật ngữ này thường xuất hiện trong đề thi tuyển dụng ngân hàng

Chia sẻ thuật ngữ này:

🔗 Thuật ngữ liên quan 8