LDA สัมประสิทธิ์เชิงเส้นคืออะไรใน LDA


17

ในRฉันใช้ldaฟังก์ชั่นจากห้องสมุดMASSเพื่อจัดหมวดหมู่ ตามที่ฉันเข้าใจ LDA แล้วอินพุตxจะได้รับการกำหนดเลเบลyซึ่งเพิ่มp(y|x)ได้สูงสุดใช่ไหม

แต่เมื่อผมเหมาะสมกับรูปแบบซึ่งใน

x=(Lag1,Lag2)
y=Direction,
ฉันไม่เข้าใจเอาท์พุทจากlda,

แก้ไข:เพื่อทำซ้ำผลลัพธ์ด้านล่างให้เรียกใช้ครั้งแรก:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

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

UPDATE

ฉันอ่านหลาย ๆ โพสต์ (เช่นนี้และอันนี้ ) และค้นหาเว็บสำหรับ DA และตอนนี้นี่คือสิ่งที่ฉันคิดเกี่ยวกับ DA หรือ LDA

  1. มันสามารถใช้เพื่อจัดหมวดหมู่และเมื่อนี่คือจุดประสงค์ฉันสามารถใช้วิธี Bayes กล่าวคือคำนวณหลังพี(Y|x)สำหรับแต่ละชั้นYผมแล้วจำแนกxเป็นคลาสที่มีค่าสูงสุด ด้านหลัง ด้วยวิธีการนี้ฉันไม่จำเป็นต้องค้นหาความแตกต่างเลยใช่ไหม?

  2. เมื่อฉันอ่านในโพสต์ DA หรืออย่างน้อยที่สุด LDA นั้นมีจุดประสงค์หลักในการลดขนาดสำหรับคลาสKและD -dim ทำนายพื้นที่ฉันสามารถฉายD -dim xลงในพื้นที่คุณลักษณะใหม่(K-1) -dim Zนั่นคือ

    x=(x1,...,xD)Z=(Z1,...,ZK-1)Zผม=WผมTx
    ,Zสามารถมองเห็นได้เป็นเวกเตอร์ที่แปลงสภาพจากต้นฉบับxและแต่ละWผมคือเวกเตอร์ที่xถูกฉาย

ฉันถูกต้องเกี่ยวกับข้อความข้างต้นหรือไม่ ถ้าใช่ฉันมีคำถามต่อไปนี้:

  1. การเลือกปฏิบัติคืออะไร แต่ละรายการZผมในเวกเตอร์Zเป็นค่าจำแนกหรือไม่? หรือWผม ?

  2. จะจำแนกประเภทโดยใช้วิธีจำแนกได้อย่างไร


1
LDA มี 2 ขั้นตอนที่แตกต่าง: การสกัดและการจำแนก เมื่อทำการแยกตัวแปรแฝงที่เรียกว่า discriminants จะถูกสร้างขึ้นเป็นชุดค่าผสมเชิงเส้นของตัวแปรอินพุต สัมประสิทธิ์ในชุดค่าผสมเชิงเส้นนั้นเรียกว่าค่าสัมประสิทธิ์แบบจำแนก นี่คือสิ่งที่คุณถาม ในขั้นตอนที่ 2 จุดข้อมูลจะถูกกำหนดให้กับคลาสโดย discriminants เหล่านั้นไม่ใช่โดยตัวแปรดั้งเดิม หากต้องการอ่านเพิ่มเติมให้ค้นหาdiscriminant analysisในเว็บไซต์นี้
ttnphns

2
Linear discriminant score คือค่าของ data point โดย discriminant ดังนั้นอย่าสับสนกับ discriminant coefficient ซึ่งเป็นเหมือนสัมประสิทธิ์ถดถอย ดูรายละเอียดคำตอบของฉันที่นี่
ttnphns

@ttnphns ขอบคุณและฉันจะอ่านเพิ่มเติมเกี่ยวกับ DA BTW ฉันคิดว่าการจำแนกอินพุตฉันแค่ต้องคำนวณหลังp ( y | x )สำหรับทุกชั้นแล้วเลือกคลาสที่มีหลังสุดใช่ไหม และฉันไม่เห็นว่าทำไมฉันต้องการL D 1ในการคำนวณหลัง Xพี(Y|x)LD1
อะโวคาโด

คุณสามารถและอาจทำการจำแนกประเภท Bayes-rule ตามตัวแปรดั้งเดิม แต่นี่ไม่ใช่การวิเคราะห์ที่แยกแยะ ส่วนที่สำคัญของ LDA คือการลดขนาดซึ่งช่วยให้คุณสามารถแทนที่ตัวแยกประเภทตัวแปรดั้งเดิมโดยตัวแยกประเภทอนุพันธ์ที่มีขนาดเล็กกว่าซึ่งเป็น discriminants โปรดอ่านโพสต์ที่นี่โดยเฉพาะอย่างยิ่งของพวกเขาพวกเขาอธิบายแนวคิดและคณิตศาสตร์ของ LDA
ttnphns

@ttnphns ฉันอ่านโพสต์ที่คุณเชื่อมโยงไว้ในความคิดเห็นด้านบน, ;-)
avocado

คำตอบ:


5

LDA1-0.6420190×Lag1+-0.5135293×Lag2

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

คะแนน, ความน่าจะเป็นหลัง, การจำแนกประเภท

ตอบคำถามย่อยและความคิดเห็นอื่น ๆ

  • แม้ว่า LDA สามารถใช้สำหรับการลดขนาดได้ แต่นี่ไม่ใช่สิ่งที่เกิดขึ้นในตัวอย่าง ด้วยสองกลุ่มเหตุผลเพียงต้องการคะแนนเดียวต่อการสังเกตคือนี่คือทั้งหมดที่จำเป็น นี่เป็นเพราะความน่าจะเป็นที่จะอยู่ในกลุ่มหนึ่งเป็นส่วนประกอบของความน่าจะเป็นที่จะอยู่ในอีกกลุ่มหนึ่ง (เช่นพวกเขาเพิ่มเป็น 1) คุณสามารถดูนี้ในแผนภูมิ: คะแนนน้อยกว่า -.4 จัดประเภทเป็นในลงของกลุ่มและคะแนนที่สูงกว่าที่คาดว่าจะเป็นขึ้น

  • discriminant functionบางครั้งเวกเตอร์ของคะแนนที่เรียกว่า บางครั้งค่าสัมประสิทธิ์ถูกเรียกว่านี้ ฉันไม่ชัดเจนว่าทั้งถูกต้องหรือไม่ ฉันเชื่อว่า MASS discriminantหมายถึงสัมประสิทธิ์

  • ldaฟังก์ชั่นของแพ็คเกจ MASS จะสร้างสัมประสิทธิ์ในวิธีที่ต่างไปจากซอฟต์แวร์ LDA อื่น ๆ ส่วนใหญ่ วิธีการทางเลือกคำนวณหนึ่งชุดของสัมประสิทธิ์สำหรับแต่ละกลุ่มและแต่ละชุดของค่าสัมประสิทธิ์มีการสกัดกั้น ด้วยฟังก์ชัน discriminant (คะแนน) ที่คำนวณโดยใช้สัมประสิทธิ์เหล่านี้การจำแนกประเภทจะขึ้นอยู่กับคะแนนสูงสุดและไม่จำเป็นต้องคำนวณความน่าจะเป็นหลังเพื่อทำนายการจำแนกประเภท ฉันได้ใส่รหัส LDA ลงใน GitHub ซึ่งเป็นการดัดแปลงMASSฟังก์ชั่น แต่สร้างสัมประสิทธิ์ที่สะดวกกว่านี้ (เรียกว่าแพ็คเกจDisplayr/flipMultivariatesและถ้าคุณสร้างวัตถุโดยใช้LDAคุณสามารถแยกค่าสัมประสิทธิ์ที่ใช้obj$original$discriminant.functions)

  • ผมได้โพสต์ R สำหรับทุกรหัสแนวคิดในโพสต์นี้ที่นี่

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

library(MASS) getAnywhere("predict.lda")


I'm not clear on whether either [word use] is correct"discriminant function" aka "discriminant" เป็นตัวแปรที่แยกออกมา - ตัวแปรซึ่งเป็นมิติ ดังนั้นจึงเป็นลักษณะทั้งค่าสัมประสิทธิ์ (น้ำหนัก) เพื่อประเมินจากตัวแปรอินพุตและคะแนนค่า เหมือนกับพีซีใน PCA ดังนั้น "สัมประสิทธิ์การจำแนก" และ "คะแนนการจำแนก" จึงเป็นการใช้งานที่ถูกต้อง
ttnphns

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

@ ถึงเวลาลิงค์ที่คุณโพสต์ไว้สำหรับรหัสนั้นคุณสามารถคัดลอกรหัสไปยังคำตอบของคุณได้ไหม?
baxx

0

ทฤษฎีที่อยู่เบื้องหลังฟังก์ชั่นนี้คือ "วิธีการของชาวประมงในการแยกแยะระหว่างประชากรหลายคน" ฉันแนะนำบทที่ 11.6 ในการวิเคราะห์ทางสถิติหลายตัวแปร (ISBN: 9780134995397) สำหรับการอ้างอิง

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