Làm thế nào và tại sao bình thường hóa và tính năng nhân rộng hoạt động?


61

Tôi thấy rằng rất nhiều thuật toán học máy hoạt động tốt hơn với sự hủy bỏ trung bình và cân bằng hiệp phương sai. Ví dụ: Mạng thần kinh có xu hướng hội tụ nhanh hơn và K-Means thường cung cấp phân cụm tốt hơn với các tính năng được xử lý trước. Tôi không thấy trực giác đằng sau các bước tiền xử lý này dẫn đến hiệu suất được cải thiện. Ai đó có thể giải thích điều này cho tôi?

Câu trả lời:


25

Đây chỉ đơn giản là một trường hợp nhận tất cả dữ liệu của bạn theo cùng một tỷ lệ: nếu các thang đo cho các tính năng khác nhau cực kỳ khác nhau, điều này có thể ảnh hưởng đến khả năng học hỏi của bạn (tùy thuộc vào phương pháp bạn sử dụng để thực hiện) . Đảm bảo các giá trị tính năng được tiêu chuẩn hóa hoàn toàn cân nhắc tất cả các tính năng như nhau trong biểu diễn của chúng.


3
Ý bạn là gì khi "điều này có thể ảnh hưởng đến khả năng học hỏi của bạn", có lẽ bạn có thể mở rộng về điều này?
Charlie Parker

14
Đây không thực sự là một lời giải thích tốt. Để đạt được sự hiểu biết thực sự, bạn cần phải đi sâu hơn ít nhất một mức độ sâu sắc trong giải thích.
Zelphir Kaltstahl

tôi cần bất kỳ tài liệu tham khảo nào cho luận án của mình
x-rw

40

Đúng là tiền xử lý trong học máy có phần là một nghệ thuật rất đen. Nó không được viết ra nhiều trên giấy tờ tại sao một số bước tiền xử lý là cần thiết để làm cho nó hoạt động. Tôi cũng không chắc chắn nếu nó được hiểu trong mọi trường hợp. Để làm cho mọi thứ phức tạp hơn, nó phụ thuộc rất nhiều vào phương pháp bạn sử dụng và cả miền vấn đề.

Một số phương pháp ví dụ là biến đổi affine bất biến. Nếu bạn có một mạng nơ-ron và chỉ áp dụng một phép biến đổi affine cho dữ liệu của mình, thì mạng không bị mất hoặc thu được bất cứ thứ gì trong lý thuyết. Tuy nhiên, trong thực tế, một mạng lưới thần kinh hoạt động tốt nhất nếu các đầu vào được đặt ở giữa và màu trắng. Điều đó có nghĩa là hiệp phương sai của chúng là đường chéo và giá trị trung bình là vectơ không. Tại sao nó cải thiện mọi thứ? Đó chỉ là do việc tối ưu hóa mạng lưới thần kinh hoạt động một cách duyên dáng hơn, vì các chức năng kích hoạt ẩn không bão hòa nhanh như vậy và do đó không cung cấp cho bạn độ dốc gần bằng 0 khi học.

Các phương pháp khác, ví dụ K-Means, có thể cung cấp cho bạn các giải pháp hoàn toàn khác nhau tùy thuộc vào quá trình tiền xử lý. Điều này là do một phép biến đổi affine ngụ ý một sự thay đổi trong không gian số liệu: khoảng cách Euclide btw hai mẫu sẽ khác nhau sau phép biến đổi đó.

Vào cuối ngày, bạn muốn hiểu những gì bạn đang làm với dữ liệu. Ví dụ, làm trắng trong thị giác máy tính và bình thường hóa mẫu là điều mà bộ não con người cũng làm trong đường ống tầm nhìn của nó.


17

Một số ý tưởng, tài liệu tham khảo và âm mưu về lý do tại sao chuẩn hóa đầu vào có thể hữu ích cho ANN và k-nghĩa:

K-nghĩa là :

K-có nghĩa là phân cụm là "đẳng hướng" theo mọi hướng của không gian và do đó có xu hướng tạo ra các cụm tròn nhiều hơn hoặc ít hơn (chứ không phải kéo dài). Trong tình huống này, việc để các phương sai không bằng nhau tương đương với việc đặt nhiều trọng số hơn vào các biến có phương sai nhỏ hơn.

Ví dụ trong Matlab:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

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

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

(FYI: Làm cách nào tôi có thể phát hiện nếu tập dữ liệu của tôi được phân cụm hoặc không tách rời (nghĩa là tạo thành một cụm duy nhất )

Phân cụm :

Phân tích so sánh cho thấy các kết quả phân cụm phân tán phụ thuộc vào loại thủ tục chuẩn hóa.

Mạng nơ ron nhân tạo (đầu vào) :

Nếu các biến đầu vào được kết hợp tuyến tính, như trong MLP, thì hiếm khi cần thiết phải chuẩn hóa các đầu vào, ít nhất là trên lý thuyết. Lý do là bất kỳ sự thay đổi kích thước nào của một vectơ đầu vào đều có thể được phục hồi một cách hiệu quả bằng cách thay đổi các trọng số và độ lệch tương ứng, để lại cho bạn các đầu ra chính xác như bạn đã có trước đó. Tuy nhiên, có nhiều lý do thực tế tại sao tiêu chuẩn hóa đầu vào có thể giúp đào tạo nhanh hơn và giảm khả năng bị mắc kẹt trong tối ưu cục bộ. Ngoài ra, phân rã trọng lượng và ước tính Bayes có thể được thực hiện thuận tiện hơn với các đầu vào được tiêu chuẩn hóa.

Mạng nơ ron nhân tạo (đầu vào / đầu ra)

Bạn có nên làm bất cứ điều gì trong những điều này với dữ liệu của bạn? Câu trả lơi con phụ thuộc vao nhiêu thư.

Chuẩn hóa các biến đầu vào hoặc biến đích có xu hướng làm cho quá trình đào tạo được xử lý tốt hơn bằng cách cải thiện điều kiện số (xem ftp://ftp.sas.com/pub/neural/illcond/illcond.html ) của vấn đề tối ưu hóa và đảm bảo rằng mặc định khác nhau các giá trị liên quan đến khởi tạo và kết thúc là phù hợp. Tiêu chuẩn hóa các mục tiêu cũng có thể ảnh hưởng đến chức năng mục tiêu.

Tiêu chuẩn hóa các trường hợp nên được tiếp cận thận trọng vì nó loại bỏ thông tin. Nếu thông tin đó không liên quan, thì các trường hợp tiêu chuẩn hóa có thể khá hữu ích. Nếu thông tin đó là quan trọng, thì trường hợp tiêu chuẩn hóa có thể là thảm họa.


Thật thú vị, việc thay đổi các đơn vị đo lường thậm chí có thể khiến người ta thấy một cấu trúc phân cụm rất khác nhau: Kaufman, Leonard và Peter J. Rousseeuw .. "Tìm các nhóm trong dữ liệu: Giới thiệu về phân tích cụm." (2005).

Trong một số ứng dụng, việc thay đổi các đơn vị đo lường thậm chí có thể khiến người ta thấy cấu trúc phân cụm rất khác nhau. Ví dụ: tuổi (tính bằng năm) và chiều cao (tính bằng centimet) của bốn người tưởng tượng được đưa ra trong Bảng 3 và được vẽ trong Hình 3. Có vẻ như {A, B) và {C, 0) là hai cụm được phân tách rõ ràng . Mặt khác, khi chiều cao được biểu thị bằng feet, người ta sẽ nhận được Bảng 4 và Hình 4, trong đó các cụm rõ ràng hiện là {A, C} và {B, D}. Phân vùng này hoàn toàn khác với phân vùng đầu tiên vì mỗi đối tượng đã nhận được một người bạn đồng hành khác. (Hình 4 sẽ được làm phẳng thậm chí nhiều hơn nếu tuổi được đo bằng ngày.)

Để tránh sự phụ thuộc này vào sự lựa chọn của các đơn vị đo lường, người ta có tùy chọn chuẩn hóa dữ liệu. Điều này chuyển đổi các phép đo ban đầu thành các biến đơn vị.

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

Kaufman et al. tiếp tục với một số cân nhắc thú vị (trang 11):

Từ quan điểm triết học, tiêu chuẩn hóa không thực sự giải quyết vấn đề. Thật vậy, sự lựa chọn của các đơn vị đo lường làm tăng trọng số tương đối của các biến. Biểu thị một biến trong các đơn vị nhỏ hơn sẽ dẫn đến một phạm vi lớn hơn cho biến đó, sau đó sẽ có ảnh hưởng lớn đến cấu trúc kết quả. Mặt khác, bằng cách tiêu chuẩn hóa một nỗ lực để cung cấp cho tất cả các biến có trọng số bằng nhau, với hy vọng đạt được tính khách quan. Như vậy, nó có thể được sử dụng bởi một học viên không có kiến ​​thức trước. Tuy nhiên, về cơ bản, một số biến quan trọng hơn các biến khác trong một ứng dụng cụ thể, và sau đó việc gán trọng số phải dựa trên kiến ​​thức về vấn đề (xem, ví dụ, Abrahamowicz, 1985). Mặt khác, đã có những nỗ lực để đưa ra các kỹ thuật phân cụm độc lập với quy mô của các biến (Friedman và Rubin, 1967). Đề xuất của Hardy và Rasson (1982) là tìm kiếm một phân vùng làm giảm thiểu tổng khối lượng vỏ tàu lồi của các cụm. Về nguyên tắc, một phương pháp như vậy là bất biến đối với các phép biến đổi tuyến tính của dữ liệu, nhưng thật không may, không có thuật toán nào tồn tại để thực hiện nó (ngoại trừ một xấp xỉ bị giới hạn ở hai chiều). Do đó, hiện tại tiến thoái lưỡng nan của tiêu chuẩn hóa là không thể tránh khỏi và các chương trình được mô tả trong cuốn sách này để lại sự lựa chọn cho người dùng. Đề xuất của Hardy và Rasson (1982) là tìm kiếm một phân vùng làm giảm thiểu tổng khối lượng vỏ tàu lồi của các cụm. Về nguyên tắc, một phương pháp như vậy là bất biến đối với các phép biến đổi tuyến tính của dữ liệu, nhưng thật không may, không có thuật toán nào tồn tại để thực hiện nó (ngoại trừ một xấp xỉ bị giới hạn ở hai chiều). Do đó, hiện tại tiến thoái lưỡng nan của tiêu chuẩn hóa là không thể tránh khỏi và các chương trình được mô tả trong cuốn sách này để lại sự lựa chọn cho người dùng. Đề xuất của Hardy và Rasson (1982) là tìm kiếm một phân vùng làm giảm thiểu tổng khối lượng vỏ tàu lồi của các cụm. Về nguyên tắc, một phương pháp như vậy là bất biến đối với các phép biến đổi tuyến tính của dữ liệu, nhưng thật không may, không có thuật toán nào tồn tại để thực hiện nó (ngoại trừ một xấp xỉ bị giới hạn ở hai chiều). Do đó, hiện tại tiến thoái lưỡng nan của tiêu chuẩn hóa là không thể tránh khỏi và các chương trình được mô tả trong cuốn sách này để lại sự lựa chọn cho người dùng.


6

Tại sao tính năng mở rộng hoạt động? Tôi có thể cho bạn một ví dụ (từ Quora )

30000


4
Nếu bạn đang trích dẫn một bài đăng từ Quora, bạn thực sự cần liên kết đến nguồn.
Matthew Drury

5

Có hai vấn đề riêng biệt:

a) học đúng chức năng, ví dụ k-nghĩa: thang đo đầu vào về cơ bản chỉ định độ tương tự, do đó các cụm được tìm thấy phụ thuộc vào tỷ lệ. chính quy hóa - ví dụ: l2 trọng số chính quy - bạn cho rằng mỗi trọng số phải "nhỏ như nhau" - nếu dữ liệu của bạn không được chia tỷ lệ "một cách thích hợp" thì điều này sẽ không xảy ra

b) tối ưu hóa, cụ thể là theo độ dốc (ví dụ: hầu hết các mạng thần kinh). Để giảm độ dốc, bạn cần chọn tốc độ học tập ... nhưng tốc độ học tập tốt (ít nhất là ở lớp ẩn thứ 1) phụ thuộc vào tỷ lệ đầu vào: đầu vào nhỏ [có liên quan] thường sẽ yêu cầu trọng lượng lớn hơn, vì vậy bạn muốn học lớn hơn tỷ lệ cho các trọng số đó (để đạt được nhanh hơn) và vv cho các đầu vào lớn ... vì bạn chỉ muốn sử dụng một tỷ lệ học tập duy nhất, bạn đã bán lại các đầu vào của mình. (và làm trắng tức là trang trí cũng rất quan trọng vì lý do tương tự)



1

Bài viết này chỉ nói về phương tiện k, nhưng nó giải thích và chứng minh yêu cầu xử lý dữ liệu khá độc đáo.

Tiêu chuẩn hóa là bước tiền xử lý trung tâm trong khai thác dữ liệu, để chuẩn hóa các giá trị của các tính năng hoặc thuộc tính từ phạm vi động khác nhau thành một phạm vi cụ thể. Trong bài báo này, chúng tôi đã phân tích hiệu suất của ba phương pháp tiêu chuẩn hóa trên thuật toán K-mean thông thường. Bằng cách so sánh các kết quả trên bộ dữ liệu bệnh truyền nhiễm, người ta thấy rằng kết quả thu được từ phương pháp tiêu chuẩn hóa điểm z là hiệu quả và hiệu quả hơn so với các phương pháp chuẩn hóa tỷ lệ tối thiểu và thập phân.

.

... Nếu có một số tính năng, với kích thước lớn hoặc độ biến thiên lớn, các loại tính năng này sẽ ảnh hưởng mạnh đến kết quả phân cụm. Trong trường hợp này, tiêu chuẩn hóa dữ liệu sẽ là một nhiệm vụ tiền xử lý quan trọng để mở rộng hoặc kiểm soát sự biến đổi của các bộ dữ liệu.

.

... các tính năng cần phải không có thứ nguyên vì các giá trị số của phạm vi các tính năng thứ nguyên phụ thuộc vào đơn vị đo và do đó, việc lựa chọn đơn vị đo có thể thay đổi đáng kể kết quả của việc phân cụm. Do đó, người ta không nên sử dụng các thước đo khoảng cách như khoảng cách Euclide mà không cần chuẩn hóa các bộ dữ liệu

Nguồn: http://maxwellsci.com/print/rjaset/v6-3299-3303.pdf


1

Tiền xử lý thường hoạt động vì nó loại bỏ các tính năng của dữ liệu không liên quan đến vấn đề phân loại mà bạn đang cố gắng giải quyết. Ví dụ, hãy suy nghĩ về việc phân loại dữ liệu âm thanh từ các loa khác nhau. Biến động về độ lớn (biên độ) có thể không liên quan, trong khi phổ tần số là khía cạnh thực sự có liên quan. Vì vậy, trong trường hợp này, việc chuẩn hóa biên độ sẽ thực sự hữu ích cho hầu hết các thuật toán ML, bởi vì nó loại bỏ một khía cạnh của dữ liệu không liên quan và sẽ khiến một mạng lưới thần kinh phù hợp với các mẫu giả.


1

Tôi nghĩ rằng điều này được thực hiện đơn giản để tính năng có giá trị lớn hơn không làm lu mờ các hiệu ứng của tính năng với giá trị nhỏ hơn khi học phân loại. Điều này trở nên đặc biệt quan trọng nếu tính năng có giá trị nhỏ hơn thực sự đóng góp vào khả năng phân tách lớp. Các phân loại như hồi quy logistic sẽ gặp khó khăn khi tìm hiểu ranh giới quyết định, ví dụ nếu nó tồn tại ở cấp vi mô của một tính năng và chúng tôi có các tính năng khác theo thứ tự hàng triệu .Cũng giúp thuật toán hội tụ tốt hơn. Do đó, chúng tôi không có bất kỳ cơ hội nào khi mã hóa chúng vào các thuật toán của mình. Nó dễ dàng hơn nhiều cho một bộ phân loại, để tìm hiểu sự đóng góp (trọng lượng) của các tính năng theo cách này. Cũng đúng với K có nghĩa là khi sử dụng các chỉ tiêu euclide (nhầm lẫn vì quy mô). Một số thuật toán có thể hoạt động mà không bình thường hóa.

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.