<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های فرهاد بیرانوند</title>
        <link>https://virgool.io/feed/@fbiran2022</link>
        <description>متخصص علم داده و یادگیری ماشین</description>
        <language>fa</language>
        <pubDate>2026-06-10 20:11:47</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/2491140/avatar/hAnVCB.jpg?height=120&amp;width=120</url>
            <title>فرهاد بیرانوند</title>
            <link>https://virgool.io/@fbiran2022</link>
        </image>

                    <item>
                <title>نشت داده‌ها در یادگیری ماشین</title>
                <link>https://virgool.io/@fbiran2022/data-leakage-o4jkkgcam9li</link>
                <description>در هنگام صلح بیشتر عرق بریز تا در خلال جنگ کمتر خون بریزی. سان تزومقدمه                تصور کنید که مدل یادگیری ماشینی طراحی کرده‌اید که روی داده‌های آزمون تقریباً دقت کامل دارد. طبیعی است که خوشحال شده‌اید و قصد استقرار مدل را در عمل دارید. با این حال، در عمل مدل دقت بسیار ضعیفی از خود بروز می‌دهد. ایراد از کجاست و چگونه می‌توان آن را حل کرد؟ یک دلیل این تناقض در عملکرد مدل می‌تواند به علت پدیده‌ای باشد به نام نشت داده‌ها. نشت داده‌ها یکی از خطاهای مهم در یادگیری ماشین است. نشت داده‌ها زمانی رخ می‌دهد که داده‌هایی که ما برای آموزش الگوریتم یادگیری ماشین استفاده کره‌ایم، حاوی اطلاعاتی است که مدل قرار است پیش‌بینی کند. این امر موجب نتایج غیر قابل اعتماد و پیش‌بینی‌های بد در استقرار مدل می‌شود.منظور از نشت داده‌هانشت داده‌ها زمانی رخ می‌دهد که طراح مدل یادگیری ماشین به صورت تصادفی داده‌هایی بین مجموعه آموزش و مجموعه آزمون به اشتراک می‌گذارد. هدف اصلی از شکستن داده‌ها به مجموعه‌های آموزش و آزمون این است که هیچ داده‌ مشترکی بین این دو زیر مجموعه وجود نداشته باشد. در واقع قرار است مدل در دنیای واقعی روی داده‌های نادیده اعمال شود. چون مدل در اثر اشتباه طراح، بخشی از داده‌های آزمون را در قالب داده‌های آموزش مشاهده کرده و از آن‌ها آموخته است، بنابراین، در فاز آزمون دقت بسیار بالایی از خود نشان می‌دهد. مثال‌هایی از نشت داده‌هاپیش از پرداختن به مثال‌ها، لازم است تا با دو مفهوم &quot;ویژگی‌ها&quot; (Features) و &quot;متغیر هدف&quot; (Class) آشنا شویم. متغیر هدف: خروجی که مدل قصد دارد پیش‌بینی کند.ویژگی‌ها: داده‌های مورد استفاده برای پیش‌بینی متغیر خروجی.مثال 1 - ساده‌ترین حالت نشت داده‌ها زمانی است که ما در الگوریتم خود، متغیر هدف را نیز در مجموعه آموزش به عنوان ویژگی لحاظ می‌کنیم.مثال 2 - حالت دیگر زمانی است که مجموعه‌های آموزش و آزمون در برخی داده‌ها همپوشانی دارند. مثال 3 -  برخی ویژگی‌ها در مجموعه داده، حاوی اطلاعاتی در مورد متغیر هدف هستند. این ویژگی‌ها را ویژگی‌های بدل (Giveaway Features)  می‌نامند. مثلا در مجموعه داده مدلی که قرار است داشتن یک بیماری را پیش‌بینی کند، متغیری که نشان دهد بیمار یک عمل جراحی مربوطه انجام داده است، ویژگی بدل محسوب می‌شود که منجر به نشت داده‌ها می‌شود. نشت داده‌ها را چگونه باید تشخیص داد؟حالت 1 - در کل اگر مدل خیلی کامل جواب می‌دهد و نتایج ارزیابی فاز آزمون به فاز آموزش بسیار نزدیک است، باید به نشت داده‌ها شک کرد.حالت 2 - در مرحله تحلیل کاوشی داده‌ها (DEA) باید ویژگی‌هایی را که بشدت با متغیر هدف همبستگی دارند کشف کرد. این متغیرها را بسته به شرایط باید حذف یا ادغام کرد.حل مشکل نشت داده‌هاایده 1 - استخراج مجموعه مناسب از ویژگی‌هادر انتخاب ویژگی‌ها باید اطمینان حاصل کرد که ویژگی‌های انتخاب شده با متغیر هدف همبسته نباشند، یا حاوی اطلاعاتی در مورد متغیر هدف نباشند. ایده 2 -  ایجاد یک مجموعه اعتبارسنجی مجزاایجاد یک مجموعه اعتبارسنجی مجزابرای کاهش احتمال نشت داده‌ها، یک راه ایجاد مجموعه اعتبارسنجی علاوه بر مجموعه آموزش و مجموعه آزمون است. هدف از ایحاد مجموعه اعتبارسنجی، تقلید سناریوی دنیای واقعی است و می‌تواند به عنوان گام آخر مورد استفاده قرار گیرد. با انجام این کار، اگر بیش‌برازش (Overfitting) مشاهده شد، مدل قطعا در دنیای واقعی عملکرد نامناسیی خواهد داشت و احتمال نشت داده‌ها بسیار است.ایده 3 - انجام مجزای پیش‌پردازش روی هر دو مجموعه آموزش و آزموندر پیش‌پردازش داده‌ها، مرسوم است که نرمال‌سازی انجام شود. در نرمال‌سازی، مقدار داده بر میانگین آن تقسیم می‌شود. اغلب واقع این نرمال‌سازی بر کل مجموعه داده اعمال می‌شود، که ممکن است اطلاعات آزمون روی داده‌های آموزش تاثیر بگذارد و در نهایت منجر به نشت داده‌ها شود. بنابراین، برای پرهیز از نشت داده‌ها، نرمال‌سازی روی هر دو مجموعه، آموزش و آزمون، مستقلا صورت می‌گیرد. ایده 4 - داده‌های سری زمانینمونه داده‌های سری زمانی بورس تهراندر برخورد با داده‌های سری زمانی، باید توجه بیشتری به نشت داده‌ها داشت. برای مثال، اگر به نحوی از داده‌های آینده در محاسبات ویژگی‌های فعلی یا پیش‌بینی‌ها استفاده شود، به احتمال زیاد مدل نهایی دارای نشت داده خواهد بود. معمولا این کار با تقسیم تصادفی داده‌ها به زیر مجموعه‌های آموزش و آزمون اتفاق می‌افتد. پس در کار با سری زمانی، ایجاد یک نقطه برش (Cutoff) در زمان می‌تواند بسیار مفید باشد، زیرا مانع از افشای اطلاعات پس از زمان پیش‌بینی می‌شود.ایده 5 - اعتبارسنجی متقاطع (Cross-Validation)اعتبارسنجی متقاطعوقتی داده‌های محدودی برای آموزش الگوریتم داریم، بهتر است که از اعتبارسنجی متقاطع در فاز آموزش بهره بریم. در اعتبارسنجی متقاطع، کل داده‌ها به k بخش شکسته می‌شوند و در طی k مرحله، هر بار k-1 بخش برای آموزش و یک بخش باقیمانده برای آزمون مدل استفاده می‌شود. مزیت این رویکرد این است که از کل مجموعه داده برای اهداف آموزش و آزمون استفاده می‌شود. نتیجه‌گیریمی‌توان گفت که نشت داده‌ها در حوزه تحلیل پیشگو، پدیده‌ای شایع است.ما مدل خود را با داده‌های معلوم آموزش می‌دهیم و انتظار داریم روی داده‌های نادیده در عمل و به عنوان هدف نهایی عملکرد خوبی از خود بروز دهد. بنابراین، اگر مدل در پیش‌بینی خوب عمل کند، قابل تعمیم است. اما، نشت داده‌ها از این تعمیم جلوگیری می‌کند و باعث ایجاد فرضیات نادرست در مورد عملکرد مدل می‌شود. بنابراین، برای ساختن مدل‌های پیشگوی محکم و قابل تعمیم، باید توجه خاصی به کشف و پرهیز از نشت داده‌ها مبذول داشت.</description>
                <category>فرهاد بیرانوند</category>
                <author>فرهاد بیرانوند</author>
                <pubDate>Wed, 10 May 2023 10:51:54 +0330</pubDate>
            </item>
                    <item>
                <title>ماتریس پیچیدگی در مدل‌های طبقه‌بند یادگیری ماشین</title>
                <link>https://virgool.io/@fbiran2022/%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%D8%B3-%D9%BE%DB%8C%DA%86%DB%8C%D8%AF%DA%AF%DB%8C-%D8%AF%D8%B1-%D9%85%D8%AF%D9%84-%D9%87%D8%A7%DB%8C-%D8%B7%D8%A8%D9%82%D9%87-%D8%A8%D9%86%D8%AF-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-wtca5ijrqpo9</link>
                <description>برای آنکه دشمن خود را بشناسی، باید دشمن خود شوی. سان تزوماتریس پیچیدگیماتریس پیچیدگی، برای نمایش مصور عملکرد یک مدل یادگیری ماشین استفاده می‌شود. ماتریس پیچیدگی، مقادیر پیش‌بینی شده و واقعی یک مدل طبقه‌بندی را برای تشخیص طبقه‌بندی‌های اشتباه به صورت خلاصه نشان می‌دهد. ماتریس پیچیدگی چه مواردی را محاسبه می‌کند؟این ماتریس با نمایش تعداد پیش‌بینی‌های درست و تعداد پیش‌بینی‌های نادرست، کیفیت پیش‌بینی‌های یک مدل طبقه‌بند را نشان می‌دهد. این ماتریس، چهار معیار زیر را محاسبه می‌کند:مثبت درست (TP) : مدل مثبت پیش‌بینی‌ کرده و کلاس نیز مثبت است. مثلاً: مدل تومور بیمار را بدخیم پیش‌بینی‌ کرده و کلاس تومور نیز در تصویر یا داده‌ها بدخیم است.منفی درست (TN) : مدل منفی پیش‌بینی‌ کرده و کلاس نیز منفی است. مثلاً: مدل تومور بیمار را خوش‌خیم پیش‌بینی‌ کرده و کلاس تومور نیز در تصویر یا داده‌ها خوش‌خیم است.مثبت کاذب (FP) : مدل مثبت پیش‌بینی‌ کرده ولی کلاس منفی است. مثلاً: مدل تومور بیمار را بدخیم پیش‌بینی‌ کرده ولی کلاس تومور در تصویر یا داده‌ها خوش‌خیم است.منفی کاذب (FN) : مدل منفی پیش‌بینی‌ کرده ولی کلاس مثبت است. مثلاً: مدل تومور بیمار را خوش‌خیم پیش‌بینی‌ کرده ولی کلاس تومور در تصویر یا داده‌ها بدخیم است.ماتریس پیچیدگی  تشخیص سرطان سینه معیارهای عملکرد الگوریتم طبقه‌بندمعیارهای زیر از ماتریس پیجیدگی و نتایج آن قابل استخراج هستند:صحت (Accuracy) : این معیار نشان می‌دهد مدل تا چه اندازه درست کار می‌کند. نحوه محاسبه صحت: صحت =  (تعداد منفی‌های درست + تعداد مثبت‌های درست) تقسیم بر  تعداد کل پیش‌بینی‌هادقت (Precision) : از کل مثبت‌های پیش‌بینی شده، چه نسبتی واقعا متعلق به کلاس مثبت هستند؟ این ئمعیار نشان مدل ایا مدل قابل اطمینان هست یا خیر؟ دقت در مواردی که مثبت کاذب دغدغه‌ی مهم‌تری از منفی کاذب است. دقت در سیستم‌های پیشنهاد دهنده موسیقی و ویدئو، ریزش مشتری و وب‌سایت‌های تجارت الکترونیک مهم است. نحوه محاسبه دقت: دقت =  تعداد مثبت‌های درست تقسیم بر  مجموع مثبت‌های درست و مثبت‌های کاذب حساسیت یا بازیابی (Recall) : چه درصدی از همه موارد مثبت، مثبت پیش‌بینی شده‌اند؟ حساسیت، میزان خوبی مدل در پیش‌بینی کلاس مثبت را نشان می‌دهد. در مورادی که منفی کاذب مهم‌تر از مثبت کاذب باشد، بازیابی معیار مهم‌تری نسبت به بقیه معیارهاست. مثلا در پزشکی خیلی مهم نیست که برخی موارد سالم بیمار (مثبت) تشخیص داده شوند، بلکه مهم آن است که برخی موارد مثبت بیماری از قلم نیفتند. نحوه محاسبه حساسیت:بازیابی = تعداد مثبت‌های درست تقسیم بر  مجموع مثبت‌های درست و منفی‌های کاذب تمایز (Specificity) : عملکرد مدل در پیش‌بینی نتایج کلاس منفی را نشان می‌دهد. نحوه محاسبه تمایز:تمایز = تعداد منفی‌های درست تقسیم بر مجموع منفی درست و مثبت کاذب امتیاز اف (F_Score) : میانگین هارمونیک دقت و حساسیت است. در عمل با بالا رفتن دقت، بازیابی کاهش پیدا می‌کند و برعکس. امتیاز اف هر دو ریه دقت و بازیابی را در یک مقدار خلاصه می‌کند. نحوه محاسبه: امتیاز اف= 2* (حساسیت* دقت) تقسیم بر (حساسیت + دقت)</description>
                <category>فرهاد بیرانوند</category>
                <author>فرهاد بیرانوند</author>
                <pubDate>Mon, 08 May 2023 14:31:19 +0330</pubDate>
            </item>
            </channel>
</rss>