<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های ارغوان رضوانی</title>
        <link>https://virgool.io/feed/@rezvani.arghavan</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-07 17:29:55</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/73833/avatar/KryXoG.png?height=120&amp;width=120</url>
            <title>ارغوان رضوانی</title>
            <link>https://virgool.io/@rezvani.arghavan</link>
        </image>

                    <item>
                <title>پرونده یادگیری ماشین برای نوجوانان، قسمت دوم</title>
                <link>https://virgool.io/rastaiha/%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%88%D8%AC%D9%88%D8%A7%D9%86%D8%A7%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-ptbqeni5idha</link>
                <description>در قسمت اول از این پرونده که در این‌جا قرار داره، با مفهوم یادگیری آشنا شدیم و تفاوت یادگیری ماشین رو با روش‌هایی که تا الان برای برنامه‌نویسی با کامپیوترها سراغ داشتیم، متوجه شدیم. در این قسمت می‌خوایم دو روش ملموس در یادگیری ماشین رو با هم بررسی کنیم. همراهمون باشید! :)همسایه‌ها یاری کنید!قلی در یکی از بیمارستان‌های مخصوص پذیرش بیماران کرونایی، در حال جمع‌آوری یک‌سری اطلاعات میدانیه. اون می‌خواد بدونه که چه‌طور قبل از اینکه نتیجه‌ی آزمایش بیماران مشکوک به کرونا برسه، می‌تونه «پیش‌بینی» بکنه که مبتلا هستن یا نه.اولین کاری که قلی برای جواب‌ دادن به سوالش باید انجام بده، اینه که اطلاعات مربوط به تعدادی از بیمارها رو پیدا و برای خودش یادداشت بکنه. طبیعیه که قلی نمی‌تونه به همه‌ی این اطلاعات دسترسی داشته باشه. پس دوتا از اون‌ها رو که حس می‌کنه احتمالا باید تاثیرگذارتر باشن، انتخاب می‌کنه؛ مثلا سن هر بیمار و تعداد روزهایی که در ماه گذشته خارج از خانه بوده.دیدن این جدول به تنهایی هیچ کمکی به قلی نمی‌کنه که بتونه پیش‌بینی رو انجام بده. برای همین، به ذهنش می‌رسه نموداری رسم کنه که به‌خوبی توصیف‌‌کننده‌ی اطلاعات این جدول باشه. برای این کار، محور عمودی رو به سن و محور افقی رو به تعداد روزهای خارج از خانه در ماه گذشته اختصاص می‌ده و هر شخص روی نمودار رو با رنگ آبی درصورتی که بیمار باشه و قرمز در صورتی که سالم باشه نشون می‌ده.نتیجه‌ی کار قلی در نمودار زیر مشخصه:به‌طور جالبی، داده‌های مربوط به افراد بیمار نزدیک هم و داده‌های مربوط به افراد سالم هم نزدیک هم قرار گرفته. این مسئله نشون می‌ده که انگار واقعا این دو ویژگی از مراجعین، می‌تونه تا حدی برای پیش‌بینی ابتلا به کرونا، کمک‌کننده باشه.اما این پیش‌بینی دقیقاً چه‌طور اتفاق می‌افته؟قلی برای این‌که این مورد رو بررسی کنه، اطلاعات مراجعه‌کننده‌ی بعدی رو یادداشت می‌کنه اما هنوز نمی‌دونه که اون شخص مبتلا به کرونا هست یا خیر. نقطه‌ی سبزرنگ مربوط به این شخصه.به‌نظر تو، این شخص احتمالاً مبتلا به کرونا هست یا نه؟چه‌طور به این نتیجه رسیدی؟قلی هم مثل تو، با خودش فکر می‌کنه که اگر نقاط اطراف این نقطه‌ی سبز، قرمز هستن پس احتمالاً باید خودش هم قرمز باشه! یا اگر بخوایم دقیق‌تر بگیم، کافیه که نزدیک‌ترین نقاط همسایه به این نقطه‌ی سبز رو درنظر بگیریم و بر اساس رنگ‌ اون‌ها، رنگ نقطه‌ی سبز رو تعیین کنیم. این دستِ خودمونه که چه تعداد نقطه‌ی همسایه رو معیار قرار بدیم؛ مثلا در نمودار زیر، سه تا از نزدیک‌ترین همسایه‌های نقطه‌ی سبزرنگ، کمی درشت‌تر نمایش داده شدن:کنجکاوی: به‌نظرت چرا تعداد فردی از نقاط همسایه رو به‌عنوان معیار انتخاب کردیم؟قلی سعی داره که روش خودش رو برای یک مراجعه‌کننده‌ی دیگه هم تست کنه.این‌بار نقطه‌ی سبزِ مربوط به مراجعه‌کننده، در قسمت دیگه‌ای از نمودار قرار می‌گیره:مشابه چیزی که قبلا گفتیم، سه تا از نزدیک‌ترین همسایه‌های نقطه‌ی سبزرنگ، توی نمودار زیر کمی درشت‌تر نمایش داده شدن:در این‌جا هر سه نقطه، یک‌رنگ نیستن. پس چه‌طور پیش‌بینی کنیم؟می‌تونیم پیش‌بینی رو بر اساس رنگی انجام بدیم که اکثر همسایه‌ها به اون رنگ هستن. بنابراین، حالا برامون روشن می‌شه که چرا تعداد همسایه‌ها رو، فرد در نظر گرفتیم؛ برای این‌که به حالت تساوی دچار نشیم.سوالی که قلی از خودش پرسید یا همون مسئله‌ی «پیش بینی»، در حوزه‌ی علوم کامپیوتر هم به‌طور جدی مطرحه و یکی از همون کاراییه که کامپیوتر گاهی خیلی بهتر از انسان می‌تونه اون رو انجام بده و این کار رو هم با استفاده از مشاهده‌ی تعداد زیادی نمونه انجام می‌ده.در مسئله‌ی پیش‌بینی، هدف ما اینه که بعد از مشاهده‌ی نمونه‌های زیادی که «نام» و یا در ادبیات علوم کامپیوتر «برچسب»شون رو می‌دونیم، نهایتاً یاد بگیریم که وقتی داده‌ی جدیدی اومد که برچسب نداشت، برچسبش رو پیش‌بینی کنیم. در این مثال، کرونا داشتن یا نداشتن برچسب نمونه‌های ما بود.روشی که قلی برای حل این مسئله استفاده کرد، روشیه که خیلی وقت‌ها در حوزه‌ی علوم کامپیوتر استفاده می‌شه و به روش « k-نزدیک‌ترین همسایه» معروفه. یعنی برای پیش‌بینی داده‌ی‌ جدید، بعد از رسم نمودار، به k تا همسایه‌ای که از همه بهش نزدیک‌تر هستن، نگاه می‌کنیم. k در مسئله‌ای که حل کردیم، ۳بود و به‌طور کلی دست خود ماست که چه عددی براش انتخاب کنیم.این مسئله هم در حیطه‌ی یادگیری ماشین قابل بحثه چراکه کامپیوتر با استفاده از این روش، واقعا می‌تونه داده‌ای رو که تابه‌حال ندیده، پیش‌بینی کنه و به‌نوعی یاد گرفته!درخت تصمیم!قلی از عملکرد خودش خیلی راضیه و حالا دنبال اینه که ایده‌های جدید رو برای حل مسئله‌ی «پیش‌بینی» امتحان کنه. این‌بار می‌خواد از ویژگی‌های متفاوت‌تری از افراد مراجعه‌کننده برای پیش‌بینی استفاده بکنه.باز هم مثل دفعه‌ی قبل، جدولی از اطلاعات مراجعه کننده‌ها تهیه کرده:به‌نظر می‌آد که روش قبلی (رسم نمودار و پیدا کردن نزدیک‌ترین همسایه‌ها) این‌جا نمی‌تونه کمکی بکنه.قلی دنبال راه حل جدیدیه که بتونه با کمک این سه ویژگی، مبتلا بودن یا نبودن به کرونا رو برای یک مراجعه‌کننده‌ی جدید، پیش‌بینی کنه.کمی به جدول دقت کن! این ستون‌ها چه ویژگی خاصی دارن؟بله! درست حدس زدی! ویژگی‌هایی که قلی این‌بار در نظر گرفته، در واقع هرکدوم یک سوال هستن که جواب بله یا خیر دارن.شاید بتونیم با پرسیدن سوال‌های مختلف، پیش‌بینی کنیم که شخص کرونا داره یا نه.قلی می‌خواد که تا حد ممکن سریع‌تر بتونه کرونا رو تشخیص بده. برای همین، ترتیب سوال پرسیدن براش مهمه! در واقع، به دنبال اینه که با همون اولین سوال، حداقل برای یکی از جواب‌های شخص، بتونه با اطمینان بگه که اون شخص کرونا داره یا نه. مثلا، اگر اولین سوالی که می‌پرسه این باشه که «بالای ۶۰سال است؟»، اگر شخص جواب مثبت بده، در بین اطلاعات جدول، هم افرادی داشتیم که به کرونا مبتلا بودن و هم افرادی داشتیم که مبتلا نبودن. پس نمی‌تونیم با قطعیت چیزی بگیم. اگر هم جواب شخص منفی باشه، باز هم بر اساس جدول هر دو گروه (مبتلا به کرونا و سالم) رو خواهیم داشت. پس این سوال، به‌عنوان سوال اول مناسب نیست.با نگاه دقیق‌تر به جدول، قلی سوال مناسب رو پیدا می‌کنه: «تب دارد؟» در جواب به این سوال، اگر پاسخمون منفی باشه، تنها سه مراجعه‌کننده خواهیم داشت که دقیقاً هیچ‌کدوم از اون‌ها کرونا ندارن. پس احتمالاً این شرایط برای بقیه‌ی مراجعه‌کننده‌ها هم برقراره و اگر کسی تب نداشته باشه، کرونا نداره. به این ترتیب می‌تونیم بخشی از پیش‌بینی‌مون رو تنها با پرسیدن یک سوال ساده، انجام بدیم و این همون چیزی بود که قلی می‌خواست.اما در بین مراجعه‌کننده‌ها، در مورد افرادی که تب داشتن، نمی‌تونیم با قطعیت بگیم که کرونا دارن یا نه؛ باید سوالات بیشتری بپرسیم. با یه نگاه دوباره به جدول، می‌بینیم که از بین افرادی که تب دارن، اون‌هایی که عارضه قبلی هم داشتن حتما کرونا دارن؛ یعنی مراجعه‌کننده‌های شماره‌ی ۲، ۳، ۴.  پس به این ترتیب سوال بعدی این است: «عارضه قبلی دارد؟». اگر پاسخ به این سوال منفی باشه، باید سوال سوم رو بر اساس ویژگی آخری که داریم بپرسیم؛ یعنی «آیا بالای ۶۰سال است؟» که پاسخ مثبت به این سوال، نشون می‌ده که شخص کرونا داره و پاسخ منفی، نشون می‌ده که نداره.این روند سوال پرسیدن متوالی، نهایتاً کمکمون کرد که بتونیم به‌نوعی افراد رو مرتب کنیم. اگر این فرض رو داشته باشیم که احتمالاً مراجعه‌کننده‌ها، نمونه‌ی‌ کوچک‌تری از کل جامعه هستن، پس شاید به کمک همین سوالات بتونیم هر شخص دیگری رو هم تشخیص بدیم که آیا کرونا داره یا نه!برای این‌که این سوالات و جواب‌هاشون رو مرتب‌تر ببینیم، از یه ساختار درختی به‌شکل زیر استفاده می‌کنیم:به چنین نموداری، یک «درخت تصمیم» گفته می‌شه. علت این نام‌گذاری اینه که مثل یک درخت که شاخه‌های متعددی داره، روی این نمودار، یک «ریشه» داریم‌که همون سوال اول ماست و جواب‌هایی که به این سوال داده می‌شه، هرکدوم شاخه‌ای هستن که یا ما رو به یک «زیردرخت» دیگه و یا یک «برگ» می‌رسونن. در مثال بالا، سوال «تب دارد؟» ریشه‌ی درخته و اگر جواب منفی باشه، به یک برگ میرسیم و اگر جواب مثبت باشه، به یک زیردرخت دیگر. برگ‌ها در درخت، همون نقاطی هستن که تصمیم نهایی رو مشخص می‌کنن.این درخت، به ما کمک می‌کنه که وقتی مراجعه‌کننده‌ی جدیدی میاد، به‌ترتیب این سوالات رو ازش بپرسیم و پیش‌بینی کنیم که آیا این شخص کرونا داره یا نه. در واقع، همون‌طوری که از اسمش پیداست، درختیه که به ما کمک می‌کنه تصمیم بگیریم!ریشه‌ی این درخت، سوال اولیه که ما برای تشخیص «برچسب» مراجعه‌کنند‌ه‌ی جدید، ازش می‌پرسیم. در این‌جا این سوال «تب دارد؟» است. اگر پاسخ به این سوال خیر باشه، به زیردرخت سمت چپ و اگر بله باشه، به زیر درخت سمت راست می‌ریم و این مراحل رو انقدر تکرار میکنیم تا بالاخره به یک برگ از درخت برسیم. برگ‌ها در درخت تصمیم، همون «برچسب‌»هایی هستن که برای مراجعه‌کننده‌ جدید پیش‌بینی می‌کنیم.همون‌طور که متوجه شدی، در به‌دست آوردن ساختار درخت تصمیم، همیشه تلاش می‌کنیم سوالی رو برای ریشه‌ی‌ درخت پیدا کنیم که به کمک اون، بتونیم بهترین پیش‌بینی رو انجام بدیم؛ چون همیشه می‌خوایم سعی کنیم کمترین تعداد سوال رو بپرسیم. همون‌طور که گفتیم، بعد از این‌که ساختار درخت رو به‌دست آوردیم، برای هر پیش‌بینی جدید، به‌ترتیب از ریشه‌ی درخت و براساس جواب به هر سوال، به‌سمت برگ‌ها حرکت می‌کنیم.دنیای واقعیاون‌چه که تا الان بررسی کردیم، نمونه‌های ساده و ملموسی از روش‌های «یادگیری ماشین» بود. اما این حوزه، به همین روش‌ها محدود نشده بلکه محققین این حوزه، تلاش کردن تا از روش‌های متنوع‌ و پیچیده‌تری استفاده کنن و بتونن داده‌هایی مثل عکس، سیگنال‌های صوتی، متن و حتی ویدیو رو به‌عنوان ورودی، به کامپیوتر بدن و از کامپیوتر بخوان که پیش‌بینی‌هایی بر اساس این داده‌ها انجام بده. به‌عنوان مثال، این روزها با کمک همین روش‌ها، می‌شه حتی کارهایی مثل تشخیص ابتلا به بیماری کرونا رو هم با استفاده از تصاویر سی‌تی‌اسکن به کامپیوتر یاد بدیم و ازش برای چنین کارهایی کمک بگیریم. در بعضی از موارد، عملکرد کامپیوتر‌ها حتی از انسان هم جلو می‌زنه! باید ببینیم در آینده چه خبرهای جدیدی از این حوزه به گوشمون می‌رسه...!یادآوریداده‌‌هایی که در مسایل بالا استفاده کردیم، صرفا جهت آموزش و فهم بهتر مسئله‌ها تولید شدن و داده‌های حقیقی نیستن.این پرونده به کمک دوست عزیزم مهتاب بیگوردی نوشته شده. ما در نوشتن این پرونده، از منابع زیر کمک گرفتیم: 1- https://towardsdatascience.com/childrens-guide-to-machine-learning-b90171f86cef2- https://medium.com/@bapreetam/knn-k-nearest-neighbors-algorithm-for-beginners-955003fb9c2a3- https://dalelane.co.uk/blog/?p=3513</description>
                <category>ارغوان رضوانی</category>
                <author>ارغوان رضوانی</author>
                <pubDate>Fri, 02 Apr 2021 10:55:55 +0430</pubDate>
            </item>
                    <item>
                <title>پرونده یادگیری ماشین برای نوجوانان، قسمت اول</title>
                <link>https://virgool.io/rastaiha/%D9%BE%D8%B1%D9%88%D9%86%D8%AF%D9%87-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%88%D8%AC%D9%88%D8%A7%D9%86%D8%A7%D9%86-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-jz07bhbq44gv</link>
                <description>یادگیری انسانتا حالا به این فکر کردی که من و تو که الان به‌راحتی اشیاء مختلف رو از هم تشخیص می‌دیم، چطور این توانایی رو به‌دست آوردیم؟ آیا از همون کودکی، می‌دونستیم که این، تصویر گربه‌ست و تصویر سگ نیست؟ چی شد که این رو فهمیدیم؟تصویر ۱طبیعتاً ما در زمان کودکی، هیچ اطلاعاتی درباره اشیاء مختلفی که باهاشون روبه‌رو می‌شدیم نداشتیم. اما سوال اساسی اینه که طی چه فرایندی بود که بالاخره فهمیدیم تصویر بالا، تصویر یک گربه است؟به‌نظر می‌آد که انسان برای یادگیری از تکرار استفاده می‌کنه؛ به این معنی که بارها و بارها گربه می‌بینه و بهش گفته می‌شه که این، یک گربه‌ست. این اتفاق برای تمام اشیاء و پدیده‌هایی که باهاش روبه‌رو می‌شه می‌افته. در عمل، انسان با تعداد زیادی «ورودی» مواجه می‌شه که هرکدوم از این‌ها یک «نام» دارن و با دیدن تعداد خیلی زیادی از این «ورودی»ها، اون‌ها رو یاد می‌گیره و می‌تونه از هم تشخیصشون بده.تصویر ۲مثلاً، بعد از دیدن تعداد زیادی گربه و سگ مختلف، انگار چیزی توی ذهنش شکل می‌گیره که باعث می‌شه بتونه هر گربه و سگ دیگری رو هم که می‌بینه، از هم تشخیص بده. به‌طوری که اگر ازش بپرسیم، تصاویر زیر چی هستن، بتونه به درستی بگه که تصویر راست، گربه و تصویر چپ، سگه.تصویر ۳حالا کمی جلوتر بیایم. از کجا می‌تونیم بفهمیم که چیزی رو درست یاد گرفتیم یا نه؟شاید برای این‌‌که این مسئله رو بهتر متوجه بشیم، بد نباشه اتفاقی که توی مدرسه می‌افته رو با یک مثال خیلی ساده با هم مرور کنیم:فرض کنید که قراره شیوه‌‌ی حل‌کردن معادله‌ی دو مجهولی رو یاد بگیریم. اول از همه، معلم به ما یاد می‌ده که چطور باید این کار رو انجام بدیم. برامون چند تا مثال می‌زنه و از طریق اون‌ها توضیح می‌ده که نحوه‌ی حل معادله‌ی دو مجهولی به چه صورته. بعد نوبت به آزمون تمرینی می‌رسه. این کار برای چیه؟ برای اینه که یک بار سعی کنیم بدون معلم، خودمون چندتا مثال حل کنیم و ببینیم که چقدر تونستیم روش حل معادله‌ی دو مجهولی رو یاد بگیریم. طبیعیه که بعد از آزمون تمرینی، معلم جواب رو به ما توضیح می‌ده، اشتباهاتمون رو متوجه می‌شیم و سعی می‌کنیم که برای آزمون تمرینی بعدی، اون اشتباهات رو تکرار نکنیم.اما در نهایت، یادگیری ما چطور سنجیده می‌شه؟ سنجش یادگیری نهایی، از طریق آزمون اتفاق می‌افته.به‌نظرت اگر سوالات آزمون رو از قبل دیده باشیم، نتیجه‌ی آزمون می‌تونه به‌درستی نشون بده که ما چقدر خوب یاد گرفتیم؟ چرا؟تصویر ۴احتمالاً جوابت به سوال بالا، «نه» بود؛ چون اگر سوالات آزمون رو از قبل دیده باشیم، احتمال خیلی زیادی وجود داره که جواب اون‌ها رو صرفاً «حفظ» کرده باشیم نه این که یاد گرفته باشیم. در واقع هدف ما از یادگیری، اینه که بتونیم هرجور معادله‌ی دو مجهولی که جلومون می‌ذارن رو حل کنیم؛ فارغ از این‌که قبلا معادله‌ای دقیقاً با اون ضرایب حل کردیم یا نه. تفاوت یادگیری با حفظ‌کردن، اینجاست که برامون روشن می‌شه.از انسان تا کامپیوترحتماً این روزها دقت کردی که کامپیوترها چه نقش گسترده‌ای رو توی زندگی‌مون ایفا می‌کنن و چقدر کارهای جالب و مفیدی رو می‌تونیم باهاشون انجام بدیم. کامپیوترها اصلاً موجودات باهوشی نیستن. شاید خودت هم قبلاً سعی کرده باشی که «برنامه نویسی» انجام بدی. در این صورت می‌دونی که برای این‌که کامپیوتر هر کاری رو انجام بده، باید به‌طور دقیق و مرحله‌به‌مرحله براش توضیح بدیم که چطور اون کار رو انجام بده. اما نه! این روزها کامپیوترها می‌تونن کارهایی رو انجام بدن که از توانایی‌ انسان‌ها فراتره. پس چطور تونستن از ما، که خودمون بهشون گفتیم چه مراحلی رو طی کنن، بهتر عمل کن؟در واقع گاهی اوقات ما حتی به‌درستی نمی‌دونیم که اون کار رو باید چطور انجام بدیم، چه برسه به این‌که بخوایم روش کار رو به کامپیوتر بگیم.این‌جا بود که ایده‌ی جدیدی برای استفاده از کامپیوترها در اجرای چنین کارهایی مطرح شد. ایده بسیار ساده‌ست. در واقع به‌نوعی از یادگیری طبیعی انسان الهام گرفته شده. ایده اینه که به‌جای این‌که مراحل کار رو قدم‌به‌قدم به کامپیوتر توضیح بدیم، تعداد خیلی زیادی از نمونه‌های انجام اون کار به کامپیوتر نشون بدیم. با گفتن یه مثال، این قضیه روشن‌تر می‌شه.فرض کنین قراره به کسی یاد بدیم که چطور به توپ ضربه بزنه. برای این کار، دو راه داریم:۱- تمام مراحل رو قدم‌به‌قدم براش توضیح بدیم، بهش بگیم که چطور پاش رو از روی زمین جدا کنه، چطور به سمت عقب ببره، پاش رو در چه زاویه‌ای قرار بده و با چه نیرویی به توپ ضربه بزنه.۲- چندین‌بار به توپ ضربه بزنیم و اجازه بدیم که همه‌ی این مثال‌های ما رو از ضربه‌زدن ببینه. بعد ازش بخوایم که خودش به توپ ضربه بزنه و بعد ایرادش رو برطرف کنی.راه اول، همون روش معمول و همیشگی گذشته بود. از راه دوم هم در دنیای کامپیوتر به «یادگیری ماشین» یاد می‌شه که همون ایده‌ایه که باعث می‌شه کامپیوتر بتونه کارهایی رو حتی بهتر از انسان انجام بده.در «یادگیری ماشین» ما تعداد زیادی نمونه رو از کاری که می‌خوایم برامون انجام بشه، به کامپیوتر می‌دیم. مثلاً فرض کنین ما از کامپیوتر می‌خوایم وقتی یک تصویر رو بهش می‌دیم، تشخیص بده که سگه یا گربه. پس نمونه‌های ما، عکس‌های خیلی زیاد از گربه‌ها و سگ‌های مختلف، کوچک و بزرگ، رنگارنگ و متنوع هستن. علاوه بر این، کامپیوتر باید بدونه که هرکدوم، تصاویر چه چیزهایی هستن؛ سگ یا گربه. پس به‌ازای هر عکس، یک کلمه هم به کامپیوتر داده می‌شه. درست مثل تصویر ۲.روش یادگیری کامپیوتر به این صورته که هربار یکی از این تصاویر رو بهش ورودی می‌دیم و کامپیوتر نام اون رو حدس می‌زنه و بعد بهش می‌گیم که درست حدس زده یا نه. طبیعیه که در دفعات اول، حدس‌های تصادفی می‌زنه که ممکنه اشتباه باشن. ولی وقتی ما «نام» درست اون تصویر رو بهش می‌گیم، کم‌کم حدس‌های بهتری می‌زنه و به‌تدریج، انگار روش تشخیص سگ و گربه رو یاد می‌گیره. در واقع کامپیوتر تلاش می‌کنه تا خطای خودش رو کم بکنه و این مسئله باعث می‌شه که بتونه یاد بگیره. حالا اگر به کامپیوتر، تصویر سگ یا گربه‌ای رو بدیم که تا به حال ندیده، اگر خوب یاد گرفته باشه، می‌تونه اون رو به درستی تشخیص بده. هرچه نمونه‌های اولیه‌ای که به کامپیوتر داده بودیم -تا بر اساس اون یادگیری رو انجام بده- ‌بیشتر باشن، طبیعتاً بهتر یاد می‌گیره. نکته‌ی جالب اینه که ما روش تشخیص مرحله‌به‌مرحله‌ی سگ و گربه رو به کامپیوتر نگفتیم. این خودش هست که داره بر مبنای حدس‌هایی که می‌زنه و بر اساس جواب ما که بهش می‌گیم درست حدس زده یا نه، کم‌کم یاد می‌گیره که به یک سری چیزها در تصویر توجه کنه و بر اساس اون، تشخیص بده که تصویر ورودی سگه یا گربه.تا این‌جا کمی با مفاهیم کلی آشنا شدیم. واقعیت اینه که اکثر روش‌های یادگیری ماشین، از ریاضیات پیچیده‌‌ای استفاده می‌کنن. اما در ادامه‌ی این ماجرا، می‌خوایم سعی کنیم که دو نمونه از روش‌هایی که ملموس‌ترن رو با هم بررسی کنیم.این پرونده به همراهی دوست عزیزم مهتاب بیگوردی نوشته شده. حتما قسمت بعدی‌ رو هم دنبال کنید! </description>
                <category>ارغوان رضوانی</category>
                <author>ارغوان رضوانی</author>
                <pubDate>Fri, 02 Apr 2021 10:44:59 +0430</pubDate>
            </item>
                    <item>
                <title>اولین کارگاه داده‌کاویِ مدرسه‌ٔ تابستانه‌ٔ علوم کامپیوتر</title>
                <link>https://virgool.io/rastaiha/%D8%A7%D9%88%D9%84%DB%8C%D9%86-%DA%A9%D8%A7%D8%B1%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87%DA%A9%D8%A7%D9%88%DB%8C%D9%90-%D9%85%D8%AF%D8%B1%D8%B3%D9%87%D9%94-%D8%AA%D8%A7%D8%A8%D8%B3%D8%AA%D8%A7%D9%86%D9%87%D9%94-%D8%B9%D9%84%D9%88%D9%85-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-ggh2o7eenfkd</link>
                <description>اتفاق نوینی که امسال در مدرسه‌ٔ تابستانه‌ٔ علوم کامپیوتر، شاهد آن بودیم، اضافه شدن کارگاه داده‌کاوی در هر دو شهر تهران و اصفهان بود. جنس مسائل این حوزه، کارگاه را تا حد زیادی به یک کارگاه عملی تبدیل کرده‌ بود. در این نوشتار، تلاش کرده‌ایم تا ضمن مطرح کردن اهمیت این موضوع، شرحی از روند برگزاری کارگاه ارائه دهیم.آورده‌ٔ کارگاه:یکی از مواردی که برای تیم برگزاری اهمیت ویژه‌ای دارد، توجه به این نکته است که آورده‌ٔ کارگاه برای یک دانش‌آموز دوره‌ٔ متوسطه چیست. آنچه که در حیطه‌ٔ مسائل علمی به او آموزش داده شود،‌ احتمالاً دیر یا زود، کم‌رنگ خواهد شد، چرا که در دروس دوره‌ٔ متوسطه، کم‌تر اشاره‌ای به حوزه‌ٔ علوم داده شده‌ است. شاید صرفاً با به یاد‌آوردن برخی از آموخته‌های درس آمار در کارگاه داده‌کاوی هیجان‌زده شود، پس در واقع این کارگاه قرار است چه نقشی برای او ایفا کند؟ می‌توان گفت، نتیجه‌ای که به طور غیر مستقیم از آموخته‌هایش در این کارگاه در ذهنش جای می‌گیرد، هیچ‌وقت از یادش نمی‌رود. بنابراین، آنچه که به طور غیر مستقیم از کارگاه با خود به همراه می‌برد، این نیست که داده را چگونه تحلیل می‌کنند. احتمالاً این در خاطرش باقی بماند که هیچ‌گاه نمی‌توان به اولین نتیجه‌ای که به طور سطحی از داده‌ گرفته می‌شود، اتکا کرد، بلکه برای این که یک گزاره‌ٔ عمومی را از روی داده‌های پیرامونش نتیجه‌گیری کند، لازم است که آن‌ها را دقیق‌تر بررسی‌ کند. در واقع این را می‌آموزد که اعلام یک گزار‌ه‌ٔ عمومی،‌ به یک پشتوانه‌ٔ داده‌ای نیاز دارد. شاید جزییات مراحلی که برای پردازش داده‌ها در کارگاه طی کرده است در خاطرش باقی نماند، اما احتمالاً حالا «داده» برای او، بار معنایی جدیدی دارد. حالا او به یک دید سطح بالا دست یافته و دریافته است که برای کشف حقایق، باید تلاش کند. شاید آنچه که نهایتاً از کارگاه با خود به همراه می‌برد، همین مفهوم ساده‌ٔ درس‌گرفتن از رخدادهای گذشته، برای پیش‌بینی آینده باشد … .عناوین کارگاه:اولین اقدام تیم برگزاری کارگاه، پس از مشخص کردن این اهداف سطح بالا، جست‌وجو برای مطالب موجود برای این گروه سنی بود. به طرز عجیبی در منابع فارسی، هیچ‌ گونه مطلبی برای معرفی حوزه‌ٔ علوم داده به زبان ساده وجود نداشت، در منابع انگلیسی هم، موفق نشدیم که هیچ نمونه‌ای از محتوای آموزشی برای نوجوانان پیدا کنیم، بنابراین محتوای کارگاه ما، شاید اولین منبع  برای آموزش اولیه‌ٔ علوم داده به نوجوانان به زبان فارسی به شمار رود. پس از درک اهمیت این موضوع، تیم برگزاری طی جلسات متعددی برای تعیین محتوای آموزشی کارگاه‌ها به تصمیم‌گیری پرداخت. عناوینی که نهایتاً برای طرح در کارگاه انتخاب شدند، شامل موارد زیر است:آشنایی کلی با داده، روش‌های مختلف جمع‌آوری داده، پیش‌بینی از طریق رگرسیون: پیش از برگزاری کارگاه، در هنگام ثبت نام، حدود ۱۰۰ تیله به شرکت‌کنندگان نشان دادیم و از آن ها خواستیم که تعداد تیله‌ها را حدس بزنند. در اولین قسمت کارگاه، نمودار فراوانی حدس‌هایشان را به آن‌ها نشان داده، میانگین حدس‌هایشان را بیان می‌کردیم که تا حد زیادی به مقدار واقعی تیله‌ها نزدیک بود. این اولین برخورد دانش‌آموزان با جمع‌آوری داده و استفاده از آن برای پیش‌بینی یک مقدار در واقعیت بود و هدف از انتخاب چنین مسئله‌ای برای آغاز کار، احساس نزدیکی بچه‌ها به موضوع کارگاه بود. در این مرحله از کارگاه، برای آشنایی شرکت‌کنندگان با نحوه‌ٔ جمع‌آوری داده، از آن‌ها خواسته شد که آزمایش مربوط به رابطه‌ٔ طول آونگ و دوره تناوب آن را انجام دهند. داده‌هایی که توسط همه‌ٔ تیم‌ها در کارگاه‌های برگزار شده در تهران و اصفهان به دست آمد، از طریق این لینک قابل دسترسی است. در طی این آزمایش، شرکت‌کنندگان با خطا در هنگام جمع‌آوری داده و راه‌های کاهش آن  روبه‌رو می‌شدند. هم‌چنین به کمک رابطه‌ٔ خطی که بین جذر طول آونگ و دوره‌ٔ تناوب آن قابل مشاهده بود، مفهوم رگرسیون (بدون توضیح نحوه‌ٔ دقیق به‌ دست آوردن خط مورد نظر) شرح داده می‌شد. به کمک داده‌های این قسمت، شتاب گرانش قابل پیش‌بینی بود که تقریبا در همه‌ٔ کارگاه‌های اجرا شده، عددی بین ۹ تا ۱۰ به‌ عنوان شتاب‌ گرانش به‌ دست‌ آمد. در انتهای این بخش، برای شهود بیشتر شرکت‌کنندگان، دو ویدیو تهیه کردیم که از طریق این لینک و این لینک قابل دسترسی هستند.تقویت حس کنجکاوی دانش‌آموز در نقش یک دانشمند علوم داده، طرح سوال از یک دیتاست و تلاش برای پیدا کردن پاسخ سوالات: در این قسمت، دیتاست مربوط به فیلم‌های سایت IMDB در اختیار تیم‌ها قرار گرفت. سوالات توسط خود دانش‌آموزان مطرح می‌شد تا جذابیت موضوع برایشان حفظ شود. شرکت‌کنندگان به کمک ماژول‌هایی که برای آن‌ها تهیه کرده بودیم، از روی دیتاست اطلاعات مورد نیاز برای پاسخ دادن به سوالات را به‌دست می‌آوردند.درک لزوم استفاده از نمودار جهت کسب شهود بهتر نسبت به داده، آشنایی با مفهوم هم‌بستگی، درک تمایز بین هم‌بستگی و رابطه‌ٔ علی-معلولی.آشنایی با اشتباهات ممکن در فرآیند نمونه‌گیری، تست فرضیه (تست جایگشت به دلیل ساده‌تر بودن انتخاب شد) با کمک دیتاست مربوط به «مصرف سیگار و تاثیر آن بر سرطان ریه».دسته‌بندی داده‌ها، تشخیص دسته‌ٔ داده‌ی مجهول، الگوریتم KNN، لزوم استفاده از داده آزمون.مشاهده چند نمونه از کاربردهای جذاب علوم داده با استفاده از پروژه های موجود در Experiments with Googleابزار کارگاه: ماژول‌ها:یکی از چالش‌های پیش روی تیم برگزاری از همان ابتدا، لزوم استفاده از کد و به طور خاص کتابخانه pandas یا R برای پردازش داده‌ها بود. اما پیچیدگی‌های سینتکس برای مخاطب ما، او را از هدف اصلی کارگاه دور می‌کرد. ایده‌ٔ اولیه، طراحی ماژول‌هایی گرافیکی برای استفاده‌ٔ دانش آموزان بود اما به دلیل مشکل کمبود وقت، نهایتاً ماژول‌هایی طراحی کردیم که گرافیکی نبودند اما پیچیدگی‌های pandas یا R را نداشتند و کار کردن با آنها بسیار راحت‌تر بود.نحوه‌ٔ برگزاری کارگاه:شرکت‌کنندگان در قالب تیم‌های ۳ نفره در کارگاه حضور می‌یافتند. در اختیار هر تیم یک لپتاپ قرار داده می‌شد که تمام کتابخانه‌های مورد نیاز برای اجرای ماژول‌ها بر روی آن نصب شده بود. هم‌چنین برای آشنایی با کاربرد ماژول‌ها، فایلی به عنوان cheat sheet به تیم‌ها داده می‌شد. برای اجرای هر بخش از کارگاه، یک ژوپیتر نوتبوک طراحی شده است.  نمونه‌ای از نوتبوک‌های تهیه شده در تصویر زیر قابل مشاهده است:چالش‌‌ها و چشم‌انداز کارگاه‌های آتی:شاید مهم‌ترین چالش در برگزاری چنین کارگاهی، که نیازمند کد زدن است، تفاوت سطح دانش آموزان باشد. بسیاری از شرکت‌کنندگان در کارگاه، برنامه‌نویسی را در مدرسه تجربه کرده‌ بودند. این دسته از دانش‌آموزان، کد زدن با ماژول‌های آماده‌ٔ ما را چندان نمی‌پسندیدند. از سوی دیگر، بخشی از دانش‌آموزان هیچ گونه تجربه‌ای در زمینه‌ٔ برنامه‌نویسی نداشتند و حتی استفاده از ماژول‌ها برای آن‌ها دشوار بود. در طی کارگاه‌های برگزار شده، تیم برگزاری حداکثر تلاش خود را به کار گرفت تا دانش‌آموزان درگیر ماژول‌ها نشوند و مفهوم مراحلی را که طی می‌کردند درک کنند. شاید طراحی ماژول‌های گرافیکی برای کارگاه‌های آتی، بتواند این مشکل را تا حد زیادی برطرف کند.چالش دیگر، سخت بودن درک برخی از مفاهیم برای دانش‌آموز دوره‌ٔ متوسطه بود. دید آماری شرکت‌کنندگان بسیار محدود بود و در نتیجه همه‌ٔ مفاهیم کارگاه، به نوعی برایشان تازگی داشت. در این میان، هرچه به انتهای کارگاه نزدیک می‌شدیم، درجه‌ٔ سختی مطالب هم بالا می‌رفت و از سوی دیگر، دیتاست‌های به کار رفته،‌ جذابیت کم‌تری برای بچه‌ها داشتند. تجدید نظر در نحوه‌ٔ ارائه‌ی برخی از قسمت‌های کارگاه،‌ به‌خصوص قسمت تست فرضیه، از نکاتی است که در برگزاری کارگاه‌های بعدی باید مورد توجه قرار گیرد.نتایج نظرسنجی:بازخوردهای زیر از میان بازخوردهای موجود در فرم نظرسنجی به دست آمده‌اند:این موضوع که توی بخش اول خود بچه‌ها سوال پیشنهاد می‌دادن و بعد همون سوال‌ها رو حل می‌کردیم خیلی خوب بود، چون باعث می‌شد خودمون به این فکر کنیم که چه چیز‌هایی رو می‌تونیم بهشون برسیم با استفاده از چیز‌هایی که یاد گرفتیم؛ نه این که کس دیگه‌ای این مرزها رو برامون مشخص کنه. منتورها کاملا حواسشون به همه بود، و حس رقابتی هم که بین گروه‌ها ایجاد شده بود سر سرعت حل سوالات خیلی خوب بود:)) ایده‌ٔ آزمایشی که با آونگ انجام می‌دادیم و همین‌طور حدس زدن تعداد تیله‌ها برای اینکه باعث بشه این مبحث رو از مباحث دیگه و حتی از زندگی روزمره جدا نبینیم خیلی خوب بود، و این که داده‌ها از طریق خود ما به دست اومده بودن همه چیز رو جذاب می‌کرد:))ایدهٔ تیله ها خیلی خوب بود و خب جنبهٔ عملی کارگاه (مثل آونگ‌ها) خیلی جالب بود. کلاً کارگاه هیجان‌انگیزی بود و مفاهیمش هم جدید بود و سایتی که طراحی شده بود و دستورهایی که برای سوال‌ها می‌زدیم رو توش وارد می‌کردیم خیلی خفن بود!سخن پایانی:ادامه دادن این شیوۀ آموزش و برگزاری چنین رویدادی، مورد استقبال تیم برگزاری خواهد بود. در صورت تمایل به دسترسی به منابع مورد استفادهٔ ما در این کارگاه، می‌توانید با ما در ارتباط باشید.</description>
                <category>ارغوان رضوانی</category>
                <author>ارغوان رضوانی</author>
                <pubDate>Sat, 19 Oct 2019 19:13:04 +0330</pubDate>
            </item>
            </channel>
</rss>