Nền tảng AI

Máy Vector Hỗ trợ là gì?

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Máy Vector Hỗ trợ là gì?

Máy Vector Hỗ trợ là một loại phân loại học máy, có thể nói là một trong những loại phân loại phổ biến nhất. Máy Vector Hỗ trợ đặc biệt hữu ích cho dự đoán số, phân loại và nhận dạng mẫu.

Máy Vector Hỗ trợ hoạt động bằng cách vẽ ranh giới quyết định giữa các điểm dữ liệu, nhằm mục đích tìm ra ranh giới quyết định tốt nhất để phân chia các điểm dữ liệu thành các lớp (hoặc là tổng quát hóa nhất). Mục tiêu khi sử dụng Máy Vector Hỗ trợ là ranh giới quyết định giữa các điểm dữ liệu càng lớn càng tốt, để khoảng cách giữa bất kỳ điểm dữ liệu nào và đường ranh giới càng lớn càng tốt. Đó là một giải thích nhanh về cách Máy Vector Hỗ trợ hoạt động, nhưng hãy dành thời gian để tìm hiểu sâu hơn về cách Máy Vector Hỗ trợ hoạt động và logic đằng sau hoạt động của nó.

Mục tiêu của Máy Vector Hỗ trợ

Hãy tưởng tượng một đồ thị với một số điểm dữ liệu trên nó, dựa trên các tính năng được chỉ định bởi trục X và Y. Các điểm dữ liệu trên đồ thị có thể được chia thành hai nhóm khác nhau, và nhóm mà một điểm dữ liệu thuộc về chỉ ra lớp của điểm dữ liệu đó. Giờ hãy giả sử rằng chúng ta muốn vẽ một đường thẳng trên đồ thị để phân chia hai lớp này, với tất cả các điểm dữ liệu thuộc về một lớp nằm trên một bên của đường thẳng và tất cả các điểm dữ liệu thuộc về lớp khác nằm trên bên kia của đường thẳng. Đường thẳng này được gọi là siêu phẳng.

Bạn có thể nghĩ về Máy Vector Hỗ trợ như một công cụ tạo ra “đường” trong một thành phố, phân chia thành phố thành các khu vực trên cả hai bên của đường. Tất cả các tòa nhà (điểm dữ liệu) nằm trên một bên của đường thuộc về một khu vực.

Mục tiêu của Máy Vector Hỗ trợ không chỉ là vẽ siêu phẳng và phân chia điểm dữ liệu, mà còn vẽ siêu phẳng có khoảng cách lớn nhất, hoặc có nhiều không gian nhất giữa đường phân chia và bất kỳ điểm dữ liệu nào. Quay lại với phép ẩn dụ “đường”, nếu một kiến trúc sư thành phố vẽ kế hoạch cho một đường cao tốc, họ không muốn đường cao tốc quá gần với các ngôi nhà hoặc tòa nhà khác. Khoảng cách giữa đường cao tốc và các tòa nhà trên cả hai bên của đường càng lớn, càng tốt. Khoảng cách này càng lớn, phân loại器 càng tự tin về dự đoán của mình. Trong trường hợp phân loại nhị phân, việc vẽ siêu phẳng đúng nghĩa là chọn một siêu phẳng nằm chính giữa hai lớp khác nhau. Nếu ranh giới quyết định/siêu phẳng cách một lớp xa hơn, nó sẽ gần hơn với lớp khác. Do đó, siêu phẳng phải cân bằng khoảng cách giữa hai lớp khác nhau.

Tính toán Siêu phẳng Phân chia

Vậy làm thế nào Máy Vector Hỗ trợ xác định siêu phẳng phân chia tốt nhất? Điều này được thực hiện bằng cách tính toán các siêu phẳng có thể sử dụng một công thức toán học. Chúng tôi sẽ không đi vào chi tiết công thức tính toán siêu phẳng, nhưng đường thẳng được tính toán với công thức đường thẳng nổi tiếng:

Y = ax + b

Trong khi đó, các đường thẳng được tạo thành từ các điểm, điều đó có nghĩa là bất kỳ siêu phẳng nào cũng có thể được mô tả là: tập hợp các điểm chạy song song với siêu phẳng được đề xuất, như được xác định bởi trọng số của mô hình nhân với tập hợp các tính năng được sửa đổi bởi một độ lệch/bias (“d”) được chỉ định.

Máy Vector Hỗ trợ vẽ nhiều siêu phẳng. Ví dụ, đường ranh giới là một siêu phẳng, nhưng các điểm dữ liệu mà phân loại器 xem xét cũng nằm trên siêu phẳng. Các giá trị cho x được xác định dựa trên các tính năng trong tập dữ liệu. Ví dụ, nếu bạn có một tập dữ liệu với chiều cao và trọng lượng của nhiều người, “chiều cao” và “trọng lượng” sẽ là các tính năng được sử dụng để tính toán “X”. Khoảng cách giữa siêu phẳng được đề xuất và các “vector hỗ trợ” (điểm dữ liệu) nằm trên cả hai bên của đường ranh giới được tính toán với công thức sau:

W * X – b

Khi bạn có thể đọc thêm về toán học đằng sau Máy Vector Hỗ trợ, nếu bạn đang tìm kiếm một sự hiểu biết trực quan hơn về chúng, chỉ cần biết rằng mục tiêu là tối đa hóa khoảng cách giữa siêu phẳng phân chia được đề xuất và các siêu phẳng khác chạy song song với nó (và trên đó các điểm dữ liệu được tìm thấy).

Ảnh: ZackWeinberg qua Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

Phân loại đa lớp

Quá trình được mô tả cho đến nay áp dụng cho nhiệm vụ phân loại nhị phân. Tuy nhiên, phân loại器 Máy Vector Hỗ trợ cũng có thể được sử dụng cho các nhiệm vụ phân loại không nhị phân. Khi thực hiện phân loại Máy Vector Hỗ trợ trên một tập dữ liệu với ba hoặc nhiều lớp, nhiều đường ranh giới hơn sẽ được sử dụng. Ví dụ, nếu một nhiệm vụ phân loại có ba lớp thay vì hai, hai đường ranh giới sẽ được sử dụng để phân chia điểm dữ liệu thành lớp và khu vực bao gồm một lớp sẽ nằm giữa hai đường ranh giới thay vì một. Thay vì chỉ tính toán khoảng cách giữa hai lớp và đường ranh giới, phân loại器 phải xem xét khoảng cách giữa đường ranh giới và các lớp đa dạng trong tập dữ liệu.

Phân chia phi tuyến

Quá trình được mô tả ở trên áp dụng cho các trường hợp dữ liệu có thể phân chia tuyến tính. Lưu ý rằng, trong thực tế, các tập dữ liệu hầu như không bao giờ hoàn toàn có thể phân chia tuyến tính, điều đó có nghĩa là khi sử dụng phân loại器 Máy Vector Hỗ trợ, bạn thường sẽ cần sử dụng hai kỹ thuật khác nhau: biên mềm và thủ thuật kernel. Hãy xem xét một tình huống trong đó các điểm dữ liệu của các lớp khác nhau được trộn lẫn, với một số trường hợp thuộc về một lớp nằm trong “nhóm” của lớp khác. Làm thế nào để phân loại器 xử lý các trường hợp này?

Một chiến thuật có thể được sử dụng để xử lý các tập dữ liệu không phân chia tuyến tính là áp dụng phân loại器 Máy Vector Hỗ trợ biên mềm. Phân loại器 biên mềm hoạt động bằng cách chấp nhận một số điểm dữ liệu bị phân loại sai. Nó sẽ cố gắng vẽ một đường thẳng phân chia tốt nhất các nhóm điểm dữ liệu từ nhau, vì chúng chứa đa số các trường hợp thuộc về các lớp tương ứng. Phân loại器 Máy Vector Hỗ trợ biên mềm cố gắng tạo ra một đường ranh giới cân bằng giữa hai yêu cầu của phân loại器: độ chính xác và biên. Nó sẽ cố gắng giảm thiểu việc phân loại sai trong khi tối đa hóa biên.

Sự khoan dung của Máy Vector Hỗ trợ đối với lỗi có thể được điều chỉnh thông qua việc điều chỉnh một siêu tham số gọi là “C”. Giá trị C kiểm soát số lượng vector hỗ trợ mà phân loại器 xem xét khi vẽ đường ranh giới. Giá trị C là một hình phạt áp dụng cho việc phân loại sai, có nghĩa là giá trị C càng lớn, phân loại器 càng ít xem xét vector hỗ trợ và biên càng hẹp.

Thủ thuật kernel biến đổi dữ liệu theo cách phi tuyến. Ảnh: Shiyu Ju qua Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

Thủ thuật kernel hoạt động bằng cách áp dụng các biến đổi phi tuyến cho các tính năng trong tập dữ liệu. Thủ thuật kernel lấy các tính năng hiện có trong tập dữ liệu và tạo ra các tính năng mới thông qua việc áp dụng các hàm toán học phi tuyến. Kết quả từ việc áp dụng các biến đổi phi tuyến này là một đường ranh giới phi tuyến. Vì phân loại器 Máy Vector Hỗ trợ không còn bị giới hạn trong việc vẽ đường ranh giới tuyến tính, nó có thể bắt đầu vẽ đường ranh giới cong mà tốt hơn bao quanh sự phân bố thực sự của các vector hỗ trợ và giảm thiểu việc phân loại sai. Hai kernel phi tuyến Máy Vector Hỗ trợ phổ biến nhất là Hàm cơ sở Radial và Hàm đa thức. Hàm đa thức tạo ra các tổ hợp đa thức của tất cả các tính năng hiện có, trong khi Hàm cơ sở Radial tạo ra các tính năng mới bằng cách đo khoảng cách giữa một điểm trung tâm/điểm đến tất cả các điểm khác.

Blogger và lập trình viên với chuyên môn về Machine Learning Deep Learning topics. Daniel hy vọng giúp đỡ người khác sử dụng sức mạnh của AI cho lợi ích xã hội.