<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مریم حسنعلی</title>
        <link>https://virgool.io/feed/@maryam.hasanali</link>
        <description>دکترای مهندسی کامپیوتر
علاقمند و فعال به پژوهش در حوزه های هوش مصنوعی و یادگیری ماشین و ... 
کانال من در یوتیوب: @DataVersal
کانال من در تلگرام: @meteorjournal  
ایمیل من:maryam.hasanali@gmail</description>
        <language>fa</language>
        <pubDate>2026-04-15 07:03:12</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/237693/avatar/Arv3jv.png?height=120&amp;width=120</url>
            <title>مریم حسنعلی</title>
            <link>https://virgool.io/@maryam.hasanali</link>
        </image>

                    <item>
                <title>سه پرسش حیاتی پیش از ساخت یک محصول مبتنی بر هوش مصنوعی</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%B3%D9%87-%D9%BE%D8%B1%D8%B3%D8%B4-%D8%AD%DB%8C%D8%A7%D8%AA%DB%8C-%D9%BE%DB%8C%D8%B4-%D8%A7%D8%B2-%D8%B3%D8%A7%D8%AE%D8%AA-%DB%8C%DA%A9-%D9%85%D8%AD%D8%B5%D9%88%D9%84-%D9%85%D8%A8%D8%AA%D9%86%DB%8C-%D8%A8%D8%B1-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-o3ou6zqyc8fc</link>
                <description>✍️ بر اساس کتاب The AI Pocket Book اثر Emmanuel Maggioriدر دنیای امروز، تقریباً هر کسب‌وکاری می‌خواهد از هوش مصنوعی (AI) استفاده کند. اما «بسیاری از پروژه‌های AI شکست می‌خورند، نه به خاطر ضعف فناوری، بلکه به خاطر اشتباه در تشخیص اینکه آیا اصلاً باید از AI استفاده کرد یا نه.»سه پرسش مهم و کلیدی وجود دارد که پاسخ درست به آن‌ها می‌تواند تفاوت بین شکست و موفقیت یک محصول هوشمند باشد.❓ ۱. آیا من AI را قبل از مشتری قرار می‌دهم؟(?Am I putting AI before the customer)بسیاری از شرکت‌ها عاشق «هوش مصنوعی» شده‌اند و می‌خواهند از آن در هر چیزی استفاده کنند — بدون اینکه مطمئن باشند مشتری اصلاً چنین چیزی می‌خواهد یا نه! اگر فقط برای اینکه محصولتان «مدرن و جذاب» به نظر برسد از AI استفاده می‌کنید، مسیر اشتباهی را می‌روید. اول باید مسئله واقعی مشتری را بشناسید، سپس تصمیم بگیرید که آیا AI بهترین راه‌حل است یا نه. یک استارت‌آپ حسابداری تصمیم داشت ویژگی ChatGPT را به نرم‌افزارش اضافه کند تا بگوید «ما هم از AI استفاده می‌کنیم». اما کاربران در واقع فقط به گزارش‌های دقیق و سریع نیاز داشتند، نه یک چت‌بات! در نتیجه ویژگی جدید مورد استقبال قرار نگرفت.⚠️ درس: AI باید ابزار حل مسئله باشد، نه خودِ مسئله. قبل از کدنویسی بپرسید: آیا مشتری از این قابلیت واقعاً سود می‌برد، یا فقط من از “AI” هیجان‌زده‌ام؟❓ ۲. آیا توهمات (Hallucinations) در محصول من قابل‌قبول هستند؟ (?Are hallucinations okay)مدل‌های زبانی بزرگ (LLMها) گاهی اطلاعات اشتباه یا ساختگی تولید می‌کنند — این خطاها «توهم» نام دارند. قبل از تولید محصول هوش مصنوعی باید از خود بپرسید: اگر مدل اشتباه کند، چه اتفاقی می‌افتد؟ آیا برای کاربر قابل بخشش و جبران است یا نه؟ پروژه Drive-through AI مک‌دونالد با هدف خودکار کردن سفارش مشتریان طراحی شد. اما سیستم گاهی سفارش را اشتباه می‌فهمید — مثلاً به جای «۶ ناگت مرغ»، ۲۲۴ بسته ناگت ثبت می‌کرد! برای مشتریانی که در صف منتظر بودند، این خطاها غیرقابل‌قبول بود و در نهایت پروژه متوقف شد. در مقابل، بعضی کاربردها توهم را می‌پذیرند: مثلاً ترجمه نظرات در سایت‌های رزرو سفر مانندBooking  یا  Tripadvisor. اگر ترجمه کمی اشتباه باشد، تجربه کاربر خیلی آسیب نمی‌بیند.⚠️ درس: اگر خطای مدل می‌تواند به اعتماد کاربر یا عملکرد حیاتی سیستم لطمه بزند، باید راه‌حل دیگری پیدا کنید یا از AI صرف‌نظر کنید.❓ ۳. آیا لازم است بدانم خروجی چگونه تولید شده است؟ (Do I need to explain how the output is ?generated )یکی از محدودیت‌های بزرگ AI این است که «چرا»ی تصمیم‌هایش مشخص نیست. مدل‌های پیچیده مثل GPT یا شبکه‌های عصبی عمیق، جعبه‌سیاه (Black Box) هستند — ورودی می‌دهید و خروجی می‌گیرید، ولی نمی‌دانید دقیقاً چه شد که به آن نتیجه رسید. در برخی حوزه‌ها (مثل مالی، بیمه، پزشکی یا حقوقی)، این مسئله خطرناک است. سازمان‌ها ممکن است برای اعتماد یا رعایت مقررات نیاز به توضیح‌پذیری (Explainability) داشته باشند. برای  مثال در پیش‌بینی رفتار مشتری، شرکت‌ها می‌خواهند بدانند کدام عامل‌ها بیشترین تأثیر را دارند. اگر مدل فقط «نتیجه» بدهد، بدون توضیح دلیل آن، تصمیم‌گیرندگان نمی‌توانند به آن اعتماد کنند. بنابراین، اگر توضیح‌پذیری مهم است، از مدل‌های ساده‌تر استفاده کنید — مثل مدل‌های خطی یا درخت تصمیم. وگرنه، حتی بهترین مدل‌های زبانی هم ممکن است در محیط‌های حساس دردسرساز شوند. ⚠️ درس: اگر نمی‌توانید توضیح دهید که AI چرا چنین تصمیمی گرفته، و مشتری یا قانون از شما توضیح می‌خواهد، باید مدل ساده‌تری انتخاب کنید.جمع‌بندی کلیهوش مصنوعی فقط وقتی ارزش دارد که برای حل یک نیاز واقعی مشتری به کار گرفته شود.دقت، توضیح‌پذیری و میزان تحمل خطا باید از قبل مشخص شوند.بسیاری از پروژه‌ها شکست می‌خورند، نه چون AI بد است، بلکه چون بی‌هدف استفاده شده است.🔹 جمله کلیدی: «AI باید خدمتی به مشتری باشد، نه ویترینی برای نمایش فناوری.»بیشتر از کتاب The AI Pocket Book بدانید: https://youtu.be/1TzRzbLEE0I?si=pS__IZH5SUOQwvHF (خلاصه فارسی کتاب)</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Thu, 04 Dec 2025 16:10:30 +0330</pubDate>
            </item>
                    <item>
                <title>توهمات هوش مصنوعی؛ وقتی ماشین با اطمینان دروغ می‌گوید</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%AA%D9%88%D9%87%D9%85%D8%A7%D8%AA-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D9%88%D9%82%D8%AA%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D8%A8%D8%A7-%D8%A7%D8%B7%D9%85%DB%8C%D9%86%D8%A7%D9%86-%D8%AF%D8%B1%D9%88%D8%BA-%D9%85%DB%8C-%DA%AF%D9%88%DB%8C%D8%AF-jcqg3jfvzphm</link>
                <description>هوش مصنوعی در چند سال اخیر به سرعت وارد زندگی روزمره ما شده است؛ از نوشتن متن و ترجمه گرفته تا طراحی تصویر و حتی ارائه مشاوره حقوقی. با این حال، در کنار تمام این دستاوردها، یک مشکل اساسی وجود دارد که بسیاری از کاربران و حتی شرکت‌ها را غافلگیر کرده است: توهمات (Hallucinations). این پدیده به معنای تولید اطلاعات غلط یا ساختگی توسط هوش مصنوعی است، آن هم با اعتمادبه‌نفس کامل. در این مقاله، توهمات هوش مصنوعی را بررسی می‌کنیم: از تعریف و انواع آن گرفته تا علل، راهکارها و تأثیرش بر کسب‌وکارها.تعریف توهمات در هوش مصنوعیتوهم زمانی رخ می‌دهد که یک مدل هوش مصنوعی محتوایی تولید کند که نادرست باشد، اما آن را با اعتماد کامل ارائه دهد. این پاسخ‌ها معمولاً به‌گونه‌ای نوشته می‌شوند که بسیار قانع‌کننده به نظر برسند، اما در واقعیت هیچ پایه‌ای ندارند. ویژگی مهم دیگر توهم این است که غیرقابل پیش‌بینی است؛ یعنی کاربر نمی‌تواند حدس بزند چه زمانی مدل به جای حقیقت، محتوای ساختگی تحویل می‌دهد.تصور کنید از یک چت‌بات می‌پرسید «نویسنده کتاب شازده کوچولو چه کسی است؟» و مدل پاسخ می‌دهد «ژول ورن». نه تنها اشتباه است، بلکه مدل آن را با قطعیت کامل بیان می‌کند. همین ترکیب اطلاعات غلط + اعتمادبه‌نفس کاذب + غیرقابل پیش‌بینی بودن، تعریف دقیقی از توهمات هوش مصنوعی است.انواع توهماتیکی از جذاب‌ترین بخش‌های بررسی توهمات، مشاهده نمونه‌های واقعی آن است؛ مواردی که نشان می‌دهند حتی بزرگ‌ترین شرکت‌ها هم از این خطر مصون نیستند.۱. حقایق ساختگینمونه معروفی در سال ۲۰۲۳ رخ داد؛ دو وکیل آمریکایی برای تهیه لایحه دادگاهی از ChatGPT کمک گرفتند. مدل با اعتماد کامل چندین پرونده حقوقی را به آن‌ها معرفی کرد، اما مشکل اینجا بود که هیچ‌کدام از آن پرونده‌ها وجود خارجی نداشتند! دادگاه به‌سرعت متوجه شد و آن دو وکیل را جریمه کرد. این مثال نشان می‌دهد که هوش مصنوعی می‌تواند به ظاهر معتبرترین اطلاعات را جعل کند.مثال دیگر، زمانی بود که از GPT-4 خواسته شد فهرستی از کتاب‌هایی با طولانی‌ترین کلمات ارائه کند. مدل کتاب‌هایی با عناوین عجیب و بلند لیست کرد، اما وقتی بررسی شد مشخص شد هیچ‌کدام از آن‌ها واقعاً وجود ندارند.۲. تعبیر غلط داده‌هاگوگل در سال ۲۰۲۴ ویژگی جدیدی به نام AI Overview معرفی کرد که قرار بود خلاصه‌ای هوشمند از اطلاعات وب را به کاربران نمایش دهد. اما در مواردی خروجی آن بسیار عجیب بود: مثلاً پیشنهاد می‌کرد که برای دریافت کلسیم بیشتر «سنگ بخورید» یا برای درست کردن پیتزا از «چسب» استفاده کنید! دلیل این خطاها برداشت نادرست از داده‌های پراکنده و غیرمعتبر اینترنتی بود.۳. راه‌حل‌های اشتباهتوهمات گاهی به صورت ارائه راه‌حل‌های نادرست ظاهر می‌شوند. برای مثال، وقتی از مدل تصویری DALL·E خواسته شد تصویری از «اتاقی بدون فیل» تولید کند، نتیجه تصویری بود که یک فیل غول‌پیکر وسط اتاق داشت. جالب‌تر اینکه وقتی کاربر به این موضوع اعتراض کرد، مدل همچنان اصرار داشت که تصویر «بدون فیل» است! این نوع رفتار نشان می‌دهد که مدل‌ها در درک دقیق مفاهیم انتزاعی دچار ضعف جدی هستند.در حوزه مسائل منطقی هم چنین خطاهایی دیده شده است. به عنوان مثال، وقتی معمای معروف «کشاورز، گرگ، بز و کلم» به مدل داده شد، در بسیاری از مواقع مدل با قاطعیت راه‌حل اشتباه ارائه داد، بدون اینکه متوجه تناقض در پاسخ خود شود.۴. اعتمادبه‌نفس بیش‌ازحدمدل‌ها معمولاً پاسخ‌های خود را بدون هیچ‌گونه تردید ارائه می‌دهند. حتی وقتی کاربر اشتباه را گوشزد می‌کند، گاهی مدل بر همان پاسخ اشتباه اصرار دارد. این اعتمادبه‌نفس کاذب می‌تواند کاربران غیرمتخصص را به‌شدت گمراه کند.۵. غیرقابل پیش‌بینی بودنگاهی حتی سؤالات بسیار ساده می‌تواند باعث بروز توهم شود. برای مثال، وقتی از مدلی پرسیده شد «۹.۱۱ بزرگ‌تر است یا ۹.۹؟» پاسخ در بعضی مواقع «۹.۱۱» بود و در برخی موارد «۹.۹». تنها تفاوت، نحوه نوشتن سؤال بود. این رفتار غیرقابل پیش‌بینی، استفاده مطمئن از مدل‌ها را دشوار می‌کند.چرا توهم رخ می‌دهد؟یکی از پرسش‌های کلیدی این است: چرا مدل‌های به ظاهر پیشرفته‌ای مثل GPT یا Claude دچار چنین اشتباهاتی می‌شوند؟۱. مدل‌های ناکافی از جهانمدل‌های زبانی بزرگ (LLMها) برخلاف انسان هیچ تجربه مستقیمی از دنیای واقعی ندارند. آن‌ها نمی‌دانند آب خیس است یا سنگ سخت؛ تنها بر اساس الگوهای آماری از متن‌هایی که دیده‌اند پیش‌بینی می‌کنند. به همین دلیل، وقتی با شرایط ناشناخته روبه‌رو شوند، احتمالاً خروجی خیالی تولید می‌کنند.۲. اهداف نادرست یا ناسازگارگاهی مشکل به نحوه استفاده از مدل برمی‌گردد. فرض کنید مدلی برای پیش‌بینی خرید یک تی‌شرت ۱۰ دلاری آموزش دیده است. حالا از همان مدل می‌خواهیم پیش‌بینی کند که اگر قیمت تی‌شرت ۱۵ دلار شود، چه اتفاقی می‌افتد. چون مدل هیچ تجربه‌ای از داده‌های ۱۵ دلاری ندارد، خروجی آن بیشتر شبیه توهم خواهد بود تا پیش‌بینی واقعی.این مشکل در حوزه‌های دیگر هم دیده می‌شود؛ مثل استفاده از مدل‌های ترجمه عمومی برای متون حقوقی، یا مدل‌های پزشکی آموزش‌دیده در یک کشور برای بیماران کشوری دیگر با شرایط ژنتیکی متفاوت.۳. ذات معماری LLMهابنا به گفته‌ی یان لکون (Yann LeCun)، یکی از پیشگامان هوش مصنوعی، مشکل اصلی از معماری فعلی LLMهاست. چون این مدل‌ها بر پایه پیش‌بینی کلمه بعدی (autoregressive) ساخته شده‌اند، ذاتاً مستعد خطا و توهم هستند. حتی اگر حجم داده‌های آموزشی بی‌نهایت باشد، باز هم این مشکل کاملاً رفع نخواهد شد.آیا توهمات از بین خواهند رفت؟پاسخ کوتاه این است: نه، حداقل در آینده نزدیک.دلیلش ساده است: داده‌های عمومی اینترنتی تقریباً تمام شده‌اند. حتی اگر داده‌های جدید و بیشتر هم جمع‌آوری شود، بهبود کیفیت مدل‌ها خطی یا بسیار محدود خواهد بود (پدیده بازده کاهشی). بنابراین، صرفاً با افزایش داده نمی‌توان توهمات را حذف کرد.تنها راه واقعی، نوآوری‌های بنیادی در معماری مدل‌هاست. شاید در آینده مدل‌هایی ساخته شوند که فراتر از پیش‌بینی کلمه بعدی عمل کنند و درکی عمیق‌تر از جهان داشته باشند. اما تا آن زمان، توهمات بخشی جدانشدنی از هوش مصنوعی خواهند بود.چگونه می‌توان توهمات را کاهش داد؟اگرچه حذف کامل توهمات فعلاً ممکن نیست، اما راهکارهایی برای کاهش آن‌ها وجود دارد:بهبود مدل‌ها و داده‌ها: پاکسازی داده‌های آموزشی و استفاده از بازخورد انسانی (RLHF) می‌تواند کیفیت خروجی را بالا ببرد.مهندسی پرامپت: روش‌هایی مثل chain-of-thought prompting، که مدل را وادار می‌کند مرحله به مرحله استدلال کند، می‌تواند احتمال خطا را کاهش دهد.RAG (بازیابی و تقویت): در این روش اسناد واقعی در پرامپت به مدل داده می‌شود تا پاسخ بر اساس اطلاعات معتبر تولید شود.چند-عاملی (Multi-agent AI): در این روش چند مدل با نقش‌های متفاوت (مثل نویسنده و بازبین) روی یک مسئله کار می‌کنند و خطاها کاهش می‌یابد.تشخیص خودکار توهمات: با بررسی احتمال خروجی‌ها، می‌توان ریسک توهم را تشخیص داد؛ مثلاً اگر مدلی با احتمال بسیار پایین پاسخی تولید کند، احتمال توهم بالاست.تأثیر توهمات بر مشاغل و کسب‌وکارهاتوهمات تنها مشکل فنی نیستند؛ آن‌ها می‌توانند تبعات حقوقی و اقتصادی سنگینی هم داشته باشند.چت‌بات ایرلاین: یک شرکت هواپیمایی از چت‌بات برای پاسخگویی به مشتریان استفاده کرد. این چت‌بات اطلاعات نادرستی درباره قوانین بازپرداخت ارائه داد و دادگاه شرکت را مجبور کرد طبق همان اطلاعات اشتباه عمل کند. نتیجه؟ شرکت چت‌بات را خاموش کرد.خودروهای خودران: بارها گزارش شده که خودروهای خودران به دلیل توهم در شرایط خاص دچار حادثه شده‌اند. برای مثال، در یک مورد کامیون یدک‌کش را تشخیص ندادند و منجر به تصادف شدند. همین خطاها باعث شده بسیاری از شرکت‌های میلیارددلاری در این حوزه پروژه‌های خود را متوقف یا محدود کنند.این مثال‌ها نشان می‌دهند که اگر توهمات مدیریت نشوند، می‌توانند کل یک کسب‌وکار را به خطر بیندازند.جمع‌بندیتوهمات هوش مصنوعی یکی از بزرگ‌ترین چالش‌های دنیای امروز فناوری هستند. آن‌ها زمانی رخ می‌دهند که مدل اطلاعات غلط را با اعتمادبه‌نفس و به شکلی غیرقابل پیش‌بینی ارائه می‌دهد. انواع مختلفی از توهمات وجود دارد؛ از حقایق ساختگی گرفته تا راه‌حل‌های اشتباه. ریشه آن‌ها در محدودیت مدل‌ها، اهداف ناسازگار و ذات معماری LLMهاست.این مشکل حتی با داده‌های نمایی هم از بین نخواهد رفت، و تنها راه کاهش آن‌ها استفاده از روش‌هایی مثل مهندسی پرامپت، RAG و سیستم‌های چندعاملی است. در نهایت، برای کسب‌وکارها مهم‌ترین نکته این است که بدانند توهمات واقعی‌اند و باید طراحی محصول یا خدماتشان به‌گونه‌ای باشد که حتی اگر AI اشتباه کرد، نتیجه فاجعه‌بار نباشد.برگرفته از کتاب The AI Pocket Book نوشته امانوئل ماجوری خلاصه کامل کتاب به زبان فارسی: https://youtu.be/1TzRzbLEE0I?si=pS__IZH5SUOQwvHF</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Fri, 14 Nov 2025 15:38:41 +0330</pubDate>
            </item>
                    <item>
                <title>انواع مشاغل مرتبط با علم داده</title>
                <link>https://virgool.io/@maryam.hasanali/datasciencecareerpath-ni2fqt30gxef</link>
                <description>علم داده یک زمینه گسترده است که شغل‌های مختلفی در دسته‌بندی‌های مختلف دارد. در زیر دسته‌های متداولی از فرصت‌های شغلی مرتبط با علم داده آورده شده‌اند:Data Analyst(تحلیل‌گر داده):مسئولیت‌ها: تجزیه و تحلیل و تفسیر مجموعه‌های پیچیده داده، ایجاد نمودارها و ارائه تحلیل‌ها برای پشتیبانی از تصمیم‌گیری‌های تجاری.Data Scientist(دانشمند داده):مسئولیت‌ها: توسعه و پیاده‌سازی مدل‌های یادگیری ماشین، تحلیل آماری و استخراج برداشت‌های قابل اجرا از داده.Machine Learning Engineer (مهندس یادگیری ماشین):مسئولیت‌ها: طراحی، ساخت و استقرار مدل‌ها و سیستم‌های یادگیری ماشین، معمولاً با همکاری نزدیک با دانشمندان داده و مهندسان نرم‌افزار.Data Engineer(مهندس داده):مسئولیت‌ها: ساخت و نگهداری زیرساخت برای تولید داده، تبدیل و ذخیره داده، اداره پایگاه‌های داده، فرآیند ETL (استخراج، تبدیل، بارگذاری) و لوله‌های داده.Business Intelligence Analyst (تحلیلگر هوش تجاری):مسئولیت‌ها: تمرکز بر تحلیل داده‌های مرتبط با کسب و کار، طراحی داشبوردها و ارائه شاخص‌های عملکرد کلیدی برای پشتیبانی از تصمیم‌گیری‌های استراتژیک.Statistician (آمارشناس):مسئولیت‌ها: استفاده از روش‌های آماری برای تجزیه و تحلیل و تفسیر داده، اجرای آزمایش‌ها و طراحی نظرسنجی‌ها.Quantitative Analyst (تحلیلگر کمی):مسئولیت‌ها: استفاده از تکنیک‌های ریاضی و آماری برای حل مسائل مالی و مدیریت ریسک، معمولاً در صنایع مالی یا سرمایه‌گذاری.Operations Analyst (تحلیلگر عملیات):مسئولیت‌ها: تجزیه و تحلیل و بهینه‌سازی فرآیندهای تجاری، شناسایی نقاط قوت و ضعف، و استفاده از داده برای افزایش کارایی عملیاتی.Research Scientist (دانشمند تحقیقاتی):مسئولیت‌ها: انجام تحقیقات برای پیشرفت در زمینه علوم داده، مشارکت در توسعه الگوریتم‌ها، مدل‌ها و روش‌های جدید.Data Architect (معمار داده):مسئولیت‌ها: طراحی و ایجاد ساختار سیستم‌های داده، از جمله پایگاه‌های داده و سیستم‌های پردازش مقیاس بزرگ، برای اطمینان از ذخیره و بازیابی کارآمد داده.Big Data Engineer (مهندس داده بزرگ):مسئولیت‌ها: کنترل و پردازش حجم بزرگی از داده با استفاده از چارچوب‌های محاسبات توزیع‌شده مانند Apache Hadoop یا Apache Spark.Artificial Intelligence Engineer (مهندس هوش مصنوعی):مسئولیت‌ها: توسعه و پیاده‌سازی راه‌حل‌های هوش مصنوعی، شامل پردازش زبان طبیعی، بینایی ماشین و دیگر کاربردهای هوش مصنوعی.Data Governance Analyst (تحلیلگر حاکمیت داده):مسئولیت‌ها: اطمینان از کیفیت، سلامت و پایبندی به الزامات نظارتی بر داده با ایجاد و اجرای سیاست‌های حاکمیت داده.Healthcare Data Analyst (تحلیلگر داده بهداشتی):مسئولیت‌ها: تحلیل داده‌های بهداشتی برای بهبود نتایج بیمار، کاهش هزینه‌ها و پشتیبانی از تحقیقات پزشکی.Cybersecurity Analyst (تحلیلگر امنیت سایبری):مسئولیت‌ها: استفاده از تکنیک‌های علوم داده برای شناسایی و پاسخ به تهدیدات امنیتی سایبری، شناسایی آسیب‌پذیری‌ها و بهبود تدابیر امنیتی کلان.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Mon, 11 Dec 2023 20:30:20 +0330</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی اشیا (AIoT)</title>
                <link>https://virgool.io/Solidity/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A7%D8%B4%DB%8C%D8%A7-aiot-njt0acuyiczy</link>
                <description>هوش مصنوعی اشیا یا هوش مصنوعی چیزها (Artificial Intelligence of Things) یک تکنولوژی نوظهور است که هوش مصنوعی و اینترنت اشیا را با یکدیگر ترکیب می کند تا تصمیم گیری و تحلیل را در دستگاه های اینترنت اشیا ممکن سازد.اینترنت اشیا شبکه ایی از اشیا فیزیکی را فراهم می کند که مجهز به سنسورها، نرم افزار و تکنولوژی های دیگر هستند و داده های خود با  سایر سیستم ها و دستگاه ها بر روی اینترنت را مبادله می کنند.هوش مصنوعی امکان تحلیل و تصمیم گیری خودکار را فراهم می کند.دادهای جمع آوری شده توسط دستگاه های اینترنت اشیا کاربردی نیستند مگر اینکه به صورت معنا داری تحلیل و تفسیر شوند.به طور خلاصه اینترنت اشیا مبتنی بر ابر (cloud-based IoT) دارای پنج قابلیت کلیدی زیر می باشد:جمع آوری (Collect): داده زیادی از دستگاه ها و سنسورها در یک مکان مرکزی جمع آوری می شود.ذخیره (Store): داده در یک سیستم ذخیره سازی مقیاس پذیر مانند دریاچه داده (data lakes) ذخیره می شود.پردازش (Process): پلت فرم های داده های حجیم (Big Data) برای پردازش و تحلیل دیتاست ها استفاده می شوند.تحلیل (Analyze): بینش های به دست آمده از سیستم داده های حجیم، برای ارائه یک تحلیل از طریق بصری سازی (Visualization)، مورد استفاده قرار می گیرند.کنترل (Control): اپراتوهای دستگاه ها و مهندسان حوزه، دستگاه ها را بر اساس پیشنهاداتی از سیستم داده های حجیم، کنترل می کنند.با ترکیب هوش مصنوعی و اینترنت اشیا، یک توانایی مهم به این سیستم اضافه می شود: عمل کردن (Act)هوش مصنوعی با عمل بر روی الگوها (Patterns) و همبستگی (correlations) داده ها، از بصری سازی فراتر می رود و اقدام مناسب بر اساس داده ها انجام می گیرد. هوش مصنوعی به جای نمایش صرف حقایق (facts) به افراد، به طور خودکار عملی انجام می دهد و تبدیل به مغز سیستم می شود.به طور مثال، دوربینی که به عنوان یک سنسور عکس عمل می کند را در نظر بگیرید. دوربین هر فریم را به دستگاه اینترنت اشیا می فرستد تا وجود شی خاصی را بررسی کند. با به کارگیری هوش مصنوعی در دوربین، تنها فریم هایی که در آن شی خاص ردیابی می شود، ارسال می شوند. در این حالت سرعت پردازش بسیار بالا می رود زیرا نیازی نیست پردازنده همه فریم ها را پردازش کند.با به کارگیری هوش مصنوعی در اینترنت اشیا، این دستگاه ها می توانند تصمیم گیری عملیاتی بلادرنگ، تصمیمات بهبود یافته مستمر، کاهش هزینه های انتقال داده را ارتقا دهد. در ادامه به توضیح بیشتر هر کدام از این موارد می پردازیم. تصمیم گیری عملیاتی بلادرنگ (Real-time operational decision-making): دستگاه های اینترنت اشیا داده های زیادی جمع آوری می کنند. تکنولوژی AIoT امکان تصمیم گیری بلادرنگ را برای این دستگاه ها فراهم می کند. به عنوان یک مثال ساده یک سیستم دوربین امنیتی که مجهز به آلارم است را در نظر بگیرید. یک دوربین اینترنت اشیا معمولی،  داده ودیویی را به مرکزی ارسال می کند تا پرسنل امنیتی آنها را تماشا کنند. یک دوربین AIoT می تواند متجاوزان را شناسایی کند، به طور خودکار زنگ هشدار نویز را فعال کند تا متجاوزان را منصرف شوند و به تیم امنیتی نیز اطلاع دهد. بنابراین تکنولوژی AIoT تصمیم گیری را از پرسنل امنیتی انسانی به دستگاه های اینترنت اشیا منتقل می کند و باعث صرفه جویی در نیروی انسانی و افزایش رضایت می شود. زیرا یک سیستم خودکار بهتر از نیروهای امنیتی است که ممکن است در مقابل صفحه تصویر به خواب بروند. تصمیمات بهبود یافته مستمر (Continually improved decisions): دستگاه هایی مانند تجهیزات خانه هوشمند، اولویت های شخصی که می توانند برای بهبود مدل های یادگیری ماشین استفاده شوند را جمع آوری می کنند. با روش هایی مانند یادگیری فدرال (federated learning)، دستگاههای AIoT می توانند اولویت های کاربر را یاد بگیرد و تصمیم های خود را بهبود دهند.کاهش هزینه های انتقال داده: وجود سیستم های هوش مصنوعی در موقعیت مرکزی منجر به انتقال داده زیادی بین دستگاه های لبه (edge devices) و سرورهای مرکزی می شود. سیستم های AIoT تحلیل داده ها را به دستگاه های لبه منتقل می کند و انتقال داده را به کمترین حد ممکن می رساند.کاربردها و مثال هایی از AIoT:شهرهای هوشمند (Smart cities): فناوری هوشمند مانند حسگرها و چراغ ها برای جمع آوری داده هایی استفاده می شوند که برای کمک به بهبود کارایی عملیاتی، رشد اقتصادی و بهبود کیفیت ساکنان طراحی شده اند.خرده فروشی (Smart retail): خرده فروشان برای تشخیص چهره خریداران و ردیابی اینکه آنها کالاهای خود را قبل از خروج فروشگاه اسکن کرده اند، استفاده می کنند.سازمان ها و صنعت (Enterprise and industrial): کارخانه ها از تراشه های هوشمند برای ردیابی تجهیزاتی که به خوبی کار نمی کنند یا قسمت هایی که نیاز به تعویض دارند، استفاده می کنند.رسانه های اجتماعی و منابع انسانی (Social media and human resources): ابزارهای AIoT را می توان با رسانه های اجتماعی یا پلت فرم های مرتبط با منابع انسانی ادغام کرد تا تصمیمات هوش مصنوعی به عنوان سرویسی در خدمت متحصصان منابع انسانی باشد.وسایل نقلیه خودران (Autonomous vehicle): وسایل نقلیه خودران متکی بر چندین دوربین و سنسور برای جمع آوری داده درباره وسیله مجاور، نظارت بر شرایط رانندگی و جستجوی عابران پیاده هستند.ربات های تحویل خودکار (Autonomous delivery robots): سنسورها، داده های مربوط به محیط اطراف ربات جمع آوری می کنند و از هوش مصنوعی برای تصمیم گیری مبتنی بر پیمایش (traversal-based decisions) استفاده می کنند.مراقبت های بهداشتی (Healthcare): دستگاه های پزشکی و پوشیدنی ها (wearables) به جمع آوری و نظارت داده های سلامت از قبیل ضربان قلب می پردازند.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Mon, 02 May 2022 15:37:21 +0430</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی چند وجهی (Multimodal AI)</title>
                <link>https://virgool.io/@maryam.hasanali/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%DA%86%D9%86%D8%AF-%D9%88%D8%AC%D9%87%DB%8C-multimodal-ai-btycrsdra2h7</link>
                <description>هوش مصنوعی چند وجهی یک الگوی جدید هوش مصنوعی است که انواع مختلف داده (داده عکس، متن، گفتار و عددی) با الگوریتم های پردازش هوشمند چندگانه ترکیب می شوند تا کارایی بهتری به دست آید. هوش مصنوعی چند وجهی اغلب در بسیاری از مشکلات دنیای واقعی از هوش مصنوعی تک وجهی (single modal) بهتر عمل می کند.ما به عنوان انسان، دنیا را چندوجهی تجربه می کنیم: می توانیم سطوح را احساس کنیم، صداها را بشنویم، اشیا را ببینیم، بوها را استشمام کنیم و طعم ها را بچشیم. وجه (mode) را مانند حس انسان در نظر بگیرید. برای مثال ممکن است هویج را ببینید و مزه کنید. در این حالت می توانید هویج را سریعتر از زمانی که آن را با چشم بسته می خورید، تشخیص دهید. همچنین می توانید هویج را با دیدن و بدون مزه کردن آن، شناسایی کنید. اگر هویج به شکل  کامل نباشد (مثلا به شکل پوره بود) هنوز هم ممکن است از رنگ آن حدس بزنید که هویج است. اما اگر پوره را بخورید، می‌توانید از طعم آن مطمئن شوید. هوش مصنوعی چندوجهی نیز همین طور است. هوش مصنوعی چند وجهی، مانند انسان توانایی پردازش همزمان سیگنال ها را دارد.  ترکیبی از ورودی های مختلف به هوش مصنوعی اجازه می دهد تا نتیجه دقیق تری را از ورودی های متعدد استنتاج (deduction) کند.سیستم‌های هوش مصنوعی استاندارد معمولاً تک وجهی هستند، به این معنی که برای انجام یک کار خاص مانند پردازش تصاویر یا زبان‌ آموزش، داده شده اند. سیستم ها، از یک نمونه واحد از داده های آموزشی تغذیه می کنند که از طریق آن می توانند تصاویر یا کلمات مربوطه را شناسایی کنند. در حالی که کار با یک منبع داده ساده‌تر است، اما فاقد زمینه و اطلاعات پشتیبان برای انجام بهترین استنتاج ممکن است. در هوش مصنوعی چندوجهی، دو یا چند جریان اطلاعات را می توان پردازش کرد، که برای سیستم هوش مصنوعی امکان استنتاج بهتر را فراهم می کند.یادگیری چندوجهی، داده‌های گوناگون (جمع‌آوری‌شده از حسگرها و ورودی‌های داده‌های مختلف) را در یک مدل قرار می دهد. از آنجایی که از چندین حسگر برای مشاهده داده‌ها استفاده می‌شود، در مقایسه با یک سیستم تک‌وجهی، پیش‌بینی‌های پویاتری ارائه می‌دهد. پردازش مجموعه داده‌های بیشتر به بینش‌های هوشمندانه‌تری تبدیل می‌شود.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Tue, 05 Apr 2022 11:27:02 +0430</pubDate>
            </item>
                    <item>
                <title>انواع هوش مصنوعی</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-n6jpqlbnlx3j</link>
                <description>هوش مصنوعی ضعیف (Weak AI): هوش مصنوعی ضعیف، رایج ترین نوع هوش مصنوعی است که با نام هوش مصنوعی محدود (Narrow AI) هم شناخته می شود. ابزاری از هوش مصنوعی است که بر انجام خوب یک وظیفه تمرکز دارد یعنی برای انجام کار خاصی که برای آن برنامه ریزی شده، بسیار هوشمند است. سیستم های پیشنهاد دهنده خرید، بازی شطرنج و پیش بینی وضعیت آب و هوا مثال هایی از این نوع هوش مصنوعی هستند. بینایی کامپیوتر، پردازش زبان طبیعی و تشخیص گفتار نیز در محدوده هوش مصنوعی ضعیف هستند.هوش مصنوعی قوی (Strong AI): هوش مصنوعی قوی که هوش مصنوعی عمومی (General AI) نیز نامیده می شود، نشان دهنده هوش سطح انسانی است. بنابراین، می تواند به روش مشابه یک انسان بفهمد، فکر کند و عمل کند، همچنین دارای خود آگاهی و احساسات است. هر کاری که یک انسان می تواند انجام دهد، هوش مصنوعی قوی هم می تواند انجام دهد. مانند داستان های علمی تخیلی از قبیل ترمیناتور، هدف ساخت ماشینی است که هوشی در سطح  هوش یک انسان واقعی دارد.هوش مصنوعی سوپر (Super AI): هوش مصنوعی سوپر یا هوش فوق العاده (super intelligence) از هوش و توانایی انسان پیشی گرفته و هرکاری از جمله ریاضیات، پزشکی و سرگرمی را به بهترین شکل انجام می دهد. حتی نوابغ انسانی نیز توانایی نزدیک به هوش مصنوعی سوپر را ندارند.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Thu, 20 Jan 2022 20:53:21 +0330</pubDate>
            </item>
                    <item>
                <title>چولگی(Skewness) و کشیدگی (Kurtosis)</title>
                <link>https://virgool.io/@maryam.hasanali/%DA%86%D9%88%D9%84%DA%AF%DB%8Cskewness-%D9%88-%DA%A9%D8%B4%DB%8C%D8%AF%DA%AF%DB%8C-kurtosis-mf0egabu6tej</link>
                <description>درک ابعاد داده کار مهمی است و به فهم اینکه بیشتر اطلاعات در کجا قرار گرفته اند و همچنین یافتن داده های پرت کمک می کند. در اکثر مواقع یک توزیع (distribution) با میانگین و واریانس توصیف می شود. در مرحله بعد، از چولگی (skewness) و کشیدگی(kurtosis) برای توصیف آن استفاده می شود.چولگی(Skewness):چولگی یک معیار تقارن یا عدم تقارن در یک توزیع آماری است. در آمار، چولگی درجه ایی از عدم تقارن مشاهده شده در یک توزیع احتمالاتی را نشان می دهد که از توزیع نرمال متقارن (bell curve) در یک مجموعه داده منحرف شده است. توزیع نرمال دارای چولگی صفر است. به طور کلی سه نوع چولگی داریم:متقارن (symmetrical): زمانی که چولگی نزدیک به صفر است و میانگین و میانه تقربیا برابر است.چولگی منفی (negative skew): زمانی که دنباله (tail) چپ نمودار هیستوگرام توزیع طولانی تر است و اکثر مشاهدات در دنباله راست متمرکز شده است. چولگی منفی، چولگی چپ یا دنباله چپ نامیده می شود. در این حالت میانه بزرگتر از میانگین است.چولگی مثبت (positive skew): زمانی که دنباله (tail)راست نمودار هیستوگرام توزیع طولانی تر است و اکثر مشاهدات در دنباله چپ متمرکز شده است. چولگی مثبت، چولگی راست یا دنباله راست نامیده می شود. در این حالت میانه کوچکتر از میانگین است.نمودار زیر سه نوع چولگی نشان داده شده است:انواع مختلف چولگیتفسیر مقادیر چولگی:متقارن (symmetric): مقادیر بین 0.5- تا 0.5داده با چولگی متوسط: مقادیر بین 0.5- و1- یا بین 0.5 و 1داده با چولگی بالا: مقادیر کمتر از -1و بزرگتر از 1وقتی داده ها دارای چولگی هستند، دنباله ممکن است در مدل های آماری مانند داده پرت (outlier) رفتار کند و به خصوص در مدل های رگرسیون می تواند تاثیر نامطلوبی در کارایی مدل داشته باشند. برخی از مدل های آماری مانند مدل های مبتنی بر درخت نسبت به داده های پرت مقاوم هستند، اما ممکن است بر روی مدل های دیگر تاثیر بگذارند. بنابراین نیاز به تبدیل داده دارای چولگی به توزیع نزدیک به توزیع نرمال می باشد.کشیدگی (Kurtosis):معیاری برای توصیف دامنه (tail) توزیع و توصیف شکل آن است. همچنین معیاری برای اندازه گیری قله (peak) یک توزیع است. قله بلندترین قسمت یک توزیع و دنباله انتهای توزیع است. یک توزیع با کشیدگی بالا اوج تیزتر و دنباله های عریض تر طولانی تری دارد در حالی که توزیع با کشیدگی کم، اوج گردتر و دنباله های باریک کوتاهتری دارد.سه نوع کشیدگی وجود دارد:میانه پهنا (Mesokurtic): دارای توزیع نرمال است.لپتوکورتیک (Leptokurtic): این توزیع دارای دنباله های عریض تر و قله تیزتر است. در این حالت مقدار کشیدگی مثبت و مقدار آن از 3 بزرگتر است. پلاتیکورتیک (Platykurtic): توزیع دارای قله پهن تر و پایین تر و دنباله های نارکتری است. در این حالت کشیدگی منفی و مقدار کمتر از 3 است.در شکل زیر منحنی مربوط به این سه نوع کشیدگی نشان داده شده است:انواع مختلف کشیدگی</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Wed, 27 Oct 2021 16:28:36 +0330</pubDate>
            </item>
                    <item>
                <title>مهارت های نرم (Soft Skills) مورد نیاز یک دانشمند داده</title>
                <link>https://virgool.io/@maryam.hasanali/%D9%85%D9%87%D8%A7%D8%B1%D8%AA-%D9%87%D8%A7%DB%8C-%D9%86%D8%B1%D9%85-soft-skills-%D9%85%D9%88%D8%B1%D8%AF-%D9%86%DB%8C%D8%A7%D8%B2-%DB%8C%DA%A9-%D8%AF%D8%A7%D9%86%D8%B4%D9%85%D9%86%D8%AF-%D8%AF%D8%A7%D8%AF%D9%87-r3qxe5xesbzd</link>
                <description>امروزه به دو مجموعه متفاوت از مهارت‌ها برای انجام کارها نیاز داریم که مهارت‌های سخت (Hard Skills) و مهارت‌های نرم (Soft Skills) نامیده می شوند.مهارت‌های سخت (Hard Skills) به توانایی فرد در انجام وظایف فنی و تخصصی گفته می‌شود. در واقع مهارت‌های سخت مجموعه‌ای از مهارت‌های اکتسابی، قابل تدریس و مربوط به دقت در جزئیات تخصصی است. مثل مهارت به‌کارگیری یک ابزار خاص مانند دستگاه جوش یا استفاده از یک نرم‌افزار مانند Excel.مهارت‌های نرم (Soft Skills) مهارت هایی هستند که با درونیات و خلق و خوی فرد سر و کار دارند. این مهارت ها به نحوه تعامل شخص با خود و سایر افراد مرتبط هستند و در انجام کارهای مختلف تاثیر می گذارند مانند مهارت‌ حل مسئله، توانایی هماهنگی در کار تیمی. یادگیری مهارت های نرم اگر چه به نظر آسان می رسد، اما به‌ مراتب از مهارت‌های سخت، دشوارتر است. یک دانشمند داده نیز برای انجام وظایف خود به مهارت های نرم نیاز دارد که در ادامه به آنها اشاره شده است.مهارت های نرمی که هر دانشمند داده باید داشته باشد:ارتباط (Communication): یکی از نیازمندیهای اصلی هر شغل، ارتباط است. ارتباط به دانشمندان داده این امکان را می دهد تا بینش های مبتنی بر داده خود را به گونه ایی قابل درک برای صاحبان مشاغل و ذینفعان بیان کنند و توضیح دهند این بینش ها چه ارزشی برای کسب کار آنها به ارمغان می آورد. این نتایج باید به طور موثر به مخاطبان فنی و غیر فنی انتقال یابد. به این ترتیب آنها می توانند دانش داده ایی را در سازمان ارتقا دهند.کنجکاوی (Curiosity): کنجکاوی دانشمندان داده را ترغیب می کند تا به دنبال پاسخ هایی برای حل بحران های تجاری باشند. آنها می توانند عمیق تر شوند و فراتر از فرضیات اولیه و پاسخ های سطحی بروند. پرسیدن دایم سوال &quot;چرا&quot; از راضی شدن دانشمند داده به یک پاسخ واحد جلوگیری می کند. دانشمند داده باید به اندازه کافی کنجکاو باشد تا نه تنها پاسخ مشکلات شناخته شده را بیاید بلکه برای پرسش های پنهان و نادیده گرفته شده نیز دنبال راه حل باشد. در نتیجه، آنها بینش هایی با کیفیت بالاتر از داده ها به دست می آورند.تیزهوشی تجاری (Business Acumen): دانشمند داده با حجم زیادی از دانش روبرو است. اگر آنها به طور مناسبی تفسیر نشوند، این اطلاعات ارزشمند از بین می روند زیرا مدیران سطح بالا هرگز نمی توانند از آنها برای تصمیمات تجاری استفاده کنند. بنابراین دانشمندان داده باید خود را به دانش گرایشات فعلی و آینده صنعت مجهز کنند و به مفاهیم و ابزارهای اصلی کسب و کار مسلط باشد.تطبیق پذیری (Adaptability): تطبیق پذیری یکی از متداول ترین مهارت های عصر حاضر می باشد. به دلیل اینکه نوآوری در تکنولوژی با سرعت زیادی در حال افزایش است، متخصصان باید با به روز ترین تکنولوژی ها سازگار شوند و یک دانشمند داده باید آماده پاسخ به گرایشات تجاری مختلف باشد.داستان سرایی (Storytelling) : داستان سرایی به دانشمند داده کمک می کند تا نتایج کار خود را به صورت منسجم و قابل درک، منتقل کند. داستان سرایی داده ها، بصری سازی سازی داده را به بعد دیگری می برد و این امکان را فراهم می کند که تصمیم گیرندگان مسائل را از دیدگاهی جدیدی ببینند. یک رویکرد داستان سرایی قانع کننده، روایتی قوی از داده ها ایجاد می کند که در آن ذینفعان به درک روشنی دست می یابند و بهتربن روش عمل را مشخص می کند.تفکر انتقادی (Critical Thinking): تفکر انتقادی به دانشمند داده این امکان را می دهد برای یک مسئله تحلیل علمی انجام دهند، سوالات خود را به درستی تنظیم کند، تعیین کنند که چگونه یافته های او به سازمان کمک کند و آنها را به عملکرد مورد نیاز نزدیک می کند. قبل از اعلام نظر خود، تحلیل علمی مسائل در حین تفسیر داده معقول به نظر می رسد. این کار دانشمندان داده را ترغیب می کند تا با نگاهی دقیقتر به منابع داده، همه زوایای مسئله را بررسی کرده و همچنان با کنجکاوی همه سوگیری ها را از خروجی نهایی حذف کنند.درک محصول (Product Understanding): به عنوان یک دانشمند داده، طراحی مدل همه چیز نیست و باید بینش های کاربردی برای بهبود کیفیت محصول ارائه دهد. با به دست آوردن درک کاملی از محصول، متخصصان می توانند به سرعت با رویکردی سیستماتیک شتاب بگیرند. آنها می توانند مدل ها را راه اندازی کنند و مهندسی ویژگی را بهبود بخشند. علاوه بر آن، این مهارت به آنها کمک می کند داستان سرایی خود را تکمیل کنند و افکار و بینش های نادیده گرفته شده در مورد محصول را آشکار کنند.کار تیمی (Team Player): دانشمندان داده در یک محیط جدا از دیگران کار نمی کنند. آنها باید اهمیت کار گروهی را تشخیص دهند و همکاری موثری با دیگران داشته باشند. برای انجام این کار، باید به سایر اعضای تیم گوش کنند و از نظرات آنها استفاده کنند.منبع: سایت simplelearn.com</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Fri, 03 Sep 2021 16:05:27 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری ماشین ترکیبی (Ensemble Machine Learning)</title>
                <link>https://virgool.io/@maryam.hasanali/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D8%AA%D8%B1%DA%A9%DB%8C%D8%A8%DB%8C-ensemble-machine-learning-d6hjkwinver2</link>
                <description>مدل های یادگیری ماشین  ترکیبی یا مدل های جمعی یکی از روشهای یادگیری ماشین است که در آن چندین مدل که یادگیری های ضعیف (weak learner) یا مدل های پایه (base models) نامیده می شوند برای حل یک مسئله آموزش داده می شوند و برای داشتن نتایج بهتر با هم ترکیب می شوند. زمانی که مدل های ضعیف به طور صحیح با یکدیگر ترکیب شوند می توانند مدل های دقیق تر و یا پایدارتری به وجود آورند.در مدل های یادگیری ماشین، انتخاب الگوریتم ها در به دست آوردن نتایج خوب بسیار مهم است. انتخاب مدل به متغیرهای زیادی در مسئله مانند مقدار داده ها، ابعاد داده ها و فرضیه توزیع وابسته است. داشتن مدلی با بایاس و واریانس کم (اگرچه این دو در اکثر موارد در جهت عکس هم هستند) دو ویژگی اساسی و مطلوب می باشند. در روشهای یادگیری ماشین ترکیبی، مدل های پایه به عنوان اجزای سازنده با یکدیگر ترکیب می شوند تا مدل های پیچیده تری به وجود آید. بیشتر اوقات این مدل ها به تنهایی عملکرد خوبی ندارند زیرا دارای بایاس یا واریانس بالا هستند.برای ایجاد یک روش یادگیری ماشین ترکیبی، ابتدا باید مدل های پایه را انتخاب کنیم. در بسیاری از موارد به خصوص روش های bagging و boosting، از یک الگوریتم یادگیری پایه واحد استفاده می شود، بنابراین تعدادی مدل پایه یکسان داریم که به روش های مختلف آموزش داده می شوند که به آن مدل های ترکیبی همگون می گویند. در روش های دیگر، انواع مختلفی از الگوریتم های یادگیری پایه مورد استفاده قرار می گیرند که به آن مدل های ترکیبی ناهمگون می گویند.یک نکته مهم در انتخاب مدل های پایه این است که که باید به صورت منطقی و منسجم (Coherent) با یکدیگر ترکیب شوند. یعنی اگر یک مدل پایه با بایاس کم و واریانس بالا انتخاب کنیم، باید از یک روش ترکیبی که تمایل به کاهش واریانس دارد استفاده کنیم، در حالی که اگر مدل های پایه با واریانس کم و بایاس بالا را انتخاب کنیم، باید از روشی که تمایل به کاهش بایاس دارد، استفاده کنیم. سه روش کلی برای ترکیب مدل های پایه وجود دارد:روش bagging: در این روش از مدل های پایه همگون استفاده می شود، آنها به صورت مستقل از یکدیگر و به صورت موازی آموزش می بینند و با فرایند میانگین گیری قطعی (Deterministic averaging process) با یکدیگر ترکیب می شوند.روش boosting: در این روش نیز از مدلهای پایه همگون استفاده می شود که به صورت دنباله ایی و با یک روش تطبیقی (Adaptive) آموزش می بینند (به طوری که یک مدل پایه وابسته به مدل قبلی خود است) و با یک استراتژی قطعی ترکیب می شوند. در شکل زیر تفاوت روش bagging و boosting را مشاهده می کنید.روش stacking: در این روش از مدل های پایه ناهمگون استفاده می شود که به صورت موازی آموزش می بینند و با آموزش یک متامدل (Meta-Model) بر روش خروجی های پیش بینی شده مدل های پایه، ترکیب می شوند.به طور تقریبی می توان گفت روش های bagging بیشتر بر ایجاد مدلی ترکیبی با واریانس کمتر نسبت به مدل های پایه خود، تمرکز دارد. در حالی که روش های boosting و stacking سعی در ایجاد مدلی قوی تر با بایاس کمتر نسبت به مدل های پایه خود دارند (حتی ممکن است واریانس هم کاهش یابد).تفاوت بین مدل bagging و مدل boostingدر ادامه مطلب به بررسی مفصل تر این روش ها می پردازیم:روش ترکیبی bagging: در روش های موازی مدل های متفاوت، مستقل از یکدیگر آموزش می بینند و می توان آنها را به صورت همزمان آموزش داد. شناخته شده ترین این روش bagging است که کوتاه شده کلمات Bootstrapping (خودراه انداز) و  Aggregation (تجمیعی) است و هدف آن ایجاد مدلی ترکیبی است که پایدارتر (more robust) از مدل های پایه سازنده خود می باشد. Bootstrapping یک تکنیک آماری است که شامل تولید نمونه ایی به سایز B (که نمونه های Bootstrapنامیده می شود) از دیتاستی به اندازه N به صورت تصادفی و با امکان جایگذاری B نمونه است. در شکل زیر نمونه ایی از روش bootstrapping نشان داده شده است.روش bootstrappingزمانی که مدلی را آموزش می دهیم صرف نظر از اینکه مسئله طبقه بندی یا رگرسیون باشد، تابعی به دست می آوریم که یک ورودی می گیرد و با توجه به مجموعه آموزشی یک خروجی باز می گرداند. ایده روش baggingساده است، چند مدل مستقل آموزش می بینند و از پیش بینی آن ها با یکدیگر ترکیب می شوند تا مدلی با واریانس کمتر به دست بیاوریم. اگر چه در عمل نمی توان مدلی کاملا مستقل به دست آورد زیرا به داده بسیار زیادی نیاز داریم اما با توجه به ویژگی های تقریبی خوب نمونه های Bootstrap، مدل های تقریبا مستقلی آموزش دیده می شوند.ابتدا، چندین نمونه bootstrap ایجاد می کنیم که هر یک از آنها به عنوان یک دیتاست تقربیا مستقل عمل می کند که از توزیع دیتاست اولیه بیرون کشیده شده است. سپس یک مدل پایه (مدل ضعیف) این نمونه های bootstrap آموزش می بینند و در نهایت خروجی ها با روش خاصی ترکیب می شوند و مدلی با واریانس کمتر نسبت به مدل های پایه خود به دست می آید. به طور خلاصه، مدل های پایه آموزش دیده، مانند نمونه های bootstrap تقریبا مستقل هستند و به طور یکسان توزیع شده اند. ترکیب خروجی مدل های پایه، نتایج مورد نظر را تغییر نمی دهد اما واریانس را کاهش می دهد.روش های مختلفی برای ترکیب مدل های پایه ایی که به صورت موازی آموزش داده شده اند، وجود دارد. برای مسائل رگرسیون، از خروجی این مدل ها میانگین گرفته می شود تا خروجی مدل ترکیبی به دست آید. برای مسائل طبقه بندی، کلاس خروجی هر یک از مدل های پایه به عنوان یک رای در نظر گرفته می شود و کلاسی که اکثریت آرا را کسب کند، خروجی مدل ترکیبی خواهد بود. این روش انتخاب سخت (Hard-voting) نامیده می شود. برای مسائل طبقه بندی می توان احتمالی برای هر یک از کلاس های بازگردانده شده توسط مدل ها در نظر گرفت و از این احتمالات میانگین گرفت و کلاسی با بالاترین احتمال متوسط را نگه داریم. این روش انتخاب نرم ( Hard-voting) نامیده می شود. روش های میانگین گیری یا رای گیری، می تواند ساده یا وزن دهی شده باشند.در نهایت می توان گفت یکی از مزایای مهم روش bagging این است که می تواند به صورت موازی اجرا شود. به دلیل اینکه مدل های مختلف مستقل از یکدیگر آموزش می بینند، در صورت نیاز می توان از تکنیک های موازی فشرده نیز استفاده کرد. الگوریتم جنگل تصادفی از روش های پراستفاده bagging است که در ادامه توضیح داده می شود.جنگل تصادفی (Random Forest):درخت یکی از مدل های محبوب در روش های ترکیبی است. مدل های قوی متشکل از چندین درخت، جنگل نامیده می شوند. درختان تشکیل دهنده یک جنگل می توانند سطحی یا shallow (کم عمق)  و یا عمیق (deep) باشند. درختان کم عمق، واریانس کم و بایاس بالایی دارند و برای روش های ترتیبی (که در ادامه توضیح می دهیم) انتخاب مناسب تری هستند. درختان عمیق، بایاس کم اما واریانس بالایی دارند و انتخاب مناسبی برای روش های bagging هستند که بر روی کاهش واریانس تمرکز دارند.جنگل تصادفی یکی از روش های bagging است که در آن درختان عمیق بر روی نمونه های bootstrap آموزش داده می شوند، سپس برای به دست آوردن خروجی با واریانس کمتر، با یکدیگر ترکیب می شوند. جنگل تصادفی روش دیگری برای آموزش درختانی که کمتر به هم همبسته (Correlated) هستند نیز دارد. زمانی که درختان بزرگ می شوند، به جای نمونه برداری از مشاهدات موجود در دیتاست برای تولید bootstrap، می توان از ویژگی ها نمونه برداری کرد و تنها زیرمجموعه ایی تصادفی از آن را برای ساخت درخت نگه داشت. نمونه برداری از ویژگی ها سبب می شود که همه درختان در هنگام تصمیم گیری به اطلاعات یکسانی توجه نداشته باشند و همبستگی بین خروجی های آنها کاهش یابد. مزیت دیگر نمونه برداری از ویژگی ها این است که فرآیند تصمیم گیری را در مقایل داده های مفقودی (Missing data)، پایدارتر می سازد. نمونه هایی با داده مفقودی می توانند بر اساس درختانی که ویژگی های آنها دارای مقادیر مفقودی نیستند، پیش بینی می شوند. بنابراین، الگوریتم جنگل تصادفی مفهوم bagging و انتخاب زیرفضای ویژگی تصادفی را ترکیب می کند تا مدلی با استحکام بیشتر ایجاد کند. در شکل زیر طرح کلی الگوریتم جنگل تصادفی آورده شده است. الگوریتم جنگل تصادفیروش ترکیبی boosting:در روش های ترتیبی (Sequential methods) مدل های پایه ترکیبی، به صورت مستقل از یکدیگر آموزش نمی بینند. ایده اصلی این است که مدل ها به صورت تکراری آموزش ببینند به طوری که آموزش مدل در یک مرحله، وابسته به مدل های آموزش دیده در مراحل قبلی است. boosting از مشهورترین این مدل ها است و مدل های ترکیبی ایجاد می کند که بایاس آن کمتر از مدل های پایه سازنده است.روش boosting با همان ایده روش bagging کار می کند: تعدادی مدل ایجاد می کنیم که برای به دست آوردن مدلی قویتر با کارایی بهتر، با یکدیگر ترکیب می شوند. اگرچه، برخلاف روش bagging که هدف آن کاهش واریانس است، boosting تکنیکی است که شامل آموزش چندین مدل پایه به صورت دنباله ایی و به روشی تطبیقی (Adaptive) است. در هر مدل دنباله ایی از مدل های پایه آموزش داده می شود و به نمونه هایی از دیتاست که توسط مدل های قبلی در دنباله به درستی آموزش ندیده اند، اهمیت بیشتری داده می شود.  هر مدل جدید تلاش خود را بر روی آموزش سخت ترین نمونه ها متمرکز می کند و انتهای فرآیند مدلی قویتر با بایاس کمتر به دست می آید (اگرچه boosting می تواند سبب کاهش واریانس نیز شود). boostingمانند bagging می تواند در مسائل رگرسیون و طبقه بندی به کار می رود.با توجه به اینکه در روش boosting تمرکز بر کاهش بایاس است، مدل های پایه ایی که در این روش به کار گرفته می شوند، مدل هایی با واریانس کم و بایاس زیاد هستند. برای مثال اگر می خواهید از درخت به عنوان مدل پایه استفاده کنید، می توان از درختان تصمیم سطحی (کم عمق) استفاده کرد. دلیل دیگر برای استفاده از مدل هایی با واریانس کم و بایاس زیاد به عنوان مدل های پایه این است که این مدل ها هزینه محاسباتی کمتری در آموزش دارند. در حقیقت، محاسبات برای آموزش مدل هایی که نمی توانند به صورت موازی آموزش داده شوند (برخلاف روش های bagging)، می تواند بسیار سنگین باشد زیرا چندین مدل پیچیده به صورت دنباله ایی آموزش می بینند.زمانی که مدل های پایه انتخاب شدند، باید تعیین کنیم چگونه این مدل ها به صورت دنباله ایی آموزش ببیند؟ (چه اطلاعاتی از مدل های قبلی در آموزش مدل کنونی، مورد استفاده قرار گیرند؟)، چگونه مدل ها با یکدیگر ترکیب شوند؟ (چگونه مدل کنونی را با مدل های قبلی ترکیب کنیم؟). دو روش مهم boosting الگوریتم های Adaboost و Gradient boosting می باشند. این دو الگوریتم در چگونگی ایجاد و ترکیب مدل های پایه در طول فرآیند دنباله ایی با یکدیگر تفاوت دارند. Adaboost وزن های متصل به هر نمونه آموزشی را به روز رسانی می کند در حالیکه gradient boosting مقدار این نمونه ها را به روز رسانی می کند. تفاوت اصلی آنها از روش حل مسئله بهینه سازی یافتن بهترین مدل برای مجموع وزن دهی شده مدل های پایه ناشی می شود.روش AdaBoost: روش AdaBoost تعداد n درخت تصمیم را در زمان آموزش داده ایجاد می کند. هنگامی که اولین درخت تصمیم ایجاد شد، نمونه هایی که در اولین مدل، نادرست طبقه بندی شده اند، اولویت بیشتری به خود اختصاص می دهند و تنها این نمونه ها به دومین مدل فرستاده می شوند. روش استفاده شده در ایحاد مدل های پایه، تخصیص وزن های بالاتر به نمونه هایی است که با دقت  کمتری تخمین زده شده اند. در تکرار بعدی، مدل بر روی نمونه هایی با مقادیر وزن بالا تمرکز می کند. در شکل زیر نمای کلی از الگوریتم Adaboost آورده شده است.الگوریتم Adaboostروش ترکیبی stacking:روش ترکیبی stacking از دو جهت با روش های boostingو bagging تفاوت است. اول اینکه stacking از مدل های پایه ناهمگون استفاده می کند و الگوریتم یادگیری ماشین متفاوت را با یکدیگر ترکیب می کند، در حالی که روش های bagging و boosting از مدل های پایه همگون استفاده می کنند. دوم اینکه روش stacking، مدل های پایه را با استفاده از متامدل با یکدیگر ترکیب می کنند درحالی که bagging و boosting از الگوریتم های قطعی برای ترکیب مدل های پایه با یکدیگر استفاده می کنند.همانطور که قبلا نیز اشاره کردیم، ایده اصلی stacking آموزش چندین مدل پایه متفاوت و ترکیب آنها از طریق آموزش یک متامدل است تا بر اساس پیش بینی های انجام شده توسط مدل های پایه، پیش بینی نهایی را انجام دهد. پس برای ساخت مدل stacking نیاز به دو مورد وجود دارد:  L مدل پایه برای آموزش داده ها و یک متامدل برای ترکیب نتایج. برای مثال، در یک مسئله طبقه بندی، می توان یک طبقه بند KNN، یک رگرسیون Logistic و SVM را به عنوان مدل های پایه در نظر گرفت و از شبکه عصبی به عنوان متامدل استفاده کرد. شبکه عصبی به عنوان ورودی خود، خروجی سه مدل پایه را دریافت می کند و پیش بینی نهایی بر اساس آن تولید می کند. شکل زیر طرح کلی روش stacking را نشان می دهد. روش ترکیبی stacking آموزش یک مدل stacking متشکل از L مدل پایه، شامل مراحل زیر ااست:تقسیم داده آموزشی به دو قسمتانتخاب L مدل پایه و آموزش آن بر روی قسمت اولبرای هر مدل پایه L، برای نمونه های موجود در قسمت دوم پیش بینی انجام شود.با استفاده از پیش بینی های انجام شده توسط مدل های پایه به عنوان ورودی، متامدل را بر روی قسمت دوم آموزش دهید.همانطور که گفته شد، دیتاست را دو قسمت تقسیم می کنیم زیرا پیش بینی هایی که بر روی داده های مورد استفاده برای آموزش مدل های پایه انجام شده است برای آموزش متامدل مورد استفاده قرار نگیرد. عیب این روش این است که تنها نیمی از داده ها برای آموزش مدل پایه و نیمی دیگر آن برای آموزش متامدل مورد استفاده قرار می گیرد. برای غلبه به این مشکل می توان از روشی شبیه به اعتبارسنجی متقاطع k-قسمتی (k-fold cross validation) استفاده کرد به طوری که همه نمونه های موجود در دیتاست بتوانند آموزش متامدل مورد استفاده قرار گیرند. برای هر نمونه، مدل های پایه بر روی نمونه هایی از k-1 قسمت که شامل نمونه مورد نظر نیست، آموزش داده شوند.روش ترکیبی stacking چند سطحی (Multi-level Stacking):یک نسخه توسعه یافته از استکینک، stacking چند سطحی است که شامل  چندین لایه است. برای مثال stacking سه لایه را در نظر بگیرید. در سطح (لایه) اول، L مدل ضعیف آموزش داده می شود. در سطح دوم به جای آموزش یک متامدل، M متامدل را آموزش می دهیم. در نهایت، در سطح سوم یک متامدل را آموزش می دهیم که ورودی آن پیش بینی هایی است که M متامدل لایه قبل انجام داده اند.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Tue, 06 Apr 2021 13:21:18 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری ماشین کوچک  (Tiny machine learning)</title>
                <link>https://virgool.io/@maryam.hasanali/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%DA%A9%D9%88%DA%86%DA%A9-tiny-machine-learning-d3ngfbtwnbsn</link>
                <description> یادگیری ماشین کوچک = یادگیری ماشین بر روی دستگاه های اینترنت اشیا یادگیری ماشین کوچک، به جای پردازش در ابر بر روی دستگاه های اینترنت اشیا محلی یا لبه (edge/ local IoT devices) به کار گرفته می شود و با تعبیه هوش مصنوعی بر روی سخت افزاری های کوچک، از یادگیری ماشین استفاده می کند.یادگیری ماشین کوچک، یکی از حوزه های در حال رشد یادگیری عمیق است و زیر مجموعه ایی از یادگیری ماشین تعبیه شده، الگوریتم، سخت افزار و نرم افزار است. هدف آن فعال سازی واسط هایی با تاخیر کم در دستگاه های لبه است که تنها چند میلی وات از توان باتری را مصرف می کنند. چنین کاهشی در مصرف، دستگاه های یادگیری ماشین کوچک را قادر می سازند هفته ها، ماه ها و یا حتی سال های دوام بیاورند در حالی که برنامه یادگیری ماشین در لبه یا نقطه انتهایی آن به صورت مداوم فعال است.  یادگیری ماشین همچنین مسائل امنیت داده، حریم خصوصی، تأخیر، ذخیره و بهره وری انرژی را حل می کند.نمونه های کاربرد:تکنولوژی های مراقبت از سلامت بلادرنگنظارت از راه دور پاسخ های اضطراری</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Wed, 20 Jan 2021 16:51:57 +0330</pubDate>
            </item>
                    <item>
                <title>تفاوت بین ANN، CNN و RNN:</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%A8%DB%8C%D9%86-ann-cnn-%D9%88-rnn-yqbrwvwptfix</link>
                <description>شبکه عصبی مصنوعی –Artificial Neural Network –ANNیک پرسپترون یا نرون را می توان مانند یک رگرسیون logistic در نظر گرفت. شبکه عصبی مصنوعی یا ANN از گروهی از چندین پرسپترون / نورون در هر لایه تشکیل شده است. شبکه عصبی مصنوعی به عنوان شبکه عصبی پیشخور (Feed-Forward ) نیز نامیده می شود زیرا ورودی ها فقط در جهت رو به جلو پردازش می شود. ANN از لایه های ورودی، مخفی و خروجی تشکیل شده است. هر لایه سعی می کند وزن های معینی را یاد بگیرد. این شبکه ها می توانند عمیق (deep) یا سطحی (shallow) باشند. شبکه های سطحی دارای یک لایه مخفی (یعنی یک لایه بین ورودی و خروجی) هستند. اما شبکه های عمیق دارای تعداد بیشتری لایه هستند که به آنها شبکه عصبی عمیق (Deep Neural Network) می گویند. این شبکه ها می توانند برای حل مسائل مربوط به داده های جدولی، داده های عکس و داده های متن به کار گرفته شود. در شکل زیر نمونه ایی از شبکه های عمیق و سطحی را مشاهده می کنید.مزایا:ذخیره اطلاعات در کل شبکهتوانایی کار با دانش ناکاملتوانایی تحمل خطاداشتن حافظه توزیع شدهمعایب:وابستگی به سخت افزاررفتار غیر قابل توضیح شبکهتعیین ساختار مناسب شبکهشبکه عصبی پیچشی – Convolutional Neural Network –CNNشبکه عصبی پیچشی از انواع شبکه عصبی و یکی از مدل های پر استفاده امروزی است. CNN در حوزه ها و کاربردهای متفاوتی به کار می روند اما به صورت ویژه در پروژه های پردازش ویدئو، عکس وبینایی ماشین کاربرد دارند. مرکز شبکه عصبی پیچشی، لایه کانولوشن یا پیچشی است و دلیل نامگذاری این نوع شبکه محسوب می شود. این لایه، عملیاتی به نام کانولوشن را انجام می دهد و برای دریافت و پردازش داده پیکسلی به وجود آمده است. شبکه عصبی پیچشی از پرسپترون های چند لایه و یک یا چند لایه کانولوشن تشکیل شده است که می تواند کاملا متصل باشد یا ادغام باشد. در عکس زیر نمونه ایی از این شبکه ها را مشاهده می کنید.مزایا:دقت بسیار بالا در مسائل تشخیص عکستشخیص خودکار ویژگی های مهم بدون نظارت انسانیمعایب:این شبکه موقعیت و جهت اشیا را کد گذاری نمی کندفقدان توانایی عدم تطابق مکانی با داده های ورودیبه داده های آموزشی زیادی نیاز استشبکه عصبی بازگشتی – Recurrent Neural Network – RNNشبکه عصبی بازگشتی، شبکه پیچیده ایی است. هدف آنها پردازش داده های دنباله ایی است. RNN می تواند به علت داشتن حافظه داخلی، ورودی قبلی خود را به خاطر بسپارد و از این حافظه برای پردازش دنباله ایی از ورودی ها استفاده کند. در این شبکه ها خروجی گره های پردازشی ذخیره می شود و نتیجه دوباره به مدل بازگرداننده می شوند. این نوع شبکه ها اطلاعات را تنها در یک جهت (از لایه ورودی به خروجی)  عبور نمی دهند. هر گره در شبکه های RNN مانند یک سلول حافظه عمل می کند و محاسبه و اجرای عملیات را ادامه می دهد. اگر شبکه پیش بینی نادرستی انجام دهد، سیستم خود یادگیری (self-learn) انجام می دهد و به اصلاح پیش بینی خود در طول پس انتشار (backpropagation) ادامه می دهد. شبکه عصبی بازگشتی برای داده های سری زمانی، داده های متنی و داده های صوتی به کار می رود. دو نوع متداول تر لایه های بازگشتی حافظه کوتاه مدت طولانی (long short term) یا LSTM و واحدهای بازگشتی دروازه ایی (Gated Recurrent Units) یا GRU هستند. نمایی ساده از این شبکه ها را در شکل زیر مشاهده می کنید:مزایا:این شبکه ها اطلاعات را در طول زمان به خاطر می آورند. به دلیل ویژگی به یادآوری ورودی های قبلی، در پیش بینی سری زمانی مفید است.شبکه RNN می تواند با لایه کانولوشن به کار گرفته شود.معایب:آموزش شبکه RNN کار دشواری است.مقایسه سه نوع شبکه ANN، CNN و RNN:</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Fri, 27 Nov 2020 11:49:29 +0330</pubDate>
            </item>
                    <item>
                <title>راهنمای رزومه نویسی برای متخصص علم داده:</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%D8%B1%D8%B2%D9%88%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%AA%D8%AE%D8%B5%D8%B5-%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-p4cikvbkoufb</link>
                <description>برای درخواست یک فرصت شغلی در هر کمپانی یا شرکتی نیاز به یک رزومه داریم و در واقع رزومه لایه نخست عبور از فرآیند استخدام است. رزومه شرح مختصری از صلاحیت ها و تجربیات شخصی، آموزشی و حرفه ایی فرد است. اگرچه نوشتن یک رزومه کار ساده ایی به نظر می رسد، اما چالش برانگیز است. در ادامه به نکاتی درمورد نوشتن رزومه  دقیق و شفاف در زمینه علم داده آورده شده است. اگر چه رزومه و cv با هم تفاوت هایی دارند، ولی در اینجا این دو لغت یکسان در نظر گرفته شده است.یک رزومه معمولا از بخش های زیر تشکیل شده است:نام عنوان شغلی اطلاعات تماسپروژه ها و نشریات (publications)تجربیات شغلیتحصیلات دانشگاهیمهارت ها سایر موارد (Extras)در ادامه به توضیح دقیق تر هر کدام از این موارد می پردازیم.رزومه علم داده خود را کوتاه نگه دارید: اولین نکته ایی که در نوشتن رزومه باید به آن توجه کنید این است که رزومه خود را کوتاه و خلاصه بنویسید. یک رزومه خوب باید یک صفحه باشد مگر اینکه ده سال تجربه کاری مرتبط با شغل درخواستی خود داشته باشید. کارفرمایان هر روزه تعداد زیادی رزومه دریافت می کنند و برای هر رزومه حدود 30 ثانیه وقت می گذارند و تصمیم گیری می کنند. ممکن است تعداد زیادی پروژه علم داده داشته باشید که می خواهید آنها را در رزومه مطرح کنید، اما باید اولویت بندی کنید نقاط مرتبط و مهم تجربیات خود را در رزومه بیاورید.رزومه خود را با توجه به توصیف شغل و شرکت مورد نظر سفارشی کنید:اگر چه می توانید یک رزومه شغلی علم داده تهیه کنید و آنرا برای هر فرصت شغلی مربوطه ارسال کنید، اما بهتر است رزومه خود را برای هر درخواستی، سفارشی سازی کنید. این عمل نیازمند کار بیشتری است، اما با افزودن جزئیات بیشتر که مطابق با شرح شغل مورد درخواست است، روی کارفرما تاثیر مثبتی می گذارید. می توانید با مراجعه به سایت شرکت مورد نظر نیز اطلاعات بیشتری در مورد فرصت شغلی مذکور بیابید. زمانی که از مهارت های مورد نیاز یک شغل اطلاع پیدا کردید، مطمئن شوید که آنها را در رزومه خود برجسته کرده اید.یک قالب برای رزومه خود انتخاب کنید: با اینکه هر رزومه ایی شامل اطلاعاتی مانند تجربیات کاری گذشته، مهارت ها، اطلاعات تماس و ... است، اما شما باید یک رزومه مخصوص به خود داشته باشید. می توانید رزومه خود را از ابتدا طراحی کنید، اما راه آسانتر این است که از وب سایت های رایگانی مانند VisualCV، CVMKR و یا قالب های رزومه گوگل داک استفاده کنید. به خاطر داشته باشید انتخاب نوع قالب رزومه نیز مهم است. مثلا زمانی که درخواستی به شرکتی با حال و هوای سنتی (مانند DELL یا HP) می دهید، از قالب های کلاسیک استفاده کنید. مانند شکل زیر:رزومه با قالب کلاسیکاما وقتی که به شرکتی با حال و هوای استارت آپی (مانند گوگل و فیس بوک) درخواست می فرستید، می توانید ذوق بیشتری به خرج دهید و از گرافیک و رنگ نیز استفاده کنید. مانند شکل زیر:اطلاعات تماس: همیشه بخش مربوط به اطلاعات تماس را دوبار کنترل کنید. نام، عنوان شغلی و اطلاعات تماس همیشه باید در بالای صفحه قرار داشته باشد. اگر یک کارفرما بخواهد بر اساس رزومه با شما تماس بگیرد، نباید کل صفحه برای یافتن اطلاعات تماس شما، جستجو کند. چند نکته در مورد اطلاعات تماس خود بخصوص با توجه زمینه علم داده در نظر بگیرید:کل آدرس فیزیکی خود را در رزومه نیاورید و فقط شهر و منطقه خود را در رزومه بیاورید.مطمئن شوید که یک شماره تلفن پاسخگو و یک آدرس ایمیل حرفه ایی در رزومه قید کرده اید. یک آدرس ایمیل خوب ترکیبی از نام و نام خانوادگی شماست (مانند firstname.lastname@gmail.com یا firstname@yourwebsiteURL.com) می باشد. از ایمیل های شخصی در رزومه خود استفاده نکنید.رزومه باید شامل لینک پروفایل لینکدین شما باشد. اما همه آدرس URLلینکدین خود را کپی نکنید، چون ظاهر جالبی ندارد. می توانید URLپروفایل شخصی سازی شده و کوتاهتری از این لینک ایجاد کنید یا می توانید به سادگی از سرویس های کوتاه سازی URL مانند bit.ly استفاده کنید.می توانید لینک گیت هاب یا لینک پروفایل شخصی خود را به اطلاعات تماس اضافه کنید و آن را قابل کلیک کردن بسازید. زمانی که برای شغل های مرتبط با علم داده درخواست می دهید، بیشتر کارفرمایان می خواهند نگاهی به نمونه کارهای شما بیاندازند و ببیند روی چه پروژه هایی کار کرده اید.مطمئن شوید عنوان شغلی شما (که معمولا زیر نام شما قرار دارد) نشان دهنده عنوان شغلی است که جستجو می کنید نه شغلی که در حال حاضر دارید. اگر می خواهید به عنوان یک دانشمند داده کار کنید، عنوان شغلی شما باید دانشمند داده باشد، حتی اگر در حال حاضر آشپز هستید.نمونه ایی از بخش اطلاعات تماس در لینک زیر آورده شده است:پروژه ها و نشریات (publications) مربوط به علم داده:بلافاصله بعد از نام، عنوان شغلی و اطلاعات تماس باید بخش مربوط به پروژه ها و نشریات قرار گیرد. در هر رزومه ایی، به ویژه در صنعت فناوری، اصلی ترین چیزی که که باید برجسته کنید چیزی هایی هستند که ایجاد کرده اید. در حوزه علم داده، این کارها می تواند شامل پروژه های تحلیل داده، پروژه های یادگیری ماشین، مقالات علمی منتشر شده یا حتی آموزش های کدنویسی باشد. کارفرمایان می خواهند بدانید آیا شما می توانید مهارت های ادعا شده را اثبات کنید.پروژه های مرتبط با شغل درخواستی را در رزومه به نمایش بگذارید: اگر چه یک رزومه می تواند شامل پروژه های شخصی باشد، اما باید پروژه های مرتبط با شغلی که درخواست دادید را انتخاب کنید. پروژه ها باید مهارت های تکنیکی شما را نشان دهد، اما همچنین باید نشان دهد چگونه مهارت های شما برای حل مسائل کسب و کار دنیای واقعی قابل به کارگیری است.  باید حداقل یک پروژه یا مقاله در رزومه خود داشته باشید، اما تا آنجا که می توانید تعداد آنها را افزایش دهید.مهارت های خود برجسته کنید: زمانی که پروژه ایی را شرح می دهید، در مورد مهارت ها، ابزارها، تکنولوژی های مورد استفاده، چگونگی ایجاد پروژه و سهم فردی شما اگر پروژه را به صورت گروهی انجام دادید، توضیح دهید. زبان برنامه نویسی و کتابخانه های مورد استفاده را مشخص کنید. نگران این نباشید که این مهارت ها را دوباره در بخش مهارت های رزومه تکرار کنید. در حقیقت هر چه تعداد دفعات تکرار این ابزارها، تکنولوژی ها و مهارت ها در رزومه بیشتر باشد، بهتر است.چگونه مهارت های ارتباطی را به تصویر بکشیم؟ به یاد داشته باشد که کار دانشمند داده فقط کار با داده ها نیست، باید داده ها را تحلیل کند و سپس یافته های را برای حل مسائل کسب و کار مبادله کند. کارفرمایان علم داده به دنبال افرادی هستند که نه تنها مهارت های تکنیکی مورد نیاز را داشته باشند، بلکه بتوانند ارتباطات موثری برقرار کنند. آنها دانشمندان داده ایی را می خواهند که به طور موثر با داده ها داستان سرایی کنند. یکی از راههای نشان دادن این ویژگی، برجسته کردن پروژه های اشتراکی است که اثبات می کند می توانید با یک تیم کار کنید و ارتباط داشته باشید. همچنین موفقیت های خود را با معیارهای کسب و کارها کادربندی کنید زیرا نشان می دهد شما درک می کنید چگونه تحلیل شما قابل به کارگیری در مسائل کسب و کارهای بزرگتر است.چگونه پروژه های خود را برجسته کنید: روش خوبی که می تواند شما را از دیگران متمایز کند، ذکر کارهایی است که با داده های غیر ساختاری انجام داده اید. برای مثال می توانید با داده های ویدئو، پست ها، بلاگ ها، نظرات مشتریان و فایل های صوتی کار کنید. تجربه کار با داده های ساختارنایافته بسیار چشمگیر است زیرا نشان می دهد قادر به کار با داده های غیر تمیز هستید نه اینکه تنها با داده های تر و تمیز دیتاست ها سروکار داشته اید. در صورت امکان، مطمئن شوید نتایج قابل اندازه گیری پروژه های خود را در رزومه آورده اید. برای مثال، اگر مدل یادگیری ماشینی ایجاد کردید که اهداف فروش را 15 درصد افزایش داده است، آن را بیان کنید. در شکل زیر نمونه ایی از آنچه در این قسمت گفته شد، آمده است:تجربیات شغلی:در این بخش باید تجربیات کاری یا تخصصی خود را بیان کنید. جدیدترین تجربیات کاری را باید در ابتدا و تجربیات قبلی را به ترتیب در زیر آن بیاورید. این که چند سال از تجربیات خود را در رزومه قید کنید، به عوامل مختلفی بستگی دارد. اما معمولا 5 سال آخر تجربیات شغلی در رزومه آورده می شود. اما اگر تجربه کاری مرتبط با شغلی درخواستی دارید که مربوط به بیش از 5 سال قبل است، آن را در رزومه بیاورید.به خاطر داشته باشید، نباید همه تجربیات کاری خود را در رزومه قید کنید، اما مطمئن شوید سوابقی که در رزومه مطرح کردید، یکپارچه است. فاصله بیش از 6 ماه بین تجربیات شغلی خط قرمزی برای کارفرمایان می باشد. اگر چنین فاصله ایی وجود دارد، دلیل آن را توضیح دهید. مثلا اگر دو سال به خاطر تولد و بزرگ کردن فرزندتان از کار فاصله گرفته اید، آن را در رزومه قید کنید.زمانی که تجربیات کاری خود را در رزومه می آورید، باید در هر مورد عنوان شغلی، نام شرکت، مدت زمانی که در آن شغل بودید و موفقیت های خود را در آن شغل بیاورید. فرمت یکسانی را برای کل رزومه و بخصوص این بخش در نظر بگیرید. برای مثال اگر برای توصیف یک شغل از دایره های توپر استفاده کرده اید، برای سایر شغل ها نیز از همان فرمت استفاده کنید یا اگر برای مدت زمان تجربیات کاری خود از تعداد ماه (به جای سال) استفاده کردید، برای سایر موارد نیز همین کار را بکنید.اگر تجربه کاری مرتبط با شغل درخواستی دارید (مثلا اگر کار قبلی شما مرتبط با علم داده و تحلیل بوده است)، به جای شرح وظایف، بیشتر به موفقیت ها و دستاورد های خود در این شغل بپردازید. کارفرمایان بیشتر علاقمندند بدانند واقعا چه کارهایی انجام داده اید، نه اینکه قرار بوده چه کاری انجام دهید.به یاد داشته باشید، کادر بندی موفقیت ها و دستاورد ها در علم داده، با توجه به معیارهای کسب و کار، راه مناسبی برای نشان دادن فهم شما از تصویر کلی و درک چگونگی تبدیل نتایج تحلیل به نتایج کسب و کارهای واقعی است. اگر تجربه کاری مرتبط با شغل درخواستی ندارید، در این بخش تنها نام شرکت، عنوان شغلی خود و مدت زمان اشتغال را بیاورید و با بیان جزئیات شغل های نامرتبط، فضای رزومه را اشغال نکنید. در شکل زیر نمومه ایی از این بخش رزومه آورده شده است.تحصیلات دانشگاهی:اگرچه داشتن مدرک دانشگاهی بسیار خوب است، اما نیازی نیست آن را در اولین بخش رزومه خود بیاوررید مگر اینکه دانشجوی فارغ التحصیلی باشید که اولین شغل خود را در زمینه مرتبط جستجو می کند. در بسیاری از رزومه ها، تحصیلات در ابتدا قرار می گیرد اما اگر تجربه کاری کسب کردید و پروژه های مرتبطی برای ارائه دارید، آنها را در ابتدای رزومه قرار دهید و تحصیلات را نزدیک به انتها قرار دهید.در این بخش باید مدارک دانشگاهی خود را قرار دهید. اگر به دانشگاه رفته اید ولی آن را تمام نکردید و مدرک دریافت ننموده اید، بهتر است آن را در رزومه نیاورید. اگر مدرک تحصیلی شما مرتبط با شغل درخواستی تان نیست، آن را در رزومه بیاورید. اگر مدرک دانشگاهی ندارید، بخش تحصیلات دانشگاهی را از رزومه خود حذف کنید و تحصیلات دبیرستانی خود را در این در این بخش نیاورید زیرا این کار نیز خوشایند کارفرمایان نیست. همچنین، گواهی های دوره های آنلاین یا سایر دوره های تخصصی را نیز در این بخش قرار ندهید. بسیاری از دانشمندان داده این دوره ها را گذرانده اند و قرار دادن این گواهی ها در رزومه کار درستی است، اما نباید در بخش مدارک تحصیلی قرار بگیرند. نمونه ایی از بخش تحصیلات در شکل زیر آورده شده است:مهارت ها، گواهی های پایان دوره و سایر موارد (Extras):اگر به دنبال اولین شغل خود در زمینه علم داده هستید، نشان دادن مهارت ها و تجربیات مطرح شده در رزومه کار سختی است. اما روش هایی برای نشان دادن مهارت های خود، علاوه بر قرار دادن آنها در بخش پروژه ها و نشریات علم داده وجود دارد:قرار دادن مهارت هایی که آموختید در بخش مهارت هاافزودن بخش سایر موارد درباره فعالیت های و آموزش های مرتبطبخش مهارت ها انتخابی نیست: برای موقعیت های فنی، بخش مهارت ها ضروری است. به احتمال زیاد، اولین گام کارفرمایان در مواجهه با رزومه شما این است که به دنبال کلمات کلیدی مانند پایتون یا یادگیری ماشین می گردند. تنها مهارت های فنی را در این بخش قرار دهید و مهارت های نرم مانند مهارت های ارتباطی یا مدیریتی را در این بخش قرار ندهید. مهارت های مرتبطی را که به آن تسلط دارید را در ابتدای این بخش قرار دهید و مهارت هایی که در آن ضعیف هستید یا به شغل مورد نظر کمتر مرتبط است را در انتها قرار دهید. اگر به مهارتی تسلط ندارید، آن را در رزومه قید نکنید، زیرا کارفرمایان در مورد آن از شما سوالاتی می پرسند که باید پاسخگو باشید. مثلا اگر تنها یکبار کتابی در مورد زبان برنامه نویسی R خوانده اید ولی به این زبان کد نویسی نکرده اید، آن را جزء مهارت های خود قرار ندهید.چه زمانی بخش سایر موارد  را اضافه کنیم؟ اگر همه بخش های ذکر شده را در رزومه آوردید و هنوز فضای خالی در رزومه دارید، می توانید بخش سایر موارد را برای نشان دادن یادگیری و توانایی رشد خود در این زمینه را به رزومه اضافه کنید. در این بخش می توانید جوایز، گواهی های پایان دوره، آموزش ها و یا هر چیز دیگری که حرفه ایی و مناسب به نظر می رسد را قرار دهید. در حوزه علم داده، در این قسمت می توانید نتایج مسابقات کگل (kaggle)، گواهی های پایان دوره، رویدادهای مرتبطی که در آن شرکت کرده اید و هر چیزی که نشان می دهد شما در حال یادگیری و فعالیت در این حوزه هستید، قرار دهید. هاکاتون های (hackathons) علم داده و یادگیری ماشین، مزیت بزرگی برای رزومه شما هستند. آنها نشان می دهند شما دارای روحیه رقابتی سالم هستید و هنگامی که محتوی و پروژه های واقعی تولید می کنید، می توانید دانش و مهارت های خود را افزایش دهید. این موارد نیز می تواند در این بخش قرار گیرند. نمونه ایی از بخش مهارت ها و موارد دیگر در شکل زیر قابل ملاحظه است:نکته آخر:پس از قرار دادن همه بخش های مربوطه در رزومه، آخرین کار مهم بررسی املا و دستور زبان رزومه است. داشتن اشتباهات دستوری یا املایی تاثیر منفی بر روی کارفرمایان می گذارد. از یک یا چند دوست خود بخواهید رزومه را بررسی کنند و به شما بازخورد بدهند. در ادامه نمونه ایی از یک رزومه کامل در حوزه علم داده را مشاهده می کنید:منبع: سایت www.dataquest.ioبا توجه به اینکه  این نوشته با توجه به منابع خارجی تهیه شده است، لطفا پیشنهادات و نظرات خود را برای بومی سازی و بهبود این مطلب بیان بفرمایید. </description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Sat, 17 Oct 2020 12:39:43 +0330</pubDate>
            </item>
                    <item>
                <title>انواع الگوریتم های طبقه بندی در یادگیری ماشین</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D8%B7%D8%A8%D9%82%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D8%AF%D8%B1-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-olk8yh5rnjuy</link>
                <description>طبقه بندی (Classification) یکی از روش های یادگیری ماشین است و برای یادگیری چگونگی تخصیص برچسب کلاس به یک نمونه ورودی، استفاده می شود. برای مثال، با طبقه بندی می توان مشخص کرد که یک ایمیل اسپم است یا خیر. برچسب های کلاس در اینجا اسپم و غیر اسپم هستند که باید به مقادیر عددی تبدیل شوند، یعنی اسپم را برابر صفر و غیر اسپم را برابر یک قرار می دهیم. مثال دیگر از طبقه بندی، دسته بندی کاراکترهای دست نویس به کاراکترهای موجود می باشد.شاید بتوان مسئله طبقه بندی را به چهار دسته تقسیم کرد:طبقه بندی دودوییطبقه بندی چند کلاسهطبقه بندی چند برچسبیطبقه بندی نامتوازندر ادامه به بررسی مختصر هر یک از این موارد می پردازیم.طبقه بندی دودویی (Binary Classification): مسائل طبقه بندی که دارای دو برچسب کلاس هستند. مانند مسئله شناسایی ایمیل اسپم که دارای دو برچسب اسپم یا غیر اسپم است یا در آزمایشات پزشکی، مشخص می شود یک بیمار دارای بیماری خاصی است یا خیر، بنابراین دارای دو برچسب بیمار یا غیر بیمار هستیم. در واقع در طبقه بندی دودویی، همانطور که در شکل زیر می بینید، یک کلاس حالت نرمال و کلاس دیگر حالت غیر نرمال را نشان می دهد.طبقه بندی دودوییالگوریتم های رایج برای طبقه بندی دودویی شامل موارد زیر است:Logistic RegressionK-Nearest NeighborsDecision TreesSupport Vector MachineNaïve Bayesطبقه بندی چند کلاسه (Multi-Class Classification):طبقه بندی چند کلاسه، وظایف طبقه بندی هستند که دارای بیش از دو برچسب کلاس هستند. به طور مثال، در شکل زیر دارای سه کلاس مختلف هستیم. مانند طبقه بندی چهره، طبقه بندی گونه های گیاهی و شناسایی کاراکترهای نوری. برخلاف طبقه بندی دودویی، نمونه ها، متعلق به طیف وسیعی از کلاس های شناخته شده می باشند. تعداد برچسب کلاس ها در بعضی از مسائل، ممکن است بسیار زیاد باشند. برای مثال، در سیستم تشخیص چهره، مدل پیش بینی می کند عکسی به یکی از ده ها هزار چهره موجود در سیستم، تعلق دارد یا نه.طبقه بندی چند کلاسهتعدادی از الگوریتم ها محبوب برای مسائل طبقه بندی عبارتند از:K-Nearest NeighborsDecision TreesNaïve BayesRandom ForestGradient Boostingطبقه بندی چند برچسبی (Multi-Label Classification):طبقه بندی چند برچسبی، وظایفی هستند که در آن برای هر نمونه دو یا چند برچسب کلاس قابل پیش بینی است. در مثال طبقه بندی عکس، زمانی که یک عکس می تواند شامل چند جزء در تصویر باشد، یک مدل می تواند به پیش بینی چندین برچسب در عکس بپردازد مانند افراد، دوچرخه، سیب و غیره. در شکل زیر تفاوت بین طبقه بندی چندکلاسه و چند برچسبی را مشاهده می کنید. تفاوت  طبقه بندی چندکلاسه و چند برچسبی الگوریتم های طبقه بندی دودویی و چند کلاسه نمی تواند به طور مستقیم در این مسائل به کار گرفته شوند، بنابراین باید از نسخه های الگوریتم های چند برچسبی استفاده کرد. مانند:Multi-label Decision TreesMulti-label Random ForestMulti-label Gradient Boostingطبقه بندی نامتوازن (Imbalanced Classification):طبقه بندی نامتوازن، وظایف طبقه بندی هستند که در آن تعداد نمونه ها در هر کلاس به صورت نابرابر توزیع شده اند. معمولا وظایف طبقه بندی نامتوازن، وظایف طبقه بندی دودویی هستند که اکثریت نمونه ها در مجموعه آموزشی متعلق به کلاس نرمال هستند و حداقل نمونه ها متعلق به کلاس غیر نرمال هستند. همانطور که در شکل زیر می بینید، اکثریت نقاط به رنگ آبی و تعداد اندکی نقطه به رنگ زرد وجود دارند. مانند تشخیص تقلب، تشخیص داده پرت و تست های تشخیصی پزشکی. مثلا در تست های تشخیص سرطان تعداد بسیار زیادی از افراد سالم و تعداد اندکی دارای بیماری سرطان هستند. این مسائل به عنوان مسائل طبقه بندی دودویی مدل سازی می شوند اما نیاز به تکنیک های خاصی دارد.طبقه بندی نامتوازناز الگوریتم های مدل سازی خاصی که الگوریتم های یادگیری ماشین حساس به هزینه (cost-sensitive) نامیده می شوند، می توان برای داده های نامتوازن استفاده کرد. برای مثال:Cost-sensitive Logistic RegressionCost-sensitive Decision treesCost-sensitive Support Vector Machineهمچنین ممکن است به معیارهای کارایی جایگزینی مانند Precision، Recall و F-Measureنیاز داشته باشیم زیرا گزارش دقت طبقه بند ممکن است گمراه کننده باشد.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Thu, 08 Oct 2020 14:16:56 +0330</pubDate>
            </item>
                    <item>
                <title>هایپرپارامتر در یک مدل یادگیری ماشین چیست و چگونه آن را تنظیم کنیم؟</title>
                <link>https://virgool.io/@maryam.hasanali/%D9%87%D8%A7%DB%8C%D9%BE%D8%B1%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1%D9%87%D8%A7%DB%8C-%D8%AF%D8%B1-%DB%8C%DA%A9-%D9%85%D8%AF%D9%84-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A2%D9%86-%D8%B1%D8%A7-%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%DA%A9%D9%86%DB%8C%D9%85-o8zgjoouhwen</link>
                <description>در این نوشته به تعریف هایپرپارامتر، تفاوت آن با پارامترهای الگوریتم و چگونگی تنظیم هایپرپارامترها می پردازیم که یکی از وظایف چالش برانگیز در آموزش مدل های یادگیری ماشین است. به طور کلی سه راه برای بهبود مدل های یادگیری ماشین وجود دارد:استفاده از داده های بیشتر و مهندسی ویژگی هااستفاده از الگوریتم های یادگیری ماشین دیگر یا استفاده از روش های ترکیبی یادگیری ماشینتنظیم هایپرپارامترهای الگوریتمدر ادامه به بررسی بیشتر سومین مورد یعنی تنظیم هایپرپارامترهای الگوریتم و راهکاری برای رسیدن به مقدار مناسبی (نه بهترین مقدار) برای آن می پردازیم.تفاوت پارامتر و هایپرپارامتر در الگوریتم های یادگیری ماشین:پارامترهای مدل، ویژگی هایی از داده آموزشی هستند که در طول آموزش توسط الگوریتم های یادگیری ماشین، یادگرفته می شوند، مانند شیب و عرض از مبدا در رگرسیون خطی. پارامترهای مدل در هر آزمایشی متفاوت هستند و بستگی به داده ها و نوع مسئله دارند. در حالی که، هایپرپارامترها باید توسط دانشمند داده، قبل از آموزش، مشخص می شوند. برای مثال تعداد و اندازه لایه های مخفی در شبکه عصبی، هایپرپارامتر هستند. در الگوریتم جنگل تصادفی (Random Forest)، هایپرپارامتر تعداد درختان تصمیم در جنگل است. اما پارامترهای الگوریتم جنگل تصادفی، متغیرها و حد آستانه هایی(thresholds)  هستند که برای تقسیم هر گره که در هنگام آموزش، یاد گرفته می شوند.کتابخانه Scikit-Learnپایتون (و یا موارد مشابه در نرم افزارهای دیگر) هایپرپارامترهای پیش فرضی برای هر مدل در نظر گرفته اند اما معمولا این مقادیر، برای مسئله مورد نظر ما بهینه نیستند. تعیین بهترین هایپرپارامترها معمولا کار غیر ممکنی است ولی با تجربه و خطا می توان به مقادیر مناسبی دست یافت. برای این منظور، نیاز  به نتایج تجربی داریم و باید تعداد زیادی از ترکیبات هایپرپارامترها را مورد آزمون قرار دهیم و کارایی هر مدل به دست آمده را ارزیابی کنیم.استفاده از Random Search Cross Validation  :معمولا ایده مبهمی در مورد تنظیم هایپرپارامترها داریم. بهترین روش برای محدود کردن مقادیر هایپرپارامترها در مسئله، آزمایش و ارزیابی تعداد زیادی از مقادیر برای هر هایپرپارامتر است. با استفاده از متد RandomizedSearchCV کتابخانه Scikit-Learnپایتون، می توان شبکه ایی (grid) از بازه های از مقادیر هایپرپارامترها را تعریف کرد و به صورت تصادفی نمونه هایی از مقادیر این شبکه را انتخاب کرد و مورد ارزیابی قرار داد.در ادامه مثالی از تنظیم مقادیر هایپرپارامتر در الگوریتم جنگل تصادفی را بررسی می کنیم. برای مشاهده هایپر پارامترهای پیش فرض، یک درخت تصادفی را ایجاد و مقادیر پیش فرض را با دستورات زیر مشاهده می کنیم.from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state = 42)from pprint import pprint# Look at parameters used by our current forest
print(&#039;Parameters currently in use:\n&#039;)
pprint(rf.get_params())Parameters currently in use:
 
{&#039;bootstrap&#039;: True,
  &#039;criterion&#039;: &#039;mse&#039;,
  &#039;max_depth&#039;: None,
  &#039;max_features&#039;: &#039;auto&#039;,
  &#039;max_leaf_nodes&#039;: None,
  &#039;min_impurity_decrease&#039;: 0.0,
  &#039;min_impurity_split&#039;: None,
  &#039;min_samples_leaf&#039;: 1,
  &#039;min_samples_split&#039;: 2,
  &#039;min_weight_fraction_leaf&#039;: 0.0,
  &#039;n_estimators&#039;: 10,
  &#039;n_jobs&#039;: 1,
  &#039;oob_score&#039;: False,
  &#039;random_state&#039;: 42,
  &#039;verbose&#039;: 0,
  &#039;warm_start&#039;: False}همانطور که مشاهده می کنید لیستی طولانی از هایپرپارامترها نشان داده شده است. بهتر است بازه هایی از مقادیر را برای هر هایپرپارامتر امتحان و نتایج را بررسی کنیم. برای استفاده از  RandomizedSearchCV نیاز به ایجاد شبکه ایی از هایپرپارامترها داریم تا در مرحله آموزش، نمونه هایی از آن را امتحان کنیم. در کد زیر مجموعه ایی از مقادیر برای هر یک از هایپرپارامترها الگوریتم جنگل تصادفی انتخاب شده است.from sklearn.model_selection import RandomizedSearchCV# Number of trees in random forest
n_estimators = [int(x) for x in np.linspace(start = 200, stop = 2000, num = 10)]
# Number of features to consider at every split
max_features = [&#039;auto&#039;, &#039;sqrt&#039;]
# Maximum number of levels in tree
max_depth = [int(x) for x in np.linspace(10, 110, num = 11)]
max_depth.append(None)
# Minimum number of samples required to split a node
min_samples_split = [2, 5, 10]
# Minimum number of samples required at each leaf node
min_samples_leaf = [1, 2, 4]
# Method of selecting samples for training each tree
bootstrap = [True, False]# Create the random grid
random_grid = {&#039;n_estimators&#039;: n_estimators,
               &#039;max_features&#039;: max_features,
               &#039;max_depth&#039;: max_depth,
               &#039;min_samples_split&#039;: min_samples_split,
               &#039;min_samples_leaf&#039;: min_samples_leaf,
               &#039;bootstrap&#039;: bootstrap}
pprint(random_grid)در هر تکرار الگوریتم، ترکیب متفاوتی از ویژگی ها انتخاب می شود و در مورد کد بالا دارای 2*12*2*3*3*10=4320 حالت مختلف برای تنظیم هایپرپارامترها هستیم. اما مزیت RandomedSearchCV این است که همه ترکیبات موجود را مورد امتحان قرار نمی دهد، بلکه به صورت تصادفی نمونه هایی از مقادیر انتخاب می کند. در ادامه برای آموزش جستجوی تصادفی، نمونه ایی از RandomedSearchCV  ایجاد می کنیم و آن را مانند هر مدل دیگری آموزش می دهیم:# Use the random grid to search for best hyperparameters
# First create the base model to tune
rf = RandomForestRegressor()
# Random search of parameters, using 3 fold cross validation, 
# search across 100 different combinations, and use all available cores
rf_random = RandomizedSearchCV(estimator = rf, param_distributions = random_grid, n_iter = 100, cv = 3, verbose=2, random_state=42, n_jobs = -1)# Fit the random search model
rf_random.fit(train_features, train_labels)در RandomizedSearchCV مهمترین آرگومان، n_iter است و برای کنترل تعداد ترکیبات متفاوتی که مورد آزمون قرار می گیرند، استفاده می شود (در اینجا مقدار 100 گرفته است). همچنین آرگومان cv برای مشخص کردن تعداد دسته هایی (folds) است که در اعتبار سنجی متقاطع (cross validation) مورد استفاده قرار می گیرد (در اینجا cv=3 است). تکرارهای بیشتر (n_iter بزرگتر) حالت های بیشتری از هایپرپارامترها را پوشش می دهد و همچنین تعداد دسته های بیشتر (cvبزرگتر)، در اعتبارسنجی متقاطع احتمال بیش برازش (overfitting) را کاهش می دهد، اما افزایش هر کدام از آنها زمان اجرا را افزایش می دهد. در یادگیری ماشین باید توازن برقرار باشد و توازن میان زمان و کارایی یکی از اصول مهم است.با دستور زیر می توان بهترین هایپرپارامترهای بعد از آموزش جستجوی تصادفی را مشاهده کرد. با توجه به نتایج به دست آمده می توان بازه دقیق تری برای هر یک از هایپرپارامترها مشخص کرد.rf_random.best_params_{&#039;bootstrap&#039;: True,
  &#039;max_depth&#039;: 70,
  &#039;max_features&#039;: &#039;auto&#039;,
  &#039;min_samples_leaf&#039;: 4,
  &#039;min_samples_split&#039;: 10,
  &#039;n_estimators&#039;: 400}تفاوت جستجوی گرید و جستجوی تصادفیبه کارگیری Grid Search with Cross Validation:همانطور که اشاره شد، جستجوی تصادفی امکان دستیابی به بازه کوچکتری از مقادیر هایپرپارامتر را فراهم می کند و فضای جستجوی ما را کوچکتر می سازد. اکنون می دانیم جستجوی خود را در کجا متمرکز کنیم و می توان ترکیبی از تنظیمات مناسب را امتحان کرد. این کار را با متد GridSearchCV انجام می دهیم که به جای نمونه برداری تصادفی، همه ترکیبات مورد ارزیابی قرار می گیرد. در شکل بالا تفاوت بین جستجوی تصادفی و جستجوی گرید را مشاهده می کنید. برای استفاده از Grid Search، بر اساس بهترین مقادیر ارائه شده توسط جستجوی تصادفی، شبکه دیگری ایجاد می کنیم.from sklearn.model_selection import GridSearchCV # Create the parameter grid based on the results of random search 
param_grid = {
  &#039;bootstrap&#039;: [True],
  &#039;max_depth&#039;: [80, 90, 100, 110],
  &#039;max_features&#039;: [2, 3],
  &#039;min_samples_leaf&#039;: [3, 4, 5],
  &#039;min_samples_split&#039;: [8, 10, 12],
  &#039;n_estimators&#039;: [100, 200, 300, 1000]
}# Create a based model
rf = RandomForestRegressor()# Instantiate the grid search model
grid_search = GridSearchCV(estimator = rf, param_grid = param_grid, 
  cv = 3, n_jobs = -1, verbose = 2)در این حالت 1*4*2*3*3*4=288 حالت مختلف از تنظیمات، امتحان می شوند. این بار همه 288 حالت، مورد بررسی قرار می گیرند. می توان مدل را آموزش داد، بهترین پارامترها را نمایش داد و کارایی آن را مورد ارزیابی قرار داد.# Fit the grid search to the data
grid_search.fit(train_features, train_labels)
grid_search.best_params_{&#039;bootstrap&#039;: True,
  &#039;max_depth&#039;: 80,
  &#039;max_features&#039;: 3,
  &#039;min_samples_leaf&#039;: 5,
  &#039;min_samples_split&#039;: 12,
  &#039;n_estimators&#039;: 100}best_grid = grid_search.best_estimator_
خلاصه:در این نوشته به بررسی مفهوم هایپرپارامتر در مدل های یادگیری ماشین و تفاوت آن با پارامترهای مدل پرداختیم. در ادامه روشی برای تنظیم هایپر پارامترها در الگوریتم جنگل مطرح شده است. در این روش، ابتدا با استفاده از متد RandomizedSearchCV کتابخانه Scikit-Learn پایتون، تعداد زیادی از مقادیر مجاز برای هایپرپارامترها را تعریف می کنیم و این متد به طور تصادفی تعدادی از آنها امتحان می کند. با استفاده از نتایج به دست آمده، فضای جستجوی خود را کوچکتر می کنیم. در مرحله بعد با استفاده از متد GridSearchCV بازه های کوچکتر اما دقیق تری را امتحان می کنیم. این بار کل فضای جستجو، مورد ارزیابی قرار می گیرد. توجه کنید هیچ گاه نمی توان به بهترین هایپرپارامترها دست یافت. منبع سایت : https://towardsdatascience.com/کانال من در تلگرام : https://t.me/meteorjournal</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Fri, 02 Oct 2020 11:16:27 +0330</pubDate>
            </item>
                    <item>
                <title>داده پرت</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%AF%D8%A7%D8%AF%D9%87-%D9%BE%D8%B1%D8%AA-arvfsdckbcfi</link>
                <description>داده های پرت (outliers) داده هایی هستند که در فاصله غیر نرمالی از سایر مقادیر هم گروه خود قرار دارد  و فاصله زیادی از آنها دارند.علت داده های پرت در دیتاست چیست:خطاهای ورود داده (خطای انسانی)خطای اندازه گیری (خطای ابزار)خطای تجربی (خطای اجرای تجربی یا استخراج داده)خطاهای عمدیخطای پردازش دادهخطای نمونه برداری (استخراج یا تلفیق داده از منابع گوناگون یا نادرست)طبیعی (خطا رخ نداده، داده های نوظهور)انواع داده های پرت:داده های پرت نقطه ایی (Point outliers): نقاط داده ایی تکی که از توزیع کلی داده ها دور افتاده اند.داده های پرت زمینه ایی (Contextual outliers): نقطه ایی که با توجه به شرایط موجود در مسئله پرت محسوب می شوند.این نوع داده های پرت می توانند نویز در داده باشند، مانند علائم نشانه گذاری در تحلیل متن یا سیگنال نویز پس زمینه در تشخیص گفتار.داده های پرت جمعی (Collective outliers): زیرمجموعه ایی از داده های نوظهور از قبیل سیگنال هایی که نشان دهنده کشف یک پدیده جدید است.تفاوت داده پرت و نویز:نویز با داده پرت متفاوت است. نویز داده نادرستی است که ممکن است نزدیک به داده های درست باشد. داده پرت، داده ایی است که از داده های دیگر بسیار متفاوت است. بسیار از اوقات داده های پرت نویز هستند اما گاهی داده های درست هم می توانند داده پرت باشند. برای مثال، فرض کنید داده های مربوط به درآمد ماهیانه مربوط به 100 نفر شامل بیل گیتس را داریم. در این حالت میانگین درآمد این صد نفر به صورت میلیونی خواهد بود. داده مربوط به بیل گیتس داده درست اما پرت است. در حالی نویز داده ایی پوچ، غلط و غیر مفید است.انواع روش های مواجهه با داده های پرت:در هنگام شناسایی داده های پرت باید به دو سوال پاسخ بدهیم:چه تعداد ویژگی یا متغیر در شناسایی داده های پرت به کار گرفته می شود؟ تک متغیره یا چند متغیره. در روش تک متغیره، در هر زمان یک متغیر برای شناسایی داده های پرت مورد بررسی قرار می گیرد اما در روش چند متغیره، در هر زمان چند متغیر مورد بررسی قرار می گیرد.آیا فرضی در مورد توزیع مقادیر ویژگی های انتخاب شده وجود دارد؟ پارامتریک یا غیر پارامتریک. در روش های پارامتریک فرض بر این که داده ها از یک توزیع اصولی مانند توزیع نرمال پیروی می کنند اما در روش غیر پارامتریک این فرض وجود ندارد.برخی از پرکاربردترین روش های شناسایی داده های پرت عبارتند از:تحلیل مقدار حداکثری یا z-score (پارامتریک)مدلسازی آماری و احتمالاتی (پارامتریک)مدل های رگرسیون خطی (PCA, LMS)مدل های مبتنی بر مجاورتی (غیرپارامتریک)مدل های تئوری اطلاعاتروش های شناسایی خطای با ابعاد بالادر زیر به بررسی دو روش پرکاربرد شناسایی داده پرت یعنی z-score و Dbscan می پردازیم:تحلیل مقدار حداکثری یا z-score:z-score روشی است که برای شناسایی داده های پرت مورد استفاده قرار می گیرد و از روش های پارامتریک شناسایی داده های پرت می باشد. زمانی که داده ها از توزیع نرمال یا گوسی پیروی می کنند، z-scoreمعیاری است که نشان می دهد که یک داده چند برابر انحراف معیار از میانگین فاصله دارد. بسیاری از متغیرها از توزیع نرمال پیروی نمی کنند، بنابراین نیاز به مقیاس بندی (scale) کردن این متغیرها وجود دارد. بعد از مقیاس بندی متغیرها، z-scoreهر داده از فرمول زیر محاسبه می شود:فرمول z-scoreزمانی که z-scoreبرای هر نمونه در دیتاست محاسبه شد، حد آستانه ایی برای انحراف معیار مشخص می شود که می تواند مقادیر 2.5,3,3.5 و یا مقادیر دیگر باشد. اگر حد آستانه 3 در نظر گرفته شود، داده هایی که به فاصله 3 برابر انحراف معیار از میانگین فاصله دارند، به عنوان داده پرت شاخته می شوند و از دیتاست حذف می شوند (مانند شکل زیر). z-score گرچه روش ساده ایی است، اما هنوز هم روش قدرتمندی در شناسایی و حذف داده های پرت است اگر داده ها از توزیع نرمال پیروی کنند و همچنین فضای ویژگی ابعاد کوچکی داشته باشند. الگوریتم Dbscan:الگوریتم Dbscan یکی از روش های غیرپارامتریک شناسایی داده های پرت است. در یادگیری ماشین و تحلیل داده ها، روش های خوشه بندی ابزارهای مفیدی برای بصری سازی، درک بهتر داده و همچنین برای شناسایی داده های پرت می باشد. Dbscan یک الگوریتم خوشه بندی بر مبنای چگالی است و بر یافتن همسایه ها بر اساس چگالی (MinPts) بر روی کره ایی با n بعد با شعاع R متمرکز شده است. یک خوشه می توان به عنوان مجموع ماکسیمال نقاط متصل چگال در فضای ویژگی هاست.این الگوریتم دارای دو پارامتر است:شعاع همسایگی (R): شعاعی که اگر تعداد کافی نقاط داخل آن داشته باشیم، می توان آن ناحیه را چگال بنامیم.حداقل تعداد همسایه ها (MinPts): حداقل تعداد نقاط داده که می خواهیم در همسایگی یک خوشه تعریف کنیم. الگوریتم Dbscanهر نقطه را به یکی از سه نوع زیر تقسیم می کند:نقطه مرکزی (core point): نقطه ایی که در شعاع Rاز آن، حداقل باید MinPts نقطه (شامل خود نقطه مرکزی) وجود داشته باشد.نقطه حاشیه (border point): نقطه ایی که در همسایگی آن کمتر از MinPtsنقطه وجود داشته باشد یا از نقطه مرکزی قابل دسترس باشد (در فاصله Rاز آن قرار داشته باشد).نقطه پرت (outlier point): نقطه ایی که نقطه مرکزی و حاشیه نباشد.مراحل الگوریتم DBscan:الگوریتم با انتخاب یک نقطه دلخواه در پایگاه داده آغاز می شود و تا زمانی که همه نقاط دیده شوند، ادامه می یابد.اگر حداقل MinPts نقطه در شعاع R نقطه مورد نظر وجود داشته باشد، همه این نقاط به عنوان قسمتی از خوشه در نظر گرفته می شود.خوشه ها با تکرار بازگشتی محاسبه همسایگی برای هر نقطه مجاور گسترش می یابد.در شکل زیر الگوریتم Dbscan را با حداقل تعداد همسایگی 3 را مشاهده می کنید.الگوریتم Dbscanمنبع سایت : medium.com</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Fri, 25 Sep 2020 20:02:09 +0330</pubDate>
            </item>
                    <item>
                <title>مراحل فرآیند یادگیری ماشین به طور خلاصه:</title>
                <link>https://virgool.io/@maryam.hasanali/machinelearningprocess-cwwqg6jdirhn</link>
                <description>2020 Machine Learning Roadmap7 مرحله فرایند یادگیری ماشین به طور خلاصه در زیر آمده است:جمع آوری داده (Data Collection): به فرآیند استخراج داده خام برای وظایف یادگیری ماشین، جمع آوری داده می گویند. این داده از روش های مختلفی مانند منابع آنلاین منبع باز یا منابع غیر رایگان، به دست می آید. شاید این مرحله را بتوان مهمترین مرحله یادگیری ماشین نامید. اگر داده جمع آوري شده کیفیت پایینی داشته یا غیر مرتبط باشد، مدل آموزش دیده نیز کیفیت پایینی دارد.پیش پردازش داده (Data Preparation): بعد از گردآوری داده های مرتبط، نیاز به پیش پردازش آنها داریم تا اطمینان حاصل شود داده در فرمت قابل استفاده برای آموزش مدل های یادگیری ماشین است. این مرحله شامل مدیریت داده های گمشده یا داده های پرت می باشد.مهندسی ویژگی (Feature Engineering): زمانی که دیتاست جمع آوری و پیش پردازش شد، ممکن است نیاز به تبدیل یا حذف بعضی از ویژگی های دیتاست باشد تا مدل آموزشی بهینه تری به دست آید.انتخاب مدل (Model Selection): براساس دیتاست، یک مدل یادگیری ماشین انتخاب می کنیم. این کار یکی از وظایف مهم مهندسان صنعت است. به جای به کارگیری مدل های کاملا جدید، بیشتر وظایف یادگیری ماشین با روش های موجود یا ترکیب روش های کنونی، قابل انجام است.آموزش مدل و پایپ لاین داده (Model Training and Data Pipeline): بعد از انتخاب مدل، یک پایپ لاین داده (خط لوله داده) برای آموزش مدل ایجاد می شود. یعنی جریان پیوسته ایی از داده های دسته ایی ایجاد می شود تا مدل را به صورت مناسبی آموزش ببیند. از آنجا که آموزش می تواند طولانی شود، بهتر است پایپ لاین داده تا حد ممکن کارآمد باشد.اعتبار سنجی مدل (Model Validation): بعد از آموزش، اعتبارسنجی کارایی مدل بر روی بخشی از دیتاست انجام می شود. این داده ها باید توزیع اصولی مشابه مجموعه داده آموزشی داشته باشند، اما باید داده های متفاوتی باشند که مدل قبلاً آنها را ندیده است.پایداری مدل (Model Persistence): در نهایت، پس از آموزش و اعتبارسنجی عملکرد مدل، باید وزن های مدل به درستی ذخیره شوند و مدل به سمت تولید سوق داده شود. این بدان معنی است که فرایندی تنظیم شوند که کاربران جدید بتوانند به راحتی از مدل از پیش آموزش دیده، برای پیش بینی استفاده کنند و نیاز به آموزش مجدد مدل نباشد.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Sat, 12 Sep 2020 12:09:14 +0430</pubDate>
            </item>
                    <item>
                <title>توزیع نرمال یا توزیع گوسی</title>
                <link>https://virgool.io/@maryam.hasanali/normaldistribution-jr7y3twdpoxl</link>
                <description>توزیع نرمال که توزیع گوسی (Gaussian Distribution) نیز نامیده می شود، از مهمترین توزیع احتمالاتی در آمار است زیرا بسیاری از داده های پیوسته در طبیعت و روانشناسی دارای توزیع نرمال هستند. اگر توزیع احتمالاتی یک متغیر را رسم کنید و یک شکل زنگوله مانند به دست بیاید و میانگین، مد و میانه آن برابر باشد، متغیر دارای توزیع نرمال است. برای مثال، اگر به صورت تصادفی 100 شخص را در نظر بگیریم بسیاری از متغیرهای پیوسته مربوط به آنها مانند IQ ، قد، وزن و فشار خون از این شکل زنگوله مانند و توزیع نرمال پیروی می کند.چگونه خم توزیع احتمالاتی (probability distribution curve)را رسم کنیم؟ مقادیر ممکن برای یک متغیر را به دسته ها یا بازه هایی گروه بندی کنید. برای هر دسته، تعداد دفعاتی که مقدار هر دسته یا بازه رخ می دهد، ثبت کنید. برای مثال، امتحانی را در نظر بگیرید که تعداد زیادی دانشجو در آن شرکت کردند و نمرات دانشجویان می تواند مقادیر A,B,C,D,F را داشته باشند. می توان یک نمودار خطی برای این مقادیر رسم کرد به طوریکه محور x مقادیر دسته یا بازه باشند و محور y نشان دهنده تعداد دفعات رخ داد مقادیر آن دسته یا بازه باشند. بنابراین، محور افقی A,B,C,D,F هستند و محور عمودی تعداد دانشجویانی هستند که این نمرات را به دست آوردند. مقادیر این نمودار شکل یک خم را نشان می دهد که خم توزیع احتمالاتی نامیده می شود (مانند شکل زیر).ویژگی های توزیع نرمال:اولین مشخصه توزیع نرمال این است که میانگین، میانه و مد، برابر هستند. میانگین مرکز نمودار (خم) است و نمودار در نقطه میانگین دارای بیشترین ارتفاع است و بیشتر مقادیر در آن نقطه قرار دارد. برای یافتن میانه یک مجموعه از اعداد، آنها را به ترتیب مقدار مرتب می‌کنیم و سپس عددی که در وسط آنها قرار دارد میانه نامیده می شود. مقداری که بیشترین تکرار در یک مجموعه داده داشته باشد، مد داده ها می باشد.مشخصه دوم توزیع نرمال تقارن است، یعنی اگر نمودار توزیع نرمال را از وسط برش بزنید، هر طرف آینه و بازتاب طرف دیگر است.مشخصه سوم توزیع نرمال این است که کل ناحیه زیر خم (area under the curve) برابر با کل احتمال همه مقادیر متغیرها و برابر 100 درصد است. به دلیل اینکه دنباله نمودار به سمت بی نهایت میل می کند، در عمل 99.73 داده ها در ناحیه زیر نمودار واقع شده است.  این خم در در فاصله سه برابر انحراف معیار از هر دو طرف میانگین گسترده شده است.انحراف معیار، عددی برای نشان دادن میزان پراکندگی اعضای یک مجموعه از داده‌ها است. هر چه انحراف معیار مجموعه‌ای از داده‌ها عدد پایین‌تری باشد، نشانه آن است که داده‌ها به میانگین نزدیک هستند و پراکندگی اندکی دارند. اگر انحراف معیار عدد بزرگی باشد، نشان می‌دهد که پراکندگی داده‌ها زیاد است.مشخصه چهارم توزیع نرمال این است که از آن برای درک چگونگی گسترده شدن مقادیر می توان استفاده کرد. همانطور که شکل زیر می بینید، کل نمودار توزیع نرمال در 3 برابر انحراف معیار +/- میانگین کشیده شده است. تقریبا 68.2 درصد مقادیر در بازه 1 تا 1- برابر انحراف استاندارد از میانگین قرار دارند. حدود 95.5درصد مقادیر در بازه 2 تا 2- برابر انحراف معیار از میانگین وجود دارد. حدود 99.7 درصد مقادیر در بازه 3 تا 3- برابر انحراف معیار از میانگین پراکنده شده است.مشخصه پنجم توزیع نرمال این است که اگر انحراف معیار و میانگین را داشته باشیم، ناحیه زیر خم می تواند مشخص شود. برای مثال 99.73 درصد داده ها در 3 برابر انحراف معیار در هر دو طرف میانگین واقع شده است.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Sat, 12 Sep 2020 11:36:00 +0430</pubDate>
            </item>
                    <item>
                <title>شبکه عصبی بازگشتی (Recurrent Neural Networks)</title>
                <link>https://virgool.io/dataio/%D8%B4%D8%A8%DA%A9%D9%87-%D8%B9%D8%B5%D8%A8%DB%8C-%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA%DB%8C-recurrent-neural-networks-srlxnobqetq5</link>
                <description>شبکه عصبی بازگشتی (RNN) که به آن شبکه عصبی مکرر نیز گفته می شود، نوعی از شبکه عصبی مصنوعی است که در تشخیص گفتار،  پردازش زبان طبیعی (NLP) و همچنین در پردازش داده های ترتیبی (Sequential data) استفاده می شود. بسیاری از شبکه های عمیق مانند CNN شبکه های پیش خور (Feed Forward) هستند یعنی سیگنال در این شبکه ها فقط در یک جهت از لایه ورودی، به لایه های مخفی و سپس به لایه خروجی حرکت می کند و داده های قبلی به حافظه  سپرده نمی شوند. اما شبکه های عصبی بازگشتی (RNN) یک لایه بازخورد دارند که در آن خروجی شبکه به همراه ورودی بعدی، به شبکه بازگرداننده می شود. RNN می تواند به علت داشتن حافظه داخلی، ورودی قبلی خود را به خاطر بسپارد و از این حافظه برای پردازش دنباله ایی از ورودی ها استفاده کند. به بیان ساده، شبکه‌های عصبی بازگشتی شامل یک حلقه بازگشتی هستند که موجب می شود اطلاعاتی را که از لحظات قبلی بدست آورده ایم از بین نروند و در شبکه باقی بمانند.همانطور که در شکل می بینید، (X(0 را از دنباله ورودی می گیرد، خروجی (h(0  به همراه (X(1، ورودی مرحله بعدی است . در مرحله بعد، خروجی (h(1 و (X(2 ورودی مرحله بعد است. به این ترتیب، شبکه در هنگام آموزش قادر به یادآوری ورودی های قبلی خواهد بود.کاربردهای شبکه عصبی بازگشتی:شرح نویسی عکس (Image Captioning): شبکه عصبی بازگشتی با تحلیل حالت کنونی عکس، برای شرح نویسی عکس به کار می رود.پیش بینی سری های زمانی (Time Series Prediction): هر مسئله سری زمانی مانند پیش بینی قیمت یک سهام در یک ماه خاص، با RNN قابل انجام است.پردازش زبان طبیعی(Natural Language Processing): کاوش متن و تحلیل احساسات می تواند با استفاده از RNN انجام شود.ترجمه ماشینی (Machine Translation): شبکه RNN می تواند ورودی خود را از یک زبان دریافت و آن را به عنوان خروجی به زبان دیگری ترجمه کند.انواع شبکه عصبی بازگشتی:به طور کلی 4 نوع شبکه عصبی بازگشتی داریم:یک به یک (one to one) : این نوع شبکه عصبی به عنوان شبکه عصبی وانیلی نیز شناخته می شود و برای مسائل یادگیری ماشین که یک ورودی و یک خروجی دارند به کار می رود.یک به چند  (one to many): این شبکه عصبی بازگشتی دارای یک ورودی و چند خروجی است. یک نمونه آن، شرح نویسی عکس است.چند به یک (many to one): این نوع از RNN ، دنباله ایی از ورودی ها را می گیرد و یک خروجی تولید می کند. تحلیل احساسات مثال خوبی از این نوع شبکه است که یک جمله را به عنوان ورودی می گیرد و آن را با احساس مثبت یا منفی طبقه بندی می کند.چند به چند (many to many): دنباله ایی از ورودی ها را می گیرد و دنباله ایی از خروجی ها را تولید می کند. ترجمه ماشینی نمونه ایی از این نوع شبکه است.منابع : سایت https://towardsdatascience.com/ و https://www.simplilearn.com/</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Fri, 28 Aug 2020 13:42:02 +0430</pubDate>
            </item>
                    <item>
                <title>تفاوت دانشمند داده، مهندس داده و تحلیلگر داده:</title>
                <link>https://virgool.io/@maryam.hasanali/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%AF%D8%A7%D9%86%D8%B4%D9%85%D9%86%D8%AF-%D8%AF%D8%A7%D8%AF%D9%87-%D9%85%D9%87%D9%86%D8%AF%D8%B3-%D8%AF%D8%A7%D8%AF%D9%87-%D9%88-%D8%AA%D8%AD%D9%84%DB%8C%D9%84%DA%AF%D8%B1-%D8%AF%D8%A7%D8%AF%D9%87-tlugtlzqzagl</link>
                <description>دانشمند داده ارشد تیم تحلیل داده است و دانش عمیقی در آمار، برنامه نویسی، تحلیل تجاری، مدیریت داده و یادگیری ماشین دارد. او باید مجموعه های بزرگی از داده های خام را جمع آوری و تمیز کند، مدل های ریاضی ایجاد کند و یافته ها را به راه حلهای تجاری تفسیر کند. دانشمند داده از تکنیک های پیشرفته داده مانند خوشه بندی، شبکه های عصبی، درختان تصمیم گیری و ... برای به دست آوردن بینشهای تجاری استفاده می کند. او ورودی خود را از مهندس داده و تحلیلگر داده می گیرد و مسئول ایجاد بینشهای تجاری عملی است و باید برای تعامل با همکاران و انتقال یافته های خود به مدیریت، مهارت های ارتباطی ابسیار خوبی داشته باشد.تحلیلگر داده یک عضو سطح ورودی در یک تیم تحلیل داده است و باید داده های عددی را به فرمتی تبدیل کند که هر کسی در سازمان قادر به درک آن باشد. تحلیلگر داده معمولاً داده ها را با همکاری توسعه دهندگان وب جمع آوری می کند و مدت زمان قابل توجهی را صرف ایجاد گزارش های هوش تجاری برای استفاده داخلی و مشتریان می کند. تحلیلگر داده معمولا در Microsoft Excel ، SQL و یا Tableau و همچنین در برنامه نویسی مهارت دارد. علاوه بر این، درک خوبی از آمار و جبر خطی دارند که از آن برای بصری سازی استفاده می کنند. با به دست آوردن تجربه بیشتر، تحلیلگر داده می تواند نقش مهندس داده و دانشمند داده را به عهده گیرد.مهندس داده واسطه بین تحلیلگر داده و دانشمند داده است و مسئولیت آماده سازی داده ها برای اهداف عملیاتی یا تحلیلی را بر عهده دارد. او  وظیفه طراحی، ساخت، ادغام و نگهداری داده ها از منابع متعدد را بر عهده دارد. مهندس داده با داده های بزرگ کار می کند و گزارش آن را برای تحلیل به دانشمند داده می فرستد.مسئولیت ها:دانشمند داده:مسئولیت های دانشمند داده عبارت است از :مدیریت، کاوش و پاکسازی داده ساختارنایافته جهت آماده سازی برای استفاده های عملیتوسعه مدل هایی برای انجام بر روی داده های بزرگتفسیر و فهم تحلیل داده بزرگبر عهده گرفتن مسئولیت تیم  تحلیل داده ها و کمک به آنها در رسیدن به اهداف مربوطه ارائه نتایجی که بر خروجی های تجاری تاثیر دارندتحلیلگر داده:مسئولیت های یک تحلیلگر داده عبارتند از:جمع آوری داده از پایگاه داده به کمک پرس و جو هافراهم سازی پردازش داده ها را  و خلاصه سازی نتایجبه کارگیری الگوریتم های ابتدایی در کار خود مانند رگرسیون خطی، رگرسیون لجستیک و ...مهارت بالا در بصری سازی داده، تحلیل داده اکتشافی و آمارمهندس داده: مسئولیت هایی که این نقش بر عهده دارد، عبارتند از:داده کاوی برای به دست آوردن بینش از داده تبدیل داده پاکسازی نشده به شکل قابل استفاده برای تحلیل داده توانایی نوشتن پرس و جو در داده نگهداری از طراحی و معماری داده هاتوسعه انبار داده های بزرگ با استفاده از ELTمهارت ها:مهارت های مورد نیاز دانشمند داده، مهندس داده و تحلیلگر دادهدر شکل فوق هفت گروه مهارت وجود دارد برای دانشمندان داده، تحلیلگران داده و مهندس نشان داده شده است. مهارت ها شامل برنامه نویسی، یادگیری ماشین، ارتباطات و بصری سازی، ریاضیات و آمار و اکتشاف داده ها است. میزان تسلط مورد نیاز هر نقش به این مهارت ها در شکل مشخص شده است.منابع:سایت https://www.simplilearn.com/سایت https://medium.com/</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Thu, 20 Aug 2020 19:09:34 +0430</pubDate>
            </item>
                    <item>
                <title>تفاوت CPU , GPU , TPU :</title>
                <link>https://virgool.io/dataio/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-cpu-gpu-tpu-lolrppjxzxpl</link>
                <description>CPU - Central Processing Unit سی پی یو یا واحد پردازشگر مرکزی به عنوان مغز کامپیوتر مسئول عملیات ریاضی و منطقی درون کامپیوتر است و برای حل مسائل محاسباتی بسیار کارا است. سی پی یو قادر به پردازش دهها عملیات در هر چرخه است. ابعاد داده معمولا واحد داده 1*1 است.GPU - Graphics Processing Unitجی پی یو یا واحد پردازشگر گرافیک به اجرای برنامه های خاصی مانند بازی ها، ویرایش عکس/ ویدئو، انیمیشن، تحقیقات علمی، نرم افزارهای تحلیلی و یادگیری عمیق می پردازد که نیاز به تصویر کشیدن نتایج گرافیکی با مقدار زیادی داده دارند. سی پی یو نیز می تواند این وظایف را انجام دهد، اما جی پی یو بسیار بهتر قادر به انجام آنهاست. زیرا جی پی یو دهها هزار عملیات را در هر چرخه انجام می دهد و ابعاد داده عموما، واحد داده 1*N است.TPU - Tensor Processing Unitتی پی یو یا واحد پردازش تنسور پردازشگرهایی هستند که برای وظایف یادگیری ماشین و یادگیری عمیق طراحی شده اند و به طور خاص برای استفاده از تنسور فلو توسعه یافته اند. تنسورفلو یک پلت فرم یادگیری ماشین منبع باز است که توسط گوگل توسعه یافته است. اگرچه سی پی یو و چی پی یو تا حدی می توانند وظایف یادگیری ماشین و یادگیری عمیق را انجام دهند اما این وظایف برای جی پی یو و بدتر از آن برای سی پی یو بسیار سنگین است، اما تی پی یو همه چیز را به سطح دیگری می برد. تی پی یو معماری زیر سیستم حافظه را با ابعاد داده ایی، به واحد داده N*N مدیریت می کند. یعنی تی پی یو می تواند تا 128000 عملیات را در هر چرخه مدیریت کند که بسیار بیش از چیزی است که سی پی یو یا حتی جی پی یو قادر به انجام آن هستند.</description>
                <category>مریم حسنعلی</category>
                <author>مریم حسنعلی</author>
                <pubDate>Thu, 13 Aug 2020 19:14:54 +0430</pubDate>
            </item>
            </channel>
</rss>