GNU Octave là ngôn ngữ lập trình khoa học, được thiết kế cho mục đích chính là thực hiện các tính toán số như thao tác với ma trận, vẽ đồ thị hàm số…. Octave tương thích hầu hết với các cấu trúc lệnh của Mathlab nhưng lại miễn phí nên được khuyên dùng là giải pháp thay thế, sử dụng chủ yếu cho mục đích giáo dục và nghiên cứu.

Trí tuệ nhân tạo (Artificial Intelligence - AI) nói chung và Học máy (Machine Learning - ML) nói riêng không phải là một chủ đề mới nhưng được chú ý nhiều trong vài năm trở lại đây. Gần đây một loạt các ông lớn trong lĩnh vực công nghệ như Apple, Google, Microsoft đều ra mắt những bộ thư viện đồ sộ về ML khiến cho việc áp dụng ML vào những ứng dụng thực tế trở nên dễ dàng hơn bao giờ hết.

Ở bài tìm hiểu về SVM lần trước, ta đã tìm hiểu những khái niệm cơ bản về thuật toán SVM trong bài toán phân nhóm dữ liệu cũng như sử dụng thư viện Scikit-learn để giải bài toán đơn giản phân nhóm dữ liệu thành 2 lớp trong không gian 2 chiều. Trong bài này, ta sẽ áp dụng SVM để giải một bài toán mang tính thực tế hơn: phân nhóm chữ số viết tay.

Định nghĩa Naive Bayes Classification (NBC) là một thuật toán phân loại dựa trên tính toán xác suất áp dụng định lý Bayes mà ta đã tìm hiểu ở bài trước (xem bài trước tại đây). Thuật toán này thuộc nhóm Supervised Learning (Học có giám sát). Theo định lý Bayes, ta có công thức tính xác suất ngẫu nhiên của sự kiện $y$ khi biết $x$ như sau: $$ P(y|x) = \dfrac{P(x|y)P(y)}{P(x)} ~~~~~ (1) $$

Định lý Bayes (Bayes' Theorem) là một định lý toán học để tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra. Định lý này đặt theo tên nhà toán học Thomas Bayes, người Anh sống ở thế kỷ 18. Đây là một trong những công cụ vô cùng hữu ích, người bạn thân của các Data Scientist, những người làm trong ngành khoa học dữ liệu.

Định nghĩa Support Vector Machine (SVM) là một thuật toán thuộc nhóm Supervised Learning (Học có giám sát) dùng để phân chia dữ liệu (Classification) thành các nhóm riêng biệt. Hình dung ta có bộ data gồm các điểm xanh và đỏ đặt trên cùng một mặt phẳng. Ta có thể tìm được đường thẳng để phân chia riêng biệt các bộ điểm xanh và đỏ như hình bên dưới.

Định nghĩa Cây quyết định (Decision Tree) là một mô hình thuộc nhóm thuật toán Học có giám sát (Supervised Learning). Tìm hiểu thêm về phân loại các thuật toán Machine Learning tại đây. Cây quyết định là gì? Cây quyết định (gọi tắt là DT) là mô hình đưa ra quyết định dựa trên các câu hỏi. Dưới đây là mô hình DT về một ví dụ kinh điển.

Nam Doan

人生はマラソンじゃない!

IT Engineer

Tokyo