Tập dữ liệu là một tập hợp các ví dụ.
Nhiều tập dữ liệu lưu trữ dữ liệu trong bảng (lưới), chẳng hạn như dưới dạng giá trị được phân tách bằng dấu phẩy (CSV) hoặc trực tiếp từ bảng tính hoặc bảng cơ sở dữ liệu. Bảng là một định dạng đầu vào trực quan cho mô hình học máy. Bạn có thể tưởng tượng mỗi hàng của bảng là một ví dụ và mỗi cột là một tính năng hoặc nhãn tiềm năng. Tuy nhiên, tập dữ liệu cũng có thể được lấy từ các định dạng khác, bao gồm cả tệp nhật ký và vùng đệm giao thức.
Bất kể định dạng, mô hình học máy của bạn chỉ hoạt động hiệu quả khi có dữ liệu chất lượng để huấn luyện. Phần này kiểm tra các đặc điểm chính của dữ liệu.
Các loại dữ liệu
Một tập dữ liệu có thể chứa nhiều loại kiểu dữ liệu, bao gồm nhưng không giới hạn ở:
- dữ liệu dạng số, được đề cập trong một đơn vị riêng biệt
- dữ liệu phân loại, được đề cập trong một đơn vị riêng biệt
- ngôn ngữ của con người, bao gồm cả các từ và câu riêng lẻ, cho đến toàn bộ tài liệu văn bản
- nội dung đa phương tiện (chẳng hạn như hình ảnh, video và tệp âm thanh)
- đầu ra từ các hệ thống học máy khác
- vectơ nhúng, được đề cập trong một bài sau
Lượng dữ liệu
Theo nguyên tắc chung, mô hình của bạn phải huấn luyện trên ít nhất một thứ tự số lượng lớn (hoặc hai) ví dụ nhiều hơn số lượng tham số có thể huấn luyện. Tuy nhiên, các mô hình tốt thường huấn luyện trên nhiều ví dụ hơn thế.
Các mô hình được huấn luyện trên tập dữ liệu lớn với ít tính năng thường hoạt động hiệu quả hơn các mô hình được huấn luyện trên tập dữ liệu nhỏ với nhiều tính năng. Trước đây, Google đã thành công trong việc huấn luyện các mô hình đơn giản trên các tập dữ liệu lớn.
Các tập dữ liệu khác nhau cho các chương trình học máy khác nhau có thể yêu cầu số lượng ví dụ rất khác nhau để xây dựng một mô hình hữu ích. Đối với một số vấn đề tương đối đơn giản, một vài chục ví dụ có thể là đủ. Đối với các vấn đề khác, một nghìn tỷ ví dụ có thể là không đủ.
Bạn có thể nhận được kết quả tốt từ một tập dữ liệu nhỏ nếu đang điều chỉnh một mô hình hiện có đã được huấn luyện trên một lượng lớn dữ liệu từ cùng một giản đồ.
Chất lượng và độ tin cậy của dữ liệu
Mọi người đều thích chất lượng cao hơn chất lượng thấp, nhưng chất lượng là một khái niệm mơ hồ đến mức có thể được xác định theo nhiều cách. Khoá học này xác định chất lượng theo cách thực tế:
Tập dữ liệu chất lượng cao giúp mô hình của bạn hoàn thành mục tiêu. Tập dữ liệu có chất lượng thấp sẽ khiến mô hình của bạn không đạt được mục tiêu.
Tập dữ liệu chất lượng cao thường cũng đáng tin cậy. Độ tin cậy đề cập đến mức độ bạn có thể tin tưởng dữ liệu của mình. Mô hình được huấn luyện dựa trên tập dữ liệu đáng tin cậy có nhiều khả năng đưa ra kết quả dự đoán hữu ích hơn so với mô hình được huấn luyện dựa trên dữ liệu không đáng tin cậy.
Khi đo lường độ tin cậy, bạn phải xác định:
- Lỗi nhãn có phổ biến không? Ví dụ: nếu dữ liệu của bạn được nhân viên đánh giá gắn nhãn, thì nhân viên đánh giá của bạn thường mắc lỗi với tần suất như thế nào?
- Các tính năng của bạn có ồn ào không? Tức là các giá trị trong các đặc điểm của bạn có chứa lỗi không? Hãy thực tế – bạn không thể loại bỏ tất cả tạp âm khỏi tập dữ liệu. Một số nhiễu là bình thường; ví dụ: kết quả đo lường GPS của bất kỳ vị trí nào luôn biến động một chút theo tuần.
- Dữ liệu có được lọc đúng cách cho vấn đề của bạn không? Ví dụ: tập dữ liệu của bạn có nên bao gồm cụm từ tìm kiếm của bot không? Nếu bạn đang xây dựng một hệ thống phát hiện nội dung rác, thì câu trả lời có thể là có. Tuy nhiên, nếu bạn đang cố gắng cải thiện kết quả tìm kiếm cho con người thì không.
Sau đây là những nguyên nhân phổ biến khiến dữ liệu trong tập dữ liệu không đáng tin cậy:
- Giá trị bị bỏ qua. Ví dụ: một người quên nhập giá trị cho độ tuổi của một ngôi nhà.
- Ví dụ trùng lặp. Ví dụ: một máy chủ đã tải lên nhầm cùng một mục nhập nhật ký hai lần.
- Giá trị đặc điểm không hợp lệ. Ví dụ: ai đó đã nhập thêm một chữ số hoặc nhiệt kế bị bỏ lại ngoài trời.
- Nhãn không hợp lệ. Ví dụ: một người đã nhầm lẫn khi gắn nhãn hình ảnh một cây sồi là cây phong.
- Các phần dữ liệu không hợp lệ. Ví dụ: một tính năng nhất định rất đáng tin cậy, ngoại trừ một ngày mà mạng liên tục gặp sự cố.
Bạn nên sử dụng tính năng tự động hoá để gắn cờ dữ liệu không đáng tin cậy. Ví dụ: các chương trình kiểm thử đơn vị xác định hoặc dựa vào giản đồ dữ liệu chính thức bên ngoài có thể gắn cờ các giá trị nằm ngoài phạm vi đã xác định.
Ví dụ đầy đủ so với ví dụ chưa hoàn chỉnh
Trong trường hợp lý tưởng, mỗi ví dụ đều hoàn chỉnh; tức là mỗi ví dụ đều chứa một giá trị cho mỗi tính năng.
Rất tiếc, các ví dụ thực tế thường chưa hoàn chỉnh, tức là ít nhất một giá trị đặc điểm bị thiếu.
Không huấn luyện mô hình bằng các ví dụ chưa hoàn chỉnh. Thay vào đó, hãy khắc phục hoặc loại bỏ các ví dụ chưa hoàn chỉnh bằng cách làm theo một trong những cách sau:
- Xoá các ví dụ chưa hoàn chỉnh.
- Impute cho các giá trị bị thiếu; nghĩa là chuyển đổi ví dụ chưa hoàn chỉnh thành ví dụ hoàn chỉnh bằng cách đưa ra dự đoán hợp lý cho các giá trị bị thiếu.
Nếu tập dữ liệu chứa đủ ví dụ hoàn chỉnh để huấn luyện một mô hình hữu ích, hãy cân nhắc xoá các ví dụ chưa hoàn chỉnh. Tương tự, nếu chỉ một đặc điểm bị thiếu một lượng dữ liệu đáng kể và đặc điểm đó có thể không giúp ích nhiều cho mô hình, thì hãy cân nhắc xoá đặc điểm đó khỏi dữ liệu đầu vào của mô hình và xem chất lượng bị giảm đi bao nhiêu khi xoá đặc điểm đó. Nếu mô hình hoạt động tốt hoặc gần như tốt mà không cần đến biến phụ thuộc, thì đó là điều tuyệt vời. Ngược lại, nếu không có đủ ví dụ hoàn chỉnh để huấn luyện một mô hình hữu ích, bạn có thể cân nhắc việc nhập giá trị bị thiếu.
Bạn có thể xoá các ví dụ vô dụng hoặc thừa thãi, nhưng không nên xoá các ví dụ quan trọng. Rất tiếc, bạn có thể khó phân biệt giữa ví dụ hữu ích và vô ích. Nếu bạn không thể quyết định nên xoá hay nội suy, hãy cân nhắc tạo hai tập dữ liệu: một tập dữ liệu được tạo bằng cách xoá các ví dụ chưa hoàn chỉnh và tập dữ liệu còn lại được tạo bằng cách nội suy. Sau đó, hãy xác định tập dữ liệu nào huấn luyện mô hình hiệu quả hơn.
Một thuật toán phổ biến là sử dụng giá trị trung bình hoặc trung vị làm giá trị nội suy. Do đó, khi bạn biểu thị một đặc điểm dạng số bằng điểm Z, thì giá trị được nội suy thường là 0 (vì 0 thường là điểm Z trung bình).
Bài tập: Kiểm tra mức độ hiểu bài
Dưới đây là hai cột của một tập dữ liệu được sắp xếp theo Timestamp
.
Dấu thời gian | Nhiệt độ |
---|---|
9:00 ngày 8 tháng 6 năm 2023 | 12 |
10:00 ngày 8 tháng 6 năm 2023 | 18 |
11:00 ngày 8 tháng 6 năm 2023 | bị thiếu |
12:00 trưa ngày 8 tháng 6 năm 2023 | 24 |
13:00, ngày 8 tháng 6 năm 2023 | 38 |
Giá trị nào sau đây là hợp lý để gán giá trị cho giá trị bị thiếu của Nhiệt độ?