Chuyển đến nội dung chính
Machine Learning

Học máy có giám sát

Tìm hiểu học máy có giám sát là gì, so sánh với học máy không giám sát và cách hoạt động của một số thuật toán học máy có giám sát thiết yếu
Moez Ali's photo
Moez Ali
Đã cập nhật · 8 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp Tục Với Google
Bằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách bảo mật và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.

Giới thiệu

Học máy có giám sát là một dạng học máy học mối quan hệ giữa đầu vào và đầu ra. Các đầu vào được gọi là đặc trưng hoặc biến ‘X’ và đầu ra thường được gọi là mục tiêu hoặc biến ‘y’. Loại dữ liệu chứa cả đặc trưng và mục tiêu được gọi là dữ liệu gán nhãn. Đây là điểm khác biệt then chốt giữa học máy có giám sát và không giám sát, hai loại hình nổi bật của học máy. Trong hướng dẫn này, bạn sẽ học:

  • Học máy có giám sát là gì
  • Học có giám sát so với học không giám sát
  • Học máy bán giám sát
  • Thuật toán học máy có giám sát:
    • Hồi quy tuyến tính
    • Cây quyết định
    • K Láng giềng gần nhất
    • Rừng ngẫu nhiên
    • Naive Bayes
  • Ví dụ mã Python cho học máy có giám sát

Học máy có giám sát là gì?

Học máy có giám sát học các mẫu và mối quan hệ giữa dữ liệu đầu vào và đầu ra. Nó được xác định bởi việc sử dụng dữ liệu gán nhãn. Dữ liệu gán nhãn là một tập dữ liệu chứa nhiều ví dụ về Đặc trưng và Mục tiêu. Học có giám sát sử dụng các thuật toán học mối quan hệ giữa Đặc trưng và Mục tiêu từ tập dữ liệu. Quá trình này được gọi là Huấn luyện hoặc Fit. 

Có hai loại thuật toán học có giám sát:

  1. Phân loại
  2. Hồi quy

Học máy có giám sát

Nguồn ảnh: https://www.mathworks.com/help/stats/machine-learning-in-matlab.html

Phân loại

Phân loại là một dạng học máy có giám sát, trong đó các thuật toán học từ dữ liệu để dự đoán một kết quả hoặc sự kiện trong tương lai. Ví dụ:

Một ngân hàng có thể có tập dữ liệu khách hàng chứa lịch sử tín dụng, khoản vay, chi tiết đầu tư, v.v. và họ muốn biết liệu khách hàng nào sẽ vỡ nợ. Trong dữ liệu lịch sử, chúng ta sẽ có Đặc trưng và Mục tiêu. 

  • Đặc trưng sẽ là các thuộc tính của khách hàng như lịch sử tín dụng, các khoản vay, đầu tư, v.v.
  • Mục tiêu sẽ thể hiện việc một khách hàng cụ thể đã từng vỡ nợ trong quá khứ hay chưa (thường được biểu diễn bằng 1 hoặc 0 / Đúng hoặc Sai / Có hoặc Không). 

Các thuật toán phân loại được dùng để dự đoán các kết quả rời rạc; nếu kết quả có thể nhận hai giá trị như Đúng hoặc Sai, Vỡ nợ hoặc Không vỡ nợ, Có hoặc Không, thì được gọi là Phân loại nhị phân. Khi kết quả có hơn hai giá trị có thể, đó là Phân loại đa lớp. Có nhiều thuật toán học máy có thể dùng cho bài toán phân loại. Một số gồm:

  • Hồi quy Logistic
  • Bộ phân loại Cây quyết định
  • Bộ phân loại K Láng giềng gần nhất
  • Bộ phân loại Rừng ngẫu nhiên
  • Mạng nơ-ron

Hồi quy

Hồi quy

Hồi quy là một dạng học máy có giám sát, trong đó các thuật toán học từ dữ liệu để dự đoán các giá trị liên tục như doanh số, lương, cân nặng hoặc nhiệt độ. Ví dụ:

Một tập dữ liệu chứa các đặc trưng của căn nhà như diện tích lô đất, số phòng ngủ, số phòng tắm, khu vực lân cận, v.v. cùng với giá nhà; một thuật toán hồi quy có thể được huấn luyện để học mối quan hệ giữa các đặc trưng và giá nhà.

Có nhiều thuật toán học máy có thể dùng cho bài toán hồi quy. Một số gồm:

  • Hồi quy tuyến tính
  • Bộ hồi quy Cây quyết định
  • Bộ hồi quy K Láng giềng gần nhất
  • Bộ hồi quy Rừng ngẫu nhiên
  • Mạng nơ-ron

Nguồn ảnh: https://static.javatpoint.com/tutorial/machine-learning/images/regression-vs-classification-in-machine-learning.png

Học có giám sát so với học không giám sát

Loại dữ liệu

Điểm khác biệt chính giữa học máy có giám sát và học máy không giám sát là học có giám sát dùng dữ liệu gán nhãn. Dữ liệu gán nhãn là dữ liệu chứa cả Đặc trưng (các biến X) và Mục tiêu (biến y). 

Khi dùng học có giám sát, thuật toán lặp đi lặp lại học cách dự đoán biến mục tiêu dựa trên các đặc trưng và điều chỉnh để phản hồi phù hợp nhằm "học" từ tập dữ liệu huấn luyện. Quá trình này được gọi là Huấn luyện hoặc Fit. Mô hình học có giám sát thường cho kết quả chính xác hơn so với học không giám sát nhưng cần có sự can thiệp của con người ban đầu để xác định đúng dữ liệu. Nếu nhãn trong tập dữ liệu không được gắn đúng, các thuật toán có giám sát sẽ học sai chi tiết.

Ngược lại, các mô hình học không giám sát làm việc một cách tự động để nhận diện cấu trúc vốn có của dữ liệu chưa được gán nhãn. Cần lưu ý rằng việc kiểm định các biến đầu ra vẫn đòi hỏi mức độ can thiệp nhất định của con người. Ví dụ, một mô hình không giám sát có thể xác định rằng khách hàng mua sắm trực tuyến thường mua nhiều mặt hàng cùng danh mục trong cùng thời điểm. Tuy nhiên, một nhà phân tích vẫn cần kiểm tra xem có hợp lý hay không khi hệ thống gợi ý ghép Mặt hàng X với Mặt hàng Y. 

Tình huống sử dụng

Có hai tình huống sử dụng nổi bật cho học có giám sát, tức là Phân loại và Hồi quy. Ở cả hai nhiệm vụ, một thuật toán có giám sát học từ dữ liệu huấn luyện để dự đoán điều gì đó. Nếu biến cần dự đoán là rời rạc như “Có” hoặc “Không”, 1 hoặc 0, “Gian lận” hoặc “Không gian lận” thì cần thuật toán phân loại. Nếu biến cần dự đoán là liên tục như doanh số, chi phí, lương, nhiệt độ, v.v., thì cần thuật toán Hồi quy.

Phân cụm và Phát hiện bất thường là hai tình huống sử dụng nổi bật trong học không giám sát. Để tìm hiểu thêm về Phân cụm, hãy xem bài viết này. Nếu bạn muốn đào sâu hơn vào Học máy không giám sát, hãy xem khóa học thú vị của DataCamp. Bạn sẽ học cách phân cụm, biến đổi, trực quan hóa và rút trích insight từ các tập dữ liệu không gán nhãn bằng scikit-learn và scipy.

Mục tiêu

Mục tiêu của học có giám sát là dự báo kết quả cho dữ liệu mới dựa trên một mô hình đã học từ tập dữ liệu huấn luyện có gán nhãn. Loại kết quả bạn có thể kỳ vọng được biết trước thông qua dữ liệu gán nhãn. Mục tiêu của một thuật toán học không giám sát là rút ra insight từ lượng dữ liệu lớn mà không có nhãn tường minh. Các thuật toán không giám sát cũng học từ tập dữ liệu huấn luyện nhưng dữ liệu huấn luyện không chứa nhãn.

Độ phức tạp

Học máy có giám sát tương đối trực quan so với học không giám sát. Mô hình không giám sát thường cần một tập huấn luyện lớn để cho ra kết quả mong muốn, khiến chúng phức tạp về tính toán.

Có giám sát vs Không giám sát

Nguồn ảnh: https://www.sharpsightlabs.com/blog/supervised-vs-unsupervised-learning/

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

Học bán giám sát là một loại học máy tương đối mới và ít phổ biến hơn, trong quá trình huấn luyện, kết hợp một lượng lớn dữ liệu không gán nhãn với một lượng nhỏ dữ liệu gán nhãn. Học bán giám sát nằm giữa học có giám sát (dữ liệu huấn luyện có gán nhãn) và học không giám sát (dữ liệu huấn luyện không gán nhãn). 

Học bán giám sát có rất nhiều ứng dụng thực tế. Ở nhiều lĩnh vực thiếu dữ liệu gán nhãn. Do liên quan đến người gán nhãn, thiết bị chuyên dụng hoặc các nghiên cứu tốn kém và mất thời gian, các nhãn (biến mục tiêu) có thể khó thu thập.

Học bán giám sát có hai loại:

  1. học truyền suy
  2. học quy nạp

Bán giám sát

Nguồn ảnh: https://www.enjoyalgorithms.com/blogs/supervised-unsupervised-and-semisupervised-learning

Thuật toán học máy có giám sát

Trong phần này, chúng ta sẽ điểm qua một số thuật toán phổ biến cho học máy có giám sát:

Hồi quy tuyến tính

Hồi quy tuyến tính là một trong những thuật toán học máy đơn giản nhất, dùng để học cách dự đoán giá trị liên tục (biến phụ thuộc) dựa trên các đặc trưng (biến độc lập) trong tập dữ liệu huấn luyện. Giá trị của biến phụ thuộc, đại diện cho hiệu ứng, bị ảnh hưởng bởi thay đổi ở biến độc lập.

Nếu bạn còn nhớ “đường hồi quy tốt nhất” từ thời đi học, đó chính là hồi quy tuyến tính. Dự đoán cân nặng của một người dựa trên chiều cao là ví dụ đơn giản cho khái niệm này.

Hồi quy tuyến tính

Nguồn ảnh: http://primo.ai/index.php?title=Linear_Regression

ƯU ĐIỂM

NHƯỢC ĐIỂM

Đơn giản, dễ hiểu và dễ diễn giải

Dễ bị overfit

Hoạt động rất tốt với dữ liệu phân tách tuyến tính

Giả định tính tuyến tính giữa đặc trưng và biến mục tiêu.

Hồi quy Logistic

Hồi quy Logistic là một trường hợp đặc biệt của Hồi quy tuyến tính, trong đó biến mục tiêu (y) là rời rạc/danh mục như 1 hoặc 0, Đúng hoặc Sai, Có hoặc Không, Vỡ nợ hoặc Không vỡ nợ.  Log của odds được dùng làm biến phụ thuộc. Sử dụng hàm logit, hồi quy logistic dự đoán xác suất xảy ra của một sự kiện nhị phân.

Hồi quy Logistic

Để tìm hiểu thêm về chủ đề này, hãy xem bài viết Hiểu về Hồi quy Logistic trong Python rất hay trên DataCamp.

ƯU ĐIỂM

NHƯỢC ĐIỂM

Đơn giản, dễ hiểu và dễ diễn giải

Overfitting

Hiệu chuẩn tốt cho xác suất đầu ra

Gặp khó khăn khi bắt được các mối quan hệ phức tạp

Cây quyết định

Các thuật toán Cây quyết định là một dạng mô hình cấu trúc dạng cây xác suất, liên tục tách dữ liệu để phân loại hoặc đưa ra dự đoán tùy theo kết quả của tập câu hỏi trước đó. Mô hình phân tích dữ liệu và đưa ra câu trả lời cho các câu hỏi nhằm giúp bạn đưa ra lựa chọn sáng suốt hơn.

Ví dụ, bạn có thể sử dụng một cây quyết định, trong đó câu trả lời Có hoặc Không được dùng để xác định một loài chim cụ thể dựa trên các yếu tố dữ liệu như lông, khả năng bay hoặc bơi, loại mỏ, v.v.

Cây quyết định

Nguồn ảnh: https://aigraduate.com/decision-tree-visualisation---quick-ml-tutorial-for-beginners/

ƯU ĐIỂM

NHƯỢC ĐIỂM

Rất trực quan và dễ giải thích

Không ổn định - một thay đổi nhỏ ở dữ liệu huấn luyện có thể gây khác biệt lớn trong dự đoán.

Cây quyết định không yêu cầu nhiều bước chuẩn bị dữ liệu như một số mô hình tuyến tính.

Dễ bị overfitting

Để tìm hiểu thêm về Học máy với các mô hình dựa trên cây trong Python, hãy xem khóa học thú vị này của DataCamp. Trong khóa học, bạn sẽ học cách dùng các mô hình dựa trên cây và tập hợp (ensemble) cho hồi quy và phân loại bằng scikit-learn.

K Láng giềng gần nhất

K Láng giềng gần nhất là một phương pháp thống kê đánh giá mức độ gần nhau của một điểm dữ liệu với điểm dữ liệu khác để quyết định liệu hai điểm có thể được nhóm cùng nhau hay không. Mức độ gần nhau của các điểm dữ liệu thể hiện mức độ tương đồng giữa chúng.

Chẳng hạn, giả sử chúng ta có một đồ thị với hai nhóm điểm dữ liệu riêng biệt nằm gần nhau, đặt tên lần lượt là Nhóm A và Nhóm B. Mỗi nhóm sẽ được biểu diễn bằng các điểm trên đồ thị. Khi chúng ta thêm một điểm dữ liệu mới, nhóm của điểm đó sẽ phụ thuộc vào nhóm nào mà điểm mới gần hơn.

K Láng giềng gần nhất

Nguồn: https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f

ƯU ĐIỂM

NHƯỢC ĐIỂM

Không đưa ra giả định về dữ liệu

Huấn luyện mất nhiều thời gian

Trực quan và đơn giản

KNN hoạt động tốt với số lượng đặc trưng nhỏ nhưng khi số đặc trưng tăng, mô hình gặp khó khăn trong việc dự đoán chính xác.

Rừng ngẫu nhiên

Rừng ngẫu nhiên là một ví dụ khác về thuật toán xây dựng trên cây, giống như Cây quyết định. Trái với Cây quyết định chỉ gồm một cây, Rừng ngẫu nhiên sử dụng nhiều Cây quyết định để đưa ra phán đoán, tạo nên một “khu rừng” cây.

Nó kết hợp nhiều mô hình khác nhau để tạo ra dự đoán, và có thể dùng cho cả phân loại lẫn hồi quy.

Rừng ngẫu nhiên

Nguồn: https://blog.tensorflow.org/2021/05/introducing-tensorflow-decision-forests.html

ƯU ĐIỂM

NHƯỢC ĐIỂM

Rừng ngẫu nhiên dễ dàng xử lý các mối quan hệ phi tuyến trong dữ liệu.

Khó diễn giải do có nhiều cây.

Rừng ngẫu nhiên ngầm thực hiện chọn lọc đặc trưng

Rừng ngẫu nhiên tốn kém tính toán với các tập dữ liệu lớn.

Naive Bayes

Định lý Bayes là một công thức toán học dùng để tính xác suất có điều kiện, và Naive Bayes là ứng dụng của công thức đó. Xác suất có điều kiện là xác suất một kết quả xảy ra khi một sự kiện khác đã xảy ra.

Nó dự đoán rằng xác suất cho mỗi lớp thuộc về một lớp cụ thể, và lớp có xác suất cao nhất được coi là lớp có khả năng xảy ra nhất.

Naive Bayes

Nguồn ảnh: https://www.kdnuggets.com/2019/10/introduction-artificial-neural-networks.html

ƯU ĐIỂM

NHƯỢC ĐIỂM

Thuật toán rất nhanh.

Giả định tất cả đặc trưng là độc lập.

Đơn giản và dễ triển khai

Thuật toán gặp "vấn đề tần suất bằng không", khi gán xác suất bằng không cho một biến phân loại nếu hạng mục đó không xuất hiện trong tập huấn luyện.

Ví dụ mã Python cho học máy có giám sát

Trong phần này, chúng ta sẽ dùng scikit-learn trong Python để huấn luyện một mô hình Hồi quy Logistic (Phân loại) trên một tập dữ liệu giả lập. Xem đầy đủ Notebook tại đây.

```

# create fake binary classification dataset with 1000 rows and 10 features

from sklearn.datasets import make_classification

X, y = make_classification(n_samples = 1000, n_features = 10, n_classes = 2)




# check shape of X and y

X.shape, y.shape




# train test split

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)




# import and initialize logistic regression model

from sklearn.linear_model import LogisticRegression

lr = LogisticRegression()




# fit logistic regression model

lr.fit(X_train, y_train)




# generate hard predictions on test set

y_pred = lr.predict(X_test)

y_pred




# evaluate accuracy score of the model

from sklearn.metrics import accuracy_score

accuracy_score(y_test, y_pred)

```

Nếu bạn muốn học học máy có giám sát bằng R, hãy xem khóa học Supervised Learning in R của DataCamp. Trong khóa học này, bạn sẽ học những kiến thức cơ bản về học máy cho phân loại trong ngôn ngữ R.

Kết luận

Những năm gần đây, học máy đã hoàn toàn thay đổi cách chúng ta vận hành kinh doanh. Một đổi mới mang tính đột phá giúp học máy khác biệt với các chiến lược tự động hóa khác là rời xa lập trình dựa trên luật. Nhờ các kỹ thuật học máy có giám sát, kỹ sư có thể khai thác dữ liệu mà không cần huấn luyện máy móc theo cách giải quyết vấn đề cố định.

Trong học máy có giám sát, lời giải kỳ vọng cho một vấn đề có thể chưa biết đối với dữ liệu tương lai, nhưng có thể đã được biết và lưu trong tập dữ liệu lịch sử; nhiệm vụ của các thuật toán học có giám sát là học mối quan hệ đó từ dữ liệu lịch sử để dự đoán một kết quả, sự kiện hoặc giá trị trong tương lai.

Trong bài viết này, chúng ta đã xây dựng hiểu biết nền tảng về học có giám sát là gì và nó khác với học không giám sát như thế nào. Chúng ta cũng đã điểm qua một vài thuật toán phổ biến trong học có giám sát. Tuy nhiên, còn nhiều chủ đề chúng ta chưa bàn tới như Đánh giá mô hình, Cross-Validation, hay Tinh chỉnh siêu tham số. Nếu bạn muốn đào sâu vào bất kỳ chủ đề nào trong số này và nâng cao kỹ năng, hãy xem các khóa học thú vị sau:

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

Hai loại phổ biến của học máy có giám sát là gì?

Phân loại và Hồi quy là hai loại phổ biến của học có giám sát. Phân loại dùng để dự đoán các kết quả rời rạc như “Đậu” hoặc “Rớt”, “Đúng” hoặc “Sai”, “Vỡ nợ” hoặc “Không vỡ nợ”. Trong khi đó, Hồi quy dùng để dự đoán số lượng hoặc các giá trị liên tục như doanh số, lương, chi phí, v.v.

Sự khác biệt chính giữa học có giám sát và không giám sát là gì?

Khác biệt chủ yếu giữa học có giám sát và không giám sát nằm ở dữ liệu. Với học có giám sát, bạn phải có dữ liệu gán nhãn; còn với học không giám sát, bạn không cần dữ liệu gán nhãn.

Dự báo chuỗi thời gian có phải là học có giám sát không?

Có, dự báo chuỗi thời gian là học có giám sát, nơi chúng ta dự đoán giá trị tiếp theo dựa trên dãy số. Đây là một nhiệm vụ học có giám sát.

Xử lý ngôn ngữ tự nhiên (NLP) là học có giám sát hay không giám sát?

Có thể là cả hai. Phụ thuộc vào cách đặt vấn đề. Ví dụ, dự đoán loại tài liệu văn bản nhiều khả năng là một nhiệm vụ có giám sát, trong khi nếu tình huống sử dụng là nhóm các tài liệu tương tự dựa trên văn bản chứa trong tài liệu, thì trường hợp này được gọi là Mô hình chủ đề (Topic Modeling), hoàn toàn là không giám sát.

Phân cụm là học có giám sát hay không giám sát?

Với các nhiệm vụ phân cụm, bạn không cần dữ liệu gán nhãn; do đó đây là học không giám sát.

Có các thuật toán khác nhau cho học có giám sát và không giám sát không?

Có, các thuật toán là hoàn toàn khác nhau.

Một số thuật toán phổ biến cho học có giám sát là gì?

Hồi quy tuyến tính, Cây quyết định, Mạng nơ-ron, Máy vector hỗ trợ là một số thuật toán phổ biến cho học có giám sát.

Chủ đề
Machine Learning

Khóa học về Học máy

Khóa học

Tìm hiểu Machine Learning

2 giờ
313.7K
Giới thiệu về học máy mà không cần lập trình.
Xem chi tiếtBắt Đầu Khóa Học

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp Tục Với Google
Bằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách bảo mật và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.
Xem thêm
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem thêm