อะไรคือความแตกต่างระหว่างการถดถอยโลจิสติกและเปอร์เซ็นตรอน


30

ฉันกำลังอ่านบันทึกการบรรยายของ Andrew Ng เกี่ยวกับ Machine Learning

บันทึกแนะนำให้รู้จักกับการถดถอยโลจิสติกและจากนั้นเพื่อ perceptron ในขณะที่อธิบาย Perceptron บันทึกย่อบอกว่าเราเพิ่งเปลี่ยนนิยามของฟังก์ชันขีด จำกัด ที่ใช้สำหรับการถดถอยโลจิสติก หลังจากนั้นเราสามารถใช้แบบจำลอง Perceptron สำหรับการจำแนกประเภท

ดังนั้นคำถามของฉันคือ - ถ้าจำเป็นต้องระบุและเราถือว่า Perceptron เป็นเทคนิคการจำแนกประเภทแล้วการถดถอยโลจิสติกคืออะไร? ใช้เพื่อให้ได้ความน่าจะเป็นของจุดข้อมูลที่เป็นหนึ่งในคลาสหรือไม่


เป็นคำถามที่ดีฉันพบว่ามันสำคัญมากที่คุณจะเริ่มอธิบายเกี่ยวกับ NN โดยเฉพาะอย่างยิ่งเพราะ NN อาจมีความซับซ้อนในการทำความเข้าใจ พิจารณาคำตอบของฉัน
prosti

คำตอบ:


22

ในระยะสั้นการถดถอยโลจิสติกมีความหมายที่น่าจะเป็นไปได้ซึ่งนอกเหนือไปจากการใช้ตัวจําแนกใน ML ฉันมีบางอย่างเกี่ยวกับบันทึกการถดถอยโลจิสติกที่นี่

สมมติฐานในการถดถอยโลจิสติกให้การวัดความไม่แน่นอนในการเกิดขึ้นของผลไบนารีที่อยู่บนพื้นฐานของแบบจำลองเชิงเส้น เอาต์พุตมีขอบเขตแบบไม่แสดงสัญญาณระหว่าง0ถึง1และขึ้นอยู่กับโมเดลเชิงเส้นเช่นเมื่อเส้นการถดถอยพื้นฐานมีค่า0สมการโลจิสติกคือ0.5=e01+e0เป็นจุดตัดตามธรรมชาติสำหรับการจำแนกประเภท อย่างไรก็ตามมันมีค่าใช้จ่ายในการทิ้งข้อมูลความน่าจะเป็นในผลลัพธ์ที่แท้จริงของh(ΘTx)=eΘTx1+eΘTxซึ่งมักเป็นที่น่าสนใจ (เช่นความน่าจะเป็นของการผิดนัดชำระเงินตามรายได้คะแนนเครดิตอายุ ฯลฯ )

อัลกอริทึมตรอนจำแนกเป็นขั้นตอนขั้นพื้นฐานมากขึ้นบนพื้นฐานของผลคูณจุดระหว่างตัวอย่างและน้ำหนัก เมื่อใดก็ตามที่ตัวอย่างถูกจำแนกสัญญาณของผลิตภัณฑ์ dot จะขัดแย้งกับค่าการจำแนกประเภท ( 1และ1 ) ในชุดฝึกอบรม หากต้องการแก้ไขสิ่งนี้เวกเตอร์ตัวอย่างจะถูกเพิ่มหรือลบซ้ำ ๆ จากเวกเตอร์ของน้ำหนักหรือสัมประสิทธิ์การอัปเดตองค์ประกอบของมัน:

Vectorially ที่คุณสมบัติหรือคุณลักษณะของตัวอย่างมีxและความคิดที่จะ "ผ่าน" ตัวอย่างเช่นถ้า:dx

หรือ ...1dθixi>theshold

) ฟังก์ชั่นสัญญาณผลใน 1หรือ - 1ซึ่งตรงข้ามกับ 0และ 1ในการถดถอยโลจิสติกh(x)=sign(1dθixitheshold)1101

เกณฑ์จะถูกดูดซึมเข้าสู่อคติค่าสัมประสิทธิ์ 0 สูตรคือตอนนี้:+θ0

หรือ vectorized: H ( x ) = สัญญาณ( θ T x )h(x)=sign(0dθixi)h(x)=sign(θTx)

จุดแบ่งจะต้องหมายความว่าผลิตภัณฑ์ที่จุดของΘและx nจะเป็นบวก (เวกเตอร์ในทิศทางเดียวกัน) เมื่อปีnเป็นลบหรือผลิตภัณฑ์จุดจะเป็นค่าลบ (เวกเตอร์ ในทิศทางตรงข้าม) ในขณะที่ปีnเป็นบวกsign(θTx)ynΘxnynyn


ฉันได้ทำงานกับความแตกต่างระหว่างสองวิธีนี้ในชุดข้อมูลจากหลักสูตรเดียวกันซึ่งผลการทดสอบในการสอบแยกสองชุดนั้นเกี่ยวข้องกับการยอมรับขั้นสุดท้ายไปยังวิทยาลัย:

ขอบเขตการตัดสินใจสามารถพบได้อย่างง่ายดายด้วยการถดถอยโลจิสติก แต่เป็นที่น่าสนใจที่จะเห็นว่าแม้ว่าค่าสัมประสิทธิ์ที่ได้รับกับตรอนเป็นอย่างมากมายแตกต่างกว่าในการถดถอยโลจิสติก, แอพลิเคชันที่เรียบง่ายของฟังก์ชั่นกับผลให้ผลเช่นเดียวกับที่ดีการจำแนกประเภท ขั้นตอนวิธี ในความเป็นจริงแล้วความแม่นยำสูงสุด (ขีด จำกัด ที่กำหนดโดยการแยกเชิงเส้นของตัวอย่างบางส่วน) ทำได้โดยการทำซ้ำครั้งที่สอง นี่คือลำดับของเส้นแบ่งเขตแดนเป็น10รอบโดยประมาณน้ำหนักเริ่มต้นจากเวกเตอร์สุ่มของสัมประสิทธิ์:sign()10

ความแม่นยำในการจัดหมวดหมู่เป็นฟังก์ชันของจำนวนการวนซ้ำที่เพิ่มขึ้นอย่างรวดเร็วและเพลทที่สอดคล้องกันถึงขอบเขตการตัดสินใจที่ใกล้ที่สุดที่เหมาะสมที่สุดใน videoclip ด้านบน นี่คือพล็อตของเส้นโค้งการเรียนรู้:90%

enter image description here


รหัสที่ใช้คือ ที่นี่


5

มีความสับสนเกิดขึ้นที่นี่ ในขั้นต้น perceptron หมายถึงเครือข่ายประสาทที่มีฟังก์ชั่นขั้นตอนเป็นฟังก์ชันถ่ายโอน ในกรณีนั้นแน่นอนว่าข้อแตกต่างคือการถดถอยโลจิสติกใช้ฟังก์ชันลอจิสติกและ Perceptron ใช้ฟังก์ชันขั้นตอน โดยทั่วไปอัลกอริทึมทั้งสองควรให้ขอบเขตการตัดสินใจเดียวกัน (อย่างน้อยสำหรับเซลล์ประสาทเดี่ยว) อย่างไรก็ตาม:

  1. เวกเตอร์พารามิเตอร์สำหรับ perceptron อาจถูกปรับขนาดโดยพลการเปรียบเทียบกับค่าที่ได้จากการถดถอยโลจิสติก การปรับขนาดของพารามิเตอร์เวกเตอร์จะกำหนดขอบเขตเดียวกัน แต่ความน่าจะเป็นที่คำนวณโดยการถดถอยโลจิสติกขึ้นอยู่กับการปรับสเกลที่แน่นอน
  2. แน่นอนว่าผลลัพธ์จากฟังก์ชันขั้นตอนไม่สามารถตีความได้ว่าเป็นความน่าจะเป็นใด ๆ
  3. เนื่องจากฟังก์ชั่นขั้นตอนไม่แตกต่างกันจึงไม่สามารถฝึก perceptron โดยใช้อัลกอริทึมแบบเดียวกันที่ใช้สำหรับการถดถอยโลจิสติก

ในบางกรณีคำว่า perceptron ยังใช้เพื่ออ้างถึงเครือข่ายประสาทซึ่งใช้ฟังก์ชัน logistic เป็นฟังก์ชันถ่ายโอน (อย่างไรก็ตามสิ่งนี้ไม่สอดคล้องกับคำศัพท์ดั้งเดิม) ในกรณีนั้นการถดถอยโลจิสติกและ "perceptron" จะเหมือนกันทุกประการ แน่นอนด้วย perceptron มันเป็นไปได้ที่จะใช้หลายเซลล์ประสาททั้งหมดโดยใช้ฟังก์ชั่นการถ่ายโอนโลจิสติกซึ่งกลายเป็นความสัมพันธ์ที่ค่อนข้างจะซ้อนของการถดถอยโลจิสติก (ไม่เหมือนกัน แต่คล้ายกัน)


2

คุณสามารถใช้การถดถอยโลจิสติกเพื่อสร้าง perceptron การถดถอยแบบลอจิสติกใช้ฟังก์ชันลอจิสติกเพื่อสร้างเอาต์พุตจากอินพุตที่กำหนด ฟังก์ชันลอจิสติกสร้างเอาต์พุตที่ราบรื่นระหว่าง 0 ถึง 1 ดังนั้นคุณต้องการอีกหนึ่งสิ่งที่จะทำให้มันเป็นลักษณนามซึ่งเป็นเกณฑ์ Perceptrons สามารถสร้างขึ้นด้วยรูปแบบการทำงานอื่น ๆ แน่นอนไม่ใช่แค่โลจิสติกของหลักสูตรไม่ได้เป็นเพียงโลจิสติก

การถดถอยแบบลอจิสติกสร้างแบบจำลองที่มีลักษณะดังนี้: ส่วนการถดถอยคือวิธีการประมาณค่าสัมประสิทธิ์b1,b2,b3, ส่วนโลจิสติกส์เป็นฟังก์ชันของex

y(x1,x2|b)=eb0+b1x1+b2x21+eb0+b1x1+b2x2
b1,b2,b3ex1+ex

เมื่อคุณคำนวณกำหนดให้อินพุทxและพารามิเตอร์bคุณต้องตัดสินใจว่านี่คือ 0 หรือ 1 เพราะเอาต์พุตyเป็นจำนวนใด ๆ ระหว่าง 0 ถึง 1 ดังนั้นคุณต้องใช้ threshold Yเช่นคุณ˜ Y = 0สำหรับY ( x |) < Yและ~ Y = 1สำหรับY ( x |) Yy(x|b)xbyYy~=0y(x|b)<Yy~=1y(x|b)Y


1

ทั้งคู่ใช้การถดถอยโดยการประมาณพารามิเตอร์ของโมเดลโลจิสติก - แปลงเดียวกัน ตามคุณสมบัติของฟังก์ชั่นนูนค่าของพารามิเตอร์จะเหมือนกันทุกประการที่คุณเลือกประเมิน หากต้องการอ้างตนเองจากคำตอบก่อนหน้า:

แบบจำลองการถดถอยโลจิสติกเป็นฟังก์ชันของค่าเฉลี่ยของการแจกแจงเบอร์นูลลีเป็นสมการเชิงเส้น โดยใช้การเชื่อมโยง logit เป็นฟังก์ชั่นของค่าเฉลี่ย (p) ลอการิทึมของอัตราต่อรอง (log-odds) สามารถวิเคราะห์และนำมาใช้เป็นการตอบสนองของโมเดลเชิงเส้นทั่วไปที่เรียกว่า ด้านบนของการทำนายนี้ช่วยให้คุณสามารถตีความรูปแบบในการอนุมานสาเหตุ นี่คือสิ่งที่คุณไม่สามารถทำได้ด้วย Perceptron เชิงเส้น

Perceptron ใช้ฟังก์ชั่นผกผันของ logx ของ wx และไม่ใช้สมมติฐานความน่าจะเป็นสำหรับตัวแบบและพารามิเตอร์ การฝึกอบรมออนไลน์จะให้ค่าประมาณเดียวกันสำหรับน้ำหนัก / พารามิเตอร์ของแบบจำลอง แต่คุณจะไม่สามารถตีความได้ในการอนุมานสาเหตุเนื่องจากการขาดค่า p ช่วงเวลาความเชื่อมั่นและแบบจำลองความน่าจะเป็นพื้นฐาน


1

x1,,xNRny1,,yN{1,1}1xi

(1)minimize1Ni=1Nmax(yiβTxi,0).
βRn+1

1Nii(β)

i(β)=max(yiβTxi,0).
iβ
g={0if yiβTxi0(so yi and βTxi have the same sign)yixiotherwise.
t>0)i
ββtg={βif yi and βTxi have the same signβ+tyixiotherwise.
t


0

Andrew Ng ใช้คำว่า "logistic regression" เป็นแบบจำลองสำหรับการแก้ปัญหาการจำแนกเลขฐานสอง

อย่างที่คุณเห็นในกระดาษเขาจริง ๆ ไม่เคยวาดรูปแบบเอง

ให้ฉันเพิ่มรายละเอียดบางอย่างลงในที่เก็บข้อมูลเพื่อที่คุณจะพบเหตุผลว่าฉันคิดว่าเขาสร้างการบรรยายได้อย่างไร

รูปแบบที่ใช้สำหรับ "การถดถอยโลจิสติก" คือการรับรู้ในระดับเดียวกับจำนวนอินพุตที่กำหนดเองและหนึ่งเอาต์พุตตั้งแต่ 0 ถึง 1

ย้อนกลับไปใน 90's ฟังก์ชั่นการเปิดใช้งานที่นิยมมากที่สุดคือฟังก์ชั่นการเปิดใช้งาน sigmoidal และมีทฤษฎีทางคณิตศาสตร์ที่ดีในการสำรองข้อมูล

นี่เป็นรูปแบบที่ Andrew Ng ใช้อยู่เนื่องจากฟังก์ชันนั้นมีตั้งแต่ 0 ถึง 1

นอกจากนี้อนุพันธ์s'(x) = s(x)(1−s(x))ซึ่งs(x)เป็นฟังก์ชั่นการเปิดใช้งาน sigmoidal

สำหรับฟังก์ชั่นข้อผิดพลาดเขาใช้ L2 แม้ว่าในบางเอกสารเขาอาจใช้ฟังก์ชันอื่นสำหรับสิ่งนั้น

เพื่อสรุปเมื่อพิจารณา "การถดถอยโลจิสติก" เพียงแค่พิจารณาการรับรู้ระดับเดียวกับฟังก์ชั่นการเปิดใช้งาน sigmoidal จำนวนอินพุตที่กำหนดเองและเอาต์พุตเดียว


เพียงแค่ไม่กี่บันทึก: ไม่มีอะไรผิดปกติกับฟังก์ชั่นการเปิดใช้งาน sigmoidal แม้ว่าสำหรับเลขคณิตจุดลอยตัว ReLU ครองเลเยอร์ที่ซ่อนอยู่ในปัจจุบัน แต่ในอนาคตอันใกล้ posits (หรือหน่วยทางคณิตศาสตร์อื่น ๆ ) อาจทำให้ฟังก์ชั่นการเปิดใช้งาน sigmoidal .

ส่วนตัวฉันจะใช้แบบจำลองที่เรียบง่ายกว่าด้วยฟังก์ชั่น ReLU เพื่ออธิบาย SLP (single level perceptron) เนื่องจากมันใช้งานได้มากกว่าในปัจจุบัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.