Chìa khóa để thành công trong lĩnh vực machine learning (học máy) hoặc trở thành một nhà khoa học dữ liệu thành công là thực hành với các loại bộ dữ liệu (dataset) khác nhau. Nhưng việc có được một tập dữ liệu phù hợp cho từng loại dự án học máy là một nhiệm vụ khó khăn. Trong chủ đề này, chúng ta sẽ xem qua các nguồn datasets có sẵn (và miễn phí) từ đó bạn có thể dễ dàng sử dụng cho dự án của mình.
Trước khi đi đến các nguồn của tập dữ liệu học máy, chúng ta hãy xem dataset là gì và tại sao ta lại cần dataset.
Dataset – tập dữ liệu là gì?
Dataset là một tập hợp dữ liệu. Nói cách khác, dataset tương ứng với nội dung của một bảng cơ sở dữ liệu hoặc một ma trận dữ liệu thống kê, trong đó mỗi cột của bảng đại diện cho một biến cụ thể và mỗi hàng tương ứng với một thành viên nhất định của tập dữ liệu được đề cập.
Trong các dự án Máy học, chúng ta cần một tập dữ liệu đào tạo. Đây là tập dữ liệu thực tế được sử dụng để huấn luyện mô hình thực hiện các hành động khác nhau.
Tại sao cần dataset trong machine learning?
Machine learning phụ thuộc rất nhiều vào dữ liệu, không có dữ liệu thì AI (Artificial Intelligence – trí tuệ nhân tạo) không thể học được. Đó là khía cạnh quan trọng nhất giúp cho việc đào tạo thuật toán có thể thực hiện được. Cho dù bạn có một team AI với tập hợp nhiều nhân tài hay quy mô tập dữ liệu của bạn đến đâu, nếu tập dữ liệu của bạn không đủ tốt, toàn bộ dự án AI của bạn sẽ thất bại.
Trong quá trình phát triển AI, chúng ta luôn dựa vào dữ liệu. Từ đào tạo, điều chỉnh, lựa chọn mô hình đến kiểm tra, chúng ta sử dụng ba bộ dữ liệu khác nhau: bộ đào tạo (training set), bộ xác thực (validation set) và bộ thử nghiệm (testing set). Validation set được sử dụng để chọn và điều chỉnh mô hình machine learning cuối cùng.
Bạn có thể nghĩ rằng việc thu thập dữ liệu là đủ nhưng thực tế thì ngược lại. Trong mọi dự án AI, việc phân loại và gắn nhãn các tập dữ liệu chiếm phần lớn thời gian của chúng ta, đặc biệt là các tập dữ liệu đủ chính xác để phản ánh tầm nhìn thực tế về thị trường hay thế giới.
Các loại dataset dùng trong học máy
Có 3 loại datasets dùng trong machine learning:
Bộ dữ liệu huấn luyện – training set
Tập dữ liệu huấn luyện là tập dùng để huấn luyện thuật toán hiểu cách áp dụng các khái niệm như mạng nơ-ron, để học và tạo ra kết quả. Nó bao gồm cả dữ liệu đầu vào và đầu ra dự kiến.
Tập hợp đào tạo chiếm phần lớn trong tổng số dữ liệu, khoảng 60%. Trong thử nghiệm, các mô hình phù hợp với các thông số trong một quá trình được gọi là điều chỉnh trọng lượng (adjusting weights).
Bộ xác thực – Validation set
Để mô hình được đào tạo, nó cần được đánh giá định kỳ và đó chính xác là mục đích của bộ xác thực (valiation set). Thông qua việc tính toán tổn thất (tức là tỷ lệ lỗi) mà mô hình mang lại trên bộ xác thực tại bất kỳ điểm nào đã cho, chúng ta có thể biết độ chính xác của nó. Đây là bản chất của đào tạo. Sau đó, mô hình sẽ điều chỉnh các tham số của nó dựa trên kết quả đánh giá thường xuyên trên valiation set.
Bộ xác thực chiếm khoảng 20 phần trăm phần lớn dữ liệu được sử dụng.
Bộ dữ liệu thử nghiệm – testing set
Tập dữ liệu thử nghiệm được sử dụng để đánh giá thuật toán của bạn được đào tạo tốt như thế nào với tập dữ liệu đào tạo. Trong các dự án AI, chúng ta không thể sử dụng tập dữ liệu đào tạo trong giai đoạn thử nghiệm vì thuật toán sẽ biết trước kết quả mong đợi không phải là mục tiêu của chúng tôi.
Bộ kiểm tra đại diện cho 20% dữ liệu. Bộ thử nghiệm được đảm bảo là dữ liệu đầu vào được nhóm lại cùng với các đầu ra chính xác đã được xác minh, nói chung là do con người xác minh.
Các nguồn dataset dành cho Machine Learning
Top 10 các nguồn datasets cho machine learning
1.Kaggle
Kaggle, được cập nhật bởi cộng đồng những người làm việc trong lĩnh vực ML, AI mỗi ngày, là một trong những thư viện tập dữ liệu trực tuyến lớn nhất.
Kaggle là một nền tảng học máy dựa vào cộng đồng. Website này chứa rất nhiều hướng dẫn bao gồm hàng trăm vấn đề machine learning trong cuộc sống thực khác nhau. Tất nhiên bạn không thể kỳ vọng chất lượng của dữ liệu là tốt giống nhau. Tuy nhiên, tất cả các dữ liệu là hoàn toàn miễn phí. Bạn cũng có thể tải tập dữ liệu của riêng mình lên đó.
2. Papers with Code
Papers With Code là một tài nguyên hữu ích và độc đáo về các nghiên cứu các xu hướng về machine learning cùng với code để triển khai. Trang web được tạo ra bởi Robert Stojnic, Giám đốc điều hành Atlas ML, hay còn gọi là “rstoj” trên bảng máy học của Reddit. Papers With Code cũng cho phép người dùng đối sánh một bài báo máy học trên arXiv với code của nó trên GitHub, điều này có thể giúp xem lại nội dung từ các góc độ khác nhau.
Bạn có thể download hơn 3,000 datasets trên Pappers With Code.
3. UCI Machine Learning Repository
UCI Machine Learning Repository (Kho lưu trữ Học máy UCI) là một trong những nguồn tập dữ liệu lâu đời nhất trên web và là điểm dừng đầu tiên tuyệt vời khi tìm kiếm các tập dữ liệu thú vị. Mặc dù tập dữ liệu do người dùng đóng góp và do đó có các mức độ sạch khác nhau, nhưng đại đa số đều tốt. Bạn có thể tải xuống dữ liệu trực tiếp từ kho UCI Machine Learning mà không cần đăng ký.
4. Registry of Open Data on AWS
Trong Sổ đăng ký dữ liệu mở trên AWS (Registry of Open Data on AWS) , bất kỳ ai cũng có thể chia sẻ tập dữ liệu hoặc tìm tập dữ liệu họ cần. Bạn có thể thực hiện nghiên cứu dựa trên dữ liệu bạn tìm thấy với sự trợ giúp của các công cụ phân tích dữ liệu của Amazon. Trong số những người tạo cơ sở dữ liệu, bạn sẽ tìm thấy Dữ liệu Facebook Tốt (Facebook Data for Good) , Thỏa thuận Đạo luật Không gian của NASA (NASA Space Act Agreement) và Viện Khoa học quản lý Kính viễn vọng Không gian (Space Telescope Science Institute).
5. Google Dataset Search
Công cụ tìm kiếm tập dữ liệu của Google (Google dataset search engine) là công cụ tìm kiếm được Google ra mắt vào ngày 5 tháng 9 năm 2018. Nguồn này giúp các nhà nghiên cứu có được các tập dữ liệu trực tuyến có sẵn miễn phí để sử dụng. Bạn cũng có thể tìm thấy bộ dữ liệu được tải lên bởi các tổ chức quốc tế như Tổ chức Y tế Thế giới, Statista và Harvard.
6. Microsoft Datasets
Microsoft đã ra mắt kho lưu trữ “Dữ liệu mở trong Nghiên cứu của Microsoft (Microsoft Research Open data) ” với việc thu thập các bộ dữ liệu miễn phí trong các lĩnh vực khác nhau như xử lý ngôn ngữ tự nhiên, thị giác máy tính và khoa học theo lĩnh vực cụ thể.
Sử dụng tài nguyên này, chúng ta có thể tải xuống bộ dữ liệu để sử dụng trên thiết bị hiện tại hoặc cũng có thể sử dụng trực tiếp trên cơ sở hạ tầng đám mây.
Ngoài ra Microsoft còn có Azure Public Datasets, nơi thường xuyên cập nhật cơ sở dữ liệu cho các nhà phát triển và nhà nghiên cứu ứng dụng. Azure Public Datasets chứa dữ liệu của Chính phủ Mỹ, dữ liệu thống kê và khoa học khác cũng như thông tin dịch vụ trực tuyến mà Microsoft thu thập về người dùng của mình.
7. Reddit datasets
Trong subreddit về datasets, bất kỳ ai cũng có thể xuất bản cơ sở dữ liệu mã nguồn mở của họ. Bạn có thể vào đó, tìm một tập dữ liệu mà bạn cần
8. CMU Libraries
Đại học Carnegie Mellon có bộ sưu tập dữ liệu công khai mà bạn có thể sử dụng cho nghiên cứu của riêng mình. Ở đó, bạn sẽ tìm thấy cơ sở dữ liệu sâu sắc về văn hóa, âm nhạc và lịch sử Hoa Kỳ mà các trang web khác không cung cấp.
9. Public Datasets trên Github
Đây là một bộ sưu tập mã nguồn mở tuyệt vời gồm các bộ dữ liệu tốt nhất có sẵn trực tuyến được chia theo ngành. Bạn có thể truy cập bộ sưu tập này tại đây.
10. YouTube Dataset
Tập dữ liệu YouTube-8M là tập dữ liệu video quy mô lớn, bao gồm hơn 7 triệu video với 4716 lớp được gắn nhãn bởi hệ thống chú thích (annotation system). Tập dữ liệu bao gồm ba phần: tập huấn luyện, tập xác nhận và tập kiểm tra. Trong tập huấn luyện, mỗi lớp có ít nhất 100 video huấn luyện. Các tính năng của các video này được trích xuất bởi các mô hình phổ biến hiện đại được đào tạo trước và phát hành để sử dụng cho công chúng. Mỗi video chứa phương thức âm thanh và hình ảnh. Dựa trên thông tin hình ảnh, video được chia thành 24 chủ đề, chẳng hạn như thể thao, trò chơi, nghệ thuật và giải trí, v.v.
Các trang tổng hợp nguồn datasets
Một số trang tổng hợp các nguồn dataset dành cho machine learning. Bạn cũng có thể tìm các nguồn dataset cho khoa học dữ liệu và các lĩnh vực chuyên sâu khác
10. Các trang tổng hợp datasets nước ngoài
- 50 datasets miễn phí tốt nhất dành cho machine learning
- Public dataset cho machine learning và data science (có thể khó truy cập từ Việt Nam, hãy thử dùng VPN nếu cần thiết)
- Tìm machine learning dataset tốt nhất ở đâu
- Danh sách các bộ dữ liệu cho nghiên cứu học máy
- Hơn 70 Bộ dữ liệu & Ý tưởng Dự án Máy học – Làm việc trên các dự án Khoa học Dữ liệu trong thời gian thực
11. Các trang tổng hợp datasets tiếng Việt
- Datasets trên thư viện mì AI
- Thu Thập Dữ Liệu Cho Deep Learning && Giới Thiệu Về Imagenet (có thể phải dùng VPN để truy cập)
- Datasets trên diễn đàn Machine Learning cơ bản
Kết luận
Các bộ dữ liệu là không thể thiếu trong các dự án về máy học. Có thể có những trùng lắp trong các danh sách trong bài nhưng hy vọng bạn có thể tìm được những bộ dữ liệu mình cần.
Bài viết có tham khảo thông tin từ https://towardsdatascience.com/how-to-build-a-data-set-for-your-machine-learning-project-5b3b871881ac