ریاضیات یادگیری ماشین قرار نیست پیش از اولین خط کد به مانعی بزرگ تبدیل شود. برای شروع، باید چند مفهوم را آنقدر خوب بفهمید که خروجی مدل را اشتباه تفسیر نکنید: بردار و ماتریس، میانگین و پراکندگی، احتمال شرطی، مشتق و ایدهٔ بهینهسازی. این پایهها کمک میکنند بدانید مدل چه چیزی را محاسبه میکند، چرا خطا دارد و چه زمانی یک نتیجهٔ ظاهراً عالی قابلاعتماد نیست.
در این مقاله، مثال اصلی پیشبینی مصرف انرژی یک ساختمان است. مساحت، دمای هوا و تعداد ساکنان ورودیاند و مصرف روزانه خروجی است. با همین مثال میتوان بیشتر پیشنیازهای مهم را توضیح داد، بدون اینکه از ابتدا وارد اثباتهای طولانی شویم. هدف حذف عمق ریاضی نیست؛ ساختن ارتباطی روشن میان نمادها و تصمیمهایی است که در یک پروژهٔ واقعی میگیرید.
اسکالر، بردار و ماتریس چه معنایی دارند؟
اسکالر یک عدد است؛ مثلاً دمای یک روز. بردار مجموعهای مرتب از مقدارهاست؛ مثلاً مساحت، دما و تعداد ساکنان یک ساختمان. ترتیب اهمیت دارد: اگر هنگام آموزش ستون نخست مساحت و هنگام استفاده دما باشد، همان مدل خروجی نادرست میدهد. بنابراین بردار فقط فهرستی از عددها نیست، قراردادی دربارهٔ معنا و ترتیب هر مؤلفه هم هست.
ماتریس را میتوانید جدولی عددی در نظر بگیرید که هر سطر یک نمونه و هر ستون یک ویژگی است. اگر صد روز و سه ویژگی داشته باشید، شکل ماتریس ورودی صد در سه خواهد بود. برچسب مصرف معمولاً جدا نگهداری میشود. این جداسازی بهظاهر ساده جلوی اشتباه مهمی را میگیرد: واردکردن پاسخ واقعی در ویژگیها و سپس شگفتزدهشدن از دقت بسیار بالای مدل.
ضرب داخلی و پیشبینی خطی
در مدل خطی، هر ویژگی در یک وزن ضرب و نتیجهها با مقدار ثابتی جمع میشوند. برای دو ویژگی مینویسیم پیشبینی برابر است با وزن اول ضرب در مساحت، بهعلاوهٔ وزن دوم ضرب در دما، بهعلاوهٔ عرض از مبدأ. ضرب داخلی نام فشردهٔ بخش جمع ضربهاست. این نمایش کمک میکند محاسبهٔ نمونههای فراوان را یکجا و با عملیات ماتریسی انجام دهیم.
بزرگی وزن بهتنهایی اهمیت یک ویژگی را ثابت نمیکند، چون واحدها متفاوتاند. وزن مربوط به مساحت بر حسب مترمربع را نمیتوان بیتوجه به مقیاس با وزن دما مقایسه کرد. همبستگی میان ویژگیها هم میتواند تفسیر وزنها را دشوار کند. پیش از اینکه از یک ضریب نتیجهٔ تجاری یا علمی بگیرید، تعریف واحد، مقیاس و مفروضات مدل را بررسی کنید.
میانگین، میانه و پراکندگی
میانگین از جمع مقدارها و تقسیم بر تعداد به دست میآید. میانه مقدار میانی دادهٔ مرتبشده است. اگر مصرف بیشتر روزها نزدیک هم باشد اما یک روز خطای ثبت بسیار بزرگی داشته باشد، میانگین بیشتر از میانه جابهجا میشود. این تفاوت نشان میدهد انتخاب شاخص خلاصه باید به توزیع داده و سؤال شما وابسته باشد، نه اینکه یک شاخص را همیشه بهتر بدانیم.
واریانس و انحراف معیار میزان پراکندگی حول میانگین را توصیف میکنند. انحراف معیار با واحد خود داده بیان میشود و تفسیرش معمولاً سادهتر است. در محاسبهٔ نمونهای و جامعهای، مخرج ممکن است متفاوت باشد؛ در نرمافزار پارامتری مانند ddof همین تفاوت را کنترل میکند. هنگام مقایسهٔ گزارشها، فقط فرمول را نبینید؛ تعداد نمونه، حذف دادهٔ خالی و تعریف جامعه نیز مهماند.
احتمال را با فراوانی و عدمقطعیت وصل کنید
احتمال ابزاری برای بیان عدمقطعیت است. اگر در دادهٔ گذشته، روزهای بسیار گرم بیشتر با مصرف بالا همراه بودهاند، این مشاهده میتواند در تخمین احتمال مصرف بالا نقش داشته باشد. اما فراوانی گذشته تضمین آینده نیست. تغییر تجهیزات، رفتار ساکنان یا تعرفه ممکن است رابطه را عوض کند. احتمال برآوردشده همیشه در چارچوب داده و فرضهایی معنا پیدا میکند.
متغیر تصادفی نگاشتی از نتیجهٔ یک فرایند نامطمئن به مقدار است. مصرف روزانه میتواند یک متغیر عددی و وضعیت «مصرف بالا یا عادی» متغیری دستهای باشد. توزیع احتمال میگوید مقدارها چگونه پخش میشوند. لازم نیست هر داده را به اجبار نرمال فرض کنید؛ ابتدا نمودار و ویژگیهای آن را ببینید. خیلی از خطاهای آماری از استفادهٔ خودکار از یک فرض آشنا شروع میشوند.
احتمال شرطی و دام نرخ پایه
احتمال شرطی یعنی احتمال یک رخداد در شرایط وقوع رخدادی دیگر. احتمال مصرف بالا در روز گرم با احتمال گرمبودن روز در میان روزهای پرمصرف یکسان نیست. جابهجاکردن این دو، خطایی رایج و پرهزینه است. قضیهٔ بیز رابطهای میان این مقدارها و احتمالهای پایه برقرار میکند؛ ارزش عملی آن بیشتر از حفظ یک کسر بدون فهم مسئله است.
فرض کنید یک وضعیت نادر تنها در یک درصد روزها رخ دهد و یک هشداردهنده چند درصد خطای مثبت کاذب داشته باشد. حتی اگر حساسیت آن بالا باشد، همهٔ هشدارها لزوماً درست نیستند؛ چون روزهای عادی بسیار بیشترند. برای تفسیر هشدار باید تعداد واقعی حالتهای مثبت و منفی را حساب کنید. این تمرین همان پلی است که آمار مقدماتی را به انتخاب معیار Precision و Recall وصل میکند.
همبستگی، وابستگی و علیت
همبستگی رابطهٔ همراهی تغییر دو متغیر را خلاصه میکند. اگر دما و مصرف با هم تغییر کنند، هنوز ثابت نشده که هر تغییری در دما تنها علت تغییر مصرف است. فصل، تعطیلی و حضور ساکنان میتوانند همزمان اثر بگذارند. حتی علامت همبستگی با ترکیب گروههای متفاوت ممکن است عوض شود. نمودار پراکندگی و بررسی گروهها، مکمل ضروری یک عدد خلاصهاند.
نبود همبستگی خطی نیز به معنای نبود هر رابطهای نیست. یک رابطهٔ منحنی ممکن است ضریب خطی کوچکی داشته باشد. برای ادعای علّی، طراحی آزمایش یا فرضهای روششناختی جداگانه لازم است. مدل پیشبینی معمولاً از رابطههای آماری استفاده میکند و خودبهخود پاسخ نمیدهد که اگر در جهان دخالت کنیم چه اتفاقی میافتد. این مرز را در گزارش تصمیمسازی صریح بنویسید.
مشتق و گرادیان چرا مهماند؟
مشتق نرخ تغییر یک تابع را در نزدیکی نقطهای مشخص نشان میدهد. اگر تابع زیان را بر حسب یک وزن ببینید، مشتق میگوید تغییر کوچک وزن در کدام جهت زیان را بیشتر یا کمتر میکند. گرادیان همین ایده را برای چند پارامتر جمع میکند. لازم نیست ابتدا تمام تکنیکهای انتگرال را یاد بگیرید تا این نقش را در آموزش مدل بفهمید.
در گرادیان کاهشی، پارامترها برخلاف جهت گرادیان جابهجا میشوند. اندازهٔ گام را نرخ یادگیری کنترل میکند. گام خیلی بزرگ ممکن است فرایند را ناپایدار کند و گام بسیار کوچک پیشرفت را کند کند. در مدلهای پیچیده تضمین سادهای برای رسیدن به بهترین جواب جهانی نداریم. مشاهدهٔ روند زیان و ارزیابی روی دادهٔ جدا، از اعتماد به صرفِ پایانیافتن حلقهٔ آموزش مهمتر است.
تابع زیان و معیار گزارش یکی نیستند
تابع زیان هدفی است که الگوریتم هنگام آموزش کمینه میکند. در رگرسیون، میانگین مربع خطا به خطاهای بزرگ وزن بیشتری میدهد. میانگین قدرمطلق خطا، فاصلهٔ متوسط را در واحد هدف نشان میدهد و برای توضیح نتیجه به مخاطب غیرتخصصی مفید است. انتخاب تابع باید با مسئله، حساسیت به مقدارهای پرت و روش بهینهسازی سازگار باشد.
ممکن است مدل با یک تابع آموزش ببیند و چند معیار دیگر برای گزارش استفاده شوند. این کار تناقض نیست، به شرط اینکه هدف روشن باشد. برای مثال، گزارش MAE همراه خطای گروه روزهای اوج مصرف، تصویر عملیتری از یک عدد کلی میدهد. اگر خطا در زمان اوج هزینهٔ زیادی دارد، میانگین خوب روی کل سال کافی نیست. معیار باید به تصمیم استفادهکننده وصل شود.
یک محاسبهٔ کوچک و قابلآزمایش
پیش از استفاده از کتابخانه، سه پیشبینی و پاسخ واقعی را دستی بررسی کنید. اختلاف هر جفت را حساب کنید، قدرمطلق بگیرید و میانگین بزنید. سپس همان کار را با NumPy انجام دهید. اگر دو جواب متفاوتاند، مسئله را به شکل آرایه، نوع داده و ترتیب نمونهها محدود کنید. اندازهٔ کوچک مثال باعث میشود خطای مفهومی پشت حجم زیاد داده پنهان نشود.
import numpy as np
actual = np.array([100.0, 120.0, 140.0])
predicted = np.array([110.0, 115.0, 135.0])
errors = predicted - actual
mae = np.abs(errors).mean()
assert np.isclose(mae, 20.0 / 3.0)
print(mae)در این مثال، علامت خطا نشان میدهد مدل بیشتر یا کمتر پیشبینی کرده، اما MAE علامت را حذف میکند. بنابراین دو مدل با MAE برابر ممکن است رفتار متفاوتی داشته باشند؛ یکی همیشه کمبرآورد کند و دیگری خطای دوطرفه داشته باشد. برای تحلیل، توزیع باقیمانده و خطای هر گروه را هم ببینید. معیار خلاصه شروع بررسی است، نه پایان آن.
نمونهگیری و تعمیم؛ حلقهٔ گمشدهٔ فرمولها
یک فرمول درست روی نمونهٔ نامناسب، نتیجهٔ قابلتعمیم نمیسازد. اگر داده فقط از تابستان باشد، کیفیت مدل برای زمستان روشن نیست. اگر چند روز متوالی بسیار شبیهاند، تقسیم تصادفی میتواند استقلال ظاهری ایجاد کند. روش جداسازی داده باید با شیوهٔ استفادهٔ آینده هماهنگ باشد؛ پیشبینی فردا معمولاً با آزمونی که گذشته و آینده را مخلوط کرده سنجیده نمیشود.
فاصلهٔ اطمینان نیز به معنای تضمین یک پیشبینی منفرد نیست. نوع عدمقطعیت، روش محاسبه و فرض نمونهگیری را باید بشناسید. تکرار آزمایش با چند بذر تصادفی میتواند بخشی از نوسان را نشان دهد، ولی نقص داده را اصلاح نمیکند. وقتی نمونه کوچک است، صادقانه دربارهٔ دامنهٔ نتیجه حرف بزنید و از اعلام برتری قطعی بر اساس اختلافی ناچیز خودداری کنید.
نقشهٔ تمرین ریاضی بدون توقف طولانی
برای جبر خطی، شکل یک ماتریس و نتیجهٔ ضربها را روی کاغذ بنویسید و بعد با NumPy کنترل کنید. برای آمار، میانگین و میانهٔ یک داده با مقدار پرت را مقایسه کنید. برای احتمال، یک جدول دو در دو بسازید و احتمال شرطی را از شمارش خانهها به دست آورید. برای مشتق، تغییر تابع ساده را با چند گام کوچک عددی مشاهده کنید.
هر تمرین باید یک سؤال تفسیری هم داشته باشد: چرا این عملیات لازم بود و چه چیزی را ثابت نمیکند؟ اگر فقط عدد نهایی را به دست آوردهاید، هنوز بخشی از یادگیری باقی است. بهتدریج به تجزیهٔ ماتریس، بهینهسازی و استنباط آماری عمیقتر بروید، اما ترتیب را براساس نیاز پروژه تعیین کنید. برای آغاز، فهم درست چند مفهوم بسیار مفیدتر از آشنایی سطحی با دهها فصل است.
یک تمرین عددی برای فهم نرخ پایه
فرض کنید از هزار رویداد، ده رویداد واقعاً نیازمند بررسی فوریاند. سامانه هشت مورد از این ده مورد را پیدا میکند و دو مورد را از دست میدهد. در میان نهصد و نود رویداد عادی نیز بیست هشدار اشتباه میسازد. اکنون بیستوهشت هشدار داریم، اما فقط هشت هشدار درست است. این شمارش ساده نشان میدهد چرا حساسیت بالا الزاماً به معنای درستبودن بیشتر هشدارها نیست.
در این مثال، Recall برابر هشت از ده و Precision برابر هشت از بیستوهشت است. هر دو از یک سامانه میآیند و تناقضی ندارند؛ سؤالهای متفاوتی میپرسند. اگر تیم فقط ظرفیت بررسی ده هشدار را دارد، آستانه و اولویتبندی اهمیت پیدا میکند. اگر از دستدادن مورد فوری بسیار پرهزینه باشد، شاید ظرفیت بررسی باید تغییر کند. ریاضی در اینجا به تصمیم عملی وصل میشود، نه اینکه صرفاً یک نمره بسازد.
حالا نرخ پایه را تغییر دهید و همان رفتار شرطی سامانه را تصور کنید. تعداد و نسبت هشدارهای درست عوض میشود. به همین دلیل، معیاری که در یک مجموعهٔ متوازن آموزشی خوب است ممکن است تجربهٔ محصول را در دادهٔ نادرستنماینده توصیف نکند. برای گزارش حرفهای، تعدادها، نرخ پایه و روش نمونهگیری را کنار معیار نگه دارید. بدون این زمینه، مقایسهٔ دو سامانه میتواند منصفانه نباشد.
تمرین را با کاغذ و چهار خانه انجام دهید و بعد آن را در یک برنامهٔ کوتاه بازسازی کنید. اگر تعریف مخرج هر نسبت را بتوانید توضیح دهید، فهم بهتری از حفظ فرمول به دست آوردهاید. همین رویکرد را برای خطای رگرسیون و نمونهگیری هم ادامه دهید: ابتدا چند نمونهٔ کوچک، سپس محاسبهٔ نرمافزاری و در پایان تفسیر محدود به شواهد.
پرسشهای متداول
آیا ضعف ریاضی مانع شروع یادگیری ماشین است؟
خیر، ولی نادیدهگرفتن ریاضی هم راهحل نیست. میتوانید با پروژهٔ کوچک شروع کنید و مفاهیم لازم را همزمان یاد بگیرید. وقتی به معیار، گرادیان یا تبدیل ماتریسی رسیدید، همان بخش را عمیقتر تمرین کنید. این شیوه انگیزه را حفظ میکند و اجازه نمیدهد نمادها از کاربرد واقعی جدا شوند.
آیا همهٔ دادهها باید استاندارد شوند؟
نه. نیاز به مقیاسبندی به روش و مسئله بستگی دارد. الگوریتمهای مبتنی بر فاصله یا برخی بهینهسازها حساسترند، در حالی که درخت تصمیم رفتار متفاوتی دارد. اگر استانداردسازی میکنید، پارامترهای آن فقط از دادهٔ آموزش به دست بیایند و همان تبدیل روی آزمون اعمال شود؛ در غیر این صورت اطلاعات آزمون وارد فرایند آموزش میشود.
اول آمار بخوانیم یا جبر خطی؟
بهتر است هر دو را در حد مقدماتی کنار پروژه پیش ببرید. جبر خطی زبان نمایش داده و مدل را روشن میکند و آمار به تفسیر نمونه، خطا و عدمقطعیت کمک میکند. پس از این مقاله، آموزش NumPy و ارزیابی مدل دو مسیر مکملاند؛ اولی محاسبه را ملموس میکند و دومی نشان میدهد با عدد بهدستآمده چه ادعایی مجاز است.
منابع و مطالعهٔ بیشتر
برای بررسی جزئیات و ادامهٔ مطالعه؛ متن این راهنما مستقلاً برای نوونتیکس نوشته شده است.
