1.5. نزول گرادیان تصادفی¶

  • 2022-06-16

نزول گرادیان تصادفی یک رویکرد ساده و در عین حال بسیار کارا برای برازش طبقهبندیهای خطی و رگرسیون تحت توابع تلفات محدب مانند ماشینهای بردار پشتیبان و رگرسیون لجستیک است. اگرچه این شرکت مدت هاست که در جامعه یادگیری ماشین حضور دارد اما اخیرا در زمینه یادگیری در مقیاس بزرگ توجه زیادی را به خود جلب کرده است.

با موفقیت به مشکلات یادگیری ماشین در مقیاس بزرگ و پراکنده اغلب در طبقه بندی متن و پردازش زبان طبیعی مواجه می شوند استفاده شده است. با توجه به اینکه داده های پراکنده است, طبقه بندی در این ماژول به راحتی به مشکلات با بیش از مقیاس 10^5 نمونه های تمرینی و بیش از 10^5 ویژگی های.

صرفا گازهای گلخانه ای صرفا یک تکنیک بهینه سازی است و با خانواده خاصی از مدل های یادگیری ماشین مطابقت ندارد. این تنها راهی برای تربیت یک مدل است. غالبا یک نمونه از طبقهبندی کننده اس.جی. دی. دی دارای یک تخمینگر معادل در رابط کاربری اسکیت-یادگیری خواهد بود که به طور بالقوه از تکنیک بهینهسازی متفاوتی استفاده میکند. یک مدل معادل رگرسیون لجستیک است که به جای نصب توسط یکی از حل کننده های دیگر در رگرسیون لجستیک از طریق رگرسیون لجستیک نصب می شود . و ریج یک مشکل بهینه سازی را از طریق روش های مختلف حل می کنند.

مزایای نزول شیب تصادفی عبارتند از:

  • بهره وری.

  • سهولت اجرا (فرصت های زیادی برای تنظیم کد).

معایب نزول گرادیان تصادفی عبارتند از:

  • به تعدادی ابر پارامتر مانند پارامتر تنظیم و تعداد تکرارها نیاز دارد.

  • جنین نسبت به اندازه گیری حساس است.

اطمینان حاصل کنید که داده های تمرین خود را قبل از نصب مدل یا استفاده از تغییر دهید=درست است که بعد از هر تکرار به هم بزنید (به طور پیش فرض استفاده می شود). همچنین ویژگیها باید با استفاده از خط لوله استاندارد شوند.

1.5.1. طبقه بندی¶

طبقه بندی کلاس یک روال یادگیری شیب نزولی تصادفی ساده را اجرا می کند که از توابع و مجازات های مختلف ضرر برای طبقه بندی پشتیبانی می کند. در زیر مرز تصمیم گیری یک طبقه بندی کننده با از دست دادن لولا معادل یک ماشین مجازی خطی است.

../_images/sphx_glr_plot_sgd_separating_hyperplane_001.png

به عنوان طبقه بندی کننده های دیگر باید با دو مجموعه نصب شود: مجموعه ای از شکل (نمونه ها, ویژگی ها) برگزاری نمونه های تمرینی, و مجموعه ای از شکل (نمونه ها,) برگزاری مقادیر هدف (برچسب های کلاس) برای نمونه های تمرینی:

پس از نصب می توان از مدل برای پیش بینی مقادیر جدید استفاده کرد:

یک مدل خطی به داده های اموزشی متصل می شود. ویژگی کوف _ پارامترهای مدل را نگه می دارد:

رهگیری _ ویژگی رهگیری را نگه می دارد (معروف به افست یا تعصب):

اینکه مدل باید از یک رهگیری استفاده کند یا نه, یعنی یک هایپر هواپیما مغرضانه, توسط متناسب با پارامتر کنترل می شود .

فاصله امضا شده تا هایپر هواپیما (محاسبه شده به عنوان محصول نقطه ای بین ضرایب و نمونه ورودی به علاوه رهگیری) توسط طبقه بندی کننده داده می شود.تصمیم گیری _ عملکرد :

تابع از دست دادن بتن را می توان از طریق پارامتر از دست دادن تنظیم شده است. پشتیبانی از توابع از دست دادن زیر:

  • ضرر="لولا" : (حاشیه نرم) ماشین بردار پشتیبانی خطی,

  • ضرر= "هوبر اصلاح شده": از دست دادن لولا صاف شده,

  • ضرر= "ورود به سیستم": رگرسیون لجستیک,

  • و تمام تلفات رگرسیون زیر. در این حالت هدف به صور ت-1 یا 1 رمزگذاری می شود و مشکل به عنوان یک مشکل رگرسیون تلقی می شود. سپس کلاس پیش بینی شده با علامت هدف پیش بینی شده مطابقت دارد.

لطفا برای فرمول ها به بخش ریاضی زیر مراجعه کنید. دو تابع ضرر اول تنبل هستند و فقط در صورتی پارامترهای مدل را به روز می کنند که مثالی محدودیت حاشیه را نقض کند که باعث می شود تمرین بسیار کارایی داشته باشد و ممکن است منجر به مدل های پراکنده شود (یعنی با ضرایب صفر بیشتر) حتی در صورت استفاده از ل2 پنالتی.

با استفاده از از دست دادن= "ورود به سیستم" یا از دست دادن=" اصلاح شده _ هوبر " روش پیش بینی _ پروبا را فعال می کند که بردار تخمین احتمال \(پ(بله|ایکس)\) در هر نمونه \(ایکس\) :

مجازات بتن را می توان از طریق پارامتر مجازات تنظیم کرد. حمایت از مجازات های زیر:

  • مجازات= "ل2": ل2 مجازات هنجار در کوف_ .

  • پنالتی="ل1": ل1 پنالتی هنجار در کوف_.

  • مجازات="شبکه الاستیسیته": ترکیب محدب ل2 و ل1; (1-ل1_راتیو) * ل2 + ل1_راتیو * ل1 .

تنظیم پیش فرض مجازات="ل2" است . مجازات ال 1 منجر به راه حل های پراکنده می شود و بیشتر ضرایب را به صفر می رساند. شبکه الاستیک [ 11] برخی از کمبودهای مجازات ل1 را در حضور ویژگی های بسیار همبسته برطرف می کند. پارامتر ل1_راتیو ترکیب محدب ل1 و ل2 را کنترل می کند مجازات.

با ترکیب چندین طبقه بندی باینری در یک طرح "یک در مقابل همه" از طبقه بندی چند طبقه پشتیبانی می کند. برای هر یک از کلاسهای \(ک\) یک طبقهبندی باینری یاد گرفته میشود که بین کلاسها و سایر کلاسهای \(ک-1\) تبعیض ایجاد میکند. در زمان تست نمره اطمینان (یعنی فاصله های امضا شده تا هایپر هواپیما) را برای هر طبقه بندی کننده محاسبه می کنیم و کلاس را با بالاترین اطمینان انتخاب می کنیم. شکل زیر رویکرد تخمک را در مجموعه داده عنبیه نشان می دهد. خطوط خط دار نشان دهنده سه طبقه بندی کننده تخمک است; رنگ پس زمینه نشان می دهد سطح تصمیم گیری ناشی از سه طبقه بندی.

../_images/sphx_glr_plot_sgd_iris_001.png

در مورد ضریب طبقهبندی چند طبقهای یک مجموعه دوبعدی از شکل است (کلاسها, ن_امکانات) و رهگیری یک مجموعه یکبعدی از شکل است (کلاسها,). کلاسها به ترتیب صعودی نمایه می شوند (نگاه کنید به کلاسهای صفت_). توجه داشته باشید که اصولا چون اجازه ایجاد یک مدل احتمال را می دهند ضرر="ورود به سیستم" و ضرر="هوبر اصلاح شده" برای طبقه بندی یک در مقابل همه مناسب ترند.

پشتیبانی از هر دو کلاس های وزنی و نمونه های وزنی از طریق پارامترهای مناسب کلاس وزن و نمونه وزن . نمونه های زیر را ببینید و رشته مستند از طبقه بندی.مناسب برای کسب اطلاعات بیشتر.

پشتیبانی از میانگین (اس. دی. دی) [ 10]. میانگین را می توان با تنظیم میانگین=درست را فعال کنید . ضریب بهروزرسانیهای مشابه ضریب بهروزرسانیهای منظم را انجام میدهد (به فرمول ریاضی مراجعه کنید) اما به جای استفاده از مقدار نهایی ضرایب بهعنوان صفت ضرایب (بهعنوان مثال مقادیر بهروزرسانیهای اخیر) ضریب بهجای مقدار متوسط ضرایب در تمام بهروزرسانیها تنظیم میشود. همین کار برای انجام می شود_ ویژگی. هنگام استفاده از اس. جی. دی میزان یادگیری می تواند بزرگتر و حتی ثابت باشد و منجر به افزایش سرعت برخی از مجموعه داده ها در زمان تمرین شود.

برای طبقهبندی با از دست دادن لجستیک یک نوع دیگر از گرادیان گرادیان با استراتژی میانگینگیری با الگوریتم گرادیان میانگین تصادفی در دسترس است که به عنوان حلکننده در رگرسیون لجستیکی در دسترس است .

1.5.2. رگرسیون¶

The class SGDRegressor implements a plain stochastic gradient descent learning routine which supports different loss functions and penalties to fit linear regression models. SGDRegressor is well suited for regression problems with a large number of training samples (>10.000), برای مشکلات دیگر توصیه می کنیم خط الراس , کمند, یا نت الاستیک .

تابع از دست دادن بتن را می توان از طریق پارامتر از دست دادن تنظیم شده است. پشتیبانی از توابع از دست دادن زیر:

  • ضرر= "مربع _ خطا": حداقل مربعات معمولی,

  • از دست دادن= "هوبر": از دست دادن هوبر برای رگرسیون قوی,

  • از دست دادن="اپسیلون_حساس" : رگرسیون بردار پشتیبانی خطی.

لطفا برای فرمول ها به بخش ریاضی زیر مراجعه کنید. از توابع از دست دادن هوبر و اپسیلون غیر حساس می توان برای رگرسیون قوی استفاده کرد. عرض منطقه غیر حساس باید از طریق پارامتر مشخص شود اپسیلون . این پارامتر به مقیاس متغیرهای هدف بستگی دارد.

پارامتر مجازات تنظیم مورد استفاده را تعیین می کند (به توضیحات بالا در بخش طبقه بندی مراجعه کنید).

همچنین پشتیبانی از میانگین [10] (در اینجا دوباره, توضیحات بالا را ببینید در بخش طبقه بندی).

برای رگرسیون با ضرر مربع و جریمه ل2 نوع دیگری از گرادیان گرادیان با استراتژی میانگین با الگوریتم گرادیان میانگین تصادفی در دسترس است که به صورت حل کننده در ریج موجود است .

1.5.3. اس ام اس یک کلاس اینترنتی¶

The class sklearn.linear_model.SGDOneClassSVM implements an online linear version of the One-Class SVM using a stochastic gradient descent. Combined with kernel approximation techniques, sklearn.linear_model.SGDOneClassSVM can be used to approximate the solution of a kernelized One-Class SVM, implemented in sklearn.svm.OneClassSVM , with a linear complexity in the number of samples. Note that the complexity of a kernelized One-Class SVM is at best quadratic in the number of samples. sklearn.linear_model.SGDOneClassSVM is thus well suited for datasets with a large number of training samples (>10,000) که نوع گازهای گلخانه ای می تواند چندین مرتبه سریعتر باشد.

پیاده سازی خود را در اجرای شیب نزولی تصادفی بر اساس. در واقع مشکل اصلی بهینه سازی اس ام اس یک کلاس توسط

\[\شروع\begin \min_ & \quad \frac\Vert w \Vert^2 - \]

ho + \frac \sum_^n \xi_i \\ \متن و \quad \langle w x_i

angle \geq

ho - \xi_i \quad 1 \leq i \leq n \\ & \quad \xi_i \geq 0 \quad 1 \leq i \leq n \end\end

جایی که \(\نو \در (0, 1]\) پارامتر مشخص شده توسط کاربر است که نسبت پرت ها و نسبت بردارهای پشتیبانی را کنترل می کند. خلاص شدن از شر متغیرهای شل \(\شی_ی\) این مشکل معادل است با

ضرب در ثابت \(\نو\) و معرفی رهگیری \(ب = 1 - \رو\) ما به مشکل بهینه سازی معادل زیر دست می یابیم

این شبیه به مشکلات بهینه سازی مورد مطالعه در بخش است فرمول بندی ریاضی با \(ی_ی = 1, 1 \لق من \لق/2\) و \(الفا = \نو / 2\), \ (ل\) بودن تابع از دست دادن لولا و\ (ر\) بودن ل2 هنجار. ما فقط باید اصطلاح \(ب\نو\) را در حلقه بهینه سازی اضافه کنیم.

به طور متوسط از این روش برای کاهش وزن استفاده می شود. میانگین را می توان با تنظیم میانگین=درست را فعال کنید .

1.5.4. نزول گرادیان تصادفی برای داده های پراکنده¶

اجرای پراکنده تولید نتایج کمی متفاوت از اجرای متراکم, با توجه به نرخ یادگیری منقبض شده برای رهگیری. مشاهده جزییات پیاده سازی .

ساخته شده است در پشتیبانی از داده های پراکنده داده شده در هر ماتریس در یک فرمت پشتیبانی شده توسط اسکیپی وجود دارد.پراکنده. برای حداکثر بهره وری, با این حال, استفاده از فرمت ماتریس حسابداری همانطور که در اسکیپی تعریف.پراکنده.ماتریکس.

1.5.5. پیچیدگی¶

مهمترین مزیت این روش کارایی است که اساسا در تعداد نمونه های تمرینی خطی است. اگر ایکس یک ماتریس اندازه است(ن, پ) هزینه تمرین دارد \(ای(ک ن \بار پ)\) جایی که ک تعداد تکرارها (دوره ها) و \(\نوار پ\) میانگین تعداد صفات غیر صفر در هر نمونه است.

  • با این حال نتایج نظری اخیر نشان می دهد که زمان اجرا برای دستیابی به برخی از دقت بهینه سازی مطلوب با افزایش اندازه مجموعه تمرین افزایش نمی یابد.

  • 1.5.6. معیار توقف¶

طبقهبندی کلاسها دو معیار برای متوقف کردن الگوریتم در هنگام رسیدن به سطح معینی از همگرایی فراهم میکنند:

با توقف اولیه=درست است که داده های ورودی به یک مجموعه تمرین و یک مجموعه اعتبار سنجی تقسیم می شوند. سپس مدل بر روی مجموعه تمرینی نصب می شود و معیار توقف بر اساس نمره پیش بینی (با استفاده از روش نمره) محاسبه شده بر روی مجموعه اعتبار سنجی است. اندازه مجموعه اعتبار سنجی را می توان با اعتبار سنجی پارامتر تغییر داد.

  • مدل بر روی کل داده های ورودی نصب شده و معیار توقف بر اساس تابع هدف محاسبه شده بر روی داده های تمرین است.

در هر دو مورد, معیار یک بار توسط دوره مورد بررسی قرار, و الگوریتم متوقف می شود زمانی که معیار می کند زمان تغییر ن_ایتر را بهبود نمی بخشد در یک ردیف. بهبود با تول تحمل مطلق ارزیابی می شود و الگوریتم در هر صورت پس از حداکثر تعداد حداکثر تکرار متوقف می شود .

1.5.7. نکاتی در مورد استفاده عملی¶

نزول گرادیان تصادفی به مقیاس بندی ویژگی ها حساس است, بنابراین بسیار توصیه می شود داده های خود را مقیاس بندی کنید. مثلا, مقیاس هر ویژگی در بردار ورودی ایکس به [0,1] یا [-1,+1], یا استاندارد به میانگین 0 و واریانس 1. توجه داشته باشید که برای دستیابی به نتایج معنی دار باید از همان مقیاس بندی برای بردار تست استفاده شود. این کار را می توان به راحتی با استفاده از مقیاس استاندارد انجام داد :

م. ارلر - در شبکه های عصبی: ترفندهای تجارت 1998.

where \(L\) is a loss function that measures model (mis)fit and \(R\) is a regularization term (aka penalty) that penalizes model complexity; \(\alpha >1.5.8. فرمول ریاضی¶

در اینجا به تشریح روش های ریاضی می پردازیم. یک نمای کلی خوب با نرخ همگرایی را می توان در یافت [ 12 ] .

با توجه به مجموعهای از مثالهای اموزشی (ایکس_1, ی_1), \) جایی که \(ایکس_ی\ در \ریاضی^م\) و \(ی_ی\ در \ریاضی\) (\(ی_ی\ در\) برای طبقهبندی), هدف ما یادگیری یک تابع امتیازدهی خطی \(اف(ایکس) = دبلیو^تی ایکس + ب) با پارامترهای مدل \ (دبلیو \و رهگیری\ (ب \در \متبف\). به منظور پیش بینی برای طبقه بندی دودویی, ما به سادگی در نشانه ای از نگاه \(اف(ایکس)\) . برای یافتن پارامترهای مدل خطای منظم شده داده شده توسط را به حداقل می رسانیم

0\) یک ابر پارامتر غیر منفی است که قدرت تنظیم را کنترل می کند.

Modified Huber: \(L(y_i, f(x_i)) = \max(0, 1 - y_i f(x_i))^2\) if \(y_i f(x_i) >انتخاب های مختلف برای \(ل\) مستلزم طبقه بندی یا رگرسیون های مختلف است:

لولا (حاشیه نرم): معادل طبقه بندی بردار پشتیبانی. = \حداکثر (0, 1 - ی_ای اف(ایکس_ای))\) .

پرسپترون: \(ل(ی_ای, اف(ایکس_ای)) = \حداکثر(0, - یی اف (ایکس_ای))\).

1\), و \(ل(ی_ای, ج(ایکس_ای)) = -4 یی اف(ایکس_ای)\) در غیر این صورت.

از دست دادن ورود به سیستم: معادل رگرسیون لجستیک. این برنامه به شما امکان می دهد تا به راحتی وارد سیستم شوید .

خطای مربع: رگرسیون خطی(رج یا لاسو بسته به \(ر\) ). (ا) = \فراک(ی_ی - اف (ایکس_ای))^2\).

../_images/sphx_glr_plot_sgd_loss_functions_001.png

هوبر: نسبت به حداقل مربعات نسبت به نقاط دورافتاده حساسیت کمتری دارد. معادل حداقل مربعات زمانی است که \(|یی اف(ایکس اف)| \لق |ورپسیلون\), و\ (لق, اف(ایکس اف) = \ورپسیلون| یی اف(ایکس اف) / - \فراک \ورپسیلون^2\) در غیر این صورت.

  • اپسیلون غیر حساس: (حاشیه نرم) معادل رگرسیون بردار پشتیبانی. این برنامه به شما امکان می دهد تا به راحتی و به صورت رایگان به اشتراک بگذارید .

  • همه از توابع از دست دادن بالا را می توان به عنوان یک حد بالا در خطای طبقه بندی غلط در نظر گرفته (صفر و یک دست دادن) همانطور که در شکل زیر نشان داده شده.

  • گزینه های محبوب برای اصطلاح منظم سازی \(ر\\) (پارامتر مجازات) عبارتند از:

ل2 هنجار: \(ر(دبلیو): = \فراک\مجموع _ ^ وال جی^2 = / / دبلیو / / _2^2\) ,

../_images/sphx_glr_plot_sgd_penalties_001.png

ل1 هنجار: \(ر(وات): = \مجموع _ ^ |وات جی|\) که منجر به راه حل های پراکنده می شود.

تور الاستیک: \(ر(دبلیو): = \فراک\مجموع_^ وب_ج^2 + (1-رو)\مجموع_^ |وب|\), ترکیبی محدب از ل2 و ل1, جایی که\ (\رو\) توسط داده می شود 1 - ل1_راتیو .

شکل زیر خطوط اصطلاحات مختلف تنظیم را در یک فضای پارامتر 2 بعدی نشان می دهد (\(متر=2\) ) وقتی \(ر (وات) = 1\) .

1.5.8.1. جی دی¶

نزول گرادیان تصادفی یک روش بهینه سازی برای مشکلات بهینه سازی نامحدود است. با در نظر گرفتن یک مثال تمرینی واحد در یک زمان شیب واقعی را تقریب می زند.

طبقه بندی کلاس یک روال یادگیری مرتبه اول را اجرا می کند. الگوریتم تکرار بیش از نمونه های تمرین و برای هر مثال به روز رسانی پارامترهای مدل با توجه به قانون به روز رسانی داده شده توسط

جایی که \(\اتا\) میزان یادگیری است که اندازه گام را در فضای پارامتر کنترل می کند. رهگیری \(ب\) به طور مشابه اما بدون تنظیم به روز (و با فروپاشی اضافی برای ماتریس پراکنده, همانطور که در جزییات پیاده سازی دقیق).

نرخ یادگیری \(\اتا\) می تواند ثابت باشد یا به تدریج در حال پوسیدگی باشد. برای طبقه بندی, برنامه نرخ یادگیری پیش فرض (نرخ یادگیری='بهینه' ) توسط داده شده است

جایی که \(تی\) مرحله زمانی است (در مجموع نمونه هایی وجود دارد * مراحل زمانی ن_ایتر), \(تی _0\) بر اساس یک اکتشافی پیشنهاد شده توسط ال ارگون بوتو تعیین می شود به طوری که به روزرسانی های اولیه مورد انتظار با اندازه مورد انتظار وزنه ها قابل مقایسه است (این فرض که هنجار نمونه های تمرینی تقریبا است. 1). تعریف دقیق را می توان در _تنیت در پایگاه یافت .

برای رگرسیون برنامه پیش فرض نرخ یادگیری مقیاس بندی معکوس است (میزان یادگیری= 'مقیاس گذاری') داده شده توسط

جایی که \(اتا_0\) و \(قدرت\_\\) ابر پارامترهایی هستند که توسط کاربر از طریق اتا0 و پاور_ت انتخاب می شوند.

برای نرخ یادگیری ثابت از میزان یادگیری = 'ثابت' استفاده کنید و از اتا0 برای تعیین میزان یادگیری استفاده کنید.

برای کاهش میزان یادگیری تطبیقی از میزان یادگیری='تطبیقی' استفاده کنید و از اتا0 برای تعیین میزان یادگیری شروع استفاده کنید. با رسیدن به معیار توقف میزان یادگیری بر 5 تقسیم می شود و الگوریتم متوقف نمی شود. الگوریتم زمانی متوقف می شود که میزان یادگیری به زیر 1 ال6 برسد.

پارامترهای مدل را می توان از طریق صف _ و رهگیری _ ویژگی ها: ضریب _ وزنه ها را نگه می دارد \(عرض\) و رهگیری نگه می دارد \(ب\) .

هنگامی که با استفاده از میانگین (با پارامتر متوسط), ضریب به طور متوسط وزن در تمام به روز رسانی تنظیم: ضریب _ \ (=\فراک \مجموع _ ^ دبلیو^\) , جایی که \(تی\) تعداد کل به روز رسانی است, موجود در ویژگی تی_.

1.5.9. جزییات اجرایی¶

  • نویسنده : عزت‌الله انتظامی
  • منبع : businessrealestate.website
  • بدون دیدگاه

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.