<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی مشایخی</title>
        <link>https://virgool.io/feed/@MahdiMashayekhi</link>
        <description>مهدی مشایخی هستم. برنامه نویس هوش مصنوعی و پایتون در زمینه یادگیری ماشینی و عمیق. به همه کمک میکنم تا با هم رشد کنیم!  من در توییتر: https://twitter.com/Mashayekhi_AI</description>
        <language>fa</language>
        <pubDate>2026-06-07 20:27:17</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1709728/avatar/s0ofQK.jpg?height=120&amp;width=120</url>
            <title>مهدی مشایخی</title>
            <link>https://virgool.io/@MahdiMashayekhi</link>
        </image>

                    <item>
                <title>ذن پایتون (Zen Python) چیست؟ درکی برای برنامه نویسی بهتر!</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D8%B0%D9%86-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-zen-python-%DA%86%DB%8C%D8%B3%D8%AA-%D8%AF%D8%B1%DA%A9%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D9%87%D8%AA%D8%B1-khckzlcmm7qd</link>
                <description> ذن پایتون (Zen Python) چیست؟ | مهدی مشایخیذن پایتون چیست و چگونه به وجود آمد؟در دنیای برنامهنویسی، زبانهای مختلفی بر اساس اصول و فلسفههای خاصی طراحی شدهاند. پایتون به عنوان یکی از محبوبترین زبانهای برنامهنویسی، دارای مجموعهای از اصول طراحی است که به آن ذن پایتون (The Zen of Python) گفته میشود. این اصول راهنمایی برای نوشتن کدی خوانا، ساده و قابل فهم هستند.ذن پایتون مجموعهای از ۱۹ اصل فلسفی است که به توصیف شیوهی طراحی زبان پایتون میپردازد. این اصول، که توسط تیم پیترز (Tim Peters) تدوین شدهاند، به توسعهدهندگان کمک میکنند تا کدی شفاف، ساده و قابل درک بنویسند.برای مشاهده این اصول در محیط پایتون، میتوان دستور زیر را اجرا کرد:import thisBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren’t special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitly silenced.In the face of ambiguity, refuse the temptation to guess.There should be one– and preferably only one –obvious way to do it.Although that way may not be obvious at first unless you’re Dutch.Now is better than never.Although never is often better than right now.If the implementation is hard to explain, it’s a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea – let’s do more of those!پس از اجرای این دستور، متنی شامل اصول ذن پایتون نمایش داده میشود که راهنمایی برای سبک کدنویسی در این زبان است.در سال ۱۹۹۹، تیم پیترز که یکی از توسعهدهندگان برجستهی پایتون بود، این اصول را ارائه کرد. او این مجموعه را به عنوان خلاصهای از فلسفهی طراحی پایتون منتشر نمود تا توسعهدهندگان بتوانند از آن به عنوان یک راهنمای کلی در برنامهنویسی با پایتون بهره ببرند.این اصول نه بهعنوان یک استاندارد اجباری، بلکه به عنوان یک راهنمای ذهنی برای نوشتن کدی تمیز و خوانا مطرح شدهاند. با گذشت زمان، ذن پایتون به بخشی از فرهنگ برنامهنویسی با پایتون تبدیل شد و امروزه بسیاری از توسعهدهندگان به آن پایبند هستند.1. زیبایی مهمتر از زشتی است (Beautiful is better than ugly)در زمینهی برنامهنویسی، زیبایی به سادگی، وضوح و خوانایی کد اشاره دارد. یک کد زیبا، دارای ساختار مناسب، نامگذاری واضح و نگارش منظم است، در حالی که کدی که بدون نظم و پیچیده نوشته شده باشد، زشت و ناخوانا محسوب میشود.مثال ۱: کد زشت و ناخوانادر این نمونه، کد بهگونهای نوشته شده که خواندن و درک آن دشوار است:def c(x): return x*x + 2*x + 1
print(c(5))نام تابع &quot;c&quot; گویا نیست.کد در یک خط نوشته شده که خوانایی را کاهش میدهد.مشخص نیست که این تابع چه کاری انجام میدهد.مثال ۲: کد زیبا و خوانادر این نمونه، همان عملیات بهشکلی زیبا و خوانا پیادهسازی شده است:def calculate_quadratic_x):
    &amp;quot&amp;quot&amp;quotCalculate the value of the quadratic expression: x^2 + 2x + 1.&amp;quot&amp;quot&amp;quot
    return x * x + 2 * x + 1

result = calculate_quadratic_5)
print(result)نام تابع گویا است.مستندات (Docstring) اضافه شده است.خوانایی و نظم کد رعایت شده است.2. واضح بودن بهتر از پیچیدگی است (Explicit is better than implicit)کد واضح، مستقیم و بدون ابهام است. به عبارت دیگر، فردی که کد را میخواند، بدون نیاز به حدس زدن متوجه عملکرد آن میشود. در مقابل، کدهای پیچیده و مبهم، نیاز به تحلیل و بررسی عمیق دارند و درک آنها زمانبر خواهد بود.مثال ۱: کد مبهم و پیچیدهکد زیر بهصورت ضمنی نوشته شده و خوانایی کمی دارد:a = [1, 2, 3, 4]
b = []
for i in a: b.append(i * 2)مشخص نیست a و b چه نقشی در برنامه دارند.کد بهصورت فشرده در یک خط نوشته شده که خوانایی را کاهش داده است.مثال ۲: کد واضح و خوانادر این نمونه، همان عملیات بهصورت صریح و روشن نوشته شده است:numbers = [1, 2, 3, 4]
doubled_numbers = []

for number in numbers:
    doubled_numbers.append(number * 2)

print(doubled_numbers)نام متغیرها معنیدار و گویا انتخاب شدهاند.ساختار کد مرتب است و بهراحتی میتوان فهمید که چه عملیاتی انجام میشود.3. ساده بودن بهتر از پیچیدگی است (Simple is better than complex)یک کد ساده، واضح، خوانا و بدون پیچیدگی غیرضروری است. در مقابل، کد پیچیده معمولاً شامل بخشهای اضافه و غیرضروری است که باعث سردرگمی و افزایش احتمال بروز خطا میشود.مثال ۱: کد پیچیده و غیرضروریکد زیر یک عدد را بررسی میکند که آیا زوج است یا نه، اما به شکلی پیچیده نوشته شده است:def is_even(number):
    if number % 2 == 0:
        return True
    else:
        return Falseاین کد بیش از حد طولانی است.شرط if-else غیرضروری بوده و میتوان آن را سادهتر نوشت.مثال ۲: کد ساده و کارآمدکد بالا را میتوان به صورت سادهتر و خواناتر نوشت:def is_even(number):
    &amp;quot&amp;quot&amp;quotCheck if a number is even.&amp;quot&amp;quot&amp;quot
    return number % 2 == 0کد کوتاهتر، خواناتر و همچنان کاملاً قابل فهم است.مستندات (Docstring) اضافه شده است تا عملکرد تابع واضحتر باشد.4. پیچیدگی بهتر از درهمریختگی است (Complex is better than complicated)🔹 پیچیدگی: زمانی که یک مسئله نیاز به ساختار منطقی و طراحی دقیق دارد، اما همچنان خوانایی و سازماندهی حفظ میشود.🔹 درهمریختگی: زمانی که عدم سازماندهی، نامگذاریهای نامناسب و ساختار نامرتب باعث میشود که کد غیرقابل فهم و نگهداری شود.مثال ۱: کد درهمریخته و غیرقابل فهمدر این مثال، تابعی برای محاسبهی سری فیبوناچی نوشته شده که بهشدت پیچیده و نامرتب است:def f(n, m={0: 0, 1: 1}):
    if n in m: return m[n]
    m[n] = f(n-1, m) + f(n-2, m)
    return m[n]نام متغیرها گویا نیستند.ساختار کد نامرتب است.کد اگرچه کار میکند، اما درک آن دشوار و گیجکننده است.مثال ۲: کد پیچیده اما ساختارمند و خواناهمان تابع به روشی بهینه و خوانا بازنویسی شده است:def fibonacci(n, memo=None):
    &amp;quot&amp;quot&amp;quotCalculate the nth Fibonacci number using memoization.&amp;quot&amp;quot&amp;quot
    if memo is None:
        memo = {0: 0, 1: 1}
    
    if n in memo:
        return memo[n]
    
    memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo)
    return memo[n]نامگذاری متغیرها گویا و معنادار است.کد ساختار منظم و خوانایی بالایی دارد.مستندات (Docstring) اضافه شده تا عملکرد تابع مشخص باشد.5. تخت بودن بهتر از تو در تو بودن است (Flat is better than nested)🔹 کد تخت (Flat): ساختار کد تا حد ممکن ساده، سطحی و مستقیم است.🔹 کد تو در تو (Nested): دارای چندین بلوک شرطی یا حلقههای تو در تو است که خوانایی را کاهش میدهد.مثال ۱: کد با ساختار تو در تو (Nested) غیرضروریدر این مثال، بررسی میشود که آیا یک عدد مثبت است یا خیر، اما کد بهشدت تو در تو نوشته شده است:def check_number(n):
    if n &gt; 0:
        if n % 2 == 0:
            return &amp;quotPositive Even&amp;quot
        else:
            return &amp;quotPositive Odd&amp;quot
    else:
        return &amp;quotNot Positive&amp;quotتو در تو بودن غیرضروری باعث کاهش خوانایی شده است.فهمیدن منطق کد زمانبر و دشوارتر شده است.مثال ۲: کد تخت و خواناهمین عملیات را میتوان با ساختار تخت و سادهتر نوشت:def check_number(n):
    &amp;quot&amp;quot&amp;quotDetermine if a number is positive and even or odd.&amp;quot&amp;quot&amp;quot
    if n &lt;= 0:
        return &amp;quotNot Positive&amp;quot
    
    return &amp;quotPositive Even&amp;quot if n % 2 == 0 else &amp;quotPositive Odd&amp;quotتو در تو بودن حذف شده و کد خواناتر شده است.منطق برنامه روشنتر و قابل فهمتر است.مستندات (Docstring) اضافه شده است.مهمترین اصل ، این پنج اصل میباشد ولی باقی به مرور اضافه خواهد شد! </description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Thu, 03 Apr 2025 19:19:45 +0330</pubDate>
            </item>
                    <item>
                <title>الگوریتم SVM و کرنل های SMV در ماشین لرنینگ!</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-svm-%D9%88-%DA%A9%D8%B1%D9%86%D9%84-%D9%87%D8%A7%DB%8C-svm-%D8%AF%D8%B1-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-agffdj1yh0nx</link>
                <description> الگوریتم SVM و کرنل های SMV - مهدی مشایخی در این مقاله با SVM یا Support Vector Machine که یکی از محبوب ترین الگوریتم های هوش مصنوعی هست (یکی از 10 الگوریتم برتر هوش مصنوعی هست) و با ترفند هسته که با ابعاد غیرخطی و بالاتر سروکار دارد آشنا خواهید شد . برای درک بهتر این الگوریتم بسیار مهم، موضوعاتی مانند ابرصفحه ها، ضرب کننده های لاگرانژ را لمس خواهیم کرد.الگوریتم SVM چیست؟ماشین بردار پشتیبان یک الگوریتم یادگیری نظارت شده هست که بیشتر برای طبقه بندی استفاده می شود اما می توان از آن برای رگرسیون نیز استفاده کرد . ایده اصلی این هست که بر اساس داده‌های برچسب‌گذاری شده (داده‌های آموزشی) الگوریتم سعی می‌کند ابر صفحه بهینه را پیدا کند که بتوان از آن برای طبقه‌بندی نقاط داده جدید استفاده کرد. در دو بعد، هایپرپلن یک خط ساده هست.معمولاً یک الگوریتم یادگیری سعی می‌کند رایج‌ترین ویژگی‌ها (آنچه یک کلاس را از کلاس دیگر متمایز می‌کند) یک کلاس را بیاموزد و طبقه‌بندی براساس آن ویژگی‌های نماینده‌ای هست که آموخته شده هست (بنابراین طبقه‌بندی بر اساس تفاوت بین کلاس‌ها هست). SVM برعکس عمل می کند . مشابه ترین نمونه ها را بین کلاس ها پیدا می کند . این بردارهای پشتیبانی خواهند بود .به عنوان مثال، اجازه دهید دو کلاس، سیب و لیمو را در نظر بگیریم.سایر الگوریتم‌ها مشهودترین و نمایان‌ترین ویژگی‌های سیب و لیمو را یاد می‌گیرند، مانند سیب سبز و گرد هستند در حالی که لیموها زرد هستند و شکل بیضوی دارند.در مقابل، SVM سیب‌هایی را جستجو می‌کند که بسیار شبیه به لیمو هستند، برای مثال سیب‌هایی که زرد هستند و شکل بیضوی دارند. این یک بردار پشتیبانی خواهد بود. بردار ساپورت دیگر یک لیمو شبیه سیب (سبز و گرد) خواهد بود.بنابراینالگوریتم های دیگریاد می گیردتفاوتدر حالی که SVM یاد می گیردشباهت ها.اگر مثال بالا را به صورت دو بعدی تجسم کنیم، چیزی شبیه به این خواهیم داشت:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگهمانطور که از چپ به راست می رویم، همه نمونه ها به عنوان سیب طبقه بندی می شوند تا زمانی که به سیب زرد برسیم. از این نقطه، اطمینان به اینکه یک مثال جدید یک سیب هست کاهش می یابد در حالی که اعتماد به نفس کلاس لیمو افزایش می یابد. وقتی اعتماد کلاس لیمو از اعتماد کلاس سیب بیشتر شود، نمونه های جدید به عنوان لیمو (جایی بین سیب زرد و لیمو سبز) طبقه بندی می شوند.بر اساس این بردارهای پشتیبان، الگوریتم سعی می کند بهترین هایپرپلنی را که کلاس ها را از هم جدا می کند، بیابد . در حالت دوبعدی، هایپرپلان یک خط هست، بنابراین به شکل زیر هست:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ خوب، اما چرا مرز آبی را مانند تصویر بالا رسم کردم؟ من همچنین می توانم مرزهایی را مانند این ترسیم کنم:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ همانطور که می بینید، ما تعداد بی نهایتی از احتمالات برای ترسیم مرز تصمیم داریم . پس چطور می توانیم بهترین را پیدا کنیم؟پیدا کردن هایپرپلان بهینه (Optimal Hyperplane)به طور شهودی بهترین خط خطی هست که از هر دو نمونه سیب و لیمو فاصله زیادی دارد (بیشترین حاشیه را دارد). برای داشتن راه حل بهینه، باید حاشیه را به هر دو صورت به حداکثر برسانیم (اگر چند کلاس داریم، باید با در نظر گرفتن هر یک از کلاس ها آن را به حداکثر برسانیم).مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ بنابراین اگر تصویر بالا را با تصویر زیر مقایسه کنیم، به راحتی می توانیم مشاهده کنیم که اولی ابر صفحه بهینه (خط) و دومی یک راه حل زیر بهینه هست ، زیرا حاشیه به مراتب کوتاهتر هست.مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ از آنجایی که می‌خواهیم حاشیه‌ها را با در نظر گرفتن همه کلاس‌ها به حداکثر برسانیم ، به جای استفاده از یک حاشیه برای هر کلاس، از یک حاشیه “global” استفاده می‌کنیم که تمام کلاس‌ها را در نظر می‌گیرد . این حاشیه مانند خط بنفش در تصویر زیر هست:این حاشیه نسبت به مرز متعامد و با بردارهای پشتیبانی فاصله دارد.پس کجا بردار داریم؟ هر یک از محاسبات (محاسبه فاصله و ابرصفحه های بهینه) در فضای برداری انجام می شود ، بنابراین هر نقطه داده یک بردار در نظر گرفته می شود. بعد فضا با تعداد ویژگی های مثال ها تعریف می شود.در مجموع، بردارهای پشتیبان نقاط داده ای هستند که موقعیت و حاشیه هایپرپلین را مشخص می کنند . ما آنها را بردارهای &quot;پشتیبانی&quot; می نامیم ، زیرا اینها نقاط داده نماینده کلاس ها هستند، اگر یکی از آنها را جابجا کنیم، موقعیت و/یا حاشیه تغییر می کند . جابجایی سایر نقاط داده تأثیری بر حاشیه یا موقعیت ابرصفحه نخواهد داشت.برای طبقه بندی، ما به تمام نقاط داده آموزشی نیاز نداریم (مانند مورد KNN)، ما باید فقط بردارهای پشتیبانی را ذخیره کنیم. در بدترین حالت، تمام نقاط بردار پشتیبانی خواهند بود، اما این بسیار نادر هست و اگر این اتفاق بیفتد، باید مدل خود را از نظر خطا یا اشکال بررسی کنید.بنابراین اساساً یادگیری معادل یافتن هایپرپلن با بهترین حاشیه هست، بنابراین یک مسئله بهینه سازی ساده هست.مراحل اولیهمراحل اساسی SVM عبارتند از:دو ابر صفحه (در دو بعدی) را انتخاب کنید که داده ها را بدون نقطه بین آنها جدا می کند (خطوط قرمز)فاصله آنها را به حداکثر برسانید (حاشیه)خط متوسط ​​(در اینجا خط نیمه راه بین دو خط قرمز) مرز تصمیم خواهد بوداین بسیار خوب و آسان هست ، اما پیدا کردن بهترین حاشیه، مشکل بهینه‌سازی بی‌اهمیت نیست (در دو بعدی آسان است، وقتی فقط دو ویژگی داریم، اما اگر N بعد با N یک عدد بسیار بزرگ داشته باشیم چه می‌شود)برای حل مسئله بهینه سازی، از ضریب لاگرانژ استفاده می کنیم . برای درک این تکنیک می‌توانید دو مقاله زیر را بخوانید: ضرب‌کننده دوگانه لانگرانژ و توضیحی ساده درباره اینکه چرا ضرب‌کننده‌های لانگرانژ کار می‌کنند .تا به حال ما داده‌های قابل جداسازی خطی داشتیم، بنابراین می‌توانستیم از یک خط به عنوان مرز کلاس استفاده کنیم. اما اگر مجبور باشیم با مجموعه داده های غیرخطی سر و کار داشته باشیم چه؟الگوریتم SVM برای مجموعه داده های غیر خطینمونه ای از داده های غیر خطی:در این حالت ما نمی توانیم یک خط مستقیم برای جدا کردن سیب از لیمو پیدا کنیم. پس چگونه می توانیم این مشکل را حل کنیم. ما از ترفند هسته استفاده خواهیم کرد!ایده اصلی این هست که وقتی یک مجموعه داده در ابعاد فعلی جدایی ناپذیر هست، بعد دیگری اضافه کنید ، شاید به این ترتیب داده ها قابل تفکیک باشند. فقط به آن فکر کنید، مثال بالا به صورت دو بعدی هست و غیرقابل تفکیک هست، اما ممکنه در سه بعدی بین سیب ها و لیموها فاصله وجود داشته باشد، شاید تفاوت سطح وجود داشته باشد، بنابراین لیموها در سطح یک و سیب ها در سطح دو هستند. . در این حالت، ما به راحتی می‌توانیم یک ابر صفحه جداکننده (در حالت سه بعدی، هایپرپلین یک صفحه هست) بین سطح 1 و 2 رسم کنیم.نقشه برداری به ابعاد بالاتربرای حل این مشکل ما نباید فقط کورکورانه بعد دیگری اضافه کنیم ، بلکه باید فضا را تغییر دهیم تا این اختلاف سطح را عمدا ایجاد کنیم.نقشه برداری از دو بعدی به سه بعدیفرض کنید بعد دیگری به نام X3 را اضافه می کنیم . تغییر مهم دیگر اینه که در بعد جدید نقاط با استفاده از این فرمول x1² + x2² سازماندهی می شوند .اگر صفحه تعریف شده با فرمول x² + y² را رسم کنیم ، چیزی شبیه به این خواهیم داشت:حالا باید سیب ها و لیموها (که فقط نقاط ساده هستند) را به این فضای جدید ترسیم کنیم. خوب فکر کنید، ما چه کار کردیم؟ ما فقط از یک تبدیل استفاده کردیم که در آن سطوح را بر اساس فاصله اضافه کردیم . اگر در مبدا هستید، امتیازها در پایین ترین سطح خواهند بود. با دور شدن از مبدأ به این معنی هست که از تپه بالا می رویم (از مرکز هواپیما به سمت حاشیه حرکت می کنیم) بنابراین سطح نقاط بالاتر می رود. حال اگر در نظر بگیریم که منشا لیموی مرکز هست ، چیزی شبیه به این خواهیم داشت:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ حالا به راحتی می توانیم این دو کلاس را از هم جدا کنیم. این تبدیل ها هسته نامیده می شوند . هسته های محبوب عبارتند از: هسته چند جمله ای، هسته گاوسی، تابع پایه شعاعی (RBF)، هسته RBF لاپلاس، هسته سیگموئید، هسته Anove RBF و غیره (به توابع هسته یا توضیحات دقیق تر به هسته های یادگیری ماشین مراجعه کنید ).نقشه برداری از 1 بعدی به 2 بعدیمثال ساده تر دیگر در 2 بعدی این هست:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ پس از استفاده از کرنل و پس از تمام تبدیل ها به این موارد خواهیم رسید:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ بنابراین پس از تبدیل، به راحتی می توانیم دو کلاس را تنها با استفاده از یک خط مشخص کنیم.در برنامه های زندگی واقعی، ما یک خط مستقیم ساده نخواهیم داشت، اما منحنی های زیادی و ابعاد بالایی خواهیم داشت. در برخی موارد، ما دو ابرصفحه نداریم که داده‌ها را بدون هیچ نقطه‌ای بین آنها از هم جدا می‌کند، بنابراین به برخی معاوضه‌ها، تحمل برای نقاط پرت نیاز داریم . خوشبختانه الگوریتم SVM دارای یک پارامتر به اصطلاح منظم سازی برای پیکربندی مبادله و تحمل موارد پرت هست.پارامترهای تنظیم (Tuning Parameters)همانطور که در بخش قبل دیدیم، انتخاب هسته مناسب بسیار مهم هست، زیرا اگر تبدیل نادرست باشد، مدل می تواند نتایج بسیار ضعیفی داشته باشد. به عنوان یک قاعده کلی، همیشه بررسی کنید که آیا داده های خطی دارید و در این صورت همیشه از SVM خطی (هسته خطی) استفاده کنید. SVM خطی یک مدل پارامتریک هست، اما یک SVM هسته RBF اینطور نیست ، بنابراین پیچیدگی دومی با اندازه مجموعه آموزشی افزایش می‌یابد. نه تنها آموزش یک SVM هسته RBF گرانتر هست ، بلکه باید ماتریس هسته را نیز در اطراف نگه دارید ، و طرح ریزی در این فضای &quot;بی نهایت&quot; با ابعاد بالاترجایی که داده ها به صورت خطی قابل تفکیک می شوند، در طول پیش بینی نیز گران تر است. علاوه بر این، شما باید هایپرپارامترهای بیشتری را تنظیم کنید ، بنابراین انتخاب مدل نیز گران تر هست! و در نهایت، بیش از حد یک مدل پیچیده بسیار ساده تره!منظم سازی (Regularization)پارامتر Regularization ( در پایتون C نامیده می شود ) به بهینه سازی SVM می گوید که چقدر می خواهید از دسته بندی هر نمونه آموزشی جلوگیری کنید.اگر C بالاتر باشد ، بهینه سازی هایپرپلان حاشیه کوچکتری را انتخاب می کند ، بنابراین نرخ طبقه بندی از دست دادن داده های آموزشی کمتر خواهد بود .از سوی دیگر، اگر C کم باشد ، حاشیه بزرگ خواهد بود ، حتی اگر نمونه‌های داده‌های آموزشی طبقه‌بندی‌شده وجود نداشته باشد . این در دو نمودار زیر نشان داده شده:مهدی مشایخی - طبقه بندی با الگوریتم SVM در ماشین لرنینگ همانطور که در تصویر می بینید، وقتی C کم هست، حاشیه بالاتره (بنابراین به طور ضمنی منحنی زیادی نداریم، خط دقیقاً از نقاط داده تبعیت نمی کند) حتی اگر دو سیب به عنوان لیمو طبقه بندی شوند. هنگامی که C بالا هست ، مرز پر از منحنی هست و تمام داده های آموزشی به درستی طبقه بندی شده. فراموش نکنید ، حتی اگر تمام داده های آموزشی به درستی طبقه بندی شده باشند، این بدان معنا نیست که افزایش C همیشه دقت را افزایش میده (به دلیل برازش بیش از حد).گاما (Gamma)پارامتر مهم بعدی گاما هست. پارامتر گاما تعیین می کند که تأثیر یک مثال آموزشی تا چه حد می رسد . این بدان معنیه که گامای بالا فقط نقاط نزدیک به ابر صفحه قابل قبول را در نظر می گیرد و گامای پایین نقاطی را در فاصله بیشتر در نظر می گیرد.پارامتر گاما - Gamma - مهدی مشایخیهمانطور که می بینید، کاهش گاما به این نتیجه می رسد که پیدا کردن ابر صفحه صحیح، نقاطی را در فواصل بیشتر در نظر می گیرد، بنابراین نقاط بیشتر و بیشتری استفاده می شود (خطوط سبز نشان می دهد که در پیدا کردن ابر صفحه بهینه کدام نقاط در نظر گرفته شده).مارجین (Margin)آخرین پارامتر حاشیه هست. ما قبلاً در مورد حاشیه صحبت کرده‌ایم، حاشیه بالاتر مدل بهتری را نشان می‌دهد ، بنابراین طبقه‌بندی (یا پیش‌بینی) بهتر. حاشیه باید همیشه حداکثر شود .مثال SVM با استفاده از پایتونتمامی کدها و منابع مورد این سری مقالات در گیتهاب به آدرس زیر وجود داره ، حتما بررسی کنید!https://github.com/MahdiMashayekhi-AI/Machine-Learning-Projectsاز آنجایی که کتابخانه sklearn یک کتابخانه پایتون بسیار خوب و مفید هست ، ما کد زیادی برای تغییر نداریم. تنها تفاوت اینه که ما باید کلاس SVC (SVC = SVM در sklearn) را به جای کلاس KNeighborsClassifier از sklearn.neighbors از sklearn.svm وارد کنیم.# Fitting SVM to the Training set
from sklearn.svm import SVC
classifier = SVC(kernel = &#039;rbf&#039;, C = 0.1, gamma = 0.1)
classifier.fit(X_train, y_train)پس از وارد کردن SVC، می توانیم مدل جدید خود را با استفاده از سازنده از پیش تعریف شده ایجاد کنیم. این سازنده پارامترهای زیادی دارد، اما من فقط مهم ترین آنها را توضیح می دهم، بیشتر اوقات شما از پارامترهای دیگر استفاده نمی کنید.مهمترین پارامترها عبارتند از:هسته (kernel): نوع هسته ای که باید استفاده شود. رایج ترین هسته ها rbf (این مقدار پیش فرض هست)، poly یا sigmoid هستند ، اما شما همچنین می توانید هسته خود را ایجاد کنید.ج: این پارامتر تنظیمی است که در بخش پارامترهای تنظیم توضیح داده شده هستگاما: در قسمت تنظیمات پارامترها نیز توضیح داده شددرجه: فقط در صورتی استفاده می شود که هسته انتخاب شده پلی باشد و درجه پولینو را تعیین کنداحتمال: این یک پارامتر بولی هست و اگر درست باشد، مدل برای هر پیش‌بینی، بردار احتمالات متعلق به هر کلاس از متغیر پاسخ را برمی‌گرداند. بنابراین اساساً برای هر پیش‌بینی به شما اطمینان می‌دهد .شرینک Shrinking: این نشان می دهد که آیا می خواهید از یک اکتشافی کوچک شونده در بهینه سازی SVM استفاده کنید، که در بهینه سازی حداقل متوالی استفاده می شود . مقدار پیش‌فرض آن true هست ، و اگر دلیل موجهی ندارید، لطفاً این مقدار را به false تغییر ندهید ، زیرا کوچک کردن عملکرد شما را تا حد زیادی بهبود می‌بخشد و در بیشتر موارد از نظر دقت ضرر بسیار کمی دارد .حالا خروجی اجرای این کد را ببینیم. مرز تصمیم گیری برای مجموعه آموزشی به صورت زیر هست:همانطور که می بینیم و همانطور که در بخش تنظیمات پارامترها یاد گرفتیم ، چون C مقدار کمی (0.1) دارد، مرز تصمیم صاف هست.حال اگر C را از 0.1 به 100 برسانیم، منحنی های بیشتری در مرز تصمیم خواهیم داشت:اگر از C=0.1 استفاده کنیم اما اکنون گاما را از 0.1 به 10 برسانیم چه اتفاقی می افتد؟ اجازه بدید ببینم!اینجا چه اتفاقی افتاد؟ چرا اینقدر مدل بد داریم؟ همانطور که در بخش پارامترهای تنظیم دیدید ، گامای بالا به این معنیه که هنگام محاسبه ابرصفحه قابل قبول، ما فقط نقاط نزدیک را در نظر می گیریم . اکنون چون چگالی نقاط سبز فقط در ناحیه سبز انتخاب شده زیاده ، در آن ناحیه نقاط به اندازه کافی به ابرصفحه قابل قبول نزدیک هستند، بنابراین آن ابرصفحه ها انتخاب شدند. مراقب پارامتر گاما باشید، زیرا اگر آن را روی یک مقدار بسیار بالا تنظیم کنید، می‌تواند تأثیر بسیار بدی بر نتایج مدل شما داشته باشد (مقدار بسیار بالا به چگالی نقاط داده بستگی دارد).برای این مثال بهترین مقادیر برای C و Gamma 1.0 و 1.0 هستند. حال اگر مدل خود را روی مجموعه تست اجرا کنیم، نمودار زیر را دریافت خواهیم کرد:و ماتریس سردرگمی به شکل زیر است :ماتریس سردرگمی - Confusion Matrix - مهدی مشایخیهمانطور که می بینید، ما فقط 3 مثبت کاذب و فقط 4 منفی کاذب داریم . دقت این مدل 93 درصده که واقعاً نتیجه خوبی است، ما نسبت به استفاده از KNN (که دقت 80 درصدی داشت) امتیاز بهتری به دست آوردیم .توجه: دقت تنها معیاری نیست که در ML استفاده می شود و همچنین به دلیل پارادوکس دقت بهترین معیار برای ارزیابی یک مدل نیست . ما از این معیار برای سادگی استفاده می کنیم، اما بعداً، در فصل معیارهای ارزیابی الگوریتم های هوش مصنوعی، در مورد پارادوکس دقت صحبت خواهیم کرد و سایر معیارهای بسیار محبوب مورد استفاده در این زمینه را نشان خواهم داد.نتیجه گیریدر این مقاله ما یک الگوریتم یادگیری نظارت شده بسیار محبوب و قدرتمند، ماشین بردار پشتیبان را دیدیم . ما ایده اصلی را یاد گرفتیم که یک هایپرپلن چیست ، بردارهای پشتیبانی چیست و چرا اینقدر مهم هستند. ما همچنین نمایش‌های بصری زیادی را دیده‌ایم که به ما در درک بهتر همه مفاهیم کمک کردند.موضوع مهم دیگری که به آن پرداختیم، ترفند هسته هست که به ما در حل مسائل غیر خطی کمک کرد .منبعممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.ارتباط با من :وبسایت : mahdimashayekhi.irگیت هاب: MahdiMashayekhi-AIلینکدین: MahdiMashayekhiتوییتر: Mashayekhi_AIیوتیوب: MahdiMashayekhiاینستاگرام: MahdiMashayekhi.ai</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sat, 22 Apr 2023 17:53:08 +0330</pubDate>
            </item>
                    <item>
                <title>وب اسکرپینگ چند صفحه با پایتون! - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-%D9%88%D8%A8-%D8%A7%D8%B3%DA%A9%D8%B1%D9%BE%DB%8C%D9%86%DA%AF-%DA%86%D9%86%D8%AF-%D8%B5%D9%81%D8%AD%D9%87-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-gtj8nlabw7ky</link>
                <description>وب اسکرپینگ چند صفحه با پایتون! - مهدی مشایخیداده ها در اطراف ما هستند. هر وب‌سایتی که بازدید می‌کنید شامل داده‌هایی در قالب قابل خواندن است که می‌توانید برای یک پروژه از آنها استفاده کنید.و اگرچه شما به راحتی می توانید داده ها را کپی و جایگذاری کنید، بهترین روش برای حجم زیاد داده، انجام اسکراپی وب است.یادگیری اسکرپینگ وب در ابتدا می تواند مشکل باشد، اما با یک کتابخانه خوب وب اسکرپینگ، کارها بسیار آسان تر خواهد شد.اسکرپینگ Scraping وب می تواند ابزار مفیدی برای جمع‌آوری داده ها و اطلاعات باشد، اما مهم است که اطمینان حاصل شود که آن را به روشی ایمن و قانونی انجام می دهید.در اینجا چند نکته برای انجام صحیح اسکراپینگ وب وجود دارد:قبل از اینکه سایتی را خراش دهید، اجازه بگیرید.شرایط خدمات وب سایت و فایل robots.txt را بخوانید و درک کنید.تعداد دفعات خراش دادن خود را محدود کنید.از ابزارهای خراش وب استفاده کنید که به شرایط خدمات صاحبان وب سایت احترام می گذارند.اکنون که روش مناسب برای نزدیک شدن به خراش دادن را فهمیدید، بیایید وارد آن شویم. در این آموزش گام به گام، نحوه خراش دادن چندین صفحه از یک وب سایت با استفاده از کاربرپسندترین ماژول خراش دادن وب پایتون، سوپ زیبا را شرح خواهیم داد.این آموزش به دو بخش تقسیم می شود: در مرحله اول یک صفحه را خراش می دهیم. سپس در بخش دوم، چندین صفحه را بر اساس کد استفاده شده در بخش اول خراش می دهیم.پیش نیاز هاپایتون Python 3 : برای این آموزش باید از Python 3 استفاده کنید، زیرا کتابخانه ای که ما استفاده خواهیم کرد یک کتابخانه Python است. برای دانلود و نصب پایتون به وب سایت رسمی مراجعه کنید.کتابخانه Beautiful Soup: Beautiful Soup یک بسته پایتون برای تجزیه ساختار یافته داده ها است. برای صفحات تجزیه شده، یک درخت تجزیه تولید می کند که می توانید از آن برای استخراج داده ها از HTML استفاده کنید. این به شما امکان می دهد با HTML به همان روشی که می توانید با یک صفحه وب با استفاده از ابزارهای توسعه دهنده تعامل داشته باشید، تعامل داشته باشید.برای شروع استفاده از آن، ترمینال خود را راه‌اندازی کنید و Beautiful Soup را نصب کنید:$ pip install beautifulsoup4کتابخانه ریکوئست: کتابخانه ریکوئست استاندارد پایتون برای ایجاد درخواست های HTTP است. ما از این به همراه Beautiful Soup برای بدست آوردن HTML برای یک وب سایت استفاده خواهیم کرد.$ pip install requestsنصب یک تجزیه کننده: برای استخراج داده ها از متن HTML، به یک تجزیه کننده نیاز داریم. ما lxmlدر اینجا از تجزیه کننده استفاده خواهیم کرد. برای نصب این تجزیه کننده، دستور زیر را اجرا کنید:pip install lxmlتوجه : برای دنبال کردن این آموزش نیازی نیست که حرفه ای پایتون باشید.چگونه یک صفحه وب را خراش کنیم؟همانطور که قبلا توضیح دادم، ما با درک نحوه خراش دادن یک صفحه وب شروع می کنیم. سپس به خراش دادن چندین صفحه وب خواهیم پرداخت.بیایید اولین اسکراپر خود را بسازیم.کتابخانه ها را وارد کنیدابتدا، بیایید کتابخانه های مورد نیاز خود را وارد کنیم:import requests
from bs4 import BeautifulSoupقسمت HTML وب سایت را دریافت کنید!ما می خواهیم یک وب سایت با صدها صفحه رونوشت فیلم را خراش دهیم. ما با خراش دادن یک صفحه شروع می کنیم و سپس نحوه خراش دادن چندین صفحه را نشان می دهیم.ابتدا اتصال را تعریف می کنیم. در این مثال، از رونوشت فیلم تایتانیک استفاده می کنیم، اما شما می توانید هر فیلمی را که می خواهید انتخاب کنید.سپس یک به وب سایت می دهیم requestو یک پاسخ دریافت می کنیم که آن را در متغیر نتیجه ثبت می کنیم. .textپس از آن، از روشی برای بازیابی محتوای وب سایت استفاده می کنیم.یک lxmlدر نهایت، از تجزیه کننده برای بدست آوردن soup, که شی حاوی تمام داده های ساختار تودرتو است استفاده می کنیم که بعداً دوباره از آن استفاده خواهیم کرد.website = &#039;https://subslikescript.com/movie/Titanic-120338&#039;

result = requests.get(website)
content = result.text
soup = BeautifulSoup(content, &#039;lxml&#039;)

print(soup.prettify())هنگامی که ما soupشیء را داریم، می توانیم به سادگی با استفاده از HTML قابل خواندن دریافت کنیم. prettify(). اگرچه ممکن است از HTML چاپ شده در یک ویرایشگر متن برای یافتن عناصر استفاده کنیم، اما رفتن مستقیم به کد HTML عنصر مورد نظر بسیار ساده‌تر است. ما این کار را در فاز بعدی انجام خواهیم داد.صفحه وب و کد HTML را بررسی کنیدقبل از اینکه شروع به نوشتن کد کنیم، ابتدا باید وب سایتی را که می خواهیم خراش دهیم و کد HTML دریافتی را ارزیابی کنیم تا بهترین استراتژی برای خراش دادن وب سایت را شناسایی کنیم. نمونه رونوشت در زیر موجود است. چیزهایی که باید خراشیده شوند، عنوان و متن فیلم هستند.برای دریافت کد HTML برای یک عنصر داده شده، مراحل زیر را انجام دهید:به وب سایت رونوشت تایتانیک بروید.بر روی عنوان فیلم یا متن آن کلیک راست کنید. لیستی را خواهید دید. برای مشاهده کد منبع صفحه، &quot;Inspect &quot;را انتخاب کنید.چگونه یک عنصر را با BeautifulSoup پیدا کنیم؟پیدا کردن یک عنصر در سوپ زیبا آسان است. .find()به سادگی روش را روی سوپ از قبل آماده شده اعمال کنید.به عنوان مثال، کادر حاوی عنوان، توضیحات و متن فیلم را پیدا کنید. درون یک تگ قرار دارد articleو کلاس main-articleروی آن قرار دارد. برای یافتن آن باکس می توانیم از کد زیر استفاده کنیم:box = soup.find(&#039;article&#039;, class_=&#039;main-article&#039;)عنوان فیلم در یک h1برچسب محصور شده و فاقد نام کلاس است. پس از یافتن آن، از.get_text()تابع برای بازیابی متن درون گره استفاده می کنیم:title = box.find(&#039;h1&#039;).get_text()رونوشت در یک divبرچسب گنجانده شده است و دارای کلاس است full-script. در این سناریو، آرگومان های پیش فرض را در تابع تغییر می دهیم.get_text()تا متن را دریافت کنیم.ما با تنظیم strip=Trueحذف فضاهای پیشرو و عقب شروع می کنیم. سپس یک فضای خالی به جداکننده اضافه می کنیم separator=&#x27; &#x27;تا مطمئن شویم که کلمات بعد از هر خط جدید یک فضای خالی دارند \n.transcript = box.find(&#039;div&#039;, class_=&#039;full-script&#039;)
transcript = transcript.get_text(strip=True, separator=&#039; &#039;)تا کنون، ما داده ها را با موفقیت خراش داده ایم. برای اطمینان از اینکه همه چیز به درستی کار می کند، متغیرهای titleو را چاپ کنید .transcriptچگونه داده ها را به یک فایل txt اکسپورت کنیم؟می‌توانید داده‌ها را در قالب‌های، و سایر فرمت‌ها ذخیره CSVکنید JSON. در این مثال، داده های استخراج شده را در فایل a.txt ذخیره می کنیم. withبرای انجام این کار، همانطور که در کد زیر نشان داده شده است، از کلمه کلیدی استفاده می کنیم :with open(f&#039;{title}.txt&#039;, &#039;w&#039;) as file:
    file.write(transcript)به خاطر داشته باشید که از f-string برای تنظیم نام فایل به عنوان فیلم استفاده کنید. پس از اجرای کد، باید یک.txtفایل در پوشه کاری خود داشته باشیم.اکنون که با موفقیت داده‌ها را از یک صفحه وب حذف کرده‌ایم، آماده حذف رونوشت‌ها از چندین صفحه هستیم!چگونه چندین صفحه وب را خراش کنیم؟در صفحه رونوشت، به پایین پیمایش کنید و روی همه فیلمنامه‌های فیلم کلیک کنید. می توانید آن را در پایین صفحه وب پیدا کنید.اسکرین شات تمام رونوشت های فیلم را نشان می دهد. این وب سایت دارای 1757 صفحه است که تقریباً 30 رونوشت فیلم در هر صفحه دارد.hrefدر این بخش با بدست آوردن ویژگی هر لینک چندین لینک را خراش می دهیم. ابتدا باید وب سایت را تغییر دهیم تا اسکراپین مجاز باشد. متغیر جدید وب سایت ما به صورت زیر خواهد بود:root = &#039;https://subslikescript.com&#039;
website = f&#039;{root}/movies&#039;دلیل اصلی rootتعریف متغیر در کد کمک به خراش چندین صفحه وب بعداً است.نحوه دریافت ویژگی hrefبیایید با hrefویژگی 30 فیلم در یک صفحه شروع کنیم. هر عنوان فیلم را در کادر &quot; فهرست رونوشت های فیلم &quot;  بررسی کنید.پس از آن، ما باید کد HTML را داشته باشیم. یک aبرچسب باید با رنگ آبی برجسته شود. هر aبرچسب متعلق به یک عنوان فیلم است.همانطور که می بینیم، پیوندهای درون دامنه ریشهhref subslikescript.com را شامل نمی شود. به همین دلیل است که قبل از الحاق یک متغیر ریشه ایجاد کردیم.بیایید تمام aعناصر موجود در صفحه را جستجو کنیم.چگونه عناصر متعدد را پیدا کنیمدر Beautiful Soup از.find_all()روشی برای مکان یابی عناصر مختلف استفاده می کنیم. برای استخراج پیوندی که مربوط به رونوشت هر فیلم است، باید پارامتر را وارد کنیم href=True.box.find_all(&#039;a&#039;, href=True)برای دریافت لینک ها از href، [&#x27;href&#x27;]به عبارت بالا اضافه کنید. با این حال، از آنجایی که. find_all()متد یک لیست را برمی گرداند، باید از طریق آن حلقه بزنیم و hrefsیک به یک در حلقه دریافت کنیم.for link in box.find_all(&#039;a&#039;, href=True):
    link[&#039;href&#039;]همانطور که در زیر نشان داده شده است می توانیم از درک لیست برای ذخیره پیوندها استفاده کنیم:links = [link[&#039;href&#039;] for link in box.find_all(&#039;a&#039;, href=True)]
print(links)اگر لیست پیوندها را چاپ کنید، پیوندهایی که می خواهیم خراش دهیم، قابل مشاهده خواهند بود. در مرحله زیر، هر صفحه را خراش می دهیم.نحوه حلقه زدن از طریق هر پیوندبرای خراش دادن رونوشت هر پیوند، مراحلی را که برای اولین رونوشت استفاده کردیم، تکرار می کنیم. این بار، این مراحل را در حلقه زیر قرار می دهیم for.for link in links:
    result = requests.get(f&#039;{root}/{link}&#039;)
    content = result.text
    soup = BeautifulSoup(content, &#039;lxml&#039;)همانطور که ممکن است به خاطر داشته باشید، پیوندهایی که قبلاً ذخیره کرده بودیم حاوی ریشه نبودند subslikescript.com، بنابراین باید آن را با عبارت ترکیب کنیم f&#x27;{root}/{link}&#x27;.بقیه کد مشابه آنچه در بخش اول این راهنما نوشتیم است.ممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.ارتباط با من :وبسایت : mahdimashayekhi.irگیت هاب: MahdiMashayekhi-AIلینکدین: MahdiMashayekhiتوییتر: Mashayekhi_AIیوتیوب: MahdiMashayekhiاینستاگرام: MahdiMashayekhi.ai</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sat, 11 Mar 2023 21:44:33 +0330</pubDate>
            </item>
                    <item>
                <title>دیتابیس SQLite در پایتون - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-sqlite-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-gyaw8ayq8f9u</link>
                <description>دیتابیس SQLite در پایتون - مهدی مشایخیپایگاه های داده یک جزء حیاتی در توسعه نرم‌افزار هستند. از این گذشته، ما باید داده ها را در مکانی جمع‌آوری کنیم که بتوانیم به صورت دیجیتالی به آن ها برای خواندن، نوشتن، به روز رسانی و حذف دسترسی داشته باشیم.در این آموزش، نحوه استفاده از SQLite با پایتون را خواهید آموخت. یادگیری SQLite یک راه عالی برای یادگیری نحوه عملکرد پایگاه های داده و نحوه انجام عملیات های اولیه CRUD (ایجاد، خواندن، به روز رسانی، حذف) است.بسیاری از موقعیت‌های توسعه‌دهنده نرم‌افزار شامل کار با پایگاه‌های داده است، و اگر زمانی به ایجاد یک برنامه کاربردی در مقیاس کامل (مانند یک برنامه رسانه‌های اجتماعی یا یک بازی آنلاین) فکر می‌کنید، قطعاً به یک پایگاه داده نیز نیاز خواهید داشت.این آموزش بسیاری از مفاهیم اولیه و عملیات ساده را توضیح می دهد تا بتوانید نحوه کار با پایگاه های داده را بهتر درک کنید.دیتابیس SQLite چیست؟این SQLite یک کتابخانه موتور پایگاه داده SQL (زبان جستجوی ساختاریافته) است که با بسیاری از زبان ها کار می کند.طبق وب سایت رسمی ، متن SQL در بایت کد کامپایل می شود که سپس توسط یک ماشین مجازی اجرا می شود. بنابراین، بسیار سریع است و می تواند به طور مؤثر پرس و جوهای پیچیده را مدیریت کند.یک پایگاه داده SQLite به عنوان یک فایل دیسک، مشابه فایل CSV (مقادیر جدا شده با کاما) ذخیره می شود. اما SQLite مزایای زیادی نسبت به استفاده از فایل CSV دارد:این زبان با استفاده از C نوشته شده است. C یک زبان کامپایل شده با تایپ ایستا است که بسیار سریعتر از بسیاری از زبان ها از جمله پایتون است.این سبک وزن است، بنابراین بهتر و سریعتر از خواندن از یک فایل CSV عمل می کند.راه‌اندازی آن آسان استمی تواند پرس و جوهای پیچیده تری را مدیریت کند.در صورتی که در آینده به شما موظف به استفاده از SQL یا MySQL شود، یادگیری آن مفیدتر است.نحوه راه‌اندازی SQLiteدر اینجا مثالی از استفاده از SQLite با پایتون آورده شده است. من از IDE آنلاین Replit استفاده می کنم ، اما شما می توانید هر IDE را که دوست دارید دنبال کنید.ابتدا یک پروژه پایتون با یک فایل ایجاد می کنم main.py. من از کتابخانه SQL CS50 استفاده خواهم کرد که می توانید با اجرای آن نصب کنید pip3 install cs50.اولین مرحله ایجاد یک فایل database.db در پوشه ریشه است که می توانید با وارد کردن دستور زیر در ترمینال این کار را انجام دهید:touch database.dbدر این مرحله، کد زیر باید به main.py اضافه شود:from cs50 import SQL

db = SQL(&amp;quotsqlite:///database.db&amp;quot)نحوه ایجاد جدول پایگاه دادهمرحله بعدی ایجاد جدول در پایگاه داده است. SQL داده ها را در جداول ذخیره می کند که شبیه جداول موجود در Excel یا Google Sheets هستند. کد این است:db.execute(&amp;quotCREATE TABLE IF NOT EXISTS users (name TEXT, age NUMBER, fav_food STRING)&amp;quot)برای تفکیک این، db پایگاه داده ای است که داده ها در آن نوشته می شوند. بعد، یک دستور اجرا می شود. اگر جدول usersوجود ندارد، جدولی با نام کاربران، با نام ستون ها name، ageو fav_foodبا انواع داده ها برای هر مقدار مشخص شده ایجاد کنید.نحوه نوشتن در پایگاه دادهبرای افزودن کاربر می توانید از عملیات INSERT استفاده کنید.db.execute(&amp;quotINSERT INTO users (name, age, fav_food) VALUES(?, ?, ?)&amp;quot, &amp;quoteesa&amp;quot, 14, &amp;quotpizza&amp;quot)مقدار &quot;eesa&quot; در ستون نام، مقدار 14 در ستون سن و مقدار &quot;پیتزا&quot; در ستون fav_food درج می شود.کد اضافه کردن کاربر دیگر (در این مورد، باب)، این خواهد بود:db.execute(&amp;quotINSERT INTO users (name, age, fav_food) VALUES(?, ?, ?)&amp;quot, &amp;quotbob&amp;quot, 20, &amp;quotburgers&amp;quot)نحوه خواندن از پایگاه دادهپس از این، می‌توانیم سعی کنیم همه کاربران را از پایگاه داده بخوانیم. با اجرای کد زیر می توانید این کار را انجام دهید.people = db.execute(&amp;quotSELECT * FROM users&amp;quot)
print(people) # [{&#039;name&#039;: &#039;eesa&#039;, &#039;age&#039;: 14, &#039;fav_food&#039;: &#039;pizza&#039;}]کد بالا نسبتاً ساده است. * در عبارت SELECT هر آنچه در پایگاه داده است را انتخاب می کند.فقط برای انتخاب مقادیر خاص، می توانید از عبارت DISTINCT استفاده کنید. مثلاً بگویید شما فقط غذای مورد علاقه هر کاربر را می خواهید. با اجرای کد زیر می توانید این کار را انجام دهید:people = db.execute(&amp;quotSELECT DISTINCT fav_food FROM users&amp;quot)
print(people)همچنین می توانید مقادیر را با استفاده از کاما در یک عبارت SELECT DISTINCT جدا کنید:people = db.execute(&amp;quotSELECT DISTINCT age, fav_food FROM users&amp;quot)
print(people)اگر بخواهیم فقط داده های باب را بخوانیم، و بقیه را نادیده بگیریم، چه؟ می توانید این کار را با استفاده از بند SQL WHERE انجام دهید:people = db.execute(&amp;quotSELECT * FROM users WHERE name=&#039;bob&#039;&amp;quot)
print(people)برای پرس و جوهای پیچیده‌تر چطور؟ می توانید این کار را با استفاده از نحو AND، OR و NOT انجام دهید. برای پرس و جوهای پیچیده‌تر می توانید بند های WHERE را با این کلمات کلیدی جدا کنید.people = db.execute(&amp;quotSELECT * FROM users WHERE name=&#039;bob&#039; AND age=20&amp;quot)
print(people)این داده ها را برای باب چاپ می کند، زیرا باب 20 است.نحوه به روز رسانی یک ردیف در پایگاه دادهبرای به روز رسانی یک ردیف، می توانید از عبارت UPDATE مانند این استفاده کنید:db.execute(&amp;quotUPDATE users SET fav_food=&#039;shawarma&#039; WHERE name=&#039;eesa&#039;&amp;quot)نحوه حذف یک ردیف در پایگاه دادهبرای حذف یک ردیف، از DELETE Syntax استفاده کنید (همانطور که ممکن است حدس بزنید). به نظر می رسد این است:db.execute(&amp;quotDELETE FROM users WHERE name=&#039;bob&#039;&amp;quot) # goodbye bob

people = db.execute(&amp;quotSELECT * FROM users&amp;quot)
print(people) # [{&#039;name&#039;: &#039;eesa&#039;, &#039;age&#039;: 14, &#039;fav_food&#039;: &#039;shawarma&#039;}]برای حذف تمام سطرهای جدول، فقط عبارت WHERE را حذف کنید:db.execute(&amp;quotDELETE FROM users&amp;quot) # :(

people = db.execute(&amp;quotSELECT * FROM users&amp;quot)
print(people) # []ممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.ارتباط با من :وبسایت : mahdimashayekhi.irگیت هاب: MahdiMashayekhi-AIلینکدین: MahdiMashayekhiتوییتر: Mashayekhi_AIیوتیوب: MahdiMashayekhiاینستاگرام: MahdiMashayekhi.ai</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Mon, 27 Feb 2023 23:19:35 +0330</pubDate>
            </item>
                    <item>
                <title>10 دستور Git که هر توسعه دهنده ای باید بداند!</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA-%D9%BE%D8%B1%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF-%DA%AF%DB%8C%D8%AA-hejxvfnor0wo</link>
                <description>مهترین دستورات گیت - مهدی مشایخیگیت بخش مهمی از برنامه نویسی روزانه است (به خصوص اگر با یک تیم کار می کنید) و به طور گسترده در صنعت نرم‌افزار استفاده می شود.از آنجایی که دستورات مختلفی وجود دارد که می توانید استفاده کنید، تسلط بر Git زمان می برد. اما برخی از دستورات بیشتر مورد استفاده قرار می گیرند (برخی روزانه). بنابراین در این پست، 10 دستور پرکاربرد Git را که هر توسعه دهنده ای باید بداند را به اشتراک گذاشته و توضیح خواهم داد.توجه: برای درک این مقاله، باید اصول Git را بدانید.1. Git Cloneدستور Git clone دستوری برای دانلود کد منبع موجود از یک مخزن راه دور (مانند Github) است. به عبارت دیگر، Git clone اساساً یک کپی مشابه از آخرین نسخه یک پروژه در یک مخزن می‌سازد و آن را در رایانه شما ذخیره می‌کند.چند راه برای دانلود کد منبع وجود دارد، اما من بیشتر شبیه سازی را با روش https ترجیح می دهم :git clone &lt;https://name-of-the-repository-link&gt;برای مثال، اگر می‌خواهیم پروژه‌ای را از Github دانلود کنیم، تنها کاری که باید انجام دهیم این است که روی دکمه سبز رنگ (کلون یا دانلود) کلیک کنیم، URL موجود در کادر را کپی کرده و بعد از دستور git clone که درست نشان داده‌ام، آن را پیست کنیم. در بالا.گیت کلون - مهدی مشایخیبا این کار یک کپی از پروژه در فضای کاری محلی شما ایجاد می شود تا بتوانید کار با آن را شروع کنید.2. Git branchشاخه ها در دنیای git بسیار مهم هستند. با استفاده از شاخه ها، چندین توسعه دهنده می توانند به طور موازی روی یک پروژه به طور همزمان کار کنند. می‌توانیم از دستور git branch برای ایجاد، فهرست‌بندی و حذف شاخه‌ها استفاده کنیم.ایجاد شاخه جدید:git branch &lt;branch-name&gt;این دستور یک شاخه به صورت محلی ایجاد می کند. برای فشار دادن شاخه جدید به مخزن راه دور، باید از دستور زیر استفاده کنید:git push -u &lt;remote&gt; &lt;branch-name&gt;مشاهده شاخه:git branch or git branch --listحذف شاخه:git branch -d &lt;branch-name&gt;3. Git checkoutاین یکی از پرکاربردترین دستورات Git است. برای کار در یک شعبه، ابتدا باید به آن سوئیچ کنید. ما از git checkout بیشتر برای جابجایی از یک شاخه به شاخه دیگر استفاده می کنیم. همچنین می توانیم از آن برای بررسی فایل ها و commit ها استفاده کنیم.git checkout &lt;name-of-your-branch&gt;برای جابجایی موفقیت آمیز بین شاخه ها باید مراحلی را دنبال کنید:تغییرات در شعبه فعلی شما باید قبل از اینکه تغییر دهید، تایید شوند.شاخه ای که می‌خواهید بررسی کنید باید در لوکال شما وجود داشته باشدهمچنین یک دستور میانبر وجود دارد که به شما امکان می دهد همزمان یک شاخه را ایجاد کرده و به آن سوئیچ کنید:git checkout -b &lt;name-of-your-branch&gt;این دستور یک شاخه جدید در محلی شما ایجاد می کند (-b مخفف شاخه است) و شعبه را بلافاصله پس از ایجاد به new بررسی می کند.4. Git statusدستور Git status تمام اطلاعات لازم در مورد شاخه فعلی را به ما می دهد.git statusما می توانیم اطلاعاتی مانند:آیا شاخه فعلی به روز است یا خیرچه چیزی برای ارتکاب، فشار دادن یا کشیدن وجود داشته باشداین که آیا فایل های مرحله بندی شده، بدون مرحله یا ردیابی نشده وجود دارداین که آیا فایل هایی ایجاد، اصلاح یا حذف شده اندوضعیت فایل های گیت قبل از وارد شدن به استیج - مهدی مشایخی5. Git addوقتی فایلی را ایجاد، اصلاح یا حذف می کنیم، این تغییرات در محلی ما اتفاق می افتد و در commit بعدی گنجانده نمی شود (مگر اینکه تنظیمات را تغییر دهیم).ما باید از دستور git add استفاده کنیم تا تغییرات یک فایلها را در commit بعدی خود وارد کنیم.برای اضافه کردن یک فایل:git add &lt;file&gt;برای اضافه کردن همه چیز به یکباره:git add -Aوقتی از اسکرین شات بالا در بخش چهارم بازدید می‌کنید، می‌بینید که نام فایل‌ها قرمز هستند - این به این معنی است که آنها فایل‌های بدون مرحله هستند. فایل های بدون مرحله در commit های شما گنجانده نمی شوند.برای گنجاندن آنها، باید از git add استفاده کنیم:فایل های پروژه در استیج - مهدی مشایخیمهم: دستور git add مخزن را تغییر نمی‌دهد و تا زمانی که از git commit استفاده نکنیم، تغییرات ذخیره نمی‌شوند.6. Git commitاین شاید پرکاربردترین دستور Git باشد. هنگامی که به نقطه خاصی در توسعه رسیدیم، می خواهیم تغییرات خود را ذخیره کنیم (شاید بعد از یک کار یا مشکل خاص).دستور Git commit مانند تعیین یک چک پوینت در فرآیند توسعه است که در صورت نیاز می توانید بعداً به آن بازگردید.همچنین باید یک پیام کوتاه بنویسیم تا توضیح دهیم که چه چیزی در کد منبع ایجاد یا تغییر داده ایم.git commit -m &amp;quotcommit message&amp;quotمهم: Git commit تغییرات شما را فقط به صورت محلی ذخیره می کند.7. Git pushپس از انجام تغییرات خود، کاری که می خواهید انجام دهید این است که تغییرات خود را به سرور راه دور ارسال کنید. Git push تعهدات شما را در مخزن راه دور آپلود می کند.git push &lt;remote&gt; &lt;branch-name&gt;با این حال، اگر شعبه شما به تازگی ایجاد شده است، باید شاخه را نیز با دستور زیر آپلود کنید:git push --set-upstream &lt;remote&gt; &lt;name-of-your-branch&gt;یاgit push -u origin &lt;branch_name&gt;مهم: Git push فقط تغییراتی را آپلود می کند که commit شده اند.8. Git pullدستور git pull برای دریافت به روز رسانی از مخزن راه دور استفاده می شود. این دستور ترکیبی از git fetch و git merge است که به این معنی است که وقتی از git pull استفاده می کنیم، به روز رسانی ها را از مخزن راه دور (git fetch) دریافت می کند و بلافاصله آخرین تغییرات را در محلی شما اعمال می کند (git merge).git pull &lt;remote&gt;این عملیات ممکن است باعث تداخل هایی شود که باید به صورت دستی آن را حل کنید.9. Git Revertگاهی اوقات لازم است تغییراتی را که ایجاد کرده ایم لغو کنیم. راه های مختلفی برای لغو تغییرات به صورت محلی یا از راه دور (بستگی به نیاز ما دارد) وجود دارد، اما برای جلوگیری از حذف ناخواسته باید از این دستورات به دقت استفاده کنیم.یک راه امن‌تر که می‌توانیم commit‌ هایمان را لغو کنیم، استفاده از git revert است. برای دیدن تاریخچه commit خود، ابتدا باید از git log -- oneline استفاده کنیم:دستور گیت ریورت - مهدی مشایخیسپس ما فقط باید کد هش را در کنار commit خود مشخص کنیم که می خواهیم آن را لغو کنیم:git revert 3321844پس از این، صفحه ای مانند زیر را مشاهده خواهید کرد - فقط shift + q را برای خروج فشار دهید:دستور گیت برگشت به نسخه قبلی پروژه - مهدی مشایخیدستور Git revert commit داده شده را لغو می کند، اما یک commit جدید بدون حذف قدیمی تر ایجاد می کند:مزیت استفاده از git revert این است که تاریخچه commit را لمس نمی کند. این به این معنی است که شما هنوز هم می توانید تمام commit های موجود در تاریخ خود را ببینید، حتی آنهایی که برگردانده شده اند.یکی دیگر از اقدامات ایمنی در اینجا این است که همه چیز در سیستم محلی ما اتفاق می افتد مگر اینکه آنها را به مخزن از راه دور فشار دهیم. به همین دلیل است که استفاده از git revert ایمن‌تر است و بهترین راه برای لغو تعهدات ما است.10. Git mergeهنگامی که توسعه را در شعبه خود تکمیل کردید و همه چیز به خوبی کار کرد، مرحله نهایی ادغام شعبه با شاخه اصلی (dev یا master) است. این کار با git mergeدستور انجام می شود.ادغام Git اساساً شاخه ویژگی شما را با تمام تعهدات آن به شاخه dev (یا master) ادغام می کند. مهم است که به یاد داشته باشید که ابتدا باید در شاخه خاصی باشید که می خواهید با شاخه ویژگی خود ادغام کنید.به عنوان مثال، وقتی می خواهید شاخه ویژگی خود را در شاخه dev ادغام کنید:ابتدا باید به شاخه dev تغییر دهید:git checkout devقبل از ادغام، باید شعبه توسعه دهنده محلی خود را به روز کنید:git fetchدر نهایت، می توانید شاخه ویژگی خود را در توسعه دهنده ادغام کنید:git merge &lt;branch-name&gt;نکته: قبل از ادغام شاخه های خود، مطمئن شوید که شعبه توسعه دهنده شما آخرین نسخه را دارد، در غیر این صورت ممکن است با تداخل یا مشکلات ناخواسته دیگری مواجه شوید.بنابراین اینها 10 دستور git پر استفاده من هستند که در برنامه نویسی روزانه خود با آنها مواجه می شوم. چیزهای زیادی برای یادگیری در مورد Git وجود دارد که بعداً در مقالات جداگانه آنها را توضیح خواهم داد.ممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.ارتباط با من :وبسایت : mahdimashayekhi.irگیت هاب: MahdiMashayekhi-AIلینکدین: MahdiMashayekhiتوییتر: Mashayekhi_AIیوتیوب: MahdiMashayekhiاینستاگرام: MahdiMashayekhi.ai</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sat, 25 Feb 2023 10:07:44 +0330</pubDate>
            </item>
                    <item>
                <title>تابع هزینه - Cost Function - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D8%AA%D8%A7%D8%A8%D8%B9-%D9%87%D8%B2%DB%8C%D9%86%D9%87-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-pm4gizthpmft</link>
                <description>تابع هزینه چیست؟ چه کاربردی دارد؟ مهدی مشایخیتابع هزینه در مباحث ماشین لرنینگتابع ضرر/هزینه چیست؟ «از دست دادن» در یادگیری ماشینی به ما کمک می‌کند تفاوت بین ارزش پیش‌بینی‌شده و ارزش واقعی را درک کنیم. تابعی که برای تعیین کمیت این اتلاف در مرحله آموزش به شکل یک عدد واقعی استفاده می شود، به عنوان &quot;تابع ضرر&quot; شناخته می شود. اینها در آن دسته از الگوریتم های یادگیری تحت نظارت که از تکنیک های بهینه‌سازی استفاده می کنند استفاده می شود. نمونه‌های قابل‌توجهی از این الگوریتم‌ها رگرسیون ،  رگرسیون لجستیک و غیره است. اصطلاحات تابع هزینه و تابع ضرر مشابه هستند.تابع Loss: زمانی استفاده می شود که برای یک مثال آموزشی به خطا اشاره کنیم.تابع هزینه (Cost): برای اشاره به میانگین توابع ضرر در کل مجموعه داده آموزشی استفاده می شود.اما چرا از تابع هزینه استفاده میکنیم؟چرا به یک تابع هزینه نیاز داریم؟ سناریویی را در نظر بگیرید که در آن می خواهیم داده ها را طبقه‌بندی کنیم. فرض کنید جزئیات قد و وزن برخی از گربه ها و سگ ها را داریم. اجازه دهید از این 2 ویژگی برای طبقه‌بندی صحیح آنها استفاده کنیم. اگر این رکوردها را رسم کنیم، نمودار پراکندگی زیر را دریافت می کنیم:نمودار پراکندگی برای قد و وزن سگ ها و گربه های مختلفنقاط آبی گربه و نقاط قرمز سگ هستند. در زیر چند راه حل برای مشکل طبقه‌بندی بالا آورده شده است.راه حل های احتمالی برای مشکل طبقه‌بندی مااساساً هر سه طبقه‌بندی‌کننده دقت بسیار بالایی دارند، اما راه‌حل سوم بهترین است زیرا هیچ نقطه‌ای را اشتباه طبقه‌بندی نمی‌کند. دلیل اینکه همه نقاط را کاملاً طبقه‌بندی می کند این است که خط تقریباً دقیقاً در بین دو گروه قرار دارد و به هیچ یک از گروه ها نزدیکتر نیست. اینجاست که مفهوم تابع هزینه مطرح می شود. تابع هزینه به ما کمک می کند به راه حل بهینه برسیم. تابع هزینه، تکنیک ارزیابی «عملکرد الگوریتم/مدل ما» است.هم خروجی های پیش بینی شده توسط مدل و هم خروجی های واقعی را می گیرد و محاسبه می کند که مدل چقدر در پیش بینی خود اشتباه بوده است. اگر پیش‌بینی‌های ما با مقادیر واقعی تفاوت زیادی داشته باشد، عدد بالاتری به دست می‌دهد. همانطور که مدل خود را برای بهبود پیش‌بینی‌ها تنظیم می‌کنیم، تابع هزینه به عنوان شاخصی از بهبود مدل عمل می‌کند. این در اصل یک مشکل بهینه‌سازی است. هدف استراتژی های بهینه‌سازی همیشه &quot;به حداقل رساندن تابع هزینه&quot; است.انواع تابع هزینهتوابع هزینه زیادی در یادگیری ماشین وجود دارد و هر کدام بسته به اینکه مشکل رگرسیونی یا طبقه‌بندی باشد، موارد استفاده خود را دارد.تابع هزینه رگرسیونتوابع هزینه طبقه‌بندی باینریتوابع هزینه طبقه‌بندی چند طبقه1. تابع هزینه رگرسیون:مدل‌های رگرسیون با پیش‌بینی یک مقدار پیوسته مانند حقوق یک کارمند، قیمت خودرو، پیش‌بینی وام و غیره سروکار دارند. آنها بر اساس خطای فاصله به صورت زیر محاسبه می شوند:خطا = y-y&#x27;جایی که،Y - ورودی واقعیY&#x27; – خروجی پیش بینی شدهبیشترین استفاده از توابع هزینه رگرسیون در زیر آمده است:1.1 میانگین خطا (ME)در این تابع هزینه، خطای هر داده آموزشی محاسبه شده و سپس مقدار میانگین تمامی این خطاها استخراج می شود.محاسبه میانگین خطاها ساده‌ترین و شهودی ترین راه ممکن است.خطاها می توانند هم منفی و هم مثبت باشند. بنابراین آنها می توانند یکدیگر را در طول جمع خنثی کنند و میانگین خطای مدل را صفر کنند.بنابراین این یک تابع هزینه توصیه شده نیست، اما پایه و اساس دیگر توابع هزینه مدل های رگرسیون را می گذارد.1.2 میانگین مربعات خطا (MSE)این ایرادی را که در Mean Error در بالا با آن مواجه شدیم بهبود می بخشد. در اینجا یک مربع از تفاوت بین مقدار واقعی و پیش بینی شده محاسبه می شود تا از هرگونه احتمال خطای منفی جلوگیری شود.به عنوان میانگین مجموع اختلاف مجذور بین پیش بینی ها و مشاهدات واقعی اندازه گیری می شود.MSE = (مجموع مجذور خطاها)/nهمچنین به عنوان از دست دادن L2 شناخته می شود.در MSE، از آنجایی که هر خطا مربع است، به جریمه کردن انحرافات کوچک در پیش بینی در مقایسه با MAE کمک می کند. اما اگر مجموعه داده‌های ما دارای مقادیر پرت باشد که به خطاهای پیش‌بینی بزرگ‌تر کمک می‌کند، در این صورت مربع کردن بیشتر این خطا  ، خطا را چندین برابر بیشتر می‌کند و همچنین منجر به خطای MSE بالاتر می‌شود.از این رو می توان گفت که نسبت به موارد پرت مقاومت کمتری دارد1.3 میانگین خطای مطلق (MAE)این تابع هزینه همچنین کمبود میانگین خطا را به طور متفاوتی برطرف می کند. در اینجا یک تفاوت مطلق بین مقدار واقعی و پیش بینی شده محاسبه می شود تا از هرگونه احتمال خطای منفی جلوگیری شود.بنابراین در این تابع هزینه، MAE به عنوان میانگین مجموع تفاوت های مطلق بین پیش بینی ها و مشاهدات واقعی اندازه گیری می شود.MAE = (مجموع خطاهای مطلق)/nهمچنین به عنوان ضرر L1 شناخته می شود.نسبت به موارد پرت مقاوم است، بنابراین حتی زمانی که مجموعه داده ما دارای نویز یا نقاط پرت باشد، نتایج بهتری به دست خواهد آورد.2. توابع هزینه برای مسائل طبقه‌بندیتوابع هزینه مورد استفاده در مسائل طبقه‌بندی با آنچه ما در مسئله رگرسیون استفاده می کنیم متفاوت است. یک تابع زیان که معمولاً برای طبقه‌بندی استفاده می شود، از دست دادن متقابل آنتروپی است. اجازه دهید آنتروپی متقاطع را با یک مثال کوچک درک کنیم. در نظر بگیرید که ما یک مشکل طبقه‌بندی 3 کلاس به شرح زیر داریم.کلاس (پرتقال، سیب، گوجه فرنگی)مدل یادگیری ماشین توزیع احتمالی از این 3 کلاس را به عنوان خروجی برای یک داده ورودی داده شده ارائه می دهد. کلاسی که بیشترین احتمال را دارد به عنوان کلاس برنده برای پیش بینی در نظر گرفته می شود.خروجی = [P (نارنجی)، P (سیب)، P (گوجه فرنگی)]توزیع احتمال واقعی برای هر کلاس در زیر نشان داده شده است.نارنجی = [1,0,0]سیب = [0،1،0]گوجه فرنگی = [0,0,1]اگر در مرحله آموزش، کلاس ورودی گوجه فرنگی باشد، توزیع احتمال پیش بینی شده باید به سمت توزیع احتمال واقعی گوجه فرنگی باشد. اگر توزیع احتمال پیش‌بینی‌شده به توزیع واقعی نزدیک‌تر نباشد، مدل باید وزن خود را تنظیم کند. اینجاست که آنتروپی متقاطع به ابزاری برای محاسبه فاصله توزیع احتمال پیش‌بینی‌شده از واقعی تبدیل می‌شود. به عبارت دیگر، آنتروپی متقاطع را می توان راهی برای اندازه گیری فاصله بین دو توزیع احتمال در نظر گرفت. تصویر زیر شهود پشت آنتروپی متقابل را نشان می دهد:این فقط یک شهود پشت آنتروپی متقابل بود. منشأ آن در نظریه اطلاعات است. اکنون با این درک از آنتروپی متقابل، اجازه دهید اکنون توابع هزینه طبقه‌بندی را ببینیم.2.1 توابع هزینه طبقه بندی چند طبقهاین تابع هزینه در مسائل طبقه بندی که در آن چندین کلاس وجود دارد و داده های ورودی فقط به یک کلاس تعلق دارد استفاده می شود. اکنون بیایید بفهمیم که آنتروپی متقاطع چگونه محاسبه می شود. فرض کنید که مدل توزیع احتمال را به صورت زیر برای کلاس های &#x27;n&#x27; و برای یک داده ورودی خاص D ارائه می دهد.و توزیع احتمال واقعی یا هدف داده D استسپس آنتروپی متقاطع برای آن داده خاص D به صورت محاسبه می شوداز دست دادن آنتروپی متقاطع (y,p) = – y T log(p)= -(y 1 log (p 1 ) + y 2 log (p 2 ) + ……y n log (p n ) )اکنون اجازه دهید تابع هزینه را با استفاده از مثال بالا تعریف کنیم (به تصویر آنتروپی متقاطع -شکل 3 مراجعه کنید).p (گوجه فرنگی) = [0.1، 0.3، 0.6]y (گوجه فرنگی) = [0، 0، 1]متقاطع آنتروپی(y,P) = – (0*Log(0.1) + 0*Log(0.3)+1*Log(0.6)) = 0.51فرمول فوق فقط آنتروپی متقاطع را برای یک مشاهده یا داده ورودی واحد اندازه گیری می کند. خطا در طبقه‌بندی برای مدل کامل با آنتروپی متقاطع طبقه‌بندی می‌شود که چیزی جز میانگین آنتروپی متقاطع برای تمام داده‌های آموزشی N نیست.آنتروپی متقاطع = (مجموع آنتروپی متقاطع برای N داده)/N2.2 تابع هزینه آنتروپی متقاطع باینریآنتروپی متقاطع باینری یک مورد خاص از آنتروپی متقاطع طبقه‌ای است که تنها یک خروجی وجود دارد که فقط مقدار دودویی 0 یا 1 را برای نشان دادن کلاس منفی و مثبت فرض می‌کند. به عنوان مثال - طبقه‌بندی بین گربه و سگ.انتقادات و پیشنهاد خود را در پایین همین مقاله با ما در میان بگذارید!منبعممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.ارتباط با من :وبسایت : mahdimashayekhi.irگیت هاب: MahdiMashayekhi-AIلینکدین: MahdiMashayekhiتوییتر: Mashayekhi_AIیوتیوب: MahdiMashayekhiاینستاگرام: MahdiMashayekhi.ai</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Mon, 06 Feb 2023 18:23:46 +0330</pubDate>
            </item>
                    <item>
                <title>بهترین الگوریتم های یادگیری عمیق - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/best-algorithm-for-deep-learning-nk6gxpxqamwy</link>
                <description>بهترین الگوریتم های یادگیری عمیق - مهدی مشایخییادگیری عمیق چیست؟یادگیری عمیق از شبکه های عصبی مصنوعی برای انجام محاسبات پیچیده بر روی مقادیر زیادی داده استفاده میکند. این یک نوع یادگیری ماشینی است که بر اساس ساختار و عملکرد مغز انسان کار می کند. الگوریتم های یادگیری عمیق ماشین ها را با یادگیری از مثال ها آموزش می دهند. صنایعی مانند مراقبت های بهداشتی، تجارت الکترونیک، سرگرمی و تبلیغات معمولاً از یادگیری عمیق استفاده می کنند.تعریف شبکه های عصبییک شبکه عصبی مانند مغز انسان ساختار یافته است و از نورون های مصنوعی که به عنوان گره نیز شناخته می شوند، تشکیل شده است. این گره ها در سه لایه در کنار یکدیگر قرار می گیرند:لایه ورودی | input layerلایه های مخفی | hidden layerلایه خروجی | output layerتعریف شبکه های عصبی - مهدی مشایخیداده ها به هر گره اطلاعاتی را در قالب ورودی ارائه می کنند. گره ورودی ها را با وزن های تصادفی ضرب می کند، آنها را محاسبه می کند و یک بایاس اضافه می کند. در نهایت، توابع غیرخطی، که به عنوان توابع فعال سازی نیز شناخته می شوند، برای تعیین اینکه کدام نورون باید شلیک شود، اعمال می شود.الگوریتم های یادگیری عمیق چگونه کار می کنند؟در حالی که الگوریتم‌های یادگیری عمیق دارای نمایش‌های خودآموز هستند، به شبکه‌های عصبی مصنوعی وابسته هستند که نحوه محاسبه اطلاعات توسط مغز را منعکس می‌کنند. در طول فرآیند آموزش، الگوریتم ها از عناصر ناشناخته در توزیع ورودی برای استخراج ویژگی ها، گروه بندی اشیاء و کشف الگوهای داده مفید استفاده می کنند. بسیار شبیه ماشین‌های آموزشی برای خودآموزی، این امر در سطوح چندگانه با استفاده از الگوریتم‌ها برای ساخت مدل‌ها رخ می‌دهد.مدل های یادگیری عمیق از چندین الگوریتم استفاده می کنند. در حالی که هیچ شبکه ای کامل در نظر گرفته نمی شود، برخی از الگوریتم ها برای انجام وظایف خاص مناسب تر هستند. برای انتخاب درست، خوب است که درک کاملی از همه الگوریتم های اولیه به دست آورید.انواع الگوریتم های مورد استفاده در یادگیری عمیقدر اینجا لیستی از 10 الگوریتم برتر یادگیری عمیق وجود دارد:شبکه های عصبی کانولوشن (CNN) Convolutional Neural Networksشبکه های حافظه کوتاه مدت (LSTM) Long Short Term Memory Networksشبکه های عصبی مکرر (RNN) Recurrent Neural Networksشبکه های متخاصم مولد (GAN) Generative Adversarial Networksشبکه های تابع پایه شعاعی (RBFN) Radial Basis Function Networksپرسپترون های چند لایه (MLP) Multilayer Perceptronsنقشه‌های خود سازماندهی (SOM) Self Organizing Mapsشبکه های باور عمیق (DBN) Deep Belief Networksماشین‌های محدود بولتزمن (RBM) Restricted Boltzmann Machinesرمزگذارهای خودکار (AE) Auto Encodersالگوریتم های یادگیری عمیق تقریباً با هر نوع داده ای کار می کنند و برای حل مسائل پیچیده به مقدار زیادی قدرت محاسباتی و اطلاعات نیاز دارند.1. شبکه های عصبی کانولوشن (CNN)سی ان ان CNN که به عنوان Convolutional Neural Networks نیز شناخته می شود، از چندین لایه تشکیل شده است و عمدتاً برای پردازش تصویر و تشخیص اشیا استفاده می شود. Yann LeCun اولین CNN را در سال 1988 توسعه داد که LeNet نام داشت. برای تشخیص کاراکترهایی مانند کدهای پستی و ارقام استفاده می شد.سی ان ان CNN به طور گسترده برای شناسایی تصاویر ماهواره ای، پردازش تصاویر پزشکی، پیش بینی سری های زمانی و تشخیص ناهنجاری ها استفاده می شود.سی ان ان ها CNN چگونه کار می کنند؟سی ان ان CNN دارای لایه های متعددی است که ویژگی ها را از داده ها پردازش و استخراج می کند:لایه پیچیدگی | Convolution Layerسی ان ان CNN دارای یک لایه کانولوشن است که چندین فیلتر برای انجام عملیات کانولوشن دارد.واحد خطی اصلاح شده (ReLU) | Rectified Linear Unitسی ان ان CNN دارای یک لایه ReLU برای انجام عملیات بر روی عناصر است. خروجی یک نقشه ویژگی اصلاح شده است.لایه ادغام | Pooling Layerنقشه ویژگی اصلاح شده در مرحله بعدی به یک لایه ادغام تغذیه می شود. ادغام یک عملیات نمونه برداری پایین است که ابعاد نقشه ویژگی را کاهش می دهد. سپس لایه ادغام آرایه های دو بعدی حاصل را از نقشه ویژگی تلفیقی به یک بردار منفرد، طولانی، پیوسته و خطی با صاف کردن آن تبدیل می کند. لایه کاملا متصل | Fully Connected Layerیک لایه کاملا متصل زمانی تشکیل می شود که ماتریس مسطح از لایه ادغام به عنوان ورودی تغذیه می شود که تصاویر را طبقه بندی و شناسایی می کند.در زیر نمونه ای از تصویر پردازش شده از طریق CNN است.سی ان ان ها CNN چگونه کار می کنند؟ - مهدی مشایخی2. شبکه های حافظه کوتاه مدت بلند مدت (LSTM)ال اس تی ام ها LSTM  نوعی شبکه عصبی بازگشتی (RNN) هستند که می توانند وابستگی های طولانی مدت را یاد بگیرند و به خاطر بسپارند. یادآوری اطلاعات گذشته برای دوره های طولانی رفتار پیش فرض است. ال اس تی ام ها LSTM  اطلاعات را در طول زمان حفظ می کنند. آنها در پیش بینی سری زمانی مفید هستند زیرا ورودی های قبلی را به خاطر می آورند. LSTM ها ساختاری زنجیره مانند دارند که در آن چهار لایه متقابل به روشی منحصر به فرد با هم ارتباط برقرار می کنند. علاوه بر پیش‌بینی‌های سری زمانی، LSTM‌ها معمولاً برای تشخیص گفتار، ترکیب موسیقی و توسعه دارویی استفاده می‌شوند.ال اس تی ام LSTM ها چگونه کار می کنند؟اول، آنها بخش های نامربوط از حالت قبلی را فراموش می کنند در مرحله بعد، آنها به طور انتخابی مقادیر حالت سلول را به روز می کننددر نهایت خروجی قسمت های خاصی از سلول حالت می گیرددر زیر نموداری از نحوه عملکرد LSTM آورده شده است:شبکه های حافظه کوتاه مدت بلند مدت (LSTM) - مهدی مشایخی3. شبکه های عصبی مکرر (RNN)آر ان ان ها RNN  دارای اتصالاتی هستند که چرخه های جهت دار را تشکیل می دهند که به خروجی های LSTM اجازه می دهد تا به عنوان ورودی به فاز جاری تغذیه شوند. خروجی LSTM به ورودی فاز فعلی تبدیل می شود و به دلیل حافظه داخلی می تواند ورودی های قبلی را به خاطر بسپارد. RNN ها معمولاً برای شرح تصاویر، تجزیه و تحلیل سری های زمانی ، پردازش زبان طبیعی، تشخیص دست خط و ترجمه ماشینی استفاده می شوند.یک RNN باز شده به شکل زیر است:شبکه های عصبی مکرر (RNN) - مهدی مشایخیآر ان ان ها RNN چگونه کار می کنند؟خروجی در زمان t-1 در زمان t به ورودی وارد می شود. به طور مشابه، خروجی در زمان t در زمان t+1 به ورودی وارد می شود.آر ان ان RNN می توانند ورودی های هر طولی را پردازش کنند. محاسبات اطلاعات تاریخی را محاسبه می کند و اندازه مدل با اندازه ورودی افزایش نمی یابد.در اینجا مثالی از نحوه عملکرد ویژگی تکمیل خودکار گوگل آورده شده است:عملکرد ویژگی تکمیل خودکار گوگل - مهدی مشایخی4. شبکه های متخاصم مولد (GAN)گَن ها GAN الگوریتم های یادگیری عمیق مولد هستند که نمونه های داده جدیدی را ایجاد می کنند که شبیه داده های آموزشی است. GAN دو جزء دارد: یک مولد، که یاد می گیرد داده های جعلی تولید کند، و یک تمایز کننده که از آن اطلاعات نادرست درس می گیرد.استفاده از GAN در یک دوره زمانی افزایش یافته است. آنها می توانند برای بهبود تصاویر نجومی و شبیه سازی عدسی های گرانشی برای تحقیقات ماده تاریک مورد استفاده قرار گیرند. توسعه‌دهندگان بازی‌های ویدیویی از GAN‌ها برای ارتقای بافت‌های با وضوح پایین و دوبعدی در بازی‌های ویدیویی قدیمی با بازسازی آن‌ها با وضوح ۴K یا بالاتر از طریق آموزش تصویر استفاده می‌کنند.گَن ها GAN به تولید تصاویر واقعی و شخصیت های کارتونی، ایجاد عکس از چهره انسان و رندر اشیاء سه بعدی کمک می کنند.گَن ها GAN چگونه کار می کنند؟متمایز کننده یاد می گیرد که بین داده های جعلی تولید کننده و داده های نمونه واقعی تمایز قائل شود.در طول آموزش اولیه، مولد داده‌های جعلی تولید می‌کند و متمایزکننده به سرعت یاد می‌گیرد که اشتباه بودن آن را تشخیص دهد.گَن GAN نتایج را به مولد و تشخیص دهنده می فرستد تا مدل را به روز کند.در زیر نموداری از نحوه عملکرد GAN ها آورده شده است:نحوه عملکرد شبکه GAN - مهدی مشایخی5. شبکه های تابع پایه شعاعی (RBFN)آر بی اف ان ها RBFN  انواع خاصی از شبکه های عصبی پیشخور هستند که از توابع پایه شعاعی به عنوان توابع فعال سازی استفاده می کنند. آنها دارای یک لایه ورودی، یک لایه پنهان و یک لایه خروجی هستند و بیشتر برای طبقه بندی، رگرسیون و پیش بینی سری های زمانی استفاده می شوند.آر بی اف ان ها RBFN ها چگونه کار می کنند؟آر بی اف ان ها RBFN ها با اندازه گیری شباهت ورودی به نمونه هایی از مجموعه آموزشی، طبقه بندی را انجام می دهند.آر بی اف ان ها RBFN ها یک بردار ورودی دارند که به لایه ورودی تغذیه می کند. آنها لایه ای از نورون های RBF دارند.تابع مجموع وزنی ورودی ها را پیدا می کند و لایه خروجی دارای یک گره در هر دسته یا کلاس داده است.نورون های لایه پنهان حاوی توابع انتقال گاوسی هستند که خروجی هایی دارند که با فاصله از مرکز نورون نسبت معکوس دارند.خروجی شبکه ترکیبی خطی از توابع پایه شعاعی ورودی و پارامترهای نورون است.6. پرسپترون های چندلایه (MLP)ام ال پی ها MLP مکانی عالی برای شروع یادگیری در مورد فناوری یادگیری عمیق هستند. ام ال پی ها MLP ها متعلق به کلاس شبکه های عصبی پیشخور با لایه های متعدد پرسپترون هستند که عملکردهای فعال سازی دارند. MLP ها از یک لایه ورودی و یک لایه خروجی تشکیل شده اند که به طور کامل به هم متصل هستند. آنها تعداد لایه های ورودی و خروجی یکسانی دارند اما ممکن است چندین لایه پنهان داشته باشند و می توان از آنها برای ساخت نرم افزارهای تشخیص گفتار، تشخیص تصویر و ترجمه ماشینی استفاده کرد.ام ال پی ها MLP چگونه کار می کنند؟ام ال پی ها MLP ها داده ها را به لایه ورودی شبکه تغذیه می کنند. لایه های نورون ها در یک نمودار به هم متصل می شوند تا سیگنال در یک جهت عبور کند.ام ال پی ها MLP ورودی را با وزن هایی که بین لایه ورودی و لایه های پنهان وجود دارد محاسبه می کنند.ام ال پی ها MLP از توابع فعال سازی برای تعیین اینکه کدام گره ها را شلیک کنند استفاده می کنند. توابع فعال سازی شامل ReLUs، توابع سیگموئید و tanh است.ام ال پی ها MLP مدل را برای درک همبستگی و یادگیری وابستگی بین متغیرهای مستقل و هدف از یک مجموعه داده آموزشی آموزش می دهند.در زیر نمونه ای از MLP آورده شده است. این نمودار وزن ها و سوگیری ها را محاسبه می کند و توابع فعال سازی مناسب را برای طبقه بندی تصاویر گربه ها و سگ ها اعمال می کند.نمونه از نحوه عملکرد mlp - مهدی مشایخی7. نقشه‌های خود سازماندهی (SOM) پروفسور Teuvo Kohonen اس او  ام ها SOM را اختراع کرد که تجسم داده ها را برای کاهش ابعاد داده ها از طریق شبکه های عصبی مصنوعی خود سازمان دهی می کند. تجسم داده ها تلاش می کند تا مشکلی را حل کند که انسان نمی تواند به راحتی داده های با ابعاد بالا را تجسم کند. SOM ها برای کمک به کاربران در درک این اطلاعات با ابعاد بالا ایجاد شده اند.اس او  ام ها SOM چگونه کار می کنند؟اس او  ام ها SOM وزن ها را برای هر گره مقداردهی می کنند و یک بردار را به طور تصادفی از داده های آموزشی انتخاب می کنند.اس او  ام ها SOM هر گره را بررسی می کنند تا بفهمند کدام وزن ها محتمل ترین بردار ورودی هستند. گره برنده بهترین واحد تطبیق (BMU) نامیده می شود.اس او  ام ها SOM همسایگی BMU را کشف می کنند و تعداد همسایگان با گذشت زمان کاهش می یابد.اس او  ام ها SOM وزن برنده ای را به بردار نمونه می دهند. هر چه گره به BMU نزدیکتر باشد، وزن آن بیشتر تغییر می کند.هر چه همسایه از BMU دورتر باشد، کمتر یاد می گیرد. SOM ها مرحله دو را برای N تکرار تکرار می کنند.در زیر نمودار یک بردار ورودی با رنگ های مختلف را ببینید. این داده ها به یک SOM تغذیه می شود، که سپس داده ها را به مقادیر RGB 2 بعدی تبدیل می کند. در نهایت رنگ های مختلف را جدا و دسته بندی می کند.نحوه عملکرد SOMs - مهدی مشایخی8. شبکه های باور عمیق (DBN)دی بی ان ها DBN مدل های مولد هستند که از لایه های متعددی از متغیرهای پنهان و تصادفی تشکیل شده اند. متغیرهای پنهان دارای مقادیر باینری هستند و اغلب واحدهای پنهان نامیده می شوند.دی بی ان ها DBN پشته ای از ماشین های بولتزمن با اتصالات بین لایه ها هستند و هر لایه RBM با لایه های قبلی و بعدی ارتباط برقرار می کند. شبکه‌های باور عمیق (DBN) برای داده‌های تشخیص تصویر، تشخیص ویدیو و ضبط حرکت استفاده می‌شوند. دی بی ان ها DBN چگونه کار می کنند؟الگوریتم های یادگیری حریصانه DBN ها را آموزش می دهند. الگوریتم یادگیری حریصانه از رویکرد لایه به لایه برای یادگیری وزنه های تولیدی از بالا به پایین استفاده می کند.دی بی ان ها DBN مراحل نمونه برداری گیبس را روی دو لایه پنهان بالایی اجرا می کنند. این مرحله یک نمونه از RBM که توسط دو لایه پنهان بالا تعریف شده است، ترسیم می کند.دی بی ان ها DBN با استفاده از یک گذر از نمونه گیری اجدادی از بقیه مدل، نمونه ای از واحدهای مرئی می گیرند.دی بی ان ها DBN یاد می گیرند که مقادیر متغیرهای پنهان در هر لایه را می توان با یک عبور واحد از پایین به بالا استنتاج کرد.در زیر نمونه ای از معماری DBN آورده شده است:شبکه های باور عمیق - مهدی مشایخی9. ماشین‌های محدود بولتزمن (RBM)آر بی ام ها RBM که توسط جفری هینتون توسعه یافته اند، شبکه های عصبی تصادفی هستند که می توانند از توزیع احتمال بر روی مجموعه ای از ورودی ها یاد بگیرند. این الگوریتم یادگیری عمیق برای کاهش ابعاد، طبقه بندی، رگرسیون، فیلتر مشارکتی، یادگیری ویژگی و مدل سازی موضوع استفاده می شود. RBM ها بلوک های سازنده DBN ها را تشکیل می دهند.آر بی ام ها RBM ها از دو لایه تشکیل شده اند:واحدهای قابل مشاهده واحدهای پنهانهر واحد قابل مشاهده به تمام واحدهای پنهان متصل است. RBM ها دارای یک واحد بایاس هستند که به تمام واحدهای قابل مشاهده و واحدهای پنهان متصل است و هیچ گره خروجی ندارند.آر بی ام ها RBM چگونه کار می کنند؟آر بی ام ها RBM دو فاز دارند: عبور به جلو و پاس به عقب.آر بی ام ها RBM ورودی ها را می پذیرند و آنها را به مجموعه ای از اعداد ترجمه می کنند که ورودی ها را در گذر به جلو رمزگذاری می کند.آر بی ام ها RBM هر ورودی را با وزن فردی و یک سوگیری کلی ترکیب می کنند. الگوریتم خروجی را به لایه پنهان ارسال می کند.در گذر به عقب، RBM ها مجموعه اعداد را می گیرند و آنها را برای تشکیل ورودی های بازسازی شده ترجمه می کنند.آر بی ام ها RBM هر فعال سازی را با وزن فردی و بایاس کلی ترکیب می کنند و خروجی را برای بازسازی به لایه قابل مشاهده ارسال می کنند.در لایه قابل مشاهده، RBM بازسازی را با ورودی اصلی مقایسه می کند تا کیفیت نتیجه را تجزیه و تحلیل کند.در زیر نموداری از نحوه عملکرد RBM ها آمده است:نحوه عملکرد RBMs - مهدی مشایخی10. رمزگذارهای خودکار (Auto Encoder)رمزگذارهای خودکار نوع خاصی از شبکه عصبی پیشخور هستند که در آن ورودی و خروجی یکسان هستند. جفری هینتون رمزگذارهای خودکار را در دهه 1980 برای حل مشکلات یادگیری بدون نظارت طراحی کرد. آنها شبکه های عصبی آموزش دیده ای هستند که داده ها را از لایه ورودی به لایه خروجی تکرار می کنند. رمزگذارهای خودکار برای اهدافی مانند کشف دارویی، پیش‌بینی محبوبیت و پردازش تصویر استفاده می‌شوند.رمزگذارهای خودکار چگونه کار می کنند؟رمزگذار خودکار از سه جزء اصلی تشکیل شده است: رمزگذار، کد و رمزگشا.رمزگذارهای خودکار برای دریافت ورودی و تبدیل آن به یک نمایش متفاوت ساخته شده اند. سپس سعی می کنند ورودی اصلی را تا حد امکان دقیق بازسازی کنند. هنگامی که تصویر یک رقم به وضوح قابل مشاهده نیست، به یک شبکه عصبی رمزگذار خودکار تغذیه می شود. رمزگذارهای خودکار ابتدا تصویر را رمزگذاری می کنند، سپس اندازه ورودی را به یک نمایش کوچکتر کاهش می دهند.در نهایت، رمزگذار خودکار تصویر را رمزگشایی می کند تا تصویر بازسازی شده را تولید کند.تصویر زیر نحوه عملکرد رمزگذارهای خودکار را نشان می دهد:نحوه عملکرد Auto Encoder - مهدی مشایخی منیع!ممنون که این مطلب رو خوندید ، اگه سوالی درمورد برنامه نویسی داشتید میتونید در شبکه های اجتمایی من بپرسید.ارتباط با من :وبسایت : mahdimashayekhi.irگیت هاب: MahdiMashayekhi-AIلینکدین: MahdiMashayekhiتوییتر: Mashayekhi_AIیوتیوب: MahdiMashayekhiاینستاگرام: MahdiMashayekhi.ai</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Mon, 02 Jan 2023 17:02:46 +0330</pubDate>
            </item>
                    <item>
                <title>شبکه های عصبی مصنوعی - ANN - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D8%B4%D8%A8%DA%A9%D9%87-%D9%87%D8%A7%DB%8C-%D8%B9%D8%B5%D8%A8%DB%8C-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-ann-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-mb2wibh4gmul</link>
                <description>شبکه عصبی های مصنوعی - ANN - مهدی مشایخیشبکه های عصبی مصنوعی – مقدمهشبکه های عصبی مصنوعی (ANN) یا شبکه های عصبی الگوریتم های محاسباتی هستند.هدف آن شبیه سازی رفتار سیستم های بیولوژیکی متشکل از &quot;نرون ها&quot; بود. ANN ها مدل های محاسباتی الهام گرفته شده از سیستم عصبی مرکزی حیوانات هستند. قابلیت یادگیری ماشینی و همچنین تشخیص الگو را دارد. این‌ها به‌عنوان سیستم‌هایی از نورون‌های به هم پیوسته ارائه می‌شوند که می‌توانند مقادیر را از ورودی‌ها محاسبه کنند.شبکه عصبی یک گراف جهت دار است. این شامل گره هایی است که در قیاس بیولوژیکی نورون ها را نشان می دهند که توسط کمان به هم متصل شده اند. این مربوط به دندریت ها و سیناپس ها است. هر قوس با وزنه در هر گره همراه است. مقادیر دریافت شده به عنوان ورودی توسط گره را اعمال کنید و تابع فعال سازی را در امتداد کمان های ورودی، با وزن کمان ها تنظیم کنید.شبکه عصبی یک الگوریتم یادگیری ماشینی است که بر اساس مدل یک نورون انسانی است. مغز انسان از میلیون ها نورون تشکیل شده است. سیگنال ها را به صورت سیگنال های الکتریکی و شیمیایی ارسال و پردازش می کند. این نورون ها با ساختار خاصی به نام سیناپس ها متصل هستند. سیناپس ها به نورون ها اجازه عبور سیگنال ها را می دهند. از تعداد زیادی از نورون های شبیه سازی شده شبکه های عصبی تشکیل می شود.شبکه عصبی مصنوعی یک تکنیک پردازش اطلاعات است. این کار مانند روشی است که مغز انسان اطلاعات را پردازش می کند. ANN شامل تعداد زیادی واحد پردازش متصل است که برای پردازش اطلاعات با هم کار می کنند. آنها همچنین نتایج معنی داری از آن ایجاد می کنند.ما می توانیم شبکه عصبی را نه تنها برای طبقه‌بندی اعمال کنیم. همچنین می تواند برای رگرسیون ویژگی های هدف پیوسته اعمال شود.شبکه های عصبی کاربرد بسیار خوبی در داده کاوی مورد استفاده در بخش ها پیدا می کنند. به عنوان مثال اقتصاد، پزشکی قانونی، و غیره و برای تشخیص الگو. همچنین می‌توان از آن برای طبقه‌بندی داده‌ها در حجم زیادی از داده‌ها پس از آموزش دقیق استفاده کرد. طبق تحقیقات،  صنعت نرم‌افزار شبکه عصبی  انتظار می‌رود در دوره پیش‌بینی ۲۰۱۹-۲۰۲۶ با CAGR ۳۳٫۵ درصد رشد کند.یک شبکه عصبی ممکن است شامل 3 لایه زیر باشد:لایه ورودی – فعالیت واحدهای ورودی اطلاعات خامی را نشان می‌دهد که می‌تواند وارد شبکه شود.لایه پنهان - برای تعیین فعالیت هر واحد پنهان. فعالیت‌های واحدهای ورودی و وزن‌های روی اتصالات بین ورودی و واحدهای پنهان. ممکن است یک یا چند لایه مخفی وجود داشته باشد.لایه خروجی - رفتار واحدهای خروجی به فعالیت واحدهای پنهان و وزن بین واحدهای پنهان و خروجی بستگی دارد.لایه های شبکه عصبی مصنوعیشبکه عصبی مصنوعی معمولاً در لایه ها سازماندهی می شود. لایه ها از بسیاری از گره های به هم پیوسته تشکیل شده اند که حاوی یک &quot;عملکرد فعال سازی&quot; هستند. یک شبکه عصبی ممکن است شامل 3 لایه زیر باشد:1. لایه ورودیهدف لایه ورودی دریافت مقادیر صفات توضیحی برای هر مشاهده به عنوان ورودی است. معمولاً تعداد گره های ورودی در یک لایه ورودی برابر با تعداد متغیرهای توضیحی است. &quot;لایه ورودی&quot; الگوها را به شبکه ارائه می دهد که با یک یا چند &quot;لایه پنهان&quot; ارتباط برقرار می کند.گره های لایه ورودی غیرفعال هستند، یعنی داده ها را تغییر نمی دهند. آنها یک مقدار واحد را در ورودی خود دریافت می کنند و مقدار را به تعداد زیادی خروجی خود کپی می کنند. از لایه ورودی، هر مقدار را کپی می کند و به تمام گره های پنهان ارسال می کند.2. لایه پنهانلایه های پنهان، تبدیل های داده شده را به مقادیر ورودی داخل شبکه اعمال می کنند. در این، کمان های ورودی که از گره های پنهان دیگر یا از گره های ورودی متصل به هر گره می روند. با کمان های خروجی به گره های خروجی یا سایر گره های پنهان متصل می شود. در لایه پنهان، پردازش واقعی از طریق سیستمی از &quot;اتصالات&quot; وزنی انجام می شود. ممکن است یک یا چند لایه مخفی وجود داشته باشد. مقادیر وارد شده به یک گره پنهان ضرب در وزن، مجموعه ای از اعداد از پیش تعیین شده ذخیره شده در برنامه. سپس ورودی های وزن دار اضافه می شوند تا یک عدد واحد تولید شود.3. لایه خروجیلایه های پنهان سپس به یک &quot;لایه خروجی&quot; پیوند می زنند. لایه خروجی اتصالات را از لایه های مخفی یا از لایه ورودی دریافت می کند. یک مقدار خروجی را برمی گرداند که با پیش بینی متغیر پاسخ مطابقت دارد. در مسائل طبقه‌بندی معمولا فقط یک گره خروجی وجود دارد. گره های فعال لایه خروجی داده ها را برای تولید مقادیر خروجی ترکیب و تغییر می دهند.توانایی شبکه عصبی برای دستکاری داده های مفید در انتخاب مناسب وزن ها نهفته است. این با پردازش اطلاعات متعارف متفاوت است.ساختار یک شبکه عصبیساختار یک شبکه عصبی به عنوان &quot;معماری&quot; یا &quot;توپولوژی&quot; آن نیز شناخته می شود. این شامل تعداد لایه ها، واحدهای ابتدایی است. همچنین از مکانیزم تنظیم وزن Interconchangend تشکیل شده است. انتخاب ساختار، نتایجی را که قرار است به دست آید، تعیین می کند. این مهم ترین بخش اجرای یک شبکه عصبی است.ساده‌ترین ساختار ساختاری است که در آن واحدها در دو لایه توزیع می شوند: یک لایه ورودی و یک لایه خروجی. هر واحد در لایه ورودی دارای یک ورودی و یک خروجی واحد است که برابر با ورودی است. واحد خروجی دارای تمام واحدهای لایه ورودی با یک تابع ترکیبی و یک تابع انتقال است. ممکن است بیش از 1 واحد خروجی وجود داشته باشد. در این مورد، مدل حاصل یک رگرسیون خطی یا لجستیک است. این بستگی به خطی یا لجستیک بودن تابع انتقال دارد. وزن شبکه ضرایب رگرسیون است.با افزودن 1 یا چند لایه پنهان بین لایه ها و واحدهای ورودی و خروجی در این لایه، قدرت پیش بینی شبکه عصبی افزایش می یابد. اما تعدادی از لایه های پنهان باید تا حد امکان کوچک باشند. این تضمین می کند که شبکه عصبی تمام اطلاعات مجموعه یادگیری را ذخیره نمی کند، اما می تواند آن را تعمیم دهد تا از برازش بیش از حد جلوگیری شود.بیش از حد ممکن است رخ دهد. زمانی اتفاق می‌افتد که وزن‌ها باعث می‌شوند سیستم به جای کشف ساختارها، جزئیات مجموعه یادگیری را بیاموزد. این زمانی اتفاق می افتد که اندازه مجموعه یادگیری نسبت به پیچیدگی مدل خیلی کوچک باشد.یک لایه پنهان وجود دارد یا نه، لایه خروجی شبکه گاهی اوقات می تواند واحدهای زیادی داشته باشد، در حالی که کلاس های زیادی برای پیش بینی وجود دارد.مزایا و معایب شبکه های عصبیاجازه دهید چند مزایا و معایب شبکه های عصبی را ببینیم:شبکه‌های عصبی با داده‌های خطی و غیرخطی به خوبی عمل می‌کنند، اما انتقاد رایج از شبکه‌های عصبی، به‌ویژه در رباتیک، این است که برای عملیات در دنیای واقعی به آموزش متنوعی نیاز دارند. این به این دلیل است که هر ماشین یادگیری به نمونه‌های معرف کافی نیاز دارد تا بتواند ساختار زیربنایی را که به آن اجازه تعمیم به موارد جدید را می‌دهد، به تصویر بکشد.شبکه‌های عصبی حتی اگر یک یا چند واحد نتوانند به شبکه پاسخ دهند، کار می‌کنند، اما برای پیاده‌سازی شبکه‌های عصبی نرم‌افزاری بزرگ و مؤثر، نیاز به منابع پردازش و ذخیره‌سازی زیادی است. در حالی که مغز سخت‌افزاری دارد که برای پردازش سیگنال‌ها از طریق نموداری از نورون‌ها طراحی شده است، شبیه‌سازی حتی ساده‌ترین شکل در فناوری فون نیومن ممکن است طراح شبکه عصبی را مجبور کند که میلیون‌ها ردیف پایگاه داده را برای اتصالات خود پر کند - که می‌تواند مقادیر زیادی از آن را مصرف کند. حافظه کامپیوتر و فضای هارد دیسک.شبکه‌های عصبی از داده‌های تحلیل شده یاد می‌گیرند و نیازی به برنامه‌ریزی مجدد ندارند، اما از آنها به عنوان مدل‌های جعبه سیاه یاد می‌شود و بینش بسیار کمی در مورد آنچه این مدل‌ها واقعا انجام می‌دهند ارائه می‌دهند. کاربر فقط باید ورودی آن را تغذیه کند و آموزش ببیند و منتظر خروجی بماند.نتیجهشبکه‌های عصبی مصنوعی به عنوان مدل‌های ریاضی ساده برای بهبود فناوری‌های تحلیل داده‌های موجود در نظر گرفته می‌شوند. اگرچه با قدرت مغز انسان قابل قیاس نیست، اما هنوز هم بلوک اصلی ساختمان هوش مصنوعی است.وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع: https://www.datasciencecentral.com/artificial-neural-network-ann-in-machine-learning/</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Tue, 20 Dec 2022 09:54:32 +0330</pubDate>
            </item>
                    <item>
                <title>یادگیری با ناظر چیست؟ - Supervised Learning - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/supervised-learning-pdfcn88ayk2x</link>
                <description>یادگیری با ناظر چیست؟ - Supervised Learning - مهدی مشایخییادگیری تحت نظارت چیست؟یادگیری نظارت شده، همچنین به عنوان یادگیری ماشین نظارت شده شناخته می شود، زیر مجموعه ای از یادگیری ماشین و هوش مصنوعی است. با استفاده از مجموعه داده‌های برچسب‌گذاری‌شده برای آموزش الگوریتم‌هایی که داده‌ها را طبقه‌بندی می‌کنند یا نتایج را با دقت پیش‌بینی می‌کنند، تعریف می‌شود. همانطور که داده های ورودی به مدل وارد می شود، وزن آن را تا زمانی تنظیم می کند که مدل به طور مناسب برازش شود، که به عنوان بخشی از فرآیند اعتبار سنجی متقابل رخ می دهد. یادگیری تحت نظارت به سازمان ها کمک می کند تا انواع مشکلات دنیای واقعی را در مقیاس بزرگ حل کنند، مانند طبقه‌بندی هرزنامه ها در یک پوشه جداگانه از صندوق ورودی شما.نحوه عملکرد یادگیری تحت نظارتیادگیری نظارت شده از یک مجموعه آموزشی برای آموزش مدل ها برای به دست آوردن خروجی مطلوب استفاده می کند. این مجموعه داده آموزشی شامل ورودی ها و خروجی های صحیح است که به مدل اجازه می دهد در طول زمان یاد بگیرد. الگوریتم دقت خود را از طریق تابع ضرر اندازه گیری می کند، تا زمانی که خطا به اندازه کافی به حداقل برسد، تنظیم می کند.یادگیری تحت نظارت را می توان در هنگام داده کاوی به دو نوع تقسیم کرد عبارت اند از طبقه‌بندی و رگرسیون:طبقه‌بندی از یک الگوریتم برای تخصیص دقیق داده های آزمون به دسته های خاص استفاده می کند. موجودیت‌های خاصی را در مجموعه داده شناسایی می‌کند و تلاش می‌کند تا در مورد اینکه چگونه آن موجودیت‌ها باید برچسب‌گذاری یا تعریف شوند، نتیجه‌گیری کند. الگوریتم‌های طبقه‌بندی رایج، طبقه‌بندی‌کننده‌های خطی، ماشین‌های بردار پشتیبان (SVM)، درخت‌های تصمیم‌گیری، k-نزدیک‌ترین همسایه و جنگل تصادفی هستند که در زیر با جزئیات بیشتر توضیح داده شده‌اند.برای درک رابطه بین متغیرهای وابسته و مستقل از رگرسیون استفاده می شود. معمولاً برای پیش بینی، مانند درآمد فروش برای یک تجارت خاص استفاده می شود. رگرسیون خطی ، رگرسیون لجستیک و رگرسیون چند جمله ای الگوریتم های رگرسیون رایج هستند.الگوریتم های یادگیری تحت نظارت - مهدی مشایخیالگوریتم های یادگیری تحت نظارتالگوریتم‌ها و تکنیک‌های محاسباتی مختلفی در فرآیندهای یادگیری ماشینی تحت نظارت استفاده می‌شوند. در زیر توضیحات مختصری درباره برخی از متداول‌ترین روش‌های یادگیری که معمولاً با استفاده از برنامه‌هایی مانند R یا Python محاسبه می‌شوند، آورده شده است:شبکه های عصبیشبکه‌های عصبی که عمدتاً برای الگوریتم‌های یادگیری عمیق استفاده می‌شوند، داده‌های آموزشی را با تقلید از اتصال مغز انسان از طریق لایه‌هایی از گره‌ها پردازش می‌کنند. هر گره از ورودی ها، وزن ها، یک سوگیری (یا آستانه) و یک خروجی تشکیل شده است. اگر آن مقدار خروجی از یک آستانه معین فراتر رود، گره را &quot;آتش&quot; یا فعال می کند و داده ها را به لایه بعدی در شبکه ارسال می کند. شبکه های عصبی این تابع نگاشت را از طریق یادگیری نظارت شده، تنظیم بر اساس تابع از دست دادن از طریق فرآیند نزول گرادیان، یاد می گیرند. زمانی که تابع هزینه نزدیک به صفر است، می‌توانیم به دقت مدل برای به دست آوردن پاسخ صحیح اطمینان داشته باشیم.بیز ساده لوحساده بیس یک رویکرد طبقه‌بندی است که اصل استقلال شرطی طبقاتی را از قضیه بیز اتخاذ می کند. این بدان معنی است که وجود یک ویژگی بر حضور ویژگی دیگر در احتمال یک نتیجه معین تأثیر نمی گذارد و هر پیش بینی کننده تأثیر یکسانی بر آن نتیجه دارد. سه نوع طبقه‌بندی کننده ساده بیز وجود دارد: چند جمله‌ای بیز ساده، برنولی نایو بیز و گاوسی نایو بیز. این تکنیک در درجه اول در طبقه‌بندی متن، شناسایی هرزنامه و سیستم های توصیه استفاده می شود.رگرسیون خطیرگرسیون خطی برای شناسایی رابطه بین یک متغیر وابسته و یک یا چند متغیر مستقل استفاده می‌شود و معمولاً برای پیش‌بینی نتایج آتی مورد استفاده قرار می‌گیرد. زمانی که تنها یک متغیر مستقل و یک متغیر وابسته وجود داشته باشد، به آن رگرسیون خطی ساده می گویند. با افزایش تعداد متغیرهای مستقل، از آن به عنوان رگرسیون خطی چندگانه یاد می شود. برای هر نوع رگرسیون خطی، به دنبال ترسیم خطی با بهترین برازش است که از طریق روش حداقل مربعات محاسبه می شود. با این حال، بر خلاف سایر مدل های رگرسیون، این خط زمانی که بر روی یک نمودار رسم می شود مستقیم است.رگرسیون لجستیکدر حالی که رگرسیون خطی زمانی که متغیرهای وابسته پیوسته هستند به کار گرفته می شود، رگرسیون لجستیک زمانی انتخاب می شود که متغیر وابسته مقوله ای باشد، به این معنی که آنها خروجی های باینری دارند، مانند &quot;درست&quot; و &quot;نادرست&quot; یا &quot;بله&quot; و &quot;خیر&quot;. در حالی که هر دو مدل رگرسیون به دنبال درک روابط بین ورودی داده ها هستند، رگرسیون لجستیک عمدتا برای حل مشکلات طبقه‌بندی باینری، مانند شناسایی هرزنامه استفاده می شود.ماشین بردار پشتیبانی (SVM)ماشین بردار پشتیبان یک مدل یادگیری نظارت شده محبوب است که توسط ولادیمیر واپنیک توسعه یافته است و برای طبقه‌بندی داده ها و رگرسیون استفاده می شود. گفته می‌شود، معمولاً برای مسائل طبقه‌بندی استفاده می‌شود و یک ابرصفحه ایجاد می‌کند که در آن فاصله بین دو کلاس از نقاط داده در حداکثر آن باشد. این ابرصفحه به عنوان مرز تصمیم شناخته می شود که کلاس های نقاط داده (مثلاً پرتقال در مقابل سیب) را در دو طرف صفحه از هم جدا می کند.کا نزدیک ترین همسایهنزدیکترین همسایه K که با نام الگوریتم KNN نیز شناخته می شود، یک الگوریتم ناپارامتریک است که نقاط داده را بر اساس نزدیکی و ارتباط آنها با سایر داده های موجود طبقه‌بندی می کند. این الگوریتم فرض می کند که نقاط داده مشابه را می توان در نزدیکی یکدیگر یافت. در نتیجه، به دنبال محاسبه فاصله بین نقاط داده، معمولاً از طریق فاصله اقلیدسی است، و سپس یک دسته را بر اساس پرتکرارترین دسته یا میانگین اختصاص می دهد.سهولت استفاده و زمان محاسبه کم آن را به الگوریتم مورد علاقه دانشمندان داده تبدیل می کند، اما با افزایش مجموعه داده آزمایشی، زمان پردازش طولانی تر می شود و جذابیت آن برای کارهای طبقه‌بندی کمتر می شود. KNN معمولاً برای موتورهای توصیه و تشخیص تصویر استفاده می شود.جنگل تصادفیجنگل تصادفی یکی دیگر از الگوریتم‌های یادگیری ماشینی نظارت‌شده انعطاف‌پذیر است که برای اهداف طبقه‌بندی و رگرسیون استفاده می‌شود. &quot;جنگل&quot; به مجموعه ای از درختان تصمیم گیری نامرتبط اشاره می کند که سپس برای کاهش واریانس و ایجاد پیش بینی های داده های دقیق تر با هم ادغام می شوند.یادگیری بدون نظارت در مقابل یادگیری نیمه نظارت - مهدی مشایخی
یادگیری بدون نظارت در مقابل یادگیری نیمه نظارتیادگیری ماشین بدون نظارت و یادگیری ماشین نظارت شده اغلب با هم مورد بحث قرار می گیرند. برخلاف یادگیری تحت نظارت، یادگیری بدون نظارت از داده های بدون برچسب استفاده می کند. از این داده ها، الگوهایی را کشف می کند که به حل مشکلات خوشه بندی یا تداعی کمک می کند. این به ویژه زمانی مفید است که متخصصان موضوع از ویژگی‌های رایج در مجموعه داده مطمئن نیستند. الگوریتم‌های خوشه‌بندی رایج مدل‌های سلسله مراتبی، k-means و مدل‌های مخلوط گاوسی هستند.یادگیری نیمه نظارت شده زمانی اتفاق می افتد که تنها بخشی از داده های ورودی مشخص شده باشد. یادگیری بدون نظارت و نیمه نظارت می‌تواند جایگزین‌های جذاب‌تری باشد، زیرا تکیه بر تخصص حوزه برای برچسب‌گذاری مناسب داده‌ها برای یادگیری تحت نظارت می‌تواند زمان‌بر و پرهزینه باشد.نمونه های یادگیری تحت نظارتاز مدل های یادگیری نظارت شده می توان برای ساخت و پیشبرد تعدادی از برنامه های کاربردی تجاری استفاده کرد، از جمله موارد زیر:تشخیص تصویر و اشیا:  الگوریتم‌های یادگیری نظارت شده را می‌توان برای مکان‌یابی، جداسازی و دسته‌بندی اشیاء خارج از فیلم‌ها یا تصاویر استفاده کرد و در صورت استفاده از تکنیک‌های بینایی کامپیوتری و تجزیه و تحلیل تصویر، آنها را مفید می‌سازد.تجزیه و تحلیل پیش‌بینی‌کننده:  یک مورد استفاده گسترده برای مدل‌های یادگیری نظارت‌شده، ایجاد سیستم‌های تحلیل پیش‌بینی‌کننده برای ارائه بینش عمیق به نقاط مختلف داده‌های تجاری است. این به شرکت ها اجازه می دهد تا نتایج خاصی را بر اساس یک متغیر خروجی معین پیش بینی کنند و به رهبران کسب و کار کمک می کند تا تصمیمات خود را توجیه کنند یا به نفع سازمان حرکت کنند.تجزیه و تحلیل احساسات مشتری: با استفاده از الگوریتم‌های یادگیری ماشینی نظارت شده، سازمان‌ها می‌توانند اطلاعات مهمی را از حجم زیادی از داده‌ها - از جمله زمینه، احساسات و هدف - با دخالت بسیار کمی استخراج و طبقه‌بندی کنند. این می تواند در هنگام به دست آوردن درک بهتری از تعاملات مشتری بسیار مفید باشد و می تواند برای بهبود تلاش های تعامل با برند استفاده شود.تشخیص هرزنامه: تشخیص هرزنامه نمونه دیگری از مدل یادگیری تحت نظارت است. با استفاده از الگوریتم‌های طبقه‌بندی نظارت شده، سازمان‌ها می‌توانند پایگاه‌های اطلاعاتی را برای تشخیص الگوها یا ناهنجاری‌ها در داده‌های جدید آموزش دهند تا مکاتبات هرزنامه و غیرمرتبط با هرزنامه را به طور مؤثر سازماندهی کنند.چالش های یادگیری تحت نظارتاگرچه یادگیری نظارت شده می‌تواند مزایایی مانند بینش عمیق داده‌ها و اتوماسیون بهبودیافته را به کسب‌وکارها ارائه دهد، در ساختن مدل‌های یادگیری نظارت شده پایدار، چالش‌هایی وجود دارد. برخی از این چالش ها به شرح زیر است:مدل‌های یادگیری تحت نظارت می‌توانند به سطوح خاصی از تخصص برای ساختار دقیق نیاز داشته باشند.آموزش مدل های یادگیری تحت نظارت می تواند بسیار زمان بر باشد.مجموعه داده ها می توانند احتمال خطای انسانی بیشتری داشته باشند و در نتیجه الگوریتم ها اشتباه یاد بگیرند.برخلاف مدل‌های یادگیری بدون نظارت، یادگیری تحت نظارت نمی‌تواند به تنهایی داده‌ها را خوشه‌بندی یا طبقه‌بندی کند.وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.ibm.com/cloud/learn/supervised-learning</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sun, 11 Dec 2022 13:34:00 +0330</pubDate>
            </item>
                    <item>
                <title>الگوریتم KNN - نزدیکترین همسایه  - مهدی مشایخی</title>
                <link>https://virgool.io/CE-SHAHED-publication/what-is-knn-v7aw6rwxynmc</link>
                <description>الگوریتم KNN - نزدیکترین همسایه  - مهدی مشایخیالگوریتم k نزدیکترین همسایه ها که همچنین به عنوان KNN یا k-NN شناخته می شود، یک طبقه‌بندی کننده یادگیری ناپارامتریک و نظارت شده است که از نزدیکی برای انجام طبقه‌بندی یا پیش بینی در مورد گروه بندی یک نقطه داده فردی استفاده می کند. در حالی که می‌توان از آن برای مسائل رگرسیون یا طبقه‌بندی استفاده کرد، معمولاً به عنوان یک الگوریتم طبقه‌بندی استفاده می‌شود، و از این فرض استفاده می‌کند که نقاط مشابهی را می‌توان در نزدیکی یکدیگر یافت.برای مشکلات طبقه‌بندی، یک برچسب کلاس بر اساس اکثریت آرا اختصاص داده می‌شود  یعنی برچسبی که بیشتر در اطراف یک نقطه داده نشان داده می‌شود استفاده می‌شود. در حالی که این از نظر فنی &quot;رای گیری اکثریت&quot; در نظر گرفته می شود، اصطلاح &quot;رای اکثریت&quot; بیشتر در ادبیات استفاده می شود. تمایز بین این اصطلاحات این است که &quot;رای اکثریت&quot; از نظر فنی به اکثریت بیش از 50٪ نیاز دارد که در درجه اول زمانی کار می کند که فقط دو دسته وجود داشته باشد. وقتی چندین کلاس دارید - مثلاً چهار دسته، برای نتیجه‌گیری در مورد یک کلاس، لزوماً به 50٪ آرا نیاز ندارید. شما می توانید یک برچسب کلاس با رای بیشتر از 25٪ اختصاص دهید.نمودار KNN  - مهدی مشایخی
مسائل رگرسیون از مفهومی مشابه به عنوان مسئله طبقه‌بندی استفاده می‌کنند، اما در این مورد، میانگین k نزدیک‌ترین همسایه‌ها برای پیش‌بینی در مورد یک طبقه‌بندی گرفته می‌شود. تمایز اصلی در اینجا این است که طبقه‌بندی برای مقادیر گسسته استفاده می شود، در حالی که رگرسیون برای مقادیر پیوسته استفاده می شود. با این حال، قبل از انجام یک طبقه‌بندی، فاصله باید تعریف شود. فاصله اقلیدسی بیشتر مورد استفاده قرار می گیرد که در ادامه بیشتر به آن می پردازیم.همچنین شایان ذکر است که الگوریتم KNN نیز بخشی از خانواده مدل‌های «یادگیری تنبل» است، به این معنی که تنها یک مجموعه داده آموزشی را در مقابل گذراندن یک مرحله آموزشی ذخیره می‌کند. این همچنین به این معنی است که تمام محاسبات زمانی رخ می دهد که یک طبقه‌بندی یا پیش بینی انجام می شود. از آنجایی که برای ذخیره تمام داده های آموزشی خود به شدت به حافظه متکی است، از آن به عنوان یک روش یادگیری مبتنی بر نمونه یا مبتنی بر حافظه نیز یاد می شود.ایده های اولیه در مورد مدل KNN را به Evelyn Fix و Joseph Hodges نسبت داده شده است.معیارهای فاصلهبه طور خلاصه، هدف الگوریتم k نزدیکترین همسایه شناسایی نزدیکترین همسایگان یک نقطه پرس و جو است، به طوری که بتوانیم یک برچسب کلاس به آن نقطه اختصاص دهیم. برای انجام این کار، KNN چند الزام دارد:معیارهای فاصله خود را تعیین کنیدبرای تعیین اینکه کدام نقاط داده به یک نقطه پرس و جو نزدیکتر هستند، فاصله بین نقطه پرس و جو و سایر نقاط داده باید محاسبه شود. این معیارهای فاصله به شکل گیری مرزهای تصمیم کمک می کند، که نقاط پرس و جو را به مناطق مختلف تقسیم می کند. معمولاً مرزهای تصمیم را با نمودارهای ورونوی مشاهده خواهید کرد.فاصله اقلیدسی (p=2):  این رایج ترین اندازه گیری فاصله است و به بردارهای با ارزش واقعی محدود می شود. با استفاده از فرمول زیر، یک خط مستقیم بین نقطه پرس و جو و نقطه دیگر اندازه گیری می شود.فرمول فاصله اقلیدسی - مهدی مشایخی
فاصله منهتن (p=1) : این نیز یکی دیگر از معیارهای محبوب فاصله است که قدر مطلق بین دو نقطه را اندازه گیری می کند. همچنین به عنوان فاصله تاکسی یا فاصله بلوک شهر شناخته می شود زیرا معمولاً با یک شبکه تجسم می شود و نشان می دهد که چگونه می توان از یک آدرس به آدرس دیگر از طریق خیابان های شهر حرکت کرد.فرمول فاصله منهتن - مهدی مشایخی
فاصله مینکوفسکی : این اندازه‌گیری فاصله، شکل تعمیم یافته معیارهای فاصله اقلیدسی و منهتن است. پارامتر p در فرمول زیر امکان ایجاد سایر معیارهای فاصله را فراهم می کند. فاصله اقلیدسی با این فرمول نشان داده می شود که p برابر با دو باشد و فاصله منهتن با p برابر با یک نشان داده شود.فرمول فاصله مینکوفسکی -  مهدی مشایخی
تعریف (کا) های الگوریتممقدار k در الگوریتم k-NN تعیین می کند که چند همسایه برای تعیین طبقه‌بندی یک نقطه پرس و جو خاص بررسی می شود. به عنوان مثال، اگر k=1 باشد، نمونه به همان کلاس نزدیکترین همسایه اش اختصاص داده می شود. تعریف k می تواند یک عمل متعادل کننده باشد زیرا مقادیر مختلف می تواند منجر به بیش از حد برازش یا عدم تناسب شود. مقادیر کمتر k می تواند واریانس بالایی داشته باشد، اما بایاس کم و مقادیر بزرگتر k ممکن است منجر به بایاس زیاد و واریانس کمتر شود. انتخاب k تا حد زیادی به داده‌های ورودی بستگی دارد زیرا داده‌هایی با مقادیر پرت یا نویز بیشتر احتمالاً با مقادیر بالاتر k عملکرد بهتری خواهند داشت. به طور کلی، توصیه می‌شود که یک عدد فرد برای k داشته باشید تا از ارتباط در طبقه‌بندی جلوگیری شود، و تاکتیک‌های اعتبارسنجی متقابل می‌تواند به شما در انتخاب k بهینه برای مجموعه داده‌تان کمک کند. کد زیر نمونه ای از نحوه ایجاد و پیش بینی با یک مدل KNN است:from sklearn.neighbors import KNeighborsClassifier

model_name = ‘K-Nearest Neighbor Classifier’
knnClassifier = KNeighborsClassifier(n_neighbors = 5, metric = ‘minkowski’, p=2)
knn_model = Pipeline(steps=[(‘preprocessor’, preprocessorForFeatures), (‘classifier’ ,knnClassifier)])

knn_model.fit(X_train, y_train)
y_pred = knn_model.predict(X_test)کاربردهای KNN در یادگیری ماشینی - مهدی مشایخیکاربردهای KNN در یادگیری ماشینیالگوریتم KNN در کاربردهای مختلف، عمدتاً در طبقه‌بند استفاده شده است. برخی از این موارد استفاده عبارتند از:- پیش پردازش داده ها : مجموعه داده ها اغلب مقادیر گم شده ای دارند، اما الگوریتم KNN می تواند این مقادیر را در فرآیندی به نام داده های گمشده تخمین بزند.- موتورهای توصیه : با استفاده از داده های جریان کلیک از وب سایت ها، الگوریتم KNN برای ارائه توصیه های خودکار به کاربران در مورد محتوای اضافی استفاده شده است. تحقیقی انجام شده که نشان می دهد که کاربر به یک گروه خاص اختصاص داده شده است و بر اساس رفتار کاربر آن گروه، به آنها توصیه می شود. با این حال، با توجه به مسائل مقیاس‌بندی با KNN، این رویکرد ممکن است برای مجموعه داده‌های بزرگ‌تر بهینه نباشد.- مراقبت های بهداشتی : KNN در صنعت مراقبت های بهداشتی نیز کاربرد داشته است و خطر حملات قلبی و سرطان پروستات را پیش بینی می کند. این الگوریتم با محاسبه محتمل ترین عبارات ژنی کار می کند.- تشخیص الگو : KNN همچنین در شناسایی الگوها، مانند طبقه‌بندی متن و رقم کمک کرده است. این به ویژه در شناسایی شماره های دست نویسی که ممکن است در فرم ها یا پاکت های پستی پیدا کنید مفید بوده است.وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.ibm.com/topics/knn#:~:text=The%20k%2Dnearest%20neighbors%20algorithm%2C%20also%20known%20as%20KNN%20or,of%20an%20individual%20data%20point.</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sat, 03 Dec 2022 18:53:45 +0330</pubDate>
            </item>
                    <item>
                <title>رگرسیون خطی - Linear Regression - مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/linear-regression-ag7ehb8ki9gl</link>
                <description>رگرسیون خطی در یادگیری ماشین -  مهدی مشایخی رگرسیون خطی در یادگیری ماشینرگرسیون خطی یکی از ساده‌ترین و محبوب ترین الگوریتم های یادگیری ماشین است. این یک روش آماری است که برای تجزیه و تحلیل پیش بینی استفاده می شود. رگرسیون خطی پیش بینی هایی را برای متغیرهای پیوسته/واقعی یا عددی مانند فروش، حقوق، سن، قیمت محصول و غیره انجام می دهد.الگوریتم رگرسیون خطی یک رابطه خطی بین یک متغیر وابسته (y) و یک یا چند متغیر مستقل (y) را نشان می‌دهد، از این رو رگرسیون خطی نامیده می‌شود. از آنجایی که رگرسیون خطی رابطه خطی را نشان می دهد، به این معنی که چگونگی تغییر مقدار متغیر وابسته را با توجه به مقدار متغیر مستقل پیدا می کند.مدل رگرسیون خطی یک خط مستقیم شیب دار ارائه می دهد که نشان دهنده رابطه بین متغیرها است. تصویر زیر را در نظر بگیرید:رگرسیون خطی - مهدی مشایخیاز نظر ریاضی، می توانیم یک رگرسیون خطی را به صورت زیر نمایش دهیم:y= a 0 +a 1 x+ eتوضیح :Y= متغیر وابسته (متغیر هدف)X= متغیر مستقل (متغیر پیش بینی کننده)a0= قطع خط (درجه آزادی اضافی می دهد)a1 = ضریب رگرسیون خطی (ضریب مقیاس برای هر مقدار ورودی).ε = خطای تصادفیمقادیر متغیرهای x و y مجموعه داده های آموزشی برای نمایش مدل رگرسیون خطی هستند.انواع رگرسیون خطیرگرسیون خطی را می توان به دو نوع الگوریتم تقسیم کرد:رگرسیون خطی ساده:اگر از یک متغیر مستقل برای پیش‌بینی مقدار یک متغیر وابسته عددی استفاده شود، به چنین الگوریتم رگرسیون خطی، رگرسیون خطی ساده می‌گویند.رگرسیون خطی چندگانه:اگر بیش از یک متغیر مستقل برای پیش‌بینی مقدار یک متغیر وابسته عددی استفاده شود، چنین الگوریتم رگرسیون خطی را رگرسیون خطی چندگانه می‌گویند.خط رگرسیون خطیخطی که رابطه بین متغیرهای وابسته و مستقل را نشان می دهد، خط رگرسیون نامیده می شود . یک خط رگرسیون می تواند دو نوع رابطه را نشان دهد:رابطه خطی مثبت:اگر متغیر وابسته در محور Y افزایش یابد و متغیر مستقل در محور X افزایش یابد، چنین رابطه ای را رابطه خطی مثبت می نامند.رابطه مثبت - مهدی مشایخیرابطه خطی منفی:اگر متغیر وابسته در محور Y کاهش یابد و متغیر مستقل در محور X افزایش یابد، به چنین رابطه ای رابطه خطی منفی می گویند.رابطه منفی - مهدی مشایخیپیدا کردن بهترین خط مناسب:هنگام کار با رگرسیون خطی، هدف اصلی ما یافتن بهترین خط مناسب است که به این معنی است که خطا بین مقادیر پیش‌بینی‌شده و مقادیر واقعی باید به حداقل برسد. بهترین خط مناسب کمترین خطا را خواهد داشت.مقادیر مختلف برای وزن ها یا ضریب خطوط (a 0 , a 1 ) خط رگرسیون متفاوتی را به دست می دهد، بنابراین ما باید بهترین مقادیر را برای 0 و 1 محاسبه کنیم تا بهترین خط مناسب را پیدا کنیم، بنابراین برای محاسبه این مقدار باید استفاده از تابع هزینهتابع هزینهمقادیر مختلف وزن یا ضریب خطوط (a 0 , a 1 ) خط رگرسیون متفاوتی را نشان می دهد و تابع هزینه برای تخمین مقادیر ضریب برای بهترین خط مناسب استفاده می شود.تابع هزینه ضرایب یا وزن های رگرسیون را بهینه می کند. نحوه عملکرد یک مدل رگرسیون خطی را اندازه گیری می کند.ما می توانیم از تابع هزینه برای یافتن دقت تابع نگاشت استفاده کنیم که متغیر ورودی را به متغیر خروجی نگاشت می کند. این تابع نگاشت با نام تابع فرضیه نیز شناخته می شود.برای رگرسیون خطی، از تابع هزینه میانگین مربعات خطا (MSE) استفاده می کنیم، که میانگین مربعات خطای رخ داده بین مقادیر پیش بینی شده و مقادیر واقعی است. می توان آن را به صورت زیر نوشت:برای معادله خطی بالا، MSE را می توان به صورت زیر محاسبه کرد:میانگین مربع خطا - مهدی مشایخیN = تعداد کل مشاهدهYi = مقدار واقعی(a1x i +a 0) = مقدار پیش بینی شده.باقیمانده ها: فاصله بین مقدار واقعی و مقادیر پیش بینی شده باقیمانده نامیده می شود. اگر نقاط مشاهده شده از خط رگرسیون دور باشند، پسماند بالا خواهد بود و بنابراین تابع هزینه بالا خواهد بود. اگر نقاط پراکندگی نزدیک به خط رگرسیون باشد، پسماند کوچک خواهد بود و در نتیجه تابع هزینه خواهد بود.گرادیان نزول:گرادیان نزولی برای به حداقل رساندن MSE با محاسبه گرادیان تابع هزینه استفاده می شود.یک مدل رگرسیون از شیب نزولی برای به روز رسانی ضرایب خط با کاهش تابع هزینه استفاده می کند.این کار با انتخاب تصادفی مقادیر ضریب انجام می‌شود و سپس به‌طور مکرر مقادیر را برای رسیدن به تابع حداقل هزینه به‌روزرسانی می‌کند.عملکرد مدل:خوب بودن تناسب تعیین می کند که چگونه خط رگرسیون با مجموعه مشاهدات مطابقت دارد. فرآیند یافتن بهترین مدل از بین مدل های مختلف بهینه‌سازی نامیده می شود. با روش زیر قابل دستیابی است:1. روش مربع R:R-squared یک روش آماری است که خوب بودن تناسب را تعیین می کند.قدرت رابطه بین متغیرهای وابسته و مستقل را در مقیاس 0-100 درصد اندازه گیری می کند.مقدار بالای R-square تفاوت کمتر بین مقادیر پیش بینی شده و مقادیر واقعی را تعیین می کند و از این رو مدل خوبی را نشان می دهد.به آن ضریب تعیین یا ضریب تعیین چندگانه برای رگرسیون چندگانه نیز گفته می شود.از فرمول زیر قابل محاسبه است:آر اسکوئر - مهدی مشایخیمفروضات رگرسیون خطیدر زیر برخی از مفروضات مهم رگرسیون خطی آورده شده است. اینها برخی از بررسی‌های رسمی هنگام ساخت یک مدل رگرسیون خطی هستند که تضمین می‌کند بهترین نتیجه ممکن را از مجموعه داده‌های داده شده به دست آورید.رابطه خطی بین ویژگی ها و هدف:رگرسیون خطی رابطه خطی بین متغیرهای وابسته و مستقل را فرض می کند.چند خطی بودن بین ویژگی ها کم یا بدون: چند خطی بودنبه معنای همبستگی زیاد بین متغیرهای مستقل است. به دلیل چند خطی بودن، یافتن رابطه واقعی بین متغیرهای پیش بینی و هدف ممکن است دشوار باشد. یا می‌توان گفت، تعیین اینکه کدام متغیر پیش‌بینی‌کننده بر متغیر هدف تأثیر می‌گذارد و کدام نه، دشوار است. بنابراین، مدل چند خطی بودن کمی بین ویژگی‌ها یا متغیرهای مستقل را فرض می‌کند.فرض Homoscedasticity:Homoscedasticity وضعیتی است که عبارت خطا برای همه مقادیر متغیرهای مستقل یکسان باشد. با homoscedasticity، نباید توزیع الگوی واضحی از داده ها در نمودار پراکندگی وجود داشته باشد.توزیع نرمال عبارات خطا:رگرسیون خطی فرض می کند که عبارت خطا باید از الگوی توزیع نرمال پیروی کند. اگر عبارات خطا به طور معمول توزیع نشوند، فواصل اطمینان یا خیلی گسترده یا خیلی باریک خواهند شد، که ممکن است در یافتن ضرایب مشکل ایجاد کند.می توان آن را با استفاده از نمودار qq بررسی کرد . اگر نمودار یک خط مستقیم را بدون انحراف نشان دهد، به این معنی است که خطا به طور معمول توزیع شده است.بدون خود همبستگی:مدل رگرسیون خطی هیچ خودهمبستگی را از نظر خطا فرض نمی کند. اگر در عبارت خطا همبستگی وجود داشته باشد، دقت مدل را به شدت کاهش می دهد. خودهمبستگی معمولاً در صورتی رخ می دهد که بین خطاهای باقیمانده وابستگی وجود داشته باشد.وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.javatpoint.com/linear-regression-in-machine-learning</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Wed, 30 Nov 2022 19:41:24 +0330</pubDate>
            </item>
                    <item>
                <title>پردازش زبان طبیعی - NLP - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/what-is-nlp-huavrchuc6kd</link>
                <description>پردازش زبان طبیعی - NLP - مهدی مشایخیپردازش زبان طبیعی - Natural Language Processingپردازش زبان طبیعی تلاش می‌کند ماشین‌هایی بسازد که متن یا داده‌های صوتی را بفهمند و به آن‌ها پاسخ دهند و با متن یا گفتار خودشان پاسخ دهند. تقریباً به همان روشی که انسان‌ها انجام می‌دهند.پردازش زبان طبیعی چیست؟پردازش زبان طبیعی (NLP) به شاخه ای از علوم کامپیوتر و به طور خاص تر، شاخه هوش مصنوعی یا AI اشاره دارد که به رایانه ها توانایی درک متن و کلمات گفتاری را به همان روشی که انسان می تواند انجام می دهد، مربوط می شود.ان ال پی NLP زبان‌شناسی محاسباتی مدل‌سازی مبتنی بر قواعد زبان انسانی را با مدل‌های آماری، یادگیری ماشینی و یادگیری عمیق ترکیب می‌کند. این فناوری‌ها با هم، رایانه‌ها را قادر می‌سازند تا زبان انسان را در قالب متن یا داده‌های صوتی پردازش کنند و معنای کامل آن را با هدف و احساسات گوینده یا نویسنده «درک» کنند.ان ال پی NLP برنامه‌های کامپیوتری را هدایت می‌کند که متن را از یک زبان به زبان دیگر ترجمه می‌کنند، به دستورات گفتاری پاسخ می‌دهند و حجم زیادی از متن را به سرعت خلاصه می‌کنند حتی در زمان واقعی. احتمال زیادی وجود دارد که با NLP به شکل سیستم‌های جی‌پی‌اس صدادار، دستیارهای دیجیتال، نرم‌افزار دیکته گفتار به متن، چت‌ربات‌های خدمات مشتری و سایر امکانات رفاهی مصرف‌کننده تعامل داشته باشید. اما NLP همچنین نقش رو به رشدی در راه‌حل‌های سازمانی ایفا می‌کند که به ساده‌سازی عملیات تجاری، افزایش بهره‌وری کارکنان و ساده‌سازی فرآیندهای کسب‌وکار حیاتی کمک می‌کند.وظایف NLP - پردازش زبان های طبیعی - مهدی مشایخی
وظایف NLPزبان انسان مملو از ابهاماتی است که نوشتن نرم افزاری را که دقیقاً معنای متن یا داده های صوتی را تعیین می کند، بسیار دشوار می کند. همنام ها، هم آواها، کنایه ها، اصطلاحات، استعاره ها، گرامر و استثناهای کاربرد، تغییرات در ساختار جملات اینها تنها تعداد کمی از بی نظمی های زبان انسانی هستند که یادگیری آن سال ها طول می کشد، اما برنامه نویسان باید برنامه های کاربردی مبتنی بر زبان طبیعی را آموزش دهند تا تشخیص دهند و از همان ابتدا به درستی درک کنید که آیا آن برنامه ها قرار است مفید باشند.چندین کار NLP متن و داده‌های صوتی انسان را به روش‌هایی تجزیه می‌کنند که به رایانه کمک می‌کند تا آنچه را که بلعیده است درک کند. برخی از این وظایف شامل موارد زیر است:تشخیص گفتار که گفتار به متن نیز نامیده می شود، وظیفه تبدیل مطمئن داده های صوتی به داده های متنی است. تشخیص گفتار برای هر برنامه‌ای که از دستورات صوتی پیروی می‌کند یا به سؤالات گفتاری پاسخ می‌دهد، لازم است. چیزی که تشخیص گفتار را به‌ویژه چالش‌برانگیز می‌کند، نحوه صحبت کردن افراد است سریع، لغزش کلمات با هم، با تأکید و لحن مختلف، با لهجه‌های مختلف و اغلب با استفاده از دستور زبان نادرست.بخشی از برچسب‌گذاری گفتار که برچسب‌گذاری گرامری نیز نامیده می‌شود، فرآیند تعیین بخشی از گفتار یک کلمه یا قطعه متن خاص بر اساس کاربرد و زمینه آن است. بخشی از گفتار «ساختن» را به عنوان یک فعل در «من می توانم یک هواپیمای کاغذی بسازم» و به عنوان اسم در «ماشین چه مدلی دارید؟» مشخص می کند.ابهام‌زدایی از معنای کلمه، انتخاب معنای یک کلمه با معانی چندگانه از طریق فرآیند تحلیل معنایی است که کلمه‌ای را که بیشترین معنا را در زمینه داده شده تعیین می‌کند، تعیین می‌کند. برای مثال، ابهام‌زدایی از معنای کلمه کمک می‌کند تا معنای فعل «ساختن» را در «نمره‌سازی» (به‌دست آوردن) در مقابل «شرط‌بندی» (مکان) تشخیص دهد.شناسایی موجودیت نامگذاری  شده یا NEM، کلمات یا عبارات را به عنوان موجودیت های مفید شناسایی می کند. NEM &quot;کنتاکی&quot; را به عنوان یک مکان یا &quot;فرد&quot; را به عنوان نام یک مرد شناسایی می کند.رزولوشن هم‌ارجاع وظیفه شناسایی این است که آیا و چه زمانی دو کلمه به یک موجودیت اشاره می‌کنند. رایج ترین مثال، تعیین شخص یا شیئی است که یک ضمیر معین به آن اشاره دارد (مثلاً «او» = «مریم»)، اما می تواند شامل شناسایی یک استعاره یا یک اصطلاح در متن نیز باشد (مثلاً مثالی که در آن « خرس یک حیوان نیست بلکه یک فرد پر مو است).تجزیه و تحلیل احساسات  سعی می کند کیفیت های ذهنی - نگرش ها، احساسات، کنایه، سردرگمی، سوء ظن را از متن استخراج کند.تولید زبان طبیعی  گاهی اوقات به عنوان مخالف تشخیص گفتار یا گفتار به متن توصیف می شود. این وظیفه قرار دادن اطلاعات ساختاریافته به زبان انسان است.ابزارها و رویکردهای NLP - پردازش زبان های طبیعی - مهدی مشایخیابزارها و رویکردهای NLPزبان برنامه نویسی پایتون طیف وسیعی از ابزارها و کتابخانه ها را برای حمله به وظایف خاص NLP فراهم می کند. بسیاری از این موارد در Natural Language Toolkit یا NLTK، مجموعه ای منبع باز از کتابخانه ها، برنامه ها و منابع آموزشی برای ساخت برنامه های NLP یافت می شوند.ان ال تی کی (NLTK) شامل کتابخانه‌هایی برای بسیاری از وظایف NLP ذکر شده در بالا، به علاوه کتابخانه‌هایی برای وظایف فرعی، مانند تجزیه جملات، تقسیم‌بندی کلمات، ریشه‌گذاری و واژه‌سازی (روش‌های کوتاه کردن کلمات تا ریشه آنها) و نشانه‌سازی (برای شکستن عبارات، جملات، پاراگراف‌ها) است. و قسمت هایی به نشانه هایی که به کامپیوتر کمک می کند متن را بهتر درک کند). همچنین شامل کتابخانه‌هایی برای پیاده‌سازی قابلیت‌هایی مانند استدلال معنایی، توانایی رسیدن به نتایج منطقی بر اساس حقایق استخراج‌شده از متن است.ان ال پیNLP آماری، یادگیری ماشینی و یادگیری عمیقاولین برنامه‌های NLP، سیستم‌های مبتنی بر قواعد و کدگذاری دستی بودند که می‌توانستند وظایف NLP خاصی را انجام دهند، اما نمی‌توانستند به راحتی مقیاس شوند تا جریان به ظاهر بی‌پایانی از استثناها یا حجم فزاینده متن و داده‌های صوتی را در خود جای دهند.ان ال پی NLP آماری را وارد کنید، که الگوریتم‌های کامپیوتری را با مدل‌های یادگیری ماشینی و یادگیری عمیق ترکیب می‌کند تا به طور خودکار عناصر متن و داده‌های صوتی را استخراج، طبقه‌بندی و برچسب‌گذاری کند و سپس احتمال آماری را به هر معنای احتمالی آن عناصر اختصاص دهد. امروزه، مدل‌های یادگیری عمیق و تکنیک‌های یادگیری مبتنی بر شبکه‌های عصبی کانولوشن (CNN) و شبکه‌های عصبی مکرر (RNN) سیستم‌های NLP را قادر می‌سازند که در حین کار، «یاد بگیرند» و معنای دقیق‌تری را از حجم عظیمی از متن خام، بدون ساختار و بدون برچسب استخراج کنند.موارد استفاده از NLP - پردازش زبان های طبیعی - مهدی مشایخیموارد استفاده از NLPپردازش زبان طبیعی نیروی محرکه پشت هوش ماشینی در بسیاری از کاربردهای دنیای واقعی مدرن است. در اینجا چند نمونه هستند:تشخیص اسپم:  ممکن است تشخیص هرزنامه را به عنوان یک راه حل NLP در نظر نگیرید، اما بهترین فناوری های تشخیص هرزنامه از قابلیت های طبقه‌بندی متن NLP برای اسکن ایمیل ها برای یافتن زبانی استفاده می کنند که اغلب نشان دهنده هرزنامه یا فیشینگ است. این شاخص‌ها می‌توانند شامل استفاده بیش از حد از اصطلاحات مالی، گرامر بد مشخصه، زبان تهدید، فوریت نامناسب، نام‌های شرکت‌ها و غیره باشد. تشخیص هرزنامه یکی از معدود مشکلات NLP است که کارشناسان آن را &quot;بیشتر حل شده&quot; می‌دانند (اگرچه ممکن است استدلال کنید که این با تجربه ایمیل شما مطابقت ندارد).ترجمه ماشینی:  Google Translate نمونه ای از فناوری NLP به طور گسترده در دسترس در محل کار است. ترجمه ماشینی واقعاً مفید بیش از جایگزینی کلمات در یک زبان با کلمات زبان دیگر است. ترجمه مؤثر باید معنی و لحن زبان ورودی را به دقت دریافت کند و آن را به متنی با همان معنا و تأثیر دلخواه در زبان خروجی ترجمه کند. ابزارهای ترجمه ماشینی از نظر دقت پیشرفت خوبی دارند. یک راه عالی برای آزمایش هر ابزار ترجمه ماشینی، ترجمه متن به یک زبان و سپس بازگشت به اصل است. یک مثال کلاسیک که اغلب ذکر شده است: چندی پیش، ترجمه « روح می‌خواهد، اما گوشت ضعیف است» از انگلیسی به روسی و برگردانده شد: « ودکا خوب است اما گوشت گندیده است».&quot; امروز، نتیجه « روح می‌خواهد، اما جسم ضعیف است » است، که کامل نیست، اما اعتماد بسیار بیشتری را در ترجمه انگلیسی به روسی القا می‌کند.عوامل مجازی و ربات‌های گفتگو:  عوامل مجازی مانند سیری اپل و الکسای آمازون از تشخیص گفتار برای تشخیص الگوهای دستورات صوتی و تولید زبان طبیعی استفاده می‌کنند تا با اقدامات مناسب یا نظرات مفید پاسخ دهند. چت بات ها در پاسخ به نوشته های متنی تایپ شده همان جادو را انجام می دهند. بهترین آنها همچنین یاد می گیرند که سرنخ های متنی در مورد درخواست های انسانی را تشخیص دهند و از آنها برای ارائه پاسخ ها یا گزینه های بهتر در طول زمان استفاده کنند. پیشرفت بعدی برای این برنامه ها پاسخگویی به سؤالات است، توانایی پاسخگویی به سؤالات ما - پیش بینی شده یا نه - با پاسخ های مرتبط و مفید به قول خودشان.تجزیه و تحلیل احساسات رسانه های اجتماعی: NLP به یک ابزار تجاری ضروری برای کشف بینش داده های پنهان از کانال های رسانه های اجتماعی تبدیل شده است. تجزیه و تحلیل احساسات می‌تواند زبان مورد استفاده در پست‌های رسانه‌های اجتماعی، پاسخ‌ها، بررسی‌ها و موارد دیگر را برای استخراج نگرش‌ها و احساسات در پاسخ به محصولات، تبلیغات و رویدادها تجزیه و تحلیل کند - شرکت‌ها می‌توانند اطلاعاتی را در طراحی محصول، کمپین‌های تبلیغاتی و موارد دیگر استفاده کنند.خلاصه‌سازی متن: خلاصه‌سازی متن از تکنیک‌های NLP برای هضم حجم عظیمی از متن دیجیتالی و ایجاد خلاصه‌ها و خلاصه‌هایی برای نمایه‌ها، پایگاه‌های اطلاعاتی پژوهشی یا خوانندگان پرمشغله‌ای که وقت خواندن متن کامل را ندارند، استفاده می‌کند. بهترین برنامه‌های خلاصه‌سازی متن از استدلال معنایی و تولید زبان طبیعی (NLG) برای افزودن زمینه و نتیجه‌گیری مفید به خلاصه‌ها استفاده می‌کنند.ممنون که تا انتهایی مقاله با ما همراه بودید. خوشحال میشم نظرات ، سوالات و انتقادات خود را با ما به اشتراک بذارید :)وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.ibm.com/cloud/learn/natural-language-processing</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Mon, 28 Nov 2022 16:14:59 +0330</pubDate>
            </item>
                    <item>
                <title>علم داده چیست؟ - Data Science - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/what-is-data-science-vez9nteosakk</link>
                <description>علوم داده چیست؟ - Data Science - مهدی مشایخی علم داده چیست؟ - مهدی مشایخیعلم داده مطالعه داده ها برای استخراج بینش معنادار برای تجارت است. این یک رویکرد چند رشته‌ای است که اصول و شیوه‌های حوزه‌های ریاضی، آمار، هوش مصنوعی و مهندسی کامپیوتر را برای تجزیه و تحلیل حجم زیادی از داده‌ها ترکیب می‌کند. این تجزیه و تحلیل به دانشمندان داده کمک می کند تا سوالاتی مانند آنچه اتفاق افتاده، چرا اتفاق افتاده، چه اتفاقی خواهد افتاد و با نتایج چه کاری می توان انجام داد، بپرسند و به آنها پاسخ دهند.چرا علم داده مهم است؟علم داده مهم است زیرا ابزارها، روش‌ها و فناوری را برای تولید معنا از داده‌ها ترکیب می‌کند. سازمان های مدرن غرق در داده ها هستند. دستگاه‌هایی که می‌توانند به‌طور خودکار اطلاعات را جمع‌آوری و ذخیره کنند، رو به افزایش است. سیستم‌های آنلاین و درگاه‌های پرداخت داده‌های بیشتری را در زمینه‌های تجارت الکترونیک، پزشکی، مالی و هر جنبه دیگری از زندگی انسان جمع‌آوری می‌کنند. ما داده های متنی، صوتی، تصویری و تصویری را در مقادیر زیادی در دسترس داریم.تاریخچه علم دادهدر حالی که اصطلاح علم داده جدید نیست، معانی و مفاهیم در طول زمان تغییر کرده است. این کلمه برای اولین بار در دهه 60 به عنوان نام جایگزین برای آمار ظاهر شد. در اواخر دهه 90، متخصصان علوم کامپیوتر این اصطلاح را رسمی کردند. یک تعریف پیشنهادی برای علم داده، آن را به عنوان یک حوزه مجزا با سه جنبه می دید: طراحی داده، جمع آوری و تجزیه و تحلیل. هنوز یک دهه دیگر طول کشید تا این اصطلاح در خارج از دانشگاه استفاده شود.آینده علم دادههوش مصنوعی و نوآوری های یادگیری ماشینی پردازش داده ها را سریعتر و کارآمدتر کرده است. تقاضای صنعت اکوسیستمی از دوره ها، مدارک تحصیلی و موقعیت های شغلی را در حوزه علم داده ایجاد کرده است. به دلیل مهارت و تخصص مورد نیاز، علم داده رشد پیش بینی شده قوی را در دهه های آینده نشان می دهد. علم داده برای چه مواردی استفاده می شود؟ - دیتاساینس - مهدی مشایخیعلم داده برای چه مواردی استفاده می شود؟1. تحلیل توصیفیتجزیه و تحلیل توصیفی داده ها را برای به دست آوردن بینشی در مورد آنچه اتفاق افتاده یا آنچه در محیط داده اتفاق می افتد بررسی می کند. با تجسم داده ها مانند نمودار دایره ای، نمودار میله ای، نمودار خطی، جداول، یا روایت های تولید شده مشخص می شود. به عنوان مثال، یک سرویس رزرو پرواز ممکن است داده هایی مانند تعداد بلیط های رزرو شده در هر روز را ثبت کند. تجزیه و تحلیل توصیفی افزایش رزرو، افت رزرو، و ماه های با عملکرد بالا را برای این سرویس نشان می دهد.2. تجزیه و تحلیل تشخیصیتجزیه و تحلیل تشخیصی یک بررسی عمیق یا دقیق داده ها برای درک اینکه چرا چیزی اتفاق افتاده است. با تکنیک هایی مانند مته کردن، کشف داده، داده کاوی و همبستگی مشخص می شود. چندین عملیات داده و تبدیل ممکن است روی یک مجموعه داده معین انجام شود تا الگوهای منحصربه‌فرد در هر یک از این تکنیک‌ها کشف شود. برای مثال، خدمات پرواز ممکن است در یک ماه با عملکرد بالا برای درک بهتر جهش رزرو انجام شود. این ممکن است منجر به کشف این شود که بسیاری از مشتریان از یک شهر خاص برای شرکت در یک رویداد ورزشی ماهانه بازدید می کنند.3. تجزیه و تحلیل پیش بینیتحلیل پیش‌بینی‌کننده از داده‌های تاریخی برای پیش‌بینی دقیق الگوهای داده‌ای که ممکن است در آینده رخ دهد، استفاده می‌کند. با تکنیک هایی مانند یادگیری ماشین، پیش بینی، تطبیق الگو و مدل سازی پیش بینی مشخص می شود. در هر یک از این تکنیک‌ها، رایانه‌ها برای مهندسی معکوس ارتباطات علیت در داده‌ها آموزش می‌بینند. برای مثال، تیم خدمات پرواز ممکن است از علم داده برای پیش‌بینی الگوهای رزرو پرواز برای سال آینده در آغاز هر سال استفاده کند. برنامه یا الگوریتم رایانه ممکن است به داده های گذشته نگاه کند و افزایش رزرو را برای مقاصد خاصی در ماه مه پیش بینی کند. این شرکت با پیش‌بینی نیازهای مسافرتی آینده مشتریان خود، می‌تواند تبلیغات هدفمند برای آن شهرها را از فوریه آغاز کند.4. تجزیه و تحلیل تجویزیتجزیه و تحلیل تجویزی داده های پیش بینی را به سطح بعدی می برد. نه تنها آنچه را که احتمال وقوع دارد پیش‌بینی می‌کند، بلکه پاسخی بهینه به آن نتیجه را نیز پیشنهاد می‌کند. می‌تواند پیامدهای بالقوه انتخاب‌های مختلف را تجزیه و تحلیل کند و بهترین اقدام را توصیه کند. از تجزیه و تحلیل نمودار، شبیه سازی، پردازش رویدادهای پیچیده، شبکه های عصبی و موتورهای توصیه از یادگیری ماشین استفاده می کند.به مثال رزرو پرواز برگردیم، تجزیه و تحلیل تجویزی می‌تواند به کمپین‌های بازاریابی تاریخی برای به حداکثر رساندن مزیت افزایش رزرو آتی نگاه کند. یک دانشمند داده می تواند نتایج رزرو را برای سطوح مختلف هزینه های بازاریابی در کانال های بازاریابی مختلف پیش بینی کند. این پیش بینی داده ها به شرکت رزرو پرواز اطمینان بیشتری در تصمیمات بازاریابی خود می دهد.مراحل علم داده چیست؟ - دیتاساینس - مهدی مشایخیمراحل علم داده چیست؟یک دانشمند داده با ذینفعان کسب و کار کار می کند تا بفهمد کسب و کار به چه چیزی نیاز دارد. هنگامی که مشکل تعریف شد، دانشمند داده ممکن است آن را با استفاده از فرآیند علم داده OSEMN حل کند:جمع آوری داده و دیتاداده ها می توانند از قبل موجود، تازه به دست آمده یا یک مخزن داده قابل دانلود از اینترنت باشند. دانشمندان داده می‌توانند داده‌ها را از پایگاه‌های داده داخلی یا خارجی، نرم‌افزار CRM شرکت، گزارش‌های وب سرور، رسانه‌های اجتماعی استخراج کنند یا از منابع شخص ثالث قابل اعتماد خریداری کنند.پیش پردازش دادهپاکسازی داده ها یا پاکسازی داده ها، فرآیند استانداردسازی داده ها بر اساس فرمت از پیش تعیین شده است. این شامل رسیدگی به داده های از دست رفته، رفع خطاهای داده، و حذف هر گونه اطلاعات پرت است. چند نمونه از پاکسازی داده ها عبارتند از:تغییر تمام مقادیر تاریخ به یک قالب استاندارد مشترک.·رفع اشتباهات املایی یا فاصله های اضافی.·رفع نادرستی های ریاضی یا حذف کاما از اعداد بزرگ.کاوش کردن داده هااکتشاف داده، تجزیه و تحلیل داده های اولیه است که برای برنامه ریزی استراتژی های مدل سازی داده های بیشتر استفاده می شود. دانشمندان داده با استفاده از آمار توصیفی و ابزارهای تجسم داده ها به درک اولیه از داده ها دست می یابند. سپس آنها داده ها را بررسی می کنند تا الگوهای جالبی را که می توانند مطالعه یا عمل کنند، شناسایی کنند.ایجاد مدل و الگوریتمنرم‌افزار و الگوریتم‌های یادگیری ماشین برای به دست آوردن بینش عمیق‌تر، پیش‌بینی نتایج و تجویز بهترین مسیر عمل استفاده می‌شوند. تکنیک‌های یادگیری ماشین مانند تداعی، طبقه‌بندی و خوشه‌بندی در مجموعه داده‌های آموزشی اعمال می‌شوند. این مدل ممکن است در برابر داده های تست از پیش تعیین شده برای ارزیابی دقت نتیجه آزمایش شود. مدل داده را می توان بارها تنظیم کرد تا نتایج را بهبود بخشد.نتایج را تفسیر کنیددانشمندان داده با تحلیلگران و کسب و کارها همکاری می کنند تا بینش داده ها را به عمل تبدیل کنند. آنها نمودارها، نمودارها و نمودارها را برای نمایش روندها و پیش بینی ها می سازند. خلاصه سازی داده ها کمک میکند تا نتایج را به طور موثر درک کرده و اجرا کنند.تکنیک های علم داده چیست؟ - دیتا ساینس - مهدی مشایخیتکنیک های علم داده چیست؟متخصصان علم داده از سیستم های محاسباتی برای پیگیری فرآیند علم داده استفاده می کنند. تکنیک های برتر مورد استفاده توسط دانشمندان داده عبارتند از:طبقه بندیطبقه بندی مرتب سازی داده ها در گروه ها یا دسته های خاص است. رایانه ها برای شناسایی و مرتب سازی داده ها آموزش دیده اند. مجموعه داده های شناخته شده برای ساختن الگوریتم های تصمیم گیری در رایانه ای استفاده می شود که به سرعت داده ها را پردازش و دسته بندی می کند. مثلا:·دسته بندی محصولات به عنوان محبوب یا غیر محبوب ·برنامه های بیمه را به عنوان پرخطر یا کم خطر مرتب کنید.نظرات رسانه های اجتماعی را به مثبت، منفی یا خنثی مرتب کنید.متخصصان علم داده از سیستم های محاسباتی برای پیگیری فرآیند علم داده استفاده می کنند.رگرسیونرگرسیون روشی برای یافتن رابطه بین دو نقطه داده به ظاهر نامرتبط است. اتصال معمولاً حول یک فرمول ریاضی مدل‌سازی می‌شود و به صورت نمودار یا منحنی نشان داده می‌شود. هنگامی که مقدار یک نقطه داده مشخص است، از رگرسیون برای پیش بینی نقطه داده دیگر استفاده می شود. مثلا:·میزان شیوع بیماری های منتقله از طریق هوا.·رابطه بین رضایت مشتری و تعداد کارکنان.·رابطه بین تعداد ایستگاه های آتش نشانی و تعداد جراحات ناشی از آتش سوزی در یک مکان خاص.خوشه بندیخوشه بندی روشی برای گروه بندی داده های نزدیک به هم برای جستجوی الگوها و ناهنجاری ها است. خوشه‌بندی با مرتب‌سازی متفاوت است، زیرا داده‌ها را نمی‌توان به‌طور دقیق در دسته‌های ثابت طبقه‌بندی کرد. از این رو داده ها در محتمل ترین روابط گروه بندی می شوند. الگوها و روابط جدید را می توان با خوشه بندی کشف کرد. مثلا: ·گروه‌بندی مشتریان با رفتار خرید مشابه برای بهبود خدمات مشتری.·برای شناسایی الگوهای استفاده روزانه و شناسایی سریعتر حمله شبکه، ترافیک شبکه را گروه بندی کنید.مقالات را در چند دسته خبری مختلف دسته بندی کنید و از این اطلاعات برای یافتن محتوای اخبار جعلی استفاده کنید. فن آوری های مختلف علم داده چیست؟ - دیتاساینس - مهدی مشایخیفن آوری های مختلف علم داده چیست؟متخصصان علوم داده با فناوری های پیچیده ای مانند:هوش مصنوعی:  مدل‌های یادگیری ماشین و نرم‌افزارهای مرتبط برای تجزیه و تحلیل پیش‌بینی‌کننده و تجویزی استفاده می‌شوند.رایانش ابری:  فناوری‌های ابری به دانشمندان داده انعطاف‌پذیری و قدرت پردازش مورد نیاز برای تجزیه و تحلیل داده‌های پیشرفته را داده است.اینترنت اشیا:  اینترنت اشیا به دستگاه های مختلفی اطلاق می شود که می توانند به طور خودکار به اینترنت متصل شوند. این دستگاه ها داده ها را برای ابتکارات علم داده جمع آوری می کنند. آنها داده های عظیمی را تولید می کنند که می تواند برای داده کاوی و استخراج داده استفاده شود.محاسبات کوانتومی:  کامپیوترهای کوانتومی می توانند محاسبات پیچیده را با سرعت بالا انجام دهند. دانشمندان ماهر داده از آنها برای ساختن الگوریتم های کمی پیچیده استفاده می کنند.تفاوت علم داده و تجزیه و تحلیل داده چیست؟در حالی که این اصطلاحات ممکن است به جای یکدیگر استفاده شوند، تجزیه و تحلیل داده ها زیرمجموعه ای از علم داده است. علم داده یک اصطلاح جامع برای تمام جنبه های پردازش داده است - از مجموعه گرفته تا مدل سازی تا بینش. از سوی دیگر، تجزیه و تحلیل داده ها عمدتاً با آمار، ریاضیات و تجزیه و تحلیل آماری سروکار دارد. این تنها بر تجزیه و تحلیل داده ها متمرکز است، در حالی که علم داده به تصویر بزرگتر در مورد داده های سازمانی مربوط می شود. در اکثر مکان های کاری، دانشمندان داده و تحلیلگران داده با هم در جهت اهداف تجاری مشترک کار می کنند. یک تحلیلگر داده ممکن است زمان بیشتری را صرف تجزیه و تحلیل روتین کند و گزارش های منظم ارائه دهد. یک دانشمند داده ممکن است روشی را طراحی کند که داده ها ذخیره، دستکاری و تجزیه و تحلیل می شوند. به بیان ساده، یک تحلیلگر داده از داده های موجود معنا پیدا می کند، در حالی که یک دانشمند داده روش ها و ابزارهای جدیدی را برای پردازش داده ها برای استفاده توسط تحلیلگران ایجاد می کند.یک دانشمند داده چه می کند؟یک دانشمند داده می تواند از طیف وسیعی از تکنیک ها، ابزارها و فناوری های مختلف به عنوان بخشی از فرآیند علم داده استفاده کند. بر اساس مشکل، آنها بهترین ترکیب ها را برای نتایج سریع تر و دقیق تر انتخاب می کنند.نقش یک دانشمند داده و کار روزانه بسته به اندازه و نیازهای سازمان متفاوت است. در حالی که آنها معمولاً فرآیند علم داده را دنبال می کنند، جزئیات ممکن است متفاوت باشد. در تیم های بزرگتر علم داده، یک دانشمند داده ممکن است با تحلیلگران، مهندسان، کارشناسان یادگیری ماشین و آماردانان دیگر کار کند تا اطمینان حاصل شود که فرآیند علم داده به طور کامل دنبال می شود و به اهداف تجاری دست می یابد.با این حال، در تیم های کوچکتر، یک دانشمند داده ممکن است چندین کلاه بر سر بگذارد. بر اساس تجربه، مهارت ها و پیشینه تحصیلی، آنها ممکن است نقش های متعدد یا نقش های همپوشانی داشته باشند. در این مورد، مسئولیت های روزانه آنها ممکن است شامل مهندسی، تجزیه و تحلیل، و یادگیری ماشین به همراه متدولوژی های اصلی علم داده باشد.چگونه یک دانشمند داده شویم؟معمولاً سه مرحله برای تبدیل شدن به یک دانشمند داده وجود دارد:در رشته IT، علوم کامپیوتر، ریاضی، فیزیک یا سایر رشته های مرتبط، مدرک لیسانس بگیرید.دریافت مدرک کارشناسی ارشد در علم داده یا رشته مرتبط.کسب تجربه و مهارت در زمینه مورد علاقه.وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://aws.amazon.com/what-is/data-science/</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Thu, 24 Nov 2022 22:05:32 +0330</pubDate>
            </item>
                    <item>
                <title>داده کلان چیست؟ - Big Data - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/what-is-big-data-v5bktbgtapl2</link>
                <description>داده کلان چیست؟ - Big Data - مهدی مشایخیکلان داده چیست؟ تعریف - نحوه کار - کاربردکلان داده به مجموعه های وسیع و متنوعی از اطلاعات اشاره دارد که با سرعت های فزاینده ای رشد می کنند. این  شامل حجم اطلاعات، سرعت یا سرعتی است که در آن ایجاد و جمع‌آوری می‌شود، و  تنوع یا دامنه نقاط داده‌ای که تحت پوشش قرار می‌گیرند (معروف به &quot;سه  برابر&quot; داده‌های بزرگ). کلان داده اغلب از داده کاوی به دست می آید و در قالب های مختلف به دست می آید.کلان داده چگونه کار می کند؟کلان داده ها را می توان به عنوان بدون ساختار یا ساخت یافته طبقه‌بندی کرد. داده های ساختاریافته شامل اطلاعاتی است که قبلاً توسط سازمان در پایگاه های داده و صفحات گسترده مدیریت شده است. غالباً ماهیت عددی دارد. داده های بدون ساختار اطلاعاتی هستند که سازماندهی نشده اند و در یک مدل یا قالب از پیش تعیین شده قرار نمی گیرند. این شامل داده های جمع‌آوری شده از منابع رسانه های اجتماعی است که به موسسات کمک می کند اطلاعات مربوط به نیازهای مشتری را جمع‌آوری کنند.کلان  داده ها را می توان از نظرات به اشتراک گذاشته شده عمومی در شبکه های  اجتماعی و وب سایت ها، که به طور داوطلبانه از وسایل الکترونیکی شخصی و  برنامه ها جمع‌آوری می شود، از طریق پرسشنامه، خرید محصول و بررسی  الکترونیکی جمع‌آوری کرد. وجود حسگرها و سایر ورودی‌ها در دستگاه‌های هوشمند امکان جمع‌آوری داده‌ها را در طیف وسیعی از موقعیت‌ها و شرایط فراهم می‌کند.کلان  داده ها اغلب در پایگاه های داده کامپیوتری ذخیره می شوند و با استفاده از  نرم افزارهایی که به طور خاص برای مدیریت مجموعه های داده های بزرگ و  پیچیده طراحی شده اند، تجزیه و تحلیل می شوند. بسیاری از شرکت های نرم‌افزار به عنوان سرویس (SaaS) در مدیریت این نوع داده های پیچیده تخصص دارند.موارد استفاده از داده های بزرگ - مهدی مشایخی موارد استفاده از داده های بزرگتحلیلگران داده‌ها به رابطه بین انواع مختلف داده‌ها، مانند داده‌های جمعیتی و سابقه خرید، نگاه می‌کنند تا تعیین کنند که آیا همبستگی وجود دارد یا خیر. چنین  ارزیابی‌هایی ممکن است توسط شخص ثالثی که بر پردازش داده‌های بزرگ در  قالب‌های قابل هضم تمرکز دارد، در داخل یا خارج از کشور انجام شود. کسب‌وکارها اغلب از ارزیابی داده‌های بزرگ توسط چنین کارشناسانی استفاده می‌کنند تا آن‌ها را به اطلاعات عملی تبدیل کنند.بسیاری  از شرکت‌ها مانند آلفابت و متا (فیسبوک سابق) از داده‌های بزرگ برای تولید  درآمد تبلیغاتی با قرار دادن تبلیغات هدفمند برای کاربران در رسانه‌های  اجتماعی و کسانی که در وب گردی می‌کنند، استفاده می‌کنند.تقریباً هر بخش در یک شرکت می تواند از یافته های تجزیه و تحلیل داده ها، از منابع انسانی و فناوری گرفته تا بازاریابی و فروش، استفاده کند. هدف  کلان داده افزایش سرعت ورود محصولات به بازار، کاهش زمان و منابع مورد  نیاز برای جذب بازار، مخاطبان هدف، و اطمینان از راضی ماندن مشتریان است.مزایا و معایب داده های بزرگ - مهدی مشایخی مزایا و معایب داده های بزرگافزایش حجم داده های موجود هم فرصت ها و هم مشکلاتی را ایجاد می کند. به  طور کلی، داشتن داده‌های بیشتر در مورد مشتریان (و مشتریان بالقوه) باید  به شرکت‌ها اجازه دهد تا محصولات و تلاش‌های بازاریابی را به‌منظور ایجاد  بالاترین سطح رضایت و تکرار کسب‌وکار، بهتر طراحی کنند. شرکت‌هایی که حجم زیادی از داده‌ها را جمع‌آوری می‌کنند، این فرصت را دارند که تجزیه و تحلیل عمیق‌تر و غنی‌تر را به نفع همه ذینفعان انجام دهند.با توجه به حجم داده های شخصی موجود در افراد امروزی، بسیار مهم است که شرکت ها اقداماتی را برای محافظت از این داده ها انجام دهند. موضوعی  که به یک بحث داغ در دنیای آنلاین امروزی تبدیل شده است، به ویژه با نقض  داده های بسیاری که شرکت ها در چند سال اخیر تجربه کرده اند.در حالی که تجزیه و تحلیل بهتر مثبت است، داده های بزرگ نیز می توانند اضافه بار و نویز ایجاد کنند و مفید بودن آن را کاهش دهند. شرکت ها باید حجم بیشتری از داده ها را مدیریت کنند و تعیین کنند که کدام داده ها سیگنال ها را در مقایسه با نویز نشان می دهند. تصمیم گیری در مورد اینکه چه چیزی داده ها را مرتبط می کند به یک عامل کلیدی تبدیل می شود.علاوه بر این، ماهیت و قالب داده‌ها می‌تواند نیاز به رسیدگی خاصی داشته باشد، قبل از اینکه روی آن عمل شود. داده های ساختاریافته، متشکل از مقادیر عددی، می توانند به راحتی ذخیره و مرتب شوند. داده‌های  بدون ساختار، مانند ایمیل‌ها، ویدئوها و اسناد متنی، ممکن است نیاز به  تکنیک‌های پیچیده‌تری داشته باشند تا قبل از مفید شدن استفاده شوندوبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www-investopedia-com.translate.goog/terms/b/big-data.asp?_x_tr_sl=auto&amp;amp;amp;_x_tr_tl=fa&amp;amp;amp;_x_tr_hl=en-US</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Mon, 21 Nov 2022 16:53:41 +0330</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی چیست؟ - Artificial Intelligence - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/what-is-artificial-intelligence-kpxslln8h6jo</link>
                <description>هوش مصنوعی چیست؟ - Artificial Intelligence - مهدی مشایخیهوش مصنوعی (AI) چیست؟هوش مصنوعی شبیه سازی فرآیندهای هوش انسانی توسط ماشین ها به ویژه سیستم های کامپیوتری است. کاربردهای خاص هوش مصنوعی شامل سیستم های خبره ، پردازش زبان طبیعی، تشخیص گفتار و بینایی ماشین است.هوش مصنوعی چگونه کار می کند؟از آنجایی که هیاهوی هوش مصنوعی افزایش یافته است، فروشندگان در تلاش هستند تا نحوه استفاده محصولات و خدماتشان از هوش مصنوعی را تبلیغ کنند. اغلب آنچه آنها به عنوان AI از آن یاد می کنند، به سادگی یکی از اجزای هوش مصنوعی است، مانند یادگیری ماشین . هوش مصنوعی به پایه ای از سخت افزار و نرم افزار تخصصی برای نوشتن و آموزش الگوریتم های یادگیری ماشین نیاز دارد. هیچ زبان برنامه نویسی مترادف با هوش مصنوعی نیست، اما تعداد کمی از جمله پایتون، R و جاوا محبوب هستند.به طور کلی، سیستم‌های هوش مصنوعی با دریافت مقادیر زیادی از داده‌های آموزشی برچسب‌گذاری شده، تجزیه و تحلیل داده‌ها برای همبستگی‌ها و الگوها و استفاده از این الگوها برای پیش‌بینی وضعیت‌های آینده کار می‌کنند. به این ترتیب، یک ربات چت که از نمونه‌هایی از چت‌های متنی تغذیه می‌شود، می‌تواند یاد بگیرد که تبادلات واقعی با افراد ایجاد کند، یا یک ابزار تشخیص تصویر می‌تواند با مرور میلیون‌ها مثال، شناسایی و توصیف اشیاء در تصاویر را بیاموزد.برنامه نویسی هوش مصنوعی بر سه مهارت شناختی تمرکز دارد: یادگیری، استدلال و اصلاح خود.فرآیندهای یادگیری این جنبه از برنامه نویسی هوش مصنوعی بر به دست آوردن داده ها و ایجاد قوانینی برای چگونگی تبدیل داده ها به اطلاعات عملی متمرکز است. قوانین، که الگوریتم نامیده می شوند ، دستورالعمل های گام به گام را برای نحوه تکمیل یک کار خاص به دستگاه های محاسباتی ارائه می دهند.فرآیندهای استدلال این جنبه از برنامه نویسی هوش مصنوعی بر انتخاب الگوریتم مناسب برای رسیدن به یک نتیجه دلخواه متمرکز است.فرآیندهای خود اصلاحی این جنبه از برنامه نویسی هوش مصنوعی برای تنظیم مداوم الگوریتم ها و اطمینان از ارائه دقیق ترین نتایج ممکن طراحی شده است.چرا هوش مصنوعی مهم است؟هوش مصنوعی به این دلیل مهم است که می‌تواند به شرکت‌ها بینش‌هایی در مورد عملیات خود بدهد که ممکن است قبلاً از آن آگاه نبوده باشند و به این دلیل که در برخی موارد، هوش مصنوعی می‌تواند وظایف را بهتر از انسان‌ها انجام دهد. به ویژه هنگامی که صحبت از کارهای تکراری و جزئیات محور مانند تجزیه و تحلیل تعداد زیادی از اسناد قانونی برای اطمینان از پر شدن صحیح فیلدهای مربوطه می شود، ابزارهای هوش مصنوعی اغلب کارها را به سرعت و با خطاهای نسبتا کمی تکمیل می کنند.این به انفجار در کارایی کمک کرده و دری را برای فرصت‌های تجاری کاملاً جدید برای برخی از شرکت‌های بزرگتر باز کرده است. قبل از موج فعلی هوش مصنوعی، تصور استفاده از نرم افزارهای کامپیوتری برای اتصال سواران به تاکسی سخت بود، اما امروزه اوبر با انجام این کار به یکی از بزرگترین شرکت های جهان تبدیل شده است. این برنامه از الگوریتم‌های یادگیری ماشینی پیچیده برای پیش‌بینی اینکه چه زمانی افراد احتمالاً در مناطق خاصی نیاز به سواری دارند، استفاده می‌کند، که کمک می‌کند تا رانندگان پیش از نیاز، به طور فعال در جاده‌ها حرکت کنند. به عنوان مثالی دیگر، گوگل با استفاده از یادگیری ماشینی برای درک نحوه استفاده مردم از خدمات و سپس بهبود آنها، به یکی از بزرگترین بازیگران برای طیف وسیعی از خدمات آنلاین تبدیل شده است. در سال 2017، ساندار پیچای، مدیرعامل این شرکت، اعلام کرد که گوگل به عنوان یک شرکت &quot;اول AI&quot; فعالیت خواهد کرد.بزرگ‌ترین و موفق‌ترین شرکت‌های امروزی از هوش مصنوعی برای بهبود عملکرد خود و کسب مزیت نسبت به رقبای خود استفاده کرده‌اند. مزایا و معایب هوش مصنوعی چیست؟ - مهدی مشایخی
مزایا و معایب هوش مصنوعی چیست؟شبکه‌های عصبی مصنوعی و فناوری‌های هوش مصنوعی یادگیری عمیق به سرعت در حال تکامل هستند، در درجه اول به این دلیل که هوش مصنوعی مقادیر زیادی از داده‌ها را بسیار سریع‌تر پردازش می‌کند و پیش‌بینی‌ها را دقیق‌تر از آنچه که انسان ممکن است انجام می‌دهد.در حالی که حجم عظیم داده‌ای که به صورت روزانه ایجاد می‌شود، یک محقق انسانی را دفن می‌کند، برنامه‌های کاربردی هوش مصنوعی که از یادگیری ماشینی استفاده می‌کنند می‌توانند آن داده‌ها را گرفته و به سرعت آن‌ها را به اطلاعات عملی تبدیل کنند. در زمان نگارش این مقاله، عیب اصلی استفاده از هوش مصنوعی این است که پردازش مقادیر زیادی از داده‌های مورد نیاز برنامه‌نویسی هوش مصنوعی گران است.مزایای استفاده :در مشاغل مرتبط با جزئیات خوب است.کاهش زمان برای کارهای سنگین داده؛نتایج ثابتی را ارائه می دهد؛ وعوامل مجازی مبتنی بر هوش مصنوعی همیشه در دسترس هستند.معایب استفاده :گران؛به تخصص فنی عمیق نیاز دارد.عرضه محدود کارگران واجد شرایط برای ساخت ابزارهای هوش مصنوعی؛فقط می داند چه چیزی نشان داده شده است.عدم توانایی تعمیم از یک کار به کار دیگر.هوش مصنوعی قوی در مقابل هوش مصنوعی ضعیفهوش مصنوعی را می توان به دو دسته ضعیف یا قوی طبقه بندی کرد.هوش مصنوعی ضعیف که به عنوان هوش مصنوعی باریک نیز شناخته می شود، یک سیستم هوش مصنوعی است که برای انجام یک کار خاص طراحی و آموزش داده شده است. ربات های صنعتی و دستیاران شخصی مجازی مانند سیری اپل از هوش مصنوعی ضعیف استفاده می کنند.هوش مصنوعی قوی که به عنوان هوش عمومی مصنوعی (AGI) نیز شناخته می شود، برنامه ریزی را توصیف می کند که می تواند توانایی های شناختی مغز انسان را تکرار کند. هنگامی که با یک کار ناآشنا ارائه می شود، یک سیستم هوش مصنوعی قوی می تواند از منطق فازی برای اعمال دانش از یک دامنه به حوزه دیگر و یافتن راه حل به طور مستقل استفاده کند. در تئوری، یک برنامه هوش مصنوعی قوی باید بتواند هم تست تورینگ و هم تست اتاق چینی را پشت سر بگذارد.انوع هوش مصنوعی چیست؟ - مهدی مشایخی
انوع هوش مصنوعی چیست؟آرند هینتزه، استادیار زیست شناسی و علوم کامپیوتری و مهندسی در دانشگاه ایالتی میشیگان، در مقاله ای در سال 2016 توضیح داد که هوش مصنوعی را می توان به چهار نوع طبقه بندی کرد، که از سیستم های هوشمند ویژه کار که امروزه به طور گسترده استفاده می شود شروع می شود و به سیستم های حساس پیشرفت می کند، که هنوز وجود ندارند. دسته بندی ها به شرح زیر است:نوع 1: ماشین های راکتیو این سیستم‌های هوش مصنوعی حافظه ندارند و مختص وظایف هستند. به عنوان مثال Deep Blue، برنامه شطرنج IBM که گری کاسپاروف را در دهه 1990 شکست داد. آبی عمیق می تواند مهره های روی صفحه شطرنج را شناسایی کند و پیش بینی کند، اما چون حافظه ندارد، نمی تواند از تجربیات گذشته برای اطلاع رسانی به آینده استفاده کند.نوع 2: حافظه محدود. این سیستم های هوش مصنوعی دارای حافظه هستند، بنابراین می توانند از تجربیات گذشته برای اطلاع رسانی تصمیمات آینده استفاده کنند. برخی از عملکردهای تصمیم گیری در خودروهای خودران به این شکل طراحی شده اند.نوع 3: نظریه ذهن. نظریه ذهن یک اصطلاح روانشناسی است. وقتی برای هوش مصنوعی اعمال می شود، به این معنی است که این سیستم از هوش اجتماعی برای درک احساسات برخوردار است. این نوع هوش مصنوعی قادر به استنباط نیات انسان و پیش بینی رفتار خواهد بود، مهارتی ضروری برای سیستم های هوش مصنوعی برای تبدیل شدن به اعضای جدایی ناپذیر تیم های انسانی.نوع 4: خودآگاهی. در این دسته، سیستم‌های هوش مصنوعی حسی از خود دارند که به آنها آگاهی می‌دهد. ماشین های دارای خودآگاهی وضعیت فعلی خود را درک می کنند. این نوع هوش مصنوعی هنوز وجود ندارد.تکامل هوش مصنوعینمونه هایی از فناوری هوش مصنوعی چیست و امروزه چگونه از آن استفاده می شود؟هوش مصنوعی در انواع مختلف فناوری گنجانده شده است. در اینجا شش نمونه آورده شده است:اتوماسیون. وقتی ابزارهای اتوماسیون با فناوری‌های هوش مصنوعی همراه شوند، می‌توانند حجم و انواع وظایف انجام‌شده را افزایش دهند. به عنوان مثال، اتوماسیون فرآیند روباتیک ( RPA )، نوعی نرم افزار است که وظایف پردازش داده های تکراری و مبتنی بر قوانین را که به طور سنتی توسط انسان انجام می شود، خودکار می کند. هنگامی که با یادگیری ماشین و ابزارهای نوظهور هوش مصنوعی ترکیب می‌شود، RPA می‌تواند بخش‌های بزرگ‌تری از مشاغل سازمانی را خودکار کند و ربات‌های تاکتیکی RPA را قادر می‌سازد تا اطلاعات هوش مصنوعی را به همراه داشته باشند و به تغییرات فرآیند پاسخ دهند.فراگیری ماشین. این علم به کار بردن کامپیوتر بدون برنامه نویسی است. یادگیری عمیق زیرمجموعه ای از یادگیری ماشینی است که به زبان بسیار ساده می توان آن را به عنوان خودکارسازی تحلیل پیش بینی کننده در نظر گرفت. سه نوع الگوریتم یادگیری ماشین وجود دارد:یادگیری تحت نظارت مجموعه داده ها برچسب گذاری می شوند تا الگوها را بتوان شناسایی کرد و برای برچسب گذاری مجموعه داده های جدید استفاده کرد.یادگیری بدون نظارت مجموعه داده ها برچسب گذاری نمی شوند و بر اساس شباهت ها یا تفاوت ها مرتب شده اند.یادگیری تقویتی . مجموعه داده ها برچسب گذاری نمی شوند، اما پس از انجام یک عمل یا چندین عمل، به سیستم هوش مصنوعی بازخورد داده می شود.بینایی ماشین. این فناوری به ماشین توانایی دیدن می دهد. بینایی ماشین با استفاده از دوربین، تبدیل آنالوگ به دیجیتال و پردازش سیگنال دیجیتال، اطلاعات بصری را ضبط و تجزیه و تحلیل می کند. اغلب با بینایی انسان مقایسه می‌شود، اما بینایی ماشینی محدود به بیولوژی نیست و می‌تواند برای مثال برای دیدن از طریق دیوار برنامه‌ریزی شود. در طیف وسیعی از کاربردها از شناسایی امضا تا تجزیه و تحلیل تصویر پزشکی استفاده می شود. بینایی کامپیوتر ، که بر پردازش تصویر مبتنی بر ماشین متمرکز است، اغلب با بینایی ماشین ترکیب می شود.پردازش زبان طبیعی (NLP). این پردازش زبان انسان توسط یک برنامه کامپیوتری است. یکی از قدیمی‌ترین و شناخته‌شده‌ترین نمونه‌های NLP، تشخیص هرزنامه است که به موضوع و متن ایمیل نگاه می‌کند و تصمیم می‌گیرد که آیا ناخواسته است یا خیر. رویکردهای فعلی NLP مبتنی بر یادگیری ماشینی است. وظایف NLP شامل ترجمه متن، تجزیه و تحلیل احساسات و تشخیص گفتار است.رباتیک. این رشته مهندسی بر طراحی و ساخت ربات ها تمرکز دارد. ربات ها اغلب برای انجام کارهایی استفاده می شوند که انجام آنها یا انجام مداوم آنها برای انسان دشوار است. به عنوان مثال، ربات ها در خطوط مونتاژ برای تولید خودرو یا توسط ناسا برای جابجایی اجسام بزرگ در فضا استفاده می شوند. محققان همچنین از یادگیری ماشینی برای ساخت ربات هایی استفاده می کنند که می توانند در محیط های اجتماعی تعامل داشته باشند.ماشین های خودران. وسایل نقلیه خودران از ترکیبی از بینایی کامپیوتر، تشخیص تصویر و یادگیری عمیق برای ایجاد مهارت خودکار در هدایت وسیله نقلیه در حالی که در یک خط معین می‌مانند و اجتناب از موانع غیرمنتظره مانند عابران پیاده استفاده می‌کنند.کاربردهای هوش مصنوعی چیست؟ - مهدی مشایخی
کاربردهای هوش مصنوعی چیست؟هوش مصنوعی راه خود را به بازارهای مختلف باز کرده است. در اینجا 9 نمونه آورده شده است.هوش مصنوعی در مراقبت های بهداشتی بزرگترین شرط بندی ها بر روی بهبود نتایج بیمار و کاهش هزینه ها است. شرکت‌ها از یادگیری ماشینی برای تشخیص بهتر و سریع‌تر از انسان استفاده می‌کنند. یکی از شناخته شده ترین فناوری های مراقبت های بهداشتی IBM Watson است. زبان طبیعی را می فهمد و می تواند به سوالاتی که از آن پرسیده می شود پاسخ دهد. این سیستم داده‌های بیمار و سایر منابع داده موجود را استخراج می‌کند تا یک فرضیه را تشکیل دهد، که سپس با یک طرح امتیازدهی اطمینان ارائه می‌کند. سایر برنامه های کاربردی هوش مصنوعی شامل استفاده از دستیاران سلامت مجازی آنلاین و چت بات ها برای کمک به بیماران و مشتریان مراقبت های بهداشتی در یافتن اطلاعات پزشکی، برنامه ریزی قرار ملاقات، درک فرآیند صدور صورت حساب و تکمیل سایر فرآیندهای اداری است. مجموعه ای از فناوری های هوش مصنوعی نیز برای پیش بینی، مبارزه و درک استفاده می شود ، همه گیری هایی مانند COVID-19 .هوش مصنوعی در تجارت الگوریتم‌های یادگیری ماشینی در حال ادغام در پلت‌فرم‌های تجزیه و تحلیل و مدیریت ارتباط با مشتری ( CRM ) هستند تا اطلاعاتی را در مورد نحوه ارائه خدمات بهتر به مشتریان کشف کنند. چت بات ها برای ارائه خدمات فوری به مشتریان در وب سایت ها گنجانده شده اند. اتوماسیون موقعیت های شغلی نیز به موضوعی در میان دانشگاهیان و تحلیلگران فناوری اطلاعات تبدیل شده است.هوش مصنوعی در آموزش هوش مصنوعی می تواند نمره دهی را خودکار کند و به مربیان زمان بیشتری بدهد. می تواند دانش آموزان را ارزیابی کند و با نیازهای آنها سازگار شود و به آنها کمک کند تا با سرعت خودشان کار کنند. آموزگاران هوش مصنوعی می‌توانند پشتیبانی بیشتری از دانش‌آموزان ارائه دهند و از ماندن آنها در مسیر مطمئن شوند. و می تواند مکان و نحوه یادگیری دانش آموزان را تغییر دهد، شاید حتی جایگزین برخی از معلمان شود.هوش مصنوعی در امور مالی هوش مصنوعی در برنامه های مالی شخصی، مانند Intuit Mint یا TurboTax، مؤسسات مالی را مختل می کند. برنامه هایی مانند اینها داده های شخصی را جمع آوری می کنند و مشاوره مالی ارائه می دهند. برنامه های دیگری مانند IBM Watson در فرآیند خرید خانه به کار گرفته شده است. امروزه نرم افزار هوش مصنوعی بیشتر معاملات را در وال استریت انجام می دهد.هوش مصنوعی در قانون روند کشف -- غربال کردن اسناد -- در قانون اغلب برای انسان طاقت فرسا است. استفاده از هوش مصنوعی برای کمک به خودکارسازی فرآیندهای پر زحمت صنعت قانونی باعث صرفه جویی در زمان و بهبود خدمات مشتری می شود. شرکت‌های حقوقی از یادگیری ماشینی برای توصیف داده‌ها و پیش‌بینی نتایج، بینایی کامپیوتری برای طبقه‌بندی و استخراج اطلاعات از اسناد و پردازش زبان طبیعی برای تفسیر درخواست‌های اطلاعات استفاده می‌کنند.هوش مصنوعی در تولید تولید در خط مقدم ترکیب ربات ها در جریان کار بوده است. برای مثال، ربات‌های صنعتی که زمانی برای انجام وظایف منفرد برنامه‌ریزی شده بودند و از کارگران انسانی جدا می‌شدند، به طور فزاینده‌ای به عنوان ربات‌ها عمل می‌کردند : روبات‌های کوچک‌تر و چندوظیفه‌ای که با انسان‌ها همکاری می‌کنند و مسئولیت بخش‌های بیشتری از کار را در انبارها، طبقات کارخانه‌ها بر عهده می‌گیرند. و سایر فضاهای کاریهوش مصنوعی در بانکداری بانک ها با موفقیت از چت بات ها استفاده می کنند تا مشتریان خود را از خدمات و پیشنهادات آگاه کنند و تراکنش هایی را انجام دهند که نیازی به دخالت انسانی ندارند. دستیارهای مجازی هوش مصنوعی برای بهبود و کاهش هزینه های انطباق با مقررات بانکی استفاده می شود. سازمان‌های بانکی همچنین از هوش مصنوعی برای بهبود تصمیم‌گیری برای وام‌ها و تعیین محدودیت‌های اعتباری و شناسایی فرصت‌های سرمایه‌گذاری استفاده می‌کنند.هوش مصنوعی در حمل و نقل علاوه بر نقش اساسی هوش مصنوعی در به کار انداختن وسایل نقلیه خودران، فناوری‌های هوش مصنوعی در حمل‌ونقل برای مدیریت ترافیک، پیش‌بینی تاخیرهای پرواز و ایمن‌تر و کارآمدتر کردن کشتی‌های اقیانوسی استفاده می‌شوند.امنیت. هوش مصنوعی و یادگیری ماشین در صدر فهرست کلیدواژه‌هایی هستند که امروزه فروشندگان امنیتی برای متمایز کردن پیشنهادات خود از آن استفاده می‌کنند. این اصطلاحات همچنین نشان دهنده فناوری های واقعاً قابل دوام هستند. سازمان‌ها از یادگیری ماشین در نرم‌افزار مدیریت رویداد و اطلاعات امنیتی ( SIEM ) و حوزه‌های مرتبط برای شناسایی ناهنجاری‌ها و شناسایی فعالیت‌های مشکوک که نشان‌دهنده تهدید هستند، استفاده می‌کنند. با تجزیه و تحلیل داده‌ها و استفاده از منطق برای شناسایی شباهت‌ها به کدهای مخرب شناخته شده، هوش مصنوعی می‌تواند هشدار حملات جدید و در حال ظهور را خیلی زودتر از کارکنان انسانی و تکرارهای فناوری قبلی ارائه دهد. فناوری در حال رشد نقش بزرگی در کمک به سازمان‌ها برای مقابله با حملات سایبری ایفا می‌کند.هوش افزوده در مقابل هوش مصنوعیبرخی از کارشناسان صنعت بر این باورند که اصطلاح هوش مصنوعی بسیار با فرهنگ عامه مرتبط است و این باعث شده است که عموم مردم انتظارات غیرمحتملی در مورد اینکه چگونه هوش مصنوعی محیط کار و زندگی را به طور کلی تغییر خواهد داد، داشته باشد.هوش افزوده برخی از محققان و بازاریابان امیدوارند که برچسب هوش افزوده ، که مفهومی خنثی‌تری دارد، به مردم کمک کند تا درک کنند که بیشتر پیاده‌سازی‌های هوش مصنوعی ضعیف هستند و به سادگی محصولات و خدمات را بهبود می‌بخشند. به عنوان مثال می توان به نمایش خودکار اطلاعات مهم در گزارش های هوش تجاری یا برجسته کردن اطلاعات مهم در پرونده های حقوقی اشاره کرد.هوش مصنوعی واقعی، یا هوش عمومی مصنوعی، ارتباط نزدیکی با مفهوم تکینگی تکنولوژیکی دارد - آینده ای که توسط یک ابر هوش مصنوعی اداره می شود که بسیار فراتر از توانایی مغز انسان برای درک آن یا نحوه شکل دادن به واقعیت ما است. این در قلمرو داستان های علمی تخیلی باقی می ماند، اگرچه برخی از توسعه دهندگان در حال کار بر روی این مشکل هستند. بسیاری بر این باورند که فناوری هایی مانند محاسبات کوانتومی می توانند نقش مهمی در تحقق AGI ایفا کنند و ما باید استفاده از اصطلاح هوش مصنوعی را برای این نوع هوش عمومی محفوظ نگه داریم.استفاده اخلاقی از هوش مصنوعیدر حالی که ابزارهای هوش مصنوعی طیف وسیعی از عملکردهای جدید را برای مشاغل ارائه می دهند، استفاده از هوش مصنوعی سوالات اخلاقی را نیز مطرح می کند زیرا، خوب یا بد، یک سیستم هوش مصنوعی آنچه را قبلاً آموخته است، تقویت می کند.این می‌تواند مشکل‌ساز باشد زیرا الگوریتم‌های یادگیری ماشین، که زیربنای بسیاری از پیشرفته‌ترین ابزارهای هوش مصنوعی هستند، به اندازه داده‌هایی که در آموزش داده می‌شوند هوشمند هستند. از آنجایی که یک انسان انتخاب می کند که چه داده هایی برای آموزش یک برنامه هوش مصنوعی استفاده شود، پتانسیل سوگیری یادگیری ماشینی ذاتی است و باید به دقت نظارت شود.هرکسی که به دنبال استفاده از یادگیری ماشینی به عنوان بخشی از سیستم‌های واقعی و در حال تولید است، باید اخلاق را در فرآیندهای آموزشی هوش مصنوعی خود لحاظ کند و سعی کند از سوگیری جلوگیری کند. این امر به ویژه در هنگام استفاده از الگوریتم‌های هوش مصنوعی که ذاتاً در برنامه‌های یادگیری عمیق و شبکه‌های متخاصم تولیدی ( GAN ) غیرقابل توضیح هستند، صادق است.محاسبات شناختی و هوش مصنوعیاصطلاحات هوش مصنوعی و محاسبات شناختی گاهی به جای یکدیگر استفاده می شوند، اما، به طور کلی، برچسب هوش مصنوعی در اشاره به ماشین هایی استفاده می شود که با شبیه سازی نحوه حس، یادگیری، پردازش و واکنش ما به اطلاعات در محیط، جایگزین هوش انسانی می شوند.برچسب محاسبات شناختی برای اشاره به محصولات و خدماتی که فرآیندهای فکری انسان را تقلید و تقویت می کنند، استفاده می شود.تاریخچه هوش مصنوعی چیست؟ -  مهدی مشایخی
تاریخچه هوش مصنوعی چیست؟مفهوم اشیای بی جان دارای هوش از زمان های قدیم وجود داشته است. هفائستوس خدای یونانی در اسطوره ها به صورت جعل خدمتکاران روبات مانند از طلا به تصویر کشیده شد. مهندسان در مصر باستان مجسمه های خدایان را که توسط کشیشان متحرک شده بودند ساختند. در طول قرن‌ها، متفکرانی از ارسطو گرفته تا رامون لول، الهی‌دان اسپانیایی قرن سیزدهم تا رنه دکارت و توماس بیز ، از ابزارها و منطق زمان خود برای توصیف فرآیندهای فکری انسان به عنوان نمادها استفاده کردند و پایه و اساس مفاهیم هوش مصنوعی مانند بازنمایی دانش عمومی را پی ریزی کردند.اواخر قرن نوزدهم و نیمه اول قرن بیستم کار اساسی را به وجود آورد که باعث ایجاد رایانه مدرن شد. در سال 1836، چارلز بابیج، ریاضیدان دانشگاه کمبریج و آگوستا آدا بایرون، کنتس لاولیس، اولین طرح را برای یک ماشین قابل برنامه ریزی اختراع کردند.دهه 1940 جان فون نیومن، ریاضیدان پرینستون، معماری کامپیوتر برنامه ذخیره شده را در نظر گرفت - این ایده که برنامه کامپیوتر و داده هایی که پردازش می کند را می توان در حافظه کامپیوتر نگه داشت . و وارن مک کالوچ و والتر پیتس پایه و اساس شبکه های عصبی را بنا نهادند.دهه 1950 با ظهور کامپیوترهای مدرن، دانشمندان توانستند ایده های خود را در مورد هوش ماشینی آزمایش کنند. یک روش برای تعیین اینکه آیا کامپیوتر دارای هوش است یا خیر توسط ریاضیدان بریتانیایی و رمز شکن جنگ جهانی دوم، آلن تورینگ ابداع شد. آزمون تورینگ بر توانایی رایانه در فریب دادن بازجویان به این باور بود که پاسخ های آن به سؤالات آنها توسط یک انسان ساخته شده است.دهه 1950 و 1960. در پی کنفرانس کالج دارتموث، رهبران حوزه نوپای هوش مصنوعی پیش بینی کردند که هوش مصنوعی معادل مغز انسان در گوشه و کنار است و حمایت عمده دولت و صنعت را به خود جلب می کند. در واقع، نزدیک به 20 سال تحقیقات پایه با بودجه خوب، پیشرفت های قابل توجهی را در هوش مصنوعی ایجاد کرد: برای مثال، در اواخر دهه 1950، نیوول و سایمون الگوریتم حل مسئله عمومی (GPS) را منتشر کردند که در حل مسائل پیچیده کوتاهی می کرد، اما پایه های اولیه را برای آن ایجاد کرد. توسعه معماری های شناختی پیچیده تر؛ مک کارتی Lisp را توسعه داد ، زبانی برای برنامه نویسی هوش مصنوعی که هنوز هم استفاده می شود. در اواسط دهه 1960، پروفسور جوزف وایزنبام MIT، ELIZA، یک برنامه پردازش زبان طبیعی اولیه را توسعه داد که پایه و اساس چت ربات های امروزی را بنا نهاد.دهه 1970 و 1980. به دلیل محدودیت در پردازش و حافظه کامپیوتری و پیچیدگی مشکل، دستیابی به هوش عمومی مصنوعی گریزان بود، نه قریب الوقوع. دولت و شرکت ها از حمایت خود از تحقیقات هوش مصنوعی عقب نشینی کردند، که منجر به یک دوره آیش از سال 1974 تا 1980 شد و به عنوان اولین &quot; زمستان هوش مصنوعی &quot; شناخته شد. در دهه 1980، تحقیق در مورد تکنیک‌های یادگیری عمیق و پذیرش صنعت از سیستم‌های خبره ادوارد فایگنبام، موج جدیدی از شور و شوق هوش مصنوعی را برانگیخت، اما پس از آن، بودجه‌های دولتی و حمایت‌های صنعتی از بین رفت. دومین زمستان هوش مصنوعی تا اواسط دهه 1990 ادامه داشت.دهه 1990 تا امروز افزایش قدرت محاسباتی و انفجار داده ها جرقه یک رنسانس هوش مصنوعی را در اواخر دهه 1990 زد که تا امروز ادامه داشته است. آخرین تمرکز بر هوش مصنوعی باعث پیشرفت در پردازش زبان طبیعی، بینایی کامپیوتر، روباتیک، یادگیری ماشینی، یادگیری عمیق و موارد دیگر شده است. علاوه بر این، هوش مصنوعی در حال ملموس‌تر شدن است، ماشین‌ها را نیرو می‌دهد، بیماری‌ها را تشخیص می‌دهد و نقش خود را در فرهنگ عامه تقویت می‌کند. در سال 1997، دیپ بلو از IBM، گری کاسپاروف، استاد بزرگ شطرنج روسی را شکست داد و به اولین برنامه کامپیوتری تبدیل شد که یک قهرمان شطرنج جهان را شکست داد. چهارده سال بعد، واتسون IBMهنگامی که دو قهرمان سابق را در نمایش بازی Jeopardy شکست داد، مردم را مجذوب خود کرد. اخیراً، شکست تاریخی لی سدول قهرمان 18 بار World Go توسط AlphaGo گوگل دیپ مایند، جامعه Go را متحیر کرد و نقطه عطفی بزرگ در توسعه ماشین‌های هوشمند رقم زد.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.techtarget.com/searchenterpriseai/definition/AI-Artificial-Intelligence</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sat, 19 Nov 2022 16:42:09 +0330</pubDate>
            </item>
                    <item>
                <title>ماشین لرنینگ چیست؟ - Machine Learning - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/what-is-machine-learning-kdnz0muabdg5</link>
                <description>ماشین لرنینگ چیست؟ - Machine Learning - مهدی مشایخییادگیری ماشینی چیست؟یادگیری ماشینی (ML) نوعی هوش مصنوعی ( AI ) است که به برنامه‌های نرم‌افزاری اجازه می‌دهد تا در پیش‌بینی نتایج دقیق‌تر شوند، بدون اینکه به صراحت برای این کار برنامه‌ریزی شده باشند. الگوریتم های یادگیری ماشین از داده های تاریخی به عنوان ورودی برای پیش بینی مقادیر خروجی جدید استفاده می کنند.موتورهای توصیه  یک مورد رایج برای یادگیری ماشین هستند. سایر کاربردهای محبوب عبارتند از: تشخیص تقلب، فیلتر کردن هرزنامه، شناسایی تهدید بدافزار، اتوماسیون فرآیند کسب و کار (BPA) و نگهداری پیش بینی.چرا یادگیری ماشین مهم است؟یادگیری ماشینی مهم است زیرا به شرکت ها دیدی از روند رفتار مشتری و الگوهای عملیاتی تجاری می دهد و همچنین از توسعه محصولات جدید پشتیبانی می کند. بسیاری از شرکت‌های پیشرو امروزی، مانند فیس‌بوک، گوگل و اوبر، یادگیری ماشینی را به بخش مرکزی عملیات خود تبدیل می‌کنند. یادگیری ماشین برای بسیاری از شرکت ها به یک تمایز رقابتی مهم تبدیل شده است.انواع مختلف یادگیری ماشینی چیست؟ - مهدی مشایخیانواع مختلف یادگیری ماشینی چیست؟یادگیری ماشینی کلاسیک اغلب بر اساس نحوه یادگیری الگوریتم در پیش‌بینی دقیق‌تر طبقه‌بندی می‌شود. چهار رویکرد اساسی وجود دارد: یادگیری تحت نظارت ، یادگیری بدون نظارت ، یادگیری نیمه نظارتی و یادگیری تقویتی. نوع الگوریتمی که دانشمندان داده‌های الگوریتمی برای استفاده انتخاب می‌کنند بستگی به نوع داده‌هایی دارد که می‌خواهند پیش‌بینی کنند.یادگیری نظارت شده: در این نوع یادگیری ماشینی، دانشمندان داده الگوریتم‌هایی را با داده‌های آموزشی برچسب‌گذاری شده ارائه می‌کنند و متغیرهایی را که می‌خواهند الگوریتم برای همبستگی ارزیابی کند، تعریف می‌کنند. هم ورودی و هم خروجی الگوریتم مشخص شده است.یادگیری بدون نظارت: این نوع یادگیری ماشینی شامل الگوریتم هایی است که روی داده های بدون برچسب آموزش می بینند. الگوریتم از طریق مجموعه داده ها به دنبال هر گونه ارتباط معنی دار اسکن می کند. داده‌هایی که الگوریتم‌ها روی آن‌ها آموزش می‌دهند و همچنین پیش‌بینی‌ها یا توصیه‌هایی که آنها تولید می‌کنند، از پیش تعیین شده‌اند.یادگیری نیمه نظارت شده: این رویکرد برای یادگیری ماشینی شامل ترکیبی از دو نوع قبلی است. دانشمندان داده ممکن است الگوریتمی را با برچسب داده های آموزشی تغذیه کنند ، اما این مدل آزاد است که داده ها را به تنهایی کشف کند و درک خود را از مجموعه داده توسعه دهد.یادگیری تقویتی: دانشمندان داده معمولاً از یادگیری تقویتی برای آموزش به ماشین برای تکمیل یک فرآیند چند مرحله ای استفاده می کنند که قوانین مشخصی برای آن وجود دارد. دانشمندان داده الگوریتمی را برای تکمیل یک کار برنامه‌ریزی می‌کنند و به آن نشانه‌های مثبت یا منفی می‌دهند که چگونه کار را کامل کند. اما در بیشتر موارد، الگوریتم به تنهایی تصمیم می گیرد که چه مراحلی را در طول مسیر بردارد.یادگیری ماشین نظارت شده چگونه کار می کند؟یادگیری ماشینی نظارت شده به دانشمند داده نیاز دارد که الگوریتم را با ورودی های برچسب دار و خروجی های دلخواه آموزش دهد. الگوریتم های یادگیری نظارت شده برای کارهای زیر خوب هستند:طبقه بندی باینری: تقسیم داده ها به دو دسته.طبقه بندی چند کلاسه: انتخاب بین بیش از دو نوع پاسخ.مدل سازی رگرسیون: پیش بینی مقادیر پیوسته.روش Ensembling: ترکیب پیش‌بینی‌های چندین مدل یادگیری ماشین برای تولید یک پیش‌بینی دقیق.یادگیری ماشین بدون نظارت چگونه کار می کند؟الگوریتم های یادگیری ماشینی بدون نظارت نیازی به برچسب گذاری داده ها ندارند. آنها داده های بدون برچسب را غربال می کنند تا به دنبال الگوهایی باشند که می توانند برای گروه بندی نقاط داده در زیر مجموعه ها استفاده شوند. اکثر انواع یادگیری عمیق، از جمله شبکه های عصبی ، الگوریتم های بدون نظارت هستند. الگوریتم های یادگیری بدون نظارت برای کارهای زیر خوب هستند:خوشه بندی: تقسیم مجموعه داده ها به گروه ها بر اساس شباهت.تشخیص ناهنجاری: شناسایی نقاط داده غیرعادی در یک مجموعه داده.ارتباط کاوی: شناسایی مجموعه ای از آیتم ها در یک مجموعه داده که اغلب با هم اتفاق می افتد.کاهش ابعاد: کاهش تعداد متغیرها در یک مجموعه داده.یادگیری نیمه نظارتی چگونه کار می کند؟یادگیری نیمه نظارت شده توسط دانشمندان داده کار می کند که مقدار کمی از داده های آموزشی برچسب گذاری شده را به یک الگوریتم تغذیه می کنند. از این طریق، الگوریتم ابعاد مجموعه داده‌ها را می‌آموزد که سپس می‌تواند آن‌ها را روی داده‌های جدید و بدون برچسب اعمال کند. عملکرد الگوریتم‌ها معمولاً زمانی بهبود می‌یابد که روی مجموعه داده‌های برچسب‌گذاری شده آموزش ببینند. اما برچسب زدن داده ها می تواند زمان بر و پرهزینه باشد. یادگیری نیمه نظارتی بین عملکرد یادگیری تحت نظارت و کارایی یادگیری بدون نظارت فاصله می گیرد. برخی از زمینه هایی که در آن از یادگیری نیمه نظارتی استفاده می شود عبارتند از:ترجمه ماشینی: آموزش الگوریتم ها برای ترجمه زبان بر اساس کمتر از یک فرهنگ لغت کامل از کلمات.تشخیص تقلب: شناسایی موارد تقلب زمانی که فقط چند نمونه مثبت داشته باشید.برچسب‌گذاری داده‌ها: الگوریتم‌هایی که روی مجموعه‌های داده کوچک آموزش داده شده‌اند، می‌توانند یاد بگیرند که برچسب‌های داده را به طور خودکار به مجموعه‌های بزرگ‌تر اعمال کنند.یادگیری تقویتی چگونه کار می کند؟یادگیری تقویتی با برنامه ریزی یک الگوریتم با یک هدف مشخص و مجموعه ای از قوانین تجویز شده برای دستیابی به آن هدف کار می کند. دانشمندان داده همچنین الگوریتم را طوری برنامه‌ریزی می‌کنند که به دنبال پاداش‌های مثبت باشد - که وقتی عملی را دریافت می‌کند که برای رسیدن به هدف نهایی مفید است - و از مجازات‌ها اجتناب می‌کند - که وقتی عملی را انجام می‌دهد که آن را از هدف نهایی دورتر می‌کند دریافت می‌کند. هدف. یادگیری تقویتی اغلب در زمینه هایی مانند:رباتیک: ربات ها می توانند با استفاده از این تکنیک انجام وظایف دنیای فیزیکی را بیاموزند.گیم پلی ویدیویی: از یادگیری تقویتی برای آموزش ربات ها برای انجام تعدادی بازی ویدیویی استفاده شده است.مدیریت منابع: با توجه به منابع محدود و یک هدف تعریف شده، یادگیری تقویتی می تواند به شرکت ها در برنامه ریزی نحوه تخصیص منابع کمک کند. چه کسانی از یادگیری ماشینی استفاده می کنند و برای چه مواردی استفاده می شود؟ - مهدی مشایخیچه کسانی از یادگیری ماشینی استفاده می کنند و برای چه مواردی استفاده می شود؟امروزه یادگیری ماشین در طیف وسیعی از کاربردها استفاده می شود. شاید یکی از معروف‌ترین نمونه‌های یادگیری ماشینی در عمل، موتور توصیه‌ای باشد که فید خبری فیسبوک را تامین می‌کند.فیس بوک از یادگیری ماشینی برای شخصی سازی نحوه ارائه فید هر عضو استفاده می کند. اگر عضوی مکرراً برای خواندن پست‌های یک گروه خاص توقف کند، موتور توصیه شروع به نمایش بیشتر فعالیت آن گروه در فید می‌کند.در پشت صحنه، موتور در حال تلاش برای تقویت الگوهای شناخته شده در رفتار آنلاین اعضا است. اگر عضو الگوهای خود را تغییر دهد و نتواند پست‌های آن گروه را در هفته‌های آینده بخواند، فید اخبار مطابق با آن تنظیم می‌شود.علاوه بر موتورهای توصیه، کاربردهای دیگری برای یادگیری ماشینی شامل موارد زیر است:مدیریت ارتباط با مشتری. نرم‌افزار CRM می‌تواند از مدل‌های یادگیری ماشین برای تجزیه و تحلیل ایمیل استفاده کند و اعضای تیم فروش را ترغیب کند که ابتدا به مهم‌ترین پیام‌ها پاسخ دهند. سیستم های پیشرفته تر حتی می توانند پاسخ های بالقوه موثر را توصیه کنند.هوش تجاری. فروشندگان BI و تجزیه و تحلیل از یادگیری ماشین در نرم افزار خود برای شناسایی نقاط داده بالقوه مهم، الگوهای نقاط داده و ناهنجاری ها استفاده می کنند.سیستم های اطلاعات منابع انسانی سیستم‌های HRIS می‌توانند از مدل‌های یادگیری ماشین برای فیلتر کردن برنامه‌ها و شناسایی بهترین نامزدها برای یک موقعیت باز استفاده کنند.ماشین های خودران. الگوریتم‌های یادگیری ماشینی حتی می‌توانند این امکان را برای یک خودروی نیمه‌خودران فراهم کنند که یک شی نیمه قابل مشاهده را تشخیص دهد و به راننده هشدار دهد.دستیاران مجازی دستیارهای هوشمند معمولاً مدل‌های یادگیری ماشینی تحت نظارت و بدون نظارت را برای تفسیر گفتار طبیعی و زمینه عرضه ترکیب می‌کنند.مزایا و معایب یادگیری ماشینی چیست؟ - مهدی مشایخی
مزایا و معایب یادگیری ماشینی چیست؟یادگیری ماشینی موارد استفاده از پیش بینی رفتار مشتری تا تشکیل سیستم عامل برای خودروهای خودران را مشاهده کرده است.وقتی صحبت از مزایا می شود، یادگیری ماشینی می تواند به شرکت ها کمک کند تا مشتریان خود را در سطح عمیق تری درک کنند. با جمع‌آوری داده‌های مشتری و ارتباط آن با رفتارها در طول زمان، الگوریتم‌های یادگیری ماشینی می‌توانند تداعی‌ها را بیاموزند و به تیم‌ها کمک کنند تا ابتکارات توسعه محصول و بازاریابی را مطابق با تقاضای مشتری تنظیم کنند.برخی از شرکت ها از یادگیری ماشینی به عنوان محرک اصلی در مدل های تجاری خود استفاده می کنند. برای مثال، اوبر از الگوریتم‌هایی برای تطبیق رانندگان با سواران استفاده می‌کند. گوگل از یادگیری ماشینی برای نمایش تبلیغات سواری در جستجوها استفاده می کند.اما یادگیری ماشین با معایبی همراه است. اول از همه، ممکن است گران باشد. پروژه های یادگیری ماشینی معمولاً توسط دانشمندان داده هدایت می شوند که حقوق بالایی دارند. این پروژه ها همچنین به زیرساخت نرم افزاری نیاز دارند که می تواند گران باشد.همچنین مشکل سوگیری یادگیری ماشینی وجود دارد. الگوریتم‌های آموزش داده شده بر روی مجموعه‌های داده‌ای که جمعیت‌های خاصی را حذف می‌کنند یا حاوی خطا هستند، می‌توانند به مدل‌های نادرستی از جهان منجر شوند که در بهترین حالت، شکست می‌خورند و در بدترین حالت، تبعیض‌آمیز هستند. هنگامی که یک شرکت فرآیندهای اصلی کسب و کار را بر اساس مدل‌های مغرضانه قرار می‌دهد، ممکن است با آسیب‌های قانونی و اعتباری مواجه شود.نحوه انتخاب مدل یادگیری ماشین مناسبفرآیند انتخاب مدل یادگیری ماشینی مناسب برای حل یک مشکل، اگر به صورت استراتژیک مورد توجه قرار نگیرد، می تواند زمان بر باشد.مرحله 1: مشکل را با ورودی های داده بالقوه ای که باید برای راه حل در نظر گرفته شوند، تراز کنید. این مرحله به کمک دانشمندان داده و کارشناسانی نیاز دارد که درک عمیقی از مشکل دارند.مرحله 2: داده ها را جمع آوری کنید، قالب بندی کنید و در صورت لزوم داده ها را برچسب گذاری کنید. این مرحله معمولاً توسط دانشمندان داده و با کمک مخاصمه دهندگان داده هدایت می شود.مرحله 3: الگوریتم(های) مورد استفاده را انتخاب کنید و آزمایش کنید تا ببینید چقدر خوب عمل می کنند. این مرحله معمولاً توسط دانشمندان داده انجام می شود.مرحله 4: به تنظیم دقیق خروجی ها تا رسیدن به سطح قابل قبولی از دقت ادامه دهید. این مرحله معمولاً توسط دانشمندان داده با بازخورد کارشناسانی که درک عمیقی از مشکل دارند انجام می شود.اهمیت یادگیری ماشینی قابل تفسیر توسط انسانتوضیح اینکه چگونه یک مدل ML خاص کار می کند، زمانی که مدل پیچیده است، می تواند چالش برانگیز باشد. برخی از صنایع عمودی وجود دارد که دانشمندان داده باید از مدل‌های یادگیری ماشینی ساده استفاده کنند، زیرا برای کسب‌وکار مهم است که توضیح دهد هر تصمیمی چگونه گرفته شده است. این امر به‌ویژه در صنایعی که بار انطباق سنگینی دارند مانند بانکداری و بیمه صادق است.مدل‌های پیچیده می‌توانند پیش‌بینی‌های دقیقی ایجاد کنند، اما توضیح دادن به یک فرد غیرمتخصص چگونه یک خروجی را تعیین می‌کند می‌تواند دشوار باشد. آینده یادگیری ماشین چیست؟ - مهدی مشایخیآینده یادگیری ماشین چیست؟در حالی که الگوریتم‌های یادگیری ماشین برای دهه‌ها وجود داشته‌اند، اما با توجه به رشد هوش مصنوعی به محبوبیت جدیدی دست یافته‌اند. به ویژه مدل های یادگیری عمیق، پیشرفته ترین برنامه های کاربردی هوش مصنوعی امروزی را تقویت می کنند.پلتفرم‌های یادگیری ماشینی از رقابت‌پذیرترین حوزه‌های فناوری سازمانی هستند، با اکثر فروشندگان عمده، از جمله آمازون، گوگل، مایکروسافت، IBM و دیگران، برای ثبت نام مشتریان برای خدمات پلتفرمی که طیفی از فعالیت‌های یادگیری ماشین را پوشش می‌دهند، از جمله جمع‌آوری داده‌ها، آماده‌سازی داده‌ها رقابت می‌کنند. ، طبقه بندی داده ها، ساخت مدل، آموزش و استقرار برنامه.با افزایش اهمیت یادگیری ماشینی برای عملیات تجاری و کاربردی تر شدن هوش مصنوعی در تنظیمات سازمانی، جنگ پلت فرم یادگیری ماشین تشدید می شود.تحقیقات مداوم در زمینه یادگیری عمیق و هوش مصنوعی به طور فزاینده ای بر توسعه برنامه های کاربردی عمومی تر متمرکز شده است. مدل‌های هوش مصنوعی امروزی به آموزش گسترده نیاز دارند تا الگوریتمی تولید کنند که برای انجام یک کار بسیار بهینه شده باشد. اما برخی از محققان در حال بررسی راه‌هایی برای انعطاف‌پذیرتر کردن مدل‌ها هستند و به دنبال تکنیک‌هایی هستند که به ماشین اجازه می‌دهد تا زمینه‌های آموخته‌شده از یک کار را به وظایف مختلف آینده اعمال کند.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.techtarget.com/searchenterpriseai/definition/machine-learning-ML</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Wed, 16 Nov 2022 23:17:35 +0330</pubDate>
            </item>
                    <item>
                <title>دیپ لرنینگ چیست؟ - Deep Learning - مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/deep-learning-ksnzhbyz2asc</link>
                <description>دیپ لرنینگ چیست؟ - What is Deep Learning - مهدی مشایخی3 چیز که باید بدانید!یادگیری عمیق یک تکنیک یادگیری ماشینی است که به رایانه‌ها می‌آموزد تا آنچه را که به طور طبیعی برای انسان اتفاق می‌افتد انجام دهند: یادگیری با مثال. یادگیری عمیق یک فناوری کلیدی در پشت خودروهای بدون راننده است که به آنها امکان می دهد علامت توقف را تشخیص دهند یا عابر پیاده را از تیر چراغ برق تشخیص دهند. این کلید کنترل صدا در دستگاه های مصرف کننده مانند تلفن، تبلت، تلویزیون و بلندگوهای هندزفری است. یادگیری عمیق اخیراً توجه زیادی را به خود جلب کرده است و دلیل خوبی هم دارد. دستیابی به نتایجی است که قبلاً ممکن نبود.در یادگیری عمیق، یک مدل کامپیوتری یاد می گیرد که وظایف طبقه‌بندی را مستقیماً از روی تصاویر، متن یا صدا انجام دهد. مدل‌های یادگیری عمیق می‌توانند به دقت پیشرفته‌ای دست یابند، که گاهی اوقات از عملکرد سطح انسانی فراتر می‌رود. مدل‌ها با استفاده از مجموعه بزرگی از داده‌های برچسب‌گذاری شده و معماری‌های شبکه عصبی که حاوی لایه‌های زیادی هستند، آموزش داده می‌شوند.چگونه یادگیری عمیق به چنین نتایج چشمگیری دست می یابد؟در یک کلام دقت. یادگیری عمیق به دقت تشخیص در سطوح بالاتر از همیشه دست می یابد. این به لوازم الکترونیکی مصرفی کمک می کند تا انتظارات کاربر را برآورده کند و برای برنامه های کاربردی حیاتی ایمنی مانند اتومبیل های بدون راننده بسیار مهم است. پیشرفت‌های اخیر در یادگیری عمیق به حدی بهبود یافته است که یادگیری عمیق در برخی از وظایف مانند طبقه‌بندی اشیا در تصاویر از انسان بهتر عمل می‌کند.در حالی که یادگیری عمیق برای اولین بار در دهه 1980 نظریه‌پردازی شد، دو دلیل اصلی وجود دارد که اخیراً مفید بوده است:یادگیری عمیق به مقادیر زیادی از داده های برچسب دار نیاز دارد. به عنوان مثال، توسعه خودروهای بدون راننده به میلیون ها تصویر و هزاران ساعت فیلم نیاز دارد.یادگیری عمیق به قدرت محاسباتی قابل توجهی نیاز دارد. پردازنده‌های گرافیکی با کارایی بالا دارای معماری موازی هستند که برای یادگیری عمیق کارآمد است. هنگامی که با خوشه‌ها یا محاسبات ابری ترکیب می‌شود، تیم‌های توسعه را قادر می‌سازد تا زمان آموزش شبکه یادگیری عمیق را از هفته‌ها به ساعت‌ها یا کمتر کاهش دهند.نمونه هایی از یادگیری عمیق در محل کاربرنامه های کاربردی یادگیری عمیق در صنایع از رانندگی خودکار گرفته تا دستگاه های پزشکی استفاده می شود.رانندگی خودکار: محققان خودرو از یادگیری عمیق برای تشخیص خودکار اشیایی مانند علائم ایست و چراغ راهنمایی استفاده می کنند. علاوه بر این، یادگیری عمیق برای شناسایی عابران پیاده استفاده می شود که به کاهش تصادفات کمک می کند.هوافضا و دفاع: یادگیری عمیق برای شناسایی اشیاء از ماهواره ها که مناطق مورد نظر را تعیین می کنند و شناسایی مناطق امن یا ناامن برای سربازان استفاده می شود.تحقیقات پزشکی: محققان سرطان از یادگیری عمیق برای شناسایی خودکار سلول های سرطانی استفاده می کنند. تیم‌های UCLA یک میکروسکوپ پیشرفته ساختند که مجموعه داده‌های با ابعاد بالا را برای آموزش یک برنامه یادگیری عمیق برای شناسایی دقیق سلول‌های سرطانی به دست می‌دهد.اتوماسیون صنعتی: یادگیری عمیق با تشخیص خودکار زمانی که افراد یا اشیاء در فاصله ای ناایمن از ماشین ها قرار دارند، به بهبود ایمنی کارگران در اطراف ماشین آلات سنگین کمک می کند.الکترونیک: یادگیری عمیق در شنوایی خودکار و ترجمه گفتار استفاده می شود. برای مثال، دستگاه‌های کمکی خانگی که به صدای شما پاسخ می‌دهند و ترجیحات شما را می‌دانند، توسط برنامه‌های یادگیری عمیق پشتیبانی می‌شوند.یادگیری عمیق چگونه کار می کند؟اکثر روش های یادگیری عمیق از معماری شبکه های عصبی استفاده می کنند، به همین دلیل است که مدل های یادگیری عمیق اغلب به عنوان شبکه های عصبی عمیق شناخته می شوند.اصطلاح &quot;عمیق&quot; معمولاً به تعداد لایه های پنهان در شبکه عصبی اشاره دارد. شبکه های عصبی سنتی فقط شامل 2-3 لایه پنهان هستند، در حالی که شبکه های عمیق می توانند تا 150 لایه داشته باشند.مدل‌های یادگیری عمیق با استفاده از مجموعه‌های بزرگی از داده‌های برچسب‌گذاری‌شده و معماری‌های شبکه عصبی که ویژگی‌ها را مستقیماً از داده‌ها بدون نیاز به استخراج دستی ویژگی‌ها یاد می‌گیرند، آموزش داده می‌شوند.شبکه های عصبی، که در لایه های متشکل از مجموعه ای از گره های به هم پیوسته سازماندهی شده اند. شبکه ها می توانند ده ها یا صدها لایه پنهان داشته باشند.یکی از محبوب ترین انواع شبکه های عصبی عمیق به عنوان شبکه های عصبی کانولوشنال (CNN یا ConvNet) شناخته می شود. یک CNN ویژگی های آموخته شده را با داده های ورودی ترکیب می کند و از لایه های کانولوشن دو بعدی استفاده می کند که این معماری را برای پردازش داده های دو بعدی مانند تصاویر مناسب می کند.سی ان ان ها CNN نیاز به استخراج دستی ویژگی را از بین می برند ، بنابراین نیازی به شناسایی ویژگی های مورد استفاده برای طبقه‌بندی تصاویر ندارید. CNN با استخراج مستقیم ویژگی ها از تصاویر کار می کند. ویژگی های مربوط از قبل آموزش دیده نیستند. آنها در حالی یاد می گیرند که شبکه بر روی مجموعه ای از تصاویر آموزش می بیند. این استخراج خودکار ویژگی‌ها، مدل‌های یادگیری عمیق را برای وظایف بینایی کامپیوتری مانند طبقه‌بندی اشیا بسیار دقیق می‌کند.دیپ لرنینگ - شبکه کانولوشن - مهدی مشایخیمثالی از یک شبکه با لایه های کانولوشن زیاد. فیلترها برای هر تصویر آموزشی با رزولوشن های مختلف اعمال می شوند و خروجی هر تصویر پیچیده به عنوان ورودی لایه بعدی عمل می کند.سی ان ان هاCNN یاد می گیرند که ویژگی های مختلف یک تصویر را با استفاده از ده ها یا صدها لایه پنهان شناسایی کنند. هر لایه پنهان پیچیدگی ویژگی های تصویر آموخته شده را افزایش می دهد. برای مثال، اولین لایه پنهان می‌تواند یاد بگیرد که چگونه لبه‌ها را تشخیص دهد، و آخرین لایه یاد می‌گیرد که چگونه اشکال پیچیده‌تر را که به طور خاص به شکل شیئی که ما در تلاش برای تشخیص آن هستیم، تشخیص دهد.تفاوت بین یادگیری ماشینی و یادگیری عمیق چیست؟یادگیری عمیق یک شکل تخصصی از یادگیری ماشینی است. گردش کار یادگیری ماشین با استخراج دستی ویژگی‌های مرتبط از تصاویر شروع می‌شود. سپس از ویژگی ها برای ایجاد مدلی استفاده می شود که اشیاء موجود در تصویر را دسته بندی می کند. با یک گردش کار یادگیری عمیق، ویژگی های مرتبط به طور خودکار از تصاویر استخراج می شوند. علاوه بر این، یادگیری عمیق &quot;یادگیری سرتاسر&quot; را انجام می دهد - جایی که به شبکه داده های خام و وظایفی مانند طبقه‌بندی داده می شود، و یاد می گیرد که چگونه این کار را به طور خودکار انجام دهد.تفاوت کلیدی دیگر، مقیاس الگوریتم های یادگیری عمیق با داده ها است، در حالی که یادگیری کم عمق همگرا می شود. یادگیری کم عمق به روش‌های یادگیری ماشینی اشاره دارد که با اضافه کردن مثال‌ها و داده‌های آموزشی بیشتر به شبکه، در سطح مشخصی از عملکرد بالا می‌روند.یک مزیت کلیدی شبکه های یادگیری عمیق این است که اغلب با افزایش اندازه داده های شما به پیشرفت خود ادامه می دهند.دیپ لرنینگ - مقایسه ماشین با دیپ لرنینگ - مهدی مشایخیمقایسه رویکرد یادگیری ماشین برای دسته بندی وسایل نقلیه (سمت چپ) با یادگیری عمیق (راست).در یادگیری ماشینی، شما به صورت دستی ویژگی ها و یک طبقه‌بندی کننده را برای مرتب‌سازی تصاویر انتخاب می کنید. با یادگیری عمیق، مراحل استخراج ویژگی و مدل سازی به صورت خودکار انجام می شود.انتخاب بین یادگیری ماشینی و یادگیری عمیقیادگیری ماشینی تکنیک‌ها و مدل‌های مختلفی را ارائه می‌دهد که می‌توانید بر اساس برنامه کاربردی، اندازه داده‌هایی که در حال پردازش هستید و نوع مشکلی که می‌خواهید حل کنید، انتخاب کنید. یک برنامه یادگیری عمیق موفق به مقدار بسیار زیادی داده (هزاران تصویر) برای آموزش مدل و همچنین GPU یا واحدهای پردازش گرافیکی نیاز دارد تا داده های شما را سریع پردازش کند.هنگام انتخاب بین یادگیری ماشینی و یادگیری عمیق، در نظر بگیرید که آیا یک GPU با کارایی بالا و داده های برچسب گذاری شده زیادی دارید یا خیر. اگر هیچ یک از این موارد را ندارید، ممکن است به جای یادگیری عمیق از یادگیری ماشینی استفاده کنید. یادگیری عمیق به طور کلی پیچیده‌تر است، بنابراین برای دریافت نتایج قابل اعتماد به حداقل چند هزار تصویر نیاز دارید. داشتن یک GPU با کارایی بالا به این معنی است که مدل زمان کمتری را برای تجزیه و تحلیل تمام آن تصاویر صرف می کند.نحوه ایجاد و آموزش مدل های یادگیری عمیقسه روش رایجی که مردم برای انجام طبقه‌بندی اشیا از یادگیری عمیق استفاده می کنند عبارتند از:آموزش از صفربرای آموزش یک شبکه عمیق از ابتدا، یک مجموعه داده با برچسب بسیار بزرگ جمع‌آوری می کنید و یک معماری شبکه طراحی می کنید که ویژگی ها و مدل ها را یاد می گیرد. این برای برنامه های جدید یا برنامه هایی که تعداد زیادی دسته خروجی دارند خوب است. این یک رویکرد کمتر رایج است زیرا با حجم زیاد داده و سرعت یادگیری، آموزش این شبکه ها معمولا روزها یا هفته ها طول می کشد.آموزش انتقالیاکثر برنامه های کاربردی یادگیری عمیق از رویکرد یادگیری انتقال استفاده می کنند ، فرآیندی که شامل تنظیم دقیق یک مدل از پیش آموزش دیده است. شما با یک شبکه موجود، مانند AlexNet یا GoogLeNet شروع می‌کنید و داده‌های جدیدی حاوی کلاس‌های ناشناخته قبلی را تغذیه می‌کنید. پس از ایجاد برخی تغییرات در شبکه، اکنون می توانید یک کار جدید مانند دسته بندی سگ ها یا گربه ها به جای 1000 شی مختلف را انجام دهید. همچنین این مزیت نیاز به داده های بسیار کمتر (پردازش هزاران تصویر، به جای میلیون ها) را دارد، بنابراین زمان محاسبه به دقیقه یا ساعت کاهش می یابد.یادگیری انتقال نیاز به یک رابط به بخش های داخلی شبکه از قبل موجود دارد، بنابراین می توان آن را با جراحی تغییر داد و برای کار جدید ارتقا داد. MATLAB دارای ابزارها و عملکردهایی است که برای کمک به شما در انجام یادگیری انتقالی طراحی شده است.استخراج ویژگییک رویکرد کمی کمتر رایج و تخصصی تر برای یادگیری عمیق، استفاده از شبکه به عنوان  استخراج کننده ویژگی است. از آنجایی که تمام لایه‌ها وظیفه یادگیری ویژگی‌های خاصی از تصاویر را دارند، می‌توانیم این ویژگی‌ها را در هر زمانی در طول فرآیند آموزش از شبکه خارج کنیم. این ویژگی‌ها سپس می‌توانند به عنوان ورودی یک  مدل یادگیری ماشینی  مانند  ماشین‌های بردار پشتیبان (SVM) استفاده شوند.تسریع مدل‌های یادگیری عمیق با پردازنده‌های گرافیکیآموزش یک مدل یادگیری عمیق می تواند زمان زیادی از روزها تا هفته ها طول بکشد. استفاده از شتاب پردازنده گرافیکی می تواند روند را به میزان قابل توجهی افزایش دهد. استفاده از متلب با یک GPU زمان مورد نیاز برای آموزش شبکه را کاهش می دهد و می تواند زمان آموزش مشکل طبقه‌بندی تصویر را از روز به ساعت کاهش دهد. در آموزش مدل‌های یادگیری عمیق، متلب از GPU (در صورت وجود) استفاده می‌کند بدون اینکه شما را ملزم به درک دقیق نحوه برنامه‌نویسی پردازنده‌های گرافیکی کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.mathworks.com/discovery/deep-learning.html</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Fri, 11 Nov 2022 17:23:11 +0330</pubDate>
            </item>
                    <item>
                <title>آمار و احتمال برای یادگیری ماشینی | مهدی مشایخی</title>
                <link>https://virgool.io/@MahdiMashayekhi/%D8%A2%D9%85%D8%A7%D8%B1-%D9%88-%D8%A7%D8%AD%D8%AA%D9%85%D8%A7%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86%DB%8C-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-et29nzk9pisa</link>
                <description>آمار و احتمال بلوک های سازنده انقلابی ترین فناوری ها در دنیای امروز هستند. از هوش مصنوعی گرفته تا یادگیری ماشینی و بینایی کامپیوتری، آمار و احتمال پایه و اساس اساسی همه این فناوری‌ها را تشکیل می‌دهند. در این مقاله در مورد آمار و احتمال، قصد دارم به شما در درک ریاضیات پشت پیچیده ترین الگوریتم ها و فناوری ها کمک کنم.پیش نیاز :بهتر هست که تا مفاهیم ریاضیات پایه نهم رو حداقل بدونید و بهتر هست که ریاضیات سه سال متوسطه دوم رشته ریاضی فیزیک رو مروری کنید تا در درک مفاهیم و مباحثی که در ادامه به آن ها خواهیم پرداخت مشکلی نداشته باشید.به موضوعات زیر میپردازیم :داده چیست؟دسته بندی داده هاآمار چیست؟اصطلاحات پایه در آمارتکنیک های نمونه برداریانواع آمارآمار توصیفی اقدامات مرکزاقدامات گسترشبه دست آوردن اطلاعات و آنتروپیماتریس سردرگمیاحتمال چیست؟اصطلاحات در احتمالتوزیع احتمالانواع احتمالقضیه بیزآمار استنباطی تخمین نقطه ایتخمین بازه زمانیتخمین سطح اعتمادتست فرضیهداده چیست؟به اطراف خود نگاه کنید، همه جا داده است. هر کلیک روی گوشی شما اطلاعات بیشتری از آنچه می دانید تولید می کند. این داده های تولید شده بینش هایی برای تجزیه و تحلیل ارائه می دهد و به ما کمک می کند تا تصمیمات تجاری بهتری بگیریم. به همین دلیل است که داده ها بسیار مهم هستند.داده ها _ آمار و احتمال _ مهدی مشایخیداده ها را می توان جمع آوری، اندازه گیری و تجزیه و تحلیل کرد. همچنین با استفاده از مدل های آماری و نمودارها قابل تجسم است.دسته بندی داده هاداده ها را می توان به دو زیر دسته تقسیم کرد:داده های کیفیاطلاعات کمیبرای درک دسته های مختلف داده ها به شکل زیر مراجعه کنید:دسته بندی داده ها – آمار و احتمال – مهدی مشایخی داده های کیفی : داده های کیفی با ویژگی ها و توصیف کننده هایی سروکار دارند که به راحتی قابل اندازه گیری نیستند، اما می توان آنها را به صورت ذهنی مشاهده کرد. داده های کیفی به دو نوع داده تقسیم می شوند:داده های اسمی: داده هایی بدون ترتیب ذاتی یا رتبه بندی مانند جنسیت یا نژاد.داده های اسمی – آمار و احتمال – مهدی مشایخی داده های ترتیبی: داده هایی با یک سری اطلاعات مرتب شده، داده های ترتیبی نامیده می شوند.داده های ترتیبی – آمار و احتمال – مهدی مشایخی  داده های کمی : داده های کمی با اعداد و چیزهایی که می توانید به طور عینی اندازه گیری کنید سروکار دارد. این بیشتر به دو قسمت تقسیم می شود:داده گسسته: همچنین به عنوان داده طبقه ای شناخته می شود، می تواند تعداد محدودی از مقادیر ممکن را در خود نگه دارد.مثال: تعداد دانش آموزان یک کلاس.داده های پیوسته: داده هایی که می توانند تعداد نامحدودی از مقادیر ممکن را در خود جای دهند.مثال: وزناز یک شخصبنابراین این دسته بندی های مختلف داده ها بودند. بخش‌های آتی بر مفاهیم پایه آمار تمرکز خواهند کرد، بنابراین دست و پنجه نرم کنید و برای انجام مقداری ریاضی آماده شوید.آمار چیست؟آمار حوزه ای از ریاضیات کاربردی است که با جمع آوری، تجزیه و تحلیل، تفسیر و ارائه داده ها سروکار دارد.آمار چیست - آمار و احتمال - مهدی  مشایخی این حوزه از ریاضیات به درک چگونگی استفاده از داده ها برای حل مسائل پیچیده می پردازد. در اینجا چند نمونه از مشکلاتی که با استفاده از آمار قابل حل هستند آورده شده است:شرکت شما داروی جدیدی ایجاد کرده است که ممکن است سرطان را درمان کند. چگونه آزمایشی را برای تایید اثربخشی دارو انجام می دهید؟شما و یکی از دوستانتان در یک بازی بیسبال هستید، و او به شما شرط می‌بندد که هیچ یک از تیم‌ها در آن بازی به خانه نخواهند رسید. آیا باید شرط بندی را انجام دهید؟آخرین داده های فروش به تازگی منتشر شده است و رئیس شما از شما می خواهد که گزارشی را برای مدیریت در مورد مکان هایی که شرکت می تواند تجارت خود را بهبود بخشد تهیه کنید. به دنبال چه چیزی باید باشید؟به دنبال چه چیزی نباید باشید؟با استفاده از تکنیک های آماری می توان این مسائل را به راحتی حل کرد. در بخش های آینده، خواهیم دید که چگونه می توان این کار را انجام داد.اگر می‌خواهید توضیح عمیق‌تری در مورد آمار و احتمال داشته باشید، می‌توانید این ویدیو را توسط کارشناسان آمار ما مشاهده کنید.اصطلاحات پایه در آمارقبل از اینکه عمیقاً در بخش آمار غوطه ور شوید، مهم است که اصطلاحات اساسی مورد استفاده در آمار را درک کنید. دو اصطلاح مهم در آمار عبارتند از جامعه و نمونه.جمعیت و نمونه – آمار و احتمال – مهدی مشایخی جمعیت: مجموعه یا مجموعه ای از افراد یا اشیاء یا رویدادهایی که خصوصیات آنها مورد تجزیه و تحلیل قرار می گیردنمونه: زیر مجموعه ای از جامعه «نمونه» نامیده می شود. یک نمونه خوب انتخاب شده حاوی بیشتر اطلاعات مربوط به یک جمعیت خاص استپارامتر.اکنون باید از خود بپرسید که چگونه می توان نمونه ای را انتخاب کرد که به بهترین نحو کل جمعیت را نشان دهد.تکنیک های نمونه بردارینمونه گیری یک روش آماری است که به انتخاب مشاهدات فردی در یک جامعه می پردازد. برای استنباط دانش آماری در مورد یک جامعه انجام می شود.سناریویی را در نظر بگیرید که در آن از شما خواسته می شود در مورد عادات غذایی نوجوانان در ایالات متحده نظرسنجی انجام دهید. در حال حاضر بیش از 42 میلیون نوجوان در ایالات متحده وجود دارد و این تعداد با خواندن این مقاله در حال افزایش است. آیا می توان سلامتی هر یک از این 42 میلیون نفر را بررسی کرد؟ معلومه که نه! به همین دلیل از نمونه گیری استفاده می شود. روشی است که در آن نمونه ای از جامعه به منظور استنتاج در مورد کل جامعه مورد مطالعه قرار می گیرد.دو نوع اصلی از تکنیک های نمونه گیری وجود دارد:نمونه گیری احتمالینمونه گیری غیر احتمالیتکنیک های نمونه گیری – آمار و احتمال – مهدی مشایخی در این مقاله، ما فقط بر روی تکنیک‌های نمونه‌گیری احتمالی تمرکز می‌کنیم، زیرا نمونه‌گیری غیراحتمالی در محدوده این مقاله نیست.نمونه گیری احتمالی: این یک روش نمونه گیری است که در آن نمونه هایی از یک جمعیت بزرگ با استفاده از تئوری احتمال انتخاب می شوند. سه نوع نمونه گیری احتمالی وجود دارد:نمونه گیری تصادفی: در این روش هر یک از اعضای جامعه شانس مساوی برای انتخاب در نمونه را دارند.نمونه گیری تصادفی – آمار و احتمال – مهدی مشایخی نمونه گیری سیستماتیک: در نمونه گیری سیستماتیک، هر n رکورد از جامعه به عنوان بخشی از نمونه انتخاب می شود. برای درک بهتر نحوه عملکرد نمونه گیری سیستماتیک به شکل زیر مراجعه کنید.نمونه گیری سیستماتیک – آمار و احتمال – مهدی مشایخی نمونه‌گیری طبقه‌ای: در نمونه‌گیری طبقه‌ای، از یک طبقه برای تشکیل نمونه‌هایی از یک جمعیت بزرگ استفاده می‌شود. یک قشر زیرمجموعه ای از جمعیت است که حداقل یک ویژگی مشترک دارد. پس از این، از روش نمونه گیری تصادفی برای انتخاب تعداد کافی آزمودنی از هر قشر استفاده می شود.نمونه گیری طبقه ای – آمار و احتمال – مهدی مشایخی حالا که می دانید اصول اولیه آمار، بیایید به جلو برویم و انواع مختلف آمار را مورد بحث قرار دهیم.انواع آماردو تا هستندانواع آمار به خوبی تعریف شده:آمار توصیفیآمار استنباطیآمار توصیفیآمار توصیفی روشی است که برای توصیف و درک ویژگی های یک مجموعه داده خاص از طریق ارائه خلاصه های کوتاه در مورد نمونه و اندازه گیری داده ها استفاده می شود.آمار توصیفی عمدتاً بر ویژگی های اصلی داده ها متمرکز است. خلاصه ای گرافیکی از داده ها ارائه می کند.آمار توصیفی – آمار و احتمال – مهدی مشایخی فرض کنید می خواهید تمام تی شرت های همکلاسی خود را هدیه دهید. برای بررسی میانگین سایز پیراهن دانش آموزان در یک کلاس درس، در آمار توصیفی سایز پیراهن تمامی دانش آموزان کلاس را ثبت کرده و سپس به حداکثر، حداقل و متوسط ​​سایز پیراهن کلاس پی می برید.آمار استنباطیآمار استنباطی بر اساس نمونه ای از داده های گرفته شده از جامعه مورد نظر، استنباط و پیش بینی هایی را درباره یک جمعیت انجام می دهد.آمار استنباطی یک مجموعه داده بزرگ را تعمیم می دهد و از احتمال برای نتیجه گیری استفاده می کند. این به ما اجازه می دهد تا پارامترهای داده را بر اساس یک مدل آماری با استفاده از داده های نمونه استنباط کنیم.آمار استنباطی – آمار و احتمال – مهدی مشایخی بنابراین، اگر همین مثال را برای یافتن اندازه پیراهن متوسط ​​دانش‌آموزان در یک کلاس در نظر بگیریم، در آمار استنباطی، یک مجموعه نمونه از کلاس را انتخاب می‌کنید که اساساً چند نفر از کل کلاس هستند. شما قبلاً کلاس را به بزرگ، متوسط ​​و کوچک گروه بندی کرده اید. در این روش، شما اساسا یک مدل آماری می سازید و آن را برای کل جمعیت کلاس گسترش می دهید.بنابراین درک مختصری از آمار توصیفی و استنباطی بود. در بخش های بعدی، نحوه توصیفی و استنباطی را خواهید دیدآمار به طور عمیق کار می کند.درک آمار توصیفیآمار توصیفی به دو دسته تقسیم می شود:اقدامات گرایش مرکزیمعیارهای تغییرپذیری (گسترش)اقدامات مرکزاندازه‌گیری‌های مرکز، معیارهای آماری هستند که خلاصه‌ای از یک مجموعه داده را نشان می‌دهند. سه معیار اصلی مرکز وجود دارد:معیارهای مرکز - آمار و احتمال - مهدی مشایخی میانگین: اندازه گیری میانگین تمام مقادیر یک نمونه میانگین نامیده می شود.میانه: اندازه گیری مقدار مرکزی مجموعه نمونه را میانه می گویند.مود: بیشترین مقدار تکراری در مجموعه نمونه به عنوان Mode شناخته می شود.برای درک بهتر معیارهای گرایش مرکزی، اجازه دهید به یک مثال نگاه کنیم. مجموعه داده خودروهای زیر شامل متغیرهای زیر است:مجموعه داده - آمار و احتمال - مهدی مشایخی ماشین هامسافت پیموده شده در هر گالن (mpg)نوع سیلندر (سیلندر)جابجایی (disp)قدرت اسب (اسب بخار)نسبت واقعی محور (drat)با استفاده از تجزیه و تحلیل توصیفی، می توانید هر یک از متغیرهای مجموعه داده های نمونه را برای میانگین، انحراف معیار، حداقل و حداکثر تجزیه و تحلیل کنید.اگر بخواهیم میانگین یا میانگین اسب بخار خودروها را در بین جمعیت خودروها بدانیم، میانگین تمام مقادیر را بررسی و محاسبه می کنیم. در این حالت، مجموع اسب بخار هر ماشین را تقسیم بر تعداد کل ماشین ها می گیریم:میانگین = (110+110+93+96+90+110+110+110)/8 = 103.625اگر بخواهیم مقدار مرکزی mpg را در بین جمعیت خودروها بدانیم، مقادیر mpg را به ترتیب صعودی یا نزولی مرتب می کنیم و مقدار وسط را انتخاب می کنیم. در این حالت 8 مقدار داریم که یک ورودی زوج است. بنابراین ما باید میانگین دو مقدار میانی را در نظر بگیریم.mpg برای 8 خودرو: 21،21،21.3،22.8،23،23،23،23میانه = (22.8+23)/2 = 22.9اگر بخواهیم متداول ترین نوع سیلندر را در بین جمعیت خودروها بشناسیم، مقداری را که بیشترین تعداد تکرار شده را بررسی می کنیم.در اینجا می بینیم که سیلندرها در دو مقدار 4 و 6 هستند. به مجموعه داده ها نگاهی بیندازید، می بینید که بیشترین مقدار تکراری 6 است. بنابراین 6 حالت ما است.اقدامات گسترشاندازه گیری پراکندگی، که گاهی به آن معیار پراکندگی نیز می گویند، برای توصیف تنوع در یک نمونه یا جمعیت استفاده می شود.معیارهای گسترش - آمار و احتمال - مهدی مشایخی درست مانند اندازه گیری مرکز، ما نیز معیارهای گسترش را داریم که شامل اقدامات زیر است:محدوده: معیاری است که نشان می دهد مقادیر در یک مجموعه داده چقدر از هم جدا هستند. محدوده را می توان به صورت زیر محاسبه کرد:محدوده = حداکثر (?_?) - حداقل (?_?)اینجا،حداکثر(?_?): حداکثر مقدار xحداقل(?_?): حداقل مقدار xربع: ربع ها با تقسیم کردن مجموعه داده ها به یک چهارم، در مورد گسترش یک مجموعه داده به ما می گویند، درست مانند میانه آن را به نصف تقسیم می کند.برای درک بهتر نحوه محاسبه چارک و IQR، اجازه دهید به یک مثال نگاه کنیم.مثال معیارهای گسترش - آمار و احتمال - مهدی مشایخی تصویر بالا نمرات 100 دانش آموز را نشان می دهد که از پایین ترین به بالاترین نمره مرتب شده اند. چارک ها در محدوده های زیر قرار دارند:چارک اول (Q1) بین مشاهده 25 و 26 قرار دارد.چارک دوم (Q2) بین مشاهده 50 و 51 قرار دارد.ربع سوم (Q3) بین مشاهده 75 و 76 قرار دارد.محدوده بین چارکی (IQR): اندازه گیری تغییرپذیری بر اساس تقسیم یک مجموعه داده به چارک است. محدوده بین چارکی برابر است با Q3 منهای Q1، یعنی IQR = Q3 – Q1واریانس: توضیح می دهد که یک متغیر تصادفی چقدر با مقدار مورد انتظارش تفاوت دارد. مستلزم محاسبه مربع انحرافات است. واریانس را می توان با استفاده از فرمول زیر محاسبه کرد:معیارهای واریانس گسترش - آمار و احتمال - مهدی مشایخی x: نقاط داده فردیn: تعداد کل نقاط دادهx̅: میانگین نقاط دادهانحراف تفاوت بین هر عنصر از میانگین است. با استفاده از فرمول زیر قابل محاسبه است:انحراف = (?_? - μ)واریانس جمعیت میانگین انحرافات مجذور است. با استفاده از فرمول زیر قابل محاسبه است:معیارهای واریانس پراکندگی جمعیت - آمار و احتمال - مهدی  مشایخی واریانس نمونه میانگین مجذور اختلافات از میانگین است. با استفاده از فرمول زیر قابل محاسبه است:Measures Of Spread Sample Variance – آمار و احتمال – مهدی  مشایخی  انحراف استاندارد: اندازه گیری پراکندگی مجموعه ای از داده ها از میانگین آن است. با استفاده از فرمول زیر قابل محاسبه است:اندازه گیری انحراف استاندارد گسترش - آمار و احتمال - مهدی مشایخی برای درک بهتر نحوه محاسبه معیارهای گسترش، اجازه دهید به یک مورد استفاده نگاه کنیم.بیان مشکل: دنریس 20 اژدها دارد. آنها دارای اعداد 9، 2، 5، 4، 12، 7، 8، 11، 9، 3، 7، 4، 12، 5، 4، 10، 9، 6، 9، 4 هستند. انحراف معیار را بررسی کنید.بیایید گام به گام راه حل را بررسی کنیم:مرحله 1: میانگین مجموعه نمونه خود را بیابید.میانگین = 9+2+5+4+12+7+8+11+9+3 استسپس میانگین آن اختلافات مجذور را مشخص کنید.+7+4+12+5+4+10+9+6+9+4 / 20μ=7مرحله 2: سپس برای هر عدد، میانگین را کم کرده و حاصل را مربع کنید.(x_i – μ)²(9-7)²= 2²=4(2-7)²= (-5)²=25(5-7)²= (-2)²=4و به همین ترتیب…ما نتایج زیر را دریافت می کنیم:4، 25، 4، 9، 25، 0، 1، 16، 4، 16، 0، 9، 25، 4، 9، 9، 4، 1، 4، 9مرحله 3: سپس میانگین آن اختلافات مجذور را مشخص کنید.4+25+4+9+25+0+1+16+4+16+0+9+25+4+9+9+4+1+4+9 / 20⸫ σ² = 8.9مرحله 4: جذر σ² را بگیرید.σ = 2.983برای درک بهتر معیارهای گسترش و مرکز، اجازه دهید یک دمو کوتاه با استفاده از زبان R اجرا کنیم.آمار توصیفی در Rحالا بیایید جلو برویم و آمار توصیفی را در R پیاده سازی کنیم.در این دمو، نحوه محاسبه میانگین، میانه، حالت، واریانس، انحراف استاندارد و نحوه مطالعه متغیرها با رسم هیستوگرام را خواهیم دید. این یک نسخه نمایشی کاملاً ساده است اما همچنین پایه و اساس هر الگوریتم یادگیری ماشینی را تشکیل می دهد.مرحله 1: داده ها را برای محاسبه وارد کنیدset.seed(1)#Generate random numbers and store it in a variable called data&gt;data = runif(20,1,10)مرحله 2: میانگین را برای داده ها محاسبه کنید#Calculate Mean&gt;mean = mean(data)&gt;print(mean)[1] 5.996504مرحله 3: میانه داده ها را محاسبه کنید#Calculate Median&gt;median = median(data)&gt;print(median)[1] 6.408853مرحله 4: محاسبه حالت برای داده ها#Create a function for calculating Mode&gt;mode &lt;- function(x) { &gt;ux &lt;- unique(x) &gt;ux[which.max(tabulate(match(x, ux)))]}&gt;result &lt;- mode(data) &gt;print(data)[1] 3.389578 4.349115 6.155680 9.173870 2.815137 9.085507 9.502077 6.947180 6.662026[10] 1.556076 2.853771 2.589011 7.183206 4.456933 7.928573 5.479293 7.458567 9.927155[19] 4.420317 7.997007&gt;cat(&quot;mode= {}&quot;, result)mode= {} 3.389578مرحله 5: واریانس و انحراف Std را برای داده ها محاسبه کن#Calculate Variance and std Deviation&gt;variance = var(data)&gt;standardDeviation = sqrt(var(data))&gt;print(standardDeviation)[1] 2.575061مرحله 6: یک هیستوگرام ترسیم کنید#Plot Histogram&gt;hist(data, bins=10, range= c(0,10), edgecolor=&#x27;black&#x27;)هیستوگرام برای نمایش فرکانس نقاط داده استفاده می شود:هیستوگرام - آمار و احتمال - مهدی  مشایخی اکنون که می دانید چگونه اندازه گیری را محاسبه کنیداز گسترش و مرکز، اجازه دهید به چند روش آماری دیگر که می‌توان برای استنباط اهمیت یک مدل آماری استفاده کرد، نگاهی بیندازیم.آنتروپیآنتروپی ناخالصی یا عدم قطعیت موجود در داده ها را اندازه گیری می کند. با استفاده از فرمول زیر قابل اندازه گیری است:آنتروپی - آمار و احتمال - مهدی مشایخی جایی که:S – مجموعه ای از تمام نمونه ها در مجموعه دادهN – تعداد مقادیر کلاس مجزاpi – احتمال رویدادبه دست آوردن اطلاعاتبه دست آوردن اطلاعات (IG) نشان می‌دهد که یک ویژگی/متغیر خاص چه مقدار «اطلاعاتی» در مورد نتیجه نهایی به ما می‌دهد . با استفاده از فرمول زیر قابل اندازه گیری است:به دست آوردن اطلاعات - آمار و احتمال - مهدی مشایخی H(S) – آنتروپی کل مجموعه داده S| Sj | – تعداد نمونه هایی با مقدار j ویژگی A|S| - تعداد کل نمونه ها در مجموعه داده Sv – مجموعه ای از مقادیر متمایز یک ویژگی AH( Sj ) – آنتروپی زیرمجموعه نمونه ها برای ویژگی AH(A, S) - آنتروپی یک ویژگی Aبه دست آوردن اطلاعات و آنتروپی معیارهای آماری مهمی هستند که به ما امکان می دهند اهمیت یک مدل پیش بینی را درک کنیم. برای درک بهتر آنتروپی و IG، اجازه دهید به یک مورد استفاده نگاه کنیم.بیان مسئله: برای پیش بینی اینکه آیا یک مسابقه را می توان با مطالعه شرایط آب و هوایی انجام داد یا خیر.توضیحات مجموعه داده ها: مجموعه داده زیر شامل مشاهداتی در مورد شرایط آب و هوایی در یک دوره زمانی است.متغیرهای پیش بینی کننده عبارتند از:روزچشم اندازآفتابیبادمتغیر هدف، متغیر «Play» است که با استفاده از مجموعه متغیرهای پیش‌بینی‌کننده قابل پیش‌بینی است. مقدار این متغیر تعیین می کند که آیا می توان یک بازی را در یک روز خاص انجام داد یا خیر.برای حل چنین مشکلی می توانیم از درخت تصمیم استفاده کنیم. درختان تصمیم اساساً درختانی معکوس هستند که با تصمیم گیری در هر گره شاخه به ما کمک می کنند تا به نتیجه برسیم.شکل زیر نشان می دهد که از 14 مشاهده، 9 مشاهده منجر به &quot;بله&quot; می شود، به این معنی که از 14 روز، مسابقه می تواند در 9 روز انجام شود. و اگر متوجه شده باشید، تصمیم با انتخاب متغیر Outlook به عنوان گره ریشه (بالاترین گره در درخت تصمیم) گرفته شده است.مورد استفاده - آمار و احتمال - مهدی مشایخی متغیر Outlook دارای 3 مقدار است،آفتابیابریباراناین 3 مقدار به گره های شاخه فوری اختصاص داده شده و برای هر یک از این مقادیر، امکان &#x27;play=yes&#x27; محاسبه می شود. شاخه های «آفتابی» و «باران» خروجی ناخالصی دارند، به این معنی که ترکیبی از «بله» و «نه» وجود دارد. اما اگر متوجه متغیر &#x27;overcast&#x27; شوید، یک زیرمجموعه 100٪ خالص ایجاد می کند. این نشان می‌دهد که متغیر ابری به خروجی معین و معینی منجر می‌شود.این دقیقاً همان چیزی است که از آنتروپی برای اندازه گیری استفاده می شود. ناخالصی یا عدم قطعیت را محاسبه می کند و هر چه عدم قطعیت یا آنتروپی یک متغیر کمتر باشد، آن متغیر مهمتر است.در درخت تصمیم، به گره ریشه بهترین ویژگی اختصاص داده می شود تا درخت تصمیم بتواند دقیق ترین نتیجه را پیش بینی کند. «بهترین ویژگی» اساساً یک متغیر پیش‌بینی‌کننده است که می‌تواند مجموعه داده‌ها را به بهترین شکل تقسیم کند.اکنون سوال بعدی در ذهن شما باید این باشد که &quot;چگونه تصمیم بگیرم که کدام متغیر یا ویژگی داده ها را به بهترین شکل تقسیم می کند؟&quot;خوب، این را می توان با استفاده از Information Gain و Entropy انجام داد.هنگامی که متغیر &quot;چشم انداز&quot; به گره ریشه اختصاص داده می شود، با محاسبه آنتروپی شروع می کنیم. از مجموع 14 مورد داریم:9 مورد &quot;بله&quot;5 مورد &quot;نه&quot;آنتروپی عبارت است از:محاسبه آنتروپی - آمار و احتمال - مهدی مشایخی بنابراین، آنتروپی 0.940 را دریافت می کنیم که نشان دهنده ناخالصی یا عدم قطعیت است.اکنون برای اطمینان از اینکه بهترین متغیر را برای گره ریشه انتخاب می کنیم، اجازه دهید تمام ترکیبات ممکن را بررسی کنیم.تصویر زیر هر متغیر تصمیم و خروجی را نشان می دهد که می توانید با استفاده از آن متغیر در گره ریشه به دست آورید.درختان تصمیم احتمالی - آمار و احتمال - مشایخی گام بعدی ما محاسبه سود اطلاعات برای هر یک از این متغیرهای تصمیم گیری (چشم انداز، باد، رطوبت، دما) است. نکته ای که باید به خاطر داشت این است که متغیری که منجر به بالاترین IG می شود باید انتخاب شود زیرا دقیق ترین خروجی و اطلاعات را به ما می دهد.کسب اطلاعات از ویژگی &quot;باد&quot;درخت تصمیم باد - آمار و احتمال - مهدی مشایخی از مجموع 14 مورد داریم:6 مورد &quot;درست&quot;8 مورد &quot;نادرست&quot;کسب اطلاعات بادی – آمار و احتمال – Edureka اطلاعات به دست آوردن ویژگی &quot;چشم انداز&quot;چشم انداز درخت تصمیم - آمار و احتمال - مهدی مشایخی از مجموع 14 مورد داریم:5 مورد &quot;آفتابی&quot;4 مورد &quot; ابری &quot;5 مورد &quot;بارانی&quot;اطلاعات به دست آوردن ویژگی &quot;رطوبت&quot;رطوبت درخت تصمیم - آمار و احتمال - مهدی مشایخیاز مجموع 14 مورد داریم:7 مورد &quot;بالا&quot;7 مورد &quot;عادی&quot;اطلاعات بدست آوردن رطوبت – آمار و احتمال – مهدی مشایخی اطلاعات به دست آوردن ویژگی &quot;دما&quot;دمای درخت تصمیم - آمار و احتمال - مهدی مشایخی از مجموع 14 مورد داریم:4 مورد &quot;داغ&quot;6 مورد &quot;خفیف&quot;4 مورد &quot;باحال&quot;دمای به دست آوردن اطلاعات - آمار و احتمال - مهدی  مشایخ شکل زیر IG را برای هر ویژگی نشان می دهد. متغیر با بالاترین IG برای تقسیم داده ها در گره ریشه استفاده می شود. متغیر Outlook دارای بالاترین IG است، بنابراین به گره ریشه اختصاص داده می شود.خلاصه به دست آوردن اطلاعات – آمار و احتمال – مهدی مشایخی پس این همه بوددر مورد آنتروپی و به دست آوردن اطلاعات حال بیایید نگاهی به روش آماری مهم دیگری به نام ماتریس سردرگمی بیندازیم.ماتریس سردرگمیماتریس سردرگمی جدولی است که اغلب برای توصیف عملکرد یک مدل طبقه‌بندی (یا «طبقه‌بندی‌کننده») روی مجموعه‌ای از داده‌های آزمایشی که مقادیر واقعی آن‌ها مشخص است، استفاده می‌شود.اساسا، یک ماتریس سردرگمی به شما کمک می کند تا عملکرد یک مدل پیش بینی را ارزیابی کنید. این عمدتا در مسائل طبقه بندی استفاده می شود.ماتریس سردرگمی یک نمایش جدولی از مقادیر واقعی در مقابل پیش بینی شده را نشان می دهد. با استفاده از فرمول زیر می توانید دقت یک مدل را محاسبه کنید:خلاصه به دست آوردن اطلاعات – آمار و احتمال – مهدی مشایخی طبرای درک اینکه چه چیزی True Negative، True Positive و غیره چیست، اجازه دهید یک مثال را در نظر بگیریم.بیایید در نظر بگیریم که اطلاعاتی در مورد 165 بیمار به شما داده شده است که از این تعداد 105 بیمار دارای بیماری هستند و 50 بیمار باقیمانده بیماری ندارند. بنابراین شما یک طبقه بندی می سازید که با استفاده از این 165 مشاهدات پیش بینی می کند. از این 165 مورد، طبقه بندی کننده 110 بار &quot;بله&quot; و 55 بار &quot;نه&quot; را پیش بینی کرد.بنابراین، به منظور ارزیابی کارایی طبقه‌بندی‌کننده، از یک ماتریس سردرگمی استفاده می‌شود:ماتریس سردرگمی - آمار و احتمال - مهدی مشایخی در شکل بالا،&#x27;n&#x27; تعداد کل مشاهدات را نشان می دهدActual نشان دهنده مقادیر واقعی در مجموعه داده استPredicted مقادیر پیش بینی شده توسط طبقه بندی کننده را نشان می دهدماتریس سردرگمی با مقایسه مقادیر واقعی با مقادیر پیش بینی شده، عملکرد طبقه بندی کننده را مطالعه می کند. در زیر برخی از اصطلاحات مربوط به ماتریس سردرگمی آورده شده است:موارد مثبت واقعی (TP): اینها مواردی هستند که در آنها پیش بینی کردیم بله (آنها به این بیماری مبتلا هستند) و آنها نیز این بیماری را دارند.منفی های واقعی (TN): ما پیش بینی کردیم نه، و آنها این بیماری را ندارند.موارد مثبت کاذب (FP): ما پیش بینی کردیم بله، اما آنها در واقع این بیماری را ندارند. (همچنین به عنوان &quot;خطای نوع I&quot; شناخته می شود.)منفی های کاذب (FN): ما پیش بینی کردیم نه،اما آنها در واقع این بیماری را دارند. (همچنین به عنوان &quot;خطای نوع II&quot; شناخته می شود.)بنابراین اینها مفاهیم مهمی بودند که در آمار توصیفی مورد استفاده قرار گرفتند. حالا بیایید همه چیز را در مورد احتمال مطالعه کنیم.احتمالاحتمال __ آمار و احتمال __ مهدیی مشایخیقبل از اینکه بفهمیم احتمال چیست، اجازه دهید یک تصور غلط بسیار رایج را روشن کنم. مردم معمولاً این سؤال را می پرسند:چه رابطه ای بین آمار و احتمال وجود دارد؟احتمال و آمار و رشته های مرتبط. احتمال یک روش ریاضی است که برای تجزیه و تحلیل آماری استفاده می شود. بنابراین مامی توان گفت که احتمال و آمار شاخه های به هم پیوسته ای از ریاضیات هستند که به تجزیه و تحلیل فراوانی نسبی رویدادها می پردازند.حالا بیایید بفهمیم که احتمال چیست.احتمال چیست؟احتمال اندازه گیری میزان احتمال وقوع یک رویداد است. به بیان دقیق تر ، احتمال نسبت نتایج مطلوب به کل نتایج است:(پیامدهای مطلوب) / (نتایج کل)احتمالات همه نتایج همیشه به 1 می رسد. مثال معروف تاس پرتاب را در نظر بگیرید:با انداختن تاس، 6 نتیجه ممکن به دست می آوریدهر احتمال فقط یک نتیجه دارد، بنابراین هر یک احتمال 1/6 داردبه عنوان مثال، احتمال به دست آوردن عدد &quot;2&quot;روی تاس 1/6 استحال بیایید سعی کنیم اصطلاحات رایج مورد استفاده در احتمال را درک کنیم.اصطلاحات در احتمالقبل از اینکه عمیقاً در مفاهیم احتمال غوطه ور شوید، مهم است که اصطلاحات اساسی مورد استفاده در احتمال را درک کنید:آزمایش تصادفی: آزمایش یا فرآیندی که نتیجه آن را نمی توان با قطعیت پیش بینی کرد.فضای نمونه: کل مجموعه ممکن از نتایج یک آزمایش تصادفی، فضای نمونه آن آزمایش است.رویداد: یک یا چند نتیجه از یک آزمایش، رویداد نامیده می شود. زیر مجموعه ای از فضای نمونه است. دو نوع رویداد در احتمال وجود دارد:رویداد Disjoint: رویدادهای Disjoint هیچ نتیجه مشترکی ندارند. به عنوان مثال، یک  کارت منفرد که از یک عرشه گرفته می شود نمی تواند پادشاه و ملکه باشدتوزیع احتمالدر این مقاله ما بر روی سه تابع توزیع احتمال تمرکز خواهیم کرد:تابع چگالی احتمالتوزیع نرمالتئوری حد مرکزیتابع چگالی احتمالتابع چگالی احتمال (PDF) مربوط به احتمال نسبی برای یک متغیر تصادفی پیوسته برای گرفتن مقدار معین است. PDF احتمال متغیری را می دهد که بین محدوده &quot;a&quot; و &quot;b&quot; قرار دارد.نمودار زیر PDF یک متغیر پیوسته را در یک محدوده نشان می دهد. این نمودار معروف به منحنی زنگی است:تابع چگالی احتمال - آمار و احتمال - مهدی مشایخی ویژگی های PDF به شرح زیر است:نمودار یک PDF در یک محدوده پیوسته خواهد بودمساحت محدود شده توسط منحنی تابع چگالی و محور x برابر با 1 استاحتمال اینکه یک متغیر تصادفی مقداری بین a و b فرض کند برابر با مساحت زیر PDF است که با a و b محدود شده است.توزیع نرمالتوزیع نرمال که به عنوان توزیع گاوسی شناخته می شود، توزیع احتمالی است که خاصیت متقارن میانگین را نشان می دهد. ایده پشت این تابع این است که داده های نزدیک به میانگین بیشتر از داده های دور از میانگین رخ می دهد. این استنباط می کند که داده های اطراف میانگین کل مجموعه داده را نشان می دهد.مشابه PDF، توزیع نرمال به صورت یک منحنی زنگ ظاهر می شود:توزیع نرمال - آمار و احتمال - مهدی مشایخی نمودار توزیع نرمال به دو عامل بستگی دارد: میانگین و انحراف استانداردMean: مکان مرکز نمودار را مشخص می کندانحراف استاندارد: ارتفاع نمودار را تعیین می کنداگر انحراف معیار بزرگ باشد، منحنی کوتاه و گسترده است:منحنی انحراف استاندارد - آمار و احتمال - مهدی مشایخی اگر انحراف معیار کوچک باشد، منحنی بلند و باریک است:منحنی انحراف استاندارد - آمار و احتمال - مهدی مشایخی تئوری حد مرکزیقضیه حد مرکزی بیان می‌کند که توزیع نمونه‌گیری میانگین هر متغیر تصادفی مستقل، در صورتی که حجم نمونه به اندازه کافی بزرگ باشد، نرمال یا تقریباً نرمال خواهد بود.به بیان ساده، اگر جمعیت زیادی داشتیم که به نمونه‌ها تقسیم شده بود، میانگین همه نمونه‌های جامعه تقریباً برابر با میانگین کل جامعه خواهد بود. نمودار زیر درک واضح تری از قضیه حد مرکزی را نشان می دهد:قضیه حد مرکزی – آمار و احتمال – مهدی مشایخی دقت یا شباهت توزیع نرمال به دو عامل اصلی بستگی دارد:تعداد امتیازات نمونه گرفته شدهشکل زیرینجمعیتحال بیایید روی سه نوع اصلی احتمال تمرکز کنیم.انواع احتمالاحتمال حاشیه ایاحتمال وقوع یک رویداد (p(A))، بدون شرط هیچ رویداد دیگری. برای مثال، احتمال اینکه یک کارت کشیده شود 3 است (p(3)=1/13).می توان آن را به صورت زیر بیان کرد:احتمال حاشیه ای – آمار و احتمال – مهدی مشایخی احتمال مشترکJoint Probability اندازه گیری دو رویداد در یک زمان است، یعنی p(A و B)، احتمال وقوع رویداد A و رویداد B. احتمال تقاطع دو یا چند رویداد است. احتمال تقاطع A و B را می توان p(A ∩ B) نوشت.به عنوان مثال، احتمال اینکه یک کارت چهار باشد و قرمز =p(چهار و قرمز) = 2/52=1/26 باشد.احتمال شرطیاحتمال وقوع یک رویداد یا نتیجه بر اساس وقوع یک رویداد یا نتیجه قبلی.احتمال وقوع یک رویداد B احتمال وقوع رویداد با توجه به اینکه یک رویداد A قبلاً رخ داده است، است.p(B|A) احتمال وقوع رویداد B است، با توجه به اینکه رویداد A رخ می دهد.اگر A و B رویدادهای وابسته باشند، عبارت احتمال شرطی به صورت زیر داده می شود:P (B|A) = P (A و B) / P (A)اگر A و B رویدادهای مستقل باشند، عبارت احتمال شرطی به صورت زیر داده می شود:P(B|A) = P (B)مثال: با توجه به اینکه شما یک کارت قرمز کشیدید، احتمال اینکه آن چهار باشد چقدر است (p(four|red))=2/26=1/13. بنابراین از 26 کارت قرمز (با یک کارت قرمز)، وجود دارددو چهار هستند پس 2/26=1/13.حالا بیایید به آخرین مبحث تحت احتمال نگاه کنیم.قضیه بیزقضیه بیز برای محاسبه احتمال شرطی استفاده می شود، که چیزی نیست جز احتمال وقوع یک رویداد بر اساس دانش قبلی از شرایطی که ممکن است با رویداد مرتبط باشد.از نظر ریاضی، قضیه بیز به صورت زیر نمایش داده می شود:قضیه بیز - آمار و احتمال - مهدی مشایخی در معادله بالا:P(A|B): احتمال وقوع رویداد A با توجه به رویداد BP(A): احتمال وقوع رویداد AP(B): احتمال وقوع رویداد BP(B|A): احتمال شرطی رویداد B با توجه به رویداد A بهطور رسمی، اصطلاحات قضیه بیزی به شرح زیر است:A به عنوان گزاره شناخته می شود و B مدرکی است کهP(A) نشان دهنده احتمال قبلی گزاره استP(B) نشان دهنده احتمال قبلی شواهدP(A|B) است کهP(B|A) پسین نامیده می شود. بنابراین، قضیهبیز را می توان به صورت زیر خلاصه کرد:پسین=(احتمال).(احتمال پیشین گزاره)/احتمال پیشین ادلهبرای درک بهتر این موضوع، اجازه دهید به یک مثال نگاه کنیم:بیان مشکل: 3 کیسه را در نظر بگیرید. کیسه A شامل 2 توپ سفید و 4 توپ قرمز است. کیسه B شامل 8 توپ سفید و 4 توپ قرمز، کیف C شامل 1 توپ سفید و 3 توپ قرمز است. از هر کیسه 1 توپ می کشیم. اگر بدانیم که در مجموع دقیقاً 2 توپ سفید کشیده ایم، احتمال رسم یک توپ سفید از کیسه A چقدر است؟سولن:اجازه دهید A رویداد برداشتن یک توپ سفید از کیسه A باشد و اجازه دهید X رویداد انتخاب دقیقاً دو توپ سفید باشد.ما Probability(A∣X) را می خواهیم، ​​یعنی احتمال وقوع رویداد A با داده Xبا تعریف احتمال شرطی،ما باید دو احتمال را در سمت راست نماد مساوی پیدا کنیم.ما می توانیم این مشکل را در دو مرحله حل کنیم:مرحله 1: ابتدا Pr(X) را پیدا کنید. این می تواند به سه صورت اتفاق بیفتد:سفید از A، سفید از B، قرمز از Cسفید از A، قرمز از B، سفید از Cقرمز از A، سفید از B، سفید از Cمرحله 2: Pr(A∩X) را پیدا کنید.این مجموع عبارت (i) و (ii) بالا استمن فقط یک طرح برای حل این مشکل ترسیم کردم. این را به عنوان تکلیف در نظر بگیرید و پاسخ خود را در کامنت به ما بگوییدبخش.بخش زیر به مفاهیم آمار استنباطی، که به عنوان استنتاج آماری نیز معروف است، می پردازد. تا اینجا در مورد آمار توصیفی و احتمال بحث کردیم، حالا اجازه دهید به چند موضوع پیشرفته تر نگاه کنیم.استنتاج آماریهمانطور که قبلاً بحث شد، استنتاج آماری شاخه‌ای از آمار است که به شکل‌گیری استنتاج و پیش‌بینی درباره یک جامعه بر اساس نمونه‌ای از داده‌های گرفته‌شده از جامعه مورد نظر می‌پردازد.سوالاکنون باید بپرسید، آیا اینطور استنتاج یا پیش‌بینی روی یک نمونه انجام می‌شود؟ پاسخ از طریق تخمین نقطه است.تخمین نقطه چیست؟تخمین نقطه ای مربوط به استفاده از داده های نمونه برای اندازه گیری یک مقدار است که به عنوان یک مقدار تقریبی یا بهترین تخمین یک پارامتر جمعیت ناشناخته عمل می کند.دو اصطلاح مهم در مورد تخمین نقطه عبارتند از:برآوردگر: تابع f(x) نمونه است که برای یافتن تخمین استفاده می شود.برآورد: ارزش تحقق یافته یک برآوردگر.به عنوان مثال، برای محاسبه میانگین یک جمعیت عظیم، ابتدا نمونه ای از جامعه را ترسیم کرده و میانگین نمونه را پیدا می کنیم. سپس از میانگین نمونه برای تخمین میانگین جامعه استفاده می شود. این اساساً تخمین نقطه ای است.یافتن برآوردها4 تکنیک آماری رایج وجود دارد که برای یافتن ارزش تخمینی مربوط به یک جامعه استفاده می شود:روش لحظه ها: روشی است که برای تخمین پارامترهای جمعیت مانند میانگین جمعیت یا واریانس جمعیت استفاده می شود. به عبارت ساده، این شامل حذف حقایق شناخته شده در مورد جمعیت و گسترش آن ایده ها به یک نمونه است.حداکثر احتمال: این روش از یک مدل و مقادیر موجود در مدل برای به حداکثر رساندن یک تابع درستنمایی استفاده می کند. این منجر به محتمل ترین پارامتر برای ورودی های انتخاب شده می شود.برآوردگرهای بیز: این روش با به حداقل رساندن میانگین ریسک (انتظار متغیرهای تصادفی) کار می کند.بهترین برآوردگرهای بی طرف: در این روش می توان از چندین تخمین زن بی طرف برای تقریب یک پارامتر استفاده کرد (که کدام یک &quot;بهترین&quot; است بستگی به پارامتری دارد که می خواهید پیدا کنید)جدای از این چهار تخمینروش‌ها، روش تخمین دیگری نیز وجود دارد که به نام تخمین فاصله (فاصله اطمینان) شناخته می‌شود.تخمین فاصله چیست؟یک بازه، یا محدوده ای از مقادیر، که برای تخمین پارامتر جمعیت استفاده می شود، به عنوان تخمین فاصله شناخته می شود. تصویر زیر به وضوح نشان می دهد که تخمین فاصله ای در مقابل تخمین نقطه ای چیست. مقدار تخمینی باید بین حد اطمینان پایین و حد اطمینان بالا رخ دهد.تخمین فاصله – آمار و احتمال – مهدی مشایخی به عنوان مثال، اگر من اعلام کردم که 30 دقیقه طول می کشد تا به تئاتر برسم، این تخمین نقطه ای است. با این حال، اگر من اعلام کردم که بین 45 دقیقه تا یک ساعت طول می کشد تا به تئاتر برسم، این یک نمونه از تخمین فاصله است.تخمین فاصله دو اصطلاح مهم آماری را به وجود می آورد: فاصله اطمینان و حاشیه خطا.فاصله اطمینان چیست؟فاصله اطمینان معیار اعتماد شماست که تخمین بازه شامل میانگین جمعیت است، ?.آماردانان از یک فاصله اطمینان برای توصیف میزان عدم قطعیت مرتبط با تخمین نمونه از پارامتر جمعیت استفاده می کنند.از نظر فنی، محدوده ای از مقادیر طوری ساخته شده است که احتمال مشخصی برای گنجاندن مقدار واقعی یک پارامتر در آن وجود دارد.به عنوان مثال، شما از گروهی از صاحبان گربه نظرسنجی می کنید تا ببینید چند قوطی غذای گربه در سال خریداری می کنند. شما آمار خود را در سطح اطمینان 99 درصد آزمایش می کنید و فاصله اطمینان (100200) را بدست می آورید. یعنی فکر می کنید سالانه بین 100 تا 200 قوطی می خرند. و همچنین از آنجایی که سطح اطمینان 99٪ است، نشان می دهد که شما بسیار مطمئن هستید که نتایج درست هستند.حاشیه خطا چیست؟تفاوت بین تخمین نقطه ای و مقدار پارامتر جمعیت واقعی، خطای نمونه گیری نامیده می شود.وقتی ? تخمین زده می شود، خطای نمونه گیری تفاوت ? – ̅x است. از آنجایی که ? معمولا ناشناخته است، حداکثر مقدار خطا را می توان با استفاده از سطح اطمینان محاسبه کرد.حاشیه خطای E، برای یک سطح اطمینان معین، بیشترین فاصله ممکن بین تخمین نقطه و مقدار پارامتری است که تخمین زده است.حاشیه خطا E را می توان با استفاده از فرمول زیر محاسبه کرد:حاشیه خطا - آمار و احتمال - مهدی مشایخی اینجا،Z_c مقدار بحرانی یا فاصله اطمینان را نشان می دهد? نشان دهنده انحراف استاندارد استn نشان دهنده نمونه استاندازهحالا بیایید بفهمیم که چگونه فواصل اطمینان را تخمین بزنیم.تخمین سطح اعتمادسطح اطمینان &#x27;c&#x27;، احتمال این است که تخمین فاصله حاوی پارامتر جمعیت باشد. شکل زیر را در نظر بگیرید:برآورد سطح اعتماد - آمار و احتمال - مهدی مشایخی C ناحیه زیر منحنی نرمال بین مقادیر بحرانی استامتیاز Z مربوطه را می توان با استفاده از جدول نرمال استاندارد محاسبه کردبه عنوان مثال، اگر سطح اطمینان 90٪ باشد، به این معنی است که شما 90٪ مطمئن هستید که فاصله شامل میانگین جمعیت است، ?. 10٪ باقیمانده به طور مساوی (0.05 ) در دو طرف &#x27;c&#x27; توزیع شده است (منطقه ای که شامل پارامتر جمعیت تخمین زده می شود)برآورد سطح اعتماد - آمار و احتمال - مهدی مشایخی طنمرات Z مربوطه مطابق جدول Z 1.645 ± است.ایجاد فاصله اطمینانفاصله اطمینان را می توان با دنبال کردن مراحل زیر ایجاد کرد:شناسایی یک آمار نمونه: آماری را انتخاب کنید که از آن برای تخمین پارامتر جمعیت استفاده کنید (مثلاً میانگین نمونه)انتخاب سطح اطمینان: سطح اطمینان عدم قطعیت یک روش نمونه گیری را توصیف می کند.یافتن حاشیه خطا: بر اساس معادله قبلی که توضیح داده شد ، حاشیه خطا را بیابیدبازه اطمینان را مشخص کنید: فاصله اطمینان را می توان با استفاده از:فاصله اطمینان = آمار نمونه ± حاشیه خطا پیدا کرد.حال بیایید برای درک بهتر این مفاهیم به بیان مسئله نگاه کنیم.بیان مسئله: یک نمونه تصادفی از 32 قیمت کتاب درسی از یک کتابفروشی کالج محلی گرفته شده است. میانگین نمونه 74.22 = ❑ ̅ و انحراف معیار نمونه S = 23.44 است. از سطح اطمینان 95 درصد استفاده کنید و حاشیه خطا را برای میانگین قیمت تمام کتاب های درسی در کتابفروشی بیابید.شما با فرمول می دانید، E = ?_? * (?/√?)E = 1.96 * (23.44/√32) ≈ 8.12بنابراین، ما 95% اطمینان داریم که حاشیه خطای میانگین جمعیت (کلیه کتاب‌های درسی موجود در کتابفروشی) حدود8.12.اکنون که ایده پشت فواصل اطمینان را می‌دانید، بیایید به موضوع بعدی، آزمایش فرضیه، برویم.تست فرضیهآماردانان از آزمون فرضیه استفاده می کنند تا به طور رسمی بررسی کنند که آیا فرضیه پذیرفته شده یا رد شده است. آزمون فرضیه یک تکنیک آماری استنباطی است که برای تعیین اینکه آیا شواهد کافی در نمونه داده‌ها وجود دارد که نشان دهد یک شرط خاص برای کل جامعه صادق است یا خیر، استفاده می‌شود.برای زیر ویژگی های یک جامعه عمومی، یک نمونه تصادفی می گیریم و ویژگی های نمونه را تجزیه و تحلیل می کنیم. ما آزمایش می کنیم که آیا نتیجه شناسایی شده جامعه را به طور دقیق نشان می دهد یا نه و در نهایت نتایج آنها را تفسیر می کنیم. قبول یا نپذیرفتن فرضیه بستگی به درصدی دارد که از فرضیه به دست می آوریم.برای درک بهتر این موضوع، اجازه دهید به یک مثال نگاه کنیم.چهار پسر به نام‌های نیک، جان، باب و هری را در نظر بگیرید که در کلاس‌های تختخواب‌شو دستگیر شدند. از آنها خواسته شد به عنوان تنبیه در مدرسه بمانند و کلاس خود را تمیز کنند.مثال آزمون فرضیه – آمار و احتمال – مهدی  مشایخی بنابراین، جان تصمیم گرفت که هر چهار نفر به نوبت کلاس خود را تمیز کنند. او طرحی در نظر گرفت که نام هر یک از آنها را روی چیت ها بنویسد و آنها را در یک کاسه بگذارد. هر روز باید اسمی را از کاسه می گرفتند و آن شخص باید کلاس را تمیز می کرد.الان سه روزه که اسم همه اومده جز جان! با فرض اینکه این رویداد کاملا تصادفی و بدون سوگیری باشد، احتمال تقلب نکردن جان چقدر است؟بیایید با محاسبه احتمال انتخاب نشدن جان برای یک روز شروع کنیم:P (جان برای یک روز انتخاب نشد) = 3/4 = 75٪احتمال در اینجا 75 درصد است که نسبتاً زیاد است. حال، اگر جان برای سه روز متوالی انتخاب نشود، احتمال به 42 درصد کاهش می یابد.P (جان به مدت 3 روز انتخاب نشد) = 3/4 × 3/4× 3/4 = 0.42 (تقریبا)حال بیایید شرایطی را در نظر بگیریم که جان 12 روز متوالی انتخاب نمی شود! این احتمال به 3.2٪ کاهش می یابد. بنابراین، احتمال تقلب جان نسبتاً زیاد می شود.P (جان به مدت 12 روز انتخاب نشد) = (3/4) ^12 = 0.032 &lt;?.??برای اینکه آماردانان به یک نتیجه برسند، آنچه را که به عنوان مقدار آستانه شناخته می شود، تعریف می کنند. با در نظر گرفتن وضعیت فوق، اگر مقدار آستانه روی 5٪ تنظیم شود، نشان می دهد که اگر احتمال زیر 5٪ باشد، جان در حال فریب دادن راه خروج از بازداشت است. اما اگر احتمال بالاتر از مقدار آستانه باشد، جان فقط خوش شانس است و نام او انتخاب نمی شود.آزمون احتمال و فرضیه دو مفهوم مهم را به وجود می آورد:فرضیه صفر: نتیجه با فرض تفاوتی ندارد.فرضیه جایگزین: نتیجه این فرض را رد می کند.بنابراین، در مثال ما، اگر احتمال وقوع یک رویداد کمتر از 5٪ باشد، آن یک رویداد مغرضانه است، بنابراین فرضیه جایگزین را تأیید می کند.برای درک بهتر تست فرضیه، یک نسخه آزمایشی سریع در بخش زیر اجرا خواهیم کرد.آزمون فرضیه در Rدر اینجا ما از مجموعه داده های gapminder برای انجام آزمایش فرضیه استفاده خواهیم کرد. مجموعه داده‌های گپ مایندر شامل فهرستی از 142 کشور به همراه مقادیر مربوط به امید به زندگی، تولید ناخالص داخلی سرانه و جمعیت، هر پنج سال یکبار، از سال 1952 تا 2007 است.اولین قدم نصب و بارگذاری بسته gapminder در محیط R است:#Install and Load gapminder packageinstall.packages(&quot;gapminder&quot;)library(gapminder)data(&quot;gapminder&quot;)در مرحله بعد، مجموعه داده ها را با استفاده از تابع View() در R نمایش می دهیم:#Display gapminder datasetView(gapminder)در اینجا نگاهی گذرا به مجموعه داده های ما داریم:مجموعه داده ها - آمار و احتمال - مشایخی مرحله بعدی بارگذاری بسته معروف dplyr است که توسط R.#Install and Load dplyr packageinstall.packages(&quot;dplyr&quot;)library(dplyr)گام بعدی ما مقایسه امید به زندگی در دو مکان (ایرلند و آفریقای جنوبی) و انجام آزمون t برای بررسی اینکه آیا این مقایسه از یک فرضیه صفر یا یک فرضیه جایگزین پیروی می کند.#Comparing the variance in life expectancy in South Africa &amp; Irelanddf1 &lt;-gapminder %&gt;%select(country, lifeExp) %&gt;%filter(country == &quot;South Africa&quot; | country ==&quot;Ireland&quot;)بنابراین، پس از اعمال آزمون t بر روی چارچوب داده (df1)، و مقایسه امید به زندگی، می توانید نتایج زیر را مشاهده کنید:#Perform t-testt.test(data = df1, lifeExp ~ country)Welch Two Sample t-testdata: lifeExp by countryt = 10.067, df = 19.109, p-value = 4.466e-09alternative hypothesis: true difference in means is not equal to 095 percent confidence interval:15.07022 22.97794sample estimates:mean in group Ireland mean in group South Africa73.01725 53.99317به میانگین در گروه ایرلند و در آفریقای جنوبی توجه کنید، می توانید ببینید که امید به زندگی تقریباً با مقیاس 20 متفاوت است. اکنون باید بررسی کنیم که آیا این تفاوت در ارزش امید به زندگی در آفریقای جنوبی و ایرلند واقعاً معتبر است و نه فقط از شانس محض به همین دلیل آزمون t انجام می شود.به مقدار p که به آن مقدار احتمال نیز می گویند توجه ویژه ای داشته باشید. P-value یک اندازه گیری بسیار مهم در حصول اطمینان از اهمیت یک مدل است. گفته می شود که یک مدل تنها زمانی از نظر آماری معنادار است که مقدار p کمتر از سطح معناداری آماری از پیش تعیین شده، که در حالت ایده آل 0.05 است، باشد. همانطور که از خروجی می بینید، p-value 4.466e-09 است که مقدار بسیار کمی است.در خلاصه مدل به پارامتر مهم دیگری به نام t-value توجه کنید. یک مقدار t بزرگتر نشان می دهد که فرضیه جایگزین درست است و تفاوت در امید به زندگی با شانس خالص برابر با صفر نیست. بنابراین در مورد ما، فرضیه صفر تایید نمی شود.بنابراین اجرای عملی آزمون فرضیه با استفاده از زبان R بود.با این کار به پایان این مقاله می رسیم. اگر سؤالی در مورد این موضوع دارید، لطفاً در زیر نظر دهید و ما به شما پاسخ خواهیم داد.منتظر مقاله های بیشتر در مورد فناوری های روز باشید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.edureka.co/blog/statistics-and-probability/</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Wed, 26 Oct 2022 12:44:46 +0330</pubDate>
            </item>
                    <item>
                <title>پکیج منیجر pip | مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/%D9%BE%DA%A9%DB%8C%D8%AC-%D9%85%D9%86%DB%8C%D8%AC%D8%B1-pip-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-kxspuqdiuhc7</link>
                <description>پکیج منیچر pip برای پایتون | مهدی مشایخیپیپ یک پکیج منیجر ساده ، قوی و قدرتمنده که به شما در نصب ، حذف و اپدیت کتابخانه های پایتون کمک میکنه. این پکیج منیجر طرفدارهای زیادی داره و زیاد مورد استفاده قرار میگیره و ما قراره توی این آموزش به صورت کامل پیپ pip رو آموزش بدیدم تا برای نصب کتابخانه های مورد نیازتون مشکل نداشته باشید و به راحتی هر کتابخانه ای رو دانلود و نصب کنید.پیپ pip یک پکیج منیجر برای پایتون است. یعنی ابزاری است که به شما امکان می‌دهد کتابخانه‌ها و وابستگی‌هایی را که به عنوان بخشی از کتابخانه استاندارد توزیع نشده‌اند، نصب و مدیریت کنید. نام پیپ توسط ایان بیکینگ در سال 2008 معرفی شدشما در نصب پایتون 3 وقتی در حال نصب هستید باید تیک گزنیه نصب پیپ pip رو بزنید تا براتون به صورت کامل و خودکار نصب بشه.اگر در هنگام نصب پایتون در اولین بار این کار رو نکردید مشکلی نیست ، میتونید فایل نصب پایتون که به این صورت اسم اون هست python-3.10.4.exe رو در محیطی که قبلا دانلود کردید دوباره باز کنید و با صفحه پایین روبرو میشید. فقط کافیه رو Customize installation کلیک کنید و تیک گذینه پیپ pip رو بزنید تا مراحل نصب براتون انجام بشه.توجه: در برخی از سیستم های لینوکس (یونیکس) مانند اوبونتو، pipدر یک بسته جداگانه به نام python3-pipارائه می شود که باید آن را نصب کنید. این دستور رو در محیط ترمینال تایپ کنید و اینتر بزنید.sudo apt install python3-pip به طور پیش فرض با مترجم نصب نمی شود.یا شما میتونید قبل از نصب پیپ pip چک کنید که در سیستم شما موجود هست یا نه. برای اینکار شما در ویندوز یک ترمینال مثل cmd باز کنید و تایپ کنید:where pip3و برای سایر سیستم عامل ها مثل مک و لینوکس : $ which pip3و برای تست نصب بودن پیپ pip  در یک محیط ترمینال مثلا در ویندوز cmd تایپ کنید pip و اگر نتیجه مثل عکس زیر بود یعنی با موفقیت نصب شده و مشکلی ندارد.ممکنه در ویندوز همیچین اروری در هنگام تایپ کرد pip و بعد از زدن دکمه اینتر دریافت کنید :&#x27;pip&#x27; is not recognized as an internal or external command,operable program or batch fileیعنی به درستی نصب نشده و باید مراحل نصب رو دوباره سپری کنید.میتونید از این روش هم برای نصب پیپ pip استفاده کنید :یک محیط ترمینال باز کنید و به مکانی که python نصب شده بریدpython get-pip.pyو به راحتی pip نصب شد ، تبریک میگم!نصب پکیج ها با pipپایتون به عنوان یک زبان شامل باتری در نظر گرفته می شود. این بi معناست که کتابخانه استاندارد پایتون شامل مجموعه گسترده ای از بسته ها و ماژول ها است که به توسعه دهندگان در پروژه های کدنویسی کمک می کند.در حال حاضر ، پایتون یک جامعه فعال دارد که مجموعه گسترده‌تری از کتابخانه ها را ارائه می‌کند که می‌تواند به شما در رفع نیازهای توسعه کمک کند. این کتابخانه ها در فهرست بسته Python منتشر می‌شوند که با نام PyPI (تلفظ Pie Pea Eye) نیز شناخته می‌شود. میزبان PyPI مجموعه گسترده ای از کتابخانه ، از جمله فریم ورک های توسعه، ابزارها و کتابخانه ها است. بسیاری از این بسته ها رابط های دوستانه ای را برای عملکرد کتابخانه استاندارد پایتون فراهم می کنند.برای بررسی وجود python pip دستور زیر را در محیط خط فرمان اجرا کنید. خط فرمان در ویندوز همان cmd یا powershell و در لینوکس همان ترمینال (Terminal) است.pip --versionما در اینجا برای مثال کتابخانه Numpy رو نصب میکنیم تا با روند اینکار آشنا بشید ، نصب سایر کتابخانه های پایتون هم به همین شکل هست با این تفاوت که باید اسم اون کتابخانه مدنظر رو تایپ کنید.در ویندوز یک محیط ترمینال مثل cmd باز کنید و کد زیر رو تایپ و سپس اینتر بزنید:pip install numpyو سپس منتظر دانلود شدن و نصب شدن بمانید ،برای سایر کتابخانه ها هم به همین شکل میتونید اینکار رو انجام بدید به عنوان مثال : pip install pandasو برای حذف یک کتابخانه هم از این روش میتونید استفاده کنید : pip unistall sklearnو برای آپدیت یک بسته یا همون کتابخانه از این دستور میتونید استفاده کنید :pip update scipyگاهی لازم داریم تا یک نسخه خاص غیر از آخرین ورژن پکیج را در پایتون نصب کنیم. برای اینکه مشخص کنیم مثلاً نسخه 2.1.4 از پکیج مورد نظر نصب شود، پس از نام پکیج، با آوردن == نسخه مورد نظر را می‌نویسیم.pip install numpy==2.4.6خلاصه :تبریک میگم شما تونستید pip رو نصب کنید و پکیج ها لازم رو از طریق روش های بالا نصب کنید یا حذف کنید و سایر کار های مورد نیاز ، پکیج منیجر پیپ pip یکی از بهترین روش ها برای نصب بسته های مورد نیاز شما هست. خوشحال میشیم این مقاله رو لایک کنید و اگه سوالی داشتید میتونید داخل لینکدین از من بپرسید!لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sun, 21 Aug 2022 13:37:51 +0430</pubDate>
            </item>
                    <item>
                <title>آموزش Jupyter Notebook | مهدی مشایخی</title>
                <link>https://virgool.io/Rocket/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-jupyter-notebook-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-sfxl1a1x4ti4</link>
                <description>ژوپیتر | مهدی مشایخینوت بوک ژوپیتر چیست؟ژوپیتر نوت بوک Jupyter Notebook یک ابزار فوق العاده قدرتمند برای توسعه تعاملی و ارائه پروژه های علم داده است. در این مقاله نحوه استفاده از نوت بوک های Jupyter برای پروژه های علم داده ، ماشین لرنینگ و نحوه راه اندازی آن را در کامپیوتر محلی خود به شما آموزش می دهیم.اول : &quot;نوت بوک&quot; چیست؟یک نوت بوک کد و خروجی آن را در یک سند ادغام می کند که تجسم ها، متن روایت، معادلات ریاضی و سایر رسانه های غنی را ترکیب می کند. به عبارت دیگر: این یک سند واحد است که در آن می‌توانید کد را اجرا کنید، خروجی را نمایش دهید و همچنین توضیحات، فرمول‌ها، نمودارها را اضافه کنید و کار خود را شفاف‌تر، قابل فهم‌تر، تکرارپذیرتر و قابل اشتراک‌گذاری کنید.استفاده از نوت بوک در حال حاضر بخش عمده ای از گردش کار علم داده در شرکت ها در سراسر جهان است. اگر هدف شما کار با داده است، استفاده از نوت بوک گردش کار شما را سرعت می بخشد و برقراری ارتباط و به اشتراک گذاری نتایج را آسان تر می کند.ژوپیتر نوت بوک یا همون جوپیتر که به دو صورت تلفظ میشه رو میتونید به رایگان به دو صورت استفاده کنید. می توانید نرم افزار  را به تنهایی یا به عنوان بخشی از جعبه ابزار علم داده آناکوندا دانلود کنید.اگر چیزی از آناکوندا نمیدونید میتونید با کلیک روی این بخش اون مقاله رو بخونید و آناکوندا را نصب کنید.اگرچه استفاده از زبان های برنامه نویسی مختلف در نوت بوک های ژوپیتر امکان پذیر است، اما این مقاله بر پایتون تمرکز خواهد کرد، زیرا رایج ترین مورد استفاده است.پیش نیاز قبلی ؟!برای استفاده حداکثری و کامل از این آموزش، باید با برنامه نویسی پایتون به طور نسبی آشنا باشید . قابل ذکره هست، اگر با زبان دیگری تجربه دارید، پایتون در این مقاله نباید خیلی پیچیده باشه و همچنان به شما کمک می کند تا Jupyter Notebooks را به صورت محلی تنظیم (روی کامپیوتر خود) کنید.همانطور که در این آموزش مشخص خواهد شد، نوت بوک های Jupyter همچنین می توانند به عنوان یک پلت فرم انعطاف پذیر برای مقابله با کتابخانه های پایتون و حتی خود پایتون عمل کنند.ما در این آموزش یاد خواهیم گرفت:اصول اولیه نصب Jupyter و ایجاد اولین نوت بوک خودیادگیری عنیق تر ژوپیتر و اصطلاحات اون اشتراک و منتشر کردن ژوپیتر به راحتیاکثر آموزش های برنامه نویس و هوش مصنوعی با ژوپیتر ایجاد و منتشر می شوند پس این آموزش رو دست کم نگیرید!نصب و راه اندازیساده ترین راه برای یک مبتدی برای شروع با نوت بوک های Jupyter، نصب  Anaconda است.آناکوندا Anaconda پرکاربردترین توزیع پایتون برای علم داده است و با همه کتابخانه ها و ابزارهای محبوب از قبل بارگذاری شده است.برخی از بزرگ‌ترین کتابخانه‌های پایتون موجود در آناکوندا شامل NumPy ،  پانداها و  Matplotlib هستند، اگرچه  فهرست کامل این مجموعه بیشتر از 1000 تا هست.برای دریافت آناکوندا، به سادگی:آخرین نسخه Anaconda را برای Python دانلود کنید .آناکوندا را با دنبال کردن دستورالعمل‌های موجود در صفحه دانلود و یا در فایل اجرایی نصب کنید.اگر کاربر پیشرفته‌تری هستید که پایتون قبلاً نصب شده است و ترجیح می‌دهید بسته‌های خود را به صورت دستی مدیریت کنید، فقط می‌توانید از pip استفاده کنید ، این دستوارت رو میتونید داخل محیط CMD تایپ کنید.pip3 install jupyterایجاد اولین نوت بوکدر این بخش، ما می خواهیم یاد بگیریم که نوت بوک ها را اجرا و ذخیره کنیم، با ساختار آنها آشنا شویم و رابط کاربری را درک کنیم. ما با برخی اصطلاحات اصلی آشنا خواهیم شد که شما را به درک عملی از نحوه استفاده از نوت بوک های Jupyter توسط خودتان کمک می کند.اجرای ژوپیتردر ویندوز، می‌توانید Jupyter را از طریق میانبری که Anaconda به منوی استارت اضافه می‌کند یا میتونید آناکوندا رو سرچ کنید و اجرا کنید، که یک برگه جدید در مرورگر وب پیش‌فرض شما باز می‌کند که باید چیزی شبیه به تصویر زیر باشد.این هنوز یک نوت بوک نیست! چیز زیادی وجود ندارد. این داشبورد نوت بوک است که به طور خاص برای مدیریت نوت بوک های Jupyter شما طراحی شده است. آن را به عنوان سکوی راه اندازی برای کاوش، ادیت و ایجاد نوت بوک خود در نظر بگیرید.توجه داشته باشید که داشبورد فقط به فایل‌ها و پوشه‌های فرعی موجود در فهرست راه‌اندازی Jupyter (یعنی جایی که Jupyter یا Anaconda نصب شده است) دسترسی خواهید داشت. با این حال، فهرست راه اندازی را می توان تغییر داد.همچنین می توان این صفحه رو در هر سیستمی از طریق خط فرمان (یا ترمینال در سیستم های یونیکس) با وارد کردن دستور راه اندازی کرد jupyter notebook در این حالت، دایرکتوری کاری فعلی، دایرکتوری راه اندازی خواهد بود.با باز کردن Jupyter Notebook در مرورگر خود، ممکن است متوجه شده باشید که URL داشبورد چیزی شبیه به یک وب سایت نیست، اما نشان می دهد که محتوا از  دستگاه محلی شما  ارائه می شود. (رایانه شخصی شما)https://localhost:8888/treeنوت‌بوک‌ها و داشبورد Jupyter برنامه‌های وب هستند، و Jupyter یک سرور محلی Python راه‌اندازی می‌کند تا این برنامه‌ها را به مرورگر وب شما ارائه دهد، که اساساً آن را مستقل از پلتفرم می‌کند و دری را برای اشتراک‌گذاری آسان‌تر در وب باز می‌کند.(اگر هنوز متوجه نشده اید، نگران نباشید نکته مهم فقط این است که اگرچه Jupyter Notebooks در مرورگر شما باز می شود، اما در دستگاه محلی شما میزبانی می شود و اجرا می شود. نوت بوک های شما در واقع در وب نیستند تا زمانی که شما تصمیم بگیرید که آنها را به اشتراک بگذارید.به پوشه ای که می خواهید اولین نوت بوک خود را در آن ایجاد کنید، بروید یا در همان مکانی که هستید ، روی دکمه کشویی «جدید» در بالا سمت راست کلیک کنید و «Python 3» را انتخاب کنید:اولین نوت بوک Jupyter شما در تب جدید باز می شود ، هر نوت بوک از تب مخصوص به خود استفاده می کند و شما میتونید چندین نوت بوک را به طور همزمان باز کنید.اگر به داشبورد برگردید، فایل جدید را خواهید دید Untitled.ipynb و باید مقداری متن سبز رنگ را مشاهده کنید که به شما می گوید نوت بوک شما در حال اجرا است.فایل ipynb چیست؟ هر ipynbفایل یک نوت بوک است، بنابراین هر بار که یک نوت بوک جدید ایجاد می کنید، یک   .ipynbفایل جدید ایجاد می شود.درواقع هر ipynb فایل یک فایل متنی است که محتویات نوت بوک شما را در قالبی به نام  JSON توصیف می کند. هر سلول و محتویات آن، از جمله پیوست‌های تصویری که به رشته‌های متنی تبدیل شده‌اند، همراه با برخی فراداده در آن فهرست شده‌اند .شما می توانید این را خودتان ادیت کنید  با انتخاب «Edit &gt; Edit Notebook Metadata» از نوار منو در نوت بوک. همچنین می‌توانید با انتخاب «ادیت» از کنترل‌های روی داشبورد، محتویات فایل‌های نوت‌بوک خود را مشاهده کنید.با این حال، کلمه کلیدی وجود دارد می تواند. در بیشتر موارد، هیچ دلیلی وجود ندارد که هرگز نیاز به ویرایش متادیتای نوت بوک خود به صورت دستی داشته باشید.رابط نوت بوکاکنون که یک نوت بوک باز در مقابل خود دارید، امیدواریم رابط کاربری آن کاملاً سخت به نظر نرسد. از این گذشته، Jupyter در اصل فقط یک واژه پرداز پیشرفته است.چرا نگاهی به اطراف نمیکنی؟ منوها را بررسی کنید تا احساسی نسبت به آن داشته باشید، به خصوص چند لحظه برای اسکرول کردن لیست دستورات در پالت فرمان، که دکمه کوچکی با نماد صفحه کلید (یا Ctrl + Shift + P) است، وقت بگذارید.دو عبارت نسبتاً برجسته وجود دارد که باید به آنها توجه کنید، که احتمالاً برای شما جدید هستند:  سلول‌ها  و  کرنل ها  کرنل یک &quot;موتور محاسباتی&quot; است که کدهای موجود در یک سند نوت بوک را اجرا می کند.سلول محفظه ای برای متنی است که باید در نوت بوک نمایش داده شود یا کدی که باید توسط هسته نوت بوک اجرا شود.سلول هاسلول ها بدنه یک دفترچه یادداشت را تشکیل می دهند. در اسکرین شات یک نوت بوک جدید در بخش بالا، آن کادر با طرح کلی سبز یک سلول خالی است. دو نوع سلول اصلی وجود دارد که به آنها خواهیم پرداخت:یک  سلول کد حاوی کدی است که باید در هسته اجرا شود. هنگامی که کد اجرا می شود، نوت بوک خروجی را در زیر سلول کدی که آن را تولید کرده است نمایش می دهد.یک  سلول Markdown حاوی متنی است که با استفاده از Markdown قالب‌بندی شده است و خروجی آن را در زمان اجرای سلول Markdown نمایش می‌دهد.اولین سلول در یک نوت بوک جدید همیشه یک سلول کد است.بیایید آن را با یک مثال قدیمی hello world آزمایش کنیم: print(&#x27;Hello World!&#x27;) در سلول تایپ کنید و روی دکمه run  در نوار ابزار بالا کلیک کنید یا   Ctrl + Enterرا فشار دهید.نتیجه باید به این صورت باشد:print(&#039;Hello World!&#039;)Hello World!وقتی سلول را اجرا می کنیم، خروجی آن در زیر نمایش داده می شود و برچسب سمت چپ آن از In [ ] به  In [1].خروجی یک سلول کد نیز بخشی از سند را تشکیل می دهد، به همین دلیل است که می توانید آن را در این مقاله مشاهده کنید. شما همیشه می توانید تفاوت بین کد و سلول های Markdown را تشخیص دهید زیرا سلول های کد آن برچسب را در سمت چپ دارند و سلول های Markdown این برچسب را ندارند.قسمت &quot;In&quot; برچسب به سادگی مخفف &quot;Input&quot; است، در حالی که شماره برچسب نشان می دهد که سلول در هسته اجرا شده است - در این مورد سلول ابتدا اجرا شده است.سلول را دوباره اجرا کنید و برچسب به تغییر خواهد کرد In [2] زیرا اکنون سلول دومین سلولی بود که روی هسته اجرا می شد. وقتی به هسته‌ها (کرنل ها) نگاهی دقیق‌تر بیندازیم، مشخص‌تر می‌شود که چرا این بسیار مفید است.از نوار منو، روی  Insert کلیک کنید  و  Insert Cell Below  را انتخاب کنید تا یک سلول کد جدید در زیر اولین کد خود ایجاد کنید و کد زیر را امتحان کنید تا ببینید چه اتفاقی می‌افتد. آیا متوجه چیز متفاوتی می شوید؟import time
time.sleep(3)این سلول هیچ خروجی تولید نمی کند، اما سه ثانیه طول می کشد تا اجرا شود. توجه کنید که Jupyter چگونه نشان می دهد که سلول در حال حاضر با تغییر برچسب آن به In [*].به طور کلی، خروجی یک سلول از هر داده متنی که به طور خاص در طول اجرای سلول چاپ شده است، و همچنین مقدار آخرین خط در سلول، خواه یک متغیر تک، یک فراخوانی تابع یا چیز دیگری باشد، می آید. مثلا:def say_hello(recipient):
    return &#039;Hello, {}!&#039;.format(recipient)

say_hello(&#039;Tim&#039;)&#039;Hello, Tim!&#039;شما متوجه خواهید شد که تقریباً دائماً از این در پروژه های خود استفاده می کنید و بعداً شاهد موارد بیشتری از آن خواهیم بود.کلید های میانبر صفحه کلیدآخرین نکته ای که ممکن است هنگام اجرای سلول های خود مشاهده کرده باشید این است که مرز آنها آبی می شود، در حالی که در هنگام ویرایش سبز بود. در یک نوت بوک Jupyter، همیشه یک سلول &quot;فعال&quot; با حاشیه ای وجود دارد که رنگ آن نشان دهنده حالت فعلی آن است:طرح کلی سبز - سلول در &quot;حالت ویرایش&quot; استطرح کلی آبی - سلول در &quot;حالت فرمان&quot; استپس وقتی سلول در حالت فرمان است، چه کاری می توانیم انجام دهیم؟ تا به حال، نحوه اجرای یک سلول با را دیده ایم  Ctrl + Enter، اما دستورات زیادی وجود دارد که می توانیم از آنها استفاده کنیم. بهترین راه برای استفاده از آنها میانبرهای صفحه کلید استمیانبرهای صفحه کلید یکی از جنبه‌های بسیار محبوب محیط Jupyter هستند زیرا گردش کار مبتنی بر سلول را تسهیل می‌کنند. بسیاری از اینها اقداماتی هستند که می توانید در سلول فعال زمانی که در حالت فرمان است انجام دهید.در زیر، فهرستی از میانبرهای صفحه کلید Jupyter را مشاهده خواهید کرد. لازم نیست فوراً همه آنها را به خاطر بسپارید، اما این فهرست باید به شما ایده خوبی از آنچه ممکن است ارائه دهد.بین حالت ویرایش و فرمان به ترتیب با  Esc و  Enterتغییر دهید.یک بار در حالت فرمان:سلول های خود را با کلیدهای Up و  خود به بالا و پایین اسکرول کنید  .DownA یا  را برای  B درج یک سلول جدید در بالا یا پایین سلول فعال فشار دهید.M سلول فعال را به یک سلول Markdown تبدیل می کند.Y سلول فعال را روی یک سلول کد تنظیم می کند.D + D ( D دوبار) سلول فعال را حذف می کند.Z حذف سلول را لغو می کند.در حالت ویرایش، سلول فعال را در مکان نما تقسیم می کند. Ctrl + Shift + -همچنین می‌توانید روی و  Shift + Click در حاشیه سمت چپ سلول‌های خود کلیک کنید تا آنها را انتخاب کنید.ادامه دهید و اینها را در نوت بوک خود امتحان کنید. هنگامی که آماده شدید، یک سلول Markdown جدید ایجاد کنید.مارک داون | Markdownمارک داون یک زبان نشانه گذاری سبک و آسان برای قالب بندی متن ساده است. نحو آن با تگ های HTML مطابقت یک به یک دارد، بنابراین دانش قبلی در اینجا مفید خواهد بود، اما قطعا پیش نیاز نیست.به یاد داشته باشید که این مقاله در یک دفترچه یادداشت Jupyter نوشته شده است، بنابراین تمام متن های روایی و تصاویری که تاکنون دیده اید در Markdown نوشته شده اند. اجازه دهید اصول اولیه را با یک مثال سریع پوشش دهیم:# This is a level 1 heading
## This is a level 2 heading

This is some plain text that forms a paragraph. Add emphasis via **bold** and __bold__, or *italic* and _italic_. 

Paragraphs must be separated by an empty line. 

* Sometimes we want to include lists. 
* Which can be bulleted using asterisks. 

1. Lists can also be numbered. 
2. If we want an ordered list.

[It is possible to include hyperlinks](https://www.example.com)

Inline code uses single backticks: foo(), and code blocks use triple backticks: 
```
    bar()
``` 
Or can be indented by 4 spaces: 

    foo()

And finally, adding images is easy: ![Alt text](https://www.example.com/image.jpg)هنگامی که سلول را اجرا می کنید تا اجرا شود به شکل زیر در می آید چون یک Markdown هست!هنگام پیوست کردن تصاویر، سه گزینه دارید:از یک URL برای یک تصویر در وب استفاده کنید.از یک URL محلی برای تصویری که در کنار نوت بوک خود نگهداری می کنید استفاده کنید، مثلاً در همان git repo.از طریق «Edit &gt; Insert Image» یک پیوست اضافه کنید. این تصویر را به یک رشته تبدیل می کند و آن را در  .ipynbفایل نوت بوک شما ذخیره می کند. توجه داشته باشید که این کار فایل شما .ipynb را بسیار بزرگ می کند!چیزهای بیشتری برای Markdown وجود دارد، به خصوص در مورد هایپرلینک، و همچنین می توان به سادگی HTML ساده را در آن گنجاند..هسته ها | کرنل هاپشت هر نوت بوک یک هسته وجود دارد. هنگامی که یک سلول کد را اجرا می کنید، آن کد در هسته اجرا می شود. هر خروجی برای نمایش به سلول برمی گردد. وضعیت هسته در طول زمان و بین سلول‌ها باقی می‌ماند این به کل سند مربوط می‌شود و نه سلول‌های جداگانه.به عنوان مثال، اگر کتابخانه ها را وارد کنید یا متغیرها را در یک سلول اعلام کنید، آنها در سلول دیگر در دسترس خواهند بود. بیایید این را امتحان کنیم تا احساسی نسبت به آن داشته باشیم. ابتدا یک بسته پایتون را وارد می کنیم و یک تابع تعریف می کنیم:import numpy as np
def square(x):
    return x * xهنگامی که سلول بالا را اجرا کردیم، می توانیم به هر سلول دیگری ارجاع np دهیم  .squarex = np.random.randint(1, 10)
y = square(x)
print(&#039;%d squared is %d&#039; % (x, y))1 squared is 1این بدون در نظر گرفتن ترتیب سلول های نوت بوک شما کار خواهد کرد. تا زمانی که یک سلول اجرا شده باشد، هر متغیری که اعلام کرده‌اید یا کتابخانه‌هایی که وارد کرده‌اید در سلول‌های دیگر در دسترس خواهند بود.می توانید خودتان آن را امتحان کنید، بیایید دوباره متغیرهای خود را چاپ کنیم.print(&#039;Is %d squared %d?&#039; % (x, y))Is 1 squared 1?اینجا جای تعجب نیست! اما اگر مقدار آن را تغییر دهیم چه اتفاقی می افتد؟y = 10
print(&#039;Is %d squared is %d?&#039; % (x, y))اگر سلول بالا را اجرا کنیم، فکر می کنید چه اتفاقی می افتد؟خروجی ای مانند:  Is 4 squared 10?. y = 10این به این دلیل است که وقتی سلول کد را اجرا کردیم  ، yدیگر با مربع x در هسته برابر نیست.در بیشتر مواقع هنگام ایجاد یک نوت بوک، جریان از بالا به پایین خواهد بود. اما بازگشت برای ایجاد تغییرات معمول است. وقتی نیاز به ایجاد تغییراتی در سلول قبلی داریم، ترتیب اجرای که می‌توانیم در سمت چپ هر سلول ببینیم، مانند In [6]می‌تواند به ما کمک کند تا با دیدن اینکه سلول‌ها به چه ترتیبی اجرا شده‌اند، مشکلات را تشخیص دهیم.و اگر بخواهیم چیزها را بازنشانی کنیم، چندین گزینه فوق العاده مفید از منوی کرنل وجود دارد: هسته را مجدداً راه اندازی می کند، بنابراین تمام متغیرهای تعریف شده و غیره را پاک می کند : Restartهمانند بالا، اما خروجی نمایش داده شده در زیر سلول های کد شما را نیز پاک می کند : Restart &amp; Clear Outputمانند بالا اما تمام سلول های شما را نیز به ترتیب از اول تا آخر اجرا می کند: Restart &amp; Run All: Restart &amp; Run Allاگر هسته شما روی یک محاسبات گیر کرده است و می خواهید آن را متوقف کنید، می توانید گزینه Interrupt را انتخاب کنید.انتخاب هستهشاید متوجه شده باشید که Jupyter به شما امکان تغییر هسته را می دهد و در واقع گزینه های مختلفی برای انتخاب وجود دارد. زمانی که با انتخاب نسخه پایتون یک نوت بوک جدید از داشبورد ایجاد می کردید، در واقع انتخاب می کردید که از کدام هسته استفاده کنید.هسته هایی برای نسخه های مختلف پایتون و همچنین برای بیش از 100 زبان  از جمله جاوا، سی و حتی فرترن وجود دارد. دانشمندان داده ممکن است به‌خصوص به هسته‌های  R  و  Julia و همچنین  هسته‌های imatlab  و  Calysto MATLAB  برای Matlab علاقه‌مند باشند.هسته SoS پشتیبانی چند زبانه را در یک نوت بوک فراهم می کند.هر هسته دستورالعمل‌های نصب خاص خود را دارد، اما احتمالاً از شما می‌خواهد که برخی از دستورات را در رایانه خود اجرا کنید.نام گذاری نوت بوک های خودقبل از شروع نوشتن پروژه خود، احتمالاً می خواهید نامی معنی دار برای آن بگذارید. نام فایل Untitledدر سمت چپ بالای صفحه برای وارد کردن نام فایل جدید، و روی نماد ذخیره (که شبیه فلاپی دیسک است) در زیر آن ضربه بزنید تا ذخیره شود.توجه داشته باشید که بستن برگه نوت بوک در مرورگر شما، نوت بوک شما را به همان صورتی که یک سند در یک برنامه سنتی بسته می شود، نمی بندد. هسته نوت‌بوک در پس‌زمینه به کار خود ادامه می‌دهد و قبل از اینکه واقعاً «بسته شود» باید خاموش شود - اگرچه اگر به‌طور تصادفی برگه یا مرورگر خود را ببندید، بسیار خوب است!اگر هسته بسته شود، می توانید بدون نگرانی در مورد اینکه آیا هنوز در حال اجرا است یا نه، برگه را ببندید.ساده ترین راه برای انجام این کار این است که &quot;File &gt; Close and Halt&quot; را از منوی نوت بوک انتخاب کنید. با این حال، می‌توانید با رفتن به «Kernel &gt; Shutdown» از داخل برنامه نوت‌بوک یا با انتخاب نوت‌بوک در داشبورد و کلیک کردن روی «Shutdown»، هسته را خاموش کنید (تصویر زیر را ببینید).ذخیره کردن نوت بوک و بازرسیبا فشار دادن  Ctrl + S، نوت بوک ما  با فراخوانی &quot;Save and Checkpoint&quot; داده های ما رو ذخیره می کنه، اما این چیزی که در چک پوینت هست چی هست؟هر بار که یک نوت بوک جدید ایجاد می کنیم، یک فایل چک پوینت به همراه فایل نوت بوک ایجاد می شود. این در یک زیر شاخه مخفی از مکان ذخیره شما به نام قرار .ipynb_checkpoints دارد و همچنین یک  .ipynb فایل است.به‌طور پیش‌فرض، Jupyter نوت‌بوک شما را هر 120 ثانیه بدون تغییر فایل نوت‌بوک اولیه، به‌طور خودکار در این فایل چک می‌کند. وقتی «ذخیره و نقطه بازرسی» را انجام می‌دهید، فایل‌های نوت‌بوک و پست بازرسی به‌روزرسانی می‌شوند. از این رو، ایست بازرسی به شما امکان می دهد در صورت بروز مشکل غیرمنتظره، کار ذخیره نشده خود را بازیابی کنید.می‌توانید از طریق «File &gt; Revert to Checkpoint» از منو به چک پوینت برگردید.نمونه نقشه پلات ها با matplotlibدر زیر میتونید بخشی از پلات هایی که در خروجی ژوپیتر به ما میده رو مشاهده کنید که به چه صورت هست. به اشتراک گذاری نوت بوک های خودوقتی مردم در مورد اشتراک‌گذاری نوت‌بوک‌هایشان صحبت می‌کنند، معمولاً دو نظر وجود دارد که ممکن است  داشته باشند.اغلب، افراد نتیجه نهایی کار خود را به اشتراک می گذارند، دقیقاً مانند خود این مقاله، که به معنای به اشتراک گذاری نسخه های غیر تعاملی و از پیش رندر شده نوت بوک هایشان است. با این حال، امکان همکاری در نوت‌بوک‌ها با کمک سیستم‌های کنترل نسخه مانند Git یا پلتفرم‌های آنلاین مانند Google Colab نیز وجود دارد.قبل از اینکه به اشتراک بگذاریدیک نوت بوک مشترک دقیقاً در حالتی ظاهر می‌شود که هنگام خروجی یا ذخیره آن، از جمله خروجی سلول‌های کد، ظاهر می‌شود. بنابراین، برای اطمینان از اینکه نوت بوک شما آماده اشتراک گذاری است، به اصطلاح، چند مرحله وجود دارد که باید قبل از اشتراک گذاری انجام دهید:روی «Cell &gt; All Output &gt; Clear» کلیک کنیدروی «Kernel &gt; Restart &amp; Run All» کلیک کنیدمنتظر بمانید تا سلول‌های کد شما اجرا شوند و همانطور که انتظار می‌رود بررسی کنیداین نشون میده که نوت‌بوک‌های شما دارای خروجی واسطه نباشند، حالت قدیمی داشته باشند و در زمان اشتراک‌گذاری به ترتیب اجرا شوند.اشتراک نوت بوک شماژوپیتر Jupyter دارای پشتیبانی داخلی برای اکسپرت به HTML و PDF و همچنین چندین فرمت دیگر است که می توانید آنها را از منوی &quot;File &gt; Download As&quot; پیدا کنید.اگر می‌خواهید نوت‌بوک‌های خود را با یک گروه خصوصی کوچک به اشتراک بگذارید، این قابلیت ممکن است تمام چیزی باشد که نیاز دارید. در واقع، از آنجایی که به بسیاری از محققان در مؤسسات دانشگاهی فضای وب عمومی یا داخلی داده می‌شود، و از آنجایی که می‌توانید یک دفترچه یادداشت را به یک فایل HTML تبدیل کنید، نوت‌بوک‌های Jupyter می‌توانند روشی مناسب برای محققان برای به اشتراک گذاشتن نتایج خود با همتایان خود باشند.گیت هاب | GitHubبا  تعداد نوت‌بوک‌های عمومی GitHub  تا اوایل سال 2018 از 1.8 میلیون، مطمئناً محبوب‌ترین پلتفرم مستقل برای اشتراک‌گذاری پروژه‌های Jupyter با جهان است. GitHub پشتیبانی یکپارچه ای برای رندر کردن  .ipynb فایل ها به طور مستقیم هم در مخازن و هم در کلیات وب سایت خود دارد. اگر قبلاً نمی دانید،  GitHub  یک پلت فرم میزبان کد برای کنترل نسخه و همکاری برای مخازن ایجاد شده با  Git است. برای استفاده از خدمات آنها به یک حساب کاربری نیاز دارید، اما حساب های استاندارد (معمولی) رایگان هستند.هنگامی که یک حساب GitHub دارید، ساده ترین راه برای اشتراک گذاری یک نوت بوک در GitHub در واقع به Git نیاز ندارد. از سال 2008، GitHub سرویس Gist خود را برای میزبانی و به اشتراک گذاری قطعه کد ارائه کرده است، که هر کدام مخزن خود را دارند. برای به اشتراک گذاشتن یک نوت بوک با استفاده از Gists:وارد شوید و به gist.github.com بروید .فایل خود  .ipynb را در یک ویرایشگر متن باز کنید، همه را انتخاب کنید و JSON داخل آن را کپی کنید.JSON نوت بوک را در اصل قرار دهید.به Gist خود یک نام فایل بدهید، به یاد داشته باشید که اضافه کنید  .iypnb یا این کار نخواهد کرد.روی «Create secret gist» یا «Create public gist» کلیک کنید.این باید چیزی شبیه به شکل زیر باشد:اگر یک Gist عمومی ایجاد کنید، اکنون می‌توانید URL آن را با هرکسی به اشتراک بگذارید و دیگران می‌توانند  کار شما را فورک و شبیه‌سازی  کنند.ایجاد مخزن Git خود و به اشتراک گذاری آن در GitHub فراتر از محدوده این آموزش است، اما  GitHub راهنماهای زیادی را  برای شما فراهم می کند تا به تنهایی شروع به کار کنید.یک نکته اضافی برای کسانی که از git استفاده می کنند این است که   برای آن دایرکتوری های مخفی که   Jupyter ایجاد می کند، یک استثنا  به شما  اضافه کنید تا فایل های چک پوینت را بی جهت به مخزن خود ارسال نکنید..gitignore.ipynb_checkpointsNbviewer&quot;ان بی ویور NBViewer&quot; که تا سال 2015 هر هفته صدها هزار نوت بوک را رندر   می کند، محبوب ترین رندر نوت بوک در وب است. اگر از قبل جایی برای میزبانی آنلاین نوت‌بوک‌های Jupyter خود دارید، چه GitHub یا هر جای دیگر، NBViewer نوت‌بوک شما را رندر می‌کند و یک URL قابل اشتراک‌گذاری را همراه با آن ارائه می‌کند. به عنوان یک سرویس رایگان به عنوان بخشی از پروژه Jupyter ارائه شده است، در  nbviewer.jupyter.org در دسترس است .NBViewer که در ابتدا قبل از ادغام نوت بوک Jupyter GitHub توسعه داده شد، به هر کسی اجازه می دهد یک URL، شناسه Gist، یا نام کاربری/repo/فایل GitHub را وارد کند و نوت بوک را به عنوان یک صفحه وب نمایش دهد. شناسه Gist شماره منحصر به فرد در انتهای URL آن است. برای مثال، رشته کاراکترهای بعد از آخرین بک اسلش در  https://gist.github.com/username/50896401c23e0bf417e89cd57e89e1de. اگر نام کاربری یا نام کاربری/مخزن GitHub را وارد کنید، یک مرورگر فایل حداقلی را مشاهده خواهید کرد که به شما امکان می دهد مخازن کاربر و محتویات آنها را بررسی کنید.آدرس اینترنتی NBViewer که هنگام نمایش یک نوت بوک نمایش داده می شود، بر اساس URL نوت بوکی که در حال رندر کردن آن است، ثابت است، بنابراین می توانید آن را با هرکسی به اشتراک بگذارید و تا زمانی که فایل های اصلی آنلاین باقی بمانند، کار خواهد کرد - NBViewer فایل ها را برای مدت زیادی کش نمی کند. طولانیاکستنشن های ژوپیتر نوت بوکما قبلاً همه چیزهایی را که برای استفاده در نوت بوک های Jupyter نیاز دارید رو گفتیم!اکستنشن ها  چیست؟اکستنشن ها دقیقاً همان ویژگی های اضافی که عملکرد نوت بوک Jupyter را گسترش می دهد. در حالی که یک نوت بوک پایه Jupyter می تواند کارهای خوبی انجام دهد، اکستنشن ها برخی ویژگی های اضافی را ارائه می دهند که ممکن است به کارهای خاص کمک کند یا به سادگی تجربه کاربر را بهبود بخشد.برای مثال، یک اکستنشن به نام «فهرست محتوا» فهرستی از محتویات را برای نوت بوک شما ایجاد می کند تا تجسم و حرکت در نوت بوک های بزرگ را آسان تر کند.یکی دیگر به نام Variable Inspector، مقدار، نوع، اندازه و شکل هر متغیر را در نوت بوک شما برای ارجاع سریع و اشکال زدایی آسان به شما نشان می دهد.دیگری به نام ExecuteTime به شما امکان می دهد بدانید هر سلول چه زمانی و برای چه مدت اجرا می شود - این می تواند به ویژه در صورتی که بخواهید سرعت بخشی از کد خود را سرعت بخشید، راحت باشد.افزونه های زیادی موجود است.از کجا می توانید اکستنشن اضافه کنید؟برای دریافت اکستنشن ها ، باید Nbextension ها را نصب کنید. می توانید این کار را با استفاده از pip و خط فرمان انجام دهید. اگر آناکوندا دارید، ممکن است بهتر باشد این کار را از طریق Anaconda Prompt به جای خط فرمان معمولی انجام دهید.ژوپیتر نوت بوک Jupyter Notebooks را ببندید، Anaconda Prompt را باز کنید و دستور زیر را اجرا کنیدpip install jupyter_contrib_nbextensions &amp;&amp; jupyter contrib nbextension installهنگامی که این کار را انجام دادید، یک نوت بوک را راه اندازی کنید و باید تب Nbextensions را ببینید. با کلیک بر روی این برگه، لیستی از افزونه های موجود به شما نمایش داده می شود. به سادگی کادرهای برنامه های افزودنی را که می خواهید فعال کنید علامت بزنید.نصب افزونه ها | اکستنشن ها پس از نصب Nbextensions، دیگر نیازی به نصب اضافی برای هر افزونه نیست. با این حال، اگر قبلاً Nbextensons را نصب کرده‌اید اما تب را نمی‌بینید، تنها نیستید. این موضوع در Github به جزئیات برخی از مشکلات و راه حل های رایج می پردازد.خلاصه :با شروع از ابتدا و با گردش در نوت‌بوک‌های Jupyter آشنا شده‌ایم، ویژگی‌های پیشرفته‌تر IPython را بررسی کردیم و در نهایت یاد گرفتیم که چگونه کار خود را با دوستان، همکاران و جهان به اشتراک بگذاریم. و ما همه اینها را از خود یک نوت بوک انجام دادیم!لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@</description>
                <category>مهدی مشایخی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Fri, 19 Aug 2022 18:01:50 +0430</pubDate>
            </item>
            </channel>
</rss>