Blog

24 Jul
Machine learning
July 24, 2023

Machine learning

   

Machine learning

Nghe đâu, machine learning đang trở thành một chủ đề rất hot trong thời gian gần đây. Mọi người đã nghe nhiều về nó, nhưng liệu có hiểu rõ về khái niệm này chưa? Khi tìm kiếm trên internet, bạn sẽ thấy có rất nhiều định nghĩa về machine learning, nhưng thật khó để hiểu sâu hơn về nó. Để giúp bạn có cái nhìn rõ ràng hơn, hãy xem qua một số sơ đồ dưới đây. Chúng sẽ giúp bạn có cái nhìn tổng quan và tìm hiểu sâu hơn về machine learning.

Đầu tiên chúng ta hãy tập trung vào cách lập trình truyền thống của các developer:

Như hình trên đã cho ta thấy các lập trình viên dựa vào các quy tắc bằng ngôn ngữ lập trình. và họ dựa vào dữ liệu đưa vào chương trình mà họ mới lập trình để cung cấp câu trả lời.

Còn đối với ML thì sao? Hãy nhìn vào quy trình bên dưới:

Thay vì cố gắng xác định quy tắc và thể hiện chúng bằng ngôn ngữ lập trình, bạn chỉ cung cấp câu trả lời (Trong ML: nhãn) cùng với dữ liệu thì ML sẽ tự suy ra các quy tắc xác định mối quan hệ giữa câu trả lời và dữ liệu.

Có thể nhìn hình bên dưới là một ví dụ:

Bằng cách thu thập nhiều dữ liệu và gắn nhãn từ các dữ liệu một cách hiệu quả, bạn có thể hướng dẫn máy tính nhận biết các mẫu đặc trưng từ dữ liệu và dự đoán các hoạt động cụ thể.

Phương pháp này không chỉ thay thế phương pháp lập trình truyền thống, mà còn mở ra những tình huống mới, không cần tuân theo các qui tắc gò bó “.”

Trong lập trình truyền thống, mã của bạn được biên dịch thành một tệp nhị phân được gọi là chương trình. Trong học máy, mô hình được tạo ra từ dữ liệu và nhãn bạn đã tạo.

Sau này, chúng ta chỉ cần sử dụng mô hình đã được tạo ra đó. Bằng cách cung cấp dữ liệu cho mô hình, nó có thể dự đoán kết quả mà chúng ta mong muốn.

 

Machine learning Workflow

Machine learning Workflow giúp bạn có thể thấy quy tình để làm việc với Machine learning. Đối với mọi bài toán Machine Learning đều sẽ có quy trình như sau:

  • Gathering data/Data collection (Thu thập dữ liệu): Đây là công việc tốn thời gian nhất và có thể chiếm 70-80% tổng thời gian quy trình. Để máy tính có thể học được bạn cần có một bộ dữ liệu (dataset), bạn có thể tự thu thập chúng hoặc lấy các bộ dữ liệu đã được công bố trước đó. Lưu ý là bạn phải thu thập từ nguồn chính thống, có như vậy dữ liệu mới chính xác và máy có thể học một cách đúng và đạt hiệu quả cao hơn.
  • Data preprocessing (Tiền xử lý dữ liệu): Trong chuỗi quy trình này, tiền xử lý dữ liệu giúp loại bỏ các thuộc tính không cần thiết và chuẩn hóa dữ liệu, trích xuất đặc trưng, rút gọn dữ liệu nhưng vẫn đảm bảo kết quả…. Công việc này tỉ lệ thuận với bước thu thập dữ liệu. Nghĩa là nếu dữ liệu bạn càng nhiều thì bước này càng mất nhiều thời gian
  • Training model (Huấn luyện mô hình) & Evaluating model (Đánh giá mô hình): Việc xây dựng, huấn luyện và đánh giá mô hình sẽ ít chiếm thời gian hơn. Tuy nhiên, công việc được xoay vòng thực hiện liên tục, sau khi đánh giá mô hình ta tiếp tục tìm cách tối ưu > huấn luyện > đánh giá cho tới khi độ chính xác tăng cao. Tuy công việc chiếm ít thời gian nhưng đây được coi là giai đoạn quan trọng để lựa chọn mô hình phù hợp. Độ chính xác của mô hình đạt trên 80% được cho là tốt
  • Improve (Cải thiện): Sau khi bạn đã đánh giá và chọn được mô hình phù hợp, một vài mô hình đạt độ chính xác chưa đạt yêu cầu thì cần được huấn luyện lại, chúng ta sẽ lặp lại từ bước 3, cho đến khi đạt độ chính xác như kỳ vọng. Thời gian dành cho 3 bước huấn luyện, đánh giá, cải thiện chiếm khoảng 30% tổng quy trình.

Phân loại ML

Có rất nhiều cách phân loại machine learning, thông thường thì machine learning sẽ được phân làm hai loại chính sau:

  • Supervised learning: học có giám sát
  • Unsupervised learning: học không giám sát

Ngoài ra, machine learning còn có thể phân làm các loại sau:

  • Semi-supervised learning: học bán giám sát
  • Deep learning: học sâu (về một vấn đề nào đó)
  • Reinforce learning: học củng cố/tăng cường

Trong bài viết này, chúng tôi sẽ tập trung vào hai loại phân loại phổ biến nhất: học có giám sát và học không giám sát.

Supervised learning

Supervised learning, hay còn gọi là học máy có giám sát, sử dụng dữ liệu được gắn nhãn để xây dựng các thuật toán nhằm phân loại dữ liệu hoặc dự đoán kết quả một cách chính xác.

Học máy có giám sát giúp giải quyết nhiều vấn đề thực tế quy mô lớn, ví dụ như phân loại thư rác trong hộp thư đến. Các phương pháp trong học máy có giám sát bao gồm mạng nơ-ron, Navie Bayes, hồi quy tuyến tính, hồi quy logistic, Random Forest, SVM,…

Unsupervised learning

Unsupervised learning cho phép máy tính học từ dữ liệu không có nhãn, các thuật toán sẽ khám phá sự tương quan trong dữ liệu, xây dựng mô hình hoặc giảm số chiều dữ liệu. Chúng có thể phân loại dữ liệu thành các nhóm tương tự (clustering) hoặc giảm số chiều dữ liệu (dimension reduction). Các thuật toán phổ biến trong học máy không giám sát bao gồm mạng neural, phân cụm K-mean, phương pháp phân nhóm xác suất,…

Lời kết

Trong bài viết này, chúng ta đã tìm hiểu về machine learning và quy trình làm việc của nó. Machine learning là một lĩnh vực mạnh mẽ và đa dạng, cho phép chúng ta xây dựng các mô hình dự đoán thông qua việc học từ dữ liệu.

Việc áp dụng machine learning vào thực tế có rất nhiều ứng dụng hữu ích.

Hãy xem xét một ví dụ: một công ty thương mại điện tử muốn xây dựng một hệ thống gợi ý sản phẩm cho khách hàng dựa trên hành vi mua sắm trước đây. Bằng cách sử dụng machine learning, họ có thể phân tích dữ liệu mua hàng của khách hàng, xác định các mẫu mua sắm và tạo ra mô hình dự đoán gợi ý sản phẩm tương lai. Điều này giúp tăng trải nghiệm mua sắm của khách hàng và tăng doanh số bán hàng của công ty.

Machine learning đang thay đổi cách chúng ta làm việc và tạo ra những tiềm năng mới cho sự phát triển công nghệ. Điều quan trọng là hiểu cơ bản về machine learning và khám phá các ứng dụng thú vị của nó.

Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu sâu hơn về các thuật toán và phương pháp trong machine learning, cũng như khám phá những lĩnh vực ứng dụng đa dạng. Hãy tiếp tục đồng hành cùng tôi để khám phá thêm về thế giới thú vị của machine learning.

Cảm ơn bạn đã đọc bài viết này. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến, xin vui lòng để lại trong phần bình luận bên dưới. Tôi rất mong được trao đổi với bạn.

_ThaoBD_