Machine learning là gì? 10 thuật toán phổ biến của Machine Learning

Trong những năm gần đây, chúng ta đều thấy sự phổ biến và phát triển vượt bậc của trí tuệ nhân tạo (AI) một cách rõ ràng. Mới đây, sự xuất hiện của Chat GPT – một ứng dụng AI do công ty OpenAI phát triển, đã làm cả thế giới ngỡ ngàng vì tính ưu việt của nó. Nhưng trước nó, Machine learning mới là cái tên được nhắc đến nhiều nhất. Vậy Machine learning là gì? Cùng Trường học 247 tìm hiểu trong bài viết dưới đây nhé!

Machine learning là gì?

Machine learning theo tiếng Việt có thể được hiểu là máy học, hoặc học máy, là một phần nhỏ, nhánh nhỏ trong trí tuệ nhân tạo (AI).  Machine learning hoạt động dựa trên những dữ liệu mẫu đầu vào có sẵn, đôi khi từ những gì đã được trải nghiệm, hệ thống sẽ vận hành một cách tự động, tự hoàn thành, xử lý công việc không cần những lập trình chi tiết từ trước. 

Nói một cách dễ hiểu hơn, trước đây, các kỹ sư công nghệ có thể thực hiện thiết lập các chương trình máy tính, và máy móc sẽ dựa theo đó mà hoạt động đều đặn, y chang nhau. Tuy nhiên với Machine Learning, các kĩ sư sẽ đưa vào nhiều dữ liệu mẫu, máy móc sẽ sử dụng những thuật toán, data đó, tổng hợp, tìm ra quy luật, cách giải quyết cho nhiều vấn đề mới khác.

Machine Learning
Machine Learning – một bước đột phá của công nghệ AI

Một số khái niệm trong Machine Learning

  • Dataset: Là tập dữ liệu bạn thu thập được để trở thành các thông tin đầu vào. Những dữ liệu này thường ở dạng nguyên thủy chưa qua bất kỳ quá trình xử lý nào. Và một dataset có thể chứa nhiều điểm data (data point).
  • Data point: Là một đơn vị dữ liệu độc lập trong tập data set của bạn. Một tập hợp các điểm dữ liệu này còn được gọi là tập dữ liệu.
  • Training data và test data: là 2 tập nhỏ nằm trong một tập lớn Dataset. Trong đó, Training data có vai trò chủ yếu là huấn luyện trong mô hình Machine Learning Workflow, test data giúp dự đoán kết quả dữ liệu đầu ra và bên cạnh đó cũng hỗ trợ đánh giá chất lượng mô hình dữ liệu.
  • Features vector: được hiểu là vector đặc trưng. Mỗi vector có chức năng biểu diễn cho một data point trong dataset. Mỗi đặc dưng sẽ được biểu diễn bằng một chiều vector (là một dữ liệu số). 
  • Model: Là những mô hình mà ở đó sẽ chứa những thuật toán giúp xử lý số liệu và hỗ trợ máy học. Những mô hình trong quá trình “tự học” sẽ rút ra được những dự đoán, những kết quả có khả năng xảy ra.

Các phương pháp Machine Learning phổ biến

Trong quá trình “tự học” của Machine Learning, tùy thuộc vào mức độ tham gia của con người mà ta có 4 phương pháp khác nhau:

Supervised learning – Học máy có sự giám sát

Loại phương pháp học này, con người sẽ có vai trò cung cấp cả data đầu vào và kết quả đầu ra mong muốn. Các cặp dữ liệu đầu vào và ra này sẽ được gắn với một hàm từ đó Machine Learning tính toán, rà soát, sắp xếp rồi cho ra kết quả như ý muốn.

Phân loại các tin nhắn rác, tin spam tự động trong các mục tin của email là một trong ứng dụng phổ biến nhất của Machine Learning học máy có giám sát.

Unsupervised learning – Học máy không có giám sát

Học máy không có giám sát khác một chút so với học máy có giám sát là phương pháp này chỉ cung đầu vào là các thuật toán, các công cụ hỗ trợ xử lý công việc mà không cung cấp đầu ra mong muốn.

Máy học sẽ có chức năng tự tính toán, và đưa ra những kết quả phù hợp nhất. Tiêu biểu nhất cho điều này chính là khi sau khi bạn tìm kiếm một đồ vật nào đó trên các sàn thương mại điện tử, các thuật toán bắt đầu hoạt động, nó sẽ xuất hiện những gợi ý tương tự nhiều lần để thúc đẩy nhu cầu mua sắm của bạn.

Semi-supervised learning – Học máy được giám sát một phần

Học máy giám sát một phần là giao điểm giữa hai phương pháp học máy trên. Phương pháp này sẽ cung cấp một tập hợp đầu vào gồm cả thuật toán và kết quả đầu ra tương ứng. 

Tuy nhiên, thuật toán và kết quả đầu ra sẽ không được nhóm thành các bộ như ở phương pháp học máy có giám sát mà chúng được trộn lẫn lại với nhau. Công việc của Machine Learning là là tìm các cặp tương ứng với nhau.

Reinforcement Learning – Học Củng Cố 

Reinforcement Learning – Học củng cố là phương pháp giúp cho hệ thống có các hành động thích hợp trong từng hoàn cảnh khác nhau để đạt được kết quả cao nhất, đáng mong đợi nhất. 

Hiện nay, Reinforcement Learning được áp dụng nhiều trong các lý thuyết trò chơi mà ta có thể chơi với máy. Các thuật toán sẽ hoạt động, tính toán các bước đi tiếp theo phù hợp với người chơi để đạt được điểm số cao nhất.

Xem thêm: Giáo dục STEM là gì? Ưu – nhược điểm của mô hình giáo dục STEM

10 thuật toán của Machine Learning 

Khi mới làm quen với Machine Learning, bạn sẽ thắc mắc, băn khoăn không biết nên dùng thuật toán nào phù hợp với nhu cầu của mình. Trường học 247 sẽ giới thiệu cho bạn 10 thuật toán được sử dụng phổ biến nhất hiện nay.

1. Linear Regression (Hồi quy tuyến tính)

Linear Regression – Hồi quy tuyến tính là một trong những thuật toán được coi là phổ biến, cơ bản nhất và được sử dụng thường xuyên nhất trong Machine Learning. Hồi quy tuyến tính là một phương trình với biến đầu vào là (x), biến đầu ra là (y).  

Khi thực hiện phân tích thuật toán, máy học sẽ tìm điểm chung giữa hai biến số: biến số (x) ở tên trực hoành (biến độc lập/ biến dự đoán) và biến số (y) trên trục tung (biến phụ thuộc/ biến kết quả). Và sau đó một phương trình đường thẳng hồi quy được vẽ ra, và phương trình này có thể dự đoán được (y) sau khi đã biết (x)

Thuật toán hồi quy tuyến tính

Phương trình thuật toán hồi quy tuyến tính với biến số (x) và (y)Thuật toán hồi quy tuyến tính đã được nghiên cứu và pháp triển hơn 200 năm. Ưu điểm của nó là có khả năng loại bỏ những biến số tương tự nhau và các yếu tố không liên quan đến dữ liệu của bạn.

2. Logistic Regression (Hồi quy logistic)

Logistic Regression (Hồi quy logistic) là một thuật toán trong thống kê được Machine Learning mượn để thực hiện. Hồi quy logistic dùng kỹ thuật phân tích và cho ra mối quan hệ của hai yếu tố, hai dữ liệu rời rạc. Từ mối quan hệ vừa tìm được, máy học có thể dự đoán dữ liệu đầu ra từ dữ liệu đã biết trước.

Thuật toán Hồi quy logistic có thể được ứng dụng, hỗ trợ trong chăm sóc sức khỏe. Khi bác sĩ muốn chuẩn đoán tỉ lệ phần trăm mắc các bệnh của bệnh nhân do tác động của tiểu sử bệnh của người nhà hoặc các bộ gen, từ đó sẽ có các phương pháp phòng ngừa hay điều trị kịp thời.

HÌnh ảnh thuật toán Logistic Regression (Hồi quy logistic)
Thuật toán Hồi quy logistic được ứng dụng trong tính khả năng vượt qua kì thi thông qua số giờ học

3. Decision Tree (Cây quyết định)

Thuật toán Decision Tree là kỹ thuật thuộc phương pháp học máy có giám sát. Thuật toán này thường được sử dụng để phân loại các vấn đề, các dữ liệu cho trước từ đó cho ra các kết quả dự đoán.

Thuật toán với cấu trúc hình cây này sẽ được thiết lập từ trên xuống dưới, giống như một đồ thị của các quyết định khác nhau và các kết quả có thể của nó. Thuật toán này đưa ra nhằm mục đích đạt được những kết quả tốt nhất thông qua phân tích, đánh giá các quyết định và kế hoạch kèm theo.

Decision Tree - Cây quyết định
Một ví dụ của Decision Tree – Cây quyết định trong câu hỏi có nên đi chơi hay không?

4. Thuật toán Support Vector Machine (Thuật toán SVM)

SVM cũng là một thuật toán thuộc phương pháp giám sát, với chức năng chính là nhận dữ liệu đầu vào và phân loại dữ liệu thành hai lớp khác nhau. Kỹ thuật này có thể hoạt động tốt trong môi trường dữ liệu khổng lồ, phân tích và đưa ra kết quả vượt trội. Bên cạnh đó, dung lượng bộ nhớ mà thuật toán SVM sử dụng tương đối ít so với các thuật toán khác.

Thuật toán này được ứng dụng trong các mô hình chuẩn đoán bệnh. Dựa vào những chỉ số xét nghiệm mà thuật toán có thể dự đoán các bệnh như máy nhiễm mỡ, gan,…; hoặc các mô hình phát hiện gian lận trong thi cử,…

Hình ảnh thuật toán SVM
Hình ảnh thuật toán SVM

5. Thuật toán Naive Bayes

Trong học máy, thuật toán Naive Bayes dùng để phân loại có xác suất các dữ liệu dựa trên việc áp dụng định lý Bayes và giả định độc lập giữa các hàm (Naive).

Naive Bayes là kỹ thuật được áp dụng trong các công nghệ nhận diện khuôn mặt, hoặc bộ lọc trong hộp email,…

Ứng dụng thuật toán phân loại Naïve Bayes
Ứng dụng thuật toán phân loại Naïve Bayes trong bộ lọc email

6. Thuật toán K-Nearest Neighbors (KNN)

Thuật toán K-Nearest Neighbors (KNN) có thể được dùng với cả hai mục đích phân loại và hồi quy. Trong ngành khoa học máy tính, đây là phương pháp tiện dụng, mang lại nhiều hiệu quả.

Thuật toán này hoạt động theo quá trình phân loại những dữ liệu mới dựa trên việc tìm kiếm, phân tích những điểm tương đồng của dữ liệu mới này với kho dữ liệu cũ.

Thuật toán K-Nearest Neighbors (KNN)
Thuật toán K-Nearest Neighbors (KNN)

7. Thuật toán K-Means

Thuật toán K-Means được sử dụng nhiều trong Machine Learning, với chức năng chính là phân chia các dữ liệu đầu vào cho trước thành các cụm tách biệt mà trong đó mỗi cụm sẽ có những tính chất giống nhau. 

Thuật toán này được áp dụng cho những công việc cần phân loại hay chia nhóm. Ví dụ một ngân hàng muốn chia nhỏ các đối tượng khách hàng của họ dựa trên mức độ tần suất và số lượng dịch vụ khách hàng sử dụng để có những chế độ ưu đãi khác nhau, khi đó họ có thể dùng thuật toán K-Means như một công cụ hỗ trợ công việc đắc lực.

Thuật toán K-Means
Thuật toán K-Means ứng dụng để phân loại các dữ liệu

8. Thuật toán Random Forest

Một tập hợp các thuật toán Decision Tree sẽ tạo thành Thuật toán Random Forest. Nói cách khác, thuật toán này sử dụng nhiều mô hình cây quyết định (Decision Tree) để có thể phân loại, hồi quy dữ liệu. Kỹ thuật này sử dụng dự đoán của nhiều cây quyết định rồi đưa ra kết quả cuối cùng với tính chính xác cao hơn và ổn định hơn.

Thuật toán Random Forest
Quá tình hoạt động của thuật toán Random Forest

9. Thuật toán Dimensionality Reduction

Thuật toán Dimensionality Reduction hay dimension reduction (có thể dịch sang tiếng Việt là giảm chiều, giảm kích thước dữ liệu) là một thuật toán quan trọng trong Machine Learning. Với chức năng làm giảm các chiều của dữ liệu, từ chiều cao đến chiều thấp nhưng vẫn giữ nguyên được một số đặc tính của dữ liệu, thuật toán sẽ làm tăng đáng kể hiệu suất và tính dễ dùng của hệ thống.

Phương pháp này được áp dụng nhiều đối với Big data, khi một khối lượng lớn dữ liệu vượt quá giới hạn xử lý của hệ thống. Nhờ có thuật toán này, hệ thống vẫn sẽ ra kết quả tương đối chính xác với các dữ liệu đã được rút gọn.

Thuật toán Dimensionnality reduction
Thuật toán Dimensionnality reduction giúp làm giảm chiều dữ liệu

10. Thuật toán Gradient Boosting và thuật toán AdaBoosting

Cả Thuật toán Gradient Boosting và AdaBoosting (Adaptive Bo boosting) đều là những thuật toán có kả năng sử dụng tập hợp các thuật toán yếu hơn từ đó cải thiện và tăng hiệu xuất cho hệ thống Machine Learning.

Cách thức thuật toán Thuật toán Gradient Boosting hoạt động
Cách thức thuật toán Thuật toán Gradient Boosting hoạt động

Tìm hiểu Machine Learning Workflow

Machine learning Workflow chính là quy trình làm việc của Machine learning. Hầu hết các Machine Learning đều sẽ có quy trình gồm 4 bước như sau:

  1. Gathering data/Data collection (Thu thập dữ liệu,, thông tin): Đây là công việc đầu tiên cũng chính là công việc tốn thời gian nhất, cób thể chiếm tới 70-80% tổng thời của gian quy trình. Bởi đầu việc này rất quan trọng, nó có thể ảnh hưởng rất lớn đến tổng thể mô hình máy học. Một mô hình có hoạt động và đưa ra kết quả chính xác hay không thì còn tùy thuộc nhiều vào một nguồn dữ liệu tốt.
  2. Data preprocessing (Tiền xử lý dữ liệu): Bước thứ 2 là bước tiền xử lý dữ liệu – giúp loại bỏ các đặc điểm không phù hợp.  
  3. Training model (Huấn luyện mô hình) & Evaluating model (Đánh giá mô hình): Một chu kì tuần hoàn liên tục gồm: huấn luyện > đánh giá mô hình > tối ưu mô hình. Chu kì này sẽ được lặp đi lặp lại nhiều lần đến khi đạt được độ chính xác ở mức độ cao. Công việc này sẽ giúp Machine Learning tìm được mô hình tối ưu nhất.
  4. Improve (Cải thiện): Là bước cuối cùng trong Machine Learning Workflow. Đây chính là bước tối ưu được nhắc tới ở trên.

Ứng dụng thực tiễn của Machine Learning

Ngày nay Machine Learning được sử dụng rất rộng rãi và được ứng dụng trong nhiều lĩnh cực của đời sống, từ y học, khoa học máy tính, giải trí, vật lí, toán học, nông nghiệp,… 

Một ví vụ tiêu biểu gây chấn động quốc tế những năm 2016, một chương trình máy tính có tên là AIphaGo do Google sáng tạo đã đánh bại cao thủ cờ vây người Hàn Quốc – người từng 18 lần vô địch thế giới. Với một môn thể thao đòi hòi tư duy logic, chiến lược sáng tạo như môn cờ vây, một chương trình máy tính có thể thắng con người chứng tỏ sự phát triển vượt bậc của công nghệ máy tính, trí tuệ nhân tạo.

Những ứng dụng cụ thể khác có thể kể đến như: những ứng dụng lái xe tự động cũng như các phương tiện giao thông không người lái, robot phẫu thuật, các hệ thống tự động hóa trong công nghiệp, nông nghiệp,…

Google AIphaGo
Trận đấu cờ vây gây chấn động giữa Goole AIphaGo và nhà vô địch thế giới người Hàn Quốc

Câu hỏi thường gặp về Machine Learning

Sự khác biệt giữa ba thuật phương pháp: Supervised Learning, Unsupervised Learning và Reinforcement Learning là gì? 

  • Supervised Learning là phương pháp dự đoán đầu ra (output) từ một dữ liệu đầu vào mới (input) dựa trên một cặp dữ liệu (input – output) khác đã biết trước
  • Unsupervised Learning là phương pháp dự đoán đầu ra từ dữ liệu đầu vào và các công cụ cần thiết cho trước
  • Reinforcement Learning là phương pháp cho kết quả đầu ra tương ứng với dữ liệu đầu vào, từ các bộ dữ liệu cho trước.

Ngôn ngữ được lập trình trong Machine Learning là gì?

Một số ngôn ngữ được lập trình trong Machine Learning là Python, Ngôn ngữ lập trình R, Java, JavaScipt, Haskell, Julia,…

Trên đây, Trường học 247  mang đến cho bạn đọc một số thông tin cơ bản liên quan đến Machine Learning. Hi vọng những nội dung trên sẽ là nguồn tham khảo hữu ích khi các bạn quan tâm và muốn tìm hiểu về Machine Learning.

Xem thêm: Phương pháp Glenn Doman là gì? Có nên giáo dục theo phương pháp Glenn Doman?

5/5 - (1 bình chọn)
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
DMCA.com Protection Status
0
Rất thích suy nghĩ của bạn, hãy bình luận.x
Lịch khai giảng Liên hệ Đăng ký học thử