بیشینه هموار
در ریاضیات تابع بیشینهٔ هموار (به انگلیسی: softmax function) یا تابع نمایی نرمالسازیشده (به انگلیسی: normalized exponential function)
تعمیم تابع لجستیک است. تابع بیشینهٔ هموار یک بردار
خروجی تابع بیشینههموار، در نظریه احتمالات میتواند برای نمایش یک توزیع رستهای (به انگلیسی: categorical distribution) استفاده شود. توزیع رستهای، توزیع احتمالاتی بر روی
تابع بیشینههموار در روشهای طبقهبندی متعددی استفاده میشود؛ مانند: رگرسیون لجستیک چندجملهای (به انگلیسی: multinomial logistic regression)، آنالیز افتراقی خطی، دستهبندی کننده بیز ساده و شبکه عصبی مصنوعی. در رگرسیون لجستیک چندجملهای و آنالیز افتراقی خطی، ورودی تابع، خروجی
که
بیان ساده
در راهنمای متلب چنین آمده است:
softmax(n) = exp(n)/sum(exp(n))
علت نامگذاری
از دو منظر میتوان علت این نامگذاری را بررسی کرد؛ معنی اصلی و معنی در یادگیری ماشین.
معنی اصلی
معنی دیدگاه اول این است که تابع
استفاده میشود. تابع بیشینهٔ هموار، تقریب هموار و پیوستهای از تابع بیشینه (به انگلیسی: maximum function) ارائه میکند که مشتقپذیر است.
در شکل مقابل دو تابع
معنی در یادگیری ماشین
در یادگیری ماشین به منظور انجام طبقهبندی (به انگلیسی: classification) از تابع بیشینهٔ هموار استفاده میشود. به طور مثال در صورتی که
که در آن
حال پس از بررسی ضابطه تابع
مثال
اگر ورودی
در زیر کد این تابع با ورودی مثال، به زبان R آمدهاست:
> softmax <- function(inp) {
+ s <- sum(exp(inp))
+ return(exp(inp)/s)
+ }
>
> inp <- c(5, 2, 3, 1, 2, 3)
> softmax(inp)
[1] 0.72017036 0.03585517 0.09746446 0.01319038 0.03585517 0.09746446
شبکههای عصبی مصنوعی
میتوان از تابع بیشینهٔ هموار در لایه آخر شبکههای عصبی مصنوعی استفاده کرد. چنین شبکههای عصبی معمولاً به وسیله یک تابع اختلاف آنتروپی (به انگلیسی: Cross Entropy) تعلیم داده میشوند و یک حالت غیرخطی از تابع رگرسیون لجستیک چندجملهای حاصل میشود.
به دلیل اینکه تابع، یک بردار و یک اندیس مشخص را به یک عدد حقیقی نگاشت میکند، این اندیس در مشتقات نیز ظاهر میشود:
در اینجا از تابع دلتا کرونکر استفاده شدهاست.
یادگیری تقویتی
در حوزه یادگیری تقویتی شبیه آنچه در قسمت نامگذاری گفته شد، از تابع بیشینهٔ هموار میتوان برای تبدیل مقادیر به احتمال کنش استفاده کرد.
ضابطه تابعی که به طور متداول استفاده میشود برابر است با:
که در این تابع مقدار کنش
نرمالسازی بیشینهٔ هموار
نرمالسازی بیشینهٔ هموار یا نرمالسازی سیگموید، روشی برای کاهش اثر دادههای پرت بدون حذف این دادهها از مجموعه است. وجود این دادههای پرت میتواند مفید باشد در صورتی که بتوان مقدار قابل توجهی از دادهها را در شعاع یک واحد انحراف معیار از میانگین نگه داشت.
دادهها به صورت غیرخطی به وسیله یکی از توابع سیگموید انتقال داده میشوند:
تابع سیگموید لجستیک:
تابع تابع_هذلولوی،
تابع سیگموید بازه اعداد را به محدوده صفر تا یک نگاشت میکند. این تابع در محدوده میانگین تقریباً خطی است و در دو سر طیف مقادیر آن، شیب ملایمی دارد و به این ترتیب از محدود بودن برد آن و کراندار بودن آن اطمینان حاصل میشود. همچنین این خاصیت موجب میشود بیشتر مقادیر در فاصله یک واحد انحراف معیار نسبت به میانگین قرار گیرند.
تابع تانژانت هذلولوی مقادیر ورودی را به بازی -۱ تا ۱ نگاشت میکند. این تابع در نزدیک میانگین تقریباً خطی است ولی شیبی تقریباً برابر با نصف شیب تابع سیگموید دارد. مانند تابع سیگموید، این تابع در همه نقاط برد مشتق پذیر است و جهت شیب آن توسط نرمالسازی تأثیری نمیبیند. این خاصیت به الگوریتمهای عددی و الگوریتمهای بهینهسازی اطمینان میدهد که تغییر مشتق تابع پس از نرمالسازی روند مشابهی با دادههای اولیه (پیش از نرمالسازی) دارد.
ارتباط آن با توزیع بولتسمان
احتمال یافتن یک اتم در سطح انرژی کوانتومی
منابع
- ↑ Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. Springer.
- ↑ ai-faq What is a softmax activation function?
- ↑ Wikipedia contributors. "Multinomial Logistic Regression". Retrieved 20 August 2017.
- ↑ https://au.mathworks.com/help/deeplearning/ref/softmax.html
- ↑ Charles Yang Zheng. "What does the term soft max mean in the context of machine learning". Retrieved 23 August 2017.
- ↑ Michael A. Nielsen (2015). Neural Networks and Deep Learning. Determination Press.
- ↑ Sutton, R. S. and Barto A. G. Reinforcement Learning: An Introduction. The MIT Press, Cambridge, MA, 1998.Softmax Action Selection بایگانیشده در ۲۵ ژوئن ۲۰۱۶ توسط Wayback Machine
- ↑ Artificial Neural Networks: An Introduction. 2005. pp. 16–17.