Trang chủ » Kiến thức » Machine learning là gì? Tìm hiểu Machine learning từ A đến Z

Machine learning là gì? Tìm hiểu Machine learning từ A đến Z

Kiều Trịnh

Machine learning là gì mà được nhiều doanh nghiệp ứng dụng vậy? Cùng tìm hiểu tất tần tật các thông tin liên quan đến cụm từ này trong bài viết của Daotaotester. Chúng tôi đã tổng hợp chi tiết và dễ hiểu nhất cho bạn dễ dàng nắm bắt những nội dung quan trọng, đừng bỏ qua nhé.

Machine learning là gì

Machine learning là gì?

Dành cho những bạn chưa biết machine learning là gì thì đây là một lĩnh vực con thuộc trí tuệ nhân tạo AI. Machine learning có thể tạm dịch ra tiếng Việt là “học máy”. Các lập trình viên sẽ nghiên cứu và xây dựng hệ thống “học’’ tự động để giải quyết các vấn đề cụ thể. 

Thuật toán được sử dụng chủ yếu ở đây bao gồm khả năng tự học hay bắt chước hành động học của con người. Sau đó dần cải thiện độ chính xác nhằm tăng năng suất và hiệu quả công việc. Giúp tối ưu hóa thời gian và giảm chi phí nhân công cho con người. Nói một cách đơn giản thì machine learning là việc máy tính có thể giải quyết các bài toán thông qua những kinh nghiệm mà nó học được từ dữ liệu cho trước.

Machine learning là gì?

Một số ví dụ điển hình có thể giúp bạn hiểu machine learning là gì hơn. Cụ thể như hệ thống phân loại thư điện tử trên gmail; cảnh báo giao thông trên ứng dụng Google Maps hay Deepface của mạng xã hội Facebook… Tất cả đều có nguyên lý hoạt động cơ bản là dựa trên khả năng thích nghi với các điều kiện môi trường xung quanh. Để từ đó tìm ra được các nguyên lý tri thức phục vụ cho việc giải quyết các vấn đề hay ra quyết định.

Machine learning Workflow

Workflow dịch ra tiếng Việt có nghĩa là dòng chảy công việc. Vì thế Machine learning Workflow có thể được hiểu một cách đơn giản chính là quy trình làm việc với Machine learning. Trong đó gồm 5 bước cơ bản đã được trình bày chi tiết dưới đây.

Machine learning Workflow

Data collection – Thu thập dữ liệu

Đây là bước đầu tiên và cũng là bước quan trọng nhất ảnh hưởng đến toàn bộ quá trình. Đơn giản là vì máy học sẽ dựa vào cơ sở này để phân tích rồi giải quyết bài toán được đặt ra. Do đó, quá trình thu thập dữ liệu có thể chiếm từ 70-80% thời gian thực hiện. Đòi hỏi sự cẩn trọng, chắt lọc kỹ lưỡng trước khi tiến hành phân tích trên máy.  Bạn có thể tự thu thập hoặc lấy từ nguồn uy tín đã được công bố từ trước.

Preprocessing – Tiền xử lý

Sau khi đã có bộ dữ liệu cơ bản, bạn sẽ cần xử lý qua bằng vài kỹ thuật như chuẩn hóa dữ liệu; gán dữ liệu; bỏ những thuộc tính không phù hợp… Số lượng dữ liệu càng nhiều thì càng tốn thời gian cho quá trình tiền xử lý. Tuy nhiên, nó sẽ giúp ích nhiều cho những giai đoạn kế tiếp. Vậy nên cũng là một quá trình không thể thiếu trong machine learning.

Training model – Huấn luyện mô hình

Ở bước này, bạn sẽ cần hướng dẫn và huấn luyện máy “học” thông qua cơ sở dữ liệu đã có. Từ đấy giúp hệ thống đưa ra được lời giải cho các bài toán đang cần thực hiện. Việc huấn luyện thường không tốn nhiều thời gian như 2 bước đầu. Thế nhưng đây vẫn là một bước quan trọng giúp máy học có thể tìm ra mô hình phù hợp nhất. 

Evaluating model – Đánh giá mô hình

Quá trình đánh giá sẽ được thực hiện song hành với việc huấn luyện máy. Mục đích chính là để đo độ chính xác của quy trình làm việc. Khi con số đạt được từ 80% trở lên thì mô hình đó sẽ được cho là hoạt động tốt. Đối với những hệ thống máy chưa đạt yêu cầu thì sẽ cần huấn luyện lại để tìm cách tối ưu quy trình.

Improve – Cải thiện

Bước cải thiện sẽ được thực hiện cho những mô hình chưa đạt yêu cầu. Chúng ta sẽ tìm hiểu nguyên nhân dẫn đến tình trạng này rồi bắt đầu huấn luyện máy lại cho đến khi đạt được độ chính xác như kỳ vọng. Thường thì thời gian dành cho 3 bước cuối sẽ chỉ chiếm khoảng 30% tổng thời gian thực hiện cả quy trình.

Phân loại Machine learning

Vừa rồi chúng ta đã tìm hiểu khái niệm machine learning là gì cũng như machine learning Workflow. Ở phần tiếp theo này, hãy cùng đến với những loại máy học và các chức năng cụ thể.

Phân loại Machine learning

Supervised learning

Supervised learning được hiểu đơn giản là học máy có giám sát. Được dùng chủ yếu cho các bài toán phân lớp (Classification). Theo đó, các dữ liệu sẽ được phân vùng và gán nhãn để thuận tiện hơn cho việc tạo ra thuật toán phân loại. Đồng thời giúp máy dự đoán kết quả chính xác hơn. Như vậy, đây cũng có thể coi như một hình thức dạy máy học cơ bản.

Việc học máy có giám sát sẽ hỗ trợ rất nhiều cho việc giải quyết các vấn đề trong thế giới thực với quy mô lớn. Trong đó có một số phương pháp thường xuyên được sử dụng gồm: mạng nơ-ron; hồi quy tuyến tính; hồi quy logistic; Random Forest; Naive Bayes; Thuật toán SVM… 

Unsupervised learning

Ngược với những loại bên trên, Unsupervised learning có nghĩa là máy học không giám sát. Nó được sử dụng cho các bài toán phân cụm (Clustering). Hầu hết dữ liệu được xử lý ở đây sẽ bao gồm những dữ liệu chưa được gán nhãn. Do đó, Unsupervised learning có thể phát hiện ra được các mẫu hoặc nhóm dữ liệu ẩn mà đôi khi con người sẽ khó lòng tìm thấy.

Máy học không giám sát có khả năng phát hiện điểm tương đồng và khác biệt trong thông tin. Vì vậy nên đây đã trở thành một giải pháp lý tưởng cho việc phân tích các dữ liệu bán chéo; phân loại khách hàng hay nhận dạng hình ảnh và mẫu. Bên cạnh đó Unsupervised learning còn có thể giúp giảm số lượng tính năng trong một mô hình khi thực hiện phân tích thành phần chính (PCA) và phân tích giá trị đơn lẻ (SVD). 

Các thuật toán thường được sử dụng trong máy học không giám sát gồm: Phân cụm K-mean; phương pháp phân nhóm xác suất; neural network…

Semi-Supervised Learning

Kết hợp cả 2 loại trên là Semi-Supervised Learning – Phương pháp học tập bán giám sát. Theo đó, kỹ thuật máy học này sẽ sử dụng 2 loại gồm dữ liệu đã gán nhãn và dữ liệu chưa gán nhãn để huấn luyện máy. Semi-Supervised Learning có thể giải quyết bài toán ngay cả khi không có đủ dữ liệu được gắn nhãn để đào tạo thuật toán có giám sát. 

Các thuật toán được sử dụng trong phương pháp học tập bán giám sát cũng rất đa dạng. Có thể kể đến như: SVM truyền dẫn; Self Training; Co-Training; Cực đại kỳ vọng (EM – Expectation Maximization) và một số phương pháp dựa trên đồ thị.

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

Tìm hiểu Machine Learning là gì mà bỏ qua các thuật ngữ dưới đây thì sẽ là một thiếu sót lớn. Bởi vì đây là những khái niệm thường gặp trong quá trình huấn luyện máy học.

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

Dataset

Dataset là tập dữ liệu ban đầu chưa qua xử lý mà chúng ta đã thu thập được ở giai đoạn đầu tiên. Trong đó bao gồm nhiều Data point, là những đơn vị cấu trúc nhỏ hơn.

Data point

Data Point có thể tạm dịch là điểm dữ liệu hay một đơn vị dữ liệu cơ bản. Trong đó, một Data Point sẽ biểu diễn cho một quan sát với nhiều đặc trưng hay các thuộc tính khác nhau. Có thể chia thành 2 loại chủ yếu là dữ liệu số (Numerical) và dữ liệu không phải số (Non-numerical).

Training data và test data

Đây là 2 thành phần chủ yếu trong Dataset. Training data có chức năng chính là huấn luyện máy. Trong khi đó, Test Data lại dùng để kiểm tra, đánh giá và dự đoán kết quả của mô hình. Đây là 2 quá trình cần thực hiện cùng nhau để giúp máy có thể giải quyết được bài toán đang được đặt ra. 

Features vector

Features vector được hiểu là Vector đặc trưng. Được dùng để biểu diễn cho một điểm dữ liệu nào đó trong Dataset. Các vector phải là dữ liệu số và mỗi điểm dữ liệu sẽ có n chiều vector đặc trưng. Việc huấn luyện các mô hình sẽ dựa trên những Vector này. Vậy nên chúng ta sẽ cần phải chuyển Dataset về một tập hợp có các vector đặc trưng.

Model

Đây là khái niệm dùng để chỉ các mô hình thường được dùng để huấn luyện ở giai đoạn Training Data. Từ những gì đã phân tích và học hỏi được, máy sẽ có khả năng dự đoán, đưa ra quyết định chính xác.

10 thuật toán trong Machine Learning

Không chỉ cần tìm hiểu Machine Learning là gì, bạn nên xem thêm một số thuật toán thường được sử dụng. Đây sẽ là cơ sở cho việc vận dụng các mô hình máy học một cách hiệu quả.

10 thuật toán trong Machine Learning

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

Hồi quy tuyến tính vốn là một thuật toán khá quen thuộc với chúng ta. Mô hình này có nhiệm vụ chủ yếu là nhằm giảm thiểu sai sót để đưa ra dự đoán chính xác nhất có thể. Hồi quy tuyến tính thường được dùng trong việc phân tích các đại lượng liên tục như doanh số hay giá cả thay vì cố gắng phân loại thành những đại lượng rời rạc như màu sắc hay chất liệu…

Có 2 dạng bài toán hồi quy tuyến tính cơ bản thường gặp là hồi quy đơn biến và hồi quy đa biến. Tương ứng với đó là các kỹ thuật toán học dựa trên phương trình hồi quy tuyến tính. 

Logistic Regression (Hồi quy logistic)

Đây là một thuật toán được mượn từ lĩnh vực thống kê nhưng lại được ứng dụng khá rộng rãi. Hồi quy Logistic thường được sử dụng cho các vấn đề phân loại nhị phân từ một tập hợp các biến độc lập. Mục đích chính là để dự đoán xác suất của một sự kiện dựa trên việc khớp dữ liệu với một hàm logit. Từ đấy đưa ra một số kết quả hữu hạn như “có” hoặc “không”.

Logistic Regression (Hồi quy logistic)

Việc sử dụng Logistic Regression có thể giúp các tổ chức thu thập được thông tin chuyên sâu. Phục vụ cho việc dự đoán; phân tích; đưa ra biện pháp nhằm cắt giảm chi phí, tăng độ hiệu quả. Bởi vì hàm hồi quy có tính đơn giản, xử lý nhanh nhạy. Đặc biệt là hàm này có sự linh hoạt nhất định.

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

Decision Tree cũng là một thuật toán cần nhắc đến khi tìm hiểu Machine Learning là gì. Theo đó, đây là một cây phân cấp theo cấu trúc dùng để phân loại các đối tượng dựa trên dãy luật nào đó. Các đối tượng có thể thuộc nhiều kiểu dữ liệu khác nhau. Tuy nhiên thuộc tính phân lớp phải là Binary hoặc Ordinal. 

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

Là một thuật toán giám sát, Support Vector Machine hay SVM mang lại nhiều lợi ích cho việc phân loại hoặc đệ quy. Tuy nhiên, mục đích chính vẫn là phân loại các đối tượng thành từng điểm nhất định. Giá trị của mỗi thành phần sẽ được gắn với một tọa độ cụ thể và bị ngăn cách bởi những đường bay (Hyper-plane). Thuật toán này có thể giải quyết được nhiều vấn đề như phân loại hình ảnh trong phạm vi rộng; phát hiện giới tính thông qua ảnh; hiển thị quảng cáo.

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

Thuật toán Naive Bayes

Mặc dù có cách thức thực hiện khá đơn giản nhưng độ chính xác của Naive Bayes lại được đánh giá cao. Theo đó, thuật toán này sẽ xem xét các thuộc tính của đối tượng một cách độc lập. Sau đấy bắt đầu tính toán để đưa ra kết quả cụ thể. Kỹ thuật này thường được sử dụng cho một phạm vi rộng lớn với các vấn đề phức tạp bởi có hiệu quả cao.

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

K-Nearest Neighbors là một thuật toán được sử dụng nhiều trong ngành Khoa học dữ liệu. Mục đích chính là để phân loại nhưng vẫn có thể áp dụng cho cả các bài toán hồi quy. Trong đó, KNN sẽ lưu trữ các trường hợp có sẵn. Sau đó phân loại các trường hợp mới dựa trên việc lấy đa số phiếu bầu của K neighbor. Từ đây, hệ thống sẽ tìm đầu ra cho điểm dữ liệu mới mà không cần quan tâm đến nhiễu.

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

K-Means

K-Means là thuật toán cơ bản thường được sử dụng trong Unsupervised learning. Mô hình này được phát triển nhằm giải quyết các vấn đề phân cụm. Bởi vậy nên các tập dữ liệu sẽ được phân chia thành một số cụm không đồng nhất với nhau nhưng lại đồng nhất với dữ liệu trong cùng cụm.  Đó có thể là 2, 3 hoặc nhiều cụm tùy thuộc vào tính chất hay các quy tắc phân cụm.

Thuật toán Random Forest

Random Forest trong Machine Learning là gì? Đây là một loại thuật toán được kết hợp dựa trên nhiều cây quyết định. Bộ sưu tập này được gọi là rừng với mỗi cây phụ thuộc vào một mẫu ngẫu nhiên độc lập. Đối với bài toán hồi quy, kết quả cuối cùng được xác định là mức trung bình của tất cả kết quả đầu ra. Trong khi đó, với bài toán phân loại, lớp phổ biến nhất sẽ là kết quả được chọn.

Thuật toán Random Forest hoạt động khá đơn giản theo tuần tự 4 bước cơ bản sau:

  • B1: Chọn mẫu ngẫu nhiên từ tập dữ liệu đã thu thập từ trước.
  • B2: Tiến hành phân tích và thiết lập từng cây quyết định cho từng mẫu.
  • B3: Tiến hành bỏ phiếu cho các kết quả dự đoán.
  • B4: Lựa chọn phương án tối ưu nhất là kết quả được dự đoán nhiều nhất.

Thuật toán Dimensionality Reduction (Thuật toán giảm kích thước)

Thông thường các dữ liệu thô bao giờ cũng chứa nhiều thông tin hơn là những gì chúng ta cần. Điều đó đã tạo ra một thách thức lớn cho việc lọc và xác định các mẫu hay biến quan trọng. Lúc này, bạn có thể sử dụng thuật toán giảm kích thước nhằm giúp tối ưu quá trình phân tích.

Cơ chế hoạt động của Dimensionality Reduction khá đơn giản. Hệ thống sẽ biến đổi dữ liệu từ không gian chiều cao thành không gian chiều thấp. Bên cạnh đó, giữ lại một số thuộc tính có ý nghĩa của dữ liệu gốc để phân tích và dự đoán. Việc giảm chiều dữ liệu sẽ giúp cho việc tính toán trở nên đơn giản, dễ dàng hơn. 

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

2 thuật toán này thường được sử dụng trong trường hợp cần xử lý lượng dữ liệu lớn đòi hỏi độ chính xác cao. Trong đó, Boosting (tăng cường) sẽ được thực hiện bằng cách xây dựng ban đầu từ các dữ liệu đào tạo. Tiếp theo là tạo ra những mô hình mới dựa trên việc sửa lỗi và hoàn thiện mô hình trước đó. Cứ làm như vậy cho đến khi đưa ra được dự đoán hoàn hảo.

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

AdaBoosting sẽ tạo ra những decision trees ngắn và từ đó sử dụng các cây này để làm cơ sở đánh giá, cải tiến cho các cây tiếp theo. Các dữ liệu càng dễ đào tạo thì có có ít trọng lượng hơn. Mô hình sẽ được đào tạo theo một tuần tự nhất định bởi mỗi lần cập nhật thì kết quả sẽ tác động đến việc máy học được ở các cây kế tiếp. 

Gradient Boosting được biết đến là dạng tổng quát hóa của AdaBoost. Tuy nhiên mục đích chính vẫn là giải quyết bài toán tối ưu. Đặc biệt, Gradient Boosting sẽ bao quát được nhiều trường hợp hơn so với AdaBoost.

Ứng dụng của Machine Learning là gì trong đời sống?

Ứng dụng của Machine Learning

Nếu từng tìm hiểu Machine Learning là gì thì chắc chắn bạn sẽ biết được rằng đây là một công cụ đang được ứng dụng trong nhiều ngành từ Tài chính – Ngân hàng, sinh học, nông nghiệp đến tự động hóa, Robotics hay hóa học… Cụ thể:

  • Nhận diện hình ảnh: Nhận diện khuôn mặt dựa trên các thao tác quét và đối chiếu với đặc điểm đã đăng ký trước đó.
  • Nhận dạng giọng nói: Sử dụng trình xử lý ngôn ngữ tự nhiên (Natural Language Processing) để hiển thị giọng nói dưới dạng chữ viết.
  • Computer vision: Công nghệ này cho phép máy tính lấy thông tin từ các hình ảnh kỹ thuật số, video hoặc một số đầu vào trực quan khác. Bởi vậy nên thường được sử dụng trong việc gắn thẻ ảnh trên mạng, chụp X quang trong chăm sóc sức khỏe…
  • Dịch vụ khách hàng: Ứng dụng trong chatbox trực tuyến giúp trả lời một số thắc mắc của khách hàng. Hỗ trợ trong việc giao tiếp với khách để làm thỏa mãn nhu cầu cũng như mong muốn của họ.
  • Ứng dụng cho công cụ tìm kiếm tự động: Các thuật toán AI có thể giúp khám phá xu hướng tiêu dùng. Từ đó đưa ra đề xuất cho khách hàng trong quá trình mua sắm hay chỉ đơn giản là tìm kiếm thông tin trên mạng.
  • Ứng dụng trong ngành chứng khoán: Giao dịch tự động và được tối ưu hóa đã giúp ích rất nhiều cho việc điều hành các sàn giao dịch.
  • Khác: Ứng dụng trong các ngành trong việc xử lý thông tin; xác định dữ liệu quan trọng; ngăn chặn gian lận; phân tích và tìm đường đi ngắn nhất… 

Tổng kết

Vừa rồi là những thông tin bổ ích xoay quanh vấn đề Machine Learning là gì, các loại máy học cũng như các thuật toán thường được dùng trong Machine Learning. Với những lợi ích bất ngờ mà trí tuệ nhân tạo có thể mang lại thì không khó để hiểu tại sao đây được coi như xu hướng của tương lai. Bởi vậy, việc tìm hiểu và tích lũy kiến thức về Machine Learning có thể mang đến cho bạn nhiều cơ hội bất ngờ. Nếu thấy bài viết hay và hữu ích thì đừng tiếc vài giây để bình luận cho chúng tôi được biết nhé.

5/5 - (2 bình chọn)
Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone