2013-03-20 29 views
5

Tôi đang gặp rắc rối với một số khái niệm trong học máy thông qua mạng thần kinh. Một trong số đó là backpropagation. Trong cân cập nhật phương trình,Học máy: Backpropagation Unsupervised

delta_w = a*(t - y)*g'(h)*x 

t là "đầu ra mục tiêu", đó sẽ là nhãn lớp học của bạn, hoặc một cái gì đó, trong trường hợp học có giám sát. Nhưng "đầu ra mục tiêu" là gì cho việc học không giám sát?

Có thể ai đó vui lòng cung cấp ví dụ về cách bạn sử dụng BP trong học tập không giám sát, đặc biệt là để phân cụm phân loại?

Xin cảm ơn trước.

Trả lời

6

Tôi không chắc thuật toán học máy không giám sát nào sử dụng tính năng truyền dẫn ngược cụ thể; nếu có một người tôi chưa từng nghe về nó. Bạn có thể chỉ ra một ví dụ?

Backpropagation được sử dụng để tính toán các dẫn xuất của hàm lỗi để đào tạo mạng nơron nhân tạo đối với trọng số trong mạng. Nó được đặt tên như vậy vì "lỗi" đang "lan truyền" qua mạng "ngược". Bạn cần nó trong trường hợp này vì lỗi cuối cùng liên quan đến đích phụ thuộc vào chức năng của hàm (chức năng ... tùy thuộc vào số lượng lớp trong ANN của bạn.) Các dẫn xuất cho phép bạn điều chỉnh các giá trị để cải thiện lỗi chức năng, được tính theo tốc độ học tập (đây là gradient descent).

Trong thuật toán không giám sát, bạn không cần phải thực hiện việc này. Ví dụ: trong k-Means, nơi bạn đang cố gắng giảm thiểu sai số bình phương (MSE), bạn có thể giảm thiểu lỗi trực tiếp tại mỗi bước được gán cho các bài tập; không có độ dốc cần thiết. Trong các mô hình phân cụm khác, chẳng hạn như mixture of Gaussians, thuật toán expectation-maximization (EM) mạnh hơn và chính xác hơn bất kỳ phương pháp dựa trên độ dốc nào.

+2

Vì vậy, tôi đoán một câu hỏi tiếp theo mà tôi có là này .. Chúng ta có thể sử dụng EM để đào tạo một mạng lưới thần kinh được giám sát? Nếu vậy, tại sao chúng ta lại thích BackPropagation hơn EM? – Shatu

6

Điều phổ biến nhất cần làm là đào tạo an autoencoder, trong đó đầu ra mong muốn bằng với đầu vào. Điều này làm cho mạng cố gắng tìm hiểu một biểu diễn tốt nhất "nén" phân phối đầu vào.

Here's a patent mô tả cách tiếp cận khác, nơi nhãn đầu ra được gán ngẫu nhiên và sau đó đôi khi được lật dựa trên tỷ lệ hội tụ. Nó có vẻ kỳ lạ với tôi, nhưng được rồi.

Tôi không quen với các phương pháp khác sử dụng backpropogation cho phân cụm hoặc các tác vụ không giám sát khác. Cách tiếp cận nhóm với ANN dường như sử dụng các thuật toán khác (example 1, example 2).

+1

+1 đề cập đến bộ mã hóa tự động. Hoàn toàn quên mất điều đó. :) –

1

Để sử dụng back-propagation cho học tập không giám sát, chỉ cần thiết lập t, đầu ra mục tiêu, ở mỗi giai đoạn của thuật toán cho lớp mà khoảng cách trung bình đến từng phần tử của lớp trước khi cập nhật ít nhất. Trong ngắn hạn, chúng tôi luôn cố gắng đào tạo ANN để đặt đầu vào của nó vào lớp mà các thành viên của chúng tôi tương tự nhất về đầu vào của chúng tôi. Bởi vì quá trình này nhạy cảm với quy mô đầu vào, đầu tiên cần chuẩn hóa dữ liệu đầu vào trong mỗi chiều bằng cách trừ trung bình và chia cho độ lệch chuẩn cho từng thành phần để tính khoảng cách theo cách không thay đổi tỷ lệ. Ưu điểm của việc sử dụng mạng thần kinh ngược lại thay vì một khoảng cách đơn giản từ định nghĩa trung tâm của các cụm là mạng nơron có thể cho phép các ranh giới phức tạp và không đều hơn giữa các cụm.

2

Điều bạn có thể hỏi là về học tập tính năng không được giám sát và học tập sâu.

Tính năng học tập là phương pháp duy nhất mà tôi có thể nghĩ đến với NN hoặc biến thể gần đây của nó. (Một biến thể được gọi là hỗn hợp của RBM là tương tự với hỗn hợp của gaussians nhưng bạn có thể xây dựng rất nhiều mô hình dựa trên hai). Nhưng về cơ bản hai mô hình tôi quen thuộc là RBM (máy boltzman hạn chế) và Autoencoders.

Autoencoders (kích hoạt tùy chọn thưa thớt có thể được mã hóa trong chức năng tối ưu hóa) chỉ là các mạng nơron đơn giản điều chỉnh trọng số của nó sao cho đầu ra là đầu vào được xây dựng lại. Nhiều lớp ẩn có thể được sử dụng nhưng việc khởi tạo trọng lượng sử dụng một lớp đào tạo khôn ngoan để đạt được điểm khởi đầu tốt hơn. Vì vậy, để trả lời câu hỏi, chức năng đích sẽ tự nhập vào.

Các mạng RBM là các mạng ngẫu nhiên thường được hiểu là mô hình đồ họa có hạn chế về kết nối. Trong thiết lập này không có lớp đầu ra và kết nối giữa đầu vào và lớp tiềm ẩn là hai chiều giống như một mô hình đồ họa không bị hướng dẫn. Những gì nó cố gắng tìm hiểu là một phân phối trên đầu vào (các biến quan sát và không được quan sát). Ở đây cũng câu trả lời của bạn sẽ là đầu vào là mục tiêu.

Hỗn hợp RBM (tương tự với hỗn hợp của gaussians) có thể được sử dụng để phân cụm mềm hoặc KRBM (tương tự K-means) có thể được sử dụng cho cụm cứng. Trong đó có hiệu lực cảm thấy như học nhiều không gian con tuyến tính.

http://deeplearning.net/tutorial/rbm.html

http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial

2

Một phương pháp khác là sử dụng một cái gì đó như lan truyền ngược sinh sản. Trong trường hợp này, bạn đào tạo một mạng nơron cập nhật trọng số và các giá trị đầu vào. Các giá trị đã cho được sử dụng làm giá trị đầu ra vì bạn có thể tính trực tiếp giá trị lỗi. Cách tiếp cận này đã được sử dụng trong giảm kích thước, hoàn thành ma trận (mất giá trị imputation) trong số các ứng dụng khác. Để biết thêm thông tin, hãy xem non-linear principal component analysis (NLPCA)unsupervised backpropagation (UBP) trong đó sử dụng ý tưởng của backpropagation generative. UBP mở rộng NLPCA bằng cách giới thiệu một giai đoạn tiền đào tạo. Việc thực hiện UBP và NLPCA và backpropagation không giám sát có thể được tìm thấy trong bộ công cụ học tập máy bánh quế. Các tài liệu cho UBP và NLPCA có thể được tìm thấy bằng cách sử dụng lệnh nlpca.

1

Truyền ngược tại lõi của nó đơn giản bao gồm việc áp dụng nhiều lần quy tắc chuỗi thông qua tất cả các đường dẫn có thể có trong mạng thần kinh của chúng tôi. Hoạt động sao lưu chỉ hoạt động khi có nhãn đầu ra. Không có nhãn, backpropagation không thể hoạt động tốt.