Forwarded from محتوای آزاد سهراب (Sohrab)
یک زمانی ملاک انتخاب دیسترو چیزهای دیگهای بود، الان ملت همونطور که کتاب میخرن (از روی خوشگلی جلد) میان دیسترو انتخاب میکنن.
صد درصد اگر من یک بیس نابهینه رو پر از bloatware میکردم یک هایپرلند روش میزدم متریال دیزاین کاستومایز میکردم، بیشتر سروصدا میکرد تا اینکه وقتمو تلف کنم تا پارچ به ثبات الانش برسه و چرت و پرت فقط بارم بشه.
#تلنگر!
@SohrabContents
صد درصد اگر من یک بیس نابهینه رو پر از bloatware میکردم یک هایپرلند روش میزدم متریال دیزاین کاستومایز میکردم، بیشتر سروصدا میکرد تا اینکه وقتمو تلف کنم تا پارچ به ثبات الانش برسه و چرت و پرت فقط بارم بشه.
#تلنگر!
@SohrabContents
Forwarded from DevTwitter | توییت برنامه نویسی
کلودفلر ۱۳ سال پیش PHP رو از کد بیسشون حذف کردند
این هفته هم رفتند روی سرور rust بیسشون و همه چیز سریعتر و ایمنتر شده + پوستشون شفافتر شده
https://blog.cloudflare.com/20-percent-internet-upgrade/
@DevTwitter | <~/mj/>
این هفته هم رفتند روی سرور rust بیسشون و همه چیز سریعتر و ایمنتر شده + پوستشون شفافتر شده
https://blog.cloudflare.com/20-percent-internet-upgrade/
@DevTwitter | <~/mj/>
Forwarded from DevTwitter | توییت برنامه نویسی
یکی از چالشهای همیشگی برنامهنویسها:قیمتگذاری پروژههاست!
برای سادهتر شدنش، یه ابزار آنلاین ساختم که از یه نقل قول از برایان تریسی به نام «قانون ارزش ساعت» ایده گرفتم
projesanj.netlify.app
@DevTwitter | <esmaeil bahrani fard/>
برای سادهتر شدنش، یه ابزار آنلاین ساختم که از یه نقل قول از برایان تریسی به نام «قانون ارزش ساعت» ایده گرفتم
projesanj.netlify.app
@DevTwitter | <esmaeil bahrani fard/>
Forwarded from Ditty | دیتی
🔺میخواید مهارتهای الگوریتمنویسی و حل مسئلهتون رو توسعه بدید؟
- یه روش که خیلی مناسب هست و کمک میکنه بهصورت کاربردی و آسون الگوریتمنویسی حرفهای رو یاد بگیرین، اینه که خودتون توابع کاربردی (Utility Function) که کتابخونههایی مثل Lodash و Laravel Collections ارائه میدن رو پیادهسازی کنین
- برای پیادهسازی توی جاوااسکریپت میتونین به این صفحه برید و توابع رو یکییکی پیادهسازی کنین. خبر خوب اینه تست هر تابع کنارش موجوده. کافیه تابع مربوطه رو اول خودتون بنویسین و تستش رو اجرا کنین تا ببینین درست نوشتین یا نه
- مهمه که از هوش مصنوعی استفاده نکنین و خودتون رو به چالش بکشید. وسواس نداشته باشید. فقط شروع کنید به نوشتن. لازم نیست عالی باشید. این موارد رو توی الگوریتمنویسی به خاطر داشته باشید: بهینهنویسی (Big O) و تمیز و خوانا نویسی
- میتونین یک ریپوی گیتهاب بسازین و کداتون رو اونجا قرار بدین
- با این کار حتی لازم نیست سراغ وبسایتهای لیتکد و هکررنک و ... برید و مسائل پیچیدهٔ کوانتومی پیادهسازی کنید
- یه روش که خیلی مناسب هست و کمک میکنه بهصورت کاربردی و آسون الگوریتمنویسی حرفهای رو یاد بگیرین، اینه که خودتون توابع کاربردی (Utility Function) که کتابخونههایی مثل Lodash و Laravel Collections ارائه میدن رو پیادهسازی کنین
- برای پیادهسازی توی جاوااسکریپت میتونین به این صفحه برید و توابع رو یکییکی پیادهسازی کنین. خبر خوب اینه تست هر تابع کنارش موجوده. کافیه تابع مربوطه رو اول خودتون بنویسین و تستش رو اجرا کنین تا ببینین درست نوشتین یا نه
- مهمه که از هوش مصنوعی استفاده نکنین و خودتون رو به چالش بکشید. وسواس نداشته باشید. فقط شروع کنید به نوشتن. لازم نیست عالی باشید. این موارد رو توی الگوریتمنویسی به خاطر داشته باشید: بهینهنویسی (Big O) و تمیز و خوانا نویسی
- میتونین یک ریپوی گیتهاب بسازین و کداتون رو اونجا قرار بدین
- با این کار حتی لازم نیست سراغ وبسایتهای لیتکد و هکررنک و ... برید و مسائل پیچیدهٔ کوانتومی پیادهسازی کنید
GitHub
es-toolkit/src at main · toss/es-toolkit
A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodash. - toss/es-toolkit
Forwarded from Geek Alerts
گستردهترین شبیهسازی از کیهان توسط کنسرسیوم اقلیدس (گروه بینالمللی که تلسکوپ فضایی «اقلیدس» آژانس فضایی اروپا رو مدیریت میکنه) منتشر شد. این شبیهسازی ۳.۴ میلیارد کهکشان رو نقشهبرداری میکنه و برهمکنشهای گرانشی بیش از ۴ تریلیون ذره رو دنبال میکنه.
شبیهسازی «Flagship 2» توسط اخترفیزیکدان «یوآخیم اشتادل» از دانشگاه زوریخ طراحی شده. اون تو سال ۲۰۱۹ از ابررایانه «Piz Daint»، که در اون زمان سومین ابررایانه قدرتمند جهان بوده، برای اجرای محاسبات استفاده کرده و در نهایت مدلی دقیق از جهان رو بهصورت مجازی ساخته.
از سال ۲۰۲۳، تلسکوپ فضایی اقلیدس به ۱۰ میلیارد سال گذشته کیهان نگاه میکنه، از اون نقشهبرداری میکنه و توزیع انرژی تاریک و ماده تاریک رو مطالعه میکنه. این شبیهسازی بر اساس «مدل کیهانشناسی استاندارد» اجرا میشه. در این مدل، انرژی تاریک که باعث انبساط جهان میشه صرفا یک ثابت قرار میگیره.
این مشاهدات کمک میکنه انبساط جهان رو بررسی کنیم و اندازهگیری کنیم که آیا این ثابت واقعا ثابت مونده یا نه. اشتادل در این مورد گفته: «ما همین حالا نشانههایی از ترکخوردگی در مدل استاندارد میبینیم.» [L]
🤓 abolfazl @geekalerts
شبیهسازی «Flagship 2» توسط اخترفیزیکدان «یوآخیم اشتادل» از دانشگاه زوریخ طراحی شده. اون تو سال ۲۰۱۹ از ابررایانه «Piz Daint»، که در اون زمان سومین ابررایانه قدرتمند جهان بوده، برای اجرای محاسبات استفاده کرده و در نهایت مدلی دقیق از جهان رو بهصورت مجازی ساخته.
از سال ۲۰۲۳، تلسکوپ فضایی اقلیدس به ۱۰ میلیارد سال گذشته کیهان نگاه میکنه، از اون نقشهبرداری میکنه و توزیع انرژی تاریک و ماده تاریک رو مطالعه میکنه. این شبیهسازی بر اساس «مدل کیهانشناسی استاندارد» اجرا میشه. در این مدل، انرژی تاریک که باعث انبساط جهان میشه صرفا یک ثابت قرار میگیره.
این مشاهدات کمک میکنه انبساط جهان رو بررسی کنیم و اندازهگیری کنیم که آیا این ثابت واقعا ثابت مونده یا نه. اشتادل در این مورد گفته: «ما همین حالا نشانههایی از ترکخوردگی در مدل استاندارد میبینیم.» [L]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Geek Alerts
گستردهترین شبیهسازی از کیهان توسط کنسرسیوم اقلیدس (گروه بینالمللی که تلسکوپ فضایی «اقلیدس» آژانس فضایی اروپا رو مدیریت میکنه) منتشر شد. این شبیهسازی ۳.۴ میلیارد کهکشان رو نقشهبرداری میکنه و برهمکنشهای گرانشی بیش از ۴ تریلیون ذره رو دنبال میکنه.
شبیهسازی «Flagship 2» توسط اخترفیزیکدان «یوآخیم اشتادل» از دانشگاه زوریخ طراحی شده. اون تو سال ۲۰۱۹ از ابررایانه «Piz Daint»، که در اون زمان سومین ابررایانه قدرتمند جهان بوده، برای اجرای محاسبات استفاده کرده و در نهایت مدلی دقیق از جهان رو بهصورت مجازی ساخته.
از سال ۲۰۲۳، تلسکوپ فضایی اقلیدس به ۱۰ میلیارد سال گذشته کیهان نگاه میکنه، از اون نقشهبرداری میکنه و توزیع انرژی تاریک و ماده تاریک رو مطالعه میکنه. این شبیهسازی بر اساس «مدل کیهانشناسی استاندارد» اجرا میشه. در این مدل، انرژی تاریک که باعث انبساط جهان میشه صرفا یک ثابت قرار میگیره.
این مشاهدات کمک میکنه انبساط جهان رو بررسی کنیم و اندازهگیری کنیم که آیا این ثابت واقعا ثابت مونده یا نه. اشتادل در این مورد گفته: «ما همین حالا نشانههایی از ترکخوردگی در مدل استاندارد میبینیم.» [L]
🤓 abolfazl @geekalerts
شبیهسازی «Flagship 2» توسط اخترفیزیکدان «یوآخیم اشتادل» از دانشگاه زوریخ طراحی شده. اون تو سال ۲۰۱۹ از ابررایانه «Piz Daint»، که در اون زمان سومین ابررایانه قدرتمند جهان بوده، برای اجرای محاسبات استفاده کرده و در نهایت مدلی دقیق از جهان رو بهصورت مجازی ساخته.
از سال ۲۰۲۳، تلسکوپ فضایی اقلیدس به ۱۰ میلیارد سال گذشته کیهان نگاه میکنه، از اون نقشهبرداری میکنه و توزیع انرژی تاریک و ماده تاریک رو مطالعه میکنه. این شبیهسازی بر اساس «مدل کیهانشناسی استاندارد» اجرا میشه. در این مدل، انرژی تاریک که باعث انبساط جهان میشه صرفا یک ثابت قرار میگیره.
این مشاهدات کمک میکنه انبساط جهان رو بررسی کنیم و اندازهگیری کنیم که آیا این ثابت واقعا ثابت مونده یا نه. اشتادل در این مورد گفته: «ما همین حالا نشانههایی از ترکخوردگی در مدل استاندارد میبینیم.» [L]
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 هوش مصنوعی این توهم را از بین برد که نوشتن کد چیزی است که شما را یک توسعه دهنده تبدیل می کند.
#توییت
@TheRaymondDev
#توییت
@TheRaymondDev
Forwarded from مهندسی کامپیوتر
LIBDL356656806767031284.pdf
5.4 MB
Forwarded from پکیج های پولی رایگان
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 چارلی کرک به جوانان نسل Z میگفت که لازم نیست حتماً دانشگاه بروید تا موفق شوید.
او معتقد است دانشگاه به «بهای گزاف» همراه با بدهیهای دانشجویی میآید و ارزش برگشتی آن در بسیاری موارد پایین است و کرک میگوید بسیاری از رشتههای دانشگاهی کارآمدی لازم را برای ورود به بازار کار ندارند، و دانشآموختگان اغلب مهارتهای عملی یا فکری لازم را به دست نمیآورند.
کرک توصیه میکرد جوانان به جای تحصیل چهار ساله، مسیرهای دیگری برای رسیدن به رویاهایشان انتخاب کنند، از جمله کارآفرینی. البته او استثنا هایی هم قائل بود: «برای پزشک، وکیل، حسابدار یا مهندسشدن، دانشگاه همچنان لازم است،؛ اما این افراد اقلیتی کوچک در میان دانشجویان هستند.»
#خبر
@TheRaymondDev
او معتقد است دانشگاه به «بهای گزاف» همراه با بدهیهای دانشجویی میآید و ارزش برگشتی آن در بسیاری موارد پایین است و کرک میگوید بسیاری از رشتههای دانشگاهی کارآمدی لازم را برای ورود به بازار کار ندارند، و دانشآموختگان اغلب مهارتهای عملی یا فکری لازم را به دست نمیآورند.
کرک توصیه میکرد جوانان به جای تحصیل چهار ساله، مسیرهای دیگری برای رسیدن به رویاهایشان انتخاب کنند، از جمله کارآفرینی. البته او استثنا هایی هم قائل بود: «برای پزشک، وکیل، حسابدار یا مهندسشدن، دانشگاه همچنان لازم است،؛ اما این افراد اقلیتی کوچک در میان دانشجویان هستند.»
#خبر
@TheRaymondDev
Fortune
Charlie Kirk had a message for the over 2 million unemployed Gen Z NEET men: You don’t need college to make your dreams happen…
From dropout to multimillion-dollar nonprofit leader, Kirk claimed college was overrated—and many Gen Z share his skepticism.
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 المنتور ۴ برابر کد بیشتری نسبت به گوتنبرگ تولید میکنه و این یعنی سایت المنتوری شما ۴ برابر کندتر لود میشه!
همونطور که میدونید، تمیز بودن کد توی سایت خیلی مهمه و تاثیر مستقیمی روی سرعت و کیفیت سایت داره. برای همین یه مقیاسه انجام شده بین گوتنبرگ و المنتور روی یک صفحه مشابه.
نتیجه جالبه:
المنتور: 796 خط کد
گوتنبرگ: 206 خط کد
این جدای از ریسکهای استفاده از پلاگین نال شده و نصب حداقل دو افزونه المنتور رایگان و نسخه پرو هست.
</Vahid Parsa>
@TheRaymondDev
همونطور که میدونید، تمیز بودن کد توی سایت خیلی مهمه و تاثیر مستقیمی روی سرعت و کیفیت سایت داره. برای همین یه مقیاسه انجام شده بین گوتنبرگ و المنتور روی یک صفحه مشابه.
نتیجه جالبه:
المنتور: 796 خط کد
گوتنبرگ: 206 خط کد
این جدای از ریسکهای استفاده از پلاگین نال شده و نصب حداقل دو افزونه المنتور رایگان و نسخه پرو هست.
</Vahid Parsa>
@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 برای ثبت افزونه Authora (افزونه ورود با موبایل برای وردپرس) سه بار در مخزن وردپرس اقدام کردم، اما با شکست مواجه شدم.
نسخه ۱.۷.۰ افزونه با تغییرات درخواستی وردپرس منتشر شد.
امیدوارم مورد تایید قرار بگیره.
https://github.com/Rayiumir/Authora
#وردپرس
@TheRaymondDev
نسخه ۱.۷.۰ افزونه با تغییرات درخواستی وردپرس منتشر شد.
امیدوارم مورد تایید قرار بگیره.
https://github.com/Rayiumir/Authora
#وردپرس
@TheRaymondDev
GitHub
GitHub - Rayiumir/Authora: Easy login with mobile number for WordPress
Easy login with mobile number for WordPress. Contribute to Rayiumir/Authora development by creating an account on GitHub.
Forwarded from Linuxor ?
توی الکامپ از استارتاپ ها و پروژه های کوچیک میپرسیدم بزرگ ترین مزیتتون نسبت به <اسم_بزرگ_ترین_رقیبشون> چیه؟ اکثرشون هیچ جوابی نداشتن و یا خیلی طولانی بود جوابشون. خیلیاشون گرم بودن در آینده بزودی روز های سختی رو پیش دارن.
برای پیشرفت استارتاپ این سوال جواب دادنش برای همه استارتاپ هایی که قرار رشد کنن الزامیه و جوابش باید تا حد ممکن کوتاه و قانع کننده باشه چون این سوال اولین سوالیه که ناخودآگاه مغز مشتری ازش میپرسه و ناخودآگاه هم خیلی Reject کنش قویه.
فنی تر بخوام بگم بهش میگن USP یا Unique Selling Proposition یا دلیل قانع کننده برای انتخاب تو...
@Linuxor
برای پیشرفت استارتاپ این سوال جواب دادنش برای همه استارتاپ هایی که قرار رشد کنن الزامیه و جوابش باید تا حد ممکن کوتاه و قانع کننده باشه چون این سوال اولین سوالیه که ناخودآگاه مغز مشتری ازش میپرسه و ناخودآگاه هم خیلی Reject کنش قویه.
فنی تر بخوام بگم بهش میگن USP یا Unique Selling Proposition یا دلیل قانع کننده برای انتخاب تو...
@Linuxor
Forwarded from Linuxor ?
آمار جهانی میگه 90% استارتاپ ها توی 5 سال اولشون شکست میخورن اکثرش هم بخاطر اینه که این سه تا دایره بالا رو نمیفهمن.
اکثر مواقع هم منجر به این میشه بنیان گذارانشون به سمت افسردگی اضطراب و فشار های شدید شغلی میرن. شاید این جمله من غیر قابل درک باشه براتون ولی واقعا فشار و درد و غم شدیدی داره.
هیچ چیز قابل مقایسه با این غم نیست، اگه تجربش نکردید بخوام سر نخ بهتون بدم با شکست عشقی که 85% افراد و احتمالا شما تجربش کردید مقایسش میکنم: ریشه جفت درد ها از عدم تایید شدن میاد و ذهن بسیار واکنش های دردناکی بهش میده.
با علمش وارد استارتاپ و کلا تولید چیزی بشید و مواظب خودتون و روانتون هم باشید.
@Linuxor
اکثر مواقع هم منجر به این میشه بنیان گذارانشون به سمت افسردگی اضطراب و فشار های شدید شغلی میرن. شاید این جمله من غیر قابل درک باشه براتون ولی واقعا فشار و درد و غم شدیدی داره.
هیچ چیز قابل مقایسه با این غم نیست، اگه تجربش نکردید بخوام سر نخ بهتون بدم با شکست عشقی که 85% افراد و احتمالا شما تجربش کردید مقایسش میکنم: ریشه جفت درد ها از عدم تایید شدن میاد و ذهن بسیار واکنش های دردناکی بهش میده.
با علمش وارد استارتاپ و کلا تولید چیزی بشید و مواظب خودتون و روانتون هم باشید.
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
با کمک cursor یه API اوپن سورس منتشر کردم برای انجام RAG ، خیلی ساده و خیلی خیلی سریع با Bun
چیز پیچیده ای نیست. برای استفاده های ساده کار راه انداز هست. تمام پروسه RAG اتوماتیک انجام میشه.
نیاز به هیچ api key نداره کاملا لوکال با ollama و vercel ai sdk
https://github.com/xmannii/fast-rag-api
@DevTwitter | <Mani/>
چیز پیچیده ای نیست. برای استفاده های ساده کار راه انداز هست. تمام پروسه RAG اتوماتیک انجام میشه.
نیاز به هیچ api key نداره کاملا لوکال با ollama و vercel ai sdk
https://github.com/xmannii/fast-rag-api
@DevTwitter | <Mani/>
Forwarded from Reza Jafari
نکاتی در مورد Feature Scaling در عمل
تو دنیای Machine Learning خیلی وقتها نتیجهی کار یک مدل به چیزهای کوچیکی بستگی داره که ممکنه اولش به چشم نیاد. یکی از این جزئیات مهم، Feature Scaling هست. شاید در نگاه اول ساده یا حتی بیاهمیت به نظر بیاد، اما واقعیت اینه که درست یا غلط انجام دادنش میتونه روی دقت مدل، سرعت آموزش و حتی پایداری نهایی تأثیر جدی بذاره. همهی روشهای Scaling هم یکسان نیستن؛ بعضی وقتها انتخاب درست به شدت کمک میکنه، اما انتخاب اشتباه حتی ممکنه اوضاع رو بدتر کنه.
وقتی دیتاست داریم، ویژگیها یا همون Features معمولاً واحدها و بازههای مختلفی دارن. مثلاً سن به سال، درآمد به دلار یا ریال، مسافت به متر و… حالا اگر یک مدل بخواد با این دادهها کار کنه، بهخصوص مدلی که از فاصله یا Gradient Descent استفاده میکنه، اون ویژگی که مقیاس بزرگتری داره ناخودآگاه وزن بیشتری پیدا میکنه. اینجاست که Scaling اهمیت پیدا میکنه: یعنی تبدیل کردن مقادیر ویژگیها به بازه یا مقیاسی که همه تقریباً در یک سطح اثرگذار باشن.
اهمیت این کار وقتی بیشتر معلوم میشه که بدونیم Gradient Descent در صورت وجود Featureهای با مقیاسهای متفاوت مجبور میشه مسیر بهینهسازی رو به شکل زیگزاگ طی کنه و این کار رو خیلی کند میکنه. یا مثلاً در مدلهایی مثل KNN، K-means و SVM اگر مقیاسها متفاوت باشن، همون Feature با بازه بزرگتر کل تصمیمگیری رو تحت تأثیر میذاره. در عوض، وقتی از Standardization استفاده میکنیم (یعنی دادهها میانگین صفر و انحراف معیار یک پیدا میکنن)، ضرایب در مدلهای خطی خیلی قابل مقایسهتر میشن. البته درخت تصمیم و Random Forest معمولاً به Scaling حساس نیستن و تقریباً بدون مشکل کار میکنن.
روشهای مختلفی برای Scaling وجود داره. یکی از رایجترینها Normalization یا همون Min–Max Scaling هست که دادهها رو به بازه [0,1] میاره. این روش ساده و سرراست هست اما مشکلش اینه که به Outlier خیلی حساسه. روش دیگه Standardization یا Z-score هست که دادهها رو حول میانگین صفر و انحراف معیار یک پخش میکنه. اگر توزیع دادهها نرمال باشه عالی جواب میده، ولی اگه توزیع خیلی نامتقارن باشه یا Outlier زیاد باشه، کیفیتش پایین میاد. برای همین گاهی سراغ Robust Scaling میریم که به جای میانگین و انحراف معیار، از Median و IQR استفاده میکنه و نسبت به Outlierها مقاومتره. یک روش دیگه هم Max-Abs Scaling هست که دادهها رو جوری تغییر میده که بزرگترین مقدار مطلق هر Feature یک بشه.
البته Scaling همیشه هم جواب نمیده. مثلاً در مدلهای Tree-based تغییر خاصی ایجاد نمیکنه. از طرفی اگر روش اشتباه انتخاب بشه، نتیجه میتونه حتی بدتر از حالتی باشه که هیچ Scaling انجام نشده. نکتهی مهم دیگه اینه که Scaling باید فقط روی Training Set محاسبه بشه و همون پارامترها بعداً روی Validation و Test Set اعمال بشن؛ وگرنه Data Leakage اتفاق میافته و کل نتایج آزمایش بیاعتبار میشه.
تحقیقات جدید نشون دادن که تفاوت بین بهترین و بدترین روش Scaling روی یک مدل میتونه خیلی قابل توجه باشه. مثلاً برای Logistic Regression، SVM یا Neural Networks انتخاب درست Scaling خیلی حیاتی هست، ولی برای مدلهایی مثل Random Forest یا Gradient Boosting تأثیرش خیلی کمتره. در نتیجه، بهترین کار اینه که اگر مطمئن نیستیم، چند روش مختلف رو امتحان کنیم و با Cross-validation ببینیم کدوم بهتر جواب میده.
پس در نهایت میشه گفت Feature Scaling چیزی نیست که بشه نادیده گرفت. تو بعضی پروژهها میتونه هم سرعت و هم دقت رو چند برابر بهتر کنه، و تو بعضی مدلها هم شاید هیچ فرقی ایجاد نکنه. اما اینکه با دقت انتخاب بشه و درست پیادهسازی بشه، همیشه ارزشش رو داره.
🔤 🔤 🔤 🔤 🔤 🔤 🔤
🥇 اهورا اولین اپراتور هوش مصنوعی راهبردی ایران در حوزه ارائه خدمات و سرویسهای زیرساخت هوش مصنوعی
🌐 لینک ارتباط با اهورا
@reza_jafari_ai
تو دنیای Machine Learning خیلی وقتها نتیجهی کار یک مدل به چیزهای کوچیکی بستگی داره که ممکنه اولش به چشم نیاد. یکی از این جزئیات مهم، Feature Scaling هست. شاید در نگاه اول ساده یا حتی بیاهمیت به نظر بیاد، اما واقعیت اینه که درست یا غلط انجام دادنش میتونه روی دقت مدل، سرعت آموزش و حتی پایداری نهایی تأثیر جدی بذاره. همهی روشهای Scaling هم یکسان نیستن؛ بعضی وقتها انتخاب درست به شدت کمک میکنه، اما انتخاب اشتباه حتی ممکنه اوضاع رو بدتر کنه.
وقتی دیتاست داریم، ویژگیها یا همون Features معمولاً واحدها و بازههای مختلفی دارن. مثلاً سن به سال، درآمد به دلار یا ریال، مسافت به متر و… حالا اگر یک مدل بخواد با این دادهها کار کنه، بهخصوص مدلی که از فاصله یا Gradient Descent استفاده میکنه، اون ویژگی که مقیاس بزرگتری داره ناخودآگاه وزن بیشتری پیدا میکنه. اینجاست که Scaling اهمیت پیدا میکنه: یعنی تبدیل کردن مقادیر ویژگیها به بازه یا مقیاسی که همه تقریباً در یک سطح اثرگذار باشن.
اهمیت این کار وقتی بیشتر معلوم میشه که بدونیم Gradient Descent در صورت وجود Featureهای با مقیاسهای متفاوت مجبور میشه مسیر بهینهسازی رو به شکل زیگزاگ طی کنه و این کار رو خیلی کند میکنه. یا مثلاً در مدلهایی مثل KNN، K-means و SVM اگر مقیاسها متفاوت باشن، همون Feature با بازه بزرگتر کل تصمیمگیری رو تحت تأثیر میذاره. در عوض، وقتی از Standardization استفاده میکنیم (یعنی دادهها میانگین صفر و انحراف معیار یک پیدا میکنن)، ضرایب در مدلهای خطی خیلی قابل مقایسهتر میشن. البته درخت تصمیم و Random Forest معمولاً به Scaling حساس نیستن و تقریباً بدون مشکل کار میکنن.
روشهای مختلفی برای Scaling وجود داره. یکی از رایجترینها Normalization یا همون Min–Max Scaling هست که دادهها رو به بازه [0,1] میاره. این روش ساده و سرراست هست اما مشکلش اینه که به Outlier خیلی حساسه. روش دیگه Standardization یا Z-score هست که دادهها رو حول میانگین صفر و انحراف معیار یک پخش میکنه. اگر توزیع دادهها نرمال باشه عالی جواب میده، ولی اگه توزیع خیلی نامتقارن باشه یا Outlier زیاد باشه، کیفیتش پایین میاد. برای همین گاهی سراغ Robust Scaling میریم که به جای میانگین و انحراف معیار، از Median و IQR استفاده میکنه و نسبت به Outlierها مقاومتره. یک روش دیگه هم Max-Abs Scaling هست که دادهها رو جوری تغییر میده که بزرگترین مقدار مطلق هر Feature یک بشه.
البته Scaling همیشه هم جواب نمیده. مثلاً در مدلهای Tree-based تغییر خاصی ایجاد نمیکنه. از طرفی اگر روش اشتباه انتخاب بشه، نتیجه میتونه حتی بدتر از حالتی باشه که هیچ Scaling انجام نشده. نکتهی مهم دیگه اینه که Scaling باید فقط روی Training Set محاسبه بشه و همون پارامترها بعداً روی Validation و Test Set اعمال بشن؛ وگرنه Data Leakage اتفاق میافته و کل نتایج آزمایش بیاعتبار میشه.
تحقیقات جدید نشون دادن که تفاوت بین بهترین و بدترین روش Scaling روی یک مدل میتونه خیلی قابل توجه باشه. مثلاً برای Logistic Regression، SVM یا Neural Networks انتخاب درست Scaling خیلی حیاتی هست، ولی برای مدلهایی مثل Random Forest یا Gradient Boosting تأثیرش خیلی کمتره. در نتیجه، بهترین کار اینه که اگر مطمئن نیستیم، چند روش مختلف رو امتحان کنیم و با Cross-validation ببینیم کدوم بهتر جواب میده.
پس در نهایت میشه گفت Feature Scaling چیزی نیست که بشه نادیده گرفت. تو بعضی پروژهها میتونه هم سرعت و هم دقت رو چند برابر بهتر کنه، و تو بعضی مدلها هم شاید هیچ فرقی ایجاد نکنه. اما اینکه با دقت انتخاب بشه و درست پیادهسازی بشه، همیشه ارزشش رو داره.
@reza_jafari_ai
Please open Telegram to view this post
VIEW IN TELEGRAM