Xin chào các em sinh viên!
Học máy (Machine Learning) là một kỹ thuật quan trọng để hiện thực hóa AI, cung cấp cho máy tính khả năng học hỏi từ dữ liệu mà không cần được lập trình cụ thể và tự động hóa các nhiệm. Tôi sẽ cung cấp một số bài viết về Học máy, và hy vọng thông qua trả lời các câu hỏi từ cơ bản đến nâng cao sẽ dẫn dắt các em tới lĩnh vực nghiên cứu đầy lý thú này. Hãy kiên nhẫn khám phá từng câu hỏi nhé!
Các bài trong cùng chủ đề:
Bài 3: Mô hình hồi quy tuyến tính
Bài 4.1: Phân loại với hồi quy Logistic
Bài 4.2: Hồi quy Logistic cho phân loại đa lớp và Ứng dụng phân loại cảm xúc văn bản
Bài 5.1. Một ứng dụng của học không giám sát
Bài 5.2. Thuật toán K-Means và Ứng dụng phân cụm khách hàng
Bài 6. Bình minh của mạng nơ-ron nhân tạo – Cấu Trúc Perceptron
Câu hỏi 1. Dữ liệu là gì?
Trong học máy và khoa học dữ liệu, “dữ liệu” có thể được hiểu là bất kỳ thông tin nào được thu thập, lưu trữ và phân tích để hỗ trợ ra quyết định và giải thích. Dữ liệu là yếu tố cơ bản và thiết yếu để thực hiện các mô hình học máy và các phân tích khoa học dữ liệu. Dữ liệu có thể xuất hiện dưới rời rạc hoặc liên tục. Dữ liệu rời rạc thường liên quan đến đếm và phân loại, trong khi dữ liệu liên tục thường liên quan đến đo lường. Việc phân biệt hai loại dữ liệu này rất quan trọng để lựa chọn đúng công cụ và kỹ thuật cho nhiệm vụ phân tích của bạn.
1.1. Dữ liệu rời rạc (Discrete data)
- Định nghĩa: Dữ liệu rời rạc là loại dữ liệu chỉ có thể nhận một số lượng hữu hạn các giá trị riêng biệt. Các giá trị này không thể chia nhỏ được và thường được biểu thị dưới dạng số nguyên hoặc danh mục.
- Ví dụ:
- Số lượng người trong một căn phòng (1, 2, 3,…)
- Kích thước áo thun (S, M, L, XL,…)
- Loại phương tiện di chuyển (xe máy, ô tô, xe buýt,…)
- Xếp loại học lực (hết sức giỏi, giỏi, khá, trung bình, yếu)
1.2. Dữ liệu liên tục (Continuous data)
- Định nghĩa: Dữ liệu liên tục là loại dữ liệu có thể nhận mọi giá trị trong một khoảng nhất định. Các giá trị này có thể chia nhỏ vô hạn và thường được biểu thị dưới dạng số thực.
- Ví dụ:
- Chiều cao của một người (1.55m, 1.62m, 1.70m,…)
- Nhiệt độ (25°C, 30°C, 32°C,…)
- Trọng lượng (50kg, 55kg, 60kg,…)
- Thu nhập (10 triệu đồng, 20 triệu đồng, 30 triệu đồng,…)
Câu hỏi 2. “Học” là gì?
“Học” nói chung có nghĩa là quá trình nhận thức, tiếp thu kiến thức hoặc kỹ năng thông qua học tập, kinh nghiệm hoặc giáo dục. Nó liên quan đến việc hiểu và xử lý thông tin để tích lũy kiến thức và có thể áp dụng vào các tình huống khác nhau.
Học tập của con người xảy ra trong bộ não và dựa trên các quá trình như trải nghiệm, quan sát, suy ngẫm và tương tác. Con người có khả năng tổng hợp thông tin từ nhiều nguồn khác nhau và học hỏi từ các kinh nghiệm chưa trực tiếp trải qua, nhờ vào khả năng suy luận và sáng tạo của mình.
Câu hỏi 3. Vậy máy móc học hỏi như thế nào? Khái niệm về Học máy (Machine Learning)
Câu trả lời là, từ dữ liệu. Trong thế giới ngày nay, chúng ta tạo ra khối lượng dữ liệu khổng lồ trong cuộc sống hàng ngày. Từ tin nhắn, email, bài đăng trên mạng xã hội mà chúng ta gửi đến ảnh và video chúng ta chụp trên điện thoại, chúng ta tạo ra một lượng thông tin khổng lồ. Thậm chí, nhiều dữ liệu hơn nữa được tạo ra bởi hàng triệu cảm biến trong nhà, ô tô, thành phố, cơ sở hạ tầng giao thông công cộng và nhà máy của chúng ta. Các nhà khoa học dữ liệu có thể sử dụng các dữ liệu thu thập được để đào tạo một mô hình học máy có thể đưa ra dự đoán và suy luận dựa trên các mối quan hệ chúng tìm thấy trong dữ liệu. Học máy (Machine Learning) dựa trên thuật toán và mô hình toán học để “học” từ dữ liệu. Như vậy, máy móc không có ý thức và không có khả năng suy ngẫm; chúng chỉ phân tích mẫu dữ liệu và đưa ra dự đoán dựa trên dữ liệu đó.
Khái niệm Học máy (Machine Learning)
“Học máy” (Machine Learning) là một nhánh của trí tuệ nhân tạo (AI), nơi các hệ thống máy tính được trang bị khả năng tự học và cải thiện từ kinh nghiệm (dữ liệu quá khứ đã biết) mà không cần được lập trình một cách rõ ràng. Trong học máy, các thuật toán được phát triển để cho phép máy tính tìm ra các mẫu hoặc cấu trúc trong dữ liệu. Sau đó, dựa trên những phát hiện này, máy tính có thể đưa ra dự đoán hoặc quyết định mà không cần sự can thiệp trực tiếp của con người.
Học máy được ứng dụng trong nhiều lĩnh vực khác nhau, bao gồm:
- Nhận dạng hình ảnh: Máy tính có thể học cách nhận dạng các đối tượng trong hình ảnh, chẳng hạn như khuôn mặt, biển báo giao thông hoặc các vật thể trong nhà.
- Xử lý ngôn ngữ tự nhiên: Máy tính có thể học cách hiểu và tạo ra ngôn ngữ tự nhiên, chẳng hạn như dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác hoặc trả lời các câu hỏi.
- Dự đoán: Máy tính có thể học cách dự đoán các sự kiện trong tương lai, chẳng hạn như giá cổ phiếu, xu hướng thị trường hoặc thời tiết.
- Khuyến nghị: Máy tính có thể học cách đề xuất các sản phẩm hoặc dịch vụ phù hợp với sở thích của người dùng.
- Ra quyết định: Máy tính có thể học cách đưa ra quyết định trong các tình huống phức tạp, chẳng hạn như chẩn đoán y tế hoặc lái xe tự động.
Câu hỏi 4. Phân loại các thuật toán Học máy
Học máy được phân thành nhiều loại khác nhau dựa trên cách thức hoạt động và mục đích sử dụng. Dưới đây là một số loại học máy phổ biến nhất.
Hình 1. Phân loại các thuật toán học máy (Nguồn: Dominik Polzer, towardsdatascience.com).
4.1. Học có giám sát (Supervised Learning)
Trong học có giám sát, máy tính được cung cấp một tập dữ liệu huấn luyện bao gồm cả đầu vào và đầu ra mong muốn. Máy tính học cách ánh xạ đầu vào thành đầu ra mong muốn bằng cách phân tích các mẫu trong dữ liệu huấn luyện. Sau khi được huấn luyện, máy tính có thể sử dụng kiến thức đã học để đưa ra dự đoán hoặc quyết định cho dữ liệu mới.
Ví dụ:
- Dự đoán giá nhà dựa trên các đặc điểm của ngôi nhà, chẳng hạn như diện tích, số phòng ngủ và vị trí.
- Phân loại email là thư rác hay thư chính.
- Nhận dạng khuôn mặt trong hình ảnh.
4.2. Học không giám sát (Unsupervised Learning)
Trong học không giám sát, máy tính được cung cấp một tập dữ liệu huấn luyện chỉ bao gồm đầu vào. Máy tính học cách tự động tìm ra cấu trúc hoặc mẫu trong dữ liệu mà không cần được cung cấp đầu ra mong muốn. Học không giám sát thường được sử dụng để khám phá dữ liệu và xác định các nhóm hoặc phân cụm dữ liệu tự nhiên.
Ví dụ:
- Phân chia khách hàng thành các nhóm dựa trên thói quen mua sắm của họ.
- Nhóm các tài liệu văn bản dựa trên chủ đề của chúng.
- Phát hiện các dị thường trong dữ liệu cảm biến.
4.3. Học tăng cường (Reinforcement Learning)
Trong học tăng cường, máy tính học cách thực hiện một nhiệm vụ bằng cách tương tác với môi trường và nhận phần thưởng hoặc hình phạt cho các hành động của nó. Máy tính học cách tối đa hóa phần thưởng và giảm thiểu hình phạt bằng cách thử nghiệm các hành động khác nhau và học hỏi từ kết quả. Học tăng cường thường được sử dụng để huấn luyện các tác nhân AI, chẳng hạn như robot hoặc xe tự lái.
Ví dụ:
- Huấn luyện robot chơi trò chơi Atari.
- Huấn luyện xe tự lái di chuyển an toàn trên đường.
- Tối ưu hóa các chiến lược đầu tư.
4.4. Học bán giám sát (Semi-supervised Learning)
Học bán giám sát nằm giữa học có giám sát và học không giám sát. Trong học bán giám sát, máy tính được cung cấp một tập dữ liệu huấn luyện bao gồm một số lượng nhỏ dữ liệu có nhãn và một lượng lớn dữ liệu không nhãn. Máy tính sử dụng dữ liệu có nhãn để học cách ánh xạ đầu vào thành đầu ra mong muốn và sau đó sử dụng dữ liệu không nhãn để cải thiện hiệu suất của nó. Học bán giám sát có thể hữu ích khi việc thu thập dữ liệu có nhãn tốn kém hoặc khó khăn.
Ví dụ:
- Phân loại hình ảnh y tế, nơi có một số lượng nhỏ hình ảnh có nhãn là ung thư hoặc lành tính và một lượng lớn hình ảnh không nhãn.
- Phân loại các bài đánh giá sản phẩm, nơi có một số lượng nhỏ đánh giá có nhãn là tích cực hoặc tiêu cực và một lượng lớn đánh giá không nhãn.
- Phát hiện gian lận trong các giao dịch thẻ tín dụng, nơi có một số lượng nhỏ giao dịch được xác định là gian lận và một lượng lớn giao
Câu hỏi 5. Phân biệt giữa Bài toán phân loại (Classification) và Bài toán hồi quy (Regression)
Học có giám sát hoạt động (Supervised Learning) dựa trên nguyên tắc đào tạo một mô hình sử dụng cặp dữ liệu đầu vào và đầu ra đã biết. Đầu vào thường được gọi là các “đặc trưng” (features) hay các biến độc lập (independent variables), và đầu ra được gọi là “nhãn” (labels) hay biến phụ thuộc (dependent variable). Trong quá trình huấn luyện, mô hình sẽ cố gắng tối ưu hóa các tham số của nó để cực tiểu hóa sai số giữa các dự đoán của mô hình và nhãn thực tế.
Bài toán phân loại và bài toán hồi quy là hai loại bài toán chính trong học có giám sát, mỗi loại có đặc điểm và mục tiêu riêng. Dưới đây là bảng so sánh chi tiết giúp phân biệt hai loại bài toán này:
Đặc điểm | Hồi Quy (Regression) | Phân Loại (Classification) |
---|---|---|
Mục tiêu | Dự đoán một giá trị số cụ thể. Bài toán này thường liên quan đến việc ước lượng hoặc dự đoán một số lượng, như giá, khoảng cách, hoặc xác suất xảy ra của một sự kiện. | Dự đoán nhãn lớp cho một điểm dữ liệu. Nhãn này thường thuộc dạng danh mục (categorical), bao gồm một số lượng hữu hạn các nhóm hoặc lớp. |
Đầu ra | Giá trị số thực (ví dụ: dự đoán giá nhà dựa trên diện tích, vị trí, và các yếu tố khác; hoặc dự đoán nhiệt độ của một ngày cụ thể. | Danh mục (ví dụ: dự đoán một email là spam hay không spam; xác định một bức ảnh chứa mèo, chó, hay người) |
Thuật toán | Hồi quy tuyến tính, hồi quy đa thức, mạng nơ-ron nhân tạo, … | Mạng nơ-ron nhân tạo, máy vector hỗ trợ (SVM), hồi quy logistic, … |
Đánh giá | Sai số tuyệt đối trung bình (MAE), sai số bình phương trung bình (MSE), và hệ số xác định (R²) là những chỉ số chính để đánh giá mô hình hồi quy. | Độ chính xác (accuracy), ma trận nhầm lẫn (confusion matrix), điểm số F1, và AUC-ROC là những chỉ số phổ biến để đánh giá hiệu quả của mô hình phân loại. |
Hình 2. Phân biệt bài toán Hồi quy – Regression và bài toán Phân loại – Classification (Nguồn: Joshua Ebner, sharpsightlabs.com).
Hình 3 dưới đây cung cấp cái nhìn tổng quan về một số thuật toán học có giám sát phổ biến. Các kỹ thuật ensemble như Random Forest và Gradient Boosting thể hiện xu hướng hiện đại trong việc kết hợp nhiều mô hình để tăng cường hiệu suất dự đoán. Trong khi đó, hồi quy Logistic và mạng nơ-ron nhân tạo chính là nền tảng của Học sâu (Deep Learning) sau này.
Hình 3. Các thuật toán học có giám sát phổ biến (Nguồn: Géron, 2023).
Câu hỏi 6. Ứng dụng của Học máy trong lĩnh vực Thị giác máy tính
Thị giác máy tính (Computer Vision – CV) là một lĩnh vực trí tuệ nhân tạo (AI) chuyên xử lý và phân tích thông tin hình ảnh. Nó cho phép máy tính “nhìn” và hiểu được nội dung của ảnh và video, tương tự như cách con người quan sát thế giới xung quanh. Đây là một lĩnh vực năng động với tiềm năng ứng dụng rộng rãi và liên tục phát triển. Sự tiến bộ của lĩnh vực Thị giác máy tính đang cách mạng hóa nhiều ngành nghề, từ sản xuất, an ninh, y tế đến giải trí, góp phần nâng cao hiệu quả hoạt động, tối ưu hóa quy trình và mở ra những hướng đi mới mẻ cho tương lai.
Bảng dưới đây mô tả các tác vụ xử lý hình ảnh phổ biến – Nguồn: (Microsoft Learn, Accessed 2024)
Bài toán | Mô tả |
---|---|
Image classification | Phân loại hình ảnh liên quan đến việc huấn luyện một mô hình học máy để phân loại ảnh dựa trên nội dung của chúng. Ví dụ, trong giải pháp giám sát giao thông, bạn có thể sử dụng mô hình phân loại hình ảnh để phân loại ảnh dựa trên loại phương tiện có trong ảnh, chẳng hạn như taxi, xe buýt, xe đạp, v.v. |
Object detection | Các mô hình học máy học phát hiện đối tượng được huấn luyện để phân loại các đối tượng riêng lẻ trong ảnh và xác định vị trí của chúng bằng một khung bao quanh (bounding box). Ví dụ, giải pháp giám sát giao thông có thể sử dụng chức năng phát hiện đối tượng để xác định vị trí của các loại phương tiện khác nhau. |
Semantic segmentation | Phân vùng ngữ nghĩa (Semantic segmentation) là một kỹ thuật học máy tiên tiến, trong đó từng pixel riêng lẻ trong ảnh được phân loại theo đối tượng mà nó thuộc về. Ví dụ, giải pháp giám sát giao thông có thể sử dụng phân vùng ngữ nghĩa để phủ lớp “mặt nạ” lên ảnh giao thông, giúp tô sáng các phương tiện khác nhau bằng các màu sắc cụ thể. |
Image analysis | Bạn có thể tạo ra các giải pháp kết hợp các mô hình học máy với các kỹ thuật phân tích hình ảnh tiên tiến để trích xuất thông tin từ hình ảnh. Các thông tin này bao gồm “thẻ” (tags) hỗ trợ việc lập danh mục cho hình ảnh, thậm chí cả chú thích mô tả tóm tắt cảnh trong ảnh. |
Face detection, analysis, and recognition | Phát hiện khuôn mặt là một dạng chuyên biệt của việc phát hiện đối tượng, tập trung vào việc xác định vị trí khuôn mặt người trong ảnh. Khả năng này có thể được kết hợp với các kỹ thuật phân loại và phân tích hình dạng khuôn mặt để nhận dạng cá nhân dựa trên các đặc điểm trên khuôn mặt của họ. |
Optical character recognition (OCR) | Nhận dạng ký tự quang học (Optical Character Recognition – OCR) là kỹ thuật được sử dụng để phát hiện và đọc văn bản trong hình ảnh. Bạn có thể sử dụng OCR để đọc văn bản trong ảnh (ví dụ như biển báo đường sá hoặc mặt tiền cửa hàng) hoặc để trích xuất thông tin từ các tài liệu được quét như thư, hóa đơn hoặc biểu mẫu. |
Hy vọng bài viết đã cung cấp một cái nhìn toàn diện về học máy dành cho người mới bắt đầu.
TÀI LIỆU THAM KHẢO
Géron, A. (2023) Hands-on machine learning with scikit-learn, Keras, and tensorflow: Concepts, tools, and techniques to build Intelligent Systems. Sebastopol, CA: O’Reilly Media.
Microsoft Learn. Understand computer vision – training, Training | Microsoft Learn. Available at: https://learn.microsoft.com/en-us/training/modules/get-started-ai-fundamentals/3-understand-computer-vision (Accessed: 20 April 2024).
Pingback: Học AI bắt đầu từ đâu? – Greenwich Vietnam
Pingback: [ML] Bài 3: Mô hình Hồi quy tuyến tính – Nền tảng cho phân tích dữ liệu và học máy – Greenwich Vietnam
Pingback: [ML] Bài 4: Phân loại với hồi quy Logistic – Greenwich Vietnam
Pingback: [ML] Bài 4.2: Hồi quy Logistic cho phân loại đa lớp và Ứng dụng phân loại cảm xúc văn bản - Greenwich Vietnam
Pingback: [ML] Bài 5. Một ứng dụng của học không giám sát - Greenwich Vietnam
Pingback: [ML] Bài 5.2. Thuật toán K-Means và Ứng dụng phân cụm khách hàng - Greenwich Vietnam
Pingback: [ML] Bài 6. Bình minh của mạng nơ-ron nhân tạo - Cấu Trúc Perceptron - Greenwich Vietnam