از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه، مدرس به ارزیابی عملکرد مدلهای کلاسیفیکیشن میپردازد و به مفاهیمی مانند ماتریس کانفیوژن، ریکال، پریسیشن و اف اسکور میاندازد. همچنین، به اهمیت استفاده از معیارهای جایگزین اکیورسی در کاربردهای حساس مانند پزشکی و نیاز به تعادل دادهها در مواقع عدم تعادل نمونهها اشاره میکند. ارزیابی هر دو نوع خطا (پوزیتیو و نگاتیو) در مسائل تشخیصی نیز مورد توجه قرار میگیرد.
نکات کلیدی
ارزیابی عملکرد مدلها با استفاده از ماتریس کانفیوژن و معیارهایی مانند ریکال، پریسیشن و اف اسکور ضروری است.
معیارهایی مانند ریکال و پریسیشن در کاربردهای حساس مانند پزشکی به عنوان معیارهای جایگزین اکیورسی استفاده میشوند.
استفاده از اکیورسی مهم است وقتی تعداد نمونههای هر کلاس تقریباً یکسان است.
هر دو نوع خطا (پوزیتیو و نگاتیو) در مسائل تشخیصی به طور مساوی مهم هستند.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
معیارهایی مانند ماتریس کانفیوژن، ریکال، پریسیشن و اف اسکور برای ارزیابی عملکرد مدلهای کلاسیفیکیشن استفاده میشوند.
در کاربردهای حساس مانند پزشکی، معیارهایی مانند ریکال و پریسیشن به دلیل اهمیت آنها در تشخیص صحیح، به عنوان معیارهای جایگزین اکیورسی استفاده میشوند.
اکیورسی در مواقعی که تعداد نمونههای هر کلاس تقریباً یکسان است و نیاز به تعادل دادهها وجود دارد، استفاده میشود.
آخرین بهروزرسانی محتوای متنی:
در این دوره جامع، وارد دنیای Deep Learning (یادگیری عمیق) میشویم و مفاهیم اصلی، الگوریتمها و تکنیکهای مورد استفاده در ساخت مدلهای هوش مصنوعی را از پایه یاد میگیریم. این دوره برای افرادی طراحی شده که میخواهند درک عمیقی از شبکههای عصبی، معماریهای مدرن یادگیری عمیق و نحوه پیادهسازی مدلهای هوش مصنوعی با Python و PyTorch داشته باشند. در طول این دوره ابتدا با مفاهیم پایه Deep Learning آشنا میشویم و سپس قدمبهقدم به سمت ساخت و آموزش مدلهای واقعی حرکت میکنیم. در این دوره یاد میگیرید: 🔹 مفاهیم پایه یادگیری عمیق و نحوه عملکرد شبکههای عصبی 🔹 کار با Python، NumPy و PyTorch برای توسعه مدلهای Deep Learning 🔹 ساخت و آموزش Artificial Neural Networks (ANNs) 🔹 مفهوم Gradient Descent و نحوه بهینهسازی مدلها 🔹 جلوگیری از Overfitting با روشهایی مانند Regularization و Cross Validation 🔹 انتخاب Activation Function، Optimizer و Hyperparameterها 🔹 ساخت Feed Forward Neural Networks 🔹 ارزیابی عملکرد مدلهای یادگیری ماشین 🔹 کار با پروژههای عملی Deep Learning 🔹 آشنایی با Autoencoderها 🔹 اجرای مدلهای Deep Learning روی GPU 🔹 طراحی و پیادهسازی Convolutional Neural Networks (CNNs) 🔹 پروژههای مرتبط با تصاویر و Computer Vision 🔹 Transfer Learning و استفاده از مدلهای از پیش آموزشدیده 🔹 Neural Style Transfer 🔹 Generative Adversarial Networks (GANs) 🔹 Recurrent Neural Networks (RNNs) و مدلهای GRU/LSTM 🔹 مباحث اخلاقی و آینده Deep Learning همچنین در بخشهای ابتدایی دوره، مباحث ضروری Python شامل: ✅ ساختار دادهها در Python ✅ Indexing و Slicing ✅ Functions ✅ Flow Control ✅ کار با Text و Plotها بررسی میشود تا بتوانید بدون نیاز به پیشنیازهای پیچیده وارد دنیای Deep Learning شوید. این دوره مناسب چه کسانی است؟ این دوره برای: 🎯 دانشجویان و علاقهمندان هوش مصنوعی 🎯 برنامهنویسانی که میخواهند وارد حوزه Machine Learning و Deep Learning شوند 🎯 Data Scientistها و تحلیلگرانی که میخواهند مهارتهای خود را ارتقا دهند 🎯 افرادی که قصد ساخت پروژههای واقعی AI دارند مناسب است. پیشنیازهای دوره برای شروع این دوره بهتر است با موارد زیر آشنایی اولیه داشته باشید: ✔ مفاهیم پایه برنامهنویسی ✔ آشنایی مقدماتی با Python ✔ آشنایی اولیه با ریاضیات پایه اما تمام مباحث مورد نیاز در طول دوره مرور و توضیح داده خواهد شد. اگر به دنبال یادگیری Deep Learning به صورت اصولی و پروژهمحور هستید، این دوره میتواند مسیر شما را برای ورود به دنیای هوش مصنوعی هموار کند. 📌 برای مشاهده تمام جلسات این دوره، کانال Pista Academy را دنبال کنید. 🌐 وبسایت: https://pistaacademy.ir
خب ما با مفاهی مثل اکیورسی آشنا شدیم. اما خیلی وقتا اکیورسی به
تنهایی میتونه گمراه کننده باشه.
پس بهتره ما یه سری متدها
و روشهای ارزیابی دیگه هم داشته باشیم که
خیالمون از دقت مدلمون راحت باشه. اگه فقط
با اکیوریسی بخواید برید جلو تو یه سری
جاها مشکل میخورید.
خب بریم شروع بکنیم.
حالا سعی میکنم من آخر سر در حقیقت
برگردم و یه پروژه کوچولوی با همدیگه
انجام بدیم. شدم د تا پروژه انجام بدیم.
قبلش یه نکته بذارید من بگم فقط
توی وب سایتمون بچهها ما علاوه بر اینکه
شما دوستان میتونید بیاید ویدیوها رو تو
وب سایت ببینید و حتی روندتون ذخیره میشه
برای خودتون برای من نه اینجا لاگینی چیزی
ندارید که بخواد دیتای جایی ذخیره بشه
روندتون اینجا ذخیره میشه بذارید من ویپی
انم روشن کنم چون با یوتیوبه
خب [صدای خرناس]
تمام دورههامون ویدیوهامون اینجا قرار
میگیره توی وب سایت دوستان میتونید
بیاید اینجا ویدیوها رو ببینید بعد مراحل
مثلاً پیشرفتتون ثبت میشه میتونید خودتون
ببینید ویدیوها رو اگه دوست داشتین ذخیره
بکنید بعد بهتون میگه تا کجا دیدید
دورهها رو اینا یه بخشم اضافه کردین به
اسم فایلها حالا کمکم من آپدیتش میکنم
فایلهایی که هر دوره داره رو میذارم
اینجا و میتونید دانلود کنید حالا من
امروز برای همین همین دوره دیپلین تمام
فایلهای پروژههایی که میتونید ازشون
استفاده بکنید و یه سریش تو اینترنت من
آوردم رو میذارم اینجا شما دانلود بکنید
و کمکم سعی میکنم تمام فایلها رو دیگه
اینجا بذارم.
بریم شروع بکنیم کارمونو. خب
برای ارزبی مدل کلاسیفیکیشن د تا دیدگاه مهم داریم.
اصل داستان چیه؟ اینکه
واقعیت چی بوده و مدل ما چه چیزی رو
پیشبینی کرده. فرض کنید قراره ما یه بی
یه بیماری رو تشخیص بدیم با مدلمون.
اطلاعات بیمارو دادیم و گفتیم که آیا این
شکل بیماره یا نه. اگه بیمار نباشه میگیم
صفر. اگه بیمار باشه میگیم یک. د تا کلاس
داریم.
مدل روی یک شخص پیشبینی میکنه که
بیماره. یک پیشبینی میکنن اما جواب
واقعی صفره. یعنی بیمار نبوده این شخص.
برای این حالت بچهها ما ۴ تا حالت پیش
میاد. اینجا یه ذره بد کشیده. من بذار یه
عکس از اینترنت پیدا کنم که یه ذره
قشنگتر باشه، گرافیکتر باشه.
خب ببینید دوستان به این میگن کانفیوژن
ماتریکس دقیقا همون چیزی که اینجا این
کشیده. خب مفهومش چیه؟ میگه فرض کنید
این سمت چیزیه که پیشبینی کرده مدلمون.
این سمت بالا یعنی اینجا چیزیه که واقعیت
داره.
اگر چیزی که واقعیت داره ترو باشه مثلاً
فرض کنید ترو شما یک بگیرید فارسو بگیرید
صفر مدلم ترو پیشبینی کنه یعنی یک و یک
پیشبینی بکنه میشه ترو پازیتیو یعنی درست
پیشبینی کردن
اگر واقعیت
در حقیقت
صفر [گلویش را صاف میکند] باشه
اما این بگه ی میشه فارس پوزیتیو
اگه واقعیت صفر باشه ببخشید اگه واقعیت ی باشه ولی بگه صفر میشه فالس نگتیو
اگه واقعیت صفر باشه مدلمونم بگه صفر میشه
تورو نگتیو
این چار تا مفهومه
پس اگر
بیمار نباشه بیمارم نباشه تشخیص بده مدلمو
میشه ترو نگتیو
اگه بیمار باشه بیمارم تشخیص بده میشه
تورو پازیتیو د تا حالتی که برعکس تشخیص
بده یکی میشه فارس پوزیتیو یکی میشه فارس
نگیتیو بچهها مهم نیست اینا رو حفظ کنیدا
مفهومش مهمه
حالا بر اساس این پارامترا این چهار تا میا یه سری فرمول تعیین
میکنن برای ارزاوی عملکرد یک مدل
اکیولیسیکی هم بچهها از همین اون چار تا
میاد درست میشه حالا جلو تفمونشو میبینیم
اینم داره حالتهای مختلفو میگه مثلاً میگه که
طرف واقعاً بیمار بوده مدل ما گفته بیمار
پس درست گفته میشه ترو پازیتیو
اگه بیمار نبوده بیمارو تشخیص نداده میشه چی ترو نگتیو
اگه بیمار نبوده بیمار تشخیص داده میشه
فارس پوزیتیو یعنی به اشتباه پوزیتیو
تشخیص داده
اگه بیمار بوده گفته نیست میشه فالس نگتیو
حالا چرا اصلاً این مهمه به نظرتون
یه سؤال ازتون بپرسم توی دنیای پزشکی کدوم یکی از این چ۴ار تا مهمتره
و باید پایینتر بیاد؟
خب این که هیچی اینم هیچی بین این د تا خطا یعنی فارس
پوزیتیو و فارس نگتیو تو دنیای پزشکی کدوم
خطرناکتره اگه عددش بالاتر باشه؟
اگه یه آدمی بیمار نباشه بگه بیماره
اتفاقی میفته
نهایتاً میره تو فرند درمان و
حالا شاید دوباره بعداً با یه آزمایش دیگه
بفهمن که طرف بیمار نیست اما اگه
مثلاً میگم یه شخصی بیمار باشه ما و ما
بهش بگیم بیمار نیست بره خونه بمیره
خطرناکه
رفتیم با بالایی هم میتونه یه جای خطرناک
باشه آها مثلاً اگه یه موقع دارو اشتباه
بهش بدن و منجر به مثلاً آسیب بهش بشه ولی
معمولاً این پایینی خطرناکتره.
ما دنبال آدمایی هستیم که بیماری دارن و
میخوایم دربارش کنیم و نتونیم تشخیص بدیم
که این آدم بیماره و بفرستیمش خونه
میتونه خطرنگ باشه. ولی بسته به کاربرد
داره. یه سری جا امکان داره این مهمتر
بشه.
حالا اینجا ما دیدگاههای مختلف داریم. یکی میاد میگه که از میان تمام نمونههایی
که واقعاً
بیمار بودن چند موردو پیدا کردیم یعنی
دنبال تروپازیتیوی
بهش میگن ریکال به این متد ارزیابی میگن
ریکال ریکال براش ترو پازیتیو مهمه دیدگاه
دیگه چیه میگه از میان نمونههایی که مدل
پازیتیو اعلام کرده چند مورد واقعاً
پازیتیو بودن [موسیقی] به این میگن
پریسیژن یعنی دقت
این د تا سؤال شاید ظاهرشون شبیه هم باشه
ولی پاسخ متفاوت دارم
مثلاً فرض کنید ۱۰۰ تا بیمار داریم یه ذره
آب بخورم
خب من این دورهها رو ساعت حدود ۵ ۶ صبح ضبط
میکنم یه ذره هنوز صعدام درنمیاد خب
فرض کن ۱۰۰ تا مریض داریم ۲۰ نفرشون
واقعاً مریضن ببخشید ۱۰۰ تا آدم اومدم تست
دادم اطلاعاتشونو دادم ۲۰ تاشون واقعاً
بیمارن
از این ۲۰ تا مدل ما ۱۵ تاشو میفهمه ۵ تا
رو از دست میده ۵ تا رو میگه اینا بیمار
نیستن
۱۰ تا آدم سالم رو هم به اشتباه گفته چی مریضن پس ترو پازیتیومون میشه ۱۵ تا اینا
رو درست گفته
فارس نگتیومون میشه ۵ تا به اشتباه گفته
که
آ به اشتباه گفته که بیمار نیستن درسته فارس پوزیتیو یعنی به اشتباه گفته بیمارم
میشه ۱۰ تا ترو نگتیو یعنی ۷۰ نفرم بهش
درستی گفته که بیمار نیستند پس این
پارامترامون اینه اینم کانفیوژن ماتریکسش
حالا بریم این پارامترهای مختلفو محاسبه
کنیم
که از قبل داشتیم میشه تعداد ج پیشبینی
درست تقسیم بر کل یعنی چی؟ یعنی ۷۰ به
اضافه ۱۵ میشه ۸۵ تقسیم بر ۱۰۰ میشه ۸۵
این میشه اکیوریسی
حالا اونجایی که اکیورسی میلنگه کجاست؟ فرض کنید شما
۹۹۰ تا مدل دارید که حالت صفرن بیمار نیستن ۱۰ تا هم آدم دارید که بیمارن
فرض کنید توی آزمایشی
مدل شما این ۹۹۰ تا رو درست تشخیص بده به
اونایی که بیمار نیستنو اما اونایی که
بیمارنو هیچ کدومو نتونه پیدا بکنه کنه
اینجا ارکی روسیمون بچهها چنده؟ میشه ۹۹۰
تا رو درست گفته تقسیم بر ۱۰۰ میشه ۹۹
بعد خوشحال و اینا شادمان بگید که من مدلم
۹۹۰ دقت دارم ولی خب این دقت بخور تو سرش
اون ۱۰ تا آدمی که بیمار بودنو اصلاً
نتونسته پیدا بکنه پس اکیورسی خیلی جاها
میتونه معیار کافی و
به درد بخوری نباشه چرا؟ شون تو همین مثال
نتونسته آدمای بیمارو پیدا بکنه
میریم سراغ یه متد عرضی دیگه پریسیشن
پریسیشن فرموش اینه میگه اونایی که
پوزیتیو بودن و درست تشخیص داده تقسیم بر
ترو پوزیتیو به اضافه فالس پوزیتیو
نمیخوادم حفظ کنیدا بچهها مفهومش
از پریسیژن چی میگه میگه از میان مواردی
که پوزیتیو اعلام کردی چند درصد واقعاً
پوزیتیو بودن
مثلاً مثلاً تو اون مثال قبلیمون
ترو پوزیتیومون ۱۵ تا بود فارس پوزیومون
۱۰ تا بود پس پریسیژن میشه ۶۰
یعنی
۶۰ کسایی که پوزیتیو اعلام کردی واقعاً
پوزیتیو بودن
یعنی ۶۰ کسایی که بیمار بودن واقعاً بیمار
بودن
خب بیایم برای مثال بعدی یه فرمول دیگه داریم به نام ریکال
این فرمول ش اینه
فرقش با اون بالایی چیه
اینجا این فارس پوزیتیوه اینجا این فارس نگیتیوه میگه از تمام پوزیتیوهای واقعی
یعنی بذارید یه جور دیگه بگم از تمام
اونایی که بیمار بودن چند درصدشونو تونستی
پیدا کنی
۷۵ کسایی که بیمار بودنو تونسته پیدا بکنن
حالا ما
سه تا عدد داریم پریسیژن ریکال اکیورسی
وقتی این سه تا رو کنار هم بذاریم
میتونیم بفهمیم که اوضاع چطوره یه متد
ارزیابی دیگه داریم داریم بهش میگن افان
اسپور
میگه گاهی پریسیژن خوبه ریکال بده یا
برعکس
برای اینکه د تا رو با هم ترکیب بکنیم یه
فرمول داشتیم بهش میگن اف و اسکور این
فرمولشه
تو مثال قبلی پریسیشن ۶۰ خیکال ۷۵ پس اف
میشه انقدر
بچهها این میانگین نیستا این چیه بهش میگن هارمونیک مین
میگه اگه یکی از این د تا خیلی پایین باشه
اف وم میاد پایین
خیلی پایین باشه
یعنی اگر اف و اومده بود خیلی پایین بدونید که یکی از این متد عرضمون خیلی
عضاش خرابه اما اگه مثلاً در حدود همدیگه
باشن حالا یکش یکیشون یه زدن پایینتر
باشه اف کلیکت پایین نمیاد
خب میگه حالا از کدوم متریکا کی استفاده بکنیم
اکیورسی کی مهمه موقعی که بچهها کلاسمون یعنی صفر و یکمون تعدادشون تقریباً یکسان
باشه متعادل باشه نه اینکه یکیشون ۹۹۰ تا
یکی ۱۰ تا باشه پیرسی سیژن موقعی که فارس
پوزیتیو مهمه
یعنی ما برامون مهمه که بدونیم چند تا
آدم رو به اشتباه گفته بیمارم
ریکار کی مهمه فارس نگتیو یعنی موقعی که
ما برامون مهمه بدونیم چند تا آدم رو
به اشتباه گفته بیمار نیستن اونجا ریکار مهمه
اف و کجا مهمه موقع که هر دو تا این د تا
مهم باشه هر دو تا خطاها براتون مهم باشه
جایی هم که بچهها دیتا ستتون متوازنه
آنبالانسه بهتر که از این ست استفاده کنید
سراغ اکریسی نبوده
خیلی خب بریم بیایم جلسه بعدی بریم سراغ یه پروژه یه مثالی رو با همدیگه کدشو
بزنیم و اینا رو با هم ببینیم فعلاً
خداحافظ ‏S