Tech

Vượt qua những thách thức khi làm việc với dữ liệu nhỏ


Đăng ký ngay bây giờ để nhận vé ảo miễn phí của bạn tới Hội nghị thượng đỉnh ít mã / không mã vào ngày 9 tháng 11. Lắng nghe ý kiến ​​từ các giám đốc điều hành từ Service Now, Credit Karma, Stitch Fix, Appian, v.v. Tìm hiểu thêm.


Bạn từng gặp khó khăn với ghế máy bay vì bạn quá cao? Hoặc có thể bạn đã không thể lên được kệ trên cùng ở siêu thị vì bạn quá thấp? Dù bằng cách nào, gần như tất cả những thứ này đều được thiết kế với chiều cao của một người trung bình: 170cm – hoặc 5 ‘7 ″.

Trên thực tế, gần như mọi thứ trong thế giới của chúng ta đều được thiết kế xung quanh mức trung bình.

Hầu hết các doanh nghiệp chỉ làm việc với mức trung bình vì chúng phù hợp với đa số các trường hợp. Chúng cho phép các công ty giảm chi phí sản xuất và tối đa hóa lợi nhuận. Tuy nhiên, có nhiều trường hợp mà việc bao phủ 70-80% trường hợp là không đủ. Với tư cách là một ngành công nghiệp, chúng tôi cần hiểu cách giải quyết các trường hợp còn lại một cách hiệu quả.

Trong bài viết này, chúng ta sẽ nói về những thách thức khi làm việc với dữ liệu nhỏ trong hai trường hợp cụ thể: Khi tập dữ liệu có một vài mục nhập nói chung và khi chúng được trình bày kém các phần con của tập dữ liệu lớn hơn, thiên vị. Bạn cũng sẽ tìm thấy các mẹo áp dụng về cách tiếp cận những vấn đề này.

Biến cố

Hội nghị thượng đỉnh ít mã / không mã

Tham gia cùng các giám đốc điều hành hàng đầu hiện nay tại Hội nghị thượng đỉnh ít mã / không mã vào ngày 9 tháng 11. Đăng ký thẻ miễn phí của bạn ngay hôm nay.

Đăng ký ở đây

Dữ liệu nhỏ là gì?

Điều quan trọng là phải hiểu khái niệm về dữ liệu nhỏ trước. Dữ liệu nhỏ, trái ngược với dữ liệu lớn, là dữ liệu có khối lượng nhỏ mà con người thường có thể hiểu được. Dữ liệu nhỏ đôi khi cũng có thể là một tập con của tập dữ liệu lớn hơn mô tả một nhóm cụ thể.

Các vấn đề với dữ liệu nhỏ cho các tác vụ trong đời thực là gì?

Có hai kịch bản phổ biến cho các thách thức về dữ liệu nhỏ.

Cảnh 1: Phân phối dữ liệu mô tả thế giới bên ngoài khá tốt, nhưng đơn giản là bạn không có nhiều dữ liệu. Nó có thể tốn kém để thu thập, hoặc nó có thể mô tả các đối tượng không thường được quan sát trong thế giới thực. Ví dụ, dữ liệu về ung thư vú đối với phụ nữ trẻ: Bạn có thể sẽ có một lượng dữ liệu hợp lý cho phụ nữ da trắng từ 45-55 tuổi trở lên, nhưng không phải cho những người trẻ hơn.

Tình huống 2: Bạn có thể đang xây dựng một hệ thống dịch cho một trong những ngôn ngữ có tài nguyên thấp. Ví dụ, có rất nhiều dữ liệu sẵn có bằng tiếng Ý trên mạng, nhưng với ngôn ngữ Rhaeto-Romance, việc cung cấp dữ liệu có thể sử dụng phức tạp hơn.

Vấn đề 1: Mô hình dễ bị trang bị quá mức

Khi tập dữ liệu lớn, bạn có thể tránh trang bị quá nhiều, nhưng điều đó khó khăn hơn nhiều trong trường hợp dữ liệu nhỏ. Bạn có nguy cơ tạo ra một mô hình quá phức tạp, hoàn toàn phù hợp với dữ liệu của bạn, nhưng điều đó không hiệu quả trong các tình huống thực tế.

Dung dịch: Sử dụng các mô hình đơn giản hơn. Thông thường, khi làm việc với dữ liệu nhỏ, các kỹ sư thường sử dụng các mô hình phức tạp để thực hiện các phép biến đổi phức tạp hơn và mô tả các phần phụ thuộc phức tạp hơn. Những mô hình này sẽ không giúp bạn giải quyết vấn đề trang bị quá mức khi tập dữ liệu của bạn nhỏ và bạn không có điều kiện chỉ cần cung cấp thêm dữ liệu cho thuật toán.

Ngoài việc trang bị quá nhiều, bạn cũng có thể nhận thấy rằng một mô hình được đào tạo trên dữ liệu nhỏ không hội tụ rất tốt. Đối với những dữ liệu như vậy, sự hội tụ quá sớm có thể gây ra một vấn đề lớn cho các nhà phát triển vì mô hình không đạt được mức tối ưu cục bộ thực sự nhanh chóng và rất khó để thoát khỏi đó.

Trong trường hợp này, có thể lấy mẫu tập dữ liệu của bạn. Có nhiều thuật toán như các phương pháp lấy mẫu cổ điển như kỹ thuật lấy mẫu tổng hợp thiểu số (SMOTE) và các sửa đổi hiện đại của nó và các phương pháp tiếp cận dựa trên mạng nơ-ron như mạng đối thủ chung (GAN). Giải pháp phụ thuộc vào lượng dữ liệu bạn thực sự có. Thông thường, xếp chồng có thể giúp bạn cải thiện chỉ số và không bị quá tải.

Một giải pháp khả thi khác là sử dụng phương pháp học chuyển tiếp. Học chuyển giao có thể được sử dụng để xây dựng các giải pháp một cách hiệu quả, ngay cả khi bạn có một tập dữ liệu nhỏ. Tuy nhiên, để có thể thực hiện việc học chuyển giao, bạn cần có đủ dữ liệu từ các trường liền kề mà mô hình của bạn có thể học hỏi.

Không phải lúc nào bạn cũng có thể thu thập dữ liệu này và ngay cả khi bạn làm vậy, nó có thể chỉ hoạt động ở một mức độ nhất định. Vẫn có sự khác biệt cố hữu giữa các nhiệm vụ khác nhau. Hơn nữa, sự gần gũi của các trường khác nhau không thể được chứng minh, vì chúng không thể được đo trực tiếp. Thông thường, giải pháp này về cơ bản cũng là một giả thuyết được cung cấp bởi chuyên môn của riêng bạn mà bạn đang sử dụng để xây dựng quy trình học chuyển tiếp.

Vấn đề 2: Lời nguyền của chiều không gian

Có rất nhiều tính năng nhưng rất ít đối tượng, có nghĩa là mô hình không học được. Những gì có thể được thực hiện?

Giải pháp là giảm số lượng tính năng. Bạn có thể áp dụng trích xuất đối tượng địa lý (xây dựng) hoặc lựa chọn đối tượng địa lý hoặc bạn có thể sử dụng cả hai. Đối với hầu hết các trường hợp, sẽ tốt hơn nếu áp dụng lựa chọn tính năng trước.

Khai thác tính năng

Bạn sử dụng trích xuất tính năng để giảm kích thước của mô hình và cải thiện hiệu suất của mô hình khi có dữ liệu nhỏ liên quan. Để làm được điều đó, bạn có thể sử dụng các phương thức hạt nhân, mạng nơ-ron tích tụ (CNN) hoặc thậm chí một số phương pháp trực quan hóa và nhúng như PCA và t-SNE.

Trong CNN, các lớp phức hợp hoạt động giống như các bộ lọc. Ví dụ: đối với hình ảnh, các lớp chập thực hiện trích xuất đặc điểm hình ảnh và tính toán một hình ảnh mới trong một lớp trung gian mới.

Vấn đề là đối với hầu hết các trường hợp trích xuất đối tượng địa lý, bạn sẽ mất khả năng diễn giải. Bạn không thể sử dụng mô hình kết quả trong Y khoa chẩn đoán bởi vì ngay cả khi độ chính xác của chẩn đoán được cho là được cải thiện khi bạn đưa nó cho bác sĩ, anh ta sẽ không thể sử dụng nó vì y đức. Chẩn đoán dựa trên CNN rất khó giải thích, có nghĩa là nó không hoạt động đối với các ứng dụng nhạy cảm.

Lựa chọn tính năng

Một cách tiếp cận khác liên quan đến việc loại bỏ một số tính năng. Để điều đó hoạt động, bạn cần chọn những thứ hữu ích nhất và xóa tất cả những thứ còn lại. Ví dụ, nếu trước đây bạn có 300 tính năng, sau khi giảm bớt, bạn sẽ có 20 và lời nguyền về chiều không gian sẽ được dỡ bỏ. Nhiều khả năng các vấn đề sẽ biến mất. Hơn nữa, không giống như trích xuất tính năng, mô hình của bạn sẽ vẫn có thể diễn giải được, do đó, lựa chọn tính năng có thể được áp dụng tự do trong các ứng dụng nhạy cảm.

Làm thế nào để làm nó? Có ba cách tiếp cận chính, nhưng cách đơn giản nhất là sử dụng phương pháp bộ lọc. Hãy tưởng tượng rằng bạn muốn xây dựng một mô hình dự đoán một số lớp – ví dụ, kết quả xét nghiệm dương tính hoặc âm tính đối với bệnh ung thư. Tại đây bạn có thể áp dụng phương pháp lựa chọn tính năng dựa trên tương quan Spearman. Nếu độ tương quan cao, thì bạn giữ nguyên tính năng. Nhiều phương pháp mà bạn có thể sử dụng trong danh mục này đến từ thống kê toán học: Spearman, Pearson, Information Gain hoặc chỉ số Gini (trong số những phương pháp khác).

Có bao nhiêu tính năng để giữ lại là một câu hỏi khác. Thông thường, chúng tôi quyết định dựa trên các giới hạn tính toán mà chúng tôi có và số lượng tính năng chúng tôi cần giữ để đáp ứng chúng. Hoặc chúng tôi có thể chỉ giới thiệu một số quy tắc đơn giản như “chọn tất cả các đối tượng địa lý có mối tương quan cao hơn 0,7”. Tất nhiên, có một số kinh nghiệm học như “thuật toán gậy gãy” hoặc “quy tắc khuỷu tay” mà bạn có thể áp dụng, nhưng không có phương pháp nào đảm bảo kết quả tốt nhất có thể.

Một cách tiếp cận khác là sử dụng các phương pháp nhúng. Chúng luôn hoạt động theo cặp với một số mô hình ML khác. Có nhiều mô hình với một số tính năng được nhúng cho phép bạn thực hiện lựa chọn tính năng, như các khu rừng ngẫu nhiên. Đối với mỗi cây, cái gọi là “lỗi ngoài túi” được áp dụng: mọi cây đều có thể đúng hoặc sai trong phân loại của từng đối tượng. Nếu nó đúng, chúng tôi thêm điểm cho tất cả các tính năng của nó, nếu không – trích xuất.

Sau đó, sau khi chuẩn hóa lại (mỗi tính năng có thể được trình bày một số lần khác nhau trong nhóm cây), hãy sắp xếp chúng dựa trên điểm số thu được và sau đó cắt một số tính năng bạn không cần, giống như trong các phương pháp lọc. Trong toàn bộ quy trình, nó sử dụng mô hình trực tiếp trong quá trình lựa chọn tính năng; tất cả các phương pháp nhúng thường làm như vậy.

Cuối cùng, chúng ta có thể sử dụng các phương pháp wrapper cổ điển. Ý tưởng của họ đơn giản như vậy: Đầu tiên, bạn cần bằng cách nào đó để chọn một tập hợp con tính năng, thậm chí là ngẫu nhiên. Sau đó, đào tạo một số mô hình trên đó. Một mô hình phổ biến là hồi quy logistic, vì nó khá đơn giản. Sau khi huấn luyện nó, bạn sẽ nhận được một số chỉ số cho điểm F1 của mình. Sau đó, bạn có thể thực hiện lại và đánh giá hiệu suất.

Thành thật mà nói, ở đây, bạn có thể sử dụng bất kỳ thuật toán tối ưu hóa nào để chọn tập hợp con tiếp theo để đánh giá. Chúng ta càng có nhiều tính năng, kích thước càng lớn. Vì vậy, trình bao bọc thường được sử dụng cho các trường hợp có dưới 100 tính năng. Bộ lọc hoạt động trên bất kỳ số lượng tính năng nào, thậm chí cả triệu tính năng. Phương pháp nhúng được sử dụng cho các trường hợp trung gian nếu bạn biết mình sẽ sử dụng mô hình nào sau này.

Ngoài ra, có các phương pháp lai (liên tiếp) và kết hợp (song song). Ví dụ đơn giản nhất của phương pháp kết hợp là thuật toán lựa chọn chuyển tiếp: Đầu tiên nó chọn một số tập hợp con của các tính năng với một phương pháp lọc, sau đó nó thêm từng đối tượng một vào tập đặc trưng kết quả theo cách bao bọc theo thứ tự giảm dần theo số liệu.

Điều gì sẽ xảy ra nếu dữ liệu của bạn không đầy đủ?

Vì vậy, những gì có thể được thực hiện khi dữ liệu bị sai lệch và không đại diện cho vô số? Nếu bạn chưa nắm bắt được vấn đề thì sao? Thành thật mà nói, thật khó để dự đoán khi nào nó có thể xảy ra.

Vấn đề 1

Bạn biết có điều gì đó bạn đã không bao gồm, hoặc nó hiếm. Có một “ngọn đồi” trong phân phối dữ liệu của bạn mà bạn biết rất nhiều, nhưng bạn không biết nhiều về “những cái đuôi” của nó.

Dung dịch: Bạn cắt “đuôi”, dạy mô hình trên “đồi” và sau đó bạn có thể dạy các mô hình riêng biệt về “đuôi”. Vấn đề là nếu có quá ít ví dụ, thì bạn chỉ có thể sử dụng một giải pháp tuyến tính hoặc một giải pháp dựa trên cây; không có gì khác sẽ hoạt động. Bạn cũng có thể chỉ sử dụng các chuyên gia và xây dựng các mô hình có thể hiểu được cho các “đuôi” với sự trợ giúp của họ.

Vấn đề 2

Một mô hình đã được sản xuất, các đối tượng mới đến và chúng tôi không biết làm thế nào để phân loại chúng. Hầu hết các doanh nghiệp sẽ bỏ qua chúng vì đây là một giải pháp rẻ và tiện lợi cho những trường hợp thực sự hiếm gặp. Ví dụ, với NLP, mặc dù có một số giải pháp phức tạp hơn, bạn vẫn có thể bỏ qua những từ chưa biết và hiển thị kết quả phù hợp nhất.

Dung dịch: Phản hồi của người dùng có thể giúp bạn đưa vào tập dữ liệu của mình sự đa dạng hơn. Nếu người dùng của bạn đã báo cáo điều gì đó mà bạn không có trong tập dữ liệu của mình, hãy ghi lại đối tượng này, thêm nó vào tập huấn luyện và sau đó nghiên cứu kỹ lưỡng. Sau đó, bạn có thể gửi phản hồi thu thập được cho các chuyên gia để phân loại các đối tượng mới.

Vấn đề 3

Tập dữ liệu của bạn có thể chưa hoàn chỉnh và bạn không biết rằng sự cố đang tồn tại. Chúng ta không thể đoán trước điều gì đó mà chúng ta không biết. Các tình huống mà chúng tôi không biết rằng chúng tôi có một bộ dữ liệu không đầy đủ có thể dẫn đến việc doanh nghiệp của chúng tôi phải đối mặt với những rủi ro thực sự về uy tín, tài chính và pháp lý.

Dung dịch: Ở giai đoạn đánh giá rủi ro, bạn phải luôn ghi nhớ rằng có khả năng xảy ra như vậy. Doanh nghiệp phải có ngân sách cần thiết để trang trải những rủi ro đó và kế hoạch hành động để giải quyết khủng hoảng uy tín và các vấn đề liên quan khác.

Các giải pháp

Hầu hết các giải pháp được thiết kế để phù hợp với mức trung bình. Tuy nhiên, trong những tình huống nhạy cảm như trong lĩnh vực chăm sóc sức khỏe và ngân hàng, việc phù hợp với đa số là không đủ. Dữ liệu nhỏ có thể giúp chúng tôi giải quyết vấn đề về giải pháp “một kích thước phù hợp với tất cả” và giới thiệu sự đa dạng hơn vào thiết kế sản phẩm của chúng tôi.

Làm việc với dữ liệu nhỏ là một thách thức. Các công cụ mà chúng ta sử dụng ngày nay trong máy học (ML) hầu hết được thiết kế để hoạt động với Dữ liệu lớn, vì vậy bạn phải sáng tạo. Tùy thuộc vào tình huống bạn đang gặp phải, bạn có thể chọn các phương pháp khác nhau, từ SMOTE đến thống kê toán học đến GAN và điều chỉnh chúng cho phù hợp với trường hợp sử dụng của bạn.

Ivan Smetannikov là trưởng nhóm khoa học dữ liệu tại Serokell.

DataDecisionMakers

Chào mừng bạn đến với cộng đồng VentureBeat!

DataDecisionMakers là nơi các chuyên gia, bao gồm cả những người kỹ thuật làm công việc dữ liệu, có thể chia sẻ những hiểu biết sâu sắc và đổi mới liên quan đến dữ liệu.

Nếu bạn muốn đọc về các ý tưởng tiên tiến và thông tin cập nhật, các phương pháp hay nhất và tương lai của dữ liệu và công nghệ dữ liệu, hãy tham gia với chúng tôi tại DataDecisionMakers.

Bạn thậm chí có thể xem xét đóng góp một bài báo của riêng bạn!

Đọc thêm từ DataDecisionMakers

goznews

Goz News: Update the world's latest breaking news online of the day, breaking news, politics, society today, international mainstream news .Updated news 24/7: Entertainment, Sports...at the World everyday world. Hot news, images, video clips that are updated quickly and reliably.

Related Articles

Back to top button