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

آنچه یادگرفتم، خواندم و دیدم رو اینجا به اشتراک می‌گذارم
I share what I learned, read and saw

طبقه بندی موضوعی
آخرین نظرات
  • ۸ خرداد ۰۲، ۱۵:۲۲ - احمد صداقت زاده
    عالی

یک بیگ پیکچر از علم آمار

به روز شده ۱۹ دی ۱۴۰۰

امروز فهمیدم میشه علم آمار رو به دو قسمت تقسیم کرد:

Inferential statistics

Descriptive statistics

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

و به بخش دوم یعنی Descriptive statistics آمار توصیفی میگن، و این علم قراره رفتار نمونه‌ای از یک جمعیت آماری رو توصیف کنه از کل به جز رسیدن. به عبارت دیگه من اطلاعات همه آدم‌ها رو دارم و حالا میخواهم راجع به احتمال قد ۱۶۰ تا ۱۷۰ سانتیمتر نظر بدم. به این علم احتمال هم میگن.

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

در این شکل که در اینجا(+) دیدمش میتونید بهتر با مفهوم این دو علم آشنا بشید.

۱۵ دقیقه اول جلسه ۱۹م این درس.

سفرنامه سه روزه با دوچرخه به مشهد در سال ۹۸

یکی از روز‌های تابستون ۹۸ تصمیم گرفتم با دوچرخه از نیشابور به مشهد برم و برگردم. چرا؟ چون همیشه دوست داشتم با دوچرخم جاهای دور برم مثلا یادمه قبل‌ترها دورترین ‌جا شادیاخ-یک سایت تاریخی نزدیکی آرامگاه عطار حدود ۳ کیلومتری مرکز شهر- بود بعد شد بوژان-روستایی سرسبز با رودخانه‌ها و چشمه‌های پر آب در شمال شرق نیشابور حدود 20 کیلومتری شهر- و حالا قصد داشتم به مشهد-شهری در شمال شرق نیشابور با فاصله 120 کیلومتری :)- برم. یکی دیگه از آدم‌هایی که بهم انرژی این سفر رو داد فرانسیس بود دیدن او و گپ زدن با او من مشتاق این سفر کرده بود.

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

من اکنون چطور مقاله میخونم؟

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

پس از تصاویر هم میرم به دنبال نتیجه‌گیری یا Conclusion و اونجا رو هم اسکن میکنم. تا اینجا میتونم تصمیم بگیرم مقاله‌ای که پیدا کردم آیا ارزشش رو داره بیشتر عمیق بشم یا در همین حد کافیه؟ اگه تصمیم گرفتم به کارم بیاد حالا میشنم از اول دوباره میخونم. پس تا اینجای کار فهمیدیم وقتی میگیم مقاله فلان رو خوندم به این معنی نیست که از عنوان تا مراجع همه رو کلمه به کلمه خونده باشیم، این کار خیلی کم پیش میاد و احتمالا مقاله های most related رو این طوری می‌خونیم. در این حالت میگن اصطلاحا مقاله رو با میکروسکوپ خوندنم :) از طرفی شما میتونی بگی فلان مقاله رو خوندم و منظورت این باشه که فقط عنوان و چکیده رو خوندی و خوب احتمالا خیلی به کارت نمیومده که ادامش ندادی.

چیزی که از Nancy Kanwisher یادگرفتم

ایشون تو یکی از کلاس‌هاشون این توصیه رو می‌کرد به بچه‌ها در خوندن مقاله، بگردین و دنبال جواب این سوال‌ها باشین به ترتیب

سوالی که این مقاله دنبالش بوده چی هست؟

اگه به درستی نوشته شده باشه باید جواب این سؤال رو توی چکیده پیدا کنید

چه جوابی برای اون سؤال پیدا کردن؟

باز هم اگه مقاله به درستی نوشته شده باشه باید بتونید جواب این سؤال رو در چکیده پیدا کنید

تفسیر جواب چی میشه یا به عبارت دیگه خب که چی؟

و باز هم اگه مقاله به درستی نوشته شده باشه باید بتونید جواب این سؤال رو در چکیده پیدا کنید

طراحی آزمایش شون چطور بوده یا دقیقا چیکار کردن؟

از اینجا دیگه ممکنه جواب این سؤال رو توی چکیده پیدا نکنید و لازم باشه برین بقیه مقاله رو بخونید البته دقت کنید حتی تو بعضی از مقاله‌ها هم ممکنه جواب سه سؤال اول رو تو چکیده پیدا نکنید

داده‌ها چطور تحلیل شدن؟

چرا سوالی که مقاله به دنبالش رفته مهمه؟

معمولا جواب این سؤال هم در قسمت introduction بیان شده

و سه نکته:

- نگین این که ۵ صفحه مقالس پس ۲۰ دقیقه بیشتر وقتمو نمیگیره، خیر، حتی برای خود محقق‌های باتجربه هم گاهی همون ۵ صفحه نیاز به صرف مثلا ۵ ساعت وقت هست.

- لازم نیست اون قسمت که میان دستگاه شون رو معرفی میکنن و شرایطش رو میگن بخونید یا حداقل جدی بخونید.

- از اینکه دانش تحلیل داده‌هاتون قوی نیست نترسین و نگید که من باید دقیقا صفر تا صد تحلیل داده‌ها رو بفهمم، نه، در حد اینکه مثلا با بعضی از تست‌های آماری مثل t-test یا ANOVA و یا با مفهوم Corrolation آشنا باشید کافیه بقیه تحلیل‌های مقاله رو صرفا اگه شهودی هم بهش داشته باشین کافیه. منظورم از شهود چیه؟ مثلا اگه گفته با SVM داده‌ها مو برچسب زدم، همینه که شما بدونید SVM یک روش طبقه‌بندی هست کافیه.

حالا با داشتن این چهارچوب در ذهن تون بهتر می‌تونید به دنبال خوندن مقاله برین

یک مثال

من هم اینجا یک نمونه اوردم از این مقاله. که سؤال مقاله رو قرمز کردم جوابی که پیدا کردن رو سبز کردم و تفسیر جواب رو نارنجی.

Abstract

Electroencephalography (EEG) continues to be the most popular method to investigate cognitive brain mechanisms in young children and infants. Most infant studies rely on the well-established and easy-to-use event-related brain potential (ERP). As a severe disadvantage, ERP computation requires a large number of repetitions of items from the same stimulus-category, compromising both ERPs’ reliability and their ecological validity in infant research. We here explore a way to investigate infant continuous EEG responses to an ongoing, engaging signal (i.e., “neural tracking”) by using multivariate temporal response functions (mTRFs), an approach increasingly popular in adult EEG research. N = 52 infants watched a 5-min episode of an age-appropriate cartoon while the EEG signal was recorded. We estimated and validated forward encoding models of auditory-envelope and visual-motion features. We compared individual and group-based (‘generic’) models of the infant brain response to comparison data from N = 28 adults. The generic model yielded clearly defined response functions for both, the auditory and the motion regressor. Importantly, this response profile was present also on an individual level, albeit with lower precision of the estimate but above-chance predictive accuracy for the modelled individual brain responses. In sum, we demonstrate that mTRFs are a feasible way of analyzing continuous EEG responses in infants. We observe robust response estimates both across and within participants from only 5 min of recorded EEG signal. Our results open ways for incorporating more engaging and more ecologically valid stimulus materials when probing cognitive, perceptual, and affective processes in infants and young children.

یک تمرین برای چطور مقاله خوندن

شما هم یک مقاله انتخاب کنید و سعی کنید دنبال جواب حداقل این سه سؤال(سؤال/جواب/تفسیر) در چکیده بگردین.

منبع(چند دقیقه آخر این کلاس +)

شناسوندن تابع‌ها به متلب آشنایی با addpath

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

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

خب path به معنی آدرس هست. هر فایلی یکpathی برای خودش داره

مفهوم Working directory. هر جا دستورات و یا فایل متلب‌تون رو دارین اجرا می‌کنید میشه پوشه کاری تون.

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

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

C:\Users\Amir\Documents\w\CNSP\my_mfile.m

در مدل آدرس دهی نسبی اگه پوشه کاری‌مون

C:\Users\Amir\Documents\w\CNSP

باشه کافیه فقط اسم تابع مون رو بنویسیم یعنی my_mfile

چطوری پوشه کاری مو به یا آدرس دیگه عوض کنم؟ با دستور cd که جلوش داخل کوتیشن آدرس جدید تون رو بنویسید.

یک مفهوم دیگه داریم به نام Search Path. بذارین بهش بگیم آدرس جستجو، وقتی مثلا تو m فایل تون یک تابع دیگه رو صدا میزنید اولی میره پوشه کاری رو میگرده ببینه میتونه پیداش کنه یا نه اگه بود استفاده می‌کنه و گرنه بهتون خطا میده.

خب حالا دستور addpath چی‌میگه؟ فرض کنید یک پوشه دارین به اسم my_handy_functions که توش کلی m فایل و تابع های کاربردی دارین یک تابع برای فیلتر کردن یک تابع برای رسم نمودار یک تابع برای محاسبه میانگین سیگنال. وقی بخواین از تابع هاتون استفاده کنید که توی اون پوشه هستن برای اینکه هی نگنین من فلان تابعی رو میخوام که توی فلان پوشه هست و فقط اسم تابع رو بنویسید به متلب میگید:

addpath my_handy_function

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

ولی توجه داشته باشین که اگه حجم m فایل‌هاتون بیشتر باشه  توی پوشه my_handy_fuction با درست کردن چند پوشه مثل filtering_functions و Rerefrence و ploting داشته باشین تو توی هر کدوم چند m فایل دیگه متلب اون‌ها رو نمیشناسه فقط هرچی توی my_handy_function هست رو میشناسه. به عبارت دیگه اگه بخواین یک پوشه و تمام پوشه‌های داخلی شو به path اضافه کنید از این دستور می‌تونید استفاده کنید

addpath(genpath('CNSP_tutorial\libs\eeglab'));

تابع genpath میره و زیر پوشه‌ها رو پیدا میکنه و حالا هرچی فایل تو پوشه و زیر پوشه‌هاش باشه توسط مطلب شناخته میشه.

نمیشه اینا رو گرافیکی انجام داد؟ چرا کافیه مطابق تصویر زیر به Home و بعد Set Path برین و مطابق نیاز تون از Add Folder یا Add with Subfolders استفاده کنید.

در ضمن اون کادر سبز رنگ یعنی پنجره Current folder هم کمک میکنه به شما که بدونیم مطلب چه آدرس‌هایی رو میشناسه اون‌فایل‌ها و پوشه‌هایی که رنگ شون روشنه یعنی متلب اون‌ها رو میشناسه ولی اگه مثل NoiseTools رنگشون تیره باشه یعنی مطلب اون‌ها رو نمیشناسه.

متلب

چند قالب لاتک مفید برای دانشجویان ارشد

۱- قالب تمرین درس‌های ارشد در فرمت مقاله

  • این قالب اساسش از IEEE گرفته شده و متناسب با فضای یک تمرین درسی تغییر پیدا کرده
  • بخش‌های مختلف فایل‌های مختلف داره و یکدونه فایل نیست
  • خیلی راحت فایل‌ها رو باز کنید و متن خودتونو با متن من جایگزین کنید
  • داشتن کد الگوریتم نویسی
  • داشتن کد جدول
  • داشتن کد فیگر چند فیگره
  • داشتن کد اینکه آخرین مطالب(منابع و قبل از آن) به صورت تراز شده به اتمام برسند

چند نکته غیر لاتکی راجع به تمرین:

  • با مفهوم رنگ و پالت‌های مختلف رنگ و ترکیب رنگ‌ها و نرم‌افزارهای انتخاب رنگ آشنا بشید(+)
  • فیگرهایی که از متلب یا پایتون خروجی میگیرین سعی کنید حال وکتور داشته باشه مثل فایل‌های svg نه jpg اینجوری کیفیت هرچقدر هم بزرگ نمایی کنید افت پیدا نمی‌کنه
  • سعی کنی اگه حتی زبان تون خوب نیست به انگلیسی بنویسید تا از الان هم آشنا بشید و هم خودتونو در این زمینه به چالش بکشید
  • متن تون رو می‌تونید با این نرم‌افزارهای آنلاین بررسی کنید(+) اگر از دوستان رجایی من هستید از گرامرلی پرمیوم دانشگاه غافل نباشید(+)
  • یادتون نره متن رو نمی‌تونید کپی پیست کنید اگر هم مجبور شدید سعی کنید خیلی کوتاه باشه حتما داخل دابل کوتیشن و رفرنس هم بدید

۲- سمینار کارشناسی ارشد

۳- گزارش سه‌ماهه کارشناسی ارشد

هر سه قالب رو می‌تونید با این لینک(+) دریافت کنید.

Probability Vs Likelihood

یک وقت هست شما میخوای بدونی سکه که میندازی شیر میاد یا خط، میگی احتمال شیر اومدن ۰.۵ هست. بعضی وقت‌ها نه کلی داده جمع کردی از پرتاب یک سکه میخوای ببینی آیا سکه سالم بوده؟ یعنی احتمال شیر اومدن ۰.۵ بوده اون وقت میری سراغ تابع درست‌نمایی یا لایکلی‌هود. به عبارت دیگه در حالت اول دنبال پیش بینی آینده هستی و در حال دوم دنبال پیدا کردن مدل.

مثال: فرض کنید شیرین و ملیحه آشپزی کردن  شیرین دوست داره غذای های شکری درست کنه و ملیحه هم دوست داری غذاهای نمکی درست کنه. دیشب شیرین، فالوده درست کرده ملیحه هم نودل،

در حالت احتمال شما مدل رو داری یعنی مثلا شیرین پیشته و سوالت این هست که چقدر احتمال داره شیرین یک غذای شور درست کنه

ولی در حالت لایکلی هود یک مشاهده داری یعنی مثلا غذا رو دیدی یا خوردی مثلا نودل رو حالا سوالت اینه که چقدر احتمال داره دست پخت شیرین باشه؟

تو اینجا شیرین و ملیحه همون مدل هستن و غذاهاشون داده.

مثال: سنجش میگه ۶۰ درصد کنکوری‌ها خانم و ۴۰ درصد آقا هستن(مدل یا جامعه من). حالا من میرم دوربین ورودی دانشگاه رو میبینم برای یک ساعت(نمونه یا داده من). احتمال اینه که بگیم نسبت خانم و آقا در دوربین چیه؟ ولی یک وقت هست کار پیچیده تره و من به مدل یا جامعه دستری ندارم، مثلا بهداشت میگه ما از شهر چابهار ۱۰۰ نمونه کرونا گرفتیم و دیدیم ۱۰ نفر مبتلا هستن. حالا چقدر احتمال داره نصف شهر درگیر باشن؟ این سؤال دوم که از نمونه میخوایم برسیم به جامعه از جنس لایکلی‌هود هست.

چند تا نکته راجع به نحوه نوشتن:

  • X = Random variable
  • x = a sample
  • L = Likelihood function
  • Parameter = What machine find
  • Hyper-parameter = What you set
  • θ = Distribution or distribution parameter
  • Probability
    • is function of x
    • is area under PDF(probability density function)
    • about future event
    • attaches to possible results
  • Likelihood is
    • function of θ
    • point on PDF
    • usally abut past event
    • attaches to hypotheses
  • L(θ|x) = P(x|θ)
  • Sum of the P is 1
  • Sum of the L is not necessary 1
  • L maybe continues and P discrete

منابع (+/+/+)

مطالعه بیشتر (+)

فیت کردن یک خط به داده‌ها

به روزرسانی ۲۶امرداد۱۴۰۰

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

https://youtu.be/OeufUF4Uyjs

در ادامه مطلب به این می‌پردازیم که چطور داده هامون رو با یک خط بیان کنیم.

پس بیاین عبارت مشابهی که به این منظور استفاده میشن رو با هم بشناسیم تا از این به بعد هرجا دیدیمشون بدونیم از چی دارن حرف میزنن:

  • Linear regression
  • Least squres optimization
  • Fitting a line to data

فرض کنید یک سری داده جمع کردین مثل این‌ها

داده‌ها

تصویر۱: داده‌های ما مثل محور افقی میتونه پول باشه و محور عمودی آش دریافت شده (هرچقدر پول بدی همونقدر آش میخوری)

و حالا ما میخوایم یک خط رو روی اینا فیت(براز/نگاشت) کنیم ببینیم ترند(روند) داده‌ها چطوریه، سوالی که مطرح میشه این هست که خوب کدوم از همه بهتره؟

چطوری کتاب بخونیم؟

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

نکته اول

مواد لازم: یک عدد کتاب برای خوندن، یک عدد ماژیک هایلایت، یک عدد قلم و یک عدد دفتر.

۱- شروع کنید به خوندن کتاب هر جا بنظرتون حرفش جالب بود هایلایت کنید.

۲- هایلایت‌هاتون رو هم زمان داخل یک دفتر بنویسید.

۳- بعد از اتمام کتاب برین دفترتون رو بخونید و هر جا مهم بود رو هایلایت کنید.

۴- هرزگاهی به دفترتون سر بزنید و هایلایت شده هارو مرور کنید.

منبع(+)

نکته دوم

با خودتون قرار بگذارین از این به بعد هربار کتاب خوندین بعد از خوندن هر پاراگراف کنار اون پاراگراف از یکی از حروف A B C D استفاده کنید.

A: یعنی نمیخواد این پارگراف بخونی نکته خاصی نداره

B: یعنی این پارگرافو سریع بخون رد شو

C: یعنی این پاراگرافو با دقت بخون

D: یعنی این پاراگرافو چند بار بخون، حیفه حتی اگه یک کلمه شو هم نفهمی

منبع(+)

به‌روز رسانی ۱۷ امرداد ۰۰

Across subject Vs Within subject

وقتی میگیم مدلی رو تونستیم Within subject فیت کنیم یعنی، این مدل میتونه subject by subject داره خروجی‌ای میده که با داده‌ای که گرفتیم نزدیکه پس مثلا اگر از ۳۰ نفر داده جمع کرده باشیم، ما در این روش ۳۰ تا نمره داریم از مدل.

در حالت Across subject ما میام و خروجی تمام سابجکت ها رو مدل می‌کنیم و خب معمولا کار پیچیده تری داریم در این حالت. چون احتمالا داده مون بین subject ها تغییراتی هم داره. در این حالت هم اگه از اون ۳۰ نفره داده داشته باشیم حالا از مدل مون فقط یک نمره داریم.

Intra Vs Inter

این دو تا لغت رو تو متن‌های علمی زیاد میبینیم، و شاید از کنارشون بگذریم و همینجوری قبول کنیم معناشون رو و دقیق تفاوت بین دو پیشوند رو متوجه نشیم.

این‌ها پیشوند هستند به این معنی که به قبل از یک کلمه(معمولا اسم) اضافه میشن و معناشو عوض می‌کنند.

inter یک پیشونده که وقتی به اول یک کلمه اضافه بشه معنی بین دو گروه  و یا میان چند گروه رو میرسونه و مثال‌هاش اینا میشن:

international:

بین الملل، من خودم اینجور وقتا یک ابری از کلمات تو ذهنم میسازم و سعی میکنم باهشون بازی کنم مثلا ایناها رو هم در ترجمش برای خودم در نظر میگیرم، بین ملت‌ها، میان ملت ها مثلا دانشجو های اینترنشنال دانشجوهایی هستن که واسه یک ملت نیست و از بین ملت‌های مختلف تشکیل شدن.

internet:

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

interstellar:

میان ستاره‌ای

intra هم یک پیشونده که وقتی به اول یک کله اضافه بشه معنی داخل یک گروه رو میرسونه

مثال هاشو باهم ببینیم

intranet:

شبکه‌ای که داخل یک گروه خاصی هست مثلا احتمالا دانشگاه یا شرکت شما برای خودش یک اینترانت داخلی داره که شما میتونید براحتی با سرورهای داخلی تون، برنامه ها، فضاهای ابری دانشگاه تون وصل بشین و هرچی که هست داخل دانشگاه خودتونه.

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

من قبلاً دوره learning how to learn(LHTL) رو شرکت کرده بودم و خلاصه اون دوره رو در این پست منتشر کردم. پس از پایان دوره مدرسان دوره منو به خبرنامه هفتگی ایمیلی شون اضافه‌کردن. قبل‌ترها خاطره خوشی از این ایمیل‌های هفتگی نداشتم غالباً به مناسبت‌های مختلف میلادی میگفتن رو محصولات مون تخفیف خورده بیاین بخرین، یا گاهاً توضیح بیشتری راجع به محصولشون میدادن و خب من از اینجا یعنی ایران نمی تونستم کار خاصی بکنم در نتیجه یک راست این ایمیل‌ها میرفتن سطل آشغال.