۳۰ پرسش و پاسخ دربارهی مدلهای درختی
درختهای تصمیم یکی از بهترین الگوریتمها در یادگیری ماشین و علوم دادهای هستند. دلیل آن شفافیت، سادگی، قدرتمندی و مناسب بودن آنها در فیلدهای مختلف است. دقیقا میتوانید ببینید که این الگوریتم چه کاری انجام میدهد و برای رسیدن به یک راه حل چه قدمهایی برمیدارد. این خصوصیت در جایی اهمیت خود را نشان میدهد که شما در یک بیزینس میخواهید دلیل یک تصمیم را به سهامداران توضیح دهید.
این آزمون برای این طراحی شده است که بتوانید دانش خودتان درمورد تکنیکهای درختهای تصمیم را محک بزنید. بیش از 750 نفر در این آزمون شرکت کردهاند. اگر شما یکی از آن افرادی هستید که این آزمون را از دست دادهاید، در اینجا سوالها و جوابهای آنها آمده است.
سوالها و جوابهای آزمون مدلهای درختی
1) کدام یک از موارد زیر در مورد درختان دستهبندی شده (bagging trees) درست است؟
- در درختان دستهبندی شده، درختان مجزا به یک دیگر متکی نیستند.
- دستهبندی کردن روشی برای بهبود بخشیدن به عملکرد است که در آن به جمعآوری نتایج یادگیرندههای ضعیفتر میپردازیم.
- 1
- 2
- 1 و 2
- هیچکدام
پاسخ: C
هر دو گزینه صحیح هستند. در دستهبندی، درختان مجزا به یکدیگر متکی نیستند، زیرا امکانات و نمونههای متفاوتی را نسبت به یکدیگر دارند.
2) کدام یک از موارد زیر درمورد درختان تقویتشده (Boosting Trees) صحیح است؟
- در درختان تقویت شده، یادگیرندههای ضعیف و مجزا، به یک دیگر متکی نیستند.
- تقویت کردن روشی برای بهبود بخشیدن به عملکرد است که در آن به جمعآوری نتایج یادگیرندههای ضعیفتر میپردازیم.
- 1
- 2
- 1 و 2
- هیچکدام
پاسخ: B
در درختان تقویتشده، یادگیرندههای ضعیف و مجزا به یک دیگر متکی هستند، چراکه هر درخت نتایج درخت قبلی را تصحیح میکند. تقویت کردن و دستهبندی کردن هردو میتوانند به عنوان روشی برای بهبود نتایج یادگیرندهها در نظر گرفته شوند.
3) کدام یک از موارد زیر درمورد متدهای گروهی جنگل تصادفی (Random Forest) و افزایش شیب (Gradient Boosting) صحیح است؟
- هردو برای وظایف دستهبندی میتوانند مورد استفاده قرار بگیرند.
- جنگل تصادفی برای وظایف دستهبندی استفاده میشود درحالی که افزایش شیب برای وظایف رگرسیون استفاده میشود.
- جنگل تصادفی برای وظایف رگرسیون استفاده میشود درحالی که افزایش شیب برای وظایف دستهبندی استفاده میشود.
- هردو متد میتوانند برای وظایف رگرسیون استفاده شوند.
- 1
- 2
- 3
- 4
- 1 و 4
پاسخ: E
هردو الگوریتم برای هردو وظایف دستهبندی و رگرسیون طراحی شدهاند.
4) در جنگل تصادفی میتوان صدها درخت (مثلا T1، T2 ... Tn) را تولید و سپس نتایج آنها را دستهبندی کرد. کدام یک از موارد زیر در مورد درخت مستقل (Tk) در جنگل تصادفی صحیح است؟
- درخت مستقل براساس بخشی از ویژگیها ساخته شدهاست.
- درخت مستقل براساس تمامی ویژگیها ساخته شدهاست.
- درخت مستقل براساس بخشی از مشاهدات ساخته شدهاست.
- درخت مستقل براساس تمامی مشاهدات ساخته شدهاست.
- 1 و 3
- 1 و 4
- 2 و 3
- 2 و 4
پاسخ: A
جنگل تصادفی براساس مفهوم دستهبندی طراحی شدهاست که از بخشی از نمونهها و ویژگیها برای ساخت درختان مجزا استفاده میکند.
5) کدام یک از موارد زیر در مورد هایپرپارامتر «max_depth» در افزایش شیب صحیح است؟
- در مواردی که دقت درستی یکسان است، هرچه کمتر باشد بهتر است.
- در مواردی که دقت درستی یکسان است، هرچه بیشتر باشد بهتر است.
- افزایش مقدار «max_depth» ممکن است داده را «overfit» کند.
- افزایش مقدار «max_depth» ممکن است داده را «underfit» کند.
- 1 و 3
- 1 و 4
- 2 و 3
- 2 و 4
پاسخ: A
افزایش مقدار عمق (depth) بیش از یک مقدار مشخصی، باعث «overfit» شدن دادهها میشود. همچنین برای مواقعی که دقت درستی یکسان است، همیشه عمق کمتر را برای مدل نهایی انتخاب میکنیم.
6) کدام یک از الگوریتمهای زیر از نسبت یادگیری (Learning Rate) به عنوان یکی از هایپرپارامترهای خود استفاده نمیکند؟
- افزایش شیب (Gradient Boosting)
- درختان اضافی (Extra Trees)
- AdaBoost
- جنگل تصادفی (Random Forest)
- 1 و 3
- 1 و 4
- 2 و 3
- 2 و 4
پاسخ: D
الگوریتمهای جنگل تصادفی و درختان اضافی از نسبت یادگیری به عنوان یک هایپرپارامتر استفاده نمیکنند.
7) برای ساخت مدل نهایی، با در نظر گرفتن عملکرد، کدام یک از الگوریتمهای زیر را انتخاب میکنید؟
فرض کنید که گراف زیر را به شما دادهاند که نمایانگر نمودار ROC دو الگوریتم متفاوت درخت تصادفی و رگرسیون منطقی (Logistic Regression) است.
- جنگل تصادفی
- رگرسیون منطقی
- هردو گزینه
- هیچکدام
پاسخ: A
از آنجایی که جنگل تصادفی AUC (محیط زیر منحنی) بزرگتری در تصویر دارد، گزینهی بهتری است.
8) متن زیر را بخوانید. با توجه به آن، کدام مورد راجع به تمرین و آزمون خطا درست است؟
فرض کنید میخواهید الگوریتم AdaBoost را روی دادهی D که Tبار مشاهده شدهاست، اجرا کنید. در آغاز، نصف داده را برای تمرین و نصف دیگر را برای تست در نظر میگیرید. حالا میخواهید دادههای تمرینی را برای T1، T2 ... Tn در جاهایی که T1 < T2 ... Tn-1 < Tn است، افزایش دهید.
- با افزایش مشاهدات، تفاوت بین تمرین خطا و آزمون خطا زیاد میشود.
- با افزایش مشاهدات، تفاوت بین تمرین خطا و آزمون خطا کم میشود.
- تفاوت بین تمرین خطا و آزمون خطا تغییری نمیکند.
- هیچکدام.
پاسخ: B
هرچه تعداد دادههها بیشتر و بیشتر میشود، یادگیری خطا بیشتر و آزمون خطا کمتر میشود.
9) در الگوریتم جنگل تصادفی یا افزایش شیب، ویژگیها میتوانند چندین نوع باشند. برای مثال، میتوانند ویژگی ادامهدار یا قطعی باشند. کدام یک از موارد زیر برای این ویژگیها درست است؟
- تنها الگوریتم جنگل تصادفی میتواند خواص با مقدار واقعی را به کمک مجزا سازی آنها مدیریت کند.
- تنها الگوریتم افزایش شیب میتواند خواص با مقدار واقعی را به کمک مجزا سازی آنها مدیریت کند.
- هر دو میتوانند خواص با مقدار واقعی را به کمک مجزا سازی آنها مدیریت کنند.
- هیچکدام.
پاسخ: C
هردو الگوریتم میتوانند خواص با مقدار واقعی (Real Valued attributes) را مدیریت کنند.
10) کدام یک از الگوریتمهای زیر یک الگوریتم یادگیری گروهی به حساب نمیآید؟
- جنگل تصادفی
- Adaboost
- درختهای اضافی
- افزایش شیب
- درختهای تصمیم
پاسخ: E
درختهای تصمیم نتیجهی چندین درخت را جمعآوری نمیکنند، در نتیجه یک الگوریتم یادگیری گروهی به حساب نمیآیند.
11) فرض کنید دارید از مدل جنگل تصادفی که یک الگوریتم دستهبندی است استفاده میکنید. کدام مورد زیر صحیح است؟
- تعداد درختها باید تا جای ممکن زیاد باشد.
- پس از استفاده از جنگل تصادفی، امکان تفسیرپذیری خواهید داشت.
- 1
- 2
- 1 و 2
- هیچکدام
پاسخ: A
از آنجایی که جنگل تصادفی حاصل یادگیرندههای ضعیف مختلف را جمعآوری میکند، تا جایی که ممکن است از درختان بیشتری برای این مدل استفاده میکنیم. جنگل تصادفی یک مدل جعبهسیاه است که بعد از استفاده از آن امکان تفسیرپذیری را از دست خواهید داد.
سوالات 12 تا 15 را براساس توضیحات زیر پاسخ دهید.
در تصویر زیر، X1 و X2 دو تا ویژگی هستند و نقاط دادهای توسط نقطهها نمایش داده شدهاند (-1 کلاس منفی و +1 کلاس مثبت است). دادهها را بر اساس ویژگی X1 جدا میکنیم (نقطهی جداسازی را X11 مینامیم) که در تصویر توسط یک خط عمودی نشان داده شدهاست. هر مقداری که کمتر از X11 باشد به عنوان کلاس مثبت، و هر مقداری که بیشتر از X باشد، به عنوان کلاس منفی در نظر گرفته میشود.
12) چندتا از نقاط دادهای در تصویر بالا اشتباه دستهبندی شدهاند؟
- 1
- 2
- 3
- 4
پاسخ: A
تنها یکی از مشاهدات بالا اشتباه دستهبندی شده است. یک کلاس منفی در سمت چپ خط عمودی قرار دارد که باید یک کلاس مثبت باشد.
13) کدام یکی از نقاط جداسازی در ویژگی x1 دادهها را درست دستهبندی میکند؟
- بزرگتر از X11
- کوچکتر از X11
- مساوی X11
- هیچکدام
پاسخ: D
هر نقطهای را در X1 جستوجو کنید، هیچ نقطهای با دقت 100% نخواهید یافت.
14) اگر فقط ویژگی X2 را برای جداسازی در نظر بگیریم، آیا میتوانیم کلاسهای مثبت را از منفی به طور کاملا درست برحسب X2 جداسازی کنیم؟
- بله
- خیر
پاسخ: B
همچنان چنین چیزی ممکن نیست.
15) فرض کنید که از هر ویژگی یک جداسازی انجام دهید (یکی روی X1 و دیگری روی X2). هر ویژگی را در هر موقع که بخواهید میتوانید جدا کنید. در اینصورت امکان دستهبندی درست همه نقاط را دارید.
- صحیح
- غلط
پاسخ: B
همچین حالتی پیش نمیآید، زیرا حداقل یک دستهبندی اشتباه رخ خواهد داد.
سوالات 16 تا 17 را براساس توضیحات زیر پاسخ دهید.
فرض کنید برروی یک مسالهی دستهبندی دودویی با 3 ویژگی ورودی کار میکنید و تصمیم میگیرید یک الگوریتم دستهبندی (X) روی این داده اجرا کنید. مقدار max_features را برابر 2، و مقدار n_estimators را برابر 3 قرار میدهید. حالا فرض کنید هر برآوردگر 70% دقت دارد.
- توجه: الگوریتم X نتایج برآوردگرهای مجزا را بر اساس حداکثر میزان «voting» جمعآوری میکند.
16) نهایت دقتی که به دست میآورید چند درصد خواهد بود؟
- 70%
- 80%
- 90%
- 100%
پاسخ: D
مدلهای M1، M2 و M3 را میتوانید در جدول زیر مشاهده کنید.
17) حداقل میزان دقتی که میتوانید به دست بیاورید چقدر است؟
- همیشه بیشتر از 70% خواهد بود.
- همیشه بزرگتر یا مساوی 70% خواهد بود.
- میتواند زیر 70% باشد.
- هیچکدام.
پاسخ: C
مدلهای M1، M2 و M3 را میتوانید در جدول زیر مشاهده کنید.
18) فرض کنید دارید مدل جنگل تصادفی را به گونهای میسازید که یک گره را براساس خصوصیت جدا کرده، و بیشترین مقدار دریافت اطلاعات را دارد. در تصویر زیر، خصوصیتی را که بیشترین میزان دریافت اطلاعات را دارد انتخاب کنید.
- Outlook
- Humidity
- Windy
- Temperature
پاسخ: A
هرچه زیرمجموعهها خالصتر باشند، مقدار دریافت اطلاعات بیشتر است. به همین جهت گزینهی A جواب صحیح است.
19) کدام یک از موارد زیر درمورد درختان افزایش شیب صحیح است؟
- در هر مرحله، یک درخت رگرسیون جدید تعریف کنید تا کمبودهای مدل فعلی را جبران کند.
- میتوانیم از متد شیب کاهشی (gradient decent) برای کاهش اسراف در تابع استفاده کنیم.
- 1
- 2
- 1 و 2
- هیچکدام
پاسخ: C
هردو مورد صحیح است و نیاز به توضیح خاصی ندارد.
20) صحیح یا غلط: الگوریتم دستهبندی برای مدلهایی با bias پایین و واریانس بالا مناسب است.
- صحیح
- غلط
پاسخ: A
الگوریتم دستهبندی برای مدلهایی با bias پایین و واریانس بالا مناسب است، یا به عبارتی دیگر، برای مدلهای پیچیده مناسب است.
21) هنگامی که در الگوریتمهای درختی، از بخشی از مشاهدات برای ساخت یادگیرندههای پایه استفاده میکنیم، کدام مورد صحیح است؟
- با کاهش نمونهها در ساخت یادگیرندههای پایه، واریانس کاهش میابد.
- با کاهش نمونهها در ساخت یادگیرندههای پایه، واریانس افزایش میابد.
- با افزایش نمونهها در ساخت یادگیرندههای پایه، واریانس کاهش میابد.
- با افزایش نمونهها در ساخت یادگیرندههای پایه، واریانس افزایش میابد.
پاسخ: A
نیاز به توضیح خاصی ندارد.
سوالات 22 تا 23 را براساس توضیحات زیر پاسخ دهید.
فرض کنید دارید مدل افزایش شیبی برای دادهها میسازید که چند میلیون مشاهدات، و هزاران ویژگی دارد. قبل از ساخت مدل لازم است که پارامترهای متفاوت در اندازهگیری زمان را مورد بررسی قرار دهید.
22) هایپرپارامتر «تعداد درختان» را در نظر بگیرید و بر اساس مدت زمان نیاز برای ساخت مدل افزایش شیب آنها را مرتب کنید.
نکته: سایر هایپرپارامترها یکسان هستند.
- تعداد درختان = 100
- تعداد درختان = 500
- تعداد درختان = 1000
- 1 ~2 ~3
- 1<2<3
- 1>2>3
- هیچکدام
پاسخ: B
بیشترین زمان ساخت در حالت 1000 درخت، و کمترین زمان ساخت در حالت 100 درخت است که در گزینهی B به این نکته اشاره شدهاست.
23) هایپرپارامتر «نسبت یادگیری» را در نظر بگیرید و بر اساس مدت زمان نیاز برای ساخت مدل افزایش شیب آنها را مرتب کنید.
نکته: سایر هایپرپارامترها یکسان هستند.
- نسبت یادگیری = 1
- نسبت یادگیری = 2
- نسبت یادگیری = 3
- 1 ~2 ~3
- 1<2<3
- 1>2>3
- هیچکدام
پاسخ: A
از آنجایی که نسبت یادگیری تاثیری در زمان ندارد، در نتیجه زمان همه یکسان خواهد بود.
24) در افزایش شیب، استفاده از نسبت یادگیری برای گرفتن خروجی بهینه مهم است. کدام یک از موارد زیر در انتخاب نسبت یادگیری صحیح است؟
- نسبت یادگیری باید تا حد ممکن بالا باشد.
- نسبت یادگیری باید تا حد ممکن پایین باشد.
- نسبت یادگیری باید پایین باشد، ولی نه خیلی پایین.
- نسبت یادگیری باید بالا باشد، ولی نه خیلی بالا.
پاسخ: C
نسبت یادگیری باید پایین باشد، ولی نه خیلی پایین، در غیر اینصورت زمان یادگیری بسیار طولانی خواهد شد، چراکه باید تعداد درختان را در مدل افزایش دهید.
25) صحیح یا غلط: الگوریتم «Cross validation» میتواند برای تنظیم تعداد تکرارها در الگوریتم افزایش شیب استفاده شود که اینکار «overfitting» را کاهش میدهد.
- صحیح
- غلط
پاسخ: A
26) زمانی که از الگوریتم افزایش شیب استفاده میکنیم، همیشه هدفمان یادگیرندههای ضعیف هستند. کدام یکی از دلایل زیر دلیل اصلی برای داشتن یادگیرندههای ضعیف است؟
- برای جلوگیری از «overfitting»
- برای جلوگیری از «under fitting»
- 1
- 2
- 1 و 2
- هیچکدام
پاسخ: A
از آنجایی که با هر قدم پیچیدگی یادگیرندهها افزایش مییابد، از این کار برای جلوگیری از «overfitting» استفاده میکنیم. وقتی کار را با یادگیرندههای ضعیف آغاز میکنیم، در مراحل پایانی احتمال «overfitting» کمتر است.
27) در حالتی که از دستهبندی در درختان رگرسیون استفاده میکنیم، کدام مورد صحیح است؟
- رگرسیون Nام را با N نمونهی بوتاسترپ میسازیم.
- میانگین N درخت رگرسیون را میگیریم.
- هر درخت واریانس بالا و bias کم دارد.
- 1 و 2
- 2 و 3
- 1 و 3
- 1، 2 و 3
پاسخ: D
تمام موارد صحیح هستند و نیاز به توضیح خاصی ندارند.
28) چگونه بهترین هایپرپارامتر را در مدلهای درختی انتخاب کنیم؟
- عملکرد را در دادههای تمرینی اندازهگیری کنید.
- عملکرد را در دادههای سنجش اعتبار اندازهگیری کنید.
- هردو گزینه
- هیچکدام
پاسخ: B
همیشه نتایج سنجش اعتبار را با نتایج آزمایش مقایسه میکنیم.
29) در کدام یک از سناریوهای زیر، نسبت کسب به کسب اطلاعات ترجیح داده میشود؟
- وقتی یک متغیر قطعی تعداد خیلی زیادی دستهبندی داشته باشد.
- وقتی یک متغیر قطعی تعداد خیلی کمی دستهبندی داشته باشد.
- تعداد دستهبندی ربطی به این موضوع ندارد.
- هیچکدام
پاسخ: A
در مسائلی که تعداد عناصر زیاد باشد، نسبت کسب به کسب اطلاعات ترجیح داده میشود.
30) فرض کنید که سناریوی زیر را برای یادگیری و اعتبارسنجی خطا در الگوریتم افزایش شیب دارید. برای این حالت کدام یک از هایپرپارامترهای زیر را انتخاب میکنید؟
- 1
- 2
- 3
- 4
پاسخ: B
سناریوهای 2 و 4 دقت یکسانی دارند، ولی گزینهی 2 دارای عمق کمتری است و انتخاب آن مناسبتر است.
اگر مایل به کسب اطلاعات بیشتر در این زمینه باشید، شاید آموزشهای زیر برای شما مفید باشند:
- آموزش یادگیری عمیق (Deep learning)
- آموزش برنامه نویسی یادگیری عمیق با پایتون
- مجموعه آموزش های شبکه های عصبی مصنوعی در متلب
#