<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های اسماعیل بزرگوار</title>
        <link>https://virgool.io/feed/@smailbozorgvar77</link>
        <description>دانشجو کارشناسي ارشد  رشته هوش مصنوعي و علاقه مند به ايجاد کسب و کار</description>
        <language>fa</language>
        <pubDate>2026-06-16 13:30:09</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1362359/avatar/avatar.png?height=120&amp;width=120</url>
            <title>اسماعیل بزرگوار</title>
            <link>https://virgool.io/@smailbozorgvar77</link>
        </image>

                    <item>
                <title>یادگیری ماشین ،بایاس ،بیش برازش ،کم برازش</title>
                <link>https://virgool.io/@smailbozorgvar77/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D8%A8%D8%A7%DB%8C%D8%A7%D8%B3-%D8%A8%DB%8C%D8%B4-%D8%A8%D8%B1%D8%A7%D8%B2%D8%B4-%DA%A9%D9%85-%D8%A8%D8%B1%D8%A7%D8%B2%D8%B4-gw8w8wthcol6</link>
                <description>سلام دوستان، وقتتون بخیر!امروز می‌خوام درباره یک موضوع جذاب در یادگیری ماشین با شما صحبت کنم. شاید قبلاً با مفاهیمی مثل underfitting و overfitting روبه‌رو شده باشید. نگران نباشید، این‌ها مفاهیم پیچیده‌ای نیستند! برای توضیحش، از یک مثال ساده استفاده می‌کنم که همه‌مون به خوبی باهاش آشنا هستیم.مثال ساده: امتحان پایان ترمتصور کنید که شما یک امتحان پایان ترم دارید. استاد، یک هفته قبل از امتحان، سه نمونه سوال به شما داده و گفته که این سوالات احتمالاً در امتحان خواهند آمد. شما به عنوان یک دانشجوی تنبل، تصمیم می‌گیرید فقط این سوالات رو بخونید و فکر می‌کنید نیازی به مطالعه بیشتر نیست.حالا وارد جلسه امتحان می‌شید. وقتی سوالات امتحان رو می‌بینید، بعضی از سوالات شبیه به نمونه‌ها هستند، اما بعضی دیگر تفاوت‌هایی دارند. سوالات رو جواب می‌زنید، اما از آنجایی که فقط سوالات نمونه رو حفظ کرده بودید، نمره کمی می‌گیرید. در نهایت، شاید نهایتاً نمره ۱۲ رو به زور کسب کنید.Underfitting (کم برازش)در این مثال، شما تنها به حفظ سوالات پرداختید و مفاهیم رو یاد نگرفتید. این یعنی underfitting یا کم برازش. وقتی مدل یادگیری ماشین، فقط به داده‌های آموزش نگاه می‌کنه و نتونه به درستی الگوها رو درک کنه، نتیجه‌اش همون چیزی میشه که ما در این مثال دیدیم: نمره پایین.در یادگیری ماشین، وقتی مدل نتونه به درستی داده‌ها رو یاد بگیره، خطای زیادی در داده‌های آموزشی دیده میشه. این یعنی مدل ما underfitting کرده و باید مدل رو بهبود بدیم یا ویژگی‌های جدیدی برای یادگیری انتخاب کنیم.Bias (بایاس)فرض کنید قبل از امتحان پیش‌بینی می‌کنید که نمره ۲۰ خواهید گرفت، اما وقتی نتایج رو می‌بینید، نمره‌تون ۱۴ میشه. این تفاوت بین پیش‌بینی شما و واقعیت، بایاس نامیده میشه. در یادگیری ماشین، بایاس به تفاوت بین پیش‌بینی مدل و واقعیت گفته میشه.اگر مدل شما نتونه به درستی پیش‌بینی کنه، بایاس بالا میره. این اتفاق معمولاً در underfitting رخ می‌ده، چون مدل قادر به یادگیری الگوهای موجود در داده‌ها نیست.Overfitting (بیش برازش)حالا تصور کنید که شما دقیقاً همون سوالات نمونه رو حفظ کردید، اما وقتی وارد امتحان می‌شید، استاد سوالات جدیدی میده. در این حالت، شما به دلیل اینکه فقط سوالات نمونه رو حفظ کرده بودید و مفهوم رو یاد نگرفته بودید، نمی‌تونید سوالات جدید رو حل کنید. در نتیجه، نمره‌ی شما پایین میاد.در یادگیری ماشین، overfitting زمانی اتفاق می‌افته که مدل شما به شدت روی داده‌های آموزشی تمرکز می‌کنه و تمام جزئیات رو یاد می‌گیره، اما این مدل برای داده‌های جدید عملکرد ضعیفی داره. به عبارت دیگه، مدل فقط یاد گرفته که چطور داده‌های آموزش رو حفظ کنه، نه اینکه الگوهای عمومی رو درک کنه.Variance (واریانس)در این مثال، وقتی که شما فقط سوالات نمونه رو حفظ کردید، ممکنه در امتحانی که همون سوالات از قبل داده شده بود نمره کامل بگیرید، اما وقتی سوالات جدید از شما خواسته می‌شد، نمره‌تون افت می‌کرد. این موضوع به واریانس مدل مرتبط است.واریانس در یادگیری ماشین، به این معنی است که مدل شما ممکنه پیش‌بینی‌های دقیقی در داده‌های آموزشی داشته باشه، اما وقتی با داده‌های جدید روبه‌رو می‌شه، خطاهای زیادی می‌کنه.اگر مدل شما دقت بالایی در داده‌های آموزشی داشته باشه، ولی عملکرد ضعیفی در داده‌های تست نشان بده، یعنی مدل با overfitting و واریانس زیاد مواجه شده است.جمع‌بندی:در یادگیری ماشین، ما دو مشکل اصلی داریم:Underfitting که مدل به اندازه کافی داده‌ها رو یاد نمی‌گیره و عملکرد ضعیفی دارهOverfitting که مدل به جزئیات بیش از حد داده‌های آموزشی توجه می‌کنه و نمی‌تونه به خوبی بر روی داده‌های جدید عملکرد داشته باشهراه‌حل این مشکلات می‌تونه استفاده از داده‌های بیشتر، انتخاب مدل‌های مناسب و تکنیک‌های منظم‌سازی (Regularization) باشه.این تعاریف فقط برای درک بهتر مفهوم عبارات است و برای درک علمی بطفا به مقالات معتبر به این زمینه مراجعه کنید.با تشکر خسته نباشید!منبع : Pattern Recognition and Machine Learning as Christopher Bishopاسماعیل بزرگوار، علاقه‌مند به دنیای هوش مصنوعی</description>
                <category>اسماعیل بزرگوار</category>
                <author>اسماعیل بزرگوار</author>
                <pubDate>Sun, 16 Jan 2022 00:30:16 +0330</pubDate>
            </item>
                    <item>
                <title>روش های Cross validation</title>
                <link>https://virgool.io/@smailbozorgvar77/%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-cross-validation-qaphhyerotti</link>
                <description>ترجمه:اعتبار سنجی متقابل در یادگیری ماشینیدر مدل یادگیری ماشین تعمیم اهمیت بسیار بالایی دارد. یعنی ما می‌خواهیم بدانیم مدل آموزش دیده ما چقدر آماده است تا در دنیای واقعی استفاده شود و در صنعت استفاده کنیم پس نیاز است قبل از نسخه نهایی بازار بدانیم با چه دقت واقعی مدل ما کار میکند. برای انسان تعمیم طبیعی ترین حالت ممکن است. به عنوان مثال، ما قطعاً یک سگ را می شناسیم حتی اگر قبلاً این نژاد را ندیده باشیم. با این وجود، ممکن است برای یک مدل ML کاملاً یک چالش باشد. به همین دلیل است که بررسی توانایی الگوریتم برای تعمیم یک کار مهم است که در ساخت مدل نیاز به توجه زیادی دارد.برای ارزیابی مدل از روش اعتبار سنجی متقابل استفاد میکنیم :در ادامه به بررسی موارد زیر می پردازیم:1. تعاریف اولیه، اهداف استفاده وتکنیک ها2. روش های hold-out, k-folds, Leave-one-out, Leave-p-out, Stratified k-folds, Repeated k-folds, Nested k-folds, Complete CV3. نحوه استفاده از این تکنیک ها4. اعتبار سنجی متقابل در یادگیری عمیق: Keras، PyTorch، MxNet5. بهترین شیوه ها و نکات: سری های زمانی، داده های پزشکی و مالی، تصاویرCross-Validation چیست؟اعتبار سنجی متقابل تکنیکی برای ارزیابی یک مدل یادگیری ماشین و آزمایش عملکرد آن است. CV[1] معمولاً در کارهای کاربردی یادگیری ماشین استفاده می شود. این روش به مقایسه و انتخاب یک مدل مناسب برای مسئله مدل‌سازی پیش‌بینی‌کننده خاص کمک می‌کند.درک و پیاده سازی این روش آسان است و نسبت به سایر روش‌های مورد استفاده برای شمارش امتیازهای کارایی مدل، خطای کمتری دارد. همه اینها اعتبارسنجی متقابل را به ابزاری قدرتمند برای انتخاب بهترین مدل برای هدف خاص تبدیل می کند. تکنیک های مختلفی وجود دارد که ممکن است برای اعتبارسنجی متقابل یک مدل استفاده شود. با این حال، همه آنها یک الگوریتم مشابه دارند:1. مجموعه داده را به دو بخش تقسیم کنید: یکی برای آموزش، دیگری برای تست2. مدل را روی داده آموزشی آموزش دهید3. دقت مدل را در مجموعه داده تست بررسی کنید4. مرحله 1-3 را چند بار تکرار کنید. این عدد به روشی که استفاده می کنید بستگی دارد.همانطور که می دانید، تکنیک های CV زیادی وجود دارد. برخی از آنها معمولا استفاده می شوند، برخی دیگر فقط در تئوری کار می کنند. بیایید روش‌های اعتبارسنجی متقابل را که در این مقاله پوشش داده خواهد شد، ببینیم...Hold-outK-foldsLeave-one-outLeave-p-outStratified K-foldsRepeated K-foldsNested K-foldsCompleteروش hold -out: این روش ساده ترین و رایج ترین تکنیک است.الگوریتم تکنیک Hold-out:مجموعه داده را به دو بخش تقسیم کنید: مجموعه آموزشی و مجموعه تست. معمولاً 80 درصد مجموعه داده به مجموعه آموزشی و 20 درصد به مجموعه آزمایشی می‌رود، اما می‌توانید هر تقسیم‌بندی را انتخاب کنید که مناسب‌تر باشد.· مدل را روی مجموعه آموزشی آموزش دهید· در مجموعه آزمایشی اعتبار سنجی کنید· نتیجه اعتبارسنجی را ذخیره کنیدما معمولاً از این روش در مجموعه داده‌های بزرگ استفاده می‌کنیم، زیرا فقط یک بار نیاز به آموزش مدل دارد. اجرای آن واقعاً آسان است. برای مثال، می‌توانید این کار را با استفاده از  sklearn.model_selection.train_test_split انجام دهید.import numpy asnpfromsklearn.model_selection import train_test_splitX, y = np.arange(10).reshape((5, 2)), range(5)X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.2,random_state=111)با این حال،این روش یک نقطه ضعف بزرگ دارد به عنوان مثال، مجموعه داده ای که از نظر توزیع کاملاً یکنواخت نیست، ممکن است پس از تقسیم در یک نقطه ناهموار قرار بگیریم. به عنوان مثال، مجموعه آموزشی مجموعه تست را نشان نخواهد داد. هر دو مجموعه آموزش و تست ممکن است بسیار متفاوت باشند، یکی از آنها ممکن است آسان تر یا سخت تر باشد.علاوه بر این، این واقعیت که ما مدل خود را فقط یک بار آزمایش می کنیم ممکن است یک گلوگاه برای این روش باشد. با توجه به دلایل ذکر شده در شاید نتایج درست و یا دقیق نباشد.k-FoldروشK-Fold CV تکنیکی است که معایب روش بالا را به حداقل می رساند. k-Fold روش جدیدی برای تقسیم مجموعه داده معرفی می کند که به غلبه بر &quot; فقط یک بار تست&quot; کمک می کند.الگوریتم تکنیک k-Fold:تعدادی بخش را انتخاب کنید - k. معمولاً 5 یا 10 است، می‌توانید هر عددی را انتخاب کنید که کمتر از طول مجموعه داده باشد.مجموعه داده را به k قسمت مساوی (در صورت امکان) تقسیم کنید (به آنها folds گفته می شود)k – 1 folds را انتخاب کنید که مجموعه آموزشی خواهد بود. باقیمانده داده،مجموعه تست خواهد بود.مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار از اعتبارسنجی متقابل، باید یک مدل جدید مستقل از مدل آموزش داده شده در تکرار قبلی آموزش دهید.در مجموعه آزمایشی اعتبار سنجی کنید. نتیجه اعتبارسنجی را ذخیره کنیدمراحل را 3 تا 6 هزار بار تکرار کنید. هر بار از دیتا باقی مانده به عنوان مجموعه تست استفاده کنید. در پایان، شما باید مدل را روی هر فولد که دارید اعتبارسنجی کرده باشید.برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 6 به دست آوردید.برای انجام اعتبارسنجی متقاطع k-Fold می توانید از sklearn.model_selection.KFold استفاده کنید.import numpy asnpfromsklearn.model_selection import KFoldX = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])y = np.array([1, 2, 3, 4])kf = KFold(n_splits=2)fortrain_index, test_index in kf.split(X):print(&quot;TRAIN:&quot;, train_index, &quot;TEST:&quot;, test_index)X_train, X_test = X[train_index], X[test_index]y_train, y_test = y[train_index], y[test_index]به طور کلی همیشه بهتر است به جای Hold-out از تکنیک k-Fold استفاده کنید. از آنجایی که آموزش و آزمایش بر روی چندین بخش مختلف مجموعه داده انجام می شود، مقایسه k-Fold نتیجه پایدارتر و قابل اعتمادتری به دست می دهد. اگر تعداد تاها را افزایش دهیم تا مدل را روی بسیاری از زیر مجموعه‌های مختلف آزمایش کنیم، می‌توانیم امتیاز کلی را قوی‌تر کنیم. با این حال، روش k-Fold یک نقطه ضعف دارد. افزایش k منجر به آموزش مدل های بیشتر می شود و فرآیند آموزش ممکن است واقعاً گران و زمان بر باشد.روش leave one out :اعتبار سنجی متقابل (LOOCV) یک مورد شدید از K-Fold CVاست. تصور کنید که k برابر با n باشد که n تعداد نمونه های مجموعه داده است. چنین مورد k-Fold معادل تکنیک Leave-one-out است.یک نمونه از مجموعه داده را انتخاب کنید که مجموعه آزمایشی خواهد بودn – 1نمونه باقیمانده مجموعه آموزشی خواهد بود. مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار، یک مدل جدید باید آموزش داده شود. در مجموعه آزمایشی اعتبار سنجی کنید. نتیجه اعتبارسنجی را ذخیره کنید. مراحل 1 تا 5 را n بار تکرار کنید، همانطور که برای n نمونه، n مجموعه آموزشی و تست متفاوت داریم.برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 5 به دست آوردید.import numpy as npfromsklearn.model_selection import LeaveOneOutX = np.array([[1, 2], [3, 4]])y = np.array([1, 2])loo = LeaveOneOut()fortrain_index, test_index in loo.split(X):print(&quot;TRAIN:&quot;, train_index, &quot;TEST:&quot;, test_index)X_train, X_test = X[train_index], X[test_index]y_train, y_test = y[train_index], y[test_index]بزرگترین مزیت این روش( Leave-one-out) این است که داده های زیادی را هدر نمی دهد. ما فقط از یک نمونه از کل مجموعه داده به عنوان یک مجموعه آزمایشی استفاده می کنیم، در حالی که بقیه مجموعه آموزشی است. اما وقتی با k-Fold CVمقایسه می‌شود، LOOCV نیاز به ساخت nمدل به جای kمدل دارد، می‌دانیم که n که مخفف تعداد نمونه‌های مجموعه داده است و بسیار بیشتر از k است. این بدان معناست که LOOCV از نظر محاسباتی گرانتر از k-Fold است، ممکن است زمان زیادی طول بکشد تا اعتبار متقابل مدل با استفاده از LOOCV بدست آید. بنابراین، جامعه علوم داده یک قاعده کلی بر اساس شواهد تجربی و تحقیقات مختلف دارد که نشان می‌دهد اعتبارسنجی متقابل 5 یا 10 برابر باید بر LOOCV ترجیح داده شود.روش leave p out :این روش شبیه Leave-one-out است. شبیه Leave-one-out CV است زیرا تمام مجموعه های آموزشی و تست ممکن را با استفاده از نمونه های p به عنوان مجموعه تست ایجاد می کند. تمام موارد ذکر شده در مورد LOOCV و برای LpOC درست است.با این حال، شایان ذکر است که بر خلاف LOOCV و مجموعه‌های تست k-Fold برای LpOC اگر p بالاتر از 1 باشد، همپوشانی دارند.الگوریتم تکنیک LpOC:1. نمونه های p را از مجموعه داده انتخاب کنید که مجموعه تست خواهد بود2. n - p نمونه باقیمانده مجموعه آموزشی خواهد بود3. مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار، یک مدل جدید باید آموزش داده شود4. در مجموعه آزمایشی اعتبار سنجی کنید.نتیجه اعتبارسنجی را ذخیره کنید.5. مراحل 2 تا 5 Cpn را تکرار کنیدبرای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 5 به دست آوردیدمی‌توانید Leave-p-out CV را با استفاده از sklearn – sklearn.model_selection.LeavePOut انجام دهید.import numpy asnpfromsklearn.model_selection import LeavePOutX = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])y = np.array([1, 2, 3, 4])lpo = LeavePOut(2)fortrain_index, test_index in lpo.split(X):print(&quot;TRAIN:&quot;, train_index, &quot;TEST:&quot;, test_index)X_train, X_test = X[train_index], X[test_index]y_train, y_test = y[train_index], y[test_index]LpOC تمام معایب LOOCV را دارد، اما، با این وجود، به اندازه LOOCV قوی است.طبقه بندی k-fold:گاهی اوقات ممکن است با عدم تعادل زیادی در مقدار هدف در مجموعه داده مواجه شویم. به عنوان مثال، در مجموعه داده‌های مربوط به قیمت ساعت‌های مچی، ممکن است تعداد بیشتری از ساعت‌های مچی قیمت بالایی داشته باشند. در مورد طبقه‌بندی، در مجموعه داده‌های گربه‌ها و سگ‌ها ممکن است تغییر زیادی به سمت طبقه سگ وجود داشته باشد. K-Fold طبقه بندی شده نوعی از تکنیک استاندارد K-Fold CV است که به گونه ای طراحی شده است که در چنین مواردی از عدم تعادل هدف موثر باشد و به صورت زیر عمل می کند:K-Fold طبقه بندی شده مجموعه داده را بر روی k تاها تقسیم می کند به طوری که هر فولد تقریباً دارای درصد مشابهی از نمونه های هر کلاس هدف به عنوان مجموعه کامل است. در مورد رگرسیون، Stratified k-Fold اطمینان حاصل می کند که میانگین مقدار هدف تقریباً در همه چین ها برابر است.الگوریتم تکنیک طبقه بندی k-fold:1. تعدادی k را انتخاب کنید2. مجموعه داده را به k برابر تقسیم کنید.3.  هر فولد باید تقریباً دارای درصد مشابهی از نمونه‌های هر کلاس هدف در مجموعه کامل باشد4. k – 1 folds را انتخاب کنید که مجموعه آموزشی خواهد بود. باقیمانده مجموعه آزمایشی خواهد بود5. مدل را روی مجموعه آموزشی آموزش دهید. در هر تکرار یک مدل جدید باید آموزش داده شود6. در مجموعه آزمایشی اعتبار سنجی کنید7. نتیجه اعتبارسنجی را ذخیره کنید8. مراحل را 3 تا 6 هزار بار تکرار کنید. هر بار از باقی مانده  دیتا را به عنوان مجموعه تست استفاده کنید. در پایان، شما باید مدل را روی هر فولد که دارید اعتبارسنجی کرده باشید.برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 6 به دست آوردید.همانطور که ممکن است متوجه شده باشید، الگوریتم تکنیک Stratified k-Fold مشابه K-Folds استاندارد است. شما نیازی به کدنویسی اضافی ندارید زیرا این روش همه کارهای لازم را برای شما انجام می دهد.import numpy asnpfromsklearn.model_selection import StratifiedKFoldX = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])y = np.array([0, 0, 1, 1])skf = StratifiedKFold(n_splits=2)fortrain_index, test_index in skf.split(X, y):print(&quot;TRAIN:&quot;, train_index, &quot;TEST:&quot;, test_index)X_train, X_test = X[train_index], X[test_index]y_train, y_test = y[train_index], y[test_index]تمام موارد ذکر شده در بالا در مورد K-Fold CV برای تکنیک Stratified k-Fold صادق است. هنگام انتخاب بین روش های مختلف CV، مطمئن شوید که از روش مناسب استفاده می کنید. به عنوان مثال، ممکن است فکر کنید که مدل شما عملکرد بدی دارد، فقط به این دلیل که از K-Fold CV برای اعتبارسنجی مدلی استفاده می‌کنید که روی مجموعه داده با عدم تعادل کلاس آموزش داده شده است. برای جلوگیری از آن، همیشه باید یک تجزیه و تحلیل داده های اکتشافی مناسب روی داده های خود انجام دهید.Repeated k-Foldاعتبارسنجی متقابل k-Fold مکرر یا CV نمونه‌برداری‌های تصادفی مکرر احتمالاً قوی‌ترین تکنیک‌های CV در این مقاله است. این یک تغییر از k-Fold است اما در مورد Repeated K-Folds  ،k تعداد فولد ها نیست. تعداد دفعاتی است که ما مدل را آموزش خواهیم داد.ایده کلی این است که در هر تکرار، نمونه‌هایی را به‌طور تصادفی از سرتاسر مجموعه داده به عنوان مجموعه آزمایشی انتخاب می‌کنیم. به عنوان مثال، اگر تصمیم بگیریم که 20٪ از مجموعه داده ها مجموعه آزمایشی ما باشد، 20٪ نمونه به طور تصادفی انتخاب می شوند و 80٪ بقیه به مجموعه آموزشی تبدیل می شوند.الگوریتم تکنیک Repeated k-Fold:1. k را انتخاب کنید - چند بار مدل آموزش داده می شود2. تعدادی نمونه را انتخاب کنید که مجموعه آزمایشی خواهد بود3. مجموعه داده را تقسیم کنید4. روی مجموعه آموزشی تمرین کنید.هر تکرار برابر یک مدل است5. در مجموعه تست اعتبار سنجی کنید6. نتیجه اعتبارسنجی را ذخیره کنید7. مراحل را 3-6 k بار تکرار کنیدبرای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 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) را تنظیم کنید.import numpy asnpfromsklearn.model_selection import RepeatedKFoldX = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])y = np.array([0, 0, 1, 1])rkf = RepeatedKFold(n_splits=2, n_repeats=2, random_state=42)fortrain_index, test_index in rkf.split(X):print(&quot;TRAIN:&quot;, train_index, &quot;TEST:&quot;, test_index)X_train, X_test = X[train_index], X[test_index]y_train, y_test = y[train_index], y[test_index]Nested k-FoldK-Fold تو در توسایر تکنیک‌های CV که برای ارزیابی کیفیت یک الگوریتم طراحی شده، Nested k-Fold CV محبوب‌ترین راه برای تنظیم یک الگوریتم است.الگوریتم تکنیک Nested k-Fold:1. k را انتخاب کنید -  به عنوان مثال، 10 - این عدد را انتخاب کرده ایم2. یک مرکز را انتخاب کنید. فرض کنید الگوریتم ما رگرسیون لجستیک است و p خطیمه p = {&#x27;l1&#x27;, &#x27;l2&#x27;, &#x27;elasticnet&#x27;, &#x27;none&#x27;} است.3. مجموعه داده را به 10 تا تقسیم کنید و یکی از آنها را برای آزمایش کنید4. یکی از بخش آموزشی را برای اعتبارسنجی رزرو کنید5. برای هر مقدار p روی 8 فولد آموزشی باقیمانده آموزش دهید و روی فولد اعتبارسنجی ارزیابی کنید. اکنون 4 اندازه گیری مراحل 4-5 را 9 بار تکرار کنید. بچرخانید که کدام فولد آموزشی، فولد اعتبارسنجی است. اکنون اندازه گیری 9 * 4 دارید6. p را انتخاب کنید که خطای تمرین را از 9 برابر به کمترین مقدار انجام دهید. از آن p برای ارزیابی روی مجموعه تست استفاده کنید7. از مرحله 2، 10 بار تکرار کنید و از هر تا به نوبت به عنوان تای استفاده کنید8. اندازه و انحراف اندازه گیری ارزیابی را در 10 برابر تست ذخیره کنید9. الگوریتمی که بهترین عملکرد را داشت، الگوریتمی بود که بهترین عملکرد خارج از نمونه را در 10 لایه آزمایشی داشت.این تکنیک از نظر محاسباتی گران است زیرا در طول مراحل 1 تا 10 تعداد زیادی مدل باید آموزش و ارزیابی شوند. با این حال، Nested k-Fold CV معمولاً استفاده می شود.متأسف، هیچ روش داخلی در klearn وجود ندارد که دارای CV Nested kFold را برای شما انجام دهد. این لحظه است که شما باید یا گوگل کنید و پیاده سازی شخصی را پیدا کنید یا خودتان آن را کدنویسی کنید.Complete Cross-Validationاین روش کم استفاده ترین تکنیک CV است. ایده کلی این است که ما یک عدد k - طول مجموعه آموزشی را انتخاب می کنیم و روی هر تقسیم ممکن شامل k نمونه در مجموعه آموزشی اعتبار سنجی می کنیم.مقدار آن تقسیم‌ها را می‌توان به صورت Сnkمحاسبه کرد که nطول مجموعه داده است. اگر k بالاتر از 2 باشد، باید مدل خود را چندین بار آموزش دهیم که همانطور که قبلاً متوجه شدیم زمان فرآیند گران قیمت و از نظر محاسباتی است.به همین دلیل در تحقیقات نظری استفاده می شود و یا در صورت وجود فرمول مؤثری که به حداقل رساندن محاسبات کمک می کند.الگوریتم :1. یک عدد k را انتخاب کنید - طول مجموعه آموزشی2. مجموعه داده را تقسیم کنید3. روی مجموعه آموزشی تمرین کنید4. در مجموعه آزمایشی اعتبار سنجی کنید5. نتیجه اعتبارسنجی را ذخیره کنید6. مراحل 2 تا 5 را Сnk تکرار کنید7. برای به دست آوردن امتیاز نهایی، میانگین نتایجی که در مرحله 5 به دست آوردیداعتبار سنجی متقابل در یادگیری ماشینی:بیشتر تکنیک های اعتبار سنجی متقابل ذکر شده در بالا به طور گسترده در ML استفاده می شود. مهم است که به خاطر داشته باشید که استفاده از تکنیک CV مناسب ممکن است در زمان شما صرفه جویی کند و به انتخاب بهترین مدل برای کار کمک کند.این بدان معناست که اولاً، بهتر است همیشه مدل را تأیید متقابل کنید و ثانیاً باید یک روش CV مربوطه را انتخاب کنید. بنابراین، دانستن مزایا و معایب تکنیک‌های اعتبارسنجی متقابل حیاتی است. شایان ذکر است که اگر می‌خواهید مدل را اعتبار متقابل کنید، همیشه باید ساختار مدل را بررسی کنید زیرا برخی از الگوریتم‌های ML، به عنوان مثال، CatBoost روش‌های CV داخلی خود را دارند. به طور کلی، همانطور که ممکن است متوجه شده باشید، بسیاری از تکنیک‌های CV دارای روش‌های داخلی sklearn هستند. من به شدت توصیه می کنم از آنها استفاده کنید زیرا این روش ها در زمان زیادی برای کارهای پیچیده تر صرفه جویی می کنند.اعتبار متقابل در یادگیری عمیق: اعتبار سنجی متقابل در یادگیری عمیق (DL) ممکن است کمی مشکل باشد زیرا اکثر تکنیک های CV حداقل چند بار نیاز به آموزش مدل دارند.در یادگیری عمیق، معمولاً به دلیل هزینه‌های مرتبط با آموزش مدل‌های مختلف، از CV اجتناب می‌کنید. به جای انجام k-Fold یا سایر تکنیک های CV، ممکن است از یک زیرمجموعه تصادفی از داده های آموزشی خود به عنوان نگهدارنده برای اهداف اعتبار سنجی استفاده کنید.به عنوان مثال، کتابخانه یادگیری عمیق Keras به شما امکان می دهد یکی از دو پارامتر را برای تابع fit که آموزش را انجام می دهد، ارسال کنید.validation_split: درصدی از داده هایی که باید برای اعتبار سنجی نگهداری شوندvalidation_data: چند عدد از (X, y) که باید برای اعتبارسنجی استفاده شود. این پارامتر پارامتر validation_split را نادیده می گیرد، به این معنی که شما می توانید تنها یکی از این پارامترها را در یک زمان استفاده کنید.همین رویکرد در آموزش های رسمی سایر فریمورک های DL مانند PyTorch و MxNet استفاده می شود. آنها همچنین پیشنهاد می کنند مجموعه داده را به سه بخش تقسیم کنید: آموزش، اعتبار سنجی و آزمایش .آموزش – بخشی از مجموعه داده برای آموزشاعتبار سنجی - بخشی از مجموعه داده برای اعتبارسنجی در حین آموزشتست - بخشی از مجموعه داده برای اعتبار سنجی نهایی مدلبا این حال، اگر مجموعه داده کوچک است (شامل صدها نمونه) می توانید از اعتبارسنجی متقابل در وظایف DL استفاده کنید. در این مورد، یادگیری یک مدل پیچیده ممکن است یک کار بی ربط باشد، بنابراین مطمئن شوید که کار را بیشتر پیچیده نکنید.بهترین روش ها و نکاتشایان ذکر است که گاهی اوقات انجام اعتبارسنجی متقابل ممکن است کمی مشکل باشد. به عنوان مثال، اشتباه منطقی هنگام تقسیم مجموعه داده بسیار آسان است که ممکن است منجر به یک CV غیرقابل اعتماد شود.ممکن است نکاتی را بیابید که باید هنگام تایید متقابل یک مدل در زیر مد نظر داشته باشید:هنگام تقسیم داده ها منطقی باشید (آیا روش تقسیم منطقی است)از روش CV مناسب استفاده کنید (آیا این روش برای مورد استفاده من قابل اجرا است)هنگام کار با سری های زمانی، گذشته را تأیید نکنید (به اولین نکته مراجعه کنید)هنگام کار با داده های پزشکی یا مالی، به یاد داشته باشید که آن را بر اساس شخص تقسیم کنید. از داشتن داده برای یک نفر هم در آموزش و هم در مجموعه تست خودداری کنید زیرا ممکن است به عنوان نشت داده در نظر گرفته شود.هنگام برش تکه‌ها از تصاویر بزرگ‌تر، به یاد داشته باشید که با شناسه تصویر بزرگ تقسیم کنید.البته، نکات از کار به کار متفاوت است و پوشش همه آنها تقریبا غیرممکن است. به همین دلیل است که انجام یک تجزیه و تحلیل داده های اکتشافی قبل از شروع اعتبارسنجی متقابل یک مدل همیشه بهترین روش است.افکار نهاییاعتبار سنجی متقابل ابزار قدرتمندی است. هر دانشمند داده باید با آن آشنا باشد. در زندگی واقعی، شما نمی توانید پروژه را بدون تایید متقابل یک مدل به پایان برسانید.به نظر من بهترین تکنیک های 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-rightCross validation[1]</description>
                <category>اسماعیل بزرگوار</category>
                <author>اسماعیل بزرگوار</author>
                <pubDate>Sun, 19 Dec 2021 15:44:30 +0330</pubDate>
            </item>
                    <item>
                <title>چرا يادگيري ماشين :</title>
                <link>https://virgool.io/@smailbozorgvar77/%DA%86%D8%B1%D8%A7-%D9%8A%D8%A7%D8%AF%DA%AF%D9%8A%D8%B1%D9%8A-%D9%85%D8%A7%D8%B4%D9%8A%D9%86-uki2v7okqsmf</link>
                <description>مقدمه هوش مصنوعیامروزه هوش مصنوعی پیشرفت های چشمگیری داشته است. در یک تعریف کلی اگر بخواهیم هوش مصنوعی را تعریف کنیم می‌توان به این صورت تعریف نمود که یک عامل هوش مصنوعی سعی می‌کند مانند انسان فکر و عمل کند و به صورت منطقی در مواجه با رویداد جدید بتواند منطقی تصمیم بگیرد. امروزه هر برنامه‌ای که هوشمندی داشته باشد یا به نوعی رفتار انسان را تقلید کند، به عنوان هوش مصنوعی پذیرفته می‌شود.تعریف یادگیری ماشینیادگیری ماشین یک زیر مجموعه از هوش مصنوعی است که دارای ویژگی هایی است که از سایر روش ها متمایز می‌شود ،از جمله :· یادگیری و آموزش خود با استفاده از داده و بدون استفاده از دستورات مستقیم· تغییر خود با دیدن داده‌های جدید ؛ یعنی همانند انسان با کسب تجربیات(داده) جدید رفتار خود را تغییر دهد.تعریف کلی : سیتمی که بتواند برای کاربردT (تشخیص چهره فرد) با استفاده از تجربیاتE (دادگان تصویر از چهره فرد که آموزش دیده است ) بتواند عملکرد P(درست بودن تشخیص ) را افزایش دهد. به هرحال مدل به طور ۱۰۰ درصدی نتیجه درست و مناسبی را ارائه نمی‌دهد بنابراین به معیاری برای بررسی و اندازه‌گیری میزان دقت این الگوریتم نیاز داریم تا در صورت نامناسب بودن دقت آن، با تغییر پارامترهای الگوریتم بتوانیم به دقت بالاتری برسیم.داده ها عنصر محوری یادگیری ماشین است.آنچه داده را ارزشمند می‌کند نمایندگی آن از واقعیت است و اطلاعاتی که در اختیارمان می‌گذارد. مثلا برای طراحی یک سیستم به توان رساندن عدد ما از الگوریتمی استفاده نمی‌کنیم که دو عدد گرفته و توان را حساب کند، بلکه تعدادی عدد با توان ها و جوابشان را به مدل می‌دهیم تا مدل خودش یاد بگیرد و الگوریتم توان را کشف کند تا بتواند برای داده های جدید دیده نشده، خروجی مناسب دهد. استفاده از شبکه‌های عصبی مصنوعی یکی از انواع روش‌های یادگیری ماشین است. قدرت الگوریتم های یادگیری ماشین باعث شده است تا بتواند در حوزه های صنعتی و پزشکی مانند تشخیص spam  بودن ایمیل، تشخیص چهره، پیش بینی بازار بورس و یا قیمت سهام یک شرکت، تصمیم گیری درباره درخواست وام مشتری در سیستم بانکداری و...ورود پیدا کند.یکی از عوامل محبوبیت این رشته تعامل آن با زبان پایتون و R که از محبوب ترین زبان های برنامه نویسی است که باعث توجه برنامه نویسان شده است. تفاوت اصلی میان این دو، کاربرد بیشتر پایتون در صنعت است. به صورتی که اکثر شرکت‌ها برای بخش production  از پایتون استفاده می‌کنند و R  بیشتر به استفاده‌های آکادمیک محدود شده است.  سایت Kaggle  جامعه‌ای برای برنامه‌نویسان حوزه یادگیری ماشین است.  پلتفرم های دیگری نیز در کنار این وب‌سایت شروع به فعالیت و برگزاری مسابقات کرده‌اند که می‌توان به CodaLab ، Signate  و DrivenData  اشاره کرد.موقعیت شغلی :دانشمند داده و تحلیل گر دادهدانشمند داده امور داده‌کاوی را معمولا با زبان‌های برنامه‌نویسی و کتابخانه‌های آن انجام می‌دهد ولی تحلیل‌گر از  پلتفرم‌ها و نرم‌افزار‌ها استفاده می‌کند. تحلیل‌گر با همه در ارتباط است و معمولا سوالات را دیگران برایش مطرح می‌کنند اما دانشمند داده خودش سوالات را طرح می‌کند، سوالاتی که در تصمیمات شرکت تاثیرگذار هستند.مهندس داده:مدیریت جریان های داده بزرگ و یکپارچه‌سازی آن در شرکت‌های بزرگ به تدریج یک موقعیت شغلی جدید به‌وجود آمد. این جایگاه جدید داده‌ها را از منابع مختلف و با قالب‌های مختلف می‌گیرد و در اختیار تحلیل‌گران و توسعه‌دهندگان و دیگر مصرف‌کنندگان داده قرار می‌دهد.مهندس یادگیری ماشین:مهندس یادگیری ماشین علاوه بر اینکه داده را تا رسیدن به مدل همراهی می‌کند، مسئول رساندن خروجی به کاربر نهایی نیز هست. او مدل تولید شده را بررسی می‌کند و یا پس از انجام بررسی‌های لازم، مدل نظری را وارد فرآیند عملیاتی می‌کند. او باید پیچیدگی‌های محاسباتی و حافظه‌ای را محاسبه کند و مدل طراحی شده توسط دانشمند داده را برای کار در مقیاس بزرگ آماده کند.انواع داده :1. متن : متن ها یکی از مهم ترین نوع داده هستند که در پردازش زبان طبیعی کاربرد دارد. یکی از چالش‌های اصلی پردازش متن، تفاوت زبان روزمره و رسمی است. همان‌طور که برای یادگیری زبان‌های خارجی، درک جملات غیر‌رسمی مشکل‌تر است، پردازش متن‌هایی که به زبان روزمره نوشته شده‌اند نیز برای کامپیوتر چالش برانگیز‌تر است.متن و صوت جزو دادگان زبان طبیعی به شمار می‌آید.2. تصویر : از کابردهای روزمره بینایی ماشین می‌توان به تشخیص پلاک خودروها توسط پلیس، تشخیص اثر انگشت یا چهره برای باز کردن قفل گوشی اشاره کرد.داده فیلم هم از تعدادی زیادی فریم(تصویر) تشکیل می‌شود.3. جدولی : به دادگان درون جدول دادگان ساختار یافته گفته می‌شود. دادگان جدولی شامل دو دسته دادگان عددی مثل سن و ارزش سهام و دادگان دسته ای مانند جنسیت یا کشور تابعیت فرد است.سری زمانی : در مورد بعضی از انواع داده، تغییرات آن و در نتیجه مقدار آن در طول زمان اهمیت ویژه‌ای دارد مثل نوار قلبیمثالی از کاربرد یادگیری ماشین در صنایع معدنی:1. پردازش تصاویر ماهواره ای2. پیش‌بینی متغیرهای ژئومتالورژیکی3. آنالیز مربوط به تصاویر جعبه مغز ها4. پردازش تصاویر پهباد برای ردیابی هدف از پیش تعین شدهبه طور کلی رویکرد انجام یادگیری ماشین، دارای ۴ عنصر اساسی است:1. یک الگوریتم (مدل) برای تصمیم‌گیری2. یک معیار برای امتیازدهی اینکه عمل‌کرد مدل چقدر خوب(درصد تصمیم‌های درست) بوده3. بررسی خودکار کیفیت مدل بر اساس امتیاز4. یک روش خودکار برای بهبود امتیاز بر اساس ایجاد تغییرات در مدلانواع یادگیری ماشین:یادگیری با نظارتدر این نوع از یادگیری، نمونه‌هایی که برای آموزش الگوریتم استفاده می‌شوند، دارای برچسب هستند.از جمله یادگیری با نظارت می‌توان رگرسیون و طبقه بندی اشاره کرد. تفاوت طبقه بندی و رگرسیون در داده آموزش و خروجی مدل است. در رگرسیون داده ورودی به صورت پیوسته است و در خروجی ما از مدل انتظار داریم یک مقدار مناسب برای ورودی انتخاب کند مانند تخمین قیمت مسکن است ولی در طبقه بندی ،داده ورودی به صورت گسسته می باشد و هدف انتخاب دسته مناسب برای داده ورودی است مانند تشخیص سیب یا پرتقال بودن میوه ورودی.یادگیری بدون نظارتتفاوت این نوع از یادگیری با یادگیری نظارت‌شده، تنها در نبودن برچسب‌ داده است.از یادگیری بی‌نظارت اکثرا برای تحلیل اکتشافی داده‌ها و خوشه‌بندی استفاده می‌شود.جمع آوری دادگان بدون برچسب بسیار راحت تر است. الگوریتم‌های یادگیری ماشین بی‌نظارت که الگوهای پنهان بین داده‌ها را پیدا می‌کند، به طور کلی به سه دسته زير دسته بندي مي‌شود*خوشه‌بندی (clustering): خوشه‌بندی به معنی دسته‌بندی اتوماتیک داده‌ها به خوشه‌های همگن است، به این صورت که داده‌های هر خوشه، ویژگی‌های یکسانی داشته باشند. اولین گام برای خوشه‌بندی داده‌ها، انتخاب کردن معیاری برای خوشه‌بندی است، فاصله اقلیدسی یکی از پرکاربرد‌ترین معیار‌های سنجش فاصله است ولی تنها معیار نیست و معیار های دیگری وجود دارد.*کاهش ابعاد (dimensionality reduction): روش کاهش ابعاد یعنی کاهش دادن تعداد ویژگی‌هایی که از آن‌ها برای آموزش مدل یادگیری ماشین خود استفاده می‌کنیم زیرا هر چه تعداد ویژگی ها بیشتر باشد برای آموزش خوب و بدون بیش برازش(overfitting) نیاز به دادگان بیشتری داریم و در صورتی که دادگان در دسترس نباشد باید از این تکنیک برای آموزش استفاده کرد.*قانون وابستگی (association rule mining)یادگیری تقویتییادگیری تقویتی، یکی از روش های یادگیری ماشین است که با ذهنیت آزمون و خطا کار می‌کند. یادگیری تقویتی برخلاف یادگیری بانظارت و یادگیری بی‌نظارت وابسته به داده نیست، بلکه به واسطه تعامل با محیط می‌آموزد. در این یادگیری عامل هوشمند در صورت نزدیک شدن به هدف امتیاز و اگر دور شود جریمه می‌شود.چالش‌های مربوط به مدل‌ها : بیش‌برازش (Overfitting)، کم‌برازش (Underfitting) و زمان نمونه‌ای از چالش‌های مربوط به مدل‌ها و الگوریتم‌های هوش‌مصنوعی و یاد‌گیری‌ماشین هستند. بیش برازش وقتی اتفاق می‌افتد که مدل ها خیلی روی داده آموزشی ،آموزش ببيند: به عبارت بهتر مدل نمی‌تواند آینده را به درستی پیش‌بینی کند. علت عدم توانایی در پیش‌بینی آینده این است که داده‌های آموزش را زیاد از حد یاد گرفته است.کم برازش وقتی اتفاق می‌افتد که مدل خیلی ساده باشد و زیاد روی دادگان آموزش fit  نشود در این صورت خطا در آموزش و تست زیاد است. زمان یک فاکتور اساسی مدل است .هر چه زمان پاسخ الگوریتم به Real time  نزدیک باشد بهتر است. انتخاب فاکتورهای یادگیری تاثیر زیادی در زمان آموزش و پاسخ دهی مدل دارد.دادگان آموزش و آزمایش:اصطلاحا به دادگانی که برای آموزش استفاده می‌شوند، دادگان آموزش(train) و به دادگانی که برای ارزیابی استفاده می‌شوند، دادگان آزمایش(test) می‌گوییم.زبان پايتون براي علم داده:تا امروز پایتون به عنوان یک زبان برنامه نویسی سطح بالا در توسعه‌ی برنامه‌های وب و موبایل و همچنین در آنالیز داده و محاسبات علمی به کار رفته است. پایتون زبانی دارای مفسر است. پایتون به نسبت زبان‌های دیگر نوشتار ساده‌تری دارد و به همین دلیل سریع قابل یادگیری است و این باعث می‌شود کار، به خصوص در پروژه‌های بزرگ، راحت‌تر شود. در صورت مواجه با خطا از سايت stackoverflow استفاده مي‎شود.تفاوت زبان پايتون و R :· تقریبا هر ۱۸ ماه یک بار نسخه‌ی جدید و با ثباتی از پایتون عرضه می‌شود- پایتون دارای نوشتار ساده است. - پایتون کتابخانه‌های متنوعی برای کار با داده و انجام عملیات یادگیری ماشین دارد.· R توانایی کشیدن نمودارهای با کیفیت و متنوعی را دارد.- R به سرعت در حال توسعه است و تقریبا برای همه‌ی تکنیک‌های آماری پکیج دارد.مهمترين کتابخانه هاي پايتون:· Numpy: با استفاده از نامپای، پردازش و محاسبات روی آرایه‌ها سریعتر انجام می‌شود. در نامپای اعضای یک آرایه همه از یک نوع می‌باشند و باعث می‌شود تا آرایه‌ها حجم کمتری در رم اشغال کنند.· Pandas: با پانداس عملیات تحلیل و پاک‌سازی و آماده‌سازی داده را در پایتون می‌توان خیلی سریع و آسان انجام داد.· Matplotlib: این کتابخانه بیشتر در ساخت نمودارهای ۲ بعدی کاربرد دارد و رابط کاربری آن بسیار شبیه به متلب است.· scikit-learn: سایکت‌لرن حاوی ابزارهای متنوعی برای یادگیری ماشین و مدل‌سازی آماری است.از ديگر کتابخانه هاي کاربردي  برای مصور سازی داده می‌توان از پلاتلی (Plotly) و سیبورن (Seaborn) هم استفاده کرد. برای امور یادگیری عمیق، پایتورچ (Pytorch) ، تنسورفلو  (TensorFlow) و کراس (Keras) بیشتر مورد استفاده قرار می‌گیرند. برای پردازش متن nltk و اسپیسی (Spacy) کارایی بیشتری دارند و در زمینه پردازش عکس می‌توان از کتابخانه‌های اوپن سیوی (OpenCV) و سایکت ایمیج (scikit-image) نام برد.چرا از یادگیری‌ماشین استفاده می‌کنیم:· افزایش بی حد و حصر داده‌ها· ذخیره سازی مقرون به صرفه داده‌ها· افزایش قدرت پردازنده‌ها و کاهش هزینه‌های آن‌هاچالش‌های مربوط به داده :داده اساس یادگیری‌ماشین است و هیچ الگوریتم و مدلی با داده بد نمی‌تواند عملکرد خوبی داشته باشد. کمیت نامناسب داده، داده بی‌کیفیت و ویژگی‌های نامربوط از جمله چالش‌هایی است که به داده مربوط می‌شوند. اگر به تعداد کافی داده به الگوریتم تزریق نکنیم، نمی‌توانیم انتظار عملکرد خوبی داشته باشیم. داده‌ بی‌کیفیت پر است از مقادیر اشتباه و گم‌شده.همواره باید سعی در انتخاب ویژگی‌هایی داشته باشیم که مدل بتواند از آن‌ها بیاموزد و از دل آن‌ها الگوهایی برای پیش‌بینی آینده استخراج کند.زمان در یادگیری‌ماشین از دو جهت اهمیت دارد؛ هم مدت زمانی که طول می‌کشد تا آموزش مدل تمام شود، هم زمانی که مدل برای پیش‌بینی نمونه‌ها مصرف می‌کند.چهار شرکت معروف در حوزه یادگیری ماشین و هوش مصنوعی :1-DeepMind 2-Open AI 3- گروه (گروه AI)Google  4-FaceBook(گروه AI)مهمترین کتب یادگیری ماشین :Pattern Recognition and Machine LearningHands-On Machine Learning with Scikit-Learn and TensorFlowPython for Data AnalysisPython for Data AnalysisMachine Learning for DummiesArtificial Intelligence: A Modern Approachمنابع :منبع(https://quera.ir/college/land/college/8522/)</description>
                <category>اسماعیل بزرگوار</category>
                <author>اسماعیل بزرگوار</author>
                <pubDate>Mon, 29 Nov 2021 02:21:02 +0330</pubDate>
            </item>
            </channel>
</rss>