คำถามติดแท็ก svm

Support Vector Machine หมายถึง "ชุดวิธีการเรียนรู้แบบมีผู้สอนที่เกี่ยวข้องซึ่งวิเคราะห์ข้อมูลและจดจำรูปแบบที่ใช้สำหรับการจำแนกประเภทและการวิเคราะห์การถดถอย"

1
ชุดฝึกกระจัดกระจายส่งผลเสียต่อ SVM หรือไม่?
ฉันพยายามแบ่งข้อความเป็นหมวดหมู่ต่างๆโดยใช้ SVM ฉันได้รวบรวมรายการคำ / สัญลักษณ์ที่ต้องการจากชุดฝึกอบรม สำหรับเวกเตอร์แต่ละอันซึ่งแทนข้อความฉันจะตั้งค่าแถวที่เกี่ยวข้องเป็น1หากคำนั้นมีอยู่: "corpus" คือ: [mary, little, lamb, star, twinkle] ข้อความแรก: "mary มีลูกแกะน้อย" -> [1 1 1 0 0 0] ข้อความที่สอง: "twinkle little star" -> [0 1 0 1 1] ฉันคิดว่านี่เป็นการตั้งค่าทั่วไปของ SVM แต่คำถามของฉันคือมีหลายพันคำในชุดจะเกิดอะไรขึ้นถ้ามีเพียง 1-2 คำต่อข้อความที่ปรากฏขึ้นจริง การพึ่งพาเชิงเส้นของเซตเวกเตอร์การฝึกของฉันจะส่งผลเสียต่อความสามารถของอัลกอริธึมที่จะมาบรรจบกันหรือไม่?

2
SVM, การโต้ตอบที่ผันแปรและข้อมูลการฝึกอบรมเหมาะสม
ฉันมีคำถามทั่วไป 2 ข้อขึ้นไป 1) ฉันอยากรู้ว่า SVM จัดการการโต้ตอบของตัวแปรอย่างไรเมื่อสร้างแบบจำลองการทำนาย เช่นถ้าฉันมีคุณสมบัติสองอย่างคือ f1 และ f2 และเป้าหมายนั้นขึ้นอยู่กับ f1, f2 และพูดว่า f1 * f2 (หรือฟังก์ชั่น h (f1, f2)), SVM จะพอดี (ไม่ใช่แค่ OOS แต่ยังอยู่ในข้อมูลการฝึกอบรม) ปรับปรุงเมื่อรวม f1, f2 และ h (f1, f2) ในคุณสมบัติมากกว่าเพียงแค่รวมถึง f1 และ f2? อัลกอริทึม SVM จัดการกับการโต้ตอบกับคุณลักษณะหรือไม่ ดูเหมือนว่าจะเป็นไปตามที่ SVM พยายามสร้างไฮเปอร์เพลนในพื้นที่มิติที่สูงขึ้น แต่ไม่แน่ใจว่าต้องการถามเช่นไร 2) เมื่อทำการติดตั้ง SVM บนข้อมูลการฝึกอบรมให้มีคุณสมบัติเพียงพอและค้นหาพารามิเตอร์ที่เหมาะสม (ผ่านการค้นหาแบบ …

2
SVM ที่มีขนาดกลุ่มไม่เท่ากันในข้อมูลการฝึกอบรม
ฉันกำลังพยายามสร้าง SVM จากข้อมูลการฝึกอบรมซึ่งมีกลุ่มหนึ่งแสดงมากกว่ากลุ่มอื่น อย่างไรก็ตามกลุ่มจะถูกนำเสนออย่างเท่าเทียมกันในข้อมูลการทดสอบในที่สุด ดังนั้นฉันต้องการใช้class.weightsพารามิเตอร์ของe1071ส่วนต่อประสาน R libsvmเพื่อความสมดุลระหว่างอิทธิพลของทั้งสองกลุ่มในข้อมูลการฝึกอบรม เนื่องจากฉันไม่แน่ใจว่าจะระบุน้ำหนักเหล่านี้ได้อย่างไรฉันจึงทำการทดสอบเล็กน้อย: สร้างข้อมูลที่มีค่าว่างบางส่วน (คุณสมบัติแบบสุ่มอัตราส่วน 2: 1 ระหว่างป้ายกำกับกลุ่ม) พอดี svm ด้วยclass.weightsชุดพารามิเตอร์ ทำนายชุดข้อมูลว่างใหม่จำนวนหนึ่งและดูสัดส่วนของคลาส ทำซ้ำกระบวนการทั้งหมดหลายครั้งสำหรับชุดการฝึกอบรมแบบ null ที่แตกต่างกัน นี่คือรหัส R ที่ฉันใช้: nullSVM <- function(n.var, n.obs) { # Simulate null training data vars = matrix(rnorm(n.var*n.obs), nrow=n.obs) labels = rep(c('a', 'a', 'b'), length.out=n.obs) data = data.frame(group=labels, vars) # Fit SVM …

3
การทำความเข้าใจการถดถอย SVM: ฟังก์ชั่นวัตถุประสงค์และ "ความเรียบ"
SVM สำหรับการจัดหมวดหมู่ทำให้เข้าใจได้ง่ายสำหรับฉัน: ฉันเข้าใจว่าการย่อขนาดให้ผลกำไรสูงสุด อย่างไรก็ตามฉันไม่เข้าใจวัตถุประสงค์นั้นในบริบทของการถดถอย ข้อความต่าง ๆ ( ที่นี่และที่นี่ ) อธิบายว่านี่เป็นการเพิ่ม "ความเรียบ" ให้สูงสุด ทำไมเราต้องการทำเช่นนั้น? อะไรคือความถดถอยที่เทียบเท่ากับแนวคิดของ "margin"?| | θ | |2||θ||2||\theta||^2 ต่อไปนี้เป็นคำตอบพยายามสองสามข้อ แต่ไม่มีผู้ใดที่ช่วยฉันเข้าใจ
12 regression  svm 

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

2
อัลกอริทึมการเรียนรู้ของเครื่องสำหรับข้อมูลพาเนล
ในคำถามนี้ - มีวิธีการสร้างต้นไม้การตัดสินใจที่คำนึงถึงตัวทำนายที่มีโครงสร้าง / ลำดับชั้น / หลายระดับหรือไม่? - พวกเขาพูดถึงวิธีการข้อมูลแผงสำหรับต้นไม้ มีวิธีข้อมูลพาเนลเฉพาะสำหรับการสนับสนุน Vector Machines และ Neural Networks หรือไม่? ถ้าเป็นเช่นนั้นคุณสามารถอ้างอิงเอกสารสำหรับอัลกอริทึมและ (ถ้ามี) แพ็คเกจ R ที่ใช้งานได้หรือไม่

1
การค้นหากริด SVM ควรแสดงพื้นที่ที่มีความแม่นยำสูงด้วยความแม่นยำต่ำหรือไม่?
ฉันมีชุดฝึกอบรมเชิงบวก 12 ชุด (เซลล์มะเร็งที่ได้รับการรักษาด้วยยาที่มีกลไกการออกฤทธิ์ 12 แบบ) สำหรับชุดการฝึกอบรมเชิงบวกเหล่านี้ฉันต้องการฝึกอบรมเครื่องเวกเตอร์สนับสนุนเพื่อแยกความแตกต่างจากชุดเชิงลบที่มีขนาดเท่ากันจากการทดลอง แต่ละชุดมีระหว่าง 1,000 และ 6,000 เซลล์และมีคุณสมบัติ 476 รายการ (คุณสมบัติภาพ) ของแต่ละเซลล์แต่ละส่วนจะถูกปรับเชิงเส้นเป็น [0, 1] ฉันใช้LIBSVMและเคอร์เนล Gaussian RGB ใช้ crossvalidation ห้าเท่าฉันทำการค้นหากริดสำหรับlog₂ C ∈ [-5, 15] และlog₂ɣ∈ [-15, 3] ผลลัพธ์มีดังนี้: ฉันผิดหวังที่ไม่มีพารามิเตอร์ชุดเดียวที่ให้ความแม่นยำสูงสำหรับปัญหาการจำแนกประเภททั้ง 12 ข้อ ฉันรู้สึกประหลาดใจที่กริดไม่แสดงภูมิภาคที่มีความแม่นยำสูงซึ่งล้อมรอบไปด้วยความแม่นยำที่ต่ำกว่า นี่หมายถึงว่าฉันต้องขยายพื้นที่พารามิเตอร์การค้นหาหรือการค้นหากริดเป็นตัวบ่งชี้ว่ามีบางอย่างผิดปกติหรือไม่?
12 svm 

2
การเพิ่มประสิทธิภาพเครื่องเวกเตอร์สนับสนุนด้วยการเขียนโปรแกรม Quadratic
ฉันพยายามที่จะเข้าใจกระบวนการสำหรับการฝึกอบรมเชิงเส้นเครื่องเวกเตอร์การสนับสนุน ฉันรู้ว่าคุณสมบัติของ SMV ช่วยให้พวกเขาได้รับการปรับให้เร็วที่สุดมากกว่าการใช้ตัวแก้ปัญหาการเขียนโปรแกรมแบบสี่เหลี่ยมจัตุรัส แต่เพื่อจุดประสงค์ในการเรียนรู้ ข้อมูลการฝึกอบรม set.seed(2015) df <- data.frame(X1=c(rnorm(5), rnorm(5)+5), X2=c(rnorm(5), rnorm(5)+3), Y=c(rep(1,5), rep(-1, 5))) df X1 X2 Y 1 -1.5454484 0.50127 1 2 -0.5283932 -0.80316 1 3 -1.0867588 0.63644 1 4 -0.0001115 1.14290 1 5 0.3889538 0.06119 1 6 5.5326313 3.68034 -1 7 3.1624283 2.71982 -1 8 5.6505985 …
12 r  svm  optimization 

2
เหตุใด CNN จึงสรุปด้วยเลเยอร์ FC
จากความเข้าใจของฉัน CNN ประกอบด้วยสองส่วน ส่วนแรก (Conv / พูลเลเยอร์) ซึ่งทำการแยกคุณสมบัติและส่วนที่สอง (fc layer) ซึ่งทำการจำแนกจากฟีเจอร์ เนื่องจากมุ้งที่เชื่อมต่ออย่างสมบูรณ์ไม่ใช่ตัวแยกประเภทที่ดีที่สุด (เช่นพวกเขาได้รับประสิทธิภาพที่ดีกว่าโดย SVM และ RF ส่วนใหญ่) ทำไม CNNs จึงสรุปด้วยเลเยอร์ FC แทนที่จะเป็น SVM หรือ RF?

1
ขอบเขตทั่วไปบน SVM
ฉันสนใจในผลลัพธ์ทางทฤษฎีสำหรับความสามารถในการวางนัยทั่วไปของ Support Vector Machines เช่นขอบเขตของความน่าจะเป็นของข้อผิดพลาดการจัดหมวดหมู่และมิติ Vapnik-Chervonenkis (VC) ของเครื่องเหล่านี้ อย่างไรก็ตามการอ่านวรรณกรรมฉันรู้สึกว่าผลลัพธ์ที่คล้าย ๆ กันบางครั้งมีแนวโน้มที่จะแตกต่างกันเล็กน้อยจากผู้เขียนถึงผู้เขียนโดยเฉพาะอย่างยิ่งเกี่ยวกับเงื่อนไขทางเทคนิคที่จำเป็นสำหรับขอบเขตที่กำหนดไว้ ในต่อไปนี้ฉันจะเรียกคืนโครงสร้างของปัญหา SVM และสถานะ 3 ของผลลัพธ์การสรุปทั่วไปหลักที่ฉันพบซ้ำในรูปแบบเดียวหรืออีกรูปแบบหนึ่งฉันให้การอ้างอิงหลัก 3 รายการตลอดการจัดนิทรรศการ−−- การตั้งค่าปัญหา : สมมติว่าเรามีตัวอย่างข้อมูลของคู่อิสระและการกระจาย (iid) คู่โดยที่ ,และ\} เราสร้างเครื่องเวกเตอร์สนับสนุน (SVM) ที่เพิ่มระยะขอบให้น้อยที่สุดระหว่างไฮเปอร์เพลนแยกที่กำหนดโดย ,และและจุดที่ใกล้ที่สุดในหมู่เพื่อแยกทั้งสองเรียนที่กำหนดโดยและ1 เราปล่อยให้ SVM ยอมรับข้อผิดพลาดบางอย่างผ่านการทำกำไรขั้นต้นโดยการแนะนำตัวแปรหย่อน(xi,yi)1≤i≤n(xi,yi)1≤i≤n(x_i,y_i)_{1\leq i\leq n}iiixi∈Rpxi∈Rpx_i \in \mathbb{R}^pyi∈{−1,1}yi∈{−1,1}y_i \in \{-1,1\}m∗m∗m^*{x:w⋅x+b=0}{x:w⋅x+b=0}\{x : w \cdot x + b = 0\}w∈Rpw∈Rpw \in \mathbb{R}^pb∈Rb∈Rb \in \mathbb{R}x1,⋯,xnx1,⋯,xnx_1,\cdots,x_ny=−1y=−1y = …

1
Support Vector Regression แตกต่างจาก SVM อย่างไร
ฉันรู้พื้นฐานเกี่ยวกับ SVM และ SVR แต่ถึงกระนั้นฉันก็ยังไม่เข้าใจว่าปัญหาของการหาไฮเปอร์เพลนที่เพิ่มระยะขอบให้พอดีกับ SVR ได้อย่างไร ประการที่สองฉันอ่านบางอย่างเกี่ยวกับใช้เป็นระยะเผื่อเผื่อใน SVR มันหมายความว่าอะไร?εε\epsilon ประการที่สามมีความแตกต่างระหว่างพารามิเตอร์ฟังก์ชันการตัดสินใจที่ใช้ใน SVM และ SVR หรือไม่?

3
เหตุใดคำอคติใน SVM จึงถูกประเมินแยกต่างหากแทนที่จะเป็นมิติเพิ่มเติมในเวกเตอร์คุณลักษณะ
ไฮเปอร์เพลนที่ดีที่สุดใน SVM ถูกกำหนดเป็น: w⋅x+b=0,w⋅x+b=0,\mathbf w \cdot \mathbf x+b=0, โดยที่หมายถึงขีด จำกัด หากเรามีการแมปซึ่งแมปพื้นที่อินพุตกับบางพื้นที่เราสามารถกำหนด SVM ในช่องว่างโดยที่ hiperplane ที่ดีที่สุดจะเป็น:ϕ Z Zbbbϕϕ\mathbf \phiZZZZZZ w⋅ϕ(x)+b=0.w⋅ϕ(x)+b=0.\mathbf w \cdot \mathbf \phi(\mathbf x)+b=0. อย่างไรก็ตามเราสามารถกำหนดการแมปเพื่อให้ ,แล้ว hiperplane ที่ดีที่สุดจะถูกกำหนดเป็น ϕ 0 ( x ) = 1 ∀ x w ⋅ ϕ ( x ) = 0ϕϕ\phiϕ0(x)=1ϕ0(x)=1\phi_0(\mathbf x)=1∀x∀x\forall \mathbf xw⋅ϕ(x)=0.w⋅ϕ(x)=0.\mathbf w \cdot …
11 svm  threshold 

2
ใช้ Adaboost กับ SVM สำหรับการจำแนกประเภท
ฉันรู้ว่าAdaboostพยายามที่จะสร้างลักษณนามที่แข็งแกร่งโดยใช้การรวมกันเชิงเส้นของชุดตัวจําแนกอ่อนแอ แต่ผมได้อ่านเอกสารบางคนบอก AdaBoost และจำแนกการทำงานในความสามัคคี (แม้ว่า SVM เป็นลักษณนามแรง) ในเงื่อนไขบางอย่างและกรณี ฉันไม่สามารถเข้าใจจากมุมมองสถาปัตยกรรมและการเขียนโปรแกรมว่าทำงานร่วมกันได้อย่างไร ฉันได้อ่านรายงานจำนวนมาก (อาจผิดพลาด) ซึ่งไม่ได้อธิบายอย่างชัดเจนว่าพวกเขาทำงานร่วมกันอย่างไร บางคนสามารถแสดงให้เห็นว่าพวกเขาทำงานร่วมกันอย่างไรเพื่อการจำแนกที่มีประสิทธิภาพ? ตัวชี้ไปยังเอกสาร / บทความ / วารสารก็จะได้รับการชื่นชม

1
การลดจำนวนระดับของตัวแปรทำนายการจัดหมวดหมู่แบบไม่เรียงลำดับ
ฉันต้องการฝึกอบรมลักษณนามพูด SVM หรือฟอเรสต์แบบสุ่มหรือลักษณนามอื่น ๆ หนึ่งในคุณสมบัติในชุดข้อมูลเป็นตัวแปรเด็ดขาดที่มี 1,000 ระดับ เป็นวิธีที่ดีที่สุดในการลดจำนวนระดับในตัวแปรนี้คืออะไร ใน R มีฟังก์ชั่นที่เรียกว่าcombine.levels()ในแพ็คเกจHmiscซึ่งรวมระดับที่ไม่บ่อยนัก แต่ฉันกำลังมองหาคำแนะนำอื่น ๆ

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

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