Từ quy tắc Perceptron đến Gradient Descent: Perceptionron có chức năng kích hoạt sigmoid khác với hồi quy logistic như thế nào?


21

Về cơ bản, câu hỏi của tôi là trong Perceptionron đa lớp, perceptron được sử dụng với chức năng kích hoạt sigmoid. Vì vậy, trong quy tắc cập nhật được tính nhưy^

y^=11+exp(wTxi)

Perceptron "sigmoid" này khác với hồi quy logistic như thế nào?

Tôi có thể nói rằng một tri giác sigmoid một lớp tương đương với hồi quy logistic theo nghĩa là cả hai đều sử dụng trong quy tắc cập nhật. Ngoài ra, cả return trong dự đoán. Tuy nhiên, trong các tri giác đa lớp, chức năng kích hoạt sigmoid được sử dụng để trả về xác suất, không phải là tín hiệu tắt trái ngược với hồi quy logistic và perceptionron một lớp. dấu( y =1y^=11+exp(wTxi)sign(y^=11+exp(wTxi))

Tôi nghĩ rằng việc sử dụng thuật ngữ "Perceptron" có thể hơi mơ hồ, vì vậy hãy để tôi cung cấp một số nền tảng dựa trên sự hiểu biết hiện tại của tôi về các tri giác một lớp:

Quy tắc tri giác cổ điển

Đầu tiên, perceptionron cổ điển của F. Rosenblatt nơi chúng ta có chức năng bước:

Δwd= =η(ytôi-ytôi^)xtôidytôi,ytôi^{-1,1}

để cập nhật các trọng số

wk: =wk+Δwk(k{1,...,d})

Vì vậy, được tính lày^

y^= =ký tên(wTxtôi)= =ký tên(w0+w1xtôi1+...+wdxtôid)


Xuống dốc

Sử dụng độ dốc gốc, chúng tôi tối ưu hóa (tối thiểu hóa) hàm chi phí

J(w)= =Σtôi12(ytôi-ytôi^)2ytôi,ytôi^R

trong đó chúng ta có các số "thực", vì vậy tôi thấy điều này về cơ bản tương tự như hồi quy tuyến tính với sự khác biệt là đầu ra phân loại của chúng ta bị ngưỡng.

Ở đây, chúng tôi thực hiện một bước theo hướng tiêu cực của gradient khi chúng tôi cập nhật các trọng số

Δwk= =-ηJwk= =-ηΣtôi(ytôi-ytôi^)(-xtôik)= =ηΣtôi(ytôi-ytôi^)xtôik

Nhưng ở đây, chúng ta có thay vì y =dấu(wTxi)y^= =wTxtôiy^= =ký tên(wTxtôi)

wk:=wk+Δwk(k{1,...,d})

Ngoài ra, chúng tôi tính toán tổng các lỗi bình phương cho một lần vượt qua toàn bộ tập dữ liệu huấn luyện (trong chế độ học tập theo đợt) trái ngược với quy tắc perceptron cổ điển cập nhật các trọng số khi các mẫu đào tạo mới xuất hiện (tương tự với độ dốc dốc ngẫu nhiên - trực tuyến học tập).


Chức năng kích hoạt Sigmoid

Bây giờ, đây là câu hỏi của tôi:

Trong Perceptionron đa lớp, perceptron được sử dụng với chức năng kích hoạt sigmoid. Vì vậy, trong quy tắc cập nhật được tính nhưy^

y^=11+exp(wTxi)

Perceptron "sigmoid" này khác với hồi quy logistic như thế nào?


4
Thật tuyệt vời, câu hỏi này tự nó cho phép tôi ngưng tụ việc học máy và những điều cơ bản về mạng lưới thần kinh!
varun

Câu trả lời:


4

Sử dụng độ dốc gốc, chúng tôi tối ưu hóa (tối thiểu hóa) hàm chi phí

J(w)= =Σtôi12(ytôi-ytôi^)2ytôi,ytôi^R

Nếu bạn giảm thiểu lỗi bình phương trung bình, thì nó khác với hồi quy logistic. Hồi quy logistic thường liên quan đến mất entropy chéo, đây là trang giới thiệu từ thư viện scikit-learn .


(Tôi sẽ cho rằng các tri giác đa lớp là cùng một thứ gọi là mạng thần kinh.)

Nếu bạn đã sử dụng mất entropy chéo (với chính quy) cho mạng nơ ron một lớp, thì đó sẽ là cùng một mô hình (mô hình tuyến tính log) như hồi quy logistic. Nếu bạn sử dụng mạng nhiều lớp thay vào đó, nó có thể được coi là hồi quy logistic với các hàm cơ sở phi tuyến tham số.


Tuy nhiên, trong các tri giác đa lớp, chức năng kích hoạt sigmoid được sử dụng để trả về xác suất, không phải là tín hiệu tắt trái ngược với hồi quy logistic và perceptionron một lớp.

Đầu ra của cả hồi quy logistic và mạng nơ ron có chức năng kích hoạt sigmoid có thể được hiểu là xác suất. Vì tổn thất entropy chéo thực sự là khả năng log âm được xác định thông qua phân phối Bernoulli.


2

Bởi vì độ dốc gốc cập nhật từng tham số theo cách làm giảm lỗi đầu ra phải tiếp tục là chức năng của tất cả các tham số. Kích hoạt dựa trên ngưỡng không khác biệt, đó là lý do tại sao kích hoạt sigmoid hoặc tanh được sử dụng.

Đây là một NN một lớp

dJ(w,b)dωkj= =dJ(w,b)dzkdzkdωkj

dJ(w,b)dzk= =(mộtk-yk)(mộtk(1-mộtk))

dzkdωkj= =xk

J(w,b)= =12(yk-mộtk)2

mộtk= =Stôigm(zk)= =Stôigm(Wkj*xk+bk)

nếu hàm kích hoạt là hàm bước cơ bản (ngưỡng), đạo hàm của wrt sẽ không khác biệt.Jzk

đây là một liên kết giải thích nó nói chung.

Chỉnh sửa: Có thể, tôi đã hiểu nhầm ý của bạn về perceptron. Nếu tôi không nhầm, perceptron sẽ được cân nhắc tổng số đầu vào. Nếu bạn thay đổi sự thay đổi với chức năng logistic, nó sẽ chuyển thành hồi quy logistic. NN nhiều lớp với các chức năng kích hoạt sigmoid (logistic) là các lớp xếp tầng gồm các hồi quy logistic.


3
Điều này không trả lời câu hỏi.
Neil G

Cảm ơn vì đã viết bình luận tốt đẹp này, nhưng đây không phải là điều tôi đang yêu cầu. Câu hỏi của tôi là không "tại sao gradient descent" nhưng "những gì làm cho một perceptron với một khác nhau chức năng kích hoạt sigmoid từ hồi quy logistic"

y= =WTX

1
y= =wjTxjtôi

η(y-Stôign(wTxtôi))xη(y-wTxtôi)xtôi

2

Theo trực giác, tôi nghĩ về một tri giác đa lớp khi tính toán một phép biến đổi phi tuyến trên các tính năng đầu vào của tôi, và sau đó đưa các biến được chuyển đổi này thành một hồi quy logistic.

βtôiXtôiβtôiXΣjβjX

Tôi không biết về bạn, nhưng trong các khóa học và nghiên cứu về mô hình hóa của tôi, tôi đã thử tất cả các loại biến đổi hợp lý và ngu ngốc của các tính năng đầu vào để cải thiện tầm quan trọng của chúng và dự đoán mô hình tổng thể. Bình phương mọi thứ, lấy nhật ký, kết hợp hai thành một tỷ lệ, v.v. Tôi không có gì xấu hổ, nhưng tôi có sự kiên nhẫn hạn chế.

Xβtôi

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.