Scikit-learn: آلة المتجهات ذات الصلة (RVM)

تم إنشاؤها على ٣ يناير ٢٠١٣  ·  68تعليقات  ·  مصدر: scikit-learn/scikit-learn

RVM هو إطار عمل بايزي للحصول على حلول متفرقة لمهام الانحدار والتصنيف. استخدم نموذجًا من نفس الشكل لـ SVM (آلة المتجهات الداعمة). يحل عيوب SVM التالية:
- عدد الوظائف الأساسية في SVM ينمو بشكل خطي مع حجم مجموعة التدريب
في RVM ، نبدأ بـ 0 أساس ونقوم بتحديث (إضافة / حذف) مجموعة الوظائف الأساسية بشكل تدريجي حتى التقارب.

- تنبؤات SVM ليست احتمالية بينما تكون توقعات RVM احتمالية

- من الضروري في SVM تقدير معامل مقايضة الهامش "C" وهو ليس هو الحال في RVM

- يجب أن تكون نواة SVM موجبة ومحددة. في RVM يمكننا استخدام أي نواة.

تم تنفيذه بالفعل في dlib http://dlib.net/dlib/svm/rvm_abstract.h.html وهناك أيضًا تطبيق matlab هنا http://www.vectoranomaly.com/downloads/downloads.htm. يجب أن تكون هذه الرموز بمثابة دليل.
أعتقد أنه سيكون من الجيد إضافته إلى scikit-Learn.

مراجع :
1- Tipping, M. E. and A. C. Faul (2003). Fast marginal likelihood maximisation for sparse Bayesian models. In C. M. Bishop and B. J. Frey (Eds.), Proceedings of the Ninth International Workshop on Artificial Intelligence and Statistics, Key West, FL, Jan 3-6.

2- Tipping, M. E. (2001). Sparse Bayesian learning and the relevance vector machine. Journal of Machine Learning Research 1, 211–244.

New Feature

التعليق الأكثر فائدة

مرحبا amueller والجميع! لقد رأينا هذا الموضوع وقررنا تنفيذ إصدار متوافق مع sklearn من RVM (https://github.com/Mind-the-Pineapple/sklearn-rvm). اعتمدنا كثيرًا مما فعلناه على تطبيق JamesRitchie. سيكون من الرائع أن يكون هناك شخص ما على استعداد لإلقاء نظرة على التعليقات والمساهمات (themrzmaster) مرحب بها :)
لدينا خطط للحفاظ على هذا الريبو ، وتنفيذ الإصدار السريع في الإصدار 0.2 ونأمل أن يكون هذا الرمز يومًا ما مفيدًا لمستودع scikit-Learn الرئيسي 😊 🍍

ال 68 كومينتر

يجب أن أقرأها مرة أخرى ولكن بشكل عام أعتقد أن RVMs ستكون إضافة جيدة.
dlib هو دفعة مرخصة يجب أن تكون متوافقة. قد لا يكون من السهل الالتفاف بسبب أسلوب الترميز الثقيل.
هل تم تحسين المشكلة باستخدام SMO؟ هل من المعقول أن نطبق SMO؟

يجب أن أمسك أسقفي.

ما هي العلاقة بين ARD و RVM؟ هل RVM مجرد إصدار "الوظيفة الأساسية" من ARD؟

راجع للشغل هل أزعج أي شخص من قبل حقيقة أن القسم Generalized Linear Models لا يحتوي على أي نماذج معممة؟

حسنًا ، لذلك يجب أن نستخدم sequential sparse learning algorithm Bishop p. 352 التالية أعتقد؟
تعرف على نفسك خارج؛)

أتساءل عما إذا كانت هناك طريقة مماثلة لـ ARD؟ سيكون ذلك رائعًا لأن تنفيذ ARD الحالي بطيء جدًا: - /

لا ، تنفيذ RVM بالتأكيد لا يستخدم SMO. أعتقد أن SMO يستخدم فقط لتحسين SVM.
نعم يجب علينا استخدام sequential sparse learning algorithm في المرجع 1 الصفحة 7. (هل هو في bishop p 352؟ أي واحد). هذه الخوارزمية "بسيطة" بدرجة كافية ويمكننا كتابتها بدون استخدام dlib. كنت أفكر في كتابتها بلغة بيثون ثم استخدام السيثون للتحسين. في هذه الحالة يمكننا الاستفادة الكاملة من تطبيق matlab. ما رأيك؟
على أي حال ، يجب أن يكون من الممكن الكتابة بلغة C ++. لكن من أجل ذلك سنحتاج إلى مكتبة جبر خطي جيدة في C ++. لست متأكدًا مما إذا كان scikit-learn يأتي مع واحد افتراضيًا.

بيشوب هو "التعلم الآلي والتعرف على الأنماط".

ربما لا يكون من السهل تمامًا فهم الخوارزمية بشكل صحيح. إذا كنت تريد أن تبدأ في هذا ، فسيكون بالتأكيد مشروعًا أكبر. إذا كنت مهتمًا وترغب في تنفيذه بأي طريقة ، فابدأ.

كما أن تطبيقه يختلف قليلاً عن إدخاله إلى scikit-Learn. يتضمن ذلك أيضًا كتابة الاختبارات والتوثيق ودليل المستخدم - ورمز جميل.

في المحاولة الأولى ، يجب عليك بالتأكيد استخدام numpy فقط. يستخدم blas داخليًا وبالتالي فهو سريع جدًا.
الإسراع باستخدام Cython يكون منطقيًا فقط إذا كان هناك الكثير من الثعبان العلوي. إذا تم قضاء كل الوقت في مكالمات BLAS ، فلن يكون استخدام Cython منطقيًا.

حسنًا لـ Cython و numpy. لم أكن أعرف أسقف يتحدث عن RVM.
لعلاقة ARD و RVM. لا أعرف الكثير عن ARD. لكن في المرجع 2 ، قال المؤلفون إن RVM يعتمد على ARD: "نحن نطلق على ناقلات التدريب المرتبطة بموجهات الصلة المتبقية للأوزان غير الصفرية ، احترامًا لمبدأ التحديد التلقائي للأهمية الذي يحفز النهج المقدم" الصفحة 3 (213) سطر 8.
على أي حال كيف يعمل ARD؟

تم شرح ARD أيضًا في كتاب Bishops ودليل المستخدم . إنه يضع علامة غاوسية قطرية مسبقة على الأوزان ويحاول تقدير التباينات ، والتي (كما أفهمها) هي نفسها التي يقوم بها RVM. هل هذا صحيح؟

أدرك أن المرجع ذكر:

http://books.nips.cc/papers/files/nips20/NIPS2007_0976.pdf

ليس التطبيق الذي نستخدمه. أعتقد أن vmichel نفذ ملف
نهج الأسقف بينما تهدف هذه الورقة إلى نهج نقطة ثابتة مشابه لـ
نهج النسب المنسق. هذا الرمز يحتاج بالتأكيد إلى بعض الحب ...

شكرًا على agramfort ، كنت أتساءل عن ذلك. لم أخوض في التفاصيل لكني اعتقدت أن الورقة كانت المرجع الوحيد ...

سأكون ممتنًا للغاية إذا كان بإمكانك إضافة تعليق هناك يقتبس فيه فصل الأسقف الذي تم استخدامه كقول ربما يجب علينا تنفيذ الورقة الأخرى بدلاً من ذلك.

(راجع للشغل من بين أبطأ الأشياء في مجموعة الاختبار الآن هو تركيب ARD في مجموعة بيانات بوسطن في الاختبارات الشائعة)

شكرًا على agramfort ، كنت أتساءل عن ذلك. لم أخوض في التفاصيل لكني اعتقدت أن الورقة كانت المرجع الوحيد ...

سأكون ممتنًا للغاية إذا كان بإمكانك إضافة تعليق هناك يقتبس فيه فصل الأسقف الذي تم استخدامه كقول ربما يجب علينا تنفيذ الورقة الأخرى بدلاً من ذلك.

انظر: https://github.com/scikit-learn/scikit-learn/pull/1530

راجع للشغل هو أي شخص من أي وقت مضى منزعج من حقيقة أن القسم المعمم الخطي
لا تحتوي النماذج على أي نماذج معممة؟

يفعل: الانحدارات اللوجستية.

أتساءل عما إذا كانت هناك طريقة مماثلة لـ ARD؟ سيكون ذلك رائعًا مثل ملف
تنفيذ ARD الحالي بطيء جدًا: - /

أعتقد أن أكثر الحلول السريعة الواعدة لـ ARD هو تنفيذ
تم الكشف عن الإستراتيجية في:
http://books.nips.cc/papers/files/nips20/NIPS2007_0976.pdf

لقد وضعت في جوهر رمز كتبته منذ فترة.

إذا أراد شخص ما العمل على ARD أعتقد أنه قد يكون مفيدًا.

https://gist.github.com/4494613

تحذير: لم يتم اختباره كثيرًا ولا أضمن صحته ولكنه
يبدو أنه يعمل.

تضمين التغريدة
لقد قمت بتحليل ARD في http://books.nips.cc/papers/files/nips20/NIPS2007_0976.pdf وأعتقد أن RVM و ARD تريدان تحسين نفس الوظيفة الموضوعية. يظهر الاختلاف في الطريقة المستخدمة لتحسين هذه الوظيفة. في RVM ، لاحظ المؤلفون أن معظم الوزن سيكون قريبًا من الصفر واستخدموا ذلك لاشتقاق خوارزمية "سريعة".

هذا يبدو غريبا. إذا كان الهدف هو نفسه ، يجب أن تكون قادرًا على استخدام نفس الأساليب للتحسين ، أليس كذلك؟

نعم بالتأكيد يجب عليك ذلك ، لكن أعتقد أن مؤلفي RVM استخدموا إستراتيجية تحسين مختلفة للحصول على خوارزمية أسرع وأكثر انتشارًا.

yedtoss أنا متأكد من وجود بعض الاختلافات الأخرى. كما قلت من قبل ، قد يكون هذا هو أن RVM تعمل في مساحة ميزة أو مع نواة أو شيء من هذا القبيل. وإلا يمكنك فقط استبدال تطبيق ARD؟ هذا هو الانحدار ، وتريد التصنيف ، أليس كذلك؟

agramfort هل تعرف أي شيء عن الفرق بين ARD و RVM؟

تضمين التغريدة
في البداية RVM هي تقنية انحدار. لكن المؤلفين قدموا طريقة لاستخدامها في التصنيف. تستخدم RVM أي نوع من النواة.
ما أعنيه هو احتمالية تسجيل ARD (المعادلة 2 من طريقة عرض جديدة لتحديد الصلة تلقائيًا) و RVM (المعادلة 7 لتعظيم الاحتمالية الهامشية السريعة لنماذج بايز المتفرقة) متطابقتان.

أعتقد أنني سأضطر إلى قراءة الصحف لمعرفة ما يجري ...

آسف يا رفاق ، أنا لست رجل بايزي كثيرًا ... لا أعرف جيدًا
رقة ...

حاصلة على

مجنون.

larsmansamueller في حين أن هناك براءات الاختراع في الولايات المتحدة لRVM، يوصي المؤلف تنفيذ GLPv2 بشكل ماتلاب على صفحة الويب له، لذا أعتقد أنه على ما يرام لتنفيذ ذلك ...
http://www.miketipping.com/sparsebayes.htm

الأفضل،
أنجيلوس

يعتبر ترخيص

ومع ذلك ، اكتشفت في هذه الأثناء أن آلات المتجهات الداعمة مسجلة ببراءة اختراع بواسطة AT&T ولكن يبدو أن براءة الاختراع لم يتم إنفاذها مطلقًا. إذا كان من الممكن إثبات شيء مشابه لـ RVMs ، فقد أغير رأيي عنها.

@ larsmans لقد كتبت منفذ numpy / python خالصًا لتطبيق dlib (بطيئًا للغاية في الوقت الحالي ، سأحاول تحويله إلى cythonize). وفقًا للرأس ، فإن dlib الخاص بـ dlib موجود منذ عام 2008 ويبدو أنه جيد معه. هل تفكر في تغيير رأيك بشأن وجود RVM في sklearn؟

دعونا نسمع رأي GaelVaroquaux حول هذا الموضوع. لا يُظهر الجزء الداخلي dlib أي شيء طالما أنك لا تستطيع إثبات استخدامه على نطاق واسع بدون ترخيص براءة اختراع.

هل هناك أي تحديثات حول هذا الموضوع؟ لقد كنت أبحث في RVMs مؤخرًا وكنت أتساءل عما إذا كان هناك أي رمز هناك ...

لا أعتقد أن أي شخص قد حاول التنفيذ السريع ، وما زلنا غير متأكدين من الوضع القانوني.

jlopezpena ألق نظرة على dlib ، الكود واضح جدًا ورأسه (القوالب) فقط. يجب أن يكون من السهل جدًا إنشاء امتداد C للاستخدام من numpy

مرحبا جميعا،

لقد قمت مؤخرًا بترجمة برنامج MATLAB SparseBayes المتاح مجانًا من Mike Tipping ، والذي ينفذ بشكل أساسي RVM ، من MATLAB إلى Python. يمكن العثور عليها هنا: https://github.com/jhallock7/SparseBayes-Python . اتصلت بمايك تيبينغ ، وقال إن براءة اختراع مايكروسوفت مخصصة فقط للخوارزمية البطيئة الأصلية ، بينما يستخدم برنامج SparseBayes أسرع الخوارزمية الموجودة هنا: http://www.miketipping.com/papers/met-fastsbl.pdf . لذلك سيكون من الجيد إذا تم طي شكل ما من برنامجه في scikit-Learn. أنا جديد نسبيًا على Python ، لذا يمكن تحسين ترجمتي أو تعديلها بلا شك.

شكرًا لرغبتك في المساهمة وأيضًا شكرًا للتحقق من حالة براءة الاختراع.
هناك سؤال آخر ، وهو ما إذا كانت هذه الخوارزميات مفيدة على نطاق واسع.

لم ألقي نظرة على الخوارزمية واستخدامها منذ آخر مرة قرأت فيها كتاب Bishop ، وهو منذ فترة.
أعتقد أن أحد الأمثلة المثيرة للاهتمام هو إظهار أنه إما يعطي قدرًا أفضل من عدم اليقين ثم المعايرة
SVM ، أو أنها أسرع (تتطلب معايرة SVM والبحث عبر C الكثير من التحقق المتبادل).

amueller RVM (بشكل أساسي انحدار متجه الوحي (RVR)) مفيد جدًا في تحليل بيانات التصوير العصبي. تستخدم الكثير من الأوراق هذه الطريقة بدلاً من SVR للتنبؤ. سيكون مثاليًا ، إذا كان من الممكن إضافة هذه الطريقة إلى مربع أدوات تعلم scikit.

نفذتamueller I إصدارًا بطيئًا من RVM والذي يمكن أن يستخدم إما خوارزمية EM أو خوارزمية النقطة الثابتة لتناسب النموذج (بشكل أساسي لأغراض التعلم / الأغراض الأكاديمية) والفرق الرئيسي بين RVM و SVR الذي لاحظته من مثالين هو التباين ، أي عدد الدعم النواقل المستخدمة في التنبؤ. في كثير من الحالات ، يُنتج RVM نتائج مماثلة لـ SVR مع كون عدد متجهات الدعم جزءًا بسيطًا مما يستخدمه SVR
( إليك مثال بسيط يُستخدم أيضًا في البقشيش 2001)

amueller (إضافة إلى التعليق السابق) ومن الواضح أن عددًا صغيرًا من موجهات الدعم سيعني توقعًا سريعًا جدًا.
ميزة أخرى لـ RVM هي المعالجة الاحتمالية. مع RVM لكل نقطة بيانات في مجموعة الاختبار ، لن تجد فقط تقديرًا للنقطة ولكن أيضًا التوزيع التنبئي

هل يوفر RVR توزيعات احتمالية أيضًا؟

أصوات مثل RVR و RVM مرشحة معقولة للإدراج. ومع ذلك ، لست متأكدًا من حالة الخوارزميات الحديثة. هل هو http://www.miketipping.com/papers/met-fastsbl.pdf ؟ يبدو ذلك قديمًا جدًا. يعد أسلوب الترميز SparseBayes مثيرًا للاهتمام ، وأعتقد أنه سيكون بمثابة مرجع أفضل من كونه أساسًا لتطبيق sklearn.

نعم ، يوفر RVR توزيعات احتمالية ، ولكن في بعض الحالات يمكن أن يكون التباين في التوزيع التنبئي أصغر بالنسبة لنقاط البيانات خارج مجال مثال مجموعة التدريب.
وفقًا لأفضل ورقة معرفي التي ذكرتها ، فإن الإصدار الأخير من RVM يتوافق أيضًا مع تطبيق Matlab على موقع Tipping على الويب (الإصدار 2).

لقد وجدت أيضًا مقارنة مثيرة للاهتمام بين سرعة RVM و SVM في كتاب كيفن مورفي:
"RVM هو أيضًا أسرع تدريب. هذا على الرغم من حقيقة أن رمز RVM موجود في Matlab وأن رمز SVM موجود في C" (الفصل 14 ، ص 490). ومع ذلك ، يبدو أنهم أجروا مقارنات لمجموعات البيانات الصغيرة فقط.

amueller RVM (بشكل أساسي انحدار متجه revelance (RVR)) مفيد جدًا في
تحليل بيانات التصوير العصبي.

أنا غير مقتنع (وأنا أقوم بتصوير الأعصاب). أنا لم أرَ شيئًا جيدًا
مقارنة تجريبية.

أرى أن الطريق للذهاب هو الحصول على RVMs في حزمة منفصلة ، مع
scikit-Learn API ، وتشجيع العمل التجريبي الجيد لإظهار
فائدة. إذا كانت مفيدة ، قم بدمجها في scikit-Learn.

استخدمت بعض دراسات التصوير العصبي انحدار ناقل الأهمية (RVR) و
أجرى مقارنات بين RVR و SVR.
لسرد القليل:
http://www.sciencedirect.com/science/article/pii/S1053811910000108
http://www.sciencedirect.com/science/article/pii/S1053811910012644
http://www.sciencedirect.com/science/article/pii/S1053811910003459
http://www.nature.com/npp/journal/v39/n3/abs/npp2013251a.html

ويتم تنفيذ RVR في صندوق أدوات التعرف على الأنماط لـ
بيانات التصوير العصبي:
http://www.mlnl.cs.ucl.ac.uk/pronto/

آمل أن يتم دمج RVR في scikit-Learn.

أطيب التمنيات

زايكسو

يوم الخميس ، 15 أكتوبر 2015 الساعة 12:57 مساءً ، Gael Varoquaux [email protected]
كتب:

amueller RVM (بشكل أساسي انحدار متجه الوحي (RVR)) جميل
مفيد في
تحليل بيانات التصوير العصبي.

أنا غير مقتنع (وأنا أقوم بتصوير الأعصاب). أنا لم أرَ شيئًا جيدًا
مقارنة تجريبية.

أرى أن الطريق للذهاب هو الحصول على RVMs في حزمة منفصلة ، مع
scikit-Learn API ، وتشجيع العمل التجريبي الجيد لإظهار
فائدة. إذا كانت مفيدة ، قم بدمجها في scikit-Learn.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/1513#issuecomment -148281784
.

أرى أن السبيل للذهاب هو الحصول على RVMs في حزمة منفصلة ، مع واجهة برمجة تطبيقات scikit-Learn ، وتشجيع العمل التجريبي الجيد لإظهار فائدتها. إذا كانت مفيدة ، قم بدمجها في scikit-Learn.

+1

أعني أن هناك https://github.com/AmazaspShumik/Bayesian-Regression-Methods/blob/master/Relibility٪20Vector٪20Machine٪20٪26٪20ARD/rvm.py الذي يبدو متوافقًا نسبيًا. يحتاج set_params و get_params أو يرث من BaseEstimator .

وهناك https://github.com/jhallock7/SparseBayes-Python الذي يمكن تغليفه.

ZaixuCui لماذا تريد أن يكون في scikit-Learn عندما يكون هناك استعداد لاستخدام التنفيذ هناك؟

أميل إلى الاتفاق مع GaelVaroquaux و mblondel . إذا لم ينشر أحد عن الخوارزميات منذ ما يقرب من عشر سنوات ، فلا يبدو أن الناس مهتمون جدًا. [أوه ، الخوارزمية القياسية من 2003 حتى. ولكن مرة أخرى libsvm هو 2005]

لأنني أستخدم scikit تعلم أن تفعل SVR ، شبكة مرنة.
لذلك ، إذا كان هناك تطبيق RVR ، فلن أحتاج إلى استخدام matlab عندما
قم بتحليل التعلم الآلي.

شكرا جزيلا.
أتمنى لكم كل التوفيق

زايكسو

يوم الخميس ، 15 أكتوبر 2015 الساعة 11:13 صباحًا ، Andreas Mueller [email protected]
كتب:

أعني هناك
https://github.com/AmazaspShumik/Bayesian-Regression-Methods/blob/master/Relibility٪20Vector٪20Machine٪20٪26٪20ARD/rvm.py
الذي يبدو متوافقًا نسبيًا. يحتاج set_params و get_params أو
وراثة من BaseEstimator.

وهناك https://github.com/jhallock7/SparseBayes-Python التي يمكن
تكون ملفوفة.

ZaixuCui https://github.com/ZaixuCui لماذا تريد أن تكون فيه
scikit-Learn عندما يكون هناك تنفيذ جاهز للاستخدام هناك؟

أميل إلى الاتفاق مع GaelVaroquaux https://github.com/GaelVaroquaux
و mblondel https://github.com/mblondel . إذا لم ينشر أحد في
الخوارزميات في ما يقرب من عشر سنوات ، لا يبدو أن الناس مهتمون جدًا.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/1513#issuecomment -148440665
.

لأنني أستخدم scikit تعلم أن تفعل SVR ، شبكة مرنة.
لذلك ، إذا كان هناك تطبيق RVR ، فلن أحتاج إلى استخدام matlab عندما
قم بتحليل التعلم الآلي.

يمكنك استخدام كود Python بعمل RVR الذي أشرنا إليه في ملف
نقاش.

حسنا، شكرا

يوم الإثنين ، 19 تشرين الأول (أكتوبر) 2015 الساعة 8:29 صباحًا ، أرسل رسالة إلى Gael Varoquaux [email protected]
كتب:

لأنني أستخدم scikit تعلم أن تفعل SVR ، شبكة مرنة.
لذلك ، إذا كان هناك تطبيق RVR ، فلن أحتاج إلى استخدام matlab
متي
قم بتحليل التعلم الآلي.

يمكنك استخدام كود Python بعمل RVR الذي أشرنا إليه في ملف
نقاش.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/scikit-learn/scikit-learn/issues/1513#issuecomment -149213151
.

ألا يمكننا تنفيذ هذا كفئة خفيفة الوزن للغاية بناءً على تنفيذ عملية Gaussian الجديدة؟ بقدر ما أفهم ، RVR هو فقط الاسم الذي يطلق على GP بنوع خاص من النواة.

على الرغم من أن هذا لا يتطلب سوى القليل من الجهد ، إلا أن اعتماد تطبيق RVR على أحد الممارسين العامين قد لا يكون هو الشيء الأكثر ملاءمة للقيام به؟ CC: jmetzen

amuellerGaelVaroquauxZaixuCuiyedtossjlopezpena

مرحبًا ، لقد نفذت إصدارًا سريعًا من جهاز المتجهات الملاءمة باستخدام واجهة برمجة تطبيقات scikit-Learn ،
لذلك إذا كان أي شخص يعتزم استخدامه ، فلا تتردد في القيام بذلك.

الكود: https://github.com/AmazaspShumik/sklearn_bayes/blob/master/sklearn_bayes/rvm/fast_rvm.py

أمثلة: https://github.com/AmazaspShumik/sklearn_bayes/blob/master/ipython_notebooks_tutorials/rvm_ard/rvm_demo.ipynb

هناك أربع فئات مطبقة في الكود:
- الانحدار
-تصنيف بطاقة
-RVC
-RVR

لذلك قد تكون RegressionARD و ClassificationARD مفيدة أيضًا

AmazaspShumik شكرا جزيلا لك على التنفيذ. عمل رائع: +1:

تضمين التغريدة

شكرا جزيلا لجهودك.
سأحاول بالتأكيد هذه الحزمة.

أتمنى لك الأفضل.

زايكسو

أي شخص لديه مشكلة تنفيذAmazaspShumik طريقة predict_proba؟

أي شخص هنا لديه مكتبة لـ RVM على php؟ أنا لا أفهم مع RVm يمكن أن يشرح لي؟

أي شخص لديه مكتبة RVM لـ PHP؟

حاصلة على

ستنتهي صلاحية براءة الاختراع قريبًا

2019-09-04
انتهاء الصلاحية المتوقع

أشار البعض في روابط المناقشة إلى تطبيق AmazaspShumik معطلة ، فقط ضعها هنا للأشخاص المهتمين (وبعض التطبيقات الأخرى):

https://github.com/AmazaspShumik/sklearn_bayes - RVM + بعض تطبيقات algs الأخرى
https://github.com/JamesRitchie/scikit-rvm - تطبيقات بسيطة باستخدام scipy
https://github.com/siavashserver/neonrvm - تنفيذ C مع ربط Python

أيضًا ، هنا مجموعة الأوراق ذات الصلة:
http://www.miketipping.com/sparsebayes.htm

يوجد تطبيق C ++ لـ RVM هناك (مادة تكميلية للورقة):
https://pubs.acs.org/doi/abs/10.1021/ci200128w
هنا بالتحديد:
https://pubs.acs.org/doi/suppl/10.1021/ci200128w/suppl_file/ci200128w_si_001.zip

انتهت صلاحية براءة اختراع Microsoft. هل يمكننا إضافته إلى sklearn؟

إنه يمسح المتطلبات القياسية بسهولة ، لذلك لا أفهم لماذا لا. ربما يكون وجود بعض الأمثلة الجيدة / المقنعة أمرًا مثيرًا للاهتمام. scikit-rvm و sklearn_bayes لم تتم صيانته ولكن ربما يظل مفيدًا.
ربما يحتاج في الغالب إلى بطل يريد بالفعل وضع العمل فيه.

في كتاب مورفي ، ادعى أن أداء RVMs مشابه حقًا لأجهزة SVM ، لكنه يتميز بكونه طريقة احتمالية حقيقية ، لذا فهو يعطي احتمالات مُعايرة كإجابات. هنا https://github.com/probml/pmtk3/blob/master/docs/tutorial/html/tutKernelClassif.html قارن الطرق باستخدام مجموعة بيانات صغيرة

هل يمكنك توفير رابط للنسخة المعروضة؟
أيضًا ، ليس من المستغرب أن يكون موجودًا على مجموعة بيانات صغيرة ، نظرًا لأنه من المحتمل أن يكون لديه مشكلات في قابلية التوسع.

amueller http://htmlpreview.github.io/؟https : //github.com/probml/pmtk3/blob/master/docs/tutorial/html/tutKernelClassif.html

سأحاول العمل على التنفيذ. أي مساعدة ستكون محل تقدير كبير.

IIRC ، إحدى ميزات RVM عبر SVM ، هي أنه يمكنك العثور على معلمة C المثلى دون القيام بتمرير التحسين.
أتساءل عما إذا كان المؤلف الأصلي على استعداد للمساهمة في تطبيقه المرجعي.
حسنًا ، إنه في Matlab و Mike Tipping ليس حتى على جيثب ...

مرحبا amueller والجميع! لقد رأينا هذا الموضوع وقررنا تنفيذ إصدار متوافق مع sklearn من RVM (https://github.com/Mind-the-Pineapple/sklearn-rvm). اعتمدنا كثيرًا مما فعلناه على تطبيق JamesRitchie. سيكون من الرائع أن يكون هناك شخص ما على استعداد لإلقاء نظرة على التعليقات والمساهمات (themrzmaster) مرحب بها :)
لدينا خطط للحفاظ على هذا الريبو ، وتنفيذ الإصدار السريع في الإصدار 0.2 ونأمل أن يكون هذا الرمز يومًا ما مفيدًا لمستودع scikit-Learn الرئيسي 😊 🍍

مرحبا amueller والجميع! لقد رأينا هذا الموضوع وقررنا تنفيذ إصدار متوافق مع sklearn من RVM (https://github.com/Mind-the-Pineapple/sklearn-rvm). اعتمدنا كثيرًا مما فعلناه على تطبيق JamesRitchie. سيكون من الرائع أن يكون هناك شخص ما على استعداد لإلقاء نظرة على التعليقات والمساهمات (themrzmaster) مرحب بها :)
لدينا خطط للحفاظ على هذا الريبو ، وتنفيذ الإصدار السريع في الإصدار 0.2 ونأمل أن يكون هذا الرمز يومًا ما مفيدًا لمستودع scikit-Learn الرئيسي 😊 🍍

مرحبًاPedroFerreiradaCosta
لقد اختبرت واجهة برمجة تطبيقات scikit-Learn هذه ويبدو أنها لا تزال بطيئة جدًا (يبدو أنها لا تستجيب بعد). هل تعتقد أن السبب هو أنه تم تنفيذه على Windows؟ فيما يلي ما استخدمته:
EMRVC (kernel = 'rbf'، gamma = 'scale'، n_iter_posterior = 10، max_iter = 500، compute_score = True، verbose = True) شكرًا لإجابتك themrzmasterPedroFerreiradaCosta

مرحبا mustuner ! شكرا لتجربة API لدينا!
يحتوي RVM على تعقيد حسابي أعلى من SVM على سبيل المثال (O (M ^ 3)) ، مما قد يجعله أبطأ في الحالات التي يكون لديك فيها عدد كبير من الوظائف الأساسية. في كلتا الحالتين ، هناك عدد من الأشياء التي يمكنك القيام بها لتسريع العملية. يمكنك حساب مصفوفة النواة مسبقًا وإدخالها إلى الخوارزمية الخاصة بنا بدلاً من X ، (تعيين kernel = "محسوبة مسبقًا") أو يمكنك أيضًا تقليل مقياس alpha_threshold (تم تعيينه افتراضيًا على 1e5). يرجى الأخذ في الاعتبار أن هذا الخيار الثاني قد يؤدي إلى دقة أقل في النموذج.
أتمنى أن يساعدك هذا! ولا تتردد في فتح مشكلة لنا لتقديم المزيد من المساعدة.

الأفضل،
بيدرو

مرحبا mustuner ! شكرا لتجربة API لدينا!
يحتوي RVM على تعقيد حسابي أعلى من SVM على سبيل المثال (O (M ^ 3)) ، مما قد يجعله أبطأ في الحالات التي يكون لديك فيها عدد كبير من الوظائف الأساسية. في كلتا الحالتين ، هناك عدد من الأشياء التي يمكنك القيام بها لتسريع العملية. يمكنك حساب مصفوفة النواة مسبقًا وإدخالها إلى الخوارزمية الخاصة بنا بدلاً من X ، (تعيين kernel = "محسوبة مسبقًا") أو يمكنك أيضًا تقليل مقياس alpha_threshold (تم تعيينه افتراضيًا على 1e5). يرجى الأخذ في الاعتبار أن هذا الخيار الثاني قد يؤدي إلى دقة أقل في النموذج.
أتمنى أن يساعدك هذا! ولا تتردد في فتح مشكلة لنا لتقديم المزيد من المساعدة.

الأفضل،
بيدرو

شكرا PedroFerreiradaCosta اسمحوا لي أن أحاول ذلك

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات