Machine Learning

Hướng dẫn cài đặt LibSVM Trên Linux và MacOS

Giới thiệu

Thuật toán SVM(Support Vector Machine) là một thuật toán máy học dùng cho bài toán phân lớp dữ liệu. Ý tưởng của thuật toán là tìm một siêu phẳng tối ưu (optimal hyperplane) sao cho margin tới các điểm support vector có khoảng cách lớn nhất. Hiện nay thuật toán này được sử dụng khá nhiều trong lĩnh vực Machine Learning cùng với các thuật toán như cây quyết định (Tree Decision), K-NN (K-Nearest Neighbor), mạng noron (Nerual Network). Và trong bài viết này mình sẽ hướng dẫn các bạn cài đặt thư viện LibSVM lên Linux và MacOS để chuẩn bị cho việc phân lớp dữ liệu của chúng ta.

LibSVM là một thư viện cài đặt thuật toán SVM (Support Vector Machine), thư viện được viết bằng C nhưng sau này đã port qua hầu hết các ngôn ngữ như Java, python, Ruby, Android, .Net …Chih-Chung Chang và Chih-Jen Lin.

Trang chủ của thư viện LibSVM: http://www.csie.ntu.edu.tw/~cjlin/libsvm/

LibSVM được sử dụng trong rất nhiều phần mền như MabLab, R….

Version mới nhất của LibSVM là version 3.21. Và chúng ta có thể download source code của thư viện này trên github.

Hoặc các bạn có thể dùng lệnh này để clone source libSVM về máy của chúng ta:

Cài đặt thư viện LibSVM

Sau khi download hoặc clone LibSVM về máy của chúng ta thì bây giờ chúng ta đã có sẵn tất cả các mã nguồn của thư viện này. Nếu các bạn nào đam mê thì có thể mở source mà đọc xem cách người ta implement thư viện nổi tiếng này như thế nào.

Và dưới đây là cách mà chúng ta có thể build và install thư viện này trên hai hệ điều hành Linux và macOS.

Các file của thư viện libSVM

libsvm_install_ss_0

Chúng ta để ý thấy trong thư mục này có một file có tên là Makefile. File này chính là file cấu hình để chúng ta build source code của thư viện này ra file thực thi (excutable)

Tiếp theo chúng ta sẽ mở termial tại thư mục này và gõ lệnh make để build libSVM

Sau khi chạy lệnh này thì gcc đã build cho chúng ta thành các file thực thi và bây giờ chúng ta có thể sử dụng nó cho việc train data và predict.

libsvm_install_ss1

Tiếp theo chúng ta sẽ thử test thư viện này xem việc build có thành công hay không.

Test LibSVM

Các bạn thử gõ những dòng lệnh dưới đây

./svm-train

./svm-predict

./svm-scale

Khi gõ những dòng lệnh sẽ log ra cách sử dụng của từng file thực thi đó.

svm-train: file này sử dụng cho mục đích train data

svm-predict: file này sử dụng để cho việc dự đoán kết quả dựa vào kết quả ở svm-train

svm-scale: file này sử dụng để biến đổi dữ liệu trước khi đưa data vào train.

Kết luận

Vậy là chúng ta đã build thành công thư viện này cho việc phân lớp dữ liệu (classfication). Ở các bài viết sau mình sẽ giới thiệu cách sử dụng thư viện này cho mục đích phân lớp dữ liệu văn bản (text classfication). Ngoài ra các bạn có thể sử dụng thư viện này cho bất kì mục đích phân lớp nào. Ví dụ như nhận diện hình ảnh, kí tự….

2 thoughts on “Hướng dẫn cài đặt LibSVM Trên Linux và MacOS”

  1. Nếu bạn lấy một ví dụ cụ thể và chỉ cách để chạy với dữ liệu demo đơn giản thì tốt

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.