পাইথনে এসভিএমের জন্য ল্যাংরেঞ্জ সহগের গণনা করা হচ্ছে


10

আমি পাইথনে একটি সম্পূর্ণ এসভিএম বাস্তবায়ন লেখার চেষ্টা করছি এবং ল্যাঞ্জ্রেঞ্জ সহগগুলি গণনা করার কয়েকটি সমস্যা রয়েছে have

আমি সঠিক পথে আছি তা নিশ্চিত করার জন্য প্রথমে অ্যালগরিদম থেকে আমি কী বুঝি তা আবার নতুন করে বলি।

তাহলে একটি ডেটাসেটের এবং Y আমি{ - 1 , 1 } বর্গ লেবেল এক্স আমি , তারপর আমি , Y আমি ( W টি x আমি + + ) 1x1,x2,...,xnyi{1,1}xi

i,yi(wTxi+b)1

সুতরাং আমাদের কেবলমাত্র একটি অপ্টিমাইজেশন সমস্যা সমাধান করা দরকার

w2

সাপেক্ষেyi(wTxi+b)1

Lagrange, কোফিসিয়েন্টস নিরিখে, এই খোঁজার অনুবাদ , এবং এবং : কমানোরα = ( α 1 , α 2 , α এন ) 0 0 এল ( α , W , ) = 1wbα=(α1,α2,...αn)00

L(α,w,b)=12w2αi(yi(wTx+b)1)

এখন থেকে এবং আমরা এটিকে বাধা দিয়ে with

Lw=0w=αiyixi
Lb=0yiαi=0
αi0এবংαiyi=0
L(α,w,b)=Q(α)=αi12αiαjyiyjxiTxj
αi0 and αiyi=0

তাই আমি পাইথন ব্যবহার করে অপ্টিমাইজেশান সমস্যাটি সমাধান করার চেষ্টা করছি এবং আমি খুঁজে পাওয়া কেবলমাত্র বিনামূল্যে প্যাকেজটিকে সিভিএক্সপ্ট বলা হয়

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

নোট করুন যে কোনও সময় আমি এটি সমাধান করতে চাই কর্নেলস তবে আমি নিশ্চিত নই যে এটি সমাধানের ক্ষেত্রে কী কী প্রভাব পড়ে।

L(α,w,b)=Q(α)=αi12αiαjyiyjK(xi,xj)

যে কোনও সাহায্যের প্রশংসা হবে, পাইথনে কীভাবে এটি প্রয়োগ করা যায় সে সম্পর্কে আমি সত্যিই হারিয়েছি। অপ্টিমাইজেশান সমস্যা সমাধানের জন্য যদি আপনার আরও ভাল মডিউল থাকে তবে আমি এটি সম্পর্কেও পড়তে চাই।

উত্তর:


4

আমি আগে একটি এসভিএম বাস্তবায়নের জন্য সিভিএক্সপ্ট ব্যবহার করেছি, তবে মাতলাবে পাইথন নয়। এটি অবশ্যই আপনার উদ্দেশ্যে পরিবেশন করবে, এর দক্ষতা আপনি কী ব্যবহার করছেন তার উপর নির্ভর করবে কিনা। সর্বাধিক দক্ষ এসভিএমগুলি কিউপি সলভার প্যাকেজ ব্যবহার করে না, তারা এসভিএমের সাথে স্বতন্ত্র কিছু অপ্টিমাইজেশনের সুবিধা গ্রহণ করে। অনেকে এটি সমাধানের জন্য একটি এসএমও শৈলীর অ্যালগোরিদম ব্যবহার করে।

লিবিএসভিএম একটি এসভিএম প্যাকেজ যা প্রশিক্ষণ সহায়তা ভেক্টর মেশিনের জন্য দ্বিতীয় আদেশের তথ্য ব্যবহার করে ওয়ার্কিং সেট নির্বাচনের অ্যালগরিদম ব্যবহার করে । কোডটি ওপেন সোর্স, যদি আপনি এটি প্রয়োগ করে কীভাবে তা দেখতে আগ্রহী হন। এটি একটি পাইথন ইন্টারফেস আছে।

এসভিএমএলাইট হ'ল অন্য প্যাকেজ, তারা একটি পৃথক অ্যালগরিদম ব্যবহার করে (রেফারেন্সের জন্য তাদের সাইটটি দেখুন)। এটি ওপেন সোর্স এবং পাইথন ইন্টারফেসও রয়েছে।


তথ্যবহুল উত্তরের জন্য ধন্যবাদ (যা আমি সুপারসিডিজ আমার বলে মনে করি), এবং স্কাইকম্পে আপনাকে স্বাগতম!
অ্যারন আহমদিয়া

+1 আকর্ষণীয় উত্তর এবং আমি আপনার দুর্দান্ত লিঙ্কগুলি দেখতে শুরু করেছি যা আমাকে অনেক সাহায্য করছে!
চার্লস মেনগুয়ে

2

আপনার অপ্টিমাইজেশান সমস্যার সাধারণ রূপটি একটি চতুর্ভুজ প্রোগ্রাম , আপনি কার্নেল ট্রিক ব্যবহার করছেন বা লিনিয়ার কার্নেল নির্বিশেষে is মনে হচ্ছে cvxoptআপনি যা করার চেষ্টা করছেন তার জন্য যথেষ্ট হবে তবে এখানে অন্যান্য পাইথোনটসও ওপেনআপ্টের সাথে ভাগ্য অর্জন করেছে।


অ্যারন, আপনি কি জানেন যে ইপপ্ট পাইথন র‍্যাপারটি কখনও ঠিক হয়ে গেছে কিনা?
জিফ অক্সবেরি

ডেভিড Ketcheson ছাত্র এক OpenOpt সঙ্গে কাজ (যা একটি আপাতদৃষ্টিতে নিউটন আলগোরিদিম সঙ্গে এটি ব্যবহার করতে পারেন) এটা পেয়েছিলাম, কিন্তু OpenOpt স্ট্যাক OS X এর চলছে পেয়ে সঙ্গে কিছু সমস্যার করেছে
Aron আহমদিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.