<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های roozitalabt</title>
        <link>https://virgool.io/feed/@roozitalabt</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-04-14 21:40:41</pubDate>
        <image>
            <url>https://static.virgool.io/images/default-avatar.jpg</url>
            <title>roozitalabt</title>
            <link>https://virgool.io/@roozitalabt</link>
        </image>

                    <item>
                <title>رابطه واریانس و بایاس در یادگیری ماشین</title>
                <link>https://virgool.io/@roozitalabt/%D8%B1%D8%A7%D8%A8%D8%B7%D9%87-%D9%88%D8%A7%D8%B1%DB%8C%D8%A7%D9%86%D8%B3-%D9%88-%D8%A8%D8%A7%DB%8C%D8%A7%D8%B3-%D8%AF%D8%B1-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-pfl9pwwnbnxx</link>
                <description>1. بایاس:خطای کلی مرتبط با &quot;داده های آموزشی&quot; به عنوان بایاس نامیده می شود. هنگامی که خطای داده های آموزشی افزایش می یابد یا دقت داده های آموزشی کاهش می یابد، به آن بایاس بالا و زمانی که خطای داده های آموزشی کاهش می یابد یا دقت داده های آموزشی افزایش می یابد، به آن بایاس کم گفته می شود.بایاس زیاد: خطای داده آموزشی بالا / دقت کم داده آموزشی.بایاس کم: خطای کم داده های آموزشی / دقت داده های آموزشی بالا.2. واریانس:توجه داشته باشید که واریانس با &quot;داده های تست&quot; مرتبط است در حالی که بایاس با &quot;داده های آموزشی&quot; مرتبط است. خطای کلی مرتبط با داده های آزمایشی واریانس نامیده می شود. هنگامی که خطاهای مرتبط با داده های تست افزایش می یابد، به آن واریانس بالا و بالعکس برای واریانس کم گفته می شود.واریانس بالا: خطای داده تست بالا / دقت داده تست پایین.واریانس کم: خطای داده های تست پایین / دقت داده های تست بالا.مثال دنیای واقعی:مورد دانش آموزی به نام «شیوام» را در نظر بگیرید که برای آزمون ورودی IIT درس می خواند. شیوام در یک برنامه مربیگری ثبت نام می کند تا به هدف خود یعنی قبولی در یکی از IIT دست یابد. این مربی در دو سال گذشته با شیوام همکاری داشته است. در این مربیگری، شیوام در آزمون های تمرینی متعدد برای سنجش آمادگی خود شرکت خواهد کرد. این &quot;داده های آموزشی&quot; برای شیوام است. در نهایت، پس از دو سال مطالعه، شیوام در آزمون JEE شرکت خواهد کرد که به عنوان &quot;داده های تست&quot; شیوام عمل می کند. زیرا دقت خروجی شیوام را ارزیابی می کند.فرض کنید هنگام شرکت در امتحانات تمرینی در مربیگری، شیوام عملکرد فوق العاده ای دارد. به عنوان یک بایاس کم در نظر گرفته می شود. از آنجایی که دقت تمرین بالا و خطای تمرین کم است. چه می شود اگر شیوام در این تست های تمرینی مربیگری بد عمل کند. بله...، درست متوجه شدید. در نظر گرفته می شود که بایاس بالایی دارد.بیایید اکنون به واریانس نگاهی بیندازیم زیرا مربوط به داده های آزمایشی است. امتحان نهایی JEE به عنوان داده های آزمایشی برای Shivam عمل می کند. شیوام یا عصبی یا با اعتماد به نفس (بسته به آموزش) زمانی که در نهایت پس از 2 سال آمادگی فشرده برای امتحان JEE ظاهر می شود، خواهد بود. گفته می شود که شیوام در آزمون صدک بالایی کسب کرده است. این یک مورد کم واریانس است. از آنجایی که دقت تست بالا و خطای تست کم است. اگر شیوام در آزمون JEE به طور بدی شکست بخورد، واریانس بالایی است.IAS مبادله واریانسرابطه بین بایاس، واریانس و خطای مدل در این بخش از مقاله بررسی خواهد شد. در شکل زیر، محور X پیچیدگی الگوریتم یا درجه چند جمله ای را نشان می دهد، در حالی که محور Yخطای ارائه شده توسط مدل را نشان می دهد. هدف اصلی در اینجا کاهش خطا در محور y با متعادل کردن بایاس و واریانس است.واریانس با منحنی زرد نشان داده می شود و بدیهی است که با افزایش پیچیدگی الگوریتم یا درجه چند جمله ای، واریانس افزایش می یابد و باعث می شود که خطای مدل در محور y به صورت تصاعدی افزایش یابد. با این حال، Bias در منحنی سفید رفتار متفاوتی دارد: با افزایش پیچیدگی الگوریتم در محور x، Bias^2 به صورت تصاعدی کاهش می‌یابد و باعث کاهش خطای مدل در محور y می‌شود.در اینجا، ما قرار است یک نقطه شیرین / نقطه بهینه را پیدا کنیم که در آن خطا از نظر بایاس و واریانس کم است. خطای کلی نشان داده شده توسط منحنی های زرد و سفید با منحنی قرمز نشان داده می شود. نقطه بهینه در این منحنی قرمز نقطه ای است که کمترین مقدار خطا را دارد. این دقیقا همان چیزی است که ما می خواستیم.اکنون که در مورد بایاس و تنوع آموخته اید، آماده اید که ادامه دهید. بیایید به چند سناریو نگاهی بیندازیم.1) واریانس زیاد بایاس بالا:وقتی دقت داده‌های آموزشی و آزمایشی ضعیف است، یا زمانی که خطای داده‌های آموزش و آزمایش بالا است، «واریانس بالا» به آن اشاره می‌شود. هشدار اصطلاحات!!!! برای توصیف این وضعیت از اصطلاح &quot;کم تناسب&quot; استفاده می شود. وضعیت عدم اتصال در نمودار زیر نشان داده شده است. در نتیجه، تعداد بیشتری از خطاها را با داده‌های آموزشی امکان‌پذیر می‌کند که منجر به یک حالت بایاس بالا می‌شود. این منجر به یک مدل ضعیف می شود که نمی تواند روی داده های آزمایشی جدید عملکرد خوبی داشته باشد و در نتیجه یک سناریوی واریانس بالا ایجاد می شود.بایاس بالا واریانس بالا:مثال دنیای واقعیبیایید یک بار دیگر از Shivamبه عنوان مثال استفاده کنیم. فرض کنید شیوام همیشه با HC Verma، OP Tondon و R.D. Sharma مبارزه کرده است. او در تمام امتحانات تمرینی آموزشی در مربیگری و سپس در آزمون JEEنیز ضعیف عمل کرد. از آنجایی که هم دقت آموزش و هم دقت تست در این شرایط ضعیف است، به عنوان یک موقعیت بایاس بالا و واریانس بالا در نظر گرفته می شود. (مادرش می خواهد او را تا سر حد مرگ بزند... و او به خوبی از این موضوع آگاه است. پسر بیچاره!!!)با کد درک کنیدبرای درک این ایده، از الگوریتم K-Nearest Neighbor (KNN) در این بخش استفاده خواهیم کرد. می دانیم که K فراپارامتری است که باید تنظیم شود.قبل از شروع، چیزی وجود دارد که باید درک کنید: -هنگامی که مقدار k بزرگ است، گفته می شود که شرایط کمتر از حد مناسب است. در نتیجه، مدل دقت ضعیفی در داده های آموزشی ارائه می دهد.کم بایاس واریانس بالا:زمانی که دقت داده‌های آموزشی بالا و دقت داده‌های تست ضعیف باشد، به شرایط بایاس کم و واریانس بالا گفته می‌شود. هشدار: اصطلاحات!!! برای توصیف این وضعیت، از کلمه “overfitting” استفاده می شود.سناریوی overfitting در نمودار زیر نشان داده شده است. در این سناریو، مدل تمام اطلاعات مربوط به داده‌های آموزشی، از جمله نویز غیرضروری را جمع‌آوری می‌کند که منجر به دقت مدل بالا برای داده‌های آموزشی، اما شکست برای داده‌های آزمایش جدید می‌شود.کم بایاس واریانس بالاhttps://images.app.goo.gl/Xeh81rAQGtCPkRve8مثال دنیای واقعیشیوام یک بار دیگر ظاهر می شود تا چیزها را برای شما توضیح دهد. این مورد زمانی است که شیوام در تمام امتحانات تمرینی در مربیگری خوب عمل کرده بود اما به دلیل اعصاب یا عوامل دیگر در آزمون JEE عملکرد بدی داشته است.با کد درک کنیدهنگامی که k کم باشد، به عنوان یک شرایط بیش از حد برازش در نظر گرفته می شود، به این معنی که الگوریتم تمام اطلاعات مربوط به داده های آموزشی، از جمله نویز را دریافت می کند. در نتیجه، مدل با داده های آموزشی بسیار خوب عمل می کند اما با داده های آزمایشی ضعیف است. در این مثال از k=1 (overfitting) برای طبقه بندی متغیر admit استفاده می کنیم.کد زیر دقت مدل را برای داده های آموزشی با (k = 1) ارزیابی می کند. ما می‌توانیم ببینیم که این مدل نه تنها الگو را در تمرین، بلکه نویز را نیز به تصویر می‌کشد. در این مورد دقت آن بیش از 99 درصد است. -&gt; بایاس کمبا کد درک کنیدبنابراین، ما ارزیابی دقت داده های آموزشی را به پایان رسانده ایم. بیایید به دنبال داده های آزمایشی بگردیم. از کد زیر مشخص است که مدل نتوانسته دقت خوبی ارائه دهد. این تنها دقت 65% را برای داده های تست ارائه می دهد. ——&gt; واریانس بالا.این تنها دقت 65% را برای داده های تست ارائه می دهد3) واریانس کم بایاس کم:این بهترین سناریو است. دقت آموزش و تست در اینجا بالاست. این به عنوان داشتن بایاس کم و واریانس کم شناخته می شود. این دقیقاً همان وضعیتی است که ما می خواهیم. با آموزش مدل با تنظیم هایپرپارامتر قادر به دستیابی به این مورد خواهیم بود.شکل زیر وضعیت واریانس کم بایاس کم را نشان می دهد. این مدل نویز موجود در داده‌های آموزشی را ضبط نمی‌کند و برای داده‌های آموزشی و آزمایشی با دقت مناسبی عملکرد قابل‌تحسین‌آوری خواهد داشت.کم بایاس واریانس کمhttps://images.app.goo.gl/Xeh81rAQGtCPkRve8مثال دنیای واقعیفرض کنید، شیوام در تمام امتحانات تمرینی مربیگری عالی بود، و زمانی که در نهایت در JEE شرکت کرد، صدک خوبی دریافت کرد و در IIT رویایی خود پذیرفته شد (اکنون مادرش خوشحال است و او می تواند غذای مورد علاقه خود را بخورد. امشب :)).با کد درک کنیدبا تنظیم هایپرپارامترها، باید بتوانیم بهترین مقدار را برای k پیدا کنیم. بیایید به مقدار kصحیح برای داده های آموزشی نگاه کنیم. کد زیر دقت مدل را برای مقادیر مختلف k نشان می دهد. برای k=8، بالاترین دقت را ارائه می دهد. یعنی «74.33 درصد». بنابراین ما به این مقدار kپایبند خواهیم بود.دقتمطابق کد زیر، دقت مدل برای آموزش داده‌های با k=8 73.66 درصد است.k=8 73.66 درصد استدقت مدل برای آزمایش داده ها با k=8 72 درصد است. در این مورد با داده های آموزشی و آزمایشی به خوبی کار می کند. شرایط Overfitting و underfitting در این مورد وجود ندارد.k=8 72% استامیدوارم این مقاله به شما در درک بهتر مفهوم کمک کرده باشد. ما در مورد بایاس و واریانس و موارد مختلف مرتبط با آنها، مانند کم بایاس low v، یاد گرفتیم</description>
                <category>roozitalabt</category>
                <author>roozitalabt</author>
                <pubDate>Fri, 14 Jan 2022 21:00:41 +0330</pubDate>
            </item>
                    <item>
                <title>پیش بینی زمان سفر بین شهری با استفاده از درخت تصمیم</title>
                <link>https://virgool.io/@roozitalabt/%D9%BE%DB%8C%D8%B4-%D8%A8%DB%8C%D9%86%DB%8C-%D8%B2%D9%85%D8%A7%D9%86-%D8%B3%D9%81%D8%B1-%D8%A8%DB%8C%D9%86-%D8%B4%D9%87%D8%B1%DB%8C-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%B1%D8%AE%D8%AA-%D8%AA%D8%B5%D9%85%DB%8C%D9%85-iqeqzlaziouc</link>
                <description>در این مقاله، وظیفه پیش‌بینی زمان سفر بین دو نقطه دلخواه در یک فضای بین شهری را در نظر می‌گیریم. مقاله این مشکل را از دو منظر زمانی می‌بیند: پیش‌بینی بلندمدت با افق چند روزه و پیش‌بینی کوتاه‌مدت با افق یک ساعته. هر دوی این دیدگاه ها برای وظایف برنامه ریزی در زمینه تحرک شهری و خدمات حمل و نقل مرتبط هستند. مقاله از روش‌های مجموعه مبتنی بر درخت استفاده می‌کند که در مجموعه داده‌ای از سوابق سفر تاکسی از شهر نیویورک آموزش و ارزیابی می‌کند. از طریق تجزیه و تحلیل گسترده داده ها، مقاله ویژگی های زمانی و مکانی مربوطه را شناسایی می کند. و همچنین ویژگی های اضافی را بر اساس آب و هوا و داده های مسیریابی مهندسی می کند. مورد دوم از طریق یک حل کننده مسیریابی که در شبکه راه ها کار می کند به دست می آید. نتایج محاسباتی نشان می‌دهد که افزودن این داده‌های مسیریابی می‌تواند برای عملکرد مدل مفید باشد. علاوه بر این، استفاده از مدل‌های مختلف برای پیش‌بینی کوتاه‌مدت و بلندمدت مفید است زیرا مدل‌های کوتاه‌مدت برای انعکاس شرایط کنونی مناسب‌تر هستند. در واقع، مقاله نشان می‌دهد که پیش‌بینی‌های کوتاه‌مدت دقیق ممکن است تنها با داده‌های آموزشی کمی به دست آید.پیش‌بینی زمان سفر در اصل می‌تواند با هر تکنیک رگرسیونی برای نتایج قابل اندازه گیری  انجام شود. به طور خاص، یک مدل نظری را در نظر بگیرید:y = f(x1.....xp) + e = f(x) + eکه در آن y زمان سفر وx1,.....xp  ویژگی‌های متناظری هستند که متغیرهای توضیحی نیز نامیده می‌شوند به‌عنوان مثال، اطلاعات مربوط به زمان‌های سفر تاریخی، مقصد یا حتی داده‌های آب‌وهوا را که در بردار x انباشته شده‌اند (x1....... xp) در بردارند.علاوه بر این، e یک عبارت خطا و f یک تابع رگرسیون ناشناخته است که برای توصیف رابطه بین y و x باید تخمین زده شود. برای این منظور، برنامه های کاربردی مرتبط در پیش بینی سفر از رویکردهای تحلیل سری های زمانی یا هوش مصنوعی و یادگیری ماشین استفاده کرده اند. در اینجا، ماشین‌های بردار پشتیبان ، k-نزدیک‌ترین همسایگان  یا شبکه‌های عصبی و یادگیری عمیق پیشنهاد شده‌اند. ما روی روش هایی تمرکز می کنیم که از درختان به عنوان یادگیرنده پایه استفاده می کنند. به طور خاص، ما عملکرد چندین روش مبتنی بر درخت مانند CART و مجموعه‌های bagged یا تقویت‌شدهboosted را مطالعه می‌کنیم. این شامل random forest ،  Extra (randomized) Trees و همچنین الگوریتم‌های Xgboost و Light-GBM است که اخیراً پیشنهاد شده است . این روش ها 1) به دلیل قوی بودن در برابر خطی بودن ویژگی‌ها و ابعاد بالا شناخته می‌شوند، 2) معمولاً آموزش آسان‌ترو 3) همچنین به بار محاسباتی کمتری نسبت به الگوریتم‌های یادگیری عمیق پیشرفته‌تر نیاز دارند. در واقع، مدل‌های Random Forests یا Stochastic Gradient Boosting پیش‌بینی‌های دقیقی را در زمینه زمان سفر نشان داده‌اند. فرض کنیدD = (y1,x1),.....(yn,xn) داده های مشاهده شده را با xi = (xi1.... xip) نشان می دهد.مقاله روی رگرسیون تمرکز می کند درختان از کلاس CART. ایده کلیدی این است که حریصانه فضای ویژگی را به مناطق مجزا، مثلا R1;...;Rm، تا زمانی که یک معیار توقف مشخص کامل شود تقسیم کند. در انتها، برای هر یک از نواحی مجزای حاصل که گره های پایانی نیز نامیده می شوند زمان سفر به این صورت خواهد بود: که Nj =xi : xi,Rjاست. یعنی زمان سفر یک بردار ویژگی جدید x  با در نظر گرفتن میانگین بر روی تمام yi با بردار ویژگی xi متعلق به ناحیه ای که حاوی x است، پیش بینی می شود. برای به دست آوردن عبارت مذکور، تقسیم‌های باینری به صورت بازگشتی انجام می‌شود که از مجموعه ویژگی‌های کامل (گره ریشه) شروع می‌شود و با گره‌های حاصل و غیره به صورت زیر ادامه می‌یابد: برای هر گره، مقدار ویژگی مشاهده‌شده که واریانس کل دو گره را به حداقل می‌رساند. پس از تقسیم انتخاب شده است. یک مثال اسباب بازی در شکل 1 در زیر آورده شده است، جایی که ما عمق درخت دو را انتخاب کرده ایم. در اینجا، ویژگی &quot;روز هفته&quot; با مقدار &quot;آخر هفته&quot; به عنوان انتخاب شداولین نقطه تقسیم درخت : دو گره بعدی فضای کامل ویژگی را به ترتیب به مشاهدات متعلق به Weekends (گره سمت چپ در ردیف اول) و همه روزهای دیگر (گره سمت راست) تقسیم می کنند. پس از آن، متغیر &quot;زمان روز&quot; با مقدار ویژگی &quot;7 صبح&quot; برای تقسیم داده های متعلق به آخر هفته انتخاب شد. دو مجموعه حاصل گره های پایانی و مقادیر پیش بینی مربوطه bc1 = 25 هستند. 7 دقیقه و bc2 = 7; 8 دقیقه طبق (1) محاسبه شد. به طور مشابه، برای روزهای هفته ویژگی &quot;دما&quot; با نقطه انجماد به عنوان مقدار تقسیم انتخاب شد و bc3 = 17. 4 دقیقه و bc4 = 9; 2 دقیقه محاسبه شد.یکی از مهمترین سوالات در مورد سبد خرید انتخاب اندازه درخت است. یک استراتژی این است که ابتدا یک درخت بزرگ B0 رشد دهید تا با استفاده از تکنیک هرس، اندازه درخت را کاهش دهید. در اینجا، چندین تکنیک هرس وجود دارد و ما انتخاب کرده‌ایم که از هزینه هرس پیچیدگی (CCP) معرفی شده توسط بریمن استفاده کنیم . برای توصیف این تکنیک، ما B B0 را به عنوان هر زیردرختی از B0 در نظر می گیریم، که می توان با جمع کردن هر تعداد از گره های داخلی آن به دست آورد.فرض کنید Qj(B) = P (xi;yi)2Rj (yi * ^cp)2=Nj میانگین مربعات خطا در ناحیه Rp باشد.سپس CCP به صورت C (B) = Pm j=1 NjQj(B)+ m تعیین می شود. که در آن یک پارامتر تنظیم برای مبادله-o بین اندازه درخت و خوبی t وجود دارد. درخت فرعی با حداقل C (B) انتخاب می شود، به طوری که مقادیر بزرگ به اندازه درختان کوچکتر منجر می شود. این یک نکته مهم است زیرا مزیت اصلی درختان، تفسیرپذیری آنها است، همانطور که در مثال شکل بالا نشان داده شده است. با این حال، اگر اندازه درخت خیلی بزرگ باشد، تفسیر می تواند دست و پا گیر شود. علاوه بر این، درختان با هزینه یک مدل پیش‌بینی نسبتاً ساده همراه هستند که معمولاً می‌توان آن را از نظر دقت با روی آوردن به تکنیک‌های گروهی افزایش داد.</description>
                <category>roozitalabt</category>
                <author>roozitalabt</author>
                <pubDate>Fri, 07 Jan 2022 18:29:46 +0330</pubDate>
            </item>
                    <item>
                <title>Cross validation</title>
                <link>https://virgool.io/@roozitalabt/cross-validation-udfljcbauzoi</link>
                <description>Cross validation در یادگیری ماشین:چگونه به درستی یاد بگیریم!در یادگیری ماشین (ML)، عملیات generalization معمولاً به توانایی  الگوریتم در تاثیرگذاری در ورودی های مختلف اشاره دارد. یعنی مدل در مواجهه با ورودی های با توزیع یکسان کاهش عملکرد ندارد.برای انسان generalization نرمال ترین چیز ممکن است. ما می توانیم به راحتی مثل آب خوردن طبقه بندی کنیم. به عنوان مثال، ما قطعاً یک سگ را می شناسیم حتی اگر قبلاً این نژاد را ندیده باشیم. با این وجود، ممکن است برای یک مدل MLکاملاً یک چالش جدی باشد. به همین دلیل است که بررسی توانایی الگوریتم برای generalizationیا همان کلی نگری یک کار مهم است که در ساخت مدل نیاز به توجه زیادی دارد.برای این کار از Cross-Validation (CV) استفاده می کنیم.در این گزارش به موارد زیر خواهیم پرداخت:Cross validation چیست: تعریف، هدف استفاده و تکنیک هاتکنیک‌های مختلف CV: نگه‌داشتن، k-folds، Leave-one-out، Leave-p-out،  k-foldمکرر، k-folds تودرتو، CVکاملنحوه استفاده از این تکنیک ها: sklearnCross validation در یادگیری ماشین: sklearn، CatBoostCross validation در یادگیری عمیق: Keras، PyTorch، MxNetبهترین شیوه ها و نکات: سری های زمانی، داده های پزشکی و مالی، تصاویرCross-Validationچیست؟cross validationتکنیکی برای ارزیابی یک مدل یادگیری ماشین و آزمایش عملکرد آن است. CVمعمولاً در کارهای کاربردی ML استفاده می شود. این به مقایسه و انتخاب  مدل های مناسب برای مسئله مدل‌سازی پیش‌بینی‌  کمک کننده است.درک CV آسان است، پیاده‌سازی آن آسان است، و مایل است بایاس کمتری داشته باشد نسبت به سایر روش‌های مورد استفاده و برای شمارش امتیازهای موثر است. همه اینها cross valرا به ابزاری قدرتمند برای انتخاب بهترین مدل برای تبدیل می کند.تکنیک های مختلفی وجود دارد که ممکن است برای اعتبارسنجی متقابل یک مدل استفاده شود. با این حال، همه آنها یک الگوریتم مشابه دارند:1)مجموعه داده را به دو بخش تقسیم کنید: یکی برای آموزش، دیگری برای آزمایش2)مدل را روی مجموعه آموزشی آموزش دهید3)اعتبار سنجی مدل در مجموعه آزمایشیمرحله 1-3 را چند بار تکرار کنید. این عدد به روش cvکه استفاده می کنید بستگی دارد.همانطور که می دانید، تکنیک های CVزیادی وجود دارد. برخی از آنها معمولا استفاده می شوند، برخی دیگر فقط در تئوری کار می کنند. بیایید روش‌های cv  را که در این مقاله پوشش داده خواهد شد، ببینیم.Hold-outK-foldsLeave-one-outLeave-p-outStratified K-foldsRepeated K-foldsNested K-foldsCompleteHold-outcross validationHold-outساده ترین و رایج ترین تکنیک است. شاید ندانید که این روش شاید اصطلاحا hold out است اما مطمئناً هر روز از آن استفاده می کنید.الگوریتم تکنیک Hold-out:1)مجموعه داده را به دو بخش تقسیم کنید: مجموعه آموزشی و مجموعه تست. معمولاً 80 درصد مجموعه داده به مجموعه آموزشی و 20 درصد به مجموعه آزمایشی می‌رود، اما می‌توانید هر تقسیم‌بندی را که مناسب‌تر باشد انتخاب کنید.2)مدل را روی مجموعه آموزشی آموزش دهید3)در مجموعه آزمایشی اعتبار سنجی کنید4)نتیجه اعتبارسنجی را ذخیره کنیدما معمولاً از روش نگهدارنده در مجموعه داده‌های بزرگ استفاده می‌کنیم، زیرا فقط یک بار نیاز به آموزش مدل دارد.اجرای hold outواقعاً آسان است. برای مثال، می‌توانید این کار را با استفاده از sklearn.model_selection.train_test_splitانجام دهید.?با این حال، این روش یک نقطه ضعف بزرگ دارد.به عنوان مثال، مجموعه داده ای که از نظر توزیع کاملاً یکنواخت نیست. اگر چنین است، ممکن است پس از splitدر یک نقطه ناهموار قرار بگیریم. به عنوان مثال، مجموعه آموزشی مجموعه تست را نشان نخواهد داد. هر دو مجموعه تمرین و تست ممکن است بسیار متفاوت باشند، یکی از آنها ممکن است آسان تر یا سخت تر باشد.علاوه بر این، این واقعیت که ما مدل خود را فقط یک بار آزمایش می کنیم ممکن است یک چالش برای این روش باشد. با توجه به دلایل ذکر شده در بالا، ممکن است نتیجه به دست آمده با تکنیک Hold-outنادرست در نظر گرفته شود.k-foldK-Fold CV تکنیکی است که معایب روش hold out را به حداقل می رساند. k-Fold روش جدیدی برای تقسیم مجموعه داده معرفی می کند که به غلبه بر &quot;تست فقط یک بار &quot; کمک می کند.الگوریتم تکنیک k-Fold:1)تعدادی kرا انتخاب کنید . معمولاً 5 یا 10 است، اما می‌توانید هر عددی را انتخاب کنید که کمتر از طول مجموعه داده باشد.2)مجموعه داده را به kقسمت مساوی (در صورت امکان) تقسیم کنید (به آنها foldsگفته می شود)3)k – 1 folds را انتخاب کنید که مجموعه آموزشی خواهد بود.  Fold باقی مانده مجموعه آزمایشی خواهد بود4)مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار cv باید یک مدل جدید مستقل از مدل آموزش داده شده در تکرار قبلی آموزش دهید.5)در مجموعه آزمایشی اعتبار سنجی کنید6)نتیجه اعتبارسنجی را ذخیره کنید7)مراحل 3-6 را تکرار کنید. هر بار از foldباقی مانده به عنوان مجموعه تست استفاده کنید. در پایان، شما باید مدل را روی هر فولد که دارید اعتبارسنجی کرده باشید.8)برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 6 به دست آوردید.برای انجام اعتبارسنجی متقاطع k-Foldمی توانید از sklearn.model_selection.KFoldاستفاده کنید.?به طور کلی همیشه بهتر است به جای Hold-outاز تکنیک k-Fold استفاده کنید. از آنجایی که آموزش و آزمایش بر روی چندین بخش مختلف مجموعه داده انجام می شود مقایسه k-Fold نتیجه پایدارتر و قابل اعتمادتری به دست می دهد. اگر تعداد k را افزایش دهیم تا مدل را روی بسیاری از زیر مجموعه‌های مختلف مختلف آزمایش کنیم، می‌توانیم امتیاز کلی را قوی‌تر کنیم.با این حال، روش k-Fold یک نقطه ضعف دارد. افزایش kمنجر به آموزش مدل های بیشتر می شود و فرآیند آموزش ممکن است واقعاً گران و زمان بر باشد.Leave one outاعتبار سنجی متقابل (LOOCV) یک مورد خاص از K-Fold CV است. تصور کنید که k برابر با nباشد که n تعداد نمونه های مجموعه داده است. چنین مورد k-Fold معادل تکنیک Leave-one-outاست.الگوریتم تکنیک LOOCV:1)یک نمونه از مجموعه داده را انتخاب کنید که مجموعه آزمایشی خواهد بود2)n – 1 نمونه باقیمانده مجموعه آموزشی خواهد بود3)مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار، یک مدل جدید باید آموزش داده شود4)در مجموعه آزمایشی اعتبار سنجی کنید5)نتیجه اعتبارسنجی را ذخیره کنید6)مراحل 1 تا 5را nبار تکرار کنید، همانطور که برای n نمونه، nمجموعه آموزشی و تست متفاوت داریم.7)برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 5 به دست آوردید.برای LOOCV sklearnهمچنین دارای یک روش داخلی است. می توان آن را در کتابخانه model_selection - sklearn.model_selection.LeaveOneOut پیدا کرد.?بزرگترین مزیت Leave-one-outاین است که داده های زیادی را هدر نمی دهد. ما فقط از یک نمونه از کل مجموعه داده به عنوان یک مجموعه آزمایشی استفاده می کنیم، در حالی که بقیه مجموعه آموزشی است. اما وقتی با k-Fold CV مقایسه می‌شود، LOOCV نیاز به ساخت nمدل به جای k مدل دارد، وقتی می‌دانیم که nکه تعداد نمونه‌های مجموعه داده است بسیار بیشتر از kاست. این بدان معناست که LOOCV از نظر محاسباتی گرانتر از k-Fold است، ممکن است زمان زیادی برای اعتبارسنجی متقابل مدل با استفاده از LOOCVنیاز باشد.بنابراین، جامعه علوم داده یک قاعده کلی بر اساس شواهد تجربی و تحقیقات مختلف دارد که نشان می‌دهد که روش 5 یا 10 فولد باید بر LOOCVترجیح داده شود.Leave p outP-out (LpOC) شبیه به leave one out CV است زیرا تمام مجموعه های آموزشی و آزمایشی ممکن را با استفاده از نمونه های p به عنوان مجموعه آزمایشی ایجاد می کند.با این حال، شایان ذکر است که بر خلاف LOOCVو مجموعه‌های تست k-Fold برای LpOCاگر p بالاتر از 1 باشد، همپوشانی دارند.الگوریتم تکنیک LpOC:1)نمونه های pرا از مجموعه داده انتخاب کنید که مجموعه آزمایشی خواهد بود2)n - p نمونه باقیمانده مجموعه آموزشی خواهد بود3)مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار، یک مدل جدید باید آموزش داده شود4)در مجموعه آزمایشی اعتبار سنجی کنید5)نتیجه اعتبارسنجی را ذخیره کنید6)مراحل 2 تا 5 ? را تکرار کنید7)برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 5 به دست آوردیدمی‌توانید Leave-p-out CVرا با استفاده از sklearn – sklearn.model_selection.LeavePOutانجام دهید.?Stratified k-Foldگاهی اوقات ممکن است با عدم تعادل زیادی در مقدار اصلی هدف در مجموعه داده مواجه شویم. به عنوان مثال، در مجموعه داده‌های مربوط به قیمت ساعت‌های مچی، ممکن است تعداد بیشتری از ساعت‌های مچی قیمت بالایی داشته باشند. در مورد طبقه‌بندی، در مجموعه داده‌های گربه‌ها و سگ‌ها ممکن است تغییر زیادی به سمت طبقه سگ وجود داشته باشد.K-Fold طبقه بندی شده نوعی از تکنیک استاندارد K-Fold CVاست که به گونه ای طراحی شده است که در چنین مواردی از عدم تعادل هدف بکارگرفته شود.به صورت زیر عمل می کند. K-Foldطبقه بندی شده مجموعه داده را بر روی k فولد تقسیم می کند به طوری که هر فولد تقریباً دارای درصد مشابهی از نمونه های هر کلاس هدف به عنوان مجموعه کامل است. در مورد رگرسیون، Stratified k-Foldاطمینان حاصل می کند که میانگین مقدار هدف تقریباً در همه فولد ها برابر است.الگوریتم تکنیک طبقه بندی k-fold:1)تعدادی فولد را انتخاب کنید - k2)مجموعه داده را به k تعداد تقسیم کنید. هر فولد باید تقریباً دارای درصد مشابهی از نمونه‌های هر کلاس هدف در مجموعه کامل باشد3)k – 1 folds را انتخاب کنید که مجموعه آموزشی خواهد بود. و باقیمانده مجموعه آزمایشی خواهد بود4)مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار یک مدل جدید باید آموزش داده شود5)در مجموعه آزمایشی اعتبار سنجی کنید6)نتیجه اعتبارسنجی را ذخیره کنید7)مراحل را 3 تا 6 را kبارتکرار کنید. هر بار از فولد باقی مانده به عنوان مجموعه تست استفاده کنید. در پایان، شما باید مدل را روی هر فولد که دارید اعتبارسنجی کرده باشید.8)برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 6 به دست آوردید.همانطور که ممکن است متوجه شده باشید، الگوریتم تکنیک Stratified k-Fold شبیه به K-Foldsاستاندارد است. شما نیازی به کدنویسی اضافی ندارید زیرا این روش همه کارهای لازم را برای شما انجام می دهد.Stratified k-Fold همچنین یک روش داخلی در sklearn دارد - sklearn.model_selection.StratifiedKFold.?k-foldمکرر:اعتبارسنجی متقابل k-Foldمکرر یا CV نمونه‌برداری تصادفی مکرر احتمالاً قوی‌ترین تکنیک از تمام تکنیک‌های CV در این گزارش است. این یک تغییر از k-Fold است اما در مورد K-Folds تکراری kتعداد فولد ها نیست. تعداد دفعاتی است که ما مدل را آموزش خواهیم داد.ایده کلی این است که در هر تکرار، نمونه‌هایی را به‌طور تصادفی از سرتاسر مجموعه داده به عنوان مجموعه آزمایشی انتخاب می‌کنیم. به عنوان مثال، اگر تصمیم بگیریم که 20٪ از مجموعه داده ها مجموعه آزمایشی ما باشد، 20٪ نمونه به طور تصادفی انتخاب می شوند و 80٪ بقیه به مجموعه آموزشی تبدیل می شوند.الگوریتم تکنیک Repeated k-Fold:1)kرا انتخاب کنید -k بار مدل آموزش داده می شود2)تعدادی نمونه را انتخاب کنید که مجموعه آزمایشی خواهد بود3)مجموعه داده را تقسیم کنید4)روی مجموعه آموزشی تمرین کنید. در هر تکرار اعتبارسنجی متقاطع، یک مدل جدید باید آموزش داده شود5)در مجموعه آزمایشی اعتبار سنجی کنید6)نتیجه اعتبارسنجی را ذخیره کنید7)مراحل را 3-6 راkبار تکرار کنید8)برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 6 به دست آوردید.K-Fold مکرر مزایای واضحی نسبت به k-Fold CV استاندارد دارد. اولاً، نسبت تقسیم آموزش/آزمایش به تعداد تکرارها بستگی ندارد. ثانیا، ما حتی می توانیم نسبت های منحصر به فردی را برای هر تکرار تنظیم کنیم. ثالثاً، انتخاب تصادفی نمونه‌ها از مجموعه داده، Repeated k-Fold را برای  انتخاب بایاس قوی‌تر می‌کند.با این حال، برخی از معایب وجود دارد. k-Fold CV تضمین می‌کند که مدل روی همه نمونه‌ها آزمایش می‌شود، در حالی که K-Fold تکراری بر اساس تصادفی‌سازی است که به این معنی است که برخی از نمونه‌ها ممکن است هرگز برای قرار گرفتن در مجموعه آزمایش انتخاب نشوند. در همان زمان، برخی از نمونه ها ممکن است چندین بار انتخاب شوند.Sklearn به شما در پیاده سازی Repeated k-Fold CV کمک می کند. فقط از sklearn.model_selection.RepeatedKFoldاستفاده کنید. در اجرای sklearn این تکنیک باید تعداد فولدهایی که می خواهید داشته باشید (n_splits) و تعداد دفعاتی که تقسیم انجام می شود (n_repeats) را تنظیم کنید. این تضمین می کند که در هر تکرار فولد های مختلفی خواهید داشت.?K-Fold تو در توبرخلاف سایر تکنیک‌های CV، که برای ارزیابی کیفیت یک الگوریتم طراحی شده‌اند، Nested k-Fold CV محبوب‌ترین راه برای تنظیم پارامترهای یک الگوریتم است.تصور کنید که ما یک پارامتر pداریم که معمولاً به الگوریتم پایه ای که ما در حال cross val آن هستیم بستگی دارد. به عنوان مثال، برای رگرسیون لجستیک، ممکن است پارامتر جریمه باشد که برای تعیین رفتار مورد استفاده در جریمه استفاده می شود.الگوریتم تکنیک Nested k-Fold:1)k را انتخاب کنید – تعداد فولد، به عنوان مثال، 10 - فرض کنیم این عدد را انتخاب کرده ایم2)یک پارامتر pرا انتخاب کنید. فرض کنید الگوریتم ما رگرسیون لجستیک است و pپارامتر جریمه p = {&#x27;l1&#x27;, &#x27;l2&#x27;, &#x27;elasticnet&#x27;, &#x27;none&#x27;}3)مجموعه داده را به 10 تا تقسیم کنید و یکی از آنها را برای آزمایش در نظر بگیریم.4)یکی از فولدهای آموزشی را برای اعتبار سنجی رزرو کنید5)برای هر مقدار pروی 8 فولد آموزشی باقیمانده آموزش دهید و روی فولد اعتبارسنجی ارزیابی کنید. اکنون 4 نوع اندازه گیری دارید6)مراحل 4-5 را 9 بار تکرار کنید. برگردید ببینید که کدام فولد آموزشی، فولد اعتبارسنجی است. اکنون تعداد 9*4  بار اندازه گیری دارید7)pرا انتخاب کنید که میانگین خطای آموزش را برای 9 فولد به حداقل برساند. از آن pبرای ارزیابی روی مجموعه تست استفاده کنید8)از مرحله 2 تعداد10 بار تکرار کنید و از هرفولد به نوبت به عنوان فولد تست استفاده کنید9)میانگین و انحراف معیار اندازه گیری ارزیابی را در 10 فولد تست ذخیره کنید10)الگوریتمی که بهترین عملکرد را داشت، الگوریتمی بود که بهترین میانگین عملکرد خارج از نمونه را در 10 فولد آزمایشی داشت.این تکنیک از نظر محاسباتی گران است زیرا در طول مراحل 1 تا 10 تعداد زیادی مدل باید آموزش و ارزیابی شوند. با این حال، Nested k-Fold CV معمولا استفاده می شود و ممکن است در چندین کار ML واقعاً مؤثر باشد.متأسفانه، هیچ روش داخلی در sklearnوجود ندارد که بتواند CV Nested k-Fold را برای شما انجام دهد. این لحظه ای است که شما باید یا گوگل کنید و پیاده سازی شخصی را پیدا کنید یا خودتان آن را کدنویسی کنید.Complete cross validationCV کامل کم استفاده ترین تکنیک CV است. ایده کلی این است که ما یک عدد k - طول مجموعه آموزشی را انتخاب می کنیم و روی هر تقسیم ممکن شامل kنمونه در مجموعه آموزشی اعتبار سنجی می کنیم.مقدار آن تقسیم‌ها را می‌توان به صورت ?محاسبه کرد که n طول مجموعه داده است. اگر kبالاتر از 2 باشد، باید مدل خود را چندین بار آموزش دهیم که همانطور که قبلاً متوجه شدیم زمان فرآیند گران قیمت و از نظر محاسباتی است.به همین دلیل است که از CVکامل یا در تحقیقات نظری استفاده می شود و یا در صورت محاسبه فرمول که به حداقل رساندن محاسبات کمک می کند.الگوریتم اعتبار سنجی cvکامل:1)یک عدد kرا انتخاب کنید - طول مجموعه آموزشی2)مجموعه داده را تقسیم کنید3)روی مجموعه آموزشی تمرین کنید4)در مجموعه آزمایشی اعتبار سنجی کنید5)نتیجه اعتبارسنجی را ذخیره کنید6)مراحل 2 تا 5را ? را تکرار کنید7)برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 5 به دست آوردیداعتبار سنجی cross validation در یادگیری ماشینبیشتر تکنیک های اعتبار سنجی ذکر شده در بالا به طور گسترده در ML استفاده می شود. مهم است که به خاطر داشته باشید که استفاده از تکنیک CV مناسب ممکن است در زمان شما صرفه جویی کند و به انتخاب بهترین مدل برای کار کمک کند.این بدان معناست که اولاً، بهتر است همیشه مدل را cross validate کنید و ثانیاً باید یک روش CVمربوطه را انتخاب کنید. بنابراین، دانستن مزایا و معایب تکنیک‌های اعتبارسنجی  حیاتی است.شایان ذکر است که اگر می‌خواهید مدل را اعتبار متقابل کنید، همیشه باید دفترچه راهنمای مدل را بررسی کنید زیرا برخی از الگوریتم‌های ML، به عنوان مثال، CatBoostروش‌های CV داخلی خود را دارند. ممکن است آنها را مربوط به کار مور نظر ML خود بیابید و به جای روش های sklearnاز آنها استفاده کنید.به طور کلی، همانطور که ممکن است متوجه شده باشید، بسیاری از تکنیک‌های CV دارای روش‌های داخلی sklearn هستند. من به شدت توصیه می کنم از آنها استفاده کنید زیرا این روش ها در زمان زیادی برای کارهای پیچیده تر صرفه جویی می کنند.Cross validationدر یادگیری عمیقاعتبار سنجی متقابل در یادگیری عمیق (DL) ممکن است کمی مشکل باشد زیرا اکثر تکنیک های CVحداقل چند بار نیاز به آموزش مدل دارند.در یادگیری عمیق، معمولاً به دلیل هزینه‌های مرتبط با آموزش مدل‌های مختلف،ممکن است از CV اجتناب ‌کنید. به جای انجام k-Fold یا سایر تکنیک‌های CV، ممکن است از زیرمجموعه‌ای تصادفی از داده‌های آموزشی خود به عنوان نگهدارنده برای اهداف اعتبارسنجی استفاده کنید.به عنوان مثال، کتابخانه یادگیری عمیق Kerasبه شما امکان می دهد یکی از دو پارامتر را برای تابع fitکه آموزش را انجام می دهد، ارسال کنید.validation_split: درصدی از داده هایی که باید برای اعتبار سنجی نگهداری شوندvalidation_data: چند عدد از (X, y) که باید برای اعتبارسنجی استفاده شود. این پارامتر پارامتر validation_split را نادیده می گیرد، به این معنی که شما می توانید تنها یکی از این پارامترها را در یک زمان استفاده کنید.همین رویکرد در آموزش های رسمی سایر فریمورک های DLمانند PyTorch و MxNetاستفاده می شود. آنها همچنین پیشنهاد می کنند مجموعه داده را به سه بخش تقسیم کنید: آموزش، اعتبار سنجی و آزمایش.آموزش – بخشی از مجموعه داده برای آموزشاعتبار سنجی - بخشی از مجموعه داده برای اعتبارسنجی در حین آموزشتست - بخشی از مجموعه داده برای اعتبار سنجی نهایی مدلبهترین روش ها و نکاتشایان ذکر است که گاهی اوقات انجام اعتبارسنجی متقابل ممکن است کمی مشکل باشد.به عنوان مثال، اشتباه منطقی هنگام تقسیم مجموعه داده بسیار آسان است که ممکن است منجر به یک CVغیرقابل اعتماد شود.ممکن است نکاتی را بیابید که باید هنگام تایید متقابل یک مدل در زیر مد نظر داشته باشید:· هنگام تقسیم داده ها منطقی باشید (آیا روش تقسیم منطقی است)· از روش CVمناسب استفاده کنید (آیا این روش برای مورد استفاده من قابل اجرا است)· هنگام کار با سری های زمانی، گذشته را تأیید نکنید (به اولین نکته مراجعه کنید)· هنگام کار با داده های پزشکی یا مالی، به یاد داشته باشید که آن را بر اساس شخص تقسیم کنید. از داشتن داده برای یک نفر هم در آموزش و هم در مجموعه تست خودداری کنید زیرا ممکن است به عنوان نشت داده در نظر گرفته شود· هنگام برش تکه‌ها از تصاویر بزرگ‌تر، به یاد داشته باشید که با شناسه تصویر بزرگ تقسیم کنیدالبته، نکات از کار به کار متفاوت است و پوشش همه آنها تقریبا غیرممکن است. به همین دلیل است که انجام یک تجزیه و تحلیل داده های اکتشافی solid قبل از شروع اعتبارسنجی متقابل یک مدل همیشه بهترین روش است.مطلب نهاییاعتبار سنجی متقابل ابزار قدرتمندی است. هر دانشمند داده باید با آن آشنا باشد. در زندگی واقعی، شما نمی توانید پروژه را بدون تایید متقابل یک مدل به پایان برسانید.به نظر من بهترین تکنیک های CV Nested k-Fold و استاندارد k-Foldهستند. من شخصاً از آنها در وظیفه تشخیص تقلب استفاده کردم. K-Foldتودرتو و همچنین GridSeachCV به من کمک کرد تا پارامترهای مدل خود را تنظیم کنم. از طرف دیگر، k-Foldبرای ارزیابی عملکرد مدل من استفاده شد.در این مقاله، ما متوجه شدیم که اعتبارسنجی متقابل چیست، چه تکنیک‌های CV در طبیعت وجود دارد و چگونه آنها را پیاده‌سازی کنیم. در آینده الگوریتم های MLقطعاً حتی بهتر از امروز عمل خواهند کرد. با این حال، اعتبار سنجی متقابل همیشه برای پشتیبان گیری از نتایج شما مورد نیاز است.امیدواریم با این اطلاعات، مشکلی در تنظیم CVبرای پروژه بعدی یادگیری ماشینی خود نخواهید داشت!منبع:https://neptune.ai/blog/cross-validation-in-machine-learning-how-to-do-it-right</description>
                <category>roozitalabt</category>
                <author>roozitalabt</author>
                <pubDate>Tue, 14 Dec 2021 21:37:46 +0330</pubDate>
            </item>
                    <item>
                <title>یادگیری ماشین</title>
                <link>https://virgool.io/@roozitalabt/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-kywcwqewlepo</link>
                <description>گزارش مطالب یادگیری ماشین در سایت کوئرا?در بخش مقدمه که شامل 6 قسمت است ابتدا در پیش گفتار به خلاصه ای از موارد که بنا است در طول این دوره آموخته شود می پردازد. در قسمت نقشه راه گام هایی که قرار است برای دستیابی به اصول یادگیری ماشین طی شود گفته شده است که شامل: آشنایی با مفاهیم، یادگیری ابزارها برای آماده‌سازی و تحلیل داده، یادگیری ماشین مقدماتی و یادگیری ماشین پیشرفته است. در بخش سرگذشت هوش مصنوعی با اشاره به اینکه از زمان های قدیم دانشمندان سعی بر تحقیق و جستوجو در عملکرد مغز انسان داشته اند توانسته اند اقداماتی در این راستا انجام دهند. از جمله ساخت آدم آهنی توسط یونانیان است که بتوانند با مدل کردن مغز انسان با قطعات مکانیکی عملکرد آن را توجیه کنند. همچنین آزمون تورینگ از اقدامات اولیه در دهه 50 میلادی در حوزه هوش مصنوعی است که به ارزیابی هوشمندی ماشین پرداخته است.?آزمون تورینگ(ارزیابی عملکرد هوش مصنوعی در مقابل انسان)در فلسفه هوش مصنوعی 4 تعریف اساسی در راستای دو اصل هوشمندی در انسان بودن و منطقی بودن و هوشمندی در تفکر و رفتار وجود دارد: منطقی فکر کند-منطقی رفتار کند- مانند انسان فکر کند- مانند انسان رفتار کند. هر چند در جزییات تعاریف بالا نیز ابهاماتی وجود دارد. پس از انتخاب نوع هوشمندی ذکر شده انتخاب عمل هوشمند نیز حائز اهمیت است که می تواند در قالب سخت افزار یا نرم افزار باشد. در سال های اخیر توجه محققان به موضوعات هوش مصنوعی جلب شده است و در سال های گذشته سعی به عملیاتی سازی مبانی تئوری هوش مصنوعی شده است که تا حد بسیاری توانسته انقلابی در تکنولوژی ایجاد کند. باتوجه به اینکه قصد داریم یادگیری ماشین را بررسی کنیم نیاز است به ارتباط بین یادگیری ماشین و هوش مصنوعی بپردازیم. یادگیری ماشین را می توان زیر مجموعه ای از هوش مصنوعی دانست مبتنی بر داده است و با استفاده از داده می تواند به گونه ای عمل کند که بتواند عملیات های متفاوت مانند classification و detectionو ..... را انجام دهد.?جایگاه یادگیری ماشین نسبت به هوش مصنوعیهمچنین یادگیری ماشین به گونه ای است که بتواند مانند انسان با دیدن داده های جدید خود را پیشرفت دهد. دیدگاه دکتر فروغمند، عضو هیئت علمی دانشگاه صنعتی شریف در ارتباط با هوش مصنوعی به این صورت است که در وهله اول مسائل مرتبط با صنعت و دانشگاه را بسیار پر اهمیت دانسته اند و معتقد اند که هر چند این پیوند دارای دشواری های بسیاری است اما بسیار حائز اهمیت بوده به گونه ای که اگر بتوان دانشجویان را از صرفا تئوری محور بودن به حوزه های عملیاتی سوق داد برای پیشرفت تکنولوژی گام بسیار بزرگی خواهد بود. در ادامه با بیان اینکه هوش مصنوعی در سال های اخیر توانسته پیشرفت های روز افزونی داشته باشد. دکتر فروغمند کار در حوزه هوش مصنوعی را به دو دسته تجربی و تئوری تقسیم می کنند در بخش تجربی به عنوان مثال تطبیق الگوریتم ژنتیک انسان و خصوصیات انواع سرطان ها است و در بخش تئوری می توان به بخش بررسی عمیق روش های موجود در هوش مصنوعی و به کارگیری هسته اصلی آن در کاربرد های دیگر است به عنوان مثال مرکز اصلی شبکه های کانولوشنال را بفهمیم و آن را در سایر روش های هوش مصنوعی به کارگیریم.?تشخیص نوع سرطان با استفاده از الگوریتم های ژنتیک با استفاده از هوش مصنوعی(دکتر فروغمند)در ارتباط با آینده هوش مصنوعی ایشان گفتند که سیستم ها به جایی خواهند رسید که برای پیشرفت و آپدیت دیگر نیازی به انسان ها نداند و خودشان خودشان را پیشرفت خواهند داد.بخش 2هدف از این بخش بررسی مشاغل حوزه هوش مصنوعی است. صنعت، دانشگاه، حوزه سلامت، اقتصاد و تجارت، کسب و کارها و بسیاری دیگر، از جمله جاهایی است که هوش مصنوعی و به طور اختصاصی یادگیری ماشین کاربرد بسیاری دارد. به علت اینکه هدف هوشمند سازی سیستم ها در حوزه های مختلف است علاقمندی به این مشاغل در سال های اخیر افزایش پیدا کرده است. از دیگر دلایل جذابیت این حوزه استقبال برنامه نویسانی است که صرفا با دانستن زبان های برنامه نویسی مرتبط با یادگیری ماشین مانند پایتون می توانند متناسب با پروژه از آن بهره مند شوند. از آنجایی که علوم مبتنی بر داده دارای نقش های بسیاری در انواع حوزه ها دارد علاقمندی به آن که یادگیری ماشین یکی از شاخه های آن است را افزایش داده است. از جمله مشاغل در حوزه آنالیز داده عبارت است از : تحلیل‌گر داده،دانشمند داده،مهندس داده،مهندس یادگیری ماشین می باشد.?مشاغل حوزه هوش مصنوعیمعمولا در این حوزه ها حقوق دانشمند داده از تحلیل‌گر داده بیشتر است و مهندس یادگیری ماشین و مهندس داده از دوتای قبلی بیشتر. از جمله دیگر مشاغلی که مرتبط هستند مشاغلی است که از این علوم در مباحث پیشرفت تکنولوژی استفاده می کنند.ازجمله کاربرد های یادگیری ماشین در صنعت معدن است که به منظور پردازش تصاویر ماهواره ای، پیش‌بینی متغیرهای ژئومتالورژیکی،آنالیز تصاویر مربوط به جعبه مغزه‌ها، پردازش تصاویر گرفته‌شده از پهپاد برای شناسایی هدف‌های از پیش تعیین شده استفاده می شود.در ادامه به مصاحبه با مهندس ستوده دانشمند داده در کوئرا است میپردازد. در دپارتمانی که ایشان مشغول به فعالیت هستند از جمله کار هایی که انجام می دهند جمع آری داده های مربوط به بازی فوتبال به منظور آنالیز بازی و حتی پیش بینی نتیجه بازی و حتی به آنالیز عملکرد بازیکنان با اتصال GPSو اندازه گیری شتاب و سرعت و... می پردازند. درنهایت سعی بر این است که داده ها به صورت خودکار به جای جمع آوری دستی از بازی مربوطه جمع آوری شود که به منظور صرفه جویی در زمان خواهد شد. پس از جمع آوری اطلاعات این داده ها به مربی ها در برنامه ریزی استراتژی کمک خواهد کرد. سپس یک مطلب کلی از موقعیت‌های یادگیری ماشین که در کوئرا ثبت شده‌اند ارائه می دهند.بخش 3در ابتدای این بخش به بررسی تاریخچه و سرگذشت یادگیری ماشین می پردازیم.?سرگذشت هوش مصنوعیدر دهه 50 میلادی ساموئل از مهندسان IBMو پیشگامان هوش مصنوعی و بازیهای کامپیوتری برای اولین بار از کلمه یادگیری ماشین استفاده کرد و تعریف زیر را برای آن ارائه داد:یادگیری ماشین زمینه‌ای از تحقیقات است که به کامپیوترها توانایی یادگیری بدون برنامه‌نویسی صریح را می‌دهد. منظور از برنامه نویسی صریح این است که بدون کد نویسی و صرفا با دادن مجموعه ای از ورودی و خروجی سیستم بتواند عملیات را انجام دهد و الگوریتم خود، نیازهای خود را تشخیص می‌دهد و خود را ارتقا می‌دهد(self learning).بنابراین در حوزه یادگیری ماشین داده ها حرف اول را می زنند و بدون داده در وافع سیستمی نخواهیم داشت. از جمله انواع داده پرکاربرد مورد استفاده در این حوزه: کلمات (زبان طبیعی)، تصویر، جداول، سری زمانی می باشد که انواع دیگری نیز وجود دارند. ساموئل چارچوبی برای یادگیری ماشین ارائه داده است که عبارت است از:1)مدل تصمیم گیری2)معیار ارزیابی3)روزیه خودکار محاسبه معیار ارزیابی4)رویه خودکار بهبود مدل است.?جزییات مراحل یادگیری ماشینبه طور کلی یادگیری ماشین به سه دسته کلی تقسیم‌بندی می شود.یادگیری بانظارت ،یادگیری بی‌نظارت، یادگیری تقویتی?انواع روش ها و متد های یادگیری ماشیندر یادگیری نظارت شده داده هایی که برای آموزش الگوریتم استفاده می‌شوند، دارای برچسب هستند. یعنی که مدل یادگیری‌ماشین با استفاده از داده‌هایی که از قبل برچسب مشخصی دارند یک متد موثر تا زمانی که به دقت مناسب برسد را دنبال می کند. این الگوریتم ها به دو دسته طبقه‌بندی (classification) و رگرسیون (regression) دسته‌بندی می‌شوند.?در دسته بندی یا طبقه بندی ابتدا مدل را با استفاده از داده های برچسب‌دار، آموزش داده و سپس برای نمونه‌های بدون برچسب دسته مناسب(متغییر گسسته) را تشخیص می دهد. در رگرسیون، با تخمین یک مقدار پیوسته برای ره داده مدل سازی را انجام می دهد. در یادگیری بدون نظارت بدون هیچ گونه برچسب به پیش بینی درمورد داده ها می پردازد و الگوی نهفته بین ورودی و خروجی را می یابد. خوشه‌بندی یکی از انواع یادگیری بدون نظارت است که به معنی دسته‌بندی خودکار داده‌ها است که با سنجش معیار فاصله بین داده ها انجام می شود(به عنوان مثال اقلیدسی). به این صورت که داده‌های هر خوشه، ویژگی‌های یکسانی را دارا باشند.?روش خوشه بندی در راست و دسته بندی در چپدر سومین نوع یادگیری که یادگیری تقویتی است این روش نزدیک‌ترین حالت به یادگیری انسان است که با آزمون و خطا و اختصاص دادن امتیاز کار می‌کند(پاداش یا تنبیه).?یادگیری تقویتی براساس پاداشدر روش های یادگیری ذکر شده 2نوع داده وجود دارد اول داده آموزش(train) است که از این داده به منظور آموزش سیستم برای رسیدن به هدف استفاده می شود پس از انجام یادگیری نیاز است عملکرد سیستم آموخته شده را بسنجیم که این مورد توسط داده آزمایش(test) قابل انجام است. در ادامه در مصاحبه با مهندس هادی یامی است که به عنوان applied scientist (به معنای اینکه مطالعه و بررسی دقیق مقالات و تحقیقات به روز و لبه علم و بررسی فواید و مضرات این نوع مقالات)در شرکت مایکروسافت فعالیت می کند.بخش 4در این بخش به ابزار و زبان برنامه نویسی مناسب می پردازیم. پایتون یک ابزار‌ متن بازِ(open source) زبان برنامه نویسی است که در راه اندازی وبسایت‌های معروفی مانند Dropbox , Google , Instagram , SpotifyوYoutube از پایتون استفاده شده است.?کتابخانه های پرکاربرد در پایتوندلایل استفاده از پایتون در علوم داده و یادگیری ماشین: 1)پایتون کتابخانه‌ها و ابزار‌هایی قوی و متعدد دارد2) کدهای پایتون قابل فهم است3) چند پارادایمی بودن است. از پرکاربرد ترین کتابخانه های پایتون عبارت است از: Numpy(ذخیره‌سازی و پردازش بهینهٔ آرایه‌های عددی)، Pandas(عملیات تحلیل و پاک‌سازی و آماده‌سازی داده را در پایتون می‌توان خیلی سریع و آسان انجام داد.)، Matplotlib(این کتابخانه بیشتر در ساخت نمودارهای ۲ بعدی کاربرد دارد و رابط کاربری آن بسیار شبیه به متلب است)، scikit-learn(دارای ابزارهای متنوعی برای یادگیری ماشین و مدل‌سازی آماری است).بخش5در این بخش به بررسی دلایل استفاده از یادگیری ماشین می پردازیم. با توجه به داده محور بودن بسیاری از مشاغل آنالیز داده توسط انسان دارای دقت و سرعت پایینی است برای افزایش دقت و سرعت روش های یادگیری ماشین از اهمیت زیادی برخوردارند. بنابراین به دلایل افزایش بی حد و حصر داده‌ها، ذخیره سازی مقرون به صرفه داده‌ها، افزایش قدرت پردازنده‌ها و کاهش هزینه‌های آن‌ها استفاده از یادگیری ماشین گزینه بهتری خواهد بود.باتوجه به داده محور بودن این روش ها هرگونه مشکلاتی از قبیل کمیت نامناسب داده، داده بی‌کیفیت و ویژگی‌های نامربوط می تواند در عملکرد سیستم ایجاد اختلال کند. به عنوان مثال اگر تعداد داده ما کافی نباشد سیستم با تعداد داده کم آموزش می بیند که در نتیجه در مواجهه با داده ای جدید نمیتواند به خوبی عملیات را انجام دهد یا اگر داده بی کیفیت باشد که یعنی آموزش سیستم نادرست انجام خواهد شد. درنهایت با فرض عبور از مشکلات احتمال در داده ها چالش های الگوریتمی نیز خواهیم داشت. بیش‌برازش (Overfitting)، کم‌برازش (Underfitting) و زمان نمونه‌ای از چالش‌های مربوط به مدل‌ها و الگوریتم‌های هوش‌مصنوعی و یاد‌گیری‌ماشین هستند.?کم برازش و بیش برازشدر بیش برازش مشکل این است که با توجه به داده های آموزشی نمیتواند داده های پیش رو را پیش بینی کند که به دلیل آموزش بیش از اندازه داده ها رخ می دهد. در کم برازش سیستم به خوبی نتواسته است یادبگیرد که معمولا به علت داده نامناسب این اتفاق رخ می دهد. در سومین عامل یعنی زمان در آموزش و آزمایش سیستم بسیار مهم است زیرا اگر مدت زمان آموزش بسیار باشد یعنی توسعه و پیشرفت آن زمان بر خواهد بود و اگر زمان آزمایش زیاد باشد زمان زیادی از کاربر خواهد گرفت که هدف این است که زمان را مینیمم کرد و از مدلی با پیچیدگی زمانی کمتر بهره برد.بخش 6در این بخش به بررسی جنبه عملی یادگیری ماشین می پردازیم. مراحلی که در انجام پروژه های یادگیری ماشین وجود دارند عبارت است از: دریافت و بررسی داده ، آماده‌سازی داده، انتخاب و آموزش مدل مناسب، تست و ارزیابی می باشد. در ادامه مثالی عملی از یادگیری ماشین بررسی می شود. در این مثال با داشتن قد و جنسیت می خواهیم وزن افراد را تخمین بزنیم. در بررسی این مثال باید توجه داشت از scikit learn برای مدل‌سازی، از pandasبرای خواندن و تغییر داده و از seaborn برای تبدیل به نمودار استفاده شده است. اطلاعات هر فرد که شامل قد، وزن و جنسیت یک نمونه به شمار می‌آید. تکلیف T پیش‌بینی وزن تجربه E اطلاعات هر یک از افراد سنجه P MAE(میانگین خطای مطلق) است.?مثال بالا از نوع یادگیری نظارت شده می باشد زیرا برچسب هایی مشخص برای داده ها تعیین شده است. دیتا ست این مثال نیز در اینترنت در قالب فایل نوت بوک قابل دسترس می باشد.حال به بررسی کد مثال می پردازیم. ابتدا 1)خواندن داده از فایل csv با دستور pd.read_csv2) تغییر واحد داده‌ها بادستور dataset.Height.apply3) مصورسازی داده sns.scatterplot4) ساختن دادگان آموزش و آزمایش train_test_split5) انتخاب مدل مناسب و آموزشXGBRegressor6) تخمین مقادیر تست و ارزیابی عملکرد مدلregressor.predict. با طی 6 مرحله ذکر شده در آزمایش مدل دقت به 90% میرسد.بخش 7در این بخش به بیان مطالبی که مقدمه تحقیقات و پژوهش های بیشتر برای علاقمندان است می پردازد.چرخه تب تکنولوژی (Technology Hype Cycle) در سال ۱۹۹۵ مطرح کرد که نشان دهنده نمودار رشد تکنولوژی‌­های مختلف است. طبق این هر تکنولوژی دارای ۵ مرحله اصلی است:1) معرفی و شروع به مشهور شدن 2)معروف شدن نام آن تکنولوژی (اوج مرحله) 3)شناخت محدودیت‌های این تکنولوژی (کاهش شهرت)4)فعالیت تعداد محدودی از آن عرصه 5) پختگی و ثبات نسبی .در چرخه تب تکنولوژی هوش مصنوعی در سال 2020 در استفاده از واحد پردازنده گرافیکی (GPU) در هوش مصنوعی تقریبا به محدوده‌ پایانی رشد خود رسیده .همچنین در موقعیت پردازش تصویر (computer vision) در این نمودار زمان به اوج رسیدن آن چیزی حدود ۲ تا ۵ سال تخمین‌ زده‌ شده است و خودروهای خودکار (autonomous vehicles) زمان پیشرفت آن چیزی حدود ۱۰ سال تخمین زده شده است.?چرخه تب تکنولوژی هوش مصنوعی در 2021امروزه با اینکه مواردی از زمینه هوش مصنوعی مانند تشخیص اشیا از روی تصویر و موارد دیگر پیشرفت زیادی کرده اما هوش مصنوعی عمومی (artificial general intelligence) یعنی ساختن سیستم هوشمندی که مانند انسان از هوشی عمومی برخوردار باشد که توانایی آموختن در مواجهه با هر مسئله جدیدی را داشته باشد را نتوانستیم به نتیجه دلخواه برسیم. پیش زمینه هوش مصنوعی عمومی این است که ابتدا هوش طبیعی یا همان مغز خودمان را بشناسیم. که لازمه آن مطالعه علومی مانند روان شناسی و علوم اعصاب است. از جمله مواردی که در آینده هوش مصنوعی رخ خواهد داد پدیده ای به نام تکینگی فناوری (technological singularity) است. زمانی که پیشرفت هوش مصنوعی به نقطه‌ای می رسد که نمیتوان آن را کنترل کرد و در تضاد با منافع انسانی خواهد بود. دانشمندان زمان این واقعه برای هوش مصنوعی را بین 2040 تا 2050 میلادی تخمین زده اند.منابع:https://quera.ir/college/land/college/8522/</description>
                <category>roozitalabt</category>
                <author>roozitalabt</author>
                <pubDate>Thu, 25 Nov 2021 13:50:21 +0330</pubDate>
            </item>
            </channel>
</rss>