Tập dữ liệu: Đặc điểm dữ liệu

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.

Hình 1. Một ví dụ chứa giá trị cho cả 5 tính năng.
Hình 1. Ví dụ đầy đủ.

 

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.

Hình 2. Một ví dụ chứa giá trị cho 4 trong số 5 tính năng. Một tính năng bị đánh dấu là bị thiếu.
Hình 2. Ví dụ chưa hoàn chỉnh.

 

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.
Hình 3. Một tập dữ liệu chứa 3 ví dụ, trong đó 2 ví dụ là ví dụ chưa hoàn chỉnh. Có người đã xoá hai ví dụ chưa hoàn chỉnh này khỏi tập dữ liệu.
Hình 3. Xoá các ví dụ chưa hoàn chỉnh khỏi tập dữ liệu.

 

Hình 4. Một tập dữ liệu chứa 3 ví dụ, trong đó 2 ví dụ là ví dụ chưa hoàn chỉnh chứa dữ liệu bị thiếu. Một số thực thể (con người hoặc phần mềm nội suy) đã nội suy các giá trị thay thế dữ liệu bị thiếu.
Hình 4. Nhập giá trị bị thiếu cho các ví dụ chưa hoàn chỉnh.

 

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 độ?

23
Có thể. 23 là giá trị trung bình của các giá trị liền kề (12, 18, 24 và 38). Tuy nhiên, chúng ta không thấy phần còn lại của tập dữ liệu, vì vậy, có thể số 23 là một giá trị ngoại lai cho thời điểm 11:00 vào các ngày khác.
31
Không có khả năng. Phần giới hạn của tập dữ liệu mà chúng ta có thể thấy cho thấy rằng 31 là quá cao đối với Nhiệt độ lúc 11:00. Tuy nhiên, chúng ta không thể chắc chắn nếu không dựa vào việc nội suy trên một số lượng lớn ví dụ hơn.
51
Rất khó có thể. 51 cao hơn nhiều so với bất kỳ giá trị nào được hiển thị (và do đó, cao hơn nhiều so với giá trị trung bình).