मैं एक रैखिक एसवीएम फिटिंग द्वारा दिए गए चर भार की व्याख्या करने की कोशिश कर रहा हूं।
यह समझने का एक अच्छा तरीका है कि वजन की गणना कैसे की जाती है और रैखिक एसवीएम के मामले में उनकी व्याख्या कैसे की जाती है, गणना को बहुत सरल उदाहरण पर हाथ से करना है।
उदाहरण
निम्नलिखित डेटासेट पर विचार करें जो रैखिक रूप से अलग है
import numpy as np
X = np.array([[3,4],[1,4],[2,3],[6,-1],[7,-1],[5,-3]] )
y = np.array([-1,-1, -1, 1, 1 , 1 ])
निरीक्षण द्वारा एसवीएम समस्या का समाधान
निरीक्षण से हम देख सकते हैं कि सीमा रेखा जो सबसे बड़े "मार्जिन" के साथ बिंदुओं को अलग करती है वह रेखा है । चूंकि एसवीएम का वजन इस निर्णय रेखा (उच्च आयामों में हाइपरप्लेन) के अनुपात के समानुपाती होता है, जिसमें मापदंडों का पहला अनुमान होगाx2=x1−3wTx+b=0
w=[1,−1] b=−3
एसवीएम सिद्धांत हमें बताता है कि मार्जिन की "चौड़ाई" द्वारा दी गई है । ऊपर अनुमान का उपयोग करते हुए हम एक प्राप्त करेगा चौड़ाई की । जो, निरीक्षण द्वारा गलत है। चौड़ाई2||w||22√=2–√42–√
याद रखें कि एक कारक द्वारा सीमा को स्केल करने से सीमा रेखा नहीं बदलती है, इसलिए हम समीकरण को सामान्य कर सकते हैंc
cx1−cx2−3c=0
w=[c,−c] b=−3c
हमें जो चौड़ाई मिलती है उसके लिए समीकरण में वापस प्लग करना
2||w||22–√cc=14=42–√=42–√
इसलिए पैरामीटर (या गुणांक) वास्तव में
w=[14,−14] b=−34
(मैं scikit-learn का उपयोग कर रहा हूं)
तो मैं हूं, हमारे मैनुअल गणना की जांच करने के लिए यहां कुछ कोड हैं
from sklearn.svm import SVC
clf = SVC(C = 1e5, kernel = 'linear')
clf.fit(X, y)
print('w = ',clf.coef_)
print('b = ',clf.intercept_)
print('Indices of support vectors = ', clf.support_)
print('Support vectors = ', clf.support_vectors_)
print('Number of support vectors for each class = ', clf.n_support_)
print('Coefficients of the support vector in the decision function = ', np.abs(clf.dual_coef_))
- w = [[0.25 -0.25]] b = [-0.75]
- समर्थन वैक्टर के संकेत = [२ ३]
- सपोर्ट वैक्टर = [[2. 3. 3.] [6. -1]]
- प्रत्येक वर्ग के लिए सपोर्ट वैक्टर की संख्या = [१ १]
- निर्णय समारोह में समर्थन वेक्टर के गुणांक = [[०.०६२५ ०.०६२५]]
क्या वज़न के संकेत का कक्षा से कोई लेना-देना है?
वास्तव में नहीं, वज़न का संकेत सीमा के समतल के समीकरण से है।
स्रोत
https://ai6034.mit.edu/wiki/images/SVM_and_Boosting.pdf