hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Chia sẻ IT
  • Machine Learning
Phân loại các thuật toán trong Machine Learning
Phân loại machine

Phân loại các thuật toán trong Machine Learning

  • 03-09-2021
  • chuong xuan
  • 0 Comments

Có nhiều loại thuật toán học khác nhau, được phân loại theo nhiều tiêu chí khác nhau. Chẳng hạn dựa và cách mà mô hình đó học (learning style) hoặc là theo chức năng (function) thì có thế tóm gọn lại cới các tiêu chí như sau:

  • Quá trình huấn luyện có cần sự giám sát của con người hay không? Supervised (có giám sát), Unsupervised (không giám sát), Semi-supervised ( nửa giám sát) và Reinforcement Learning (học tăng cường).
  • So sánh về sự thay đổi của dữ liệu so sách các điểm dữ liệu cũ so với các điểm dữ liệu mới từ đó đưa ra kết luận hoặc xây dựng các mẫu quy tắc cho dữ liệu huấn luyện rồi xây dựng các model để đoán giống như một số thuật toán(Instance-based, model-based learning).

Mục lục

  • Supervised/Unsupervised Learning
    • Supervised learning
    • Unsupervised Learning
  • Semi-Supervised Learning (Học bám giám sát)
  • Reinforcement Learning (Học tăng cường)
  • Tóm lại

Supervised/Unsupervised Learning

Thuật toán này thường được dùng trong các bài toán phân cụm/gán nhãn cho dữ liệu.

Supervised learning

Từ cặp dữ liệu đầu vào là (data, label) và sẽ dự đoán được đầu ra là của dữ liệu mới new input. Nghĩa là khi đầu vào là tập X={x1, x2,…, xn} và tập nhãn tương ứng Y = {y1, y2, .., yn} trong đó X, Y là 2 vector. Cho X và Y là tập training data, từ tập train này ta sẽ cần một hàm giúp ánh xạ mỗi phần tử của X sang một phẩn tử y dự đoán với y_pre ~ f(xi).

Mô hình xác dịnh email spam

Bài toán kiểm tra email có phải spam hay không là một ứng dụng thực tế đối với mô hình này. Thuật toán sẽ có đầu vào là các email với nhãn là spam hoặc không. Và từ đó thuật toán dự theo các feartures xác định được một email với dữ liệu mới có phải là spam hay không. Một số bài thuật toán học có giám sát như Linear Regression, Logistic regression, Neural Networks, …

Unsupervised Learning

Trong thuật toán này, chúng ta chúng ta sẽ không biết outcome mà chỉ biết dữ liệu đầu vào. Xác định dựa vào cấu trúc dữ liệu để thực hiện một công việc nào đó ví dụ như clustering. Hệ thống sẽ học mà không cần ai dạy.

Có thể kể tới 2 thuật toán trong mô hình unsupervised learning như: Clustering hay Association

  • Clustering: Giúp chia nhỏ dữ liệu dựa trên sự liên quan giữa chúng. Ví dụ việc phân nhóm khách hàng trên mạng xã hội từ đó phân tích hành vi người dùng và đưa dữ liệu tới một nhóm người có sự tương đồng với nhau.
    • Một số thuật toán phân cụm phổ biến
      • K-Means
      • k-Medians
      • Expectation Maximization
      • Hierarchical Cluster Analysis (HCA)
  • Association: Xác định quy luật của dữ liệu.

Semi-Supervised Learning (Học bám giám sát)

Các bài toán khi chúng ta có một lượng lớn dữ liệu nhưng chỉ một phần trong đó chúng ta được gán nhãn thì đó được gọi là Semi-Supervised Learning. Cái này thì nó ở giữa Unsupervised và Supervised Learning. Ví dụ như bài toán chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet. Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao. Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn). Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet.

Reinforcement Learning (Học tăng cường)

Dữ liều đầu vào của học tăng cường gần như là không xác định được đúng sai. Mà thuật toán sẽ học một cách trực tiếp. Khi đó việc học càng nhiều sẽ khiến sự đúng đắn của dữ liệu đầu ra càng cao do mỗi lần học máy sẽ được thưởng một phần thưởng nào đó. Ví dụ như AlphaGo là một hệ thống sử dụng học tăng cường và đã chiến thằng cả người chơi cờ vây giỏi nhất thế giới.

Tóm lại

Việc xác định được dữ liệu của mình thuộc vào mô hình nào là bước rất quan trọng để tìm ra thuật toán training phù hợp với dữ liệu và yêu cầu bài toán. Qua bài viết này hi vọng mọi người sẽ hiểu thêm về các thuật toán trong ML. Ở những bài sau mình sẽ đi sâu vào giải thích và phân tích từng thuật toán mà đã nêu ra ở trên.

Bài viết liên quan:

Gradient Descent và Cost
Phương pháp lựa chọn feature trong Machine Learning.
Ứng dụng CNN trong xử lý hình ảnh.
Sử dụng K-fold validation đánh giá model hiệu quả hơn.
GDA và Naive Bayes trong machine learing
Pipeline trong machine learning
Xử lý các giá trị ngoại lai.
Mô hình Linear regression
Tiền xử lý dữ liệu trong Machine Learning, ví dụ cụ thể.
main banner
Mở đầu về Machine Learning
Hướng dẫn cài đặt và active Office 2013

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

1. GIỚI THIỆU KHÁI NIỆM CHUẨN MỰC – ĐẠO ĐỨC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

4. KIỂM THỬ VÀ TRIỂN KHAI HỆ THỐNG

Giới thiệu nội dung môn học phân tích hệ thống thông tin

2. PHÂN TÍCH VÀ ĐẶC TẢ HỆ THỐNG

5. VIẾT BÁO CÁO VÀ THUYẾT TRÌNH DỰ ÁN

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×