آمار یادگیری ماشین
Type: Build
Language:پیتون
Prerequisites: Phase 1, Lessons 06 (Probability and Distributions), 07 (Bayes' Theorem)
Time: ~120 minutes
اهداف یادگیری
- آمار توصیفاتی را محاسبه کنید، ارتباط پیرسون/ اسپرمن و ماتریس های همتای از ابتدا
- آزمایش های فرضیه (ت تست، چی مربع) را انجام دهید و ارزش های p و فواصل اعتماد را به درستی تفسیر کنید
- استفاده از نمونه گیری مجدد بوترپ برای ساخت فواصل اعتماد برای هر متریک بدون فرضیه های توزیع
- تفاوت بین اهمیت آماری و اهمیت عملی با استفاده از اندازه گیری اندازه اثر
مشکل
شما دو مدل را آموزش داده اید مدل A 0.87 در مجموعه تست شما مدل B 0.89 در نمره شما مدل B را در نظر می گیرید سه هفته بعد، معیار تولید بدتر از قبل است. چه اتفاقی افتاد؟
مدل B در واقع عملکرد مدل A را برابری نکرد. تفاوت 0.02 شور بود. مجموعه آزمایش شما خیلی کوچک بود، یا تفاوت خیلی زیاد، یا هر دو. شما تصادفی را به عنوان بهبود ارسال کردید.
این اتفاق همیشه اتفاق می افتد. تغییر در رتبه بندی. مقاله هایی که تولید نمی شوند. آزمایشات A / B که بر اساس چند صد نمونه برنده اعلام می شوند. علت اصلی همیشه یکسان است: کسی آمار را رد کرد.
آمار به شما ابزارهایی می دهد تا سیگنال را از شور تشخیص دهید. آن به شما می گوید که چه زمانی تفاوت واقعی است، چقدر باید مطمئن باشید و چه مقدار داده ای نیاز دارید تا بتوانید به نتیجه ای اعتماد کنید. هر لوله ی ML، هر مقایسه مدل، هر آزمایش نیاز به آمار دارد. بدون آن، شما حدس می زنید.
مفهوم
آمار توصیفگر: خلاصه اطلاعات
قبل از اینکه چیزی را مدل کنید، باید بدانید که داده های شما چگونه به نظر می رسند. آمار توصیفاتی مجموعه داده ها را به چند عدد فشرده می کند که شکل آن را ضبط می کند.
Measures of central tendencyجواب "در وسط کجاست؟"
Mean: sum of all values / count
mu = (1/n) * sum(x_i)
Median: middle value when sorted
Robust to outliers. If you have [1, 2, 3, 4, 1000], the mean is 202
but the median is 3.
Mode: most frequent value
Useful for categorical data. For continuous data, rarely informative.میانگین نقطه تعادل است. میانگین نشان نیمه راه است. هنگامی که آنها منحرف می شوند، توزیع شما منحرف می شود. توزیع درآمد میانگین >> میانگین (محور راست از میلیاردرها) دارد. توزیع زیان در طول آموزش اغلب میانگین << میانگین (محور چپ از نمونه های آسان) دارد.
Measures of spreadپاسخ "داده ها چقدر پخش شده اند؟"
Variance: average squared deviation from the mean
sigma^2 = (1/n) * sum((x_i - mu)^2)
Standard deviation: square root of variance
sigma = sqrt(sigma^2)
Same units as the data, so more interpretable.
Range: max - min
Sensitive to outliers. Almost never useful alone.
IQR: Q3 - Q1 (interquartile range)
The range of the middle 50% of the data.
Robust to outliers. Used for box plots and outlier detection.Percentilesداده های مرتب شده را به 100 بخش برابر تقسیم کنید. 25 درصد (Q1) به معنای 25 درصد از ارزش ها در زیر این نقطه قرار می گیرند. 50 درصد میانگین است. 75 درصد Q3.
For latency monitoring:
P50 = median latency (typical user experience)
P95 = 95th percentile (bad but not worst case)
P99 = 99th percentile (tail latency, often 10x the median)در ML، شما به درصد ها برای تاخیر نتیجه گیری، توزیع اطمینان پیش بینی و توزیع خطا درک اهمیت می دهید. یک مدل با خطای متوسط پایین اما خطای وحشتناک P99 ممکن است برای برنامه های حیاتی ایمنی بی فایده باشد.
Sample vs population statistics.در هنگام محاسبه متغیر از یک نمونه، به جای n به (n-1) تقسیم کنید. این اصلاح بسل است. این باعث تعویض این واقعیت می شود که متوسط نمونه شما متوسط جمعیت واقعی نیست. با n در نامگذاری، شما به طور سیستماتیک متغیر واقعی را دست کم می اندازید. با (n-1) ، تخمین غیر جانبدار است.
Population variance: sigma^2 = (1/N) * sum((x_i - mu)^2)
Sample variance: s^2 = (1/(n-1)) * sum((x_i - x_bar)^2)در عمل: اگر n بزرگ باشد (هزاران نمونه) ، تفاوت بسیار کوچک است. اگر n کوچک باشد (دزنان نمونه) ، مهم است.
ارتباط: چگونه متغیرها با هم حرکت می کنند
ارتباط قدرت و جهت یک رابطه خطی بین دو متغیر را اندازه گیری می کند.
Pearson correlation coefficientاقدامات ارتباط خطی:
r = sum((x_i - x_bar)(y_i - y_bar)) / (n * s_x * s_y)
r = +1: perfect positive linear relationship
r = -1: perfect negative linear relationship
r = 0: no linear relationship (but there might be a nonlinear one!)
Range: [-1, 1]پیرسون فرض می کند که رابطه خطی است و هر دو متغیر تقریباً به طور طبیعی توزیع شده است. این نسبت به غیر معمول حساس است. یک نقطه انتهای واحد می تواند r را از 0.1 تا 0.9 جذب کند.
Spearman rank correlationاقدامات یکنواختگی:
1. Replace each value with its rank (1, 2, 3, ...)
2. Compute Pearson correlation on the ranks
Spearman catches any monotonic relationship, not just linear.
If y = x^3, Pearson gives r < 1 but Spearman gives rho = 1.When to use each:
Pearson: Both variables are continuous and roughly normal.
You care about the linear relationship specifically.
No extreme outliers.
Spearman: Ordinal data (rankings, ratings).
Data is not normally distributed.
You suspect a monotonic but not linear relationship.
Outliers are present.The golden rule:ارتباط به علت وجود ندارد. فروش یخچال و مرگ و میر ناشی از غرق شدن مرتبط هستند زیرا هر دو در تابستان افزایش می یابد. دقت مدل و تعداد پارامترها مرتبط هستند، اما اضافه کردن پارامترها به طور خودکار دقت را بهبود نمی بخشد (ببینید: بیش از حد مناسب).
ماتریکس کوویاریانس
همتای دو متغیر اندازه گیری می کند که چگونه آنها با هم متفاوت هستند:
Cov(X, Y) = (1/n) * sum((x_i - x_bar)(y_i - y_bar))
Cov(X, Y) > 0: X and Y tend to increase together
Cov(X, Y) < 0: when X increases, Y tends to decrease
Cov(X, Y) = 0: no linear co-movementبرای ویژگی های d، ماتریس کوویاریانس C یک ماتریس d x d است که C[i][j] = Cov(feature_i، feature_j). ورودی های دیگاکال C[i][i] متغیرات هر ویژگی هستند.
C = | Var(x1) Cov(x1,x2) Cov(x1,x3) |
| Cov(x2,x1) Var(x2) Cov(x2,x3) |
| Cov(x3,x1) Cov(x3,x2) Var(x3) |
Properties:
- Symmetric: C[i][j] = C[j][i]
- Positive semi-definite: all eigenvalues >= 0
- Diagonal = variances
- Off-diagonal = covariancesConnection to PCA.PCA خود ماتریس کووریانس را ترکیب می کند. خود متریها اجزای اصلی (معیار حداکثر متغیر) هستند. ارزش های خود به شما می گویند که هر متغیر چقدر متغیر را ضبط می کند. این دقیقاً چیزی است که درس 10 پوشش داده است، اما اکنون می بینید که چرا ماتریس کووریانس چیزی مناسب برای تجزیه است: آن را کدگذاری می کند تمام روابط خطی جفت در داده های شما.
Connection to correlation.ماتریس ارتباط ماتریس کوویاریانس متغیرهای استاندارد (هر کدام با انحراف استاندارد خود تقسیم می شود) است. ارتباط کوویاریانس را عادی می کند بنابراین تمام ارزش ها در [-1, 1] سقوط می کنند.
آزمایش فرضیه
آزمایش فرضیه یک چارچوب برای تصمیم گیری در شرایط عدم اطمینان است. شما با یک ادعا شروع می کنید، داده ها را جمع آوری می کنید و تعیین می کنید که آیا داده ها با ادعای سازگار است.
The setup:
Null hypothesis (H0): the default assumption, usually "no effect"
Alternative hypothesis (H1): what you are trying to show
Example:
H0: Model A and Model B have the same accuracy
H1: Model B has higher accuracy than Model AThe p-valueاحتمال دیدن داده ها به اندازه آنچه مشاهده کرده اید، است، فرض کنید H0 درست است. این احتمال H0 درست نیست. این تنها رایج ترین سوء تفاهم در آمار است.
p-value = P(data this extreme | H0 is true)
If p-value < alpha (typically 0.05):
Reject H0. The result is "statistically significant."
If p-value >= alpha:
Fail to reject H0. You do not have enough evidence.
This does NOT mean H0 is true.Confidence intervalsیک محدوده از مقادیر قابل قبول را برای یک پارامتر ارائه دهید:
95% confidence interval for the mean:
x_bar +/- z * (s / sqrt(n))
where z = 1.96 for 95% confidence
Interpretation: if you repeated this experiment many times, 95% of the
computed intervals would contain the true mean. It does NOT mean there
is a 95% probability the true mean is in this specific interval.عرض فاصله اطمینان به شما در مورد دقت می گوید. فواصل گسترده به معنای عدم اطمینان بالا است. فواصل باریک به معنای تخمین شما دقیق است (اما لزوما درست نیست، اگر داده های شما منحصرا باشد).
آزمون t
آزمون t، معادلات را مقایسه می کند.
One-sample t-test:آیا متوسط جمعیت از یک ارزش فرضیه متفاوت است؟
t = (x_bar - mu_0) / (s / sqrt(n))
degrees of freedom = n - 1Two-sample t-test (independent):دو گروه معنی متفاوتی دارند؟
t = (x_bar_1 - x_bar_2) / sqrt(s1^2/n1 + s2^2/n2)
This is Welch's t-test, which does not assume equal variances.
Always use Welch's unless you have a specific reason for equal variances.Paired t-test:در صورتی که اندازه گیری ها در جفت ها انجام شود (مثل مدل مورد ارزیابی در برابر تقسیم داده ها):
Compute d_i = x_i - y_i for each pair
Then run a one-sample t-test on the d_i values against mu_0 = 0در ML، آزمون t جفت رایج است: هر دو مدل را روی همان 10 طناب اعتبارسنجی متقابل اجرا می کنید و نمرات آنها را جفت مقایسه می کنید.
آزمون چِ مربع
تست چایی مربع بررسی می کند که آیا فرکانس های مشاهده شده با فرکانس های انتظار شده مطابقت دارند. برای داده های دسته بندی مفید است.
chi^2 = sum((observed - expected)^2 / expected)
Example: does a language model's output distribution match the
training distribution across categories?
Category Observed Expected
Positive 120 100
Negative 80 100
chi^2 = (120-100)^2/100 + (80-100)^2/100 = 4 + 4 = 8
With 1 degree of freedom, chi^2 = 8 gives p < 0.005.
The difference is significant.آزمایش A/B برای مدل های ML
تست A/B در ML با تست A/B وب یکسان نیست. مقایسه مدل ها چالش های خاصی دارد:
1. Same test set: Both models must be evaluated on identical data.
Different test sets make comparison meaningless.
2. Multiple metrics: Accuracy alone is not enough. You need precision,
recall, F1, latency, and fairness metrics.
3. Variance: Use cross-validation or bootstrap to estimate
the variance of each metric, not just point estimates.
4. Data leakage: If the test set was used during model selection,
your comparison is biased. Hold out a final test set.The procedure:
1. Define your metric and significance level (alpha = 0.05)
2. Run both models on the same k-fold cross-validation splits
3. Collect paired scores: [(a1, b1), (a2, b2), ..., (ak, bk)]
4. Compute differences: d_i = b_i - a_i
5. Run a paired t-test on the differences
6. Check: is the mean difference significantly different from 0?
7. Compute a confidence interval for the mean difference
8. Compute effect size (Cohen's d) to judge practical significanceاهمیت آماری در مقابل اهمیت عملی
یک نتیجه می تواند از نظر آماری قابل توجه باشد اما عملاً بی معنی است. با داده های کافی، حتی یک تفاوت معمولی از نظر آماری قابل توجه می شود.
Example:
Model A accuracy: 0.9234
Model B accuracy: 0.9237
n = 1,000,000 test samples
p-value = 0.001
Statistically significant? Yes.
Practically significant? A 0.03% improvement is not worth the
engineering cost of deploying a new model.Effect sizeمیزان تفاوت را مستقل از اندازه نمونه مشخص می کند:
Cohen's d = (mean_1 - mean_2) / pooled_std
d = 0.2: small effect
d = 0.5: medium effect
d = 0.8: large effectهمیشه هر دو p-قیمت و اندازه اثر را گزارش کنید. p-قیمت به شما می گوید که آیا تفاوت واقعی است. اندازه اثر به شما می گوید که آیا مهم است.
مشکل مقایسه چندگانه
وقتی فرضیه های زیادی را آزمایش می کنید، بعضی ها به طور تصادفی "مهم" خواهند بود. اگر 20 چیز را با الفا = 0.05 آزمایش کنید، حتی وقتی هیچ چیز واقعی نباشد، انتظار یک مثبت نادرست را دارید.
P(at least one false positive) = 1 - (1 - alpha)^m
m = 20 tests, alpha = 0.05:
P(false positive) = 1 - 0.95^20 = 0.64
You have a 64% chance of at least one false positive.Bonferroni correction:الفا را با تعداد آزمایشات تقسیم کنید.
Adjusted alpha = alpha / m = 0.05 / 20 = 0.0025
Only reject H0 if p-value < 0.0025.
Conservative but simple. Works when tests are independent.در ML، این مهم است وقتی که یک مدل را در میان چندین متریک مقایسه کنید، بسیاری از پیکربندی های هیپرامیتر را آزمایش کنید یا در مجموعه داده های متعدد ارزیابی کنید.
روش های بوتر استرپ
بوتر استریپینگ توزیع نمونه گیری یک آمار را با نمونه گیری مجدد داده های شما با جایگزینی تخمین می زند. هیچ فرضیه ای در مورد توزیع اساسی مورد نیاز نیست.
The algorithm:
1. You have n data points
2. Draw n samples WITH replacement (some points appear multiple times,
some not at all)
3. Compute your statistic on this bootstrap sample
4. Repeat B times (typically B = 1000 to 10000)
5. The distribution of bootstrap statistics approximates the
sampling distributionBootstrap confidence interval (percentile method):
Sort the B bootstrap statistics
95% CI = [2.5th percentile, 97.5th percentile]Why bootstrap matters for ML:
- Test set accuracy is a point estimate. Bootstrap gives you
confidence intervals.
- You cannot assume metric distributions are normal (especially
for AUC, F1, precision at k).
- Bootstrap works for ANY statistic: median, ratio of two means,
difference in AUC between two models.
- No closed-form formula needed.Bootstrap for model comparison:
1. You have predictions from Model A and Model B on the same test set
2. For each bootstrap iteration:
a. Resample test indices with replacement
b. Compute metric_A and metric_B on the resampled set
c. Store diff = metric_B - metric_A
3. 95% CI for the difference:
[2.5th percentile of diffs, 97.5th percentile of diffs]
4. If the CI does not contain 0, the difference is significantاین قوی تر از آزمون t جفت است زیرا هیچ فرضیه توزیع ای ایجاد نمی کند.
آزمایشات پارامتراتیک در مقابل آزمایشات غیر پارامتراتیک
Parametric testsفرض کنید توزیع خاصی (معمولاً طبیعی) داشته باشد:
t-test: assumes normally distributed data (or large n by CLT)
ANOVA: assumes normality and equal variances
Pearson r: assumes bivariate normalityNon-parametric testsهیچ فرضیه توزیع ای را انجام ندهید:
Mann-Whitney U: compares two groups (replaces independent t-test)
Wilcoxon signed-rank: compares paired data (replaces paired t-test)
Spearman rho: correlation on ranks (replaces Pearson)
Kruskal-Wallis: compares multiple groups (replaces ANOVA)When to use non-parametric:
- Small sample size (n < 30) and data is clearly non-normal
- Ordinal data (ratings, rankings)
- Heavy outliers you cannot remove
- Skewed distributionsWhen to use parametric:
- Large sample size (CLT makes the test statistic approximately normal)
- Data is roughly symmetric without extreme outliers
- More statistical power (better at detecting real differences)در آزمایش های ML، شما معمولا دارای n کوچک (5 یا 10 فولدهای اعتبارسنجی متقاطع) هستید، بنابراین تست های غیر پارامترکی مانند Wilcoxon-signed-rank اغلب مناسب تر از تست های t هستند.
نظریه محدودیتی مرکزی: پیامدهای عملی
CLT می گوید توزیع نمونه به توزیع طبیعی نزدیک می شود زیرا n رشد می کند، بدون توجه به توزیع اساسی جمعیت.
If X_1, X_2, ..., X_n are iid with mean mu and variance sigma^2:
X_bar ~ Normal(mu, sigma^2 / n) as n -> infinity
Works for n >= 30 in most cases.
For highly skewed distributions, you might need n >= 100.Why this matters for ML:
1. Justifies confidence intervals and t-tests on aggregated metrics
2. Explains why averaging over cross-validation folds gives stable
estimates even when individual folds vary wildly
3. Mini-batch gradient descent works because the average gradient
over a batch approximates the true gradient (CLT in action)
4. Ensemble methods: averaging predictions from many models gives
more stable output than any single modelWhat CLT does NOT do:
- Does NOT make your data normal. It makes the MEAN of samples normal.
- Does NOT work for heavy-tailed distributions with infinite variance
(Cauchy distribution).
- Does NOT apply to dependent data (time series without correction).اشتباهات آماری رایج در مقالات ML
- Testing on the training set.تضمینات بیش از حد مناسب همیشه داده هایی را که مدل در طول آموزش نمی بیند نگه دارید
- No confidence intervals.گزارش یک شماره دقیق بدون عدم اطمینان باعث می شود نتایج قابل تکرار و غیر قابل تأیید باشند.
- Ignoring multiple comparisons.آزمایش 50 تشکيل و گزارش بهترین بدون اصلاح، نرخ مثبت دروغین را افزایش می دهد.
- Confusing statistical and practical significance.یک p-قیمت 0.001 در بهبود دقت 0.01٪ معنی ندارد.
- Using accuracy on imbalanced data.99 درصد دقت در مجموعه داده ها با 99 درصد کلاس منفی به این معنی است که مدل چیزی یاد نگرفته است.
- Cherry-picking metrics.فقط از اندازه گیری هایی که مدل شما برنده شده گزارش می کنید.
- Leaking information across train/test splits.قبل از تقسیم کردن، عادی سازی یا استفاده از داده های آینده برای پیش بینی گذشته.
- Small test sets with no variance estimates.ارزیابی بر اساس 100 نمونه و ادعا از بهبود 2 درصد، صدا است نه سیگنال.
- Assuming independence when data is not independent.تصاویر پزشکی از همان بیمار، جمله های متعدد از همان سند. مشاهدات درون یک گروه مرتبط است.
- P-hacking.آزمایش آزمایش های مختلف، زیر مجموعه ها یا معیارهای حذف تا زمانی که شما p < 0.05 را بدست آورید. نتیجه یک اثر از جستجوی است.
ساخت آن
شما انجام می دهید:
- Descriptive statistics from scratch(متوسط، میانگین، حالت، انحراف استاندارد، پرسنسیل، IQR)
- Correlation functions(پیرسون و اسپیرمن با ماتریکس همتای)
- Hypothesis tests(تخت یک نمونه، تست دو نمونه، تست چایی مربع)
- Bootstrap confidence intervals(برای هر آماری، هیچ فرضیه ای لازم نیست)
- A/B test simulator(تولید داده ها، آزمایش، بررسی برای خطا های نوع I و نوع II)
- Statistical vs practical significance demo(که نشان می دهد این n بزرگ همه چیز را "مهم" می کند)
همه چيز از ابتداست، فقط با استفاده ازmathوrandomنه گندگي، نه گندگي
اصطلاحات کلیدی
| Term | Definition |
|---|---|
| Mean | Sum of values divided by count. Sensitive to outliers. |
| Median | Middle value of sorted data. Robust to outliers. |
| Standard deviation | Square root of variance. Measures spread in original units. |
| Percentile | Value below which a given percentage of data falls. |
| IQR | Interquartile range. Q3 minus Q1. The spread of the middle 50%. |
| Pearson correlation | Measures linear association between two variables. Range [-1, 1]. |
| Spearman correlation | Measures monotonic association using ranks. |
| Covariance matrix | Matrix of pairwise covariances between all features. |
| Null hypothesis | Default assumption of no effect or no difference. |
| p-value | Probability of data this extreme given the null hypothesis is true. |
| Confidence interval | Range of plausible values for a parameter at a given confidence level. |
| t-test | Tests whether means differ significantly. Uses the t-distribution. |
| Chi-squared test | Tests whether observed frequencies differ from expected frequencies. |
| Effect size | Magnitude of a difference, independent of sample size. Cohen's d is common. |
| Bonferroni correction | Divides significance threshold by number of tests to control false positives. |
| Bootstrap | Resampling with replacement to estimate sampling distributions. |
| Type I error | False positive. Rejecting H0 when it is true. |
| Type II error | False negative. Failing to reject H0 when it is false. |
| Statistical power | Probability of correctly rejecting a false H0. Power = 1 minus Type II error rate. |
| Central limit theorem | Sample means converge to a normal distribution as sample size grows. |
| Parametric test | Assumes a specific distribution for the data (usually normal). |
| Non-parametric test | Makes no distributional assumptions. Works on ranks or signs. |
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.