কেউ কীভাবে এসভিএমের ওজনকে বোঝায়?


42

আমি লিনিয়ার এসভিএম লাগিয়ে দেওয়া পরিবর্তনশীল ওজনকে ব্যাখ্যা করার চেষ্টা করছি।

(আমি সাইকিট-লার্ন ব্যবহার করছি ):

from sklearn import svm

svm = svm.SVC(kernel='linear')

svm.fit(features, labels)
svm.coef_

আমি ডকুমেন্টেশনে এমন কোনও কিছুই পাই না যা নির্দিষ্টভাবে এই ওজনগুলি গণনা করা বা ব্যাখ্যা করা হয় states

ওজনের চিহ্নের ক্লাসের সাথে কি কোনও সম্পর্ক আছে?

উত্তর:


55

একটি সাধারণ কার্নেলের জন্য এসভিএম ওজনকে ব্যাখ্যা করা শক্ত, তবে লিনিয়ার এসভিএমের জন্য আসলে একটি দরকারী ব্যাখ্যা রয়েছে:

1) মনে রাখবেন যে লিনিয়ার এসভিএম-এ, ফলাফলটি একটি হাইপারপ্লেন যা ক্লাসগুলি যথাসম্ভব সর্বোত্তমভাবে পৃথক করে। ওজনগুলি হাইপারপ্লেনের প্রতিনিধিত্ব করে, আপনাকে কোনও ভেক্টরের স্থানাঙ্কগুলি প্রদান করে যা হাইপারপ্লেনের অর্থেগোনাল হয় - এইগুলি এসএমএম.কোফ_ দ্বারা প্রদত্ত সহগগুলি। আসুন এই ভেক্টর ডাব্লু।

2) এই ভেক্টরটি দিয়ে আমরা কী করতে পারি? এটি দিকনির্দেশটি আমাদের পূর্বাভাসিত শ্রেণি দেয়, সুতরাং আপনি যদি কোনও বিন্দুর বিন্দু পণ্যটি ভেক্টরের সাথে গ্রহণ করেন তবে আপনি কোন দিকে তা বলতে পারবেন: যদি বিন্দুর পণ্যটি ইতিবাচক হয় তবে এটি ইতিবাচক শ্রেণীর অন্তর্ভুক্ত, যদি এটি নেতিবাচক হয় তবে নেতিবাচক শ্রেণীর অন্তর্গত।

3) অবশেষে, আপনি এমনকি প্রতিটি বৈশিষ্ট্যের গুরুত্ব সম্পর্কে কিছু শিখতে পারেন। এটি আমার নিজস্ব ব্যাখ্যা তাই প্রথমে নিজেকে বোঝান। ধরা যাক এসভিএম ডেটা পৃথক করার জন্য কেবল একটি বৈশিষ্ট্যই খুঁজে পাবে, তারপরে হাইপারপ্লেনটি সেই অক্ষের জন্য অরথোগোনাল হবে। সুতরাং, আপনি বলতে পারেন যে অন্যান্যগুলির সাথে তুলনামূলকভাবে সহগের নিখুঁত আকার বিচ্ছিন্নতার জন্য বৈশিষ্ট্যটি কতটা গুরুত্বপূর্ণ ছিল তার একটি ইঙ্গিত দেয়। উদাহরণস্বরূপ, যদি কেবল প্রথম স্থানাঙ্ক পৃথককরণের জন্য ব্যবহৃত হয়, ডাব্লু ফর্মের (x, 0) হবে যেখানে x কিছু শূন্য সংখ্যা নয় এবং তার পরে | x |> 0 হবে।


3
পয়েন্ট 3 হ'ল বৈশিষ্ট্য (জিন) নির্বাচনের জন্য লিনিয়ার এসভিএমের ওজন ভেক্টর ব্যবহার করে আরএফই অ্যালগরিদমের ভিত্তি: গায়ন axon.cs.byu.edu/Dan/778/paper/Feature%20Selection/guyon2.pdf
বি_মিনার

1
@ বি_মিনার ধন্যবাদ! আমি উদ্বিগ্ন ছিলাম যেহেতু আমি নিজে থেকে এটি ভেবেছিলাম এটি ভুল হতে পারে (আমি "খাঁটি" সিএস থেকে নেই) - তবে আমার ধারণা এটি সঠিক।
বিটওয়াইজ

1
অরথোগোনাল ভেক্টরের নির্দেশকটির অর্থ কী? শ্রেণীর পূর্বাভাসের সামগ্রিক সম্ভাবনার ক্ষেত্রে পৃথকীকরণের হাইপারপ্লেনের অবদানের সাথে কি কিছু করার আছে?
অস্টিন রিচার্ডসন

ওজনের চিহ্নটি শ্রেণির (লিনিয়ার ক্ষেত্রে) সম্পর্কিত কিনা তা বিশদভাবে জানাতে - এটি বৈশিষ্ট্যগুলির উপর নির্ভর করে। উদাহরণস্বরূপ, যদি ভবিষ্যদ্বাণীমূলক বৈশিষ্ট্যগুলি কেবল ননজিগেটভ ( ) মান গ্রহণ করে তবে নেতিবাচক ওজন ডেটা পয়েন্টগুলির একটি নেতিবাচক শ্রেণিবিন্যাসে অবদান রাখে। 0
Kdawg

@ বি_মিনার, আমি মনে করি আপনি গিয়নের অন্য একটির চেয়ে এই কাগজের সাথে লিঙ্ক করবেন ।
ইজোসেফ

11

ডকুমেন্টেশন চমত্কার সম্পূর্ণ হল: multiclass মামলা, বাড়ি যা libsvm গ্রন্থাগার উপর ভিত্তি করে তৈরি জন্য এক বনাম এক সেটিং ব্যবহার করে। লিনিয়ার কার্নেলের ক্ষেত্রে n_classes * (n_classes - 1) / 2পৃথক লিনিয়ার বাইনারি মডেলগুলি প্রতিটি সম্ভাব্য শ্রেণীর জুটির জন্য লাগানো হয়। সুতরাং একসাথে জড়িত সমস্ত প্রাথমিক পরামিতিগুলির সামগ্রিক আকার হ'ল [n_classes * (n_classes - 1) / 2, n_features](+ [n_classes * (n_classes - 1) / 2গুনের মধ্যে বাধা intercept_)।

বাইনারি রৈখিক সমস্যার জন্য, ষড়যন্ত্র থেকে পৃথক hyperplane coef_অ্যাট্রিবিউট এই মধ্যে সম্পন্ন করা হয় উদাহরণস্বরূপ

আপনি যদি লাগানো প্যারামিটারগুলির অর্থের বিশদটি চান, বিশেষত নন-লিনিয়ার কার্নেলের ক্ষেত্রে গাণিতিক গঠন এবং ডকুমেন্টেশনে উল্লিখিত উল্লেখগুলি দেখুন have


1
স্কলেয়ারের ডকুমেন্টেশনে, কোফ_ বৈশিষ্ট্যটি আকৃতির = [n_class-1, n_features] ures আমি বিশ্বাস করি এটি একটি ভুল
নাওমি

6

আমি লিনিয়ার এসভিএম লাগিয়ে দেওয়া পরিবর্তনশীল ওজনকে ব্যাখ্যা করার চেষ্টা করছি।

লিনিয়ার এসভিএমের ক্ষেত্রে ওজন কীভাবে গণনা করা হয় এবং কীভাবে সেগুলি ব্যাখ্যা করা যায় তা বোঝার একটি ভাল উপায় হ'ল খুব সাধারণ উদাহরণে হাতে হাতে গণনা সম্পাদন করা।

উদাহরণ

নিম্নোক্ত পৃথকযোগ্য যা নিম্নলিখিত ডাটাবেস বিবেচনা করুন

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=x13wTx+b=0

w=[1,1]  b=3

SVM তত্ত্ব আমাদেরকে বলে যে মার্জিন এর "প্রস্থ" দেওয়া হয় । উপরে অনুমান ব্যবহার আমরা প্রাপ্ত হবে প্রস্থ এর । যা, পরিদর্শন দ্বারা ভুল। প্রস্থ2||w||22=242

মনে রাখবেন যে একটি উপাদান দ্বারা সীমানা স্কেলিং সীমানা রেখা পরিবর্তন করে না, সুতরাং আমরা সমীকরণটি হিসাবে সাধারণীকরণ করতে পারিc

cx1cx23c=0
w=[c,c]  b=3c

আমরা যে প্রস্থ পেয়েছি তার সমীকরণে ফিরে প্লাগিং

2||w||=4222c=42c=14

সুতরাং প্যারামিটারগুলি (বা সহগ) আসলে

w=[14,14]  b=34


(আমি সাইকিট-লার্ন ব্যবহার করছি)

তাই আমি, আমাদের ম্যানুয়াল গণনাগুলি পরীক্ষা করার জন্য এখানে কিছু কোড

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_))
  • ডাব্লু = [[0.25 -0.25]] বি = [-0.75]
  • সমর্থন ভেক্টর সূচকগুলি = [2 3]
  • সমর্থন ভেক্টর = [[২.২] [[--১।]]
  • প্রতিটি শ্রেণীর জন্য সমর্থন ভেক্টর সংখ্যা = [1 1]
  • সিদ্ধান্তের কার্যক্রমে সমর্থন ভেক্টরের সহগের = [[0.0625 0.0625]]

ওজনের চিহ্নের ক্লাসের সাথে কি কোনও সম্পর্ক আছে?

আসলেই নয়, ওজনের চিহ্নটি সীমানা বিমানের সমীকরণের সাথে সম্পর্কিত।

 

উৎস

https://ai6034.mit.edu/wiki/images/SVM_and_Boosting.pdf


5

বৈশিষ্ট্য নির্বাচনের উপর এই কাগজটি দেখুন । লেখক একটি নির্দিষ্ট বৈশিষ্ট্যের প্রাসঙ্গিকতা সিদ্ধান্ত নেওয়ার জন্য র‌্যাঙ্কিং মেট্রিক হিসাবে রৈখিক কার্নেল এসভিএম দ্বারা নির্ধারিত ওজনের বর্গাকার (গুণাবলী) ব্যবহার করেন। এটি মাইক্রোয়ারে ডেটা থেকে জিনগুলি বেছে নেওয়ার একটি অত্যন্ত উত্সাহিত উপায়।


3

গায়ন এবং এলিসিফের একটি দুর্দান্ত কাগজ (2003)। পরিবর্তনশীল এবং বৈশিষ্ট্য নির্বাচনের একটি ভূমিকা। মেশিন লার্নিং রিসার্চ জার্নাল, 1157-1182 বলেছেন: "একটি সম্ভাব্য প্রাসঙ্গিক প্রাসঙ্গিক ভেরিয়েবলগুলি সন্ধানের বা র‌্যাঙ্কিংয়ের সমস্যার সাথে তুলনামূলকভাবে একটি ভাল পূর্বাভাসক তৈরির উপযোগী বৈশিষ্ট্যগুলির সাবসেটগুলি গঠন এবং নির্বাচন করা। সর্বাধিক প্রাসঙ্গিক ভেরিয়েবলগুলি নির্বাচন করা সাধারণত একটি বিল্ডিংয়ের জন্য suboptimal হয় ভবিষ্যদ্বাণীকারী, বিশেষত যদি ভেরিয়েবলগুলি অপ্রয়োজনীয় হয় Con

অতএব আমি সাধারণত লিনিয়ার মডেলগুলির ওজনকে ব্যাখ্যা করার সময় সতর্কতার পরামর্শ দিই (লজিস্টিক রিগ্রেশন, লিনিয়ার রিগ্রেশন এবং লিনিয়ার কার্নেল এসভিএম সহ)। ইনপুট ডেটা স্বাভাবিক না করা হলে এসভিএম ওজন ক্ষতিপূরণ দিতে পারে। নির্দিষ্ট বৈশিষ্ট্যের জন্য এসভিএম ওজন অন্যান্য বৈশিষ্ট্যগুলির উপরও নির্ভর করে, বিশেষত যদি বৈশিষ্ট্যগুলি সম্পর্কিত হয়। স্বতন্ত্র বৈশিষ্ট্যগুলির গুরুত্ব নির্ধারণ করতে, বৈশিষ্ট্য র‌্যাঙ্কিং পদ্ধতিগুলি আরও ভাল পছন্দ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.