کدوم الگوریتم برای کدوم کار
جواب کوتاه
هیچ الگوریتمی برای همهی مسئلهها بهترین نیست؛ مثل جعبهابزار، هر ابزار برای یه کار. برای انتخاب، اول بپرسید دادهتون جدوله یا عکس و متن و صداست: برای عکس و متن و صدا معمولا یادگیری عمیق، و برای جدول، الگوریتمهای کلاسیک. بعد بپرسید باید بتونید بگید مدل چرا این جواب رو داده یا نه: اگه آره، مدل خطی یا لجستیک یا یه درخت؛ اگه نه، جنگل تصادفی یا تقویت گرادیانی. همیشه از ساده شروع کنید، چند تا گزینه رو با اعتبارسنجی متقابل امتحان کنید، و فقط وقتی سراغ مدل پیچیدهتر برید که واقعا بهتر باشه.
جعبهابزار
کسی که جعبهابزار داره، نمیپرسه «بهترین ابزار کدومه؟». میپرسه «الان میخوام چی کار کنم؟».
الگوریتمهای یادگیری ماشین هم همینطورن. توی این ایستگاه چند تا ابزار دیدیم: نزدیکترین همسایهها، بیز ساده، درخت تصمیم، جنگل تصادفی، تقویت گرادیانی و SVM. قبلترش هم رگرسیون خطی و لجستیک.
یه نتیجهی معروف ریاضی هست به اسم «ناهار مجانی وجود نداره» (۱۹۹۷). حرفش اینه که اگه روی همهی مسئلههای ممکن میانگین بگیریم، هیچ الگوریتمی از بقیه بهتر نیست. یعنی بهترین الگوریتم، بستگی به مسئله داره.
دو تا سوال
خوشبختانه با دو تا سوال ساده، گزینهها خیلی کم میشن. خود این شکل هم یه درخت تصمیم هست!
- دادهتون جدوله؟ یعنی سطر و ستون، مثل یه دفتر حساب: هر سطر یه مشتری، هر ستون یه ویژگی. اگه جای جدول، عکس یا متن یا صداست، معمولا سراغ یادگیری عمیق میرن.
- باید بتونید بگید چرا؟ مثلا به یه مشتری بگید چرا وامش رد شد. اگه آره، مدلهای خوندنی: خطی، لجستیک یا یه درخت. اگه نه، جنگل یا تقویت، که معمولا دقیقترن.
هر کدوم کِی؟
یه خلاصه از هر ابزار، از همون چیزهایی که توی درسهاش دیدیم:
- خطی و لجستیک: ساده، سریع و خوندنی؛ لجستیک احتمال خوبی هم میده. حواستون باشه: مرزشون صافه.
- نزدیکترین همسایهها: آموزش نداره و سادهست. حواستون باشه: با دادهی زیاد کنده و ویژگیها باید هماندازه بشن.
- بیز ساده: خیلی سریع، مخصوصا برای متن کوتاه. حواستون باشه: درصدهاش زیادی مطمئنه.
- درخت تصمیم: خوندنی و بینیاز از هماندازه کردن. حواستون باشه: تنها ناپایداره و زود بیشبرازش میکنه.
- جنگل تصادفی: دقیق و پایدار. حواستون باشه: دیگه خوندنی نیست.
- تقویت گرادیانی: روی جدول معمولا از جنگل هم دقیقتر. حواستون باشه: تنظیمش حساسه و درخت زیادی بیشبرازش میکنه.
- SVM: حاشیهی بزرگ و مرز خمیده با کرنل. حواستون باشه: مستقیم فقط دو دسته، و احتمال نمیده.
از ساده شروع کن
یه اصل قدیمی هست به اسم «تیغ اوکام»: بین دو تا توضیح که به یه اندازه خوبن، سادهتر رو بردار. با مدلها هم همینطوره:
اول یه مدل پایه بسازید تا بدونید از کجا شروع کردید. بعد یه مدل ساده، مثل لجستیک. فقط وقتی یه پله بالاتر برید که نمرهی دادهی ندیده واقعا بهتر بشه. هر پله، هزینه داره: آموزش طولانیتر، تنظیم سختتر، و خوندن سختتر.
امتحان کن، حدس نزن
چون هیچ الگوریتمی همهجا برنده نیست، تنها راه مطمئن امتحان کردنه. چند تا گزینه رو با اعتبارسنجی متقابل میسنجیم:
توی این مثال، تقویت ۸۷ گرفته و جنگل ۸۶؛ این فرق کوچیک احتمالا معنیدار نیست. لجستیک هم با ۸۱ خیلی عقب نیست. اگه خوندنی بودن براتون مهمه، شاید لجستیک بهترین انتخاب باشه، با اینکه نمرهش یه کم کمتره. انتخاب الگوریتم فقط نمره نیست؛ سرعت، هزینه و توضیحپذیری هم هست.
عکس، متن و صدا
چرا برای عکس و متن و صدا سراغ یادگیری عمیق میرن؟ چون برای این دادهها، ساختن ویژگی خوب با دست خیلی سخته. یه عکس فقط هزاران عدد رنگه؛ «گوش گربه» رو کی باید به ویژگی تبدیل کنه؟
قبلا آدمها خودشون با مهندسی ویژگی این کار رو میکردن. یادگیری عمیق خودش ویژگیها رو از داده پیدا میکنه: لایهی اول خط و لبه، لایههای بعد شکلهای بزرگتر. برای همین توی بینایی، گفتار و زبان اینقدر خوب جواب داده.
با این درس، ایستگاه الگوریتمهای کلاسیک تموم شد. ایستگاه بعد یه نوع دیگه از یادگیریه، جایی که داده اصلا جواب درست نداره: یادگیری بینظارت. بعدش هم میرسیم به شبکهی عصبی.
جمعبندی. آنچه از این درس با خودتان میبرید.
- هیچ الگوریتمی همهجا بهترین نیست.
- جدول: کلاسیک؛ عکس و متن و صدا: یادگیری عمیق.
- توضیح لازمه؟ خطی، لجستیک یا یه درخت.
- از ساده شروع کن، پله پله.
- با اعتبارسنجی متقابل امتحان کن.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.