Thứ Ba, 1 tháng 10, 2019

Phân loại học máy

1. Giới thiệu

Việc xác định bài toán thuộc loại học máy nào là một trong những vấn đề quan trọng và đầu tiên trong việc xử lý một bài toán machine leanring. Lựa chọn thuật toán phù hợp sẽ ảnh hưởng rất nhiều đến kết quả đầu ra của bài toán.

Ta có thể chia học máy thành: Học giám sát (Supervised learning), Học không giám sát (Unsupervised learning), Học bán giám sát (Semi-Supervised) Học củng cố (Reinforcement learning).

Trong bài viết bài mình sẽ trình bày 2 thuật toán học máy phổ biến nhất hiện nay và cũng là các thuật toán mình gặp nhiều nhất đó là: Học giám sát và học không giám sát, các loại học máy khác các bạn có thể nghiên cứu thêm.
Nguồn: https://www.edureka.co/blog/what-is-machine-learning/

a. Học giám sát (Supervised learning)

Quay lại phần dữ liệu của bài tổng quan về machine learning, trong phần label mình có ghi label này có thể có hoặc không tùy vào từng bài toán. Điều này có thể hiểu đơn giản là dữ liệu đầu vào có cả feature và label thì bài toán này được phân loại vào học giám sát.

Ví dụ: Bạn ôn thi giáo viên cho bạn 10 bài tập. Nếu giáo viên đưa luôn đáp án của những bài đó thì được xem là học có giám sát. Các đáp án này sẽ giám sát và điều chỉnh để quá trình việc ôn thi được hiệu quả hơn.

Học giám sát là nhóm học phổ biến trong các thuật toán machine learning.

Học giám sát được chia thành: Hồi quy (regression), Phân loại (classification).
  • Hồi quy: Khi label là một giá trị số thực. Miền giá trị của nó trải đều trên một trục số thực. Ví dụ bài toán dự đoán nhà. Ngoài ra còn một số ứng dụng khác như: Dự báo dân số trong tương lai,...
  • Phân loại: Khi đầu ra là các biến phân loại. Miền giá trị của nó là rời rạc. Ví dụ bài toán phân loại thư rác, label là có hoặc không (label = (có, không)). Hoặc bài toán trong ảnh có xuất hiện con người hay không (label = (có, không)). Ngoài ra còn một số ứng dụng khác như: Dự đoán 1 người có bị bệnh tiểu đường hay không, phân loại ảnh...
Các thuật toán phổ biến đối với nhóm thuật toán này:
  • Nearest Neighbors
  • Naive Bayes
  • Decision Tree
  • Linear Regression
  • Support Vector Machine (SVM)
  • Neural Network
  • ...
b. Học không giám sát (Unsupervised learning)

Ngược lại với học giám sát là học không giám sát. Học không giám sát là khi tập dữ liệu đầu vào không có label.
Ví dụ: Giả sử dữ liệu của bạn bao gồm: Hình vuông, hình tam giác. Bây giờ bạn muốn chương trình phân cụm xem thử đâu là hình vuông, đâu hình là tam giác. Lúc này bạn không cần chỉ định label. Như vậy, làm sao mà nó có thể tự học được nhỉ. Câu trả lời là chương trình dựa vào bản chất của dữ liệu để học được. Như ví dụ trên chương trình sẽ biết được hình tam giác có 3 cạnh, hình vuông có 4 cạnh cho nên nó có thể tự phân cụm được dựa vào chính những đặc điểm, đặc tính của dữ liệu.

Học không giám sát được phân thành: Phân nhóm (clustering), Kết hợp (association).
  • Phân nhóm: Là thuật toán phân dữ liệu thành các cụm dựa vào sự tương đồng giữa dữ liệu trong mỗi nhóm...
  • Kết hợp: Là bài toán mà ta muốn tìm ra một quy luật dựa vào dữ liệu cho trước. Chẳng hạn như những người mua X cũng có khuynh hướng mua Y
Các thuật toán phổ biến đối với nhóm thuật toán này:
  • K-means Clustering
  • K-medians
  • Association Rule
  • Hierarchical Clustering
  • Principal Component Analysis (PCA)
  • Singular Value Decomposition (SVD)
  • ...

Trên đây là các cách phân loại học máy. Các bạn có thể tìm hiểu thêm tại đây. Nếu có câu hỏi gì vui lòng để lại comment phía dưới. Xin cảm ơn

0 nhận xét:

Đăng nhận xét