10 thuật toán Machine Learning căn bản
Không còn nghi ngờ gì nữa, lĩnh vực học máy / trí tuệ nhân tạo (AI) đã ngày càng trở nên phổ biến hơn trong vài năm qua. Một nhánh nhỏ của nó là Big Data đang là xu hướng hot nhất trong ngành công nghệ cao hiện nay, học máy trở nên rất mạnh mẽ để đưa ra các dự đoán hoặc gợi ý được tính dựa trên số lượng lớn dữ liệu. Một số ví dụ phổ biến nhất về học máy là các thuật toán của Netflix để đưa ra các gợi ý về phim dựa trên những bộ phim mà bạn đã xem trong quá khứ hoặc các thuật toán của Amazon đề xuất các sách dựa trên sách mà bạn đã mua trước đây. Những hệ thống gợi ý đó (Recommended System) sẽ giúp ích khá nhiều cho những người dùng trong việc đưa ra những lựa chọn của mình.
Ngoài ra, AI còn có những khả năng như nhận dạng biển số xe tự động, giúp sửa lỗi chính tả, tạo các con robot có khả năng giao tiếp với con người,…Còn nhiều nhiều những khả năng mà AI có thể làm được. AI đang phát triển và sẽ còn phát triển mạnh trong tương lai.
Machine Learning được chia thành 3 nhánh chính: supervised learning (học có giám sát), unsupervised learning (học không có giám sát), và reinforcement learning (học tăng cường).
- Học có giám sát được dùng trong trường hợp một thuộc tính (nhãn) có sẵn cho một tập dữ liệu nhất định (tập huấn luyện), nhưng thiếu và cần được dự đoán cho các trường hợp khác.
- Học không có giám sát thì ngược lại, nó được sử dụng trong trường hợp khám phá các mối quan hệ tiềm ẩn trong một tập dữ liệu không được gán nhãn (các mục không được chỉ định trước).
- Học tăng cường thì nằm giữa 2 loại trên – có một số hình thức phản hồi có sẵn cho mỗi bước tiên đoán hoặc hành động, nhưng không có nhãn chính xác hoặc thông báo lỗi
Học có giám sát
1. Cây quyết định (Decision Trees)
2. Phân loại Bayes (Naïve Bayes Classification)
P(A|B)
là xác suất có điều kiện A khi biết B, P(A)
là xác suất giả thuyết A (tri thức có được về giải thuyết A trước khi có dữ liệu B), P(B|A)
là xác suất có điều kiện B khi biết giả thuyết A,P(B)
là xác suất của dữ liệu quan sát B không quan tâm đến bất kỳ giả thuyết A nào.- Đánh dấu một email là spam hay không.
- Phân loại bài viết tin tức thuộc lĩnh vực công nghệ, chính trị hay thể thao.
- Kiểm tra một đoạn văn bản mang cảm xúc tích cực hay tiêu cực.
- Sử dụng cho các phần mềm nhận diện khuôn mặt. …
3. Hồi quy tuyến tính (Ordinary Least Squares Regression)
Bình phương nhỏ nhất
là một phương pháp để thực hiện hồi quy tuyến tính. Bạn có thể suy nghĩ về hồi quy tuyến tính như là nhiệm vụ kẻ một đường thẳng đi qua một tập các điểm. Có rất nhiều chiến lược có thể thực hiện được, và chiến lược “bình phương nhỏ nhất” sẽ như thế này – Bạn có thể vẽ một đường thẳng, và sau đó với mỗi điểm dữ liệu, đo khoảng cách thẳng đứng giữa điểm và đường thẳng. Đường phù hợp nhất sẽ là đường mà các khoảng cách này càng nhỏ càng tốt. 4. Hồi quy logistic (Logistic Regression)
- Điểm tín dụng ( quyết định có cho khách hàng vay vốn hay không)
- Đo mức độ thành công của chiến dịch marketing
- Dự đoán doanh thu của một sản phẩm nhất định
- Dự đoán động đất ….
5. Support Vector Machines (SVM)
6. Kết hợp các phương pháp (Ensemble Methods)
- Trung bình sai số (bias): một số phương pháp hoạt động tốt và cho sai số nhỏ, ngược lại cũng có một số phương pháp cho sai số lớn. Trung bình ta được một sai số chấp nhận được, có thể nhỏ hơn sai số khi sử dụng duy nhất một phương pháp.
- Giảm độ phụ thuộc vào tập dữ liệu (variance): ý kiến tổng hợp của một loạt các mô hình sẽ ít nhiễu hơn là ý kiến đơn lẻ của một mô hình. Trong lĩnh vực tài chính, đây được gọi là đa dạn hóa – một – một danh mục hỗn hợp của nhiều cổ phiếu sẽ ít biến động hơn so với chỉ một trong số các cổ phiếu riêng lẻ.
- Giảm over-fit: over-fit là hiện tượng khi mô hình hoạt động rất tốt với dữ liệu training, nhưng rất kém đối với dữ liệu test. Việc kết hợp nhiều mô hình cùng lúc giúp giảm vấn đề này.
Học không có giám sát
7. Thuật toán gom cụm (Clustering Algorithms)
- Gom cụm dựa vào tâm điểm (Centroid-based algorithms)
- Gom cụm dựa vào tính kết nối (Connectivity-based algorithms)
- Gom cụm dựa vào mật độ (Density-based algorithms)
- Gom cụm dựa vào xác suất (Probabilistic)
- Gom cụm dựa trên giảm chiều dữ liệu (Dimensionality Reduction)
- Gom cụm dựa trên mạng nơ-ron/deep leanring (Neural networks / Deep Learning)
8.Phân tích thành phần chính (Principal Component Analysis – PCA)
- Giảm số chiều của không gian chứa dữ liệu khi nó có số chiều lớn, không thể thể hiện trong không gian 2 hay 3 chiều.
- Xây dựng những trục tọa độ mới, thay vì giữ lại các trục của không gian cũ, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương, và đảm bảo độ biến thiên của dữ liệu trên mỗi chiều mới.
- Tạo điều kiện để các liên kết tiềm ẩn của dữ liệu có thể được khám phá trong không gian mới, mà nếu đặt trong không gian cũ thì khó phát hiện vì những liên kết này không thể hiện rõ.
- Đảm bảo các trục tọa độ trong không gian mới luôn trực giao đôi một với nhau, mặc dù trong không gian ban đầu các trục có thể không trực giao.
9. Singular Value Decomposition
10. Phân tích thành phần độc lập (Independent Component Analysis)
Kết thúc bài viết ở đây, hi vọng bạn đọc đã có những cái nhìn tổng quan về các thuật toán phổ biến trong AI. Nếu cảm thấy thích thú, hãy đào sâu hơn về chúng để có thể tạo ra những ứng dụng có “trí tuệ nhân tạo” phục vụ cho mọi người.
Hits: 0