نرمالسازی در مقابل استانداردسازی: چگونگی درک تفاوت آنها
هدف از این مقاله، درک و فهم تفاوتها، کاربردها و نحوه پیادهسازی نرمالسازی و استانداردسازی در پیشپردازش داده برای یادگیری ماشین است. آمادهسازی داده به شکل دقیق برای عملکرد مدلها و تفسیر نتایج بسیار مهم است. مواجه با نرمالسازی و استانداردسازی که دو روش مهم و ضروری در تغییر مقیاس شاخصها به منظور تنظیم مناسب دادهها برای عملکرد بهتر مدلهای یادگیری ماشین و تفسیر نتایج حاصل هستند، همواره یک چالش مهم به شمار میرود.
در این مقاله، شما را در بررسی این مساله همراهی میکنیم و همچنین سعی بر آن است که به شما کمک شود تا تفاوتهای کاربردی بین نرمالسازی و استانداردسازی را درک کنید. در انتها، شما متوجه خواهید شد که چه زمانی از هر کدام از این دو روش در جریان پیشپردازش دادههای خود استفاده کنید. از طریق آشنایی با دو روش نرمالسازی و استانداردسازی، شما میتوانید کارآیی مدلهای مورد استفاده خود را تقویت کنید و نتایج حاصل را بهتر تفسیر کنید و همچنین از خطاهای رایج که بواسطه دادههای تغییر مقیاس داده نشده، ایجاد میشوند، جلوگیری کنید. تفاوتهای مهم اشاره شده در این مقاله، در یادگیری ماشین بسیار مهم هستند.
درک تغییر مقیاس شاخص
نرمالسازی و استانداردسازی، هر دو متعلق به ایده یا دستهبندی تغییر مقیاس شاخص هستند. تغییر مقیاس شاخص، گامی مهم در آمادهسازی داده برای مدلهای یادگیری ماشین است. این ایده شامل تبدیل مقادیر شاخصها در یک مجموعه داده به یک مقیاس مشابه است که این اطمینان را ایجاد میکند که همه شاخصها به طور یکسان در فرآیند یادگیری نهفته در مدل مورد استفاده، نقش داشته باشند.
تغییر مقیاس شاخص مهم است زیرا زمانیکه شاخصها دارای مقیاسهای خیلی متفاوت از هم باشند، مثلا یک شاخص در محدوده صفر تا یک تغییر کند و دیگری در محدوده ۱۰۰۰ تا ۱۰۰۰۰، مدلهای یادگیری ماشین، اولویت را به مقادیر بزرگتر میدهند و این منجر به ایجاد بایاس یا تمایل ضمنی مدل در نتایج بدست آمده میشود. این مساله میتواند به عملکرد ضعیف مدل و همگرایی با سرعت کم در حین آموزش مدل منجر شود.
تغییر مقیاس شاخص بوسیله تنظیم محدوده تغییرات داده بدون ایجاد اعوجاج در میزان تغییرات مقادیر هر شاخص، این مشکلات را برطرف میکند. روشهای مختلفی برای تغییر مقیاس وجود دارد، که نرمالسازی و استانداردسازی بیشترین موارد استفاده را دارند. هر دو روش به مدلهای یادگیری ماشین از طریق ایجاد تعادل و تناسب بین تاثیرگذاری شاخصهای مختلف، کاهش اثرگذاری دادههای پرت و در برخی موارد، بهبود نرخ همگرایی مدل، کمک میکنند که عملکرد بهینه داشته باشند.
نرمالسازی چیست؟
نرمالسازی یک ایده وسیع است و راههای مختلفی برای نرمال کردن داده وجود دارد. به طور کلی، نرمالسازی به فرآیند تنظیم مقادیر اندازهگیری شده بر روی مقایسهای مختلف به یک مقیاس مشترک، اشاره دارد. برخی مواقع، بهترین راه، ارائه یک مثال است. برای هر یک از انواع نرمالسازی که در بخش پایین آمده است، ما یک مدل برای درک رابطه بین قیمت یک خانه و ابعاد آن در نظر میگیریم.
انواع نرمالسازی
اجازه دهید تا نگاهی به انواع اصلی داشته باشیم. به خاطر بسپارید که این یک لیست جامع از انواع مورد نظر نیست:
نرمالسازی مینیمم-ماکزیمم
با این ورش، ما ابعاد خانه را طوری تغییر مقیاس میدهیم که در محدوده صفر تا یک قرار گیرد. این بدان معنی است که ابعاد کوچکترین خانه به صورت صفر و بزرگترین به صورت یک نمایش داده میشود.
نرمالسازی لگاریتمی
این روش، یک روش نرمالسازی دیگر است. با استفاده از آن، یک تبدیل لگاریتمی به قیمتها اعمال میشود. این روش کمک میکند تا اثرگذاری قیمتهای بالا را کاهش دهیم، به خصوص زمانیکه اختلاف زیادی بین قیمتها وجود دارد.
تغییر مقیاس دهدهی
این روش نیز از دیگر تکنیکهای نرمالسازی است. در این مثال، ما ابعاد خانهها را بوسیله تغییر مکان نقطه دهگان انجام میدهیم تا مقادیر را کوچکتر کند. این بدان معنی است که ابعاد خانهها به مقیاس دیگری با قابلیت مدیریت بهتر، تبدیل میشنود در حالیکه اختلافهای نسبی آنها دست نخورده باقی میماند.
نرمالسازی میانگین
این روش در این مبحث، شامل تنظیم قیمتها از طریق کسر کردن قیمت میانگین از هر مورد میشود. این فرآیند، قیمتها را حول مقدار صفر قرار میدهد یا به عبارتی مرکز تغییرات قیمتها، به مقدار صفر منتقل میشود که نحوه مقایسه ابعاد خانهها با مقدار متوسط را نشان میدهد.
چه زمانی باید داده را نرمال کنید؟
همانطور که ممکن است از مثالهای بالا متوجه شده باشید، نرمالسازی به طور ویژه زمانی مناسب است که توزیع داده ناشناخته است یا از یک توزیع گوسین پیروی نکند. در این زمینه، قیمت خانهها یک مثال خوب است زیرا برخی از خانهها بسیار گران هستند و از طرفی مدلهای یادگیری ماشین همیشه با دادههای پرت درست تعامل نمیکنند.
بنابراین، هدف از نرمالسازی ارائه یک مدل بهتر است. ما ممکن است که متغیر وابسته را نرمالیزه کنیم که در نتیجه آن خطاها به طور یکنواختتری توزیع میشوند، یا ممکن است که متغیرهای ورودی را به منظور اطمینان از اینکه شاخصهای با مقیاس بزرگتر بر موارد با مقیاس کوچکتر غلبه نکنند، نرمالیزه کنیم.
نرمالسازی، در موارد ذیل، موثرترین عملکرد را دارد:
- توریع ناشناخته یا غیرگوسین: زمانیکه توزیع داده ناشناخته است یا از الگوی نرمال (گوسین) پیروی نمیکند. برای مثال در رگرسیون خطی، ممکن است بخواهیم متغیر وابسته را نرمالیزه کنیم تا بیشتر شبیه یک منحنی زنگوله مانند شود که به ما اجازه میدهد تا در تخمینهای بدست آمده اطمینان بیشتری داشته باشیم.
- الگوریتمهای مبتنی بر فاصله: نرمالسازی زمانیکه از الگوریتمهای یادگیری ماشین وابسته به فاصله بین نقاط داده استفاده میشود، ضروری است. مثلا روش K-همسایه نزدیک یا KNN که برای ممانعت از غلبه شاخصهای با مقیاس بزرگ بر سایر شاخصها در محاسبه فاصلهها، نیاز به نرمالسازی داده دارد.
استانداردسازی چیست؟
درحالیکه نرمالسازی، شاخصها را به یک محدوده خاص تغییر مقیاس میدهد، استانداردسازی، که تحت عنوان z-score نیز شناخته میشود، دادهها را به شکلی تبدیل میکند که میانگین صفر و انحراف معیار یک داشته باشند. این فرآیند، مقادیر شاخصها را از طریق کسر مقدار میانگین از هر داده و تقسیم نتیجه حاصل بر انحراف معیار، تنظیم میکند. ممکن است که عبارت “ متمرکزسازی یا تغییر مقیاس” داده را شنیده باشید. خوب، در واقع استانداردسازی به چیز مشابهی اشاره دارد: متمرکز کردن و سپس تغییر مقیاس.
فرمول استانداردسازی به شکل زیر است:
که داده اصلی است. میانگین شاخص است و انحراف معیار شاخص.
این فرمول، داده را به شکلی مقیاسدهی میکند که توزیع آن دارای میانگین صفر و انحراف معیار یک باشد.
چه زمانی باید داده را استاندارد کنید؟
استانداردسازی در موارد زیر، مناسبترین عملکرد را دارد:
- الگوریتمهای مبتنی بر گرادیان: روش ماشین بردار پشتیبان (SVM) برای عملکرد بهینه به استانداردسازی داده نیاز دارد. در حالیکه مدلهایی همچون رگرسیون خطی و رگرسیون لاجیستیک (Logistic regression)، استانداردسازی را پیش فرض نمیدانند، ممکن است برای آنها سودمند باشد، به خصوص زمانیکه شاخصها به لحاظ اندازه دامنه، تغییرات وسیعی دارند. استانداردسازی به آنها کمک میکند تا از هر شاخص به طور متعادل تاثیرپذیری بر مدل ایجاد شود و بهینهسازی را بهبود میدهد.
- کاهش ابعاد: استانداردسازی در روشهای کاهش ابعاد همچون PCA نیز استفاده میشود زیرا PCA، جهتی که واریانس در داده ماکزیمم میشود را شناسایی میکند. نرمالسازی میانگین به تنهایی کافی نیست زیرا PCA هر دو پارامتر میانگین و واریانس را در نظر میگیرد و مقیاسهای مختلف شاخصها میتواند تحلیل آن را دچار اعوجاج کند.
نرمالسازی در مقابل استانداردسازی: تفاوتهای کلیدی
برخی اوقات، تمایز بین نرمالسازی و استانداردسازی دشوار میشود. از یک منظر، نرمالسازی گاهی به عنوان یک گزینه عامتر استفاده میشود، درحالیکه استانداردسازی به معنای یک گزینه خاصتر یا به لحاظ فنی ویژهتر استفاده میشود. همچنین، تحلیلگران و دانشمندان داده که با این موارد آشنا هستند، ممکن است درگیر تمایز بین این موارد کاربردی شوند.
در حالیکه هر دو روش از تکنیکهای تغییر مقیاس شاخص هستند، در نوع رویکردشان به مساله و کاربردها، با هم تفاوت دارند. فهم این تفاوتها، نکته کلیدی در انتخاب روش مناسب برای مدل یادگیری ماشین شما است.
روشهای مقیاسدهی مجدد
نرمالسازی، مقادیر شاخصها را در یک محدوده از قبل تعریف شده، مقیاسدهی مجدد میکند که اغلب بین صفر و یک است و این بازه به طور ويژه برای مدلهایی که مقیاس شاخصهای آنها به طور وسیع تغییر میکنند، مناسب است. در مقابل، استانداردسازی، دادهها را حول میانگین صفر، متمرکز میکند و آنها را بر اساس انحراف معیار با مقدار یک، تغییر مقیاس میدهد.
حساسیت به داده پرت
تکنیکهای مختلف نرمالسازی در میزان اثرگذاری در تعامل با داده پرت، تفاوت دارند. نرمالسازی میانگین میتواند دادههای پرت را در برخی موارد به خوبی تنظیم کند، اما سایر روشها ممکن است که در این حد موثر نباشند. به طور کلی، روشهای نرمالسازی، در حل مساله داده پرت به اندازه استانداردسازی موثر عمل نمیکنند زیرا استانداردسازی به وضوح متکی بر هر دو مقدار میانگین و انحراف معیار داده است.
موارد کاربرد
نرمالسازی به طور گسترده در الگوریتمهای وابسته به فاصله همچون KNN استفاده میشود که در آن شاخصها باید به منظور اطمینان از دقت کافی در محاسبات مربوط به فاصله بین شاخصها، در یک مقیاس مشابه قرار گیرند. استانداردسازی، از طرف دیگر، برای الگوریتمهای مبتنی بر گرادیان، ضروری است همچون SVM و معمولا در تکنیکهای کاهش ابعاد نیز همچون PCA که حفظ واریانس صحیح شاخص اهمیت دارد، استفاده میشود.
جدول خلاصه تفاوتها
اجازه دهید تا نگاهی به تفاوتهای کلیدی به شکل یک جدول خلاصه شده داشته باشیم تا مقایسه بین نرمالسازی و استانداردسازی را کمی سادهتر کند:
مشاهده تفاوتها
برای درک تفاوتهای بین نرمالسازی و استانداردسازی، دیدن اثر هر کدام به صورت بصری و بر حسب عملکرد مدل، سودمند است. در اینجا، نمودارهای جعبهای (boxplot) برای نمایش این روشهای تغییر مقیاس مختلف استفاده شده است. برای نرمالسازی، روش Min-Max روی هر کدام از متغیرهای مجموعه داده استفاده شده است. میتوان دید که هیچ مقداری کمتر از صفر یا بیشتر از یک نیست.
شکل ۲- داده نرمالیزه شده
در نمودار دوم، از استانداردسازی روی هر کدام از متغیرها استفاده شده است. میتوان ملاحظه کرد که داده به مرکزیت مقدار صفر است.
شکل ۳- داده استاندارد شده.
مزایا و معایب
مزایا شامل عملکرد بهبود یافته مدل و توزیع شاخصها به صورت متعادلتر و بالانس شده است. هر چند که، نرمالسازی میتواند قدرت تفسیر کردن را به دلیل مقیاس ثابت دادهها، محدود کند در حالیکه استانداردسازی میتواند این قدرت تفسیر را حتی دشوارتر کند زیرا دادهها دیگر نشان دهنده واحدهای قبلی خود نیستند. همیشه یک تعادل بین پیچیدگی و دقت مدل وجود دارد.
نرمالسازی و استانداردسازی در رگرسیون خطی
اجازه دهید تا نحوه ایجاد تغییر در تفسیر یک مدل رگرسیون خطی ساده توسط نرمالسازی ( در اینجا از نوع میانگین) و استانداردسازی را بررسی کنیم. مقدار مربع R یا مربع R تنظیم شده برای هر مدل یکسان است و بنابراین تغییر مقیاس شاخص در اینجا فقط درباره تفسیر مدل است.
نکته مهم دیگر در رگرسیون خطی این است که اگر متغیرهای مستقل و وابسته را استانداردسازی کنید، مقدار مربع R یکسان باقی میماند. دلیل این رویداد آن است که مقدار مربع R، نسبت واریانس در خروجی y که توسط ورودی x توضیح داده میشود را اندازهگیری میکند و این نسبت فارغ از اینکه متغیرها استاندارد شدهاند یا خیر، ثابت باقی میماند. هر چند که، استانداردسازی متغیر وابسته، مقدار خطای مربع میانگین یا RMSE را تغییر میدهد زیرا RMSE در همان واحدی اندازهگیری میشود که برای متغیر وابسته به کار میرود. به طور خاص، این مقدار بر حسب انحراف معیار متغیر استاندارد شده بیان میشود و نه بر حسب واحدهای اصلی داده.
نتیجهگیری
تغییر مقیاس شاخص،که شامل نرمالسازی و استانداردسازی میشود، یک جزء مهم و حیاتی از پیشپردازش داده در یادگیری ماشین است. درک مفاهیم مناسب برای اعمال هر روش به دادهها، میتواند به شدت عملکرد و دقت مدلهای به کار رفته را بهبود بخشد.
منبع: https://www.datacamp.com
دیدگاه ها (0)