رفتن به نوشته‌ها

برچسب: آمار

یادگیری آمار به صورت آدمیزادی!

کتاب «استنباط آماری در عصر کامپیوترها» نوشته بردلی افرون و ترور هستی یک کتاب مدرنِ عمیق در مورد الگوریتم‌ها، ماشین لرنینگ و علم داده است. کتاب برای دانشجویان تحصیلات تکمیلی رشته آمار و هر کسی که دانش کافی و علاقه وافی برای خوندنش داشته باشه طبیعتا مناسبه!

Computer Age Statistical Inference
Algorithms, Evidence, and Data Science
Bradley Efron Trevor Hastie

این کتاب به شما کمک می‌کنه تا هم یادبگیرین از الگوریتم‌ها استفاده کنید و هم بفهمین که چرا این کارو انجام می‌دین! کتاب با پرداختن به استنباط آماری کلاسیک شروع می‌کنه، سراغ مکاتب فراوانی‌گرایانه (frequentism) و مکتب بیزی (bayesian) و در بخش دومش به الگوریتم‌ها روش‌های جدید کامپیوتری می‌پردازه. آخر سر هم میره سراغ مباحث روز مثل لاسو، جنگل تصادفی، بوستینگ، شبکه‌های عصبی و یادگیری عمیق!

🎞 در یوتیوب ببینید.

این کتاب توسط دکتر میرصادقی در دانشکده ریاضی شریف تدریس شده و ویدیو کلاس‌هاش موجوده.

📱در اینستاگرام ببینید

چرا تست‌های با حساسیت کمتر می‌تونن گزینه‌های بهتری باشن؟

این روزها خبر میرسه هزینه آزمایش پی سی آر (PCR) اونقدر زیاده که بعضی از افراد مشکوک به کرونا نمیتونن آزمایش بشن یا بودجه سیستم بهداشتی فلان کشور کفاف این‌ همه آزمایش پی‌سی‌آر رو نمیده و به جاش مجبوره مردم رو در قرنطینه بیش از حد طولانی ببره. ولی آیا واقعا نیازه سیستم بهداشتی در تمام موارد از پی‌سی‌آر استفاده کنه؟ یا جایگزین دیگه‌ای هم هست كه با مشكلات كمتر، نتيجه قابل‌قبولی داشته‌باشه؟

اين ویدیو قراره مزایا و معایب تست پی‌سی‌آر و جایگزین اون یعنی تست سریع آنتی‌ژن رو بررسی کنه.

ویدیو توسط Minute Physics ساخته شده و زیرنویس فارسی داره.

لینک های دانلود :

اگر همچنان مشتاق یادگیری بیشتر در مورد این نوع آزمایش هستید، به لینک های زیر سری بزنید:

پرسش و پاسخ‌ درباره ویروس جدید کرونا (کووید-‏‏۱۹)‏

سازمان جهانی بهداشت

از کجا بفهمیم که داریم کرونا رو شکست میدیم؟

۹۰۰۰ بیمار جدید و ۱۰۰۰ نفر بستری
۱۱۷۳۷ بیمار جدید و ۲۰۰۰ نفر بستری

  • قراره این آمار تا کجا ادامه پیدا کنه؟
  • قراره در انتها چند نفر کرونا بگیرن و بستری بشن؟
  • آیا ریاضیات میتونه انتهای راهی که میریم رو مشخص کنه؟

پرسش و پاسخ‌ درباره ویروس جدید کرونا (کووید-‏‏۱۹)‏

سازمان جهانی بهداشت

بر خلاف آمار روزانه‌ای که شبکه‌های خبری میدن، که اصلا معلوم نمی‌کنه قراره در آینده چه اتفاقی بیافته، در این ویدیو یاد می‌گیریم که چطور از ریاضیات و نمودارهای لگاریتمی میشه کمک گرفت تا آینده‌ای که پیش رو داریم رو روشن‌تر ببینیم و قدرت تحلیل و تصمیم‌گیریمون رو بالا ببریم، نتایج تصمیمات مختلف کشورها رو به روشنی ببینیم و حدس بزنیم که «کی قراره کرونا رو شکست بدیم؟»

اگر با ديدن ويديو در ذهنتون سوال پیش اومد و خواستید که خودتون با این آمار بازی کنید، حتما به سایت Aatish سر بزنید!

این ویدیو توسط Minute Physics ساخته شده و ویدیو زیرنویس فارسی دارد.
لینک های دانلود ویدیو :

نگاره از https://aatishb.com/covidtrends/

چگونه با آمار دروغ بگوییم؟

من خوب به خاطر دارم که وقتی دبیرستانی بودم، تمام رشته‌های تحصیلی در دبیرستان درس آمار رو می‌گذروندن. بعدها که بیشتر با مسائل روز درگیر شدیم تنگاتنگ بودن ارتباط آمار با وقایع اطرافمون رو بهتر متوجه شدم. ناهم‌خوانی‌هایی این وسط وجود داشت. همه‌چیز گرون میشه اما نرخ گرون شدن اجناس با تورمی که از سوی بانک مرکزی اعلام میشه همخوانی نداره. آمار بیکاری با چیزی که واقعا می‌بینیم تضاد داره. اخبار وارونه جلوه داده میشه. اتفاقات مثبت با کمی بازی با کلمات، منفی جلوه داده میشه. گاهی برای نمایش نتیجه‌ی مطلوب همبستگی رو به جای علیت نشون میدن.و خلاصه کلی مثال این شکلی دیگه که وجود داره و آدم رو گیج می‌کنه.

من چند وقت پیش اتفاقی با کتاب چگونه با آمار دروغ بگوییم آشنا شدم و خوندمش. کتاب بسیار کوتاه نوشته شده و مثال‌هاش کاربردیه.این کتاب به ما کمک می‌کنه یک بار دیگه و با ذهن نقاد سراغ آمار و اخباری که هرروز درباره‌ی وقایع زندگی‌مون می‌شنویم بریم.

در بخشی از کتاب می‌خونیم:

فرض کنید که بعد از مدت‌ها جستجو و تحقیق از محله‌های مختلف شهر تهران، برای خرید خانه در منطقه‌ای به ظاهر متشخص، به بنگاه معاملات املاکی می‌رویم. بنگاه‌دار شروع می‌کند به بیان خوبی‌های آن منطقه و امکانات بیشمار آن و در نهایت اعلام می‌کند که علاوه بر تمامی مزایای این منطقه، مزیت مهم دیگر این منطقه این است که «اعیان‌نشین» به حساب می‌آید، زیرا که طبق آمار رسمی دولت، «میانگین درآمد سرانه ساکنین این منطقه در سال ۱۰۰ میلیون است». بعد هم اضافه می‌کند که در این منطقه کلی حاجی‌های بازار و دکترهای خارج‌رفته زندگی می‌کنند. ما هم مسحور این جملات می‌شویم و احتمالا در آرزوی برخورداری از کیفیت بالای زندگی در کنار حاجی‌های بازاری و دکترهای خارج‌رفته که پولدارند، خانه را به قیمت بالایی بدون چانه‌زدن می‌خریم زیرا احتمالا در چنین منطقه پولدار و متشخصی، چانه زدن دون شان و تشخص است.سرخوشی ما از این معامله سراسر سود و خوبی ادامه دارد که ناگهان یک ماه بعد نامه‌ای از شهرداری برای تمامی ساکنان منطقه ارسال می‌شود. مضمون نامه این است که چون منطقه سکونت ما جزو مناطق خوش‌نشین و پولدارنشین حساب می‌شود و هزینه‌های تمیزکاری و درختکاری آن بیشتر از مناطق دیگر است، شورای شهر تصمیم گرفته است که عوارض شهرداری این منطقه را چند برابر کند. ناگهان صدای اعتراض از همه مردم منطقه بلند می‌شود و گروهی به ریاست همان آقای بنگاهدار برای مذاکره با شهرداری تشکیل می‌شود. در جلسه با مسئولین شهرداری، آقای بنگاهدار کلا این ادعا را که این محله جزو مناطق اعیان‌نشین و پولدار است، از پایه و اساس رد می‌کند! او می‌گوید که در محله آنها، کلی آدم بیکار و کارمند وجود دارد به طوریکه طبق آمار رسمی نصف مردم محله زیر ۲۰ میلیون در سال درآمد دارند که تقریبا نزدیک خط فقر است!

این کتاب ترجمه‌ی کتاب How to lies with statistics? هست که البته مترجم مثال‌هایی از کشور خودمون رو وارد ترجمه‌ی کتاب کرده که متن کتاب به ذهن خواننده آشناتر باشه.

این شما و این هم کتابی کوتاه و مفید درباره‌ی آمار.

وبلاگ‌نویسی و روایتگری در علم

بعد از مدت‌ها، فرصتی پیش‌ اومد تا با مهدی در مورد وبلاگ‌نویسی و روایتگری در علم گپ بزنیم. ویدیوی این گفت‌وگو ضبط شده و در ادامه‌ی این نوشته می‌تونید ببینیدش. به‌طور کلی در مورد این حرف زدیم که چرا وبلاگ‌نویسی مهمه، منظورمون از روایتگری در علم چیه و اشاره‌هایی هم داشتیم به تجربه‌هامون در سیتپور. حین این گپ و گفت یک سری وبلاگ معرفی شد و یک سری ایده و ترفند برای شروع وبلاگ‌نویسی که سعی می‌کنم اینجا به اون‌ها اشاره‌ مختصری کنم.

برای شروع وبلاگ‌نویسی

.There is nothing to writing. All you do is sit down at a typewriter and bleed

Ernest Hemingway, awarded the 1954 Nobel Prize in Literature

می‌تونید به سادگی وبلاگ شخصی خودتون رو توی blog.ir یا ویرگول یا هر جای دیگه درست کنید. برای دنبال کردن وبلاگ‌های مورد علاقه‌تون هم می‌تونید همه‌ رو به صورت یکجا به کمک feedly.com داشته باشید. این نوشته از جادی رو بخونید: برای پیشرفت مجدد، دوباره وبلاگ بنویسید!

وبلاگ‌های پیشنهادی

وبلاگ‌هایی که شخصا دنبال می‌کنم رو با توجه به سطح مطالبشون لیست کردم. منظور از «عمومی» یعنی مناسب هر علاقه‌مندی بدون در نظر گرفتن پیش زمینه خاصی هستند. «کمی فنی» یعنی باید دانش عمومی از ریاضیات و فیزیک داشته باشید. مثلا دانشجوی کارشناسی این رشته‌ها باشید. «فنی» یعنی نیاز به دونستن پیش‌زمینه‌های خاص در فیزیکی یا ریاضی هست. «خیلی فنی» هم یعنی باید دانشجوی تحصیلات تکمیلی باشین دست‌کم!

برای زندگی روزمره و بیشتر برای جنبه‌های عمومی مسئله:

«عمومی» 
«کمی فنی» 

نوشته‌های مربوط به فیزیک جریان‌اصلی:

«کمی فنی» 

فیزیک آماری، ماده‌چگال و محاسباتی:

«فنی» 

سیستم‌های پیچیده، یادگیری ماشین و علوم داده:

«فنی» 
«خیلی فنی» 

برای عمیق شدن در ریاضیات:

«خیلی فنی» 

این دو تدتاک رو هم برای جنبه عمومی نوشتن پیشنهاد می‌کنم:

یادگیری متلب و گنو اُکتاو

من معمولا از پایتون برای برنامه‌نویسی استفاده می‌کنم، چون پایتون آزاده، رایگانه و یه حالت آچار فرانسه‌طوری داره که کارهای مختلف میشه باهاش کرد. همین‌طور پایتون کتاب‌خونه‌های زیادی داره که برای کارهای مختلف علمی (محاسباتی) میشه ازشون استفاده کرد. خوبی این کتاب‌خونه‌ها اینه که به زبان‌های سطح پایین‌تری نوشته شدن به همین خاطر به قدر کافی سریع هستند! اگر هم کسی قصد کارهای تحلیل داده و یادگیری ماشین داشته باشه هم پایتون گزینه اوله، دست کم برای شروع! خلاصه همیشه به همه پیشنهاد می‌کنم که با پایتون شروع کنید و اگه کار دانشگاهی می‌کنید با پایتون ادامه بدین! از همه مهم‌تر وقتی شما با پایتون کد می‌زنید معمولا آدم‌هایی رو پیدا می‌کنید که مثل شما روی پروژه یا مسئله مشابهی کار کردن یا کار میکنند و از تجربیاتشون می‌تونید استفاده کنید یا ازشون سوال بپرسین.

با این وجود گاهی پیش میاد که آدم مجبور به استفاده از زبان‌های دیگه بشه. تجربه شخصی من اینه که عمده دانشگاهی‌ها به این دلیل مجبور میشن از یک زبان خاص استفاده کنند که به قدر کافی آدم‌های حرفه‌ای در تیمشون نیست! گاهی استاد و تیمی که پروژه‌ای رو پیش برده سال‌ها با یک زبان خاص کد زدند و ترجیحشون اینه که آدم‌های جدید هم با همون زبون ادامه بدن. راه کم‌دردسرتری هست معمولا، هر چند که گاهی می‌تونه به شدت احمقانه باشه! خلاصه ممکنه که هر کسی مجبور بشه سراغ زبان‌ها یا محیط‌های دیگه برنامه‌نویسی بره. یکی از این محیط‌ها متلب هست. توی لینوکس می‌تونید از Octave به جای متلب استفاده کنید و لذتش رو ببرید!

متلب یک محیط نرم‌افزاری برای انجام محاسبات عددی و یک زبان برنامه‌نویسی نسل چهارم است. واژهٔ متلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامه‌نویسی مورد نظر است که از ترکیب دو واژهٔ MATrix (ماتریس) و LABoratory (آزمایشگاه) ایجاد شده‌است. این نام حاکی از رویکرد ماتریس محور برنامه است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته می‌شوند.

گنو اُکتاو ( GNU Octave) زبان برنامه‌نویسی سطح بالایی است که بیشتر برای محاسبات عددی به کار می‌رود. این برنامه امکانات زیادی را از طریق رابط خط فرمان برای حل عددی مسائل خطی و غیر خطی می‌دهد. این برنامه را می‌توان جایگزین مناسبی برای همتای غیر آزاد خود متلب به حساب آورد.

ویکی‌پدیا

در ادامه یک سری منبع برای یادگیری متلب و اکتاو رو معرفی می‌کنم.

برای شروع

از بین این دوره‌ها، ببینید کدوم یکی به مذاقتون بیشتر خوش میاد:

برای محسابات عددی

به طور کلی

پیشنهاد من اینه که کلیات متلب رو یاد بگیرین و از منابع مختلف مربوط به کارتون استفاده کنید. مخصوصا از مثال‌های خود Mathworks استفاده کنید. مثلا اینجا ۵۰۰ تا مثال خیلی خوب برای ریاضیات، آمار و یادگیری ماشین هست. خوبه به این‌ها حتما نگاه کنید. حواستون باشه که به روی ایران بسته‌س و شما نیاز به چیزی برای دور زدن تحریم دارین که حتما راه‌های مختلفی بلدین براش!

این کتاب پر از مثال‌های خیلی قشنگه و اساسا آموزشش بر پایه مثال زدن. فصل اولش هم برای کسایی که آشنایی با متلب ندارن یک سری مثال آموزشی خوب داره.

خوبی این کتاب اینه که جواب تمرین‌ها رو هم داره و می‌شه به عنوان کتاب کمکی برای تدریس ازش استفاده کرد.

به عنوان پیشنهاد به دوستانی که معلم این درس یا درس‌های دیگه میشن : میتونید به جای حل‌تمرین سنتی پایه کلاس‌هاتون رو بر همچین چیزی بذارید. همین کار کوچیک میتونه تغییر محسوسی توی آموزش فیزیک به‌وجود بیاره. این کتاب نسخه‌ پایتونی هم داره!

تجربه شخصی در کارهای مربوط به تحلیل داده در بازار و نه دانشگاه!

من برای مدتی (۶ ماه) به‌خاطر امرار معاش و کسب تجربه وارد یه پروژه تحلیل داده به صورت پاره‌وقت شدم. درآمدش بد نبود و خوش هم می‌گذشت از یه جهت‌هایی! اگه شما تجربه‌ای در برنامه‌نویسی دارین یا ممکنه نیاز به کار پاره وقت داشته باشین یا اینکه کلا دوست داشته باشین که به صورت تفریحی از این کارا کنید، یه سری پیشنهاد دارم که بهتون کمک کنه وارد این شغل بشین.

فقط توجه کنید که این‌ها تجربه یه آدم حرفه‌ای نیست! تجربه کسی هست که فیزیک خونده و حالا می‌خواد یه کار پاره وقت رو تجربه کنه! کاری خارج از صنعت تست و کنکور و المپیاد. امیدوارم حرفه‌ای‌ها ببخشن و با نظرات خودشون این نوشته رو بهتر کنن.

فلسفهٔ پایتون خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است.

۱) پایتون یاد بگیرید

پایتون بر هر درد بی‌درمان دواست. اینم سه تا دوره خوب فارسی:

💡 اگر پایتون رو شروع کردین، ادامه این نوشته رو بخونید!

دیگه وقتش رسیده که حرفه‌ای تر بشین! اولین قدم – به عنوان پیشنهاد – اینه که برین توی ژوپیتر نوت‌بوک کد بزنید، خیلی محیطش خوبه، همون‌جا کدو ران می‌کنید و خیلی راحته همه چیز. در هر مرحله هم خیلی راحت میشه کنترل کرد که دارین چیکار می‌کنید. برای آشنایی بیشتر مثلا این نوشته رو ببینید.

در ضمن گوگل یه چیزی درست کرده به اسم Google Colab که یه ژوپتر نوت بوک آنلاینه که میشه بری اونجا و آنلاین کد بزنی روی کامپیوترای گوگل! ۱۲ گیگ رم میده بهتون با یه پردازنده نسبتا معقول. gpu هم میده برای پردازش‌های موازی! خوبی این‌کار اینه که حتی با یه کامپیوتر ضعیف هم میشه راحت کد پایتون زد و مهم‌تر این‌که میشه کد رو به اشتراک بذاری و همزمان چند نفر توی یه پروژه مشارکت داشته باشند. در ضمن، هر چیزی که بشه روی کامپیوتر شخصی نصب کرد، به راحتی روی گوگل کولب هم نصب میشه. خودتون ببنید چیه دیگه! داخل خود پروژه هم کلی کد نمونه هست. فیلم آموزشی هم هست. اینجا هم یکمی توضیح هست برای گوگل کولب.

بین محیط‌هایی که میشه کد زد ژوپیتر رو بیشتر به این خاطر پیشنهاد می‌کنم چون که می‌تونید برین روی گوگل کولب و راحت زندگی کنید! به خصوص توی کار گروهی به جای این‌که هی به مردم توضیح بدین که دارین چیکار می‌کنید یا مثلا نمودارهاتونو مدام بخواین ذخیره کنید و جدا براشون بفرستین، راحت لینک گوگل کلب رو میدین و میگین خب همه چیز اینجا هست. از طرف دیگه شفاف هم هست دیگه همه چیز. بقیه هم کدتون رو می‌تونن دنبال کنند و این‌که خودتونم یه جوری مجبور میشین تمیز کد بزنید و مرتب کامنت گذاری کنید، توضیح بنویسید که بعدترش دچار مشکل نشین در ادامه پروژه. امکانات خیلی زیادی خلاصه هست.

۲) تحلیل داده به کمک پایتون

الان وقتشه که یه سری کورس تحلیل داده هم ببینید و یاد بگیرین (مهم‌ترین کتابخونه پایتون برای تحلیل داده Pandas هست). با دوره‌ آنلاین آشنا هستید؟!

دوره‌های پیشنهادی:

یک دوره جامع از دانشگاه میشیگان:

۳) آمار یاد بگیرید

اگه واقعا می‌خواین کار درست حسابی کنید باید درست آمار بدونید. این دوره رو پیشنهاد می‌کنم:

نکته مهم اینه که لزومی نداره که خیلی کورس ببینید یا کتاب بخونید! خیلی چیزا رو حین کار میشه یاد گرفت. ولی دونستن یه حداقل‌هایی کمک می‌کنه که شما سریع‌تر بتونید کار پیدا کنید یا موقع کار اصلا بدونید برای رفع مشکلتون چی باید سرچ کنید! فراموش نکنید که گوگل بهترین کمک‌دهنده شما در این مسیره. گوگل معلم خوبیه، ازش سوال بپرسید! راستی، این نوشته از جادی – به عنوان یک آدم حرفه‌ای و با سابقه – رو بخونید.