Firewall Anti DDoS
SSL
5
5

Machine Learning là gì? Những thuật toán trong Machine Learning

4432
Lượt xem
Home Tài Liệu Kỹ Thuật Machine Learning là gì? Những thuật toán trong Machine Learning

Trong những năm gần đây, Trí tuệ nhân tạo (AI) cụ thể là Machine Learning đang len lỏi vào trong mọi lĩnh vực của đời sống con người mà có thể chúng ta không nhận ra. Vậy Machine Learning là gì? Vì sao lại được ứng dụng rộng rãi đến như vậy? Bài viết dưới đây sẽ giúp giải đáp những thắc mắc của bạn cũng như đề cập đến một vài ứng dụng của Machine Learning hiện nay.

Machine Learning là gì?

Machine Learning hay còn gọi được là Học máy là một lĩnh vực của trí tuệ nhân tạo (AI) và khoa học máy tính. Machine Learning liên quan đến việc nghiên cứu và xây dựng các kỹ thuật cho phép các hệ thống “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể. Machine Learning tập trung vào việc sử dụng dữ liệu và thuật toán để bắt chước cách con người học, sau đó dần dần cải thiện độ chính xác của nó.

Một ví dụ cụ thể dành cho Machine Learning chính là các máy có thể “học” để phân loại các loại thư điện tử là thư rác hay không, sau đó sắp xếp vào thư mục tương ứng.

Machine Learning là gì?
Machine Learning là gì?

IBM có một lịch sử phong phú về Machine Learning. Một trong đó là Arthur Samuel, được cho là đã đặt ra thuật ngữ “Machine Learning” với nghiên cứu xung quanh trò chơi cờ caro. Robert Nealey, tự xưng là bậc thầy cờ caro, đã chơi trò chơi này trên máy tính IBM 7094 vào năm 1962, và ông đã thua chiếc máy tính này.

So với những gì có thể làm được ngày nay, những điều này gần như không đáng kể, nhưng đây được coi là một cột mốc quan trọng trong lĩnh vực trí tuệ nhân tạo. Trong vài thập kỷ tới, những phát triển công nghệ xung quanh khả năng lưu trữ và xử lý sẽ liên quan đến một số sản phẩm sáng tạo mà chúng ta biết và yêu thích ngày nay, chẳng hạn như động cơ đề xuất của Netflix hoặc ô tô tự lái.

Lịch sử của Machine Learning
Lịch sử của Machine Learning

Machine Learning là một thành phần quan trọng của lĩnh vực khoa học dữ liệu đang phát triển. Thông qua việc sử dụng các phương pháp thống kê, các thuật toán để đưa ra phân loại hoặc dự đoán, khám phá những hiểu biết quan trọng trong các dự án khai thác dữ liệu.

Những thông tin chi tiết này sau đó thúc đẩy ra các quyết định trong ứng dụng và doanh nghiệp, tác động lý tưởng đến các chỉ số tăng trưởng chính. Khi dữ liệu tiếp tục mở rộng và phát triển, nhu cầu thị trường đối với các nhà khoa học dữ liệu sẽ tăng lên, đòi hỏi họ phải hỗ trợ xác định các câu hỏi kinh doanh phù hợp nhất và đưa ra câu trả lời chính xác nhất.

Ngoài định nghĩa Machine Learning, bạn có thể tìm hiểu thêm về Deep Learning. Đó là phần mềm máy tính bắt chước mạng lưới các nơ-ron trong bộ não chúng ta. Deep Learning là tập hợp con thuộc về Machine Learning. Hãy tham khảo bài viết này để hiểu rõ hơn về Deep Learning nhé: Deep Learning là gì? Tổng quan về Deep Learning từ A-Z.

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:

Machine learning Workflow
Machine learning Workflow
  1. 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. Tuy nhiên, công việc này rất quan trọng và ảnh hưởng đến mô hình máy học của bạn. Để mô hình có chất lượng và hoạt động tốt yêu cầu một bộ dữ liệu tốt.
  2. 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. Công việc này tỉ lệ thuận với bước thu thập dữ liệu.
  3. 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.
  4. 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.
Banner WordPress Hosting Singlepost

Chương trình ra mắt dịch vụ WordPress Hosting miễn phí 500 mẫu website

Phân loại Machine Learning

Machine learning được phân làm ba loại chính như sau:

Phân loại Machine Learning
Phân loại Machine Learning

Supervised Machine Learning (Machine Learning được giám sát)

Machine Learning được giám sát, hay còn được gọi là học máy có giám sát, được định nghĩa bằng cách sử dụng các tập dữ liệu được gắn nhãn để tạo 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.

Supervised Machine Learning
Supervised Machine Learning

Học máy có giám sát giúp các tổ chức giải quyết nhiều vấn đề trong thế giới thực trên quy mô lớn, chẳng hạn như phân loại thư rác trong một thư mục riêng biệt từ hộp thư đến. Một số phương pháp được sử dụng 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, thuật toán SVM,…

Unsupervised Machine Learning (Machine learning không được giám sát)

Machine Learning không giám sát, còn được gọi là học máy không giám sát, sử dụng các thuật toán học máy để phân tích và phân cụm các tập dữ liệu không được gắn nhãn. Các thuật toán này phát hiện ra các mẫu hoặc nhóm dữ liệu ẩn mà không cần sự can thiệp của con người.

Unsupervised Machine Learning
Unsupervised Machine Learning

Khả năng phát hiện ra những điểm tương đồng và khác biệt trong thông tin khiến nó trở thành giải pháp lý tưởng để phân tích dữ liệu khám phá, chiến lược bán chéo, phân khúc khách hàng, nhận dạng hình ảnh và mẫu.

Unsupervised Machine Learning cũng được sử dụng để giảm số lượng tính năng trong một mô hình thông qua quá trình giảm kích thước. Phân tích thành phần chính (PCA) và phân tích giá trị đơn lẻ (SVD) là hai cách tiếp cận phổ biến cho việc này. Các thuật toán khác được sử dụng trong machine learning không giám sát bao gồm neural network, phân cụm K-mean, phương pháp phân nhóm xác suất,…

Semi-supervised Learning (Machine Learning bán giám sát)

Semi-supervised Learning cung cấp một phương tiện kết nối giữa Machine Learning có giám sát và không giám sát. Trong quá trình đào tạo, nó sử dụng một tập dữ liệu có nhãn nhỏ hơn để hướng dẫn phân loại và trích xuất tính năng từ một tập dữ liệu lớn hơn mà không được gắn nhãn. Semi-supervised Learning có thể giải quyết vấn đề không có đủ dữ liệu được gắn nhãn để đào tạo thuật toán học có giám sát.

Semi-supervised Learning
Semi-supervised Learning

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

  • Dataset: Là tập dữ liệu ở dạng nguyên thủy chưa được xử lý mà bạn đã thu thập được ở bước data collection. Một dataset có thể chứa nhiều data point.
  • Data point: Là một đơn vị thông tin độc lập trong tập dữ liệu của bạn, chẳng hạn như bạn có các tập dữ liệu bao gồm giá nhà, ngày xây, diện tích,… thì một điểm dữ liệu sẽ gồm các thông tin đó. Một tập hợp các điểm dữ liệu được gọi là tập dữ liệu.
  • Training data và test data: Dataset thường được chia làm 2 tập này, training data có nhiệm vụ để huấn luyện trong mô hình Machine Learning Workflow, test data để dự đoán kết quả và đánh giá mô hình.
  • Features vector: Là vector đặc trưng, mỗi vector mang nhiệm vụ biểu diễn cho một điểm dữ liệu trong dataset. Mỗi vector đều có n chiều biểu diễn các đặc trưng của điểm dữ liệu, mỗi đặc trưng là một chiều và phải là dữ liệu số. Các mô hình chỉ có thể huấn luyện được từ các vector đặc trưng này, do đó dataset cần phải chuyển về dạng một tập các vector đặc trưng (features vectors).
  • Model: Là những mô hình thường được dùng training trên các training data dựa theo thuật toán của mô hình. Và sau đó mô hình sẽ dự đoán hoặc đưa các quyết định dựa trên những gì đã được học.

Ứng dụng của Machine Learning là gì?

  • Nhận diện hình ảnh (Image Recognition): Nhận dạng hình ảnh cũng là một trong những ứng dụng phổ biến của Machine Learning. Machine Learning cũng được ứng dụng để phát hiện khuôn mặt trong ảnh của nhiều người. Có một danh mục riêng cho mỗi người trong cơ sở dữ liệu hình ảnh của nhiều người.
  • Nhận dạng giọng nói: Hay còn được gọi là nhận dạng giọng nói tự động (ASR – Automatic Speech Recognition), sử dụng Natural Language Proccessing (NLP – xử lý ngôn ngữ tự nhiên) để xử lý giọng nói của con người thành định dạng viết. Nhiều thiết bị di động tích hợp tính năng nhận dạng giọng nói vào hệ thống để thực hiện tìm kiếm bằng giọng nói.

Ví dụ: Siri có thể truy cập vào mọi ứng dụng tích hợp sẵn trên thiết bị Apple của bạn như Mail, bản đồ, tin nhắn, danh bạ,… bằng cách nói chuyện.

Ứng dụng của Machine Learning
Ứng dụng của Machine Learning
  • Dịch vụ khách hàng: Chatbot trực tuyến đang thay thế các tác nhân con người trong quá trình giao tiếp với khách hàng. Chatbot trả lời các câu hỏi thường gặp (FAQ) xung quanh các chủ đề, như vận chuyển hoặc cung cấp lời khuyên được cá nhân hóa, bán sản phẩm chéo hoặc đề xuất kích thước cho người dùng, thay đổi cách chúng ta nghĩ về mức độ tương tác của khách hàng trên các trang web và nền tảng truyền thông xã hội.

Ví dụ: Message bot trên các trang web thương mại điện tử với tác nhân ảo, ứng dụng nhắn tin, chẳng hạn như Slack và Facebook Messenger, và các tác vụ thường được thực hiện bởi trợ lý ảo và trợ lý giọng nói.

>> Xem thêm: Google Assistant là gì? Cách sử dụng trợ lý ảo Google Assistant

  • Computer vision: Công nghệ AI này cho phép máy tính và hệ thống lấy thông tin có ý nghĩa từ hình ảnh kỹ thuật số, video và các đầu vào trực quan khác. Dựa trên các đầu vào đó có thể thực hiện hành động. Khả năng cung cấp các khuyến nghị này phân biệt chúng với các nhiệm vụ nhận dạng hình ảnh. Được hỗ trợ bởi mạng nơ-ron phức hợp, computer vision có các ứng dụng trong việc gắn thẻ ảnh trên mạng xã hội, chụp ảnh X quang trong chăm sóc sức khỏe và xe hơi tự lái trong ngành công nghiệp ô tô.
  • Công cụ đề xuất: Sử dụng dữ liệu hành vi tiêu dùng trong quá khứ, các thuật toán AI có thể giúp khám phá các xu hướng dữ liệu có thể được sử dụng để phát triển các chiến lược bán chéo hiệu quả hơn. Điều này được sử dụng để đưa ra các đề xuất bổ sung có liên quan cho khách hàng trong quá trình thanh toán cho các nhà bán lẻ trực tuyến.
  • Giao dịch chứng khoán tự động: Được thiết kế để tối ưu hóa danh mục đầu tư chứng khoán, các nền tảng giao dịch tần suất cao do AI điều khiển thực hiện hàng nghìn hoặc thậm chí hàng triệu giao dịch mỗi ngày mà không cần sự can thiệp của con người.

10 thuật toán trong Machine Learning

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

Hồi quy tuyến tính là một trong những thuật toán nổi tiếng nhất trong Machine Learning. Đây là một phương pháp thống kê để hồi quy dữ liệu với biến phụ thuộc có giá trị liên tục trong khi các biến độc lập có thể có một trong hai giá trị liên tục hoặc là giá trị phân loại.

Để hiểu chức năng hoạt động của thuật toán này, hãy tưởng tượng bạn sẽ sắp xếp các khúc gỗ ngẫu nhiên theo thứ tự tăng dần về trọng lượng của chúng. Tuy nhiên, bạn không thể cân từng khúc gỗ. Bạn phải đoán trọng lượng của nó chỉ bằng cách nhìn vào chiều cao và chu vi của khúc gỗ (phân tích trực quan) và sắp xếp chúng bằng cách sử dụng kết hợp các thông số có thể nhìn thấy này. Đây là hồi quy tuyến tính trong Machine Learning.

Hồi quy tuyến tính được phát minh vào khoảng hơn 200 năm trước và được nghiên cứu rộng rãi. Đây là một thuật toán tốt, nhanh chóng và dễ sử dụng.

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

Logistic Regression (Hồi quy logistic)

Logistic Regression (hay còn được gọi là hồi quy logistic) được sử dụng để ước tính các giá trị rời rạc (thường là các giá trị nhị phân như 0/1) từ một tập hợp các biến độc lập. Hồi quy logistic giúp dự đoán xác suất của một sự kiện bằng cách khớp dữ liệu với một hàm logit.

Tương tự hồi quy tuyến tính, hồi quy logistic sẽ hoạt động tốt hơn khi loại bỏ các thuộc tính không liên quan đến biến đầu ra hoặc các thuộc tính tương tự nhau. Đây là mô hình có thể học được nhanh và có hiệu quả với các vấn đề phân loại nhị phân.

Thuật toán hồi quy logistic
Thuật toán hồi quy logistic

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

Thuật toán Decision Tree trong Machine Learning là một trong những thuật toán phổ biến nhất được sử dụng hiện nay. Đây là một thuật toán học tập có giám sát được sử dụng để phân loại các vấn đề. Decisiom Tree hoạt động tốt khi phân loại cho cả biến phụ thuộc phân loại và biến phụ thuộc liên tục. Trong thuật toán này có thể chia tổng thể thành hai hoặc nhiều tập đồng nhất dựa trên các thuộc tính hoặc biến độc lập quan trọng nhất.

Thuật toán Decision Tree
Thuật toán Decision Tree

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

Thuật toán SVM là một phương pháp thuật toán phân loại, trong đó bạn vẽ biểu đồ dữ liệu thô dưới dạng các điểm trong không gian N chiều (với n là số đối tượng bạn có). Sau đó, giá trị của mỗi đối tượng địa lý được gắn với một tọa độ cụ thể, giúp dễ dàng phân loại dữ liệu. Các dòng đó được gọi là bộ phân loại có thể được sử dụng để tách dữ liệu và vẽ chúng trên biểu đồ.

Thuật toán SVM giải quyết được nhiều vấn đề lớn như phân loại hình ảnh có phạm vị rộng, hiện thị quảng cáo, phát hiện giới tính bằng hình ảnh.

Thuật toán SVM
Thuật toán SVM

Thuật toán Naive Bayes

Naive Bayes là một thuật toán đơn giản nhưng có mô hình tiên đoán vô cùng chính xác. Mô hình Naive Bayes giả định rằng sự hiện diện của một đối tượng cụ thể trong một lớp không liên quan đến sự hiện diện của bất kỳ đối tượng địa lý nào khác.

Ngay cả khi các tính năng này có liên quan với nhau, bộ phân loại Naive Bayes sẽ xem xét tất cả các thuộc tính này một cách độc lập khi tính toán xác suất và đưa ra một kết quả cụ thể. Mô hình Naive Bayes rất dễ xây dựng và hữu ích cho các bộ dữ liệu lớn với các vấn đề phức tạp.

Thuật toán Naive Bayes
Thuật toán Naive Bayes

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

Thuật toán này có thể được áp dụng cho cả bài toán phân loại và bài toán hồi quy. Rõ ràng, trong ngành Khoa học Dữ liệu, KNN được sử dụng rộng rãi hơn để giải quyết các vấn đề phân loại. Đây là một thuật toán đơn giản lưu trữ tất cả các trường hợp có sẵn và phân loại bất kỳ trường hợp mới nào bằng cách lấy đa số phiếu bầu của K neighbor. Sau đó, trường hợp được gán cho lớp mà nó có điểm chung nhất. Một chức năng khoảng cách thực hiện phép đo này.

Thuật toán KNN
Thuật toán KNN

KNN có thể được hiểu một cách dễ dàng bằng cách so sánh nó với cuộc sống thực. Ví dụ: Nếu bạn muốn biết thông tin về một người, hãy nói chuyện với bạn bè và đồng nghiệp của họ.

Tuy nhiên, cần cân nhắc vài điều trước khi chọn KNN như: Các biến phải được chuẩn hóa, nếu không các biến có phạm vi cao hơn có thể làm sai lệch thuật toán; dữ liệu vẫn cần được xử lý trước.

K-Means

K-Means là một thuật toán học tập không giám sát để giải quyết các vấn đề phân cụm. Các tập dữ liệu được phân loại thành một số cụm cụ thể (hãy gọi số đó là K) theo cách mà tất cả các điểm dữ liệu trong một cụm là đồng nhất và không đồng nhất với dữ liệu trong các cụm khác.

Thuật toán K-Mean
Thuật toán K-Mean

Cách K-mean tạo thành các cụm:

  • Thuật toán K-mean chọn K số điểm cho mỗi cụm, gọi là centroid.
  • Mỗi điểm dữ liệu tạo thành một cụm với các trung tâm gần nhất, tức là cụm K.
  • Tạo ra các trung tâm mới dựa trên các cụm thành viên hiện có.
  • Với những trung tâm mới này, khoảng cách gần nhất cho mỗi điểm dữ liệu được xác định. Quá trình này được lặp lại cho đến khi các trung tâm không thay đổi

Thuật toán Random Forest

Một tập hợp các Decision Tree được gọi là Random Forest. Để phân loại một đối tượng mới dựa trên các thuộc tính của nó, mỗi cây sẽ được phân loại, và “vote” cho lớp đó.

Thuật toán Random Forest hoạt động theo các bước sau:

  • Chọn các mẫu ngẫu nhiên từ tập tài liệu đã cho.
  • Thiết lập Decision Tree cho từng mẫu và nhận kết quả dự đoán mỗi Decision Tree.
  • Bỏ phiếu cho mỗi kết quả dự đoán.
  • Chọn kết quả được bỏ phiếu nhiều nhất làm kết quả.
Thuật toán Random Forest
Thuật toán Random Forest

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

Trong thế giới ngày nay, một lượng lớn dữ liệu đang được các công ty, cơ quan chính phủ và tổ chức nghiên cứu lưu trữ và phân tích. Các dữ liệu thô này chứa rất nhiều thông tin, thách thức ở đây là phải xác định được các mẫu và biến quan trọng.

Nói một cách đơn giản, Dimensionality Reduction là việc chuyển đổi dữ liệu từ không gian chiều cao thành không gian chiều thấp để biểu diễn chiều thấp giữ lại một số thuộc tính có ý nghĩa của dữ liệu ban đầu.

Các thuật toán giảm kích thước, hay giảm thứ nguyên như Decision Tree, Factor Analysis, Missing Value Ratio và Random Forest có thể giúp bạn tìm thấy các chi tiết có liên quan.

Thuật toán Dimensionality Reduction
Thuật toán Dimensionality Reduction

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

Đây là các thuật toán thúc đẩy được sử dụng khi phải xử lý một lượng lớn dữ liệu để đưa ra dự đoán với độ chính xác cao. Boosting (tăng cường) là một thuật toán học tập tổng hợp kết hợp sức mạnh dự đoán của một số công cụ ước tính cơ sở để cải thiện độ mạnh mẽ.

AdaBoost là một thuật toán học mạnh, giúp đẩy nhanh việc tạo ra một bộ phân loại mạnh. Đây là thuật toán boosting thành công đầu tiên được phát triển để phân loại nhị phân.

Thuật toán Boosting và AdaBoosting
Thuật toán Boosting và Adaboosting

Câu hỏi thường gặp

Ví dụ về Machine Learning là gì?

Nhận dạng hình ảnh là một ví dụ phổ biến về Machine Learning mà bạn có thể tìm hiểu.
Nó có thể xác định một đối tượng dưới dạng ảnh kỹ thuật số, dựa trên cường độ của các pixel trong ảnh đen trắng hoặc ảnh màu.

Sự khác biệt giữa AI và Machine Learning là gì?

Trí tuệ nhân tạo là công nghệ cho phép máy mô phỏng hành vi của con người. Machine Learning là một tập hợp con của AI cho phép máy tự động học từ dữ liệu trong quá khứ mà không cần lập trình một cách rõ ràng . 
Mục tiêu của AI là tạo ra một hệ thống máy tính thông minh giống như con người để giải quyết các vấn đề phức tạp.

Machine Learning có khó không?

Mặc dù nhiều công cụ Machine Learning nâng cao khó sử dụng và đòi hỏi nhiều kiến ​​thức phức tạp về toán học, thống kê và kỹ thuật phần mềm nâng cao, nhưng người mới bắt đầu có thể bắt đầu học với những kiến ​​thức cơ bản và sau đó có thể tiếp cận rộng rãi.

Lời kết

Hiện nay, Machine Learning vẫn chưa đạt đến độ chính xác 100%, vì các thuật toán do con người tạo ra và chịu sự tác động của con người. Tuy nhiên, Machine Learning thực sự là một công cụ tuyệt vời cần được khai thác. Hy vọng với bài viết này, bạn đã hiểu rõ hơn về Machine Learning là gì và các thuật toán của Machine Learning. Theo dõi các bài viết tiếp theo để nhận được những thông tin hữu ích nhé!

Chia sẻ lên
Theo dõi trên
Đánh giá
5/5 - (140 bình chọn)
Kết nối với mình qua
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PearsonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix
Bài viết liên quan
Bình luận
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận