อัลกอริทึมการเรียนรู้ของเครื่องทั้งหมดแยกข้อมูลเป็นเส้นตรงหรือไม่?


22

ฉันเป็นคนที่กระตือรือร้นในการเขียนโปรแกรมและการเรียนรู้ของเครื่อง เพียงไม่กี่เดือนหลังฉันเริ่มเรียนรู้เกี่ยวกับการเขียนโปรแกรมการเรียนรู้ของเครื่อง เช่นเดียวกับหลาย ๆ คนที่ไม่มีพื้นฐานด้านวิทยาศาสตร์เชิงปริมาณฉันก็เริ่มเรียนรู้เกี่ยวกับ ML ด้วยการแก้ไขอัลกอริธึมและชุดข้อมูลในแพ็คเกจ ML ที่ใช้กันอย่างแพร่หลาย (caret R)

ไม่นานมานี้ฉันอ่านบล็อกที่ผู้เขียนพูดถึงเกี่ยวกับการใช้การถดถอยเชิงเส้นใน ML ถ้าฉันจำได้ถูกต้องเขาพูดถึงว่าการเรียนรู้ของเครื่องจักรทั้งหมดในตอนท้ายใช้ "การถดถอยเชิงเส้น" บางชนิด (ไม่แน่ใจว่าเขาใช้คำที่แน่นอนนี้) แม้สำหรับปัญหาเชิงเส้นหรือไม่ใช่เชิงเส้น ครั้งนั้นฉันไม่เข้าใจว่าเขาหมายถึงอะไร

ความเข้าใจในการใช้การเรียนรู้ของเครื่องสำหรับข้อมูลที่ไม่ใช่เชิงเส้นคือการใช้อัลกอริทึมที่ไม่ใช่เชิงเส้นเพื่อแยกข้อมูล

นี่คือความคิดของฉัน

สมมุติว่าจัดประเภทข้อมูลเชิงเส้นเราใช้สมการเชิงเส้นและสำหรับข้อมูลที่ไม่ใช่เชิงเส้นเราใช้สมการที่ไม่ใช่เชิงเส้นพูดy = s i n ( x )Y=ม.x+Y=sผมn(x)

ป้อนคำอธิบายรูปภาพที่นี่

ภาพนี้นำมาจาก sikit Learn website ของ support vector machine ใน SVM เราใช้เมล็ดที่แตกต่างกันเพื่อวัตถุประสงค์ ML ดังนั้นความคิดเริ่มต้นของฉันคือเคอร์เนลเชิงเส้นแยกข้อมูลโดยใช้ฟังก์ชันเชิงเส้นและเคอร์เนล RBF ใช้ฟังก์ชันที่ไม่ใช่เชิงเส้นเพื่อแยกข้อมูล

แต่แล้วฉันก็เห็นบล็อกนี้ที่ผู้เขียนพูดถึงเครือข่ายประสาท

ในการจำแนกปัญหาที่ไม่เป็นเชิงเส้นในแผนผังย่อยด้านซ้ายโครงข่ายประสาทเทียมจะแปลงข้อมูลในลักษณะที่ในท้ายที่สุดเราสามารถใช้การแยกเชิงเส้นอย่างง่ายกับข้อมูลที่ถูกแปลงในพล็อตย่อยที่ถูกต้อง

ป้อนคำอธิบายรูปภาพที่นี่

คำถามของฉันคือว่าอัลกอริทึมการเรียนรู้ของเครื่องทั้งหมดในตอนท้ายใช้การแยกเชิงเส้นเพื่อแยกประเภทหรือไม่ (ชุดข้อมูลเชิงเส้น / ไม่ใช่เชิงเส้น)



3
บาป(x)s=บาป(x)Y=θ0+θ1s

ผมชอบคำตอบ MBq ในหัวข้อนี้ได้เป็นอย่างดีช่วยให้ฉันเข้าใจการสนับสนุนเครื่องเวกเตอร์
Andy W

คำตอบ:


26

คำตอบคือไม่ user20160 มีคำตอบที่สมบูรณ์แบบฉันจะเพิ่ม 3 ตัวอย่างด้วยการสร้างภาพเพื่อแสดงความคิด หมายเหตุแผนการเหล่านี้อาจไม่เป็นประโยชน์สำหรับคุณในการดูว่า "การตัดสินใจขั้นสุดท้าย" อยู่ในรูปแบบเชิงเส้น แต่ให้ความรู้สึกเกี่ยวกับต้นไม้การส่งเสริมและ KNN

เราจะเริ่มจากต้นไม้ตัดสินใจ ด้วยการแบ่งเป็นจำนวนมากจึงเป็นขอบเขตการตัดสินใจที่ไม่ใช่เชิงเส้น และเราไม่สามารถคิดได้ว่าการแยกก่อนหน้านี้ทั้งหมดคือ "การเปลี่ยนแปลงคุณสมบัติ" และมีบรรทัดการตัดสินใจขั้นสุดท้ายในตอนท้าย

อีกตัวอย่างหนึ่งคือรูปแบบการส่งเสริมซึ่งรวม "ตัวแยกประเภทอ่อนแอ" จำนวนมากและขอบเขตการตัดสินใจขั้นสุดท้ายไม่เชิงเส้น คุณสามารถคิดได้ว่ามันเป็นรหัส / อัลกอริทึมที่ซับซ้อนในการทำนายขั้นสุดท้าย

ในที่สุดคิดเกี่ยวกับ K เพื่อนบ้านที่ใกล้ที่สุด (KNN) มันไม่ใช่ฟังก์ชั่นการตัดสินใจเชิงเส้นที่เลเยอร์ท้าย นอกจากนี้ไม่มี "การแปลงคุณสมบัติ" ใน KNN

การสร้างภาพสามมิติในพื้นที่ 2 มิติคือ Tree, Boosting และ KNN จากบนลงล่าง ความจริงภาคพื้นดินคือ 2 เกลียวหมายถึงสองชั้นและแผนการย่อยทางซ้ายคือการทำนายจากตัวแบบและแผนการย่อยที่เหมาะสมคือขอบเขตการตัดสินใจจากตัวแบบ

ต้นไม้ตัดสินใจขอบเขต

ส่งเสริมขอบเขตการตัดสินใจ

ขอบเขตการตัดสินใจของ KNN


แก้ไข: @ คำตอบของ ssdecontrol ในโพสต์นี้ให้มุมมองอื่น

มันขึ้นอยู่กับวิธีการที่เรากำหนด "การเปลี่ยนแปลง"

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


ฉันไม่ต้องการที่จะวิจารณ์ แต่การส่งเสริมดูเหมือนหยาบเล็กน้อยใช่ไหม? เป็นไปไม่ได้ที่จะได้ผลลัพธ์ที่ราบรื่นกว่าด้วยพารามิเตอร์ต่างกันหรือไม่? ขออภัยที่ต้องใช้ความระมัดระวังเพราะฉันพบว่าคำอธิบายทั้งหมดดีมาก
YCR

@YCR ฉันคิดว่านั่นเป็นจุดที่จะส่งเสริมให้คุณมีขอบเขตการตัดสินใจคร่าวๆ ความหยาบเกิดจากการรวมลักษณนามอ่อนแอจำนวนมาก (ในตัวอย่างนี้พวกเขาเป็นต้นไม้) แต่ฉันเห็นด้วยกับคุณว่าตัวอย่างที่สองไม่ใช่แบบอย่างที่ดีและมันเกินจริง :)
Haitao Du

1
(+1) การสร้างภาพที่ยอดเยี่ยม (ฉันใช้spiralsการทดลองหลายอย่างด้วยกัน) ข้อเสนอแนะ: พล็อตขอบเขตการตัดสินใจเป็นimageและอาจเพิ่มระดับ probabiliity (ถ้าคุณกำลังใช้ความน่าจะเป็นเอาท์พุท) contourด้วย
Firebug

@Firebug คำแนะนำที่ดี! พล็อตเหล่านี้สร้างขึ้นในกริดและสามารถบอกได้เพียงฉลากสุดท้ายเท่านั้น รูปร่างดีขึ้นมาก
Haitao Du

ดูคำตอบของฉันที่นี่: stats.stackexchange.com/a/218578/60613
Firebug

21

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

อย่างไรก็ตามอัลกอริธึมอื่นมีขอบเขตการตัดสินใจแบบไม่เชิงเส้นและไม่ได้กำหนดในแง่ของไฮเปอร์เพลน ตัวอย่างที่เด่นชัดคือการจำแนกเพื่อนบ้าน k ที่ใกล้ที่สุด ตัวแยกประเภท Ensemble (เช่นการผลิตโดยการเพิ่มหรือบรรจุตัวแยกประเภทอื่น ๆ ) โดยทั่วไปจะไม่เชิงเส้น


Neural Network ไม่ใช่ตัวอย่างที่ดีของคลาสโมเดลที่ใช้ไฮเปอร์เพลนหลังจากการแปลงแบบไม่เชิงเส้น เลเยอร์เอาต์พุตอาจเป็นการเปิดใช้งาน sigmoid (ในหลาย ๆ กรณี) เนื่องจากคุณถือว่าเลเยอร์ก่อนหน้าเป็นการแปลงแบบไม่เป็นเชิงเส้นไปยังพื้นที่คุณลักษณะ
Cagdas Ozgenc

1
@CagdasOzgenc ลองพิจารณากรณีของการจำแนกไบนารีและเครือข่าย w / sigmoidal เอาต์พุตตามที่คุณแนะนำ นี่เทียบเท่ากับการถดถอยโลจิสติกในการเปิดใช้งานของเลเยอร์ก่อนหน้า (การใช้เอาต์พุต softmax จะเทียบเท่ากับการถดถอยโลจิสติกหลายส่วน) ดังนั้นขอบเขตการตัดสินใจคือไฮเปอร์เพลนในพื้นที่ของฟีเจอร์ รูปภาพในคำถามเดิมแสดงตัวอย่างที่ดีของสิ่งนี้
user20160

ฉันเข้าใจว่าเมื่อ f (Axe) = 0 และ f เป็นแบบหนึ่งต่อหนึ่งคุณสามารถทำ f ^ -1 ของ (Axe) = f ^ -1 (0) => Axe = 0 (หรือบางค่าคงที่ c) ดังนั้นในกรณีของ sigmoid คุณจะได้รับขอบเขตการตัดสินใจเชิงเส้น โดยพื้นฐานแล้วเรากำลังพูดถึงกรณีเมื่อ f ไม่สามารถย้อนกลับได้?
Cagdas Ozgenc

ฟังก์ชั่นการกระตุ้นของเซลล์ประสาทเอาท์พุตเอาท์พุตและ x ผลผลิตของเลเยอร์ก่อนหน้าหรือไม่? ไม่แน่ใจว่าฉันเข้าใจสิ่งที่คุณถาม
user20160

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