Làm thế nào để phân loại dữ liệu hình xoắn ốc?


9

Tôi đã loay hoay trong sân chơi căng thẳng . Một trong những bộ dữ liệu đầu vào là một hình xoắn ốc. Bất kể tôi chọn tham số đầu vào nào, cho dù mạng lưới thần kinh tôi tạo ra rộng và sâu đến đâu, tôi không thể phù hợp với hình xoắn ốc. Làm thế nào để các nhà khoa học dữ liệu phù hợp với dữ liệu của hình dạng này?


Câu trả lời:


11

Có nhiều cách tiếp cận cho loại vấn đề này. Rõ ràng nhất là tạo ra các tính năng mới . Các tính năng tốt nhất tôi có thể đưa ra là chuyển đổi tọa độ thành tọa độ hình cầu .

Tôi chưa tìm thấy cách nào để làm điều đó trong sân chơi, vì vậy tôi chỉ tạo ra một vài tính năng có thể giúp với điều này (tính năng tội lỗi). Sau 500 lần lặp, nó sẽ bão hòa và sẽ dao động ở mức 0,1 điểm. Điều này cho thấy rằng không có cải tiến nào nữa sẽ được thực hiện và có lẽ tôi nên làm cho lớp ẩn rộng hơn hoặc thêm một lớp khác.

Không có gì ngạc nhiên khi sau khi thêm chỉ một nơ ron vào lớp ẩn, bạn dễ dàng nhận được 0,013 sau 300 lần lặp. Điều tương tự xảy ra bằng cách thêm một lớp mới (0,017, nhưng sau 500 lần lặp dài hơn đáng kể. Cũng không có gì ngạc nhiên vì khó truyền bá các lỗi hơn). Hầu hết có lẽ bạn có thể chơi với tốc độ học tập hoặc học một cách thích ứng để làm cho nó nhanh hơn, nhưng đây không phải là vấn đề ở đây.

nhập mô tả hình ảnh ở đây


Tọa độ hình cầu! Nhắc nhở tôi về tính toán sinh viên.
Souradeep Nanda

4
@SouradeepNanda bạn sẽ tìm thấy rất nhiều thứ toán học mà mọi người thấy vô dụng ở trường cực kỳ quan trọng trong ML
Salvador Dali

Chỉ dành riêng cho những người tò mò như tôi, tôi cố gắng kết quả lặp lại , nhưng mọi thứ không đi mà mịn
CodeVision


3

thetahồ quang(y,x)r(x2+y2) .

x2y2

nhập mô tả hình ảnh ở đây


Bạn có thể giải thích về cách bạn "lừa dối"? Làm thế nào bạn thêm các tính năng này? Bạn đã tải xuống sân chơi từ GitHub và sửa đổi nó? Hoặc có một cách trực tiếp hơn để làm điều này?
Jim

Tôi đã tự hỏi làm thế nào để áp dụng hack này quá. Đã thử làm điều đó trong trình duyệt nhưng không có may mắn với điều đó. Sau đó, tôi quyết định rẽ nhánh mã nguồn và thêm các tính năng đầu vào mới. Bạn có thể thấy nó ở đây
Cankut

0

vanilla tenorflow sân chơi giải pháp xoắn ốc

Đây là một ví dụ về sân chơi vani Tensorflow không có tính năng bổ sung và không sửa đổi. Việc chạy cho Xoắn ốc là từ 187 đến ~ 300 Epoch, tùy thuộc. Tôi đã sử dụng Lasso Chính quy hóa L1 để tôi có thể loại bỏ các hệ số. Tôi đã giảm kích thước lô xuống 1 để giữ đầu ra không quá khớp. Trong ví dụ thứ hai của tôi, tôi đã thêm một số nhiễu vào tập dữ liệu sau đó tăng L1 để bù.

nhập mô tả hình ảnh ở đây


0

Các giải pháp tôi đạt được sau một giờ thử nghiệm thường hội tụ chỉ trong 100 kỷ nguyên .

Vâng, tôi biết nó không có ranh giới quyết định trơn tru nhất ngoài kia, nhưng nó hội tụ khá nhanh.

! [Lỗi kiểm tra 0,6%

Tôi đã học được một vài điều từ thí nghiệm xoắn ốc này: -

  • Lớp đầu ra phải lớn hơn hoặc bằng lớp đầu vào . Ít nhất đó là những gì tôi nhận thấy trong trường hợp của vấn đề xoắn ốc này.
  • Giữ tỷ lệ học tập ban đầu cao , như 0,1 trong trường hợp này, sau đó khi bạn gặp phải một lỗi kiểm tra thấp như 3-5% hoặc ít hơn, hãy giảm tốc độ học tập xuống một mức (0,03) hoặc hai. Điều này giúp hội tụ nhanh hơn và tránh nhảy xung quanh cực tiểu toàn cầu.
  • Bạn có thể thấy tác động của việc duy trì tốc độ học tập cao bằng cách kiểm tra biểu đồ lỗi ở trên cùng bên phải.
  • Đối với các kích thước lô nhỏ hơn như 1, 0,1 là tốc độ học tập quá cao do mô hình không hội tụ khi nó nhảy xung quanh cực tiểu toàn cầu.
  • Vì vậy, nếu bạn muốn giữ tỷ lệ học tập cao (0,1), hãy giữ kích thước lô cao (10). Điều này thường mang lại sự hội tụ chậm nhưng mượt mà hơn.

Thật trùng hợp, giải pháp tôi đưa ra rất giống với giải pháp được cung cấp bởi Salvador Dali .

Vui lòng thêm một nhận xét, nếu bạn tìm thấy bất kỳ trực giác hoặc lý do.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.