در یک مدل یادگیری ماشینی، یک تابع فعالسازی یک جزء کلیدی است که در نورونهای مصنوعی (همچنین به عنوان پرسپترون) مدل استفاده میشود. هدف یک تابع فعالسازی، معرفی غیرخطی به مدل است که به آن امکان میدهد الگوهای پیچیدهتری را در دادهها بیاموزد و نمایش دهد.
توابع فعال سازی به خروجی هر نورون در شبکه اعمال می شود و نتیجه به عنوان ورودی به لایه بعدی نورون ها ارسال می شود. انواع مختلفی از توابع فعال سازی وجود دارد که هر کدام ویژگی ها و کاربردهای خاص خود را دارند. برخی از نمونه ها عبارتند از:
Sigmoid: تابع sigmoid هر مقدار ورودی را به مقداری بین 0 و 1 نگاشت می کند و آن را برای مسائل طبقه بندی باینری مفید می کند.
ReLU (واحد خطی اصلاح شده): ReLU یک تابع فعال سازی ساده است که در صورت مثبت بودن ورودی و در غیر این صورت 0 را برمی گرداند. از نظر محاسباتی کارآمد است و می تواند مشکل گرادیان ناپدید شدن را کاهش دهد.
Tanh (مماس هایپربولیک): تابع tanh هر مقدار ورودی را به مقداری بین -1 و 1 نگاشت می کند و آن را برای مشکلات رگرسیون مفید می کند.
Softmax: تابع
softmax معمولاً در لایه خروجی یک شبکه عصبی زمانی که مدل برای طبقهبندی چند کلاسه استفاده میشود، استفاده میشود.
انتخاب تابع فعال سازی به مشکلی که می خواهید حل کنید و ویژگی های داده ها بستگی دارد. برای مثال، اگر مدل یک طبقهبندیکننده باینری باشد، استفاده از تابع فعالسازی سیگموید به جای softmax مناسبتر است.