Chương 1: TỔNG QUAN VỀ MACHINE LEARNING 1. Khái niệm về Machine Learning Machine Learning (ML) hay Học máy là lĩnh vực thuộc Trí tuệ nhân tạo – AI, nghiên cứu các thuật toán cũng như mô hình thống kê mà hệ thống máy tính sử dụng để tiến hành một nhiệm vụ cụ thể mà không được lập trình rõ ràng. Học máy tập trung vào việc phát triển các thuật toán và mô hình để cho máy tính "học" từ dữ liệu và trải nghiệm trên các dữ liệu mới. Mục tiêu của Học máy là tạo ra các hệ thống có khả năng tự động học và cải thiện hiệu suất qua thời gian mà không cần được lập trình cụ thể.
Đó cũng là ưu điểm chính của việc sử dụng học máy, một khi thuật toán học được những gì cần làm với dữ liệu, nó có thể thực hiện công việc của mình một cách tự động. Trong Học máy, các mô hình và thuật toán được xây dựng và điều chỉnh dựa trên dữ liệu đầu vào, từ đó học cách nhận biết mẫu, tìm ra quy luật ẩn và đưa ra các dự đoán hoặc quyết định về các dữ liệu mới mà nó chưa được huấn luyện trước đó. Quá trình huấn luyện mô hình thường bao gồm các bước như xử lý dữ liệu, lựa chọn và tinh chỉnh thuật toán, đánh giá hiệu suất và điều chỉnh các thông số để đạt được một mô hình tốt nhất. Các ứng dụng của machine Learning – học máy rất đa dạng và phong phú, từ phân loại, dự đoán, nhận dạng, xử lý ngôn ngữ tự nhiên cho đến hệ thống tự động lái xe, gợi ý sản phẩm, dự báo thời tiết và nhiều lĩnh vực khác.
Machine Learning đang được sử dụng rộng rãi trong nhiều ngành công nghiệp và đóng vai trò quan trọng trong việc giúp chúng ta hiểu và tận dụng thông tin từ dữ liệu một cách thông minh và tự động. Hiện nay càng ngày càng nhiều ứng dụng được tích hợp những mô hình học máy, được con người sử dụng hàng ngày. Ví dụ: Google, một công cụ tìm kiếm thông tin trên Internet phổ biến hiện nay, hoạt động hiệu quả là nhờ một thuật toán học cách xếp hạng các trang web; hay hệ thống gợi ý sản phẩm trên các trang mua sắm trực tuyến như Amazon, Lazada, hay Tiki, khi bạn truy cập vào một trang mua sắm trực tuyến, hệ thống gợi ý sản phẩm sẽ phân tích và hiểu hành vi mua hàng của bạn từ lịch sử duyệt web, lịch sử mua hàng trước đây, đánh giá và phản hồi của bạn. Dựa trên thông tin này, hệ thống sẽ 5 sử dụng các mô hình học máy để tìm ra những sản phẩm phù hợp nhất với sở thích và nhu cầu của bạn cũng như những người dùng khác.
Mặc dù machine learning đang mang lại nhiều lợi ích và tiềm năng, nhưng nó cũng đối mặt với một số vấn đề và thách thức không hề nhỏ. Những vấn đề của Machine Learning Machine learning đối mặt với một số vấn đề và thách thức. Sau đây là một số vấn đề phổ biến trong machine learning, nhưng chúng hoàn toàn có thể được giải quyết thông qua nghiên cứu, phát triển thuật toán và quy trình quản lý. + Dữ liệu kém chất lượng Một vấn đề quan trọng trong machine learning là thu thập và xử lý dữ liệu.
Để tổng quát hóa tốt cho một mô hình, điều quan trọng là dữ liệu huấn luyện phải là một biểu diễn chính xác của tổng thể. Nói cách khác, mỗi khi một mẫu mới được lấy ra từ tổng thể, mẫu đó phải mô tả chính xác tổng thể đó. Tập dữ liệu đào tạo phải biểu diễn cho các trường hợp tổng quát hóa. Nếu mẫu quá nhỏ, mẫu sẽ bị nhiễu.
Đây là dữ liệu không được biểu diễn tốt do chọn mẫu ngẫu nhiên. Nhưng ngay cả một mẫu lớn cũng có thể bị nhiễu nếu phương pháp lấy mẫu không chính xác. Đây được gọi là sai lệch lấy mẫu, không biểu diễn được dữ liệu đào tạo. Việc có được dữ liệu chất lượng, đủ lớn và đại diện cho vấn đề cần giải quyết là rất quan trọng.
Đôi khi, dữ liệu có thể không hoàn chỉnh, thiếu sót hoặc không chính xác, dẫn đến ảnh hưởng đến hiệu suất của mô hình. Mô hình sẽ không hoạt động bình thường nếu dữ liệu đầu vào không tốt. Dữ liệu không tốt là dữ liệu dễ bị lỗi, ngoại lệ và nhiễu. Dữ liệu cũng có thể bị thiếu các quan sát trong dữ liệu.1: Giá trị ngoại lệ trong dữ liệu Nguồn: D.
Sharma, “Problems in machine learning models? check your data first,” vol.1 mô tả một tập hợp các giá trị được phân bố đồng đều trong khoảng [53,120]. Tuy nhiên, có một giá trị là 190 vượt quá ngưỡng các giá trị còn lại, giá trị này được gọi là giá trị ngoại lệ và được biểu thị bằng vòng tròn màu đỏ. Để thu thập và xử lý dữ liệu một cách tốt, cần thực hiện các bước sau: Định nghĩa mục tiêu: xác định rõ mục tiêu và yêu cầu của dự án để biết loại dữ liệu cần thu thập và xử lý. Xác định nguồn dữ liệu: xác định các nguồn dữ liệu phù hợp như cơ sở dữ liệu, tệp tin, API, webscraping, hoặc dữ liệu thu thập từ cảm biến.
Thu thập dữ liệu: sử dụng các phương pháp và công cụ phù hợp để thu thập dữ liệu từ các nguồn đã xác định. Các phương pháp có thể bao gồm: thu thập dữ liệu tự động, mua dữ liệu từ bên thứ ba, hoặc tự nhập dữ liệu. Tiền xử lý dữ liệu: Sau khi thu thập dữ liệu, tiến hành các bước tiền xử lý như loại bỏ dữ liệu trùng lặp, xử lý giá trị thiếu, chuẩn hóa dữ liệu, và chuyển đổi dữ liệu sang định dạng phù hợp cho quá trình học máy. Khám phá và phân tích dữ liệu: Sử dụng các phương pháp khám phá dữ liệu để hiểu sâu hơn về tính chất, mô hình, và mối quan hệ giữa các biến trong dữ liệu.
7 + Quá khớp với dữ liệu (overfitting the data) và Chưa khớp với dữ liệu (underfitting the data) Vấn đề mô hình quá khớp với dữ liệu là khi mô hình cố gắng học để phù hợp với dữ liệu huấn luyện nhất. Điều này thường được thực hiện bằng cách ép cho mô hình học đi học lại trên tập dữ liệu đã huấn luyện trước đó để trở thành mô hình cho hiệu suất dự đoán, phân loại tốt nhất. Nếu mô hình này tiến hành các nhiệm vụ trên dữ liệu mới thì hiệu suất của mô hình là cực kì kém. Overfitting xảy ra khi mô hình quá phức tạp và "nhớ" các mẫu trong tập huấn luyện, dẫn đến hiệu suất kém trên dữ liệu mới.
Ngược lại, underfitting xảy ra khi mô hình quá đơn giản và không thể học được các mẫu quan trọng trong dữ liệu. Điều này đòi hỏi sự cân nhắc để tìm ra mô hình phù hợp.2: Các loại khớp dữ liệu có thể có trong mô hình Nguồn ảnh: https://www.org/underfitting-and-overfitting-in-machine-learning/ Hình 1.2 cho thấy có ba tình huống phổ biến trong học máy: under-fitting, appropriate-fitting và over-fitting. Under-fitting là dữ liệu và mô hình không được khớp với nhau được biểu thị bằng đường màu đỏ và giá trị dự đoán thiếu độ chính xác. Appropriate-fitting là dữ liệu và mô hình có sự phù hợp tương thích, cũng được hiển thị bằng đường cong màu đỏ, các giá trị dự đoán khá chính xác trên dữ liệu mới.
Trong trường hợp over-fitting thì mô hình phù hợp với toàn bộ dữ liệu mà không sai bất kỳ một 8 giá trị nào, nó khớp với dữ liệu này, nhưng khi dữ liệu mới được thêm vào, nó không hoạt động tốt nữa. Underfitting ngược lại với overfitting: Điều này xảy ra khi mô hình quá đơn giản để tìm hiểu cấu trúc cơ bản của dữ liệu. Điều này thường dẫn đến phương sai cao không giải thích được vì mô hình không thể giải thích phương sai. Để giải quyết vấn đề này, có thể chọn một mô hình với nhiều tham số hoặc có thể giảm các ràng buộc trên mô hình (áp dụng ít quy tắc hơn hoặc giảm siêu tham số) hoặc cung cấp các đặc trưng để thuật toán học tốt hơn.
+ Độ phức tạp tính toán và tài nguyên Một số thuật toán machine learning có độ phức tạp tính toán cao và đòi hỏi tài nguyên lớn để huấn luyện và triển khai. Điều này đặt ra thách thức về việc tối ưu hóa và mở rộng quy trình machine learning để đáp ứng yêu cầu tính toán và tài nguyên. Dưới đây là một số cách để quản lý độ phức tạp tính toán và tài nguyên: Tối ưu hóa thuật toán: Lựa chọn và tối ưu hóa thuật toán phù hợp để giảm độ phức tạp tính toán. Sử dụng các thuật toán hiệu quả và tối ưu để đạt được kết quả tốt với sự tiêu thụ tài nguyên tối thiểu.
Phân chia dữ liệu: Phân chia dữ liệu thành các phần nhỏ để xử lý từng phần một. Điều này giúp giảm độ phức tạp tính toán và tài nguyên cần thiết, đồng thời cải thiện khả năng mở rộng của quy trình machine learning. Tận dụng tài nguyên phân tán: Sử dụng hệ thống tính toán phân tán hoặc vi xử lý đám mây để tăng khả năng xử lý dữ liệu và tối ưu hóa thời gian tính toán. Sử dụng công cụ và nền tảng phù hợp để phân phối tính toán trên nhiều nút hoặc máy tính.
Giảm kích thước dữ liệu: Nếu có thể, làm việc với một tập dữ liệu nhỏ hơn hoặc áp dụng các kỹ thuật giảm chiều dữ liệu để giảm độ phức tạp tính toán. Ví dụ, sử dụng kỹ thuật trích xuất đặc trưng hoặc giảm số chiều dữ liệu thông qua phương pháp như PCA (Principal Component Analysis). Tối ưu hóa phần cứng: Sử dụng phần cứng mạnh mẽ hơn hoặc tăng cường tài nguyên tính toán để đáp ứng yêu cầu của quy trình machine learning. Có thể sử dụng 9 GPU (Graphics Processing Unit) hoặc TPU (Tensor Processing Unit) để gia tăng tốc độ tính toán.
Giảm thiểu quá trình huấn luyện và đánh giá: Đôi khi, quá trình huấn luyện và đánh giá mô hình machine learning có thể mất nhiều thời gian và tài nguyên. Tìm hiểu các kỹ thuật tiết kiệm thời gian như early stopping, cross-validation. Quy trình xây dựng mô hình Machine Learning Nhìn chung, quá trình xây dựng một mô hình học máy chất lượng cao là một quá trình lặp đi lặp lại, phức tạp và tốn thời gian bao gồm một số bước (Hình 1.