Machine Learning là gì? Level 2: Chuỗi bài đào tạo miễn phí Trí tuệ nhân tạo

machine learning là gì

Để các bạn có thể hiểu được Machine Learning là gì một cách không lý thuyết, không hàn lâm và dễ hiểu, các bạn có thể xem video của Tony Phạm nói về machine learning học máy là gì ở dưới nhé.

Học máy machine learning là gì?

Machine Learning là gì?

Học máy (machine learning) là một nhánh (mảng con) của trí tuệ nhân tạo cung cấp cho các hệ thống và máy móc khả năng tự học và tối ưu hóa các quy trình mà không cần các nhà phát triển (developers) phải lập trình rõ ràng. Nói một cách đơn giản, học máy sử dụng dữ liệu, số liệu thống kê, phép thử sai để “học” tự động một tác vụ cụ thể mà không cần phải mã hóa cụ thể cho tác vụ đó.

Machine learning mang lại cho máy tính khả năng học tập giống như con người, cho phép chúng giải quyết các vấn đề khó, từ nghiên cứu ung thư đến biến đổi khí hậu. Chính xác thì machine learning là gì khiến cho máy tính giống con người hơn bằng cách nào? Để hiểu rõ hơn, chúng ta hãy tìm hiểu về khái niệm tri thức hiện hữu và tri thức tiềm ẩn trong machine learning là gì trước tiên

1. Tri thức hiện hữu và tri thức tiềm ẩn trong machine learning là gì?

Hầu hết các chương trình máy tính đều phải dựa vào các đoạn mã (code) để bản thân cỗ máy đó biết phải thực thi những tác vụ nào hoặc tri thức nào cần được giữ lại. Các tri thức này được gọi là tri thức hiện hữu (Explicit knowledge), là các tri thức chứa các thông tin có thể được viết hoặc ghi lại.

Ví dụ như sách giáo khoa, video hoặc sách hướng dẫn đều là các tri thức hiện hữu vì nó có thể được lưu lại và truyền đạt một cách dễ dàng.

Tuy nhiên hiện nay nhờ machine learning, máy tính hiện đã có khả năng thu thập được các tri thức tiềm ẩn (Tacit Knowledge), tri thức mà chúng ta thu được từ kinh nghiệm và ngữ cảnh cá nhân. Loại tri thức này khó có thể truyền từ người này sang người khác thông qua giao tiếp bằng văn bản hoặc lời nói giống như tri thức hiện hữu. 

Ví dụ, nhận dạng khuôn mặt là một loại tri thức tiềm ẩn. Chúng ta nhận ra khuôn mặt của một người, nhưng chúng ta khó có thể mô tả chính xác cách thức hoặc lý do khiến chúng ta nhận ra khuôn mặt đó. Chúng ta dựa vào ngân hàng kiến ​​thức cá nhân của mình để liên kết ngầm các điểm kết nối nhằm nhận ra ngay một người dựa trên khuôn mặt của họ. 

Một ví dụ khác là đi xe đạp. Việc chỉ cho ai đó cách đi xe đạp dễ dàng hơn nhiều so với việc giải thích bằng lời hay sách vở.

Nhờ machine learning, máy tính không còn phải dựa vào hàng tỷ dòng code để thực hiện các phép tính vì học máy cung cấp cho máy tính sức mạnh của tri thức tiềm ẩn cho phép các máy tính tự động kết nối, khám phá các mẫu và đưa ra dự đoán dựa trên những gì nó đã học trong quá khứ. 

Việc sử dụng tri thức ngầm của học máy đã khiến nó trở thành công nghệ tiên tiến cho hầu hết mọi ngành từ công nghệ tài chính (fintech) đến thời tiết và chính phủ.

Để rõ thêm về lợi ích của máy học, chúng ta hãy tìm hiểu về sự khác nhau giữa lập trình thủ công và machine learning là gì.

2. Sự khác nhau giữa lập trình thủ công và machine learning là gì?

Lập trình thủ công là khi một lập trình viên code tất cả các đoạn mã trên máy tính nhằm tạo ra quy tắc (rules) cho một cỗ máy dựa trên một nền tảng logic, giúp các dữ liệu ở đầu vào khi đi qua máy tính sẽ thực hiện các quy tắc này và cho kết quả đầu ra theo đúng mong muốn và logic của quy tắc trước đó. Tuy nhiên theo cách làm này sẽ sinh ra nhiều vấn đề khi hệ thống phát triển với quy mô lớn hơn, vì sẽ có nhiều biến số không lường trước được sẽ xảy ra, và các quy tắc hiện có không đáp ứng được các biến số này.

Đầu vào và đầu ra của dữ liệu trong lập trình truyền thốngĐầu vào và đầu ra của dữ liệu trong lập trình thủ công

Học máy là câu trả lời để khắc phục vấn đề này. Hệ thống máy tính sẽ nhận dữ liệu đầu và đầu ra một cách tương quan, từ đó nó sẽ tự động viết ra các quy tắc nhằm đảm bảo hệ thống luôn hoạt động ổn định.

Lập trình viên không cần phải viết các rules mới mỗi khi có data mới, các thuật toán trên máy tính sẽ tự động thích ứng với dữ liệu, kinh nghiệm, phép thử và sai để cải thiện hiệu quả theo thời gian.

cách dữ liệu đầu vào và đầu ra tương quan với nhau và nó viết một quy tắc. Các lập trình viên không cần phải viết các quy tắc mới mỗi khi có dữ liệu mới. Các thuật toán thích ứng để đáp ứng với dữ liệu và kinh nghiệm mới để cải thiện hiệu quả theo thời gian.

Máy học từ dữ liệu đầu vào và đầu ra sau đó tự rút ra các quy tắcMáy học từ dữ liệu đầu vào và đầu ra sau đó tự rút ra các quy tắc

3. Cách thức hoạt động của Machine Learning là gì?

Học máy có chức năng học hỏi từ kinh nghiệm tương tự như bộ não của con người được gọi là giai đoạn học tập (learning phrase). Con người chúng ta càng có kiến thức và trải nghiệm nhiều, chúng ta sẽ có thể giải quyết các vấn đề đã biết một cách nhanh chóng, ngược lại những tình huống chưa có kinh nghiệm, chúng ta sẽ có khó ứng biến hơn.

Tương tự, máy học cần các ví dụ hoặc mẫu (patterns) có trước để tìm ra kết quả, tuy nhiên với các ví dụ chưa từng thấy trước đây, máy sẽ gặp khó khăn để dự đoán. 

Cho nên điều quan trọng là ta phải cung cấp các kinh nghiệm hay dữ liệu (data) cho máy một cách có chọn lọc, chúng ta có một cách gọi khác cho hoạt động này là huấn luyện dữ liệu (training data), khoa học dữ liệu (data science) giải quyết vấn đề này.

Sau khi huấn luyện dữ liệu, chúng ta sẽ nhóm các data thành các đặc trưng (feature), một đặc trưng là một thuộc tính hoặc đặc tính có thể đo lường được của một tình huống (do các data tạo ra) đang được quan sát. Một tập hợp các đặc trưng có thể được mô tả một cách thuận tiện bằng một vectơ đặc trưng (Features vector). 

Máy sử dụng các thuật toán (Algorithm) để đơn giản hóa các tình huống và biến các khám phá này thành mộ hình (model). Do đó giai đoạn học tập có thể được miêu tả một cách đơn giản là sử dụng để mô tả dữ liệu và tóm tắt nó thành một mô hình.

Máy sử dụng một số thuật toán lạ mắt để đơn giản hóa thực tế và biến khám phá này thành mô hình (Model). Do đó, giai đoạn học tập được sử dụng để mô tả dữ liệu và tóm tắt nó thành một mô hình (Model).

giai đoạn học tập được sử dụng để mô tả dữ liệu và tóm tắt nó thành một mô hìnhgiai đoạn học tập được sử dụng để mô tả dữ liệu và tóm tắt nó thành một mô hình

Ví dụ, ta cho máy tính tìm hiểu mối tương quan giữa mức lương của một nhân viên và khả năng người nhân viên đến một một quán cà phê, và máy tìm thấy mối quan hệ là tiền lương càng cao thì khả năng người nhân viên đó đến quán cà phê cao cấp càng cao: Đây chính là mô hình (Model).

Ta có thể kết luận

Sau giai đoạn học tập của máy, ta đã có được mô hình, nhờ đó ta có thể thấy được mối liên hệ chưa từng có trước đây của dữ liệu.

Nếu ta đưa dữ liệu khác vào để kiểm tra, các dữ liệu này sẽ được chuyển thành các vector đặc trưng nó sẽ đi qua mô hình và đưa ra các dự đoán ngay mà không cần phải cập nhật lại các rule hoặc đào tạo lại mô hình. Bạn đã có thể sử dụng model được đào tạo trước đó để đưa ra kết luận ngay lập tức về dữ liệu mới được đưa vào.

Có thể sử dụng mô hình được đào tạo trước đó để suy luận về dữ liệu mới.Có thể sử dụng mô hình được đào tạo trước đó để suy luận về dữ liệu mới.

Vòng đời của các chương trình Machine Learning là gì thật ra rất đơn giản và có thể được gọi gọn thành các bước sau:

  1. Xác định một câu hỏi
  2. Thu thập dữ liệu
  3. Trực quan hóa dữ liệu
  4. Thuật toán đào tạo
  5. Kiểm tra thuật toán
  6. Thu thập thông tin phản hồi
  7. Tinh chỉnh thuật toán
  8. Lặp 4-7 cho đến khi kết quả hài lòng
  9. Sử dụng mô hình để đưa ra dự đoán

Một khi thuật toán trở nên tốt trong việc đưa ra kết luận đúng, nó sẽ áp dụng kiến ​​thức đó vào các bộ dữ liệu mới.

Các phân nhóm thuật toán trong Machine Learning là gì?

Chúng ta có hai phân nhóm thuật toán trong machine learning là theo phong cách học tập (Learning style) và tương đồng (Similarity)

1. Phân nhóm thuật toán theo phong cách học tập trong machine learning là gì?

Cách tổ chức các thuật toán machine learning này rất hữu ích bởi nó buộc bạn phải suy nghĩ về vai trò của dữ liệu đầu vào và quy trình chuẩn bị mô hình.

Chúng ta hãy xem ba phong cách học tập khác nhau trong các thuật toán machine learning:

a. Học có giám sát

 

Phân nhóm thuật toán Machine Learning

Có thể nói một cách đơn giản, học có giám sát là học cần có “người hướng dẫn”, theo nghĩa là cần phải cung cấp dữ liệu đầu vào đã có kinh nghiệm của “người hướng dẫn” (được dán nhãn) trong đó. 

Ví dụ, ta cần máy học các xác định đâu là khuôn mặt người và đâu là không. Ta sẽ cung cấp các dữ liệu huấn luyện bao gồm các mẫu chứa ảnh mặt con người và các mẫu khác chứa ảnh mẫu không phải người. 

Ta sẽ đóng vai trò giám sát máy để máy đưa ra các dự đoán trùng khớp và được sửa chữa khi những dự đoán đó sai. Quá trình huấn luyện tiếp tục cho đến khi mô hình đạt kết quả mong muốn.

b. Học tập không giám sát

Phân nhóm thuật toán Machine Learning

Học không có giám sát được đánh giá là Trí tuệ nhân tạo chuẩn (true AI) và được xem là đích đến của nhiều mô hình học máy trong tương lai. Trong cách học không giám sát, dữ liệu đầu vào không được dán nhãn và cũng không có kết quả cho trước để hướng dẫn cho máy, cái máy cần là một mô hình được chuẩn bị trước bằng cách suy ra các cấu trúc có trong dữ liệu đầu vào.

c. Học bán giám sát

Phân nhóm thuật toán Machine Learning

Khi ta có một tập hợp rất lớn các dữ liệu đầu vào không được dán nhãn và chỉ một phần nhỏ các dữ liệu được gắn nhãn thì ta gọi nó là học bán giám sát. Ví dụ, ta có một phần hình ảnh và văn bản được gắn nhãn, tuy nhiên hầu hết các hình ảnh và văn bản để máy học chưa được gắn nhãn sẽ được thu thập từ internet.

2. Phân nhóm thuật toán theo sự tương đồng trong machine learning là gì?

Loại phân nhóm thuật toán thứ hai trong machine learning là nhóm theo sự tương đồng về chức năng của chúng.

Đây là cách hữu ích nhất để nhóm các thuật toán machine learning nhưng nó không hoàn hảo. Vẫn có những thuật toán có thể dễ dàng phù hợp với nhiều loại chẳng hạn như lượng tử học vector tuy nhiên với cách tiếp cận này sẽ giúp chúng ta dễ dàng hơn trong việc ghi nhớ các thuật toán.

a. Thuật toán hồi quy (Regression Algorithms)

Phân nhóm thuật toán Machine Learning

Thuật toán hồi quy (Regression Algorithms) là việc mô hình hóa các mối quan hệ giữa các biến bằng cách sử dụng các phương pháp đo lỗi trong các dự đoán được đưa ra bởi mô hình. 

Các thuật toán hồi quy phổ biến nhất trong Machine Learning là gì:

  • Ordinary Least Squares Regression (OLSR)
  • Linear Regression
  • Logistic Regression
  • Stepwise Regression
  • Multivariate Adaptive Regression Splines (MARS)
  • Locally Estimated Scatterplot Smoothing (LOESS)

b. Thuật toán dựa trên mẫu (Instance-based Algorithms)

Phân nhóm thuật toán Machine Learning

Thuật toán dựa trên mẫu  là bài toán ra quyết định dựa trên các tình huống và các dữ liệu huấn luyện được đánh dấu là quan trọng hay bắt buộc với mô hình. 

Nhóm thuật toán này xây dựng cơ sở dữ liệu dựa trên dữ liệu mẫu. Và nó so sánh dữ liệu mới với cơ sở dữ liệu bằng cách sử dụng thước đo tương tự để tìm kết quả phù hợp nhất và đưa ra dự đoán, khi đó trọng tâm được đặt vào đại diện của các thể hiện được lưu trữ như hình minh hoạ.

Các thuật toán instance-based phổ biến nhất trong Machine Learning là gì:

  • k-Nearest Neighbor (kNN)
  • Learning Vector Quantization (LVQ)
  • Self-Organizing Map (SOM)
  • Locally Weighted Learning (LWL)

c. Thuật toán chuẩn hóa (Regularization Algorithm)

Phân nhóm thuật toán Machine Learning

Các thuật toán chuẩn hóa chính là sự mở rộng của các phương pháp đã có nhờ việc xử phạt các mô hình dựa trên sự phức tạp của chúng, nhờ vậy việc khái quát hóa cũng trở nên dễ dàng hơn do ưu tiên các mô hình đơn giản hơn.

Các thuật toán Regularization phổ biến nhất trong Machine Learning là gì:

  • Ridge Regression
  • Least Absolute Shrinkage and Selection Operator (LASSO)
  • Elastic Net
  • Least-Angle Regression (LARS)

d. Thuật toán cây quyết định (Decision Tree Algorithms)

Phân nhóm thuật toán Machine Learning

Thuật toán cây quyết định xây dựng một mô hình ra quyết định dựa trên các giá trị thực tế của các thuộc tính trong dữ liệu. Sự quyết định được rẽ nhánh trong cấu trúc cây cho đến khi dự đoán được đưa ra cho một mẫu nhất định.

Cây quyết định được dùng để huấn luyện dữ liệu cho các bài toán phân loại và hồi quy.

Các thuật toán cây quyết định phổ biến nhất trong Machine Learning là gì:

  • Classification and Regression Tree (CART)
  • Iterative Dichotomiser 3 (ID3)
  • 5 and C5.0 (different versions of a powerful approach)
  • Chi-squared Automatic Interaction Detection (CHAID)
  • Decision Stump
  • M5
  • Conditional Decision Trees

e. Thuật toán Bayesian (Bayesian Algorithms)

Phân nhóm thuật toán Machine Learning

Thuật toán Byesian là những thuật toán áp dụng Định lý Bayes cho các bài toán. Chẳng hạn như phân loại và hồi quy.

Các thuật toán Bayesian phổ biến nhất trong Machine Learning là gì:

  • Naive Bayes
  • Gaussian Naive Bayes
  • Multinomial Naive Bayes
  • Averaged One-Dependence Estimators (AODE)
  • Bayesian Belief Network (BBN)
  • Bayesian Network (BN)

f. Thuật toán Clustering (Clustering Algorithms)

 

Phân nhóm thuật toán Machine Learning

Các thuật toán Clustering được tổ chức theo các phương pháp mô hình hóa như dựa vào trọng tâm và thứ bậc. 

Tất cả các thuật toán đều liên quan đến việc sử dụng các cấu trúc vốn có trong dữ liệu nhằm tổ chức tốt nhất dữ liệu thành các nhóm có mức độ phổ biến tối đa.

Các thuật toán phân cụm phổ biến nhất trong Machine Learning là gì:

  • k-Means
  • k-Medians
  • Expectation Maximisation (EM)
  • Hierarchical Clustering

g. Thuật toán luật kết hợp (Association Rule Learning Algorithms)

 

Phân nhóm thuật toán Machine Learning

Thuật toán luật kết hợp trích xuất các quy tắc giải thích tốt nhất mối quan hệ giữa các biến trong dữ liệu.

Các quy tắc này có thể khám phá các sự kết hợp quan trọng và hữu ích trong các tập dữ liệu lớn (thường được dùng trong các tổ chức lớn).

Các thuật toán luật kết hợp phổ biến nhất trong Machine Learning là gì:

  • Apriori algorithm
  • Eclat algorithm
  • FP-Growth algorithm

h. Thuật toán mạng nơ ron nhân tạo (Artificial Neural Network Algorithms)

 

Phân nhóm thuật toán Machine Learning

Thuật toán mạng nơron nhân tạo là những mô hình được lấy cảm hứng từ cấu trúc của mạng lưới thần kinh sinh học.

Nhóm thuật toán này có thể được sử dụng cho bài toán phân loại và hồi quy với rất nhiều biến thể khác nhau cho hầu hết các vấn đề .

Các thuật toán mạng thần kinh nhân tạo phổ biến nhất là gì:

  • Perceptron
  • Back-Propagation
  • Hopfield Network
  • Radial Basis Function Network (RBFN)

i. Thuật toán Deep Learning

Phân nhóm thuật toán Machine Learning

Thuật toán Deep Learning là một bản cập nhật hiện đại của thuật toán Mạng nơ ron nhân tạo nhằm thai khác khả năng tính toán của máy tính.

Deep Learning quan tâm đến việc xây dựng các mạng lưới thần kinh lớn hơn và phức tạp hơn.

Các thuật toán deep learning phổ biến nhất là:

  • Deep Boltzmann Machine (DBM)
  • Deep Belief Networks (DBN)
  • Convolutional Neural Network (CNN)
  • Stacked Auto-Encoders

j. Thuật toán giảm chiều dữ liệu (Dimensional Reduction Algorithms)

 

Phân nhóm thuật toán Machine Learning

Giống như các phương pháp phân cụm, thuật toán giảm chiều dữ liệu tìm kiếm cấu trúc vốn có trong dữ liệu nhưng theo cách không giám sát.

Nói chung, nó có thể hữu ích để trực quan hóa dữ liệu đa chiều mà sau đó có thể được sử dụng trong phương pháp học có giám sát. 

Các thuật toán giảm chiều dữ liệu phổ biến nhất là gì:

  • Principal Component Analysis (PCA)
  • Principal Component Regression (PCR)
  • Partial Least Squares Regression (PLSR)
  • Sammon Mapping
  • Multidimensional Scaling (MDS)
  • Projection Pursuit
  • Linear Discriminant Analysis (LDA)
  • Mixture Discriminant Analysis (MDA)
  • Quadratic Discriminant Analysis (QDA)
  • Flexible Discriminant Analysis (FDA)

k. Thuật toán tập hợp (Ensemble Algorithms)

 

Phân nhóm thuật toán Machine Learning

Về cơ bản, các thuật toán này là các mô hình bao gồm các mô hình yếu hơn.được huấn luyện độc lập và phần dự đoán của chúng sẽ được kết hợp theo một cách nào đó để đưa ra dự đoán tổng thể.

Các thuật toán giảm chiều dữ liệu phổ biến nhất là gì:

  • Boosting
  • Bootstrapped Aggregation (Bagging)
  • AdaBoost
  • Stacked Generalization (blending)
  • Gradient Boosting Machines (GBM)
  • Gradient Boosted Regression Trees (GBRT)
  • Random Forest

Trên đây là tất cả về phân loại các thuật toán machine learning trong cộng đồng Trí tuệ nhân tạo – AI Vietnam Community. 

About the author

Chủ blog Dinomadz, thích marketing, thích kết bạn, thích du lịch.

Leave a Reply