یادگیری ماشین برای پژوهشگر اجتماعی: پیشبینی کردن، نه فقط تبیین
تفاوت میان مدلی که تبیین میکند و مدلی که پیشبینی میکند چیست، یک پروژه یادگیری ماشین از آغاز تا پایان چگونه است، شناختن کدام مدلها ارزشمند است – از درخت تصمیم تا شبکه عصبی – و پیش از گزارش یک نتیجه چه چیزی را باید حتماً بررسی کرد. بخش الف – روشهای پژوهش.
در این صفحه
یادگیری ماشین (machine learning)، به تعریفی که ژرون کتابش را با آن میگشاید، "علم (و هنر) برنامهنویسی رایانهها به گونهای است که بتوانند از دادهها یاد بگیرند"؛ در صورتبندی کلاسیک آرتور ساموئل (1959) – "حوزه پژوهشی که به رایانهها توانایی یادگیری بدون برنامهنویسی صریح را میدهد"؛ و در صورتبندی مهندسی تام میچل (1997) – برنامهای "از تجربه E نسبت به وظیفه T و معیار عملکرد P یاد میگیرد، اگر عملکردش در T، چنانکه با P سنجیده میشود، با تجربه E بهبود یابد" (هر دو به نقل از Géron, 2022، فصل 1). برای پژوهشگری که از آمار میآید این تعریفها بیش از حد آشنا به گوش میرسند: رگرسیون هم ضرایب را از دادهها "یاد میگیرد". تفاوت در الگوریتم نیست – رگرسیون لجستیک در هر دو جهان همان رگرسیون لجستیک است – بلکه در هدف و از همین رو در اعتبارسنجی است: آمارِ ماشینحسابهای سایت میپرسد کدام متغیر و چه اندازه اثر دارد، و این را با ضریب، خطای استاندارد و معناداری اعتبارسنجی میکند؛ یادگیری ماشین میپرسد برای یک مشاهده جدید چه رخ خواهد داد، و این را تنها از یک راه اعتبارسنجی میکند – روی دادههایی که مدل ندیده است. این صفحه پیرامون کتاب درسی عملیِ رایج در این حوزه ساخته شده است، Hands-On Machine Learning نوشته اورلین ژرون (ویراست سوم، 2022)، و روی دیگر همان سکه را کنارش مینهد – The Elements of Statistical Learning نوشته هستی، تیبشیرانی و فریدمن (ویراست دوم، 2009)، کتابی که آماردانان نوشتند تا همان الگوریتمها را بهعنوان مدلهای آماری توضیح دهند: "این کتاب درباره یادگیری از دادههاست"، و "یادگیری آماری نقشی کلیدی در بسیاری از حوزههای علم، مالیه و صنعت ایفا میکند" (Hastie et al., 2009, p. 1). و کتاب سوم، از کریستوفر بیشاپ (2006)، دیدگاه احتمالاتی را میافزاید: بازشناسی الگو "ریشه در مهندسی دارد، در حالی که یادگیری ماشین از علوم رایانه برآمد"، اما "میتوان آنها را دو چهره یک حوزه واحد دانست" – و در آن روشهای بیزی "از یک گوشه تخصصی به جریان اصلی" راه یافتند (Bishop, 2006، مقدمه). و چهارمی، از سنت مهندسی بازشناسی الگو: کتاب خودآموز ایشی، اوئدا، مائدا و موراسه (2026) – که "برای کسانی که میکوشند این موضوعات را بهتنهایی بیاموزند" نوشته شده، آشکارا "موضوعات کلاسیک" را بر "جدیدترین فناوریها" ترجیح میدهد، زیرا "کسب دانش بنیادی… کارایی آموختن فناوریهای جدید را بهطور چشمگیری بهبود خواهد داد"، و با یک توصیه به پایان میرسد: با دادههای واقعی کار کنید (Ishii et al., 2026، مقدمه). و پنجمی، از سوی نرمافزار: کتاب درسی دوتانگ ترونگ (2026) برای SPSS Modeler، که با این آگاهی نوشته شده که "یادگیرندگانی از حوزههای گوناگون، مانند کسبوکار، بازاریابی، مالیه، هوانوردی، علوم اجتماعی و علوم انسانی، ممکن است احساس کنند جا ماندهاند" در حوزهای که بر برنامهنویسان تأکید دارد، و اینکه امروز "بسیاری از برنامهها به کاربران امکان میدهند مدلهای یادگیری ماشین را بدون نوشتن حتی یک خط کد بسازند" (Truong, 2026، مقدمه). ژرون میگوید چه باید کرد، هستی و همکارانش میگویند چرا کار میکند و چه زمانی نه، بیشاپ میگوید مدل درباره احتمالها چه فرض میکند، ایشی و همکارانش میگویند پیش از آنکه این اصطلاح مُد شود چه چیزی از قبل دانسته بود، و ترونگ میگوید این در منو چه نام دارد؛ صفحه به این چهار آنچه را میافزاید که کتابهای درسی – که برای مهندسان و آماردانان نوشته شدهاند – نمیگویند: همه اینها با پژوهش اجتماعی چه میکند (بخش 1)، و وقتی میکوشند زندگی انسانها را پیشبینی کنند چه رخ میدهد (Salganik et al., 2020). ترتیب: تمایز میان تبیین و پیشبینی (1)، نقشه انواع یادگیری و چالشها (2)، پروژه از آغاز تا پایان (3)، خلاصهای از اعتبارسنجی (4) – معیارها، مجموعه آزمون، اعتبارسنجی متقابل، نشت دادهها و حدود پیشبینی صفحهای جداگانهاند، معیارهای عملکرد و اعتبارسنجی – خود مدلها (5)، شبکههای عصبی (6)، ابزارها (7)، دستورالعمل کار (8) – و این کار در R (9) و در SPSS Modeler (10) چگونه انجام میشود. یادداشتی درباره ارجاع: نسخه دیجیتال ژرون شماره صفحه ندارد، و از همین رو ارجاعها به آن بر اساس فصل و بخش است؛ هستی و همکارانش، بیشاپ، ایشی و همکارانش و ترونگ – بر اساس صفحه.
ویژگی و برچسب
متغیرهای پیشبین ویژگیها (features؛ همچنین predictors یا attributes) هستند، و متغیری که پیشبینی میشود در طبقهبندی برچسب (label) یا در رگرسیون هدف (target) است. همان متغیرهای مستقل و وابسته – با نامهایی دیگر.
آموزش · اعتبارسنجی · آزمون
مدل روی مجموعه آموزش یاد میگیرد؛ مدلهای رقیب و تنظیمات آنها روی مجموعه اعتبارسنجی انتخاب میشوند؛ و به مجموعه آزمون یک بار، در پایان، دست زده میشود تا خطای تعمیم برآورد شود. معمولاً حدود 20% برای آزمون کنار گذاشته میشود.
بیشبرازش
Overfitting: مدل روی دادههای آموزش عالی است و روی دادههای جدید شکست میخورد – مانند گردشگری که یک راننده تاکسی سرش کلاه گذاشته و نتیجه میگیرد همه رانندگان آن کشور دزدند. وارونه آن، کمبرازش، مدلی بیش از حد ساده است که حتی روی دادههای آموزش شکست میخورد.
ابرپارامتر
پارامتری از الگوریتم یادگیری، نه از مدل: پیش از آموزش تعیین میشود و در طول آن تغییر نمیکند – برای نمونه بیشینه عمق درخت یا شدت منظمسازی. پارامترهای مدل (ضرایب) آموخته میشوند؛ ابرپارامترها انتخاب میشوند – و مستند میشوند.
1. دو فرهنگ: تبیین یا پیشبینی
تمایزی که آمار قائل نشد. لئو بریمن، مبدع جنگلهای تصادفی، سده را با مقالهای آغاز کرد که توضیح میداد چرا آماردانان و مهندسان به یک زبان سخن نمیگویند: "در بهکارگیری مدلسازی آماری برای رسیدن به نتیجه از دادهها دو فرهنگ وجود دارد. یکی فرض میکند که دادهها توسط یک مدل داده تصادفی معین تولید شدهاند. دیگری از مدلهای الگوریتمی استفاده میکند و سازوکار دادهها را ناشناخته تلقی میکند" – و به گفته او جامعه آماری "به استفاده تقریباً انحصاری از مدلهای داده متعهد شده است" (Breiman, 2001a، چکیده). گالیت شموئلی این تمایز را به نقشهای عملی بدل کرد: مدلسازی تبیینی بهکارگیری مدل برای آزمون یک نظریه علّی است، و در علوم اجتماعی "روشهای آماری تقریباً منحصراً برای آزمون نظریه علّی به کار میروند" – و در عمل، تقریباً همیشه، در "مدلهای مبتنی بر رابطه روی دادههای مشاهدهای. مدلهای رگرسیون رایجترین نمونهاند" (Shmueli, 2010, Section 1.1)؛ مدلسازی پیشبینانه "فرایند بهکارگیری یک مدل آماری یا الگوریتم دادهکاوی بر دادهها بهمنظور پیشبینی مشاهدات جدید یا آینده" است (بخش 1.2). اشتباه رایج این فرض است "که مدلهایی با قدرت تبیینی بالا ذاتاً قدرت پیشبینی بالایی دارند" (چکیده) – و درست نیست: قدرت تبیینی و قدرت پیشبینی دو بُعدند، نه دو سر یک پیوستار واحد (بخش 4.2)؛ اعتبارسنجی نیز متفاوت است – در مدلسازی تبیینی بررسی میشود که مدل نظریه را بازنمایی میکند و با دادهها برازش دارد، و در مدلسازی پیشبینانه تعمیم به دادههای جدید بررسی میشود، و "بزرگترین خطر برای تعمیم بیشبرازش بر دادههای آموزش است" (بخش 2.6.1). ژرون همین را از آن سوی حصار میگوید: بیشتر وظایف یادگیری ماشین به پیشبینی میپردازند، و "عملکرد خوب روی دادههای آموزش خوب است، اما کافی نیست؛ هدف واقعی عملکرد خوب روی نمونههای جدید است" (Géron, 2022, Chapter 1, "Instance-Based Versus Model-Based Learning").
و این با روانشناسی و جامعهشناسی چه میکند. یارکونی و وستفال استدلال میکنند که تمرکز تقریباً مطلق روانشناسی بر تبیین علّی آن را با "نظریههای پیچیدهای درباره سازوکار روانشناختی" بر جای گذاشته که "توانایی اندکی (یا ناشناخته) برای پیشبینی رفتار آینده" دارند، و پیشنهاد میکنند اصولی از یادگیری ماشین پذیرفته شود – و به گفته آنان، اتفاقاً تأکید بر پیشبینی به فهم بهتر رفتار خواهد انجامید (Yarkoni & Westfall, 2017، چکیده). هافمن، واتس و همکارانشان – از جمله سوزان اتی، جان کلاینبرگ، متیو سالگانیک و تال یارکونی – در Nature طرحی دوبعدی برای هر پژوهش پیشنهاد میکنند: تا چه حد تبیین میکند (شناسایی و برآورد اثرهای علّی) و تا چه حد پیشبینی پیامدها را میآزماید، و علوم اجتماعی محاسباتی را به "مدلسازی یکپارچه" این دو فرا میخوانند (Hofman et al., 2021، چکیده). مولینا و گریپ، برای جامعهشناسان، کاربردها را برمیشمارند: استخراج شاخصها از منابع جدید مانند متن و تصویر، توصیف ناهمگنی در جامعه آماری، بهبود استنباط علّی، و پیشبینی برای سیاستگذاری و نظریهپردازی (Molina & Garip, 2019، چکیده).
و وقتی امتحان میکنند چه پیش میآید. بزرگترین آزمایش در پیشبینی زندگی انسانها "چالش خانوادههای شکننده" است: 160 گروه پژوهشی دادههایی درباره 4,242 خانواده دریافت کردند – 12,942 متغیر برای هر خانواده، گردآوریشده از تولد کودک تا 9 سالگی – و باید شش پیامد را در 15 سالگی پیشبینی میکردند: معدل نمرات، "گریت" (پشتکار)، تخلیه از خانه، تنگدستی مادی، اخراج والد سرپرست و شرکت او در آموزش حرفهای. نتیجه: حتی بهترین پیشبینیها دقیق نبودند – R² روی دادههای کنارگذاشته حدود 0.2 برای تنگدستی مادی و معدل نمرات و حدود 0.05 برای چهار پیامد دیگر – و تنها اندکی بهتر از یک مدل مرجع ساده بودند: رگرسیون خطی یا لجستیک روی چهار متغیر که یک متخصص محتوایی برگزیده بود (سه متغیر درباره مادر در زمان تولد – نژاد/قومیت، وضعیت تأهل و تحصیلات – و اندازهگیری همان پیامد، یا پیامدی نزدیک به آن، در 9 سالگی). خطای پیشبینی بهشدت به خانوادهای که پیشبینی میشد وابسته بود و تنها اندکی به روش (Salganik et al., 2020، چکیده و بخش Results). نتیجهگیری نویسندگان – 112 پژوهشگر، به سرپرستی متیو سالگانیک (نویسنده Bit by Bit در نقشه ابزارها) – این است که پژوهشگران مسیر زندگی باید "این ایده را که مسیرهای زندگی را میفهمند با این واقعیت که هیچیک از پیشبینیها چندان دقیق نبود آشتی دهند" (Section Significance)، و آنچه را "تناقض فهم/پیشبینی" مینامند حل کنند: همان دادهها بیش از 750 مقاله تبیینی پدید آوردند – و پیشبینی نمیکنند (Section Discussion). برای پژوهشگر: دو فرهنگ جایگزین یکدیگر نیستند. مدل تبیینیای که هیچ چیز را پیشبینی نمیکند مشکوک است؛ مدل پیشبینانهای که هیچکس آن را نمیفهمد به گونهای دیگر مشکوک است (بخش 5، "جعبه سفید و سیاه")؛ و بیشتر وقتها پاسخ، گزارش هر دوست.
2. نقشه این حوزه: انواع یادگیری و آنچه ممکن است خراب شود
ژرون سامانههای یادگیری ماشین را بر اساس سه محور دستهبندی میکند (Géron, 2022, Chapter 1, "Types of Machine Learning Systems"). نخست – میزان نظارت. در یادگیری بانظارت (supervised) مجموعه آموزش پاسخهای مطلوب – برچسبها – را در بر دارد، و دو وظیفه نمونه طبقهبندی (هرزنامه / غیرهرزنامه) و رگرسیون (قیمت یک خودرو بر اساس کیلومتر کارکرد، سن و سازنده) هستند؛ مرز میان آنها نفوذپذیر است – رگرسیون لجستیک یک مدل رگرسیونی است که برای طبقهبندی به کار میرود، زیرا یک احتمال به دست میدهد. در یادگیری بدون نظارت (unsupervised) برچسبی در کار نیست، و وظایف عبارتاند از خوشهبندی (گروههایی از بازدیدکنندگان مشابه)، دیداریسازی و کاهش ابعاد (ادغام ویژگیهای همبسته، مانند کیلومتر کارکرد و سن، در یک ویژگی واحد "فرسودگی")، شناسایی ناهنجاری و یادگیری قواعد وابستگی (کسی که سس باربیکیو و چیپس میخرد استیک هم میخرد) – برای پژوهشگر اجتماعی اینها همان تحلیل عاملی و تحلیل خوشهایاند که میشناسد، و صفحه خاص خود را دارند: یادگیری بدون نظارت – و ماشینحسابها: تحلیل خوشهای و تحلیل عاملی اکتشافی. میان این دو – یادگیری نیمهنظارتی (برچسبهای اندک، دادههای برچسبنخورده فراوان)، یادگیری خودنظارتی (مدل برای خود برچسب میسازد – بخشی از یک تصویر را پنهان میکند و بازسازی آن را میآموزد – و سپس برای وظیفهای دیگر تنظیم دقیق میشود: این اصل مدلهای زبانیِ صفحه NLP است)، و یادگیری تقویتی (عامل، کنشها، پاداشها). دوم – دستهای در برابر برخط: مدلی که یک بار روی همه دادهها آموزش میبیند، در برابر مدلی که در حین جریان دادهها یاد میگیرد؛ آنچه به پژوهشگر مربوط است یادداشتِ "پوسیدگی مدل" (model rot) است – عملکرد مدل با گذشت زمان افت میکند "صرفاً به این دلیل که جهان به تحول ادامه میدهد در حالی که مدل همان که بود میماند". سوم – مبتنی بر نمونه در برابر مبتنی بر مدل: از بر کردن و تعمیم بر اساس شباهت (نزدیکترین همسایهها)، یا ساختن مدلی از نمونهها. مثال ژرون جامعهشناختی است: رضایت از زندگی بر حسب تولید ناخالص داخلی سرانه (دادههای OECD و بانک جهانی). یک خط راست برای قبرس 6.30 میدهد؛ سه نزدیکترین همسایه از نظر تولید ناخالص داخلی – اسرائیل (7.2)، لیتوانی و اسلوونی (هر کدام 5.9) – بهطور میانگین 6.33 میدهند. دو رویکرد، یک پاسخ، و هیچیک قبرس را ندیده بود. اما "همسایهها" وقتی متغیرها بسیارند دیگر نزدیک نیستند – نفرین ابعاد: در ده بُعد، برای در بر گرفتن 10% دادهها باید 80% دامنه هر متغیر را پوشاند، چنانکه هر همسایگی "محلی" در واقع بیشتر فضاست (Hastie et al., 2009, pp. 22-23)؛ و از همین رو هر روشی که بکوشد تابعی با تغییرات محلی را در همسایگیهای کوچک برازش دهد "در ابعاد بالا با مشکل روبهرو خواهد شد" (ص. 33). "شهودهای هندسی ما، که در زندگی در فضای سهبعدی شکل گرفتهاند، ممکن است بهشدت شکست بخورند" در فضاهای پرشمار-بعد – در یک کره در بیست بُعد تقریباً همه حجم در پوستهای نازک نزدیک سطح قرار دارد (Bishop, 2006, p. 36). برای پژوهشگری با یک پیمایش 80 گویهای و 300 آزمودنی این یک جزئیات فنی نیست – دلیل این است که مدلهای مهارشده و درختها (بخش 5) در آنجا کار میکنند، و نزدیکترین همسایهها نه.
چه چیزی ممکن است خراب شود: داده بد و مدل بد (ibid., "Main Challenges of Machine Learning"). دادههای بسیار اندک – "حتی برای مسائل بسیار ساده معمولاً هزاران نمونه لازم است"؛ مقاله مشهور بانکو و بریل (2001) نشان داد که الگوریتمهای بسیار متفاوت، از جمله الگوریتمهای ساده، وقتی داده کافی به آنها داده شود به عملکرد تقریباً یکسانی میرسند – اما خود ژرون قید میزند که "مجموعهدادههای کوچک و متوسط هنوز بسیار رایجاند"، و از این رو "هنوز الگوریتمها را کنار نگذارید". دادههای نامعرف – مثال، مثال خود ماست: پیمایش Literary Digest در 1936، حدود ده میلیون گیرنده، 2.4 میلیون پاسخ، پیشبینی 57% برای لندن؛ روزولت با 62% پیروز شد. فهرستها (مشترکان تلفن، اعضای باشگاهها) به سوی ثروتمندان گرایش داشتند، و کمتر از یکچهارم پاسخ دادند – سوگیری نمونهگیری و سوگیری عدم پاسخ (nonresponse bias)، دقیقاً با اصطلاحات درس روشهای پژوهش. دادههای بیکیفیت – دادههای پرت، نوفه، گمشدهها: "بیشتر دانشمندان داده بخش چشمگیری از وقت خود را صرف" پاکسازی میکنند. ویژگیهای نامربوط – "زباله وارد شود، زباله خارج میشود"؛ مهندسی ویژگی عبارت است از انتخاب، استخراج و گردآوری ویژگیهای جدید. و در سوی مدل: بیشبرازش – مدلی بیش از حد پیچیده نسبت به حجم دادهها و نوفه آنها، که در خود نوفه الگو مییابد؛ مثال: در دادههای آموزش، همه کشورهایی که در نامشان w هست رضایتی بالاتر از 7 دارند – نیوزیلند (7.3)، نروژ (7.6)، سوئد (7.3) و سوئیس (7.5) – "چقدر مطمئنید که قاعده w به رواندا یا زیمبابوه تعمیم مییابد؟" راهحلها: مدل سادهتر، داده بیشتر، نوفه کمتر – و منظمسازی: محدود کردن مدل، برای نمونه واداشتن شیب به کوچک ماندن، که با یک ابرپارامتر کنترل میشود. بیشاپ همین را با یک چندجملهای نشان میدهد: چندجملهای درجه 9 روی ده نقطه دقیقاً از همه آنها میگذرد، با خطای آموزش صفر، "اما منحنی برازشیافته بهشدت نوسان میکند" – "و این رفتار به بیشبرازش معروف است" (ص. 6)؛ "برای پیچیدگی معینی از مدل، مسئله بیشبرازش با بزرگتر شدن مجموعهداده کمتر حاد میشود"، و قاعده سرانگشتی خامی که او نقل میکند – و از آن فاصله میگیرد – این است که تعداد مشاهدات نباید کمتر از 5 تا 10 برابر تعداد پارامترهای انطباقی مدل باشد (ص. 9). جریمه اندازه ضرایب در آمار "روشهای انقباض" نام دارد، حالت درجه دوم آن – رگرسیون ستیغی، و در شبکههای عصبی – "زوال وزن" (ص. 10): سه نام برای یک ایده. و آنچه بیشاپ بهعنوان ادعایی بنیادین میافزاید: بیشبرازش "ویژگی عمومی درستنمایی بیشینه" است، و در رویکرد بیزی – که در آن "تعداد مؤثر پارامترها بهطور خودکار با اندازه مجموعهداده سازگار میشود" – میتوان حتی در مدلی که تعداد پارامترهایش بسیار بیش از تعداد مشاهدات است از آن پرهیز کرد (ص. 9). و همین پرسش را – چند مشاهده لازم است – بازشناسی الگو از سوی ویژگیها میپرسد: "متأسفانه، پاسخ کلیای وجود ندارد"، اما پدیدهای شناختهشده هست – پدیده هیوز (Hughes phenomenon): تا زمانی که تعداد ویژگیها d نسبت به تعداد مشاهدات n کوچک است، افزودن یک ویژگی طبقهبندی را بهبود میبخشد؛ وقتی d نسبت به n به اندازه کافی بزرگ شود، "پایایی آماری کاهش مییابد، و برخلاف انتظار، عملکرد طبقهبندی رو به وخامت میرود" – دلیل آن "افزودن ویژگیهای بیش از حد، با فراموش کردن اینکه تعداد مشاهدات یادگیری محدود است" (Ishii et al., 2026, pp. 84, 86-87). برای پژوهشگر: یک گویه بیشتر در مقیاس لزوماً اطلاعات بیشتری برای مدل نیست. و کمبرازش – مدلی بیش از حد ساده برای ساختار دادهها (خط راست برای رضایت از زندگی)، که حتی روی دادههای آموزش شکست میخورد. سرانجام، قضیه "ناهار مجانی وجود ندارد" (Wolpert, 1996, as cited in Géron, Chapter 1): کسی که هیچ فرضی درباره دادهها نمیکند دلیلی برای ترجیح یک مدل بر دیگری ندارد؛ هر انتخاب مدل فرضی پنهان دارد (خط راست = "فاصله از خط نوفه است")، و تنها راه دانستن اینکه کدام بهتر است مقایسه است – روی دادههایی که برای آموزش به کار نرفتهاند.
3. پروژه از آغاز تا پایان: هشت گام
فصل 2 ژرون یک پروژه کامل است – پیشبینی میانه قیمت خانه در 20,640 بلوک سرشماری در کالیفرنیا (سرشماری 1990) – و پیوست الف کتاب آن را به چکلیستی هشتگامی تبدیل میکند: چارچوببندی مسئله، به دست آوردن دادهها، کاوش آنها، آمادهسازی آنها، فهرست کوتاهی از مدلهای امیدبخش، تنظیم دقیق، ارائه راهحل، و راهاندازی و نگهداری (Géron, 2022، پیوست الف). آنچه این زنجیره را از تحلیل آماری معمولی متمایز میکند الگوریتم نیست بلکه چهار تصمیم است که پیش از نگاه کردن به دادهها گرفته میشوند.
الف. چارچوببندی: هدف چیست، معیار چیست، امروز چه چیزی وجود دارد. نخستین پرسش این است که هدف چیست – "ساختن مدل احتمالاً هدف نهایی نیست" – زیرا چارچوب (بانظارت؟ رگرسیون؟ دستهای؟)، الگوریتم و معیار عملکرد را تعیین میکند؛ دومی این است که راهحل کنونی چیست – در مثال، متخصصانی که بهطور دستی برآورد میکنند و "بیش از 30%" خطا دارند: این خط مرجعی است که مدل باید از آن بگذرد. سپس فرضها بررسی میشوند: اگر سامانهای که پیشبینی را دریافت میکند قیمتها را به طبقهها تبدیل کند ("ارزان / متوسط / گران")، مسئله طبقهبندی است و نه رگرسیون – "نمیخواهید این را پس از ماهها کار روی یک سامانه رگرسیون کشف کنید" (Chapter 2, "Frame the Problem", "Check the Assumptions"). معیار عملکرد اکنون انتخاب میشود، نه در پایان: برای رگرسیون – RMSE، که خطاهای بزرگ را جریمه میکند، یا MAE وقتی دادههای پرت فراواناند؛ برای طبقهبندی – بر اساس هزینه خطا (معیارهای عملکرد و اعتبارسنجی، بخش 1 و جدول 1 در آنجا).
ب. مجموعه آزمون – پیش از کاوش، نه پس از آن. ژرون مینویسد: "ممکن است عجیب به نظر برسد که در این مرحله بخشی از دادهها را کنار بگذارید"، اما "مغز شما سامانهای شگفتانگیز برای تشخیص الگوست، و این همچنین یعنی بسیار مستعد بیشبرازش است" – سوگیری سرککشیدن در دادهها (data snooping bias; Chapter 2, "Create a Test Set"). حدود 20% برای آزمون، با تقسیمی پایدار و طبقهبندیشده؛ جزئیات – چرا سه مجموعه و نه دو، و بر اساس کدام واحد تقسیم میشود – در معیارهای عملکرد و اعتبارسنجی، بخشهای 2 و 6.
ج. کاوش و آمادهسازی – فقط روی مجموعه آموزش، و با تابعها. کاوش آشناست: توزیعها، همبستگیهای پیرسون با هدف (در مثال، میانه درآمد با قیمت خانه 0.69 همبستگی دارد)، نمودارهای پراکنش، و ترکیب ویژگیها (اتاق به ازای هر خانوار به جای کل اتاقها). آمادهسازی – با کد، نه با دست، به چهار دلیل: بازتولید روی دادههای جدید، استفاده مجدد در پروژههای بعدی، اجرا در یک سامانه زنده، و آزمودن آسان جایگزینها (Chapter 2, "Prepare the Data"). سه گام: گمشدهها – حذف سطرها، حذف متغیر، یا جانهی (impute) یک مقدار – میانه، میانگین، نما – و قاعدهای که یادگیری ماشین را از عادتهای SPSS متمایز میکند: میانه روی مجموعه آموزش محاسبه و ذخیره میشود، تا روی مجموعه اعتبارسنجی، روی مجموعه آزمون و روی هر داده جدید اعمال شود؛ متغیرهای طبقهای – کدگذاری یک-داغ (one-hot، متغیرهای مجازی)؛ و تغییر مقیاس – "بهجز چند استثنا، الگوریتمهای یادگیری ماشین وقتی ویژگیهای عددی مقیاسهای بسیار متفاوتی دارند عملکرد خوبی ندارند" (کل اتاقها 6 تا 39,320، درآمد 0 تا 15): کمینه-بیشینه به دامنه 0-1، یا استانداردسازی (میانگین 0، انحراف معیار 1)، که نسبت به دادههای پرت حساسیت کمتری دارد. و هشدار، به تعبیر خود ژرون: "هرگز از fit() یا fit_transform() برای چیزی جز مجموعه آموزش استفاده نکنید" (Chapter 2, "Feature Scaling and Transformation") – بخش 4 توضیح میدهد چرا این وسواس نیست. درختهای تصمیم استثنای راحتاند: اصلاً به تغییر مقیاس نیاز ندارند (فصل 6).
د. آموزش دادن، مقایسه کردن – در k لایه – و تنظیم کردن. رگرسیون خطی روی دادههای آموزش RMSE حدود 68,600 دلار میدهد در حالی که بیشتر قیمتها میان 120 و 265 هزار است – کمبرازش. درخت تصمیم RMSE برابر 0.0 میدهد – "صبر کنید، چی!؟ اصلاً خطا ندارد؟" – بیشبرازش مطلق، که بدون دادههایی که مدل ندیده دیدنی نیست. ابزار، اعتبارسنجی متقابل (k-fold cross-validation) است: مجموعه آموزش به 10 لایه تقسیم میشود، 10 بار روی 9 لایه آموزش داده و روی دهمی آزموده میشود، و نه فقط یک برآورد بلکه دقت آن نیز به دست میآید – میانگین و انحراف معیار. درخت به 66,868 (±2,061) پایین میآید، تقریباً مانند رگرسیون (69,858 ±4,182)؛ جنگل تصادفی 47,019 (±1,034) میدهد – اما روی خود مجموعه آموزش حدود 17,474، یعنی همچنان بیشبرازش چشمگیر (Chapter 2, "Better Evaluation Using Cross-Validation"). چند لایه، قاعده یک خطای استاندارد، و در نمونه کوچک چه باید کرد – معیارهای عملکرد و اعتبارسنجی، بخش 3. رهنمود: مدلهایی از چند خانواده را بدون تنظیم بیازمایید، به 2-5 مدل امیدبخش محدود کنید – و تنها پس از آن ابرپارامترها را تنظیم کنید، با جستوجوی شبکهای (همه ترکیبها) یا، وقتی فضای ترکیبها بزرگ است، با جستوجوی تصادفی (تعداد ثابتی از ترکیبها؛ پیوست الف: تصادفی را ترجیح دهید مگر آنکه مقادیر اندک باشند). پس از تنظیم به خود مدل نگاه میشود: جنگل تصادفی اهمیت ویژگیها را گزارش میکند – در مثال، میانه درآمد در رتبه نخست (0.19) – و خطاها تحلیل میشوند؛ و ژرون شرطی میافزاید که هر پژوهشگر اجتماعی آن را باز میشناسد: اطمینان از اینکه مدل نه فقط بهطور میانگین بلکه "روی همه طبقههای بلوکها، روستایی یا شهری، ثروتمند یا فقیر، شمالی یا جنوبی، اقلیت یا نه" کار میکند – و اگر روی یک طبقه کامل شکست میخورد، برای آن به کار گرفته نشود، "زیرا ممکن است زیانش از سودش بیشتر باشد" (Chapter 2, "Analyzing the Best Models and Their Errors").
ه. مجموعه آزمون – یک بار، و پس از آن دست نمیزنیم. مدل نهایی روی مجموعه آزمون با فاصله اطمینان سنجیده میشود، و سپس: "باید در برابر وسوسه تنظیم ابرپارامترها برای خوب جلوه دادن اعداد روی مجموعه آزمون مقاومت کنید؛ بعید است بهبودها به دادههای جدید تعمیم یابند" (Chapter 2, "Evaluate Your System on the Test Set"). ارائه – چه آموخته شد، چه کار کرد و چه نکرد، کدام فرضها، محدودیتها چیست؛ و در مثال، با صداقت: سامانه "چندان بهتر نیست" از متخصصانی که 30% خطا داشتند. دو گام آخر – راهاندازی، پایش و آموزش مجدد – به سامانههای زنده تعلق دارند؛ برای پژوهشگر از آنها تنها یادداشت پوسیدگی مدل میماند: مدل به دادههای زمان خود وابسته است.
4. از کجا بدانیم مدل خوب است – بهطور خلاصه
متن کامل – در معیارهای عملکرد و اعتبارسنجی؛ اینجا چهار سطری که همه چیزهای دیگر بر آن تکیه دارد. معیار بر اساس هزینه خطا: صحت کلی (accuracy) در یک رده نادر گمراهکننده است – یک طبقهبند ساختگی که به همه چیز "نه" میگوید وقتی یکدهم مشاهدات مثبت باشند 90% میگیرد، "نوستراداموس را شکست میدهد" (Géron, 2022, Chapter 3)؛ ماتریس درهمریختگی، precision و حساسیت، و آستانه گزارش میشوند. دادههایی که مدل ندیده است: خطای آموزش با افزایش پیچیدگی تا صفر پایین میآید، "اما مدلی با خطای آموزش صفر بر دادههای آموزش بیشبرازش دارد و معمولاً بد تعمیم مییابد" (Hastie et al., 2009, pp. 220-221) – و از همین رو آموزش، اعتبارسنجی و آزمون، و اعتبارسنجی متقابلی که میانگین و انحراف معیار به دست میدهد. سوگیری و واریانس: خطای تعمیم = سوگیری² + واریانس + نوفه؛ پیچیدگی سوگیری را پایین و واریانس را بالا میبرد – "و از همین رو به آن موازنه میگویند" (Géron, Chapter 4). نشت و حد: کاپور و نارایانان نشت دادهها را در 294 مقاله در 17 حوزه یافتند، و در پیشبینی جنگهای داخلی، "وقتی خطاها اصلاح شدند، مدلهای پیچیده یادگیری ماشین بهطور اساسی بهتر از مدلهای LR چنددههای عمل نمیکنند" (Kapoor & Narayanan, 2023, Section Summary)؛ و بالاتر از همه خطای بیز قرار دارد – "خطای اجتنابناپذیر" مجموعه ویژگیها (Ishii et al., 2026, p. 101)، حدی که 160 گروه سالگانیک و همکارانش در R² = 0.2 به آن برخوردند. نتیجهای بسیار بالاتر از خط مرجع و از ادبیات پژوهش، پیش از آنکه نشانه دستاوردی تازه باشد نشانه نشت است.
5. مدلها: از خط راست تا جنگل تصادفی
ژرون پروژه نمونه را با این توصیه به پایان میبرد که "احتمالاً بهتر است با فرایند کلی راحت باشید و سه-چهار الگوریتم را خوب بشناسید، تا اینکه همه وقت را صرف کاوش الگوریتمهای پیشرفته کنید" (Chapter 2, "Try It Out!"). جدول 1 خانوادههایی را که شناختنشان ارزشمند است مرتب میکند، و آنچه پیش از آن میآید سه خانواده مهم برای پژوهشگر اجتماعی را توضیح میدهد – رگرسیونهایی که از قبل در اختیار دارد، درخت، و جنگل.
رگرسیونها – همان فرمولها، یک افزوده. رگرسیون خطی و لجستیک نزد ژرون (فصل 4) دقیقاً همان چیزیاند که در صفحه رگرسیون لجستیک سایت هستند – مجموع وزنی ویژگیها، و در لجستیک – تابع لجستیک آن بهعنوان احتمال، و آستانهای (معمولاً 50%) که آن را به طبقهبند تبدیل میکند؛ گسترش به چند رده رگرسیون سافتمکس است. آنچه کتاب میافزاید منظمسازی است: رگرسیون ستیغی (ridge؛ جریمه بر مجموع مجذور ضرایب – آنها را منقبض میکند)، لاسو (lasso؛ جریمه بر مجموع قدر مطلق آنها – برخی را صفر میکند، یعنی ویژگی انتخاب میکند)، شبکه کشسان (ترکیبی از هر دو)، و توقف زودهنگام. هستی و همکارانش – تیبشیرانی مبدع لاسو است – کار آن را دقیقاً صورتبندی میکنند: وقتی بودجه مجموع ضرایب کاهش مییابد، "برخی از ضرایب دقیقاً صفر خواهند شد. بدین ترتیب لاسو نوعی انتخاب زیرمجموعه پیوسته انجام میدهد" (Hastie et al., 2009, p. 69). برای پژوهشگری که به رگرسیون "همانگونه که هست" عادت دارد: وقتی هدف پیشبینی است، مدلی با ضرایب منقبض و "نادرست" گاه بهتر از مدلی با ضرایب نااریب پیشبینی میکند – این همان موازنه بخش 4 در عمل است، و ضریب مهارشده ضریبی نیست که بتوان آن را بهعنوان اثر تفسیر کرد.
درخت تصمیم – جعبه سفید. درخت (فصل 6) توالیای از پرسشهاست: طول گلبرگ کمتر از 2.45 سانتیمتر است؟ – اگر آری، Iris setosa؛ اگر نه، عرض آن کمتر از 1.75 است؟ – versicolor، وگرنه virginica. الگوریتم (CART) در هر گره یک ویژگی و یک آستانه را برمیگزیند که گروه را به دو زیرگروهِ هرچه خالصتر (وزندهیشده بر اساس اندازهشان) تقسیم کنند، بهطور پیشفرض با شاخص جینی یا با آنتروپی – "بیشتر وقتها تفاوت چندانی نمیکند"، جینی سریعتر است. احتمال رده در یک برگ نسبت مشاهدات آن رده در آن برگ است (49 از 54 = 90.7%). مزایا: تقریباً بدون آمادهسازی دادهها، بدون تغییر مقیاس، و تفسیرپذیری – "قواعد طبقهبندی ساده و خوشایندی که حتی میتوان آنها را دستی اعمال کرد" – و از همین رو "مدل جعبه سفید"، در برابر جنگلها و شبکهها، که "جعبه سیاه" به شمار میآیند: عالی پیشبینی میکنند، و میتوان هر محاسبهای را که انجام دادهاند بررسی کرد، "با این حال معمولاً دشوار است که با واژههای ساده توضیح دهیم چرا پیشبینیها انجام شدند". معایب: درخت یک مدل ناپارامتری است – تعداد پارامترها از پیش ثابت نیست، و اگر محدودش نکنند تا حد بیشبرازش به دادهها میچسبد (بیشینه عمق – پیشفرض: بیحد – تعداد برگها، کمینه مشاهدات در برگ)؛ مرزهای عمود بر محورها را دوست دارد، و از همین رو به چرخش دادهها حساس است؛ و مهمتر از همه – واریانس بالا: تغییری کوچک در دادهها یا ابرپارامترها درختی بسیار متفاوت به دست میدهد، و حتی آموزش مجدد روی دقیقاً همان دادهها ممکن است درختی دیگر بدهد، زیرا الگوریتم ویژگیهایی را که در هر گره بررسی میکند بهطور تصادفی نمونهگیری میکند (مگر آنکه بذر تعیین شود؛ فصل 6، "Decision Trees Have a High Variance"). آماردانان از هر دو سو موافقاند: "یکی از مشکلات اصلی درختها واریانس بالای آنهاست. اغلب تغییری کوچک در دادهها میتواند به مجموعهای بسیار متفاوت از تقسیمها بینجامد، و این تفسیر را تا حدی متزلزل میکند" – بهسبب ساختار سلسلهمراتبی، خطا در تقسیم بالایی به همه آنچه زیر آن است سرایت میکند (Hastie et al., 2009, p. 312)؛ و با این حال، "از میان همه روشهای یادگیری شناختهشده، درختهای تصمیم به برآوردن الزامات نزدیکتریناند" برای روشی "آماده" برای دادهکاوی – سریع، تفسیرپذیر (وقتی درخت کوچک است)، توانا در کنار آمدن با آمیزهای از متغیرهای عددی و طبقهای و با گمشدهها، بیاعتنا به تبدیلهای یکنوا و به دادههای پرت در پیشبینها (ص. 352). در همان صفحه یادداشتی هم هست که پژوهشگران به آن نیاز دارند: کاربردهای دادهکاوی "معمولاً به مدلهای تفسیرپذیر نیاز دارند. تنها تولید پیشبینی کافی نیست" – و از همین رو "روشهای جعبه سیاه مانند شبکههای عصبی" در آنجا بسیار کمفایدهترند (ص. 351-352). کسی که گزارش میکند "درخت دریافت که…" درباره یک درخت از میان بسیار درختهای ممکن گزارش میدهد.
جنگل تصادفی – خرد جمعی، به بهای تفسیرپذیری. راهحل واریانس میانگینگیری است: یک "گروه" (ensemble) از پیشبینها (فصل 7). شهود ژرون سکهای اریب است که با احتمال 51% "شیر" میآید – در یک پرتاب تقریباً تصادفی است، اما در 1,000 پرتاب احتمال اکثریت "شیر" حدود 75% است، و در 10,000 بیش از 97%: قانون اعداد بزرگ – به شرط آنکه پیشبینها به اندازه کافی پرشمار و به اندازه کافی متنوع باشند. تنوع از دو راه به دست میآید: بگینگ (bagging, "bootstrap aggregating"; Breiman, 1996, as cited in Géron) – هر درخت روی نمونهای با جایگذاری از مجموعه آموزش آموزش میبیند (بهطور میانگین حدود 63% مشاهدات؛ 37% باقیمانده، "بیرون از کیسه"، برای اعتبارسنجی رایگان به کار میروند – out-of-bag evaluation – بدون مجموعه اعتبارسنجی جداگانه)؛ و افزون بر این، در جنگل تصادفی، در هر گره درخت بهترین تقسیم را تنها از میان زیرمجموعهای تصادفی از ویژگیها برمیگزیند (بهطور پیشفرض جذر n از n) – "که باز هم سوگیری بالاتر را با واریانس پایینتر معاوضه میکند، و معمولاً در مجموع مدل بهتری به دست میدهد" (Chapter 7, "Random Forests"). منبع صوری بریمن (2001b) است: ترکیبی از درختها که هر کدام به یک بردار تصادفی وابسته است که مستقل نمونهگیری شده، و خطای تعمیم آن با افزایش تعداد درختها به یک حد همگرا میشود (چکیده) – یعنی افزودن درخت بیشبرازش پدید نمیآورد. هستی و همکارانش این ادعا را دقیقتر میکنند: درست است که "افزایش B باعث بیشبرازش دنباله جنگلهای تصادفی نمیشود"، اما حدی که به آن همگرا میشود "میتواند بر دادهها بیشبرازش داشته باشد" – میانگین درختهای کامل ممکن است مدلی بیش از حد غنی باشد؛ به تجربه آنان، رشد دادن درختهای کامل "بهندرت هزینه زیادی دارد" و یک پارامتر تنظیم را صرفهجویی میکند (Hastie et al., 2009, p. 596). و ارزیابی کلی آنان، که توضیح میدهد چرا جنگل خط مرجع بخش 8 است: "در بسیاری از مسائل عملکرد جنگلهای تصادفی بسیار شبیه بوستینگ است، و آموزش و تنظیم آنها سادهتر است" (ص. 587)؛ برآورد خطای بیرون از کیسه "تقریباً یکسان" با اعتبارسنجی متقابل N لایهای است (ص. 593). جنگل همچنین اهمیت ویژگیها را میسنجد: هر ویژگی بهطور میانگین روی همه گرههایی که از آن استفاده میکنند چه اندازه ناخالصی را کاهش میدهد، وزندهیشده با تعداد مشاهدات، و جمعشده تا 1 (در زنبقها: طول گلبرگ 44%، عرض آن 42%، کاسبرگها 11% و 2%). آنچه جنگل نمیدهد جهت است: اهمیت ضریب نیست، و نمیگوید آیا ویژگی احتمال را بالا میبرد یا پایین میآورد. خانواده خواهر: بوستینگ – "یکی از نیرومندترین ایدههای یادگیری که در بیست سال گذشته معرفی شده است" (Hastie et al., 2009, p. 337)؛ بریمن AdaBoost با درختها را "بهترین طبقهبند آماده جهان" نامید (به نقل از همان، ص. 340) – درختهایی پشت سر هم، که هر کدام خطای پیشین را اصلاح میکند (AdaBoost مشاهداتی را که نادرست طبقهبندی شدهاند دوباره وزندهی میکند؛ gradient boosting هر درخت را بر باقیماندههای درخت پیشین برازش میدهد؛ پیادهسازی مبتنی بر هیستوگرام برای دادههای بزرگ – صدها برابر سریعتر؛ XGBoost، LightGBM و CatBoost بیرون از scikit-learn)؛ و انباشت (stacking) – مدلی که وزندهی پیشبینیهای دیگران را یاد میگیرد.
جعبه سفید و سیاه – و چه زمانی جعبه سیاه ممنوع است. سینتیا رودین استدلال میکند که "این افسانهای است که لزوماً میان دقت و تفسیرپذیری موازنهای وجود دارد": این باور که مدلهای پیچیدهتر دقیقترند "اغلب درست نیست، بهویژه وقتی دادهها ساختاریافتهاند، با بازنمایی خوب بر حسب ویژگیهایی که معنای طبیعی دارند" – و دادههای پیمایش دقیقاً همیناند. توضیحهایی که پس از واقعه بر یک جعبه سیاه پوشانده میشوند (مدل دومی که از اولی تقلید میکند) "باید نادرست باشند": اگر کاملاً به مدل اصلی وفادار بودند، توضیح با مدل برابر میشد و نیازی به اصل نبود؛ مثال او COMPAS است – مدلی اختصاصی برای پیشبینی تکرار جرم در دادگاههای ایالات متحده، که ProPublica آن را بر پایه یک مدل-توضیح خطی که برایش ساخته بود به سوگیری نژادی متهم کرد، در حالی که خود مدل احتمالاً غیرخطی است (Rudin, 2019, Section 2). نتیجهگیری او: برای تصمیمهای پرمخاطره درباره انسانها – دادگاه، سلامت، رفاه – باید از آغاز مدلهای تفسیرپذیر ساخت، نه اینکه جعبههای سیاه را توضیح داد. برای پژوهشگر: روی دادههای پیمایشیِ چند صد آزمودنی، رگرسیون لجستیک مهارشده یا یک درخت کمعمق معمولاً به خوبی جنگل پیشبینی میکنند – و چرایی را هم میگویند. جنگل بهعنوان خط مرجع اجرا میشود: اگر بسیار بهتر باشد، در دادهها ناخطی بودن یا تعاملهایی هست که مدل تفسیرپذیر از دست میدهد – و همین گزارش میشود.
جدول 1. خانوادههای مدل – چه میکنند، چه زمانی، و چه چیزی تنظیم میشود
| مدل | فصل: ژرون · ESL · بیشاپ | چه میکند | ابرپارامترهای اصلی | برای پژوهشگر اجتماعی |
|---|---|---|---|---|
| رگرسیون خطی؛ چندجملهای | 4 · 3 · 3 | مجموع وزنی ویژگیها؛ چندجملهای – با توانها و حاصلضربهای آنها. | درجه چندجملهای؛ منظمسازی (ستیغی، لاسو، شبکه کشسان). | همان مدل درس آمار. خط مرجع برای هر رگرسیون. |
| رگرسیون لجستیک؛ سافتمکس | 4 · 4 · 4 | احتمال برای رده؛ آستانه تصمیم. سافتمکس – برای چند رده. | شدت منظمسازی؛ آستانه. | صفحه رگرسیون لجستیک – در فرهنگ تبیینی. خط مرجع برای هر طبقهبندی؛ مدل جعبه سفید. |
| نزدیکترین همسایهها (k-NN) | 1 · 13 · 2 | مبتنی بر نمونه: پیشبینی بر اساس k مشاهدهای که بیشترین شباهت را دارند. | k؛ معیار فاصله. | توضیحش ساده است، به مقیاس حساس است؛ "مدلی" برای گزارش ندارد. |
| ماشین بردار پشتیبان (SVM) | 5 · 12 · 7 | مرز جداکننده با پهنترین حاشیه؛ هستهها برای ناخطی بودن. | C؛ نوع هسته و پارامترهای آن. | روی نمونههای کوچک-متوسط نیرومند است؛ به استانداردسازی نیاز دارد؛ تفسیرپذیری محدود. |
| درخت تصمیم | 6 · 9 · 14 | تقسیمهای دودویی بر اساس یک ویژگی و یک آستانه؛ احتمال = نسبت در برگ. | بیشینه عمق؛ کمینه مشاهدات در برگ؛ تعداد برگها. | جعبه سفید؛ بدون آمادهسازی دادهها؛ واریانس بالا – یک درخت را بهعنوان یافته گزارش نکنید. |
| جنگل تصادفی؛ درختهای بسیار تصادفی | 7 · 15 · – | بگینگ درختها + زیرمجموعه تصادفی ویژگیها در هر گره؛ میانگین یا اکثریت. | تعداد درختها؛ ویژگیها برای هر گره؛ عمق / برگها. | خط مرجع نیرومند برای دادههای جدولی؛ اهمیت ویژگیها بدون جهت؛ جعبه سیاه. |
| بوستینگ (AdaBoost, gradient boosting) | 7 · 10 · 14 | درختهایی پشت سر هم، که هر کدام پیشین را اصلاح میکند. | تعداد درختها؛ نرخ یادگیری؛ عمق. | معمولاً بهترین در رقابتها روی جدولها؛ بدون توقف زودهنگام مستعد بیشبرازش است. |
| خوشهها: k-میانگین؛ DBSCAN؛ آمیختههای گاوسی | 9 · 14 · 9 | گروهها بدون برچسب: بر اساس مراکز، بر اساس چگالی، یا بر اساس توزیعها. | k (یا آستانه چگالی)؛ استانداردسازی پیش از آن. | k یک تصمیم است: لختی همیشه با k کاهش مییابد؛ "آرنج" یا نمره سیلوئت. k-میانگین هر مشاهده را به یک خوشه "سخت" تخصیص میدهد؛ آمیخته گاوسی تخصیص "نرم" میدهد – احتمالی برای هر خوشه – که عدم قطعیت در موارد بینابینی را بازتاب میدهد (Bishop, 2006, p. 428). |
| کاهش ابعاد (PCA) | 8 · 14 · 12 | مؤلفههای اصلی – محورهای جدیدی که بیشترین واریانس را حفظ میکنند. | تعداد مؤلفهها / نسبت واریانس. | خویشاوند تحلیل عاملی؛ برای کاهش ویژگیها پیش از مدلی دیگر. |
| شبکه عصبی (MLP) | 10-11 · 11 · 5 | لایههایی از واحدها؛ بازنماییها را یاد میگیرد؛ بخش 6. | تعداد لایهها و واحدها؛ نرخ یادگیری؛ دسته (batch)؛ منظمسازی. | برای متن، تصویر و صدا – از راه یک مدل ازپیشآموزشدیده. نه برای جدولی با 500 آزمودنی. |
یادداشت. فصلها – Géron (2022)، Hastie et al. (2009) (ESL) و Bishop (2006)؛ جنگلهای تصادفی نزد بیشاپ بررسی نشدهاند. همه مدلهای جدول در scikit-learn پیادهسازی شدهاند (جدول 2)، و بهویژه همه از راه یک رابط واحد: fit()، predict()، score().
6. شبکههای عصبی – چه زمانی آری و چه زمانی نه
شبکه عصبی مصنوعی (فصل 10) از مغز الهام گرفت، اما "همانگونه که هواپیماها از پرندگان الهام گرفتند، لازم نیست برای پرواز بال بزنند"؛ نخستین مدل از مککالک و پیتس (1943) است، و پس از آن دو "زمستان" – دهه 60 و دهه 90، هنگامی که ماشینهای بردار پشتیبان امیدبخشتر به نظر میرسیدند. به گفته ژرون، موج کنونی به چهار دلیل متفاوت است: حجم دادهها، توان محاسباتی (قانون مور، کارتهای GPU که صنعت بازیهای رایانهای میلیونمیلیون تولید کرد، رایانش ابری)، بهبودهای کوچک اما تعیینکننده در الگوریتمهای آموزش، و روشن شدن اینکه محدودیتهای نظری – مانند بهینههای محلی – در عمل زیانی ندارند. و شبکه از نظر آماری چیست: "هیاهوی زیادی پیرامون شبکههای عصبی بوده است، که آنها را جادویی و رازآلود جلوه داده. همانگونه که در این بخش روشن میکنیم، آنها صرفاً مدلهای آماری غیرخطیاند" – یک مدل رگرسیون یا طبقهبندی دومرحلهای (Hastie et al., 2009, p. 392). معماری پایه، پرسپترون چندلایه، از یک لایه ورودی، یک یا چند لایه پنهان، و یک لایه خروجی تشکیل میشود – و بیشاپ یادآور میشود که این نام "در واقع نامی نادرست است، زیرا مدل از لایههای متعددی از مدلهای رگرسیون لجستیک تشکیل شده است" (با ناخطی بودن پیوسته) و نه از پرسپترونها (Bishop, 2006, p. 226): برای پژوهشگری که رگرسیون لجستیک را میشناسد، شبکه رگرسیونهای لجستیکی است که به یکدیگر خورانده میشوند؛ "ژرف" شبکهای است با پشتهای ژرف از لایههای پنهان، هرچند "بسیاری هر بار که شبکههای عصبی در کار باشند (حتی کمعمق) از یادگیری ژرف سخن میگویند". آموزش – پسانتشار (backpropagation): مشتقگیری خودکار در حالت معکوس (لینائینما، 1970) که در دو گذر – پیشرو و پسرو – محاسبه میکند هر وزن چگونه تغییر کند تا خطا کاهش یابد، و سپس یک گام نزول گرادیان؛ و همینطور تکرار. یک لایه پنهان، از نظر نظری، میتواند با واحدهای کافی هر تابعی را مدل کند، اما شبکههای ژرف در پارامترها به اندازه چند مرتبه بزرگی صرفهجوترند، زیرا از سلسلهمراتب موجود در دادهها بهره میبرند – خطوط، سپس شکلها، سپس چهرهها – و همین است که یادگیری انتقالی (transfer learning) را ممکن میکند: برداشتن لایههای پایینی یک شبکه آموزشدیده و آموزش دادن تنها لایههای بالایی برای وظیفهای جدید. "بهندرت لازم خواهد شد چنین شبکههایی را از صفر آموزش دهید" (Chapter 10, "Number of Hidden Layers").
و چه زمانی نه. هشدار از همان مقدمه کتاب آمده است: "شتابزده به آبهای ژرف نپرید… بیشتر مسائل را میتوان با فنون سادهتری مانند جنگلهای تصادفی و روشهای گروهی بهخوبی حل کرد… یادگیری ژرف برای مسائل پیچیدهای مانند بازشناسی تصویر، بازشناسی گفتار یا پردازش زبان طبیعی بیشترین تناسب را دارد، و به داده، توان محاسباتی و صبر فراوان نیاز دارد (مگر آنکه بتوان از یک شبکه عصبی ازپیشآموزشدیده کمک گرفت)" (Géron, 2022، مقدمه، "Roadmap"). برای پژوهشگر اجتماعی نتیجهگیری روشن است: روی جدول یک پیمایش – نه؛ روی متنهای پیادهشده، پستها، تصاویر و ضبطها – آری، اما تقریباً همیشه از راه یک مدل ازپیشآموزشدیده که کس دیگری آن را روی میلیونها نمونه آموزش داده، و تنظیم دقیق یا صرفاً اجرا میشود: DictaBERT، HeBERT و BEREL در صفحه NLP دقیقاً چنین شبکههاییاند، و رهنمود آنجا – نمونه دستی 100-200 گویهای و توافق بین کدگذاران پیش از اعتماد به خروجی – همان بخش 4 این صفحه به زبانی دیگر است. ابزار نوشتن شبکهها Keras است (جدول 2) – "رابطی سطح بالا، خوشطراحی و ساده" بر فراز TensorFlow، و بیشتر نیازها با آن برآورده میشوند.
7. ابزارها
کل کتاب در Python اجرا میشود، و بخش نخست آن در scikit-learn – کتابخانهای که ژرون طراحی API آن را میستاید: هر شیء یک برآوردگر (estimator) با fit() است، برخی تبدیلگر با transform() و برخی پیشبین با predict()؛ ابرپارامترها آشکارند، پارامترهای آموختهشده در دسترساند (با خط زیرین در انتهایشان)، دادهها آرایههای NumPy هستند و نه کلاسهای خصوصی، و همه چیز را میتوان در یک زنجیره (Pipeline) به هم پیوست – که همچنین سازوکاری است که از نشت بخش 4 جلوگیری میکند، زیرا کل زنجیره روی دادههای آموزش برازش داده و بر بقیه اعمال میشود (Chapter 2, "Scikit-Learn Design", "Transformation Pipelines"). جدول 2 ابزارها را بر اساس نیاز مرتب میکند؛ کسی که کد نمینویسد سه ابزار گرافیکی در آن خواهد یافت – دو متنباز و یکی پولی، که بخش 10 به آن اختصاص دارد. دیگر ابزارهای آماری – R، PSPP، JASP، jamovi – در نقشه ابزارها، بخش 8.
جدول 2. ابزارهای یادگیری ماشین – کتابخانهها، محیطها و مخازن
| ابزار | چه میکند | مجوز | زبان / رابط | یادداشتها |
|---|---|---|---|---|
| scikit-learn | کتابخانه کلاسیک یادگیری ماشین: همه مدلهای جدول 1 (بهجز شبکههای ژرف)، تقسیم و اعتبارسنجی متقابل، زنجیرهها، معیارهای عملکرد، جستوجوی ابرپارامترها. | متنباز | Python | نسخه 1.9.1 (سپتامبر 2026)، BSD. Pedregosa et al. (2011). توسعهیافته در Inria. کل بخش الف کتاب در آن اجرا میشود؛ نقطه ورود. |
| pandas · NumPy · Matplotlib | جدولها و آرایهها (ورودی همه چیزهای دیگر) و نمودارها. پیشنیازهای کتاب. | متنباز | Python | pandas 3.0, NumPy 2.5, Matplotlib 3.11 (2026)، BSD. کتاب برای هر سه به آموزشهای کوتاه ارجاع میدهد (homl.info/tutorials). یک فایل اکسل در الگوی سایت با یک خط در pandas بارگذاری میشود. |
| Jupyter · Google Colab | دفترچهها (notebooks): کد، خروجی و متن در یک سند – دفتر پژوهش پروژه. Colab آنها را در مرورگر اجرا میکند، بدون نصب، با حساب Google. | رایگان (Colab بسته) | مرورگر / نصب | JupyterLab 4.6 – متنباز؛ کتاب کار در Colab را فرض میگیرد. هشدار: در Colab دادهها به سرورهای Google فرستاده میشوند – "دادههای شما کجاست؟" را در بخش 8 ببینید. |
| دفترچههای کتاب (handson-ml3) | همه کدهای Géron (2022) بهصورت دفترچههای Jupyter، فصل به فصل، همراه با راهحل تمرینها؛ مستقیماً در Colab باز میشوند. | متنباز | Python | مجوز Apache-2.0. بهطور غیرمستقیم تأیید شد (صفحه مخزن و پیوند به Colab؛ API گیتهاب برای بررسی خودکار مسدود است). راه درست خواندن کتاب – با دفترچه باز. |
| Keras · TensorFlow | شبکههای عصبی: Keras – API سطح بالا؛ TensorFlow – موتور محاسباتی Google. بخش ب کتاب. | متنباز | Python | Keras 3.15, TensorFlow 2.21 (2026)، Apache 2.0. Keras 3 بر فراز JAX و PyTorch نیز اجرا میشود – سه موتور، یک رابط. |
| PyTorch | چارچوب دوم یادگیری ژرف؛ همان که پشت بیشتر مدلهای Hugging Face در صفحه NLP است. | متنباز | Python | نسخه 2.14 (2026)، مجوز BSD. در کتاب بررسی نشده است، اما اصول یکساناند. |
| XGBoost · LightGBM | پیادهسازیهای بهینهشده gradient boosting، با API مشابه scikit-learn و پشتیبانی از GPU. | متنباز | Python / R | XGBoost 3.4 (Apache-2.0), LightGBM 4.7 (MIT)، 2026. ژرون: "قطعاً ارزش بررسی دارند" (فصل 7)؛ CatBoost نیز به این خانواده تعلق دارد. |
| SHAP | توضیحهای پسینی برای جعبههای سیاه: سهم هر ویژگی در هر پیشبینی (مقادیر شپلی). | متنباز | Python | نسخه 0.52 (2026)، MIT. برای توضیح جنگل یا بوستینگ – با قید Rudin (2019): توضیح یک جعبه سیاه خود مدل نیست. |
| imbalanced-learn | بیشنمونهگیری و کمنمونهگیری برای ردههای نادر (SMOTE et al.)، سازگار با scikit-learn. | متنباز | Python | نسخه 0.14 (2026). فقط درون زنجیره، پس از تقسیم – بیشنمونهگیری پیش از تقسیم نشت L1.2 است (Kapoor & Narayanan, 2023). |
| tidymodels · ranger | در R: tidymodels – چارچوبی یکپارچه برای تقسیم، دستورها (recipes)، مدلها، تنظیم و معیارها؛ ranger – جنگل تصادفی سریع. | متنباز | R | tidymodels 1.5 (MIT), ranger 0.18 (GPL-3)، 2026. بسته کلاسیک randomForest (4.7-1.2, 2024) و بسته قدیمی caret (7.0-1, 2024) – همچنان در CRAN در دسترساند. |
| JASP – ماژول یادگیری ماشین | با رابط گرافیکی، بدون کد: رگرسیون و طبقهبندی (بوستینگ، درخت، نزدیکترین همسایهها، شبکه عصبی، جنگل تصادفی، رگرسیون مهارشده، SVM) و خوشهبندی (k-میانگین، سلسلهمراتبی، مبتنی بر چگالی، مبتنی بر مدل). | متنباز | نرمافزار نصبی | فهرست تحلیلها در برابر مخزن کد ماژول تأیید شد (jaspMachineLearning)؛ صفحه ماژول در وبسایت برای بررسی خودکار مسدود است. کوتاهترین راه از SPSS به جنگل تصادفی. |
| IBM SPSS Modeler | دادهکاوی بدون کد: یک "جریان" از گرهها روی بوم – منبع، Type، Partition، گرههای مدل (رگرسیون لجستیک، درختها، شبکه عصبی، جنگل تصادفی، XGBoost) و Analysis برای مقایسه. | پولی | نرمافزار نصبی | نسخه 19.0؛ فهرست گرهها در برابر راهنمای Modeling Nodes شرکت IBM برای این نسخه و در برابر راهنماهای 18.0 تأیید شد (IBM Corporation, 2016a, 2016b) (گرههای جنگل و XGBoost "گرههای Python" هستند – به افزونه Python نیاز دارند). "رایگان نیست و برای سازمانها نسبتاً گران است، هرچند IBM نسخهای رایگان برای استفاده آموزشی عرضه میکند"؛ و در همان جمله: رابط "گیجکننده است، و مقایسه مدلها را دشوار میکند" (Truong, 2026, p. 55). کتابهای درسی – ترونگ، و در دانشگاه وندلر و گروتروپ (2021، Springer، برای 18.2)؛ بخش 10. |
| Orange | یادگیری ماشین با برنامهنویسی دیداری – جعبهها به هم وصل میشوند؛ متنکاوی نیز. | متنباز | نرمافزار نصبی | نقشه ابزارها، جدول 8 را ببینید. برای آموختن مفاهیم بدون یک خط کد. |
| UCI ML Repository · OpenML | مخازن داده باز برای تمرین و مقایسه روشها؛ OpenML – با نتایج گزارششده مدلها. | رایگان | مرورگر / API | دو مخزنِ فهرست ژرون (Chapter 2, "Working with Real Data")، در کنار Kaggle. برای تمرین روی دادههای واقعی، نه ساختگی. |
| Kaggle | رقابتها، مجموعهدادهها و دفترچههای عمومی؛ دفترچهها را در ابر اجرا میکند. | رایگان (بسته) | مرورگر | متعلق به Google، با حساب رایگان. برای دیدن اینکه دیگران مسئلهای مشابه را چگونه حل کردهاند سودمند است؛ یافتههای رقابتها یافتههای پژوهشی نیستند. |
یادداشت. نسخهها و مجوزها در سپتامبر 2026 بررسی شدند (PyPI، CRAN، وبسایت ابزارها). "بسته" – سرویس رایگانی که متنباز نیست. R، PSPP، jamovi و statsmodels – در نقشه ابزارها، جدول 8.
8. دستورالعمل کار: یادگیری ماشین در پژوهش اجتماعی
مورد نمونه: پیمایشی با چند صد آزمودنی و پیامدی دووجهی (ترک تحصیل، رأی دادن، کمک خواستن)، یا یک فایل اداری با هزاران مورد. پرسش: آیا میتوان پیامد را از متغیرهای زمینهای پیشبینی کرد – و تا چه حد خوب، در مقایسه با آنچه از پیش میدانیم. هفت گام، و هر کدام مستند میشود؛ فایل – در الگوی استاندارد سایت، سطر = آزمودنی، ستون = متغیر، و از SPSS – از راه از SPSS به اکسل.
| # | گام | چه کاری انجام میشود – و چه چیزی مستند میشود |
|---|---|---|
| 1 | هدف، معیار، خط مرجع | تبیین یا پیشبینی؟ (بخش 1). اگر پیشبینی: کدام مشاهده "جدید" – آزمودنی دیگری از همان جامعه آماری، یا همان آزمودنیها در آینده (این تقسیم را در گام 2 تعیین میکند). معیار – بر اساس هزینه خطا، نه بر اساس عادت (معیارهای عملکرد و اعتبارسنجی، جدول 1 در آنجا). خط مرجع: طبقهبند ساختگی (رده پرتکرار) و رگرسیون لجستیک روی متغیرهایی که نظریه از پیش میشناسد – مانند چهار متغیر Salganik et al. (2020)؛ و برای طبقهبندی همچنین نزدیکترین همسایه، که "امروز دستکم میتواند بهعنوان خط مرجعی برای روشهای گوناگون طبقهبندی به کار رود" (Ishii et al., 2026, p. 11). مستند میشود: هر سه، پیش از دست زدن به دادهها. |
| 2 | تقسیم – نخست | 20% برای آزمون، طبقهبندیشده بر اساس پیامد (و در رده نادر – الزامی)، با بذر ثابت. اندازهگیریهای مکرر یا پنل – تقسیم بر اساس آزمودنی، نه بر اساس سطر (نشت L3.2). پیشبینی رو به جلو در زمان – آزمون پس از آموزش است (L3.1). مستند میشود: روش تقسیم، بذر، اندازه گروهها. |
| 3 | آمادهسازی در زنجیره | جانهی گمشدهها، کدگذاری طبقهها، استانداردسازی – بهصورت مراحل زنجیره که فقط روی دادههای آموزش برازش داده میشوند. متغیری که همان هدف در لباس مبدل است (درمانی که برای مشکلِ مورد پیشبینی داده شده) – بیرون (L2). انتخاب ویژگیها – درون زنجیره، نه روی همه دادهها (L1.3). مستند میشود: مراحل زنجیره، به ترتیب. |
| 4 | مقایسه مدلها با اعتبارسنجی متقابل | خطهای مرجع گام 1، درخت با عمق محدود، جنگل تصادفی، بوستینگ – با پیشفرضها، در 5 یا 10 لایه، همان لایهها برای همه. میانگین و انحراف معیار معیار گزارش میشوند. مستند میشود: جدول کامل، از جمله مدلهایی که شکست خوردند. |
| 5 | تنظیم – فقط برای نامزدها | جستوجوی تصادفی درون اعتبارسنجی متقابل، روی 2-3 مدل برتر. اگر جنگل با تفاوتی بیش از انحراف معیارها بهتر از رگرسیون نباشد – رگرسیون برگزیده میشود (جعبه سفید، Rudin, 2019). مستند میشود: فضای جستوجو و مقادیر انتخابشده. |
| 6 | مجموعه آزمون – یک بار | مدل نهایی، آموزشدیده روی کل دادههای آموزش، روی مجموعه آزمون سنجیده میشود: معیار و فاصله اطمینان، ماتریس درهمریختگی، و بر اساس زیرگروهها (جنسیت، سن، بخش جمعیتی). هر آنچه پس از این سنجش رخ دهد پژوهشی جدید است. مستند میشود: عدد، و فاصله آن از اعتبارسنجی متقابل. |
| 7 | گزارش | معیار روی مجموعه آزمون در برابر خط مرجع (عدد مهم تفاوت است)، آستانه انتخابشده، اهمیت ویژگیها (بدون جهت!) یا ضرایب، محدودیتها – و آنچه مدل نمیگوید: پیشبینی علت نیست (Shmueli, 2010). دفترچه پیوست میشود. توافق میان مدل و کدگذاری انسانی، هرگاه وجود داشته باشد – در صفحه پایایی بین کدگذاران. |
9. و این کار در R چگونه انجام میشود
دستورالعمل بخش 8، بهصورت یک اسکریپت واحد که از آغاز تا پایان روی فایل نمونه این صفحه اجرا میشود – DATA_ml_example_eng.xlsx (و نسخهای با نامهای عبری، DATA_ml_example_heb.xlsx): 320 دانشآموز در هشت مدرسه، هفت متغیر زمینهای و یک پیامد دووجهی – ترک تحصیل (11.6%) – با گمشدههایی در دو متغیر، در الگوی استاندارد سایت. انتخاب ابزارها از کتاب آموزشی گوتیرز پیروی میکند، که حول همین پرسش نوشته شده است – یک پروژه یادگیری ماشین در R چگونه است، از خواندن فایل تا ارزیابی مدل: glm با family = binomial برای رگرسیون لجستیک، randomForest با ntree و mtry، و importance() برای اهمیت ویژگیها (Gutierrez, 2015, Chapter 6, "Logistic Regression", "Random Forests")؛ تقسیم به آموزش، اعتبارسنجی و آزمون – "60% آموزش، 20% اعتبارسنجی متقابل و 20% آزمون" به بیان او – و مجموعه آزمون را "کاملاً به حال خود میگذاریم، زیرا هرگز در فرایند به کار نمیرود" فرایندِ انتخاب مدل (Gutierrez, 2015, Chapter 7, "Bias and Variance", "Cross Validation")؛ و برای منظمسازی – glmnet، که در آن alpha = 0 رگرسیون ستیغی و alpha = 1 لاسو میدهد، و lambda شدت را کنترل میکند (Chapter 7, "Overfitting"). آنچه اسکریپت بر کتاب میافزاید بسته caret است (Kuhn, 2008): تقسیم طبقهبندیشده، اعتبارسنجی متقابل، تنظیم و آمادهسازی درون لایهها – جانهی گمشدهها و استانداردسازی در preProcess، که فقط روی لایه آموزش برازش داده میشوند – در یک رابط واحد برای همه مدلها، و بدین ترتیب نشت سهوی ناممکن میشود (معیارهای عملکرد و اعتبارسنجی، بخش 5). مسیر C:\Rdata\ – همان قرارداد بخشهای R در صفحههای ماشینحساب.
# machine_learning.R - machine learning in social research: the seven-step recipe in R
# Data: DATA_ml_example_eng.xlsx - 320 students in 8 schools; outcome dropout (0/1).
library(readxl) # read Excel
library(caret) # split, cross-validation, tuning, confusion matrix
library(randomForest) # random forest
library(pROC) # ROC curve and AUC confidence interval
d <- read_excel("C:/Rdata/DATA_ml_example_eng.xlsx")
d$dropout <- factor(d$dropout, levels = c(0, 1), labels = c("no", "yes"))
d$gender <- factor(d$gender, levels = c(1, 2), labels = c("male", "female"))
d$id <- NULL # the id column is not a variable
# --- Step 1: goal, metric, baseline ------------------------------------------
# Metric: AUC (no threshold) and sensitivity at the chosen threshold. First baseline - the dummy classifier:
prop.table(table(d$dropout)) # majority-class rate = accuracy of "always no"
# --- Step 2: the split - first, stratified by outcome, fixed seed -----------
set.seed(20260920)
idx <- createDataPartition(d$dropout, p = 0.8, list = FALSE)
train <- d[idx, ]
test <- d[-idx, ] # test set - untouched until step 6
# --- Step 3: preparation inside the pipeline - imputation and scaling within folds ---
ctrl <- trainControl(method = "cv", number = 10, classProbs = TRUE,
summaryFunction = twoClassSummary, savePredictions = "final")
prep <- c("medianImpute", "center", "scale") # caret fits these on the training fold only (na.action = na.pass: NAs imputed in the pipeline)
# --- Step 4: compare models by cross-validation - same folds for all ---------
set.seed(1)
m_base <- train(dropout ~ age + gender + ses, data = train, method = "glm",
family = binomial, metric = "ROC", trControl = ctrl) # baseline: background variables
set.seed(1)
m_glm <- train(dropout ~ . - school_id, data = train, method = "glm",
family = binomial, metric = "ROC", trControl = ctrl, preProcess = prep, na.action = na.pass)
set.seed(1)
m_tree <- train(dropout ~ . - school_id, data = train, method = "rpart",
metric = "ROC", trControl = ctrl, preProcess = prep, na.action = na.pass)
set.seed(1)
m_rf <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl, preProcess = prep, ntree = 500, na.action = na.pass)
res <- resamples(list(baseline = m_base, logistic = m_glm, tree = m_tree, forest = m_rf))
t(sapply(res$values[, grep("~ROC$", names(res$values))],
function(x) c(mean = mean(x), sd = sd(x)))) # mean and SD of AUC over the 10 folds
# --- Step 5: tuning - candidates only ----------------------------------------
set.seed(1)
m_rf_t <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl, preProcess = prep, ntree = 500, na.action = na.pass,
tuneGrid = data.frame(mtry = c(2, 3, 4, 6)))
m_rf_t$results[, c("mtry", "ROC", "ROCSD")]
# --- Step 6: the test set - once -----------------------------------------------
final <- if (max(m_rf_t$results$ROC) - max(m_glm$results$ROC) > m_glm$results$ROCSD) m_rf_t else m_glm
# threshold chosen on the training set's cross-validated predictions (savePredictions) - not on the test set
roc_cv <- roc(final$pred$obs, final$pred$yes, levels = c("no", "yes"), direction = "<")
thr <- coords(roc_cv, "best", best.method = "youden", ret = "threshold")$threshold
thr # the threshold to apply to the test set
p_test <- predict(final, test, type = "prob", na.action = na.pass)[, "yes"]
roc_t <- roc(test$dropout, p_test, levels = c("no", "yes"), direction = "<")
auc(roc_t); ci.auc(roc_t) # AUC and 95% CI on the test set
pred_t <- factor(ifelse(p_test >= thr, "yes", "no"), levels = c("no", "yes"))
confusionMatrix(pred_t, test$dropout, positive = "yes", mode = "everything") # at the chosen threshold
confusionMatrix(predict(final, test, na.action = na.pass), test$dropout, positive = "yes")$byClass[c("Sensitivity", "Specificity")] # and at 0.5, for comparison
# --- Step 7: report - plus feature importance (no direction) ----------------
varImp(final)
# --- Dependent data: folds by school instead of by student -----------------
folds_g <- groupKFold(train$school_id, k = 5)
ctrl_g <- trainControl(method = "cv", index = folds_g, classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(1)
m_rf_g <- train(dropout ~ . - school_id, data = train, method = "rf",
metric = "ROC", trControl = ctrl_g, preProcess = prep, ntree = 500, na.action = na.pass)
m_rf_g$results[, c("mtry", "ROC", "ROCSD")] # compare with m_rf: the gap is what the dependence "contributed"
چه به دست آمد (R 4.3.3، caret 6.0-94، randomForest 4.7-1.1، pROC 1.18.5؛ خروجی کامل – qa/ml/ml_out.txt). طبقهبند ساختگی: 88.4% صحت کلی – این کف است. در اعتبارسنجی متقابل دهلایه، میانگین AUC: خط مرجع (سن، جنس، طبقه اجتماعی) .59 (انحراف معیار .21)، رگرسیون لجستیک روی همه متغیرها .66 (.22)، درخت .64 (.14)، جنگل تصادفی .64 (.21)؛ تنظیم جنگل (mtry 2-6) دستبالا به .65 رسید. قاعده گام 5 رگرسیون لجستیک را برگزید: جنگل با تفاوتی بیش از انحراف معیار از آن پیشی نگرفت – و "جنگل بهتر از رگرسیون نیست" یک یافته است، نه یک شکست. روی مجموعه آزمون (63 دانشآموز، 7 ترک تحصیل): AUC = .74، فاصله اطمینان 95% [.50, .97] – پهن، زیرا هفت مورد مثبت همان هفتاند. و آستانه: در آستانه 0.5 مدل هیچ ترک تحصیلی را شناسایی نمیکند (حساسیت 0، ویژگی 1 – "نوستراداموس را شکست میدهد")؛ آستانهای که بر پیشبینیهای اعتبارسنجی متقابل مجموعه آموزش، و نه بر مجموعه آزمون، انتخاب شد .12 است – و در آن حساسیت .71، ویژگی .73، precision .25: مدل پنج تن از هفت ترککننده را به بهای 15 هشدار کاذب میگیرد. اهمیت ویژگیها – نمرهها، طبقه اجتماعی، غیبتها – بدون جهت. و سرانجام تقسیم بر اساس مدرسه به جای دانشآموز: AUC جنگل از .64 به .60 پایین میآید – این فاصله کوچک همان چیزی است که وابستگی میان دانشآموزان یک مدرسه به عدد نخست "افزوده بود" (معیارهای عملکرد و اعتبارسنجی، بخش 6). دادهها ساختگیاند، و نکته دقیقاً همین است: یک پروژه واقعی روی 320 آزمودنی اینگونه به نظر میرسد – نه AUC = .95.
10. و این کار در SPSS Modeler چگونه انجام میشود
برای کسی که پژوهشش در SPSS جریان دارد، راه کوتاه به یادگیری ماشین Python نیست بلکه نرمافزار خواهر است: SPSS Modeler، که در آن "دادهکاوی شامل عبور دادن دادهها از توالیای از گرههاست، که 'جریان' نامیده میشود. هر گره نماینده عملیاتی مشخص است که بر دادهها اعمال میشود، و پیوندهای میان گرهها جریان دادهها را تعریف میکنند" (Truong, 2026, p. 56). این بخش از کتاب درسی ترونگ پیروی میکند و هفت گام دستورالعمل بخش 8 – و اسکریپت R بخش 9 – را به گرهها ترجمه میکند. یک قید، برخلاف بخش 9: Modeler در محیط آزمون سایت نصب نیست، و از همین رو آنچه اینجا نوشته شده توصیفی بر اساس کتاب است، نه اجرا؛ کسی که آن را اجرا میکند جریان را (فایل str) مستند میکند، همانگونه که دفترچه پیوست میشود.
فرایند. Modeler پیرامون CRISP-DM ساخته شده است – "استاندارد میانصنعتی برای فرایند دادهکاوی"، شش مرحله: فهم کسبوکار، فهم دادهها، آمادهسازی دادهها، مدلسازی، ارزیابی و استقرار؛ "در صنعت بیشتر از دانشگاه محبوب است، و IBM آن را پذیرفته و در نرمافزار پیاده کرده است" (ص. 32). در راهنمای کاربر نسخه 19.0: "فهم کسبوکار. این شاید مهمترین مرحله در دادهکاوی باشد" (IBM Corporation, 2025, p. 23)، و جریان – "مجموعهای از گرهها… که نماینده عملیاتی است که بر دادهها انجام خواهد شد، در حالی که پیوندهای میان گرهها جهت جریان دادهها را نشان میدهند" (ص. 31). برای پژوهشگر، "فهم کسبوکار" همان گام 1 بخش 8 است – هدف، معیار، خط مرجع – و پیش از گشودن نرمافزار انجام میشود.
جریان، گره به گره. Statistics File – فایل sav را مستقیماً میخواند (و برای فایل اکسل در الگوی سایت – گره Excel). Type – "برای دیدن و تغییر مقیاسهای اندازهگیری و نقشهای فیلدها": اینجا هدف (Target)، پیشبینها (Input)، و آنچه وارد مدل نمیشود – شناسه آزمودنی، متغیری که همان هدف در لباس مبدل است – بهعنوان None نشانهگذاری میشوند؛ این گام 3 بخش 8 است، و همان جایی است که نشت L2 یا جلوگیری میشود یا راه مییابد. Partition – "آموزش، آزمون و اعتبارسنجی" با نسبتهایی که وارد میشوند (ص. 87-88)، و به زبان مستندات IBM: "مدل را روی یک نمونه آموزش دهید، روی نمونه دوم آن را بیازمایید و پالایش کنید، و نتایج را روی سومی اعتبارسنجی کنید" (IBM Corporation, 2016b, p. 157)؛ به نامها توجه کنید: در Modeler "آزمون" مجموعه دوم است، برای مقایسه مدلها، و "اعتبارسنجی" – سومی، برای سنجش نهایی، وارونه قرارداد ژرون و این صفحه (معیارهای عملکرد و اعتبارسنجی، بخش 2؛ جدول 3.8 نزد ترونگ، ص. 85). برای نمونهای چندصدتایی، توصیه خود ترونگ تنها دو مجموعه است، 60-40 (ص. 87) – و اعتبارسنجی متقابل، که قلب بخش 9 است، پیشفرض Modeler نیست: نزد ترونگ برای تنظیم ابرپارامترها توصیه میشود (ص. 522)، اما همه مثالهای کتاب بر یک تقسیم واحد سنجیده میشوند. گرههای مدل – از گروه Modeling: Logistic (خط مرجع و همچنین نامزد)، C&R Tree و CHAID (درخت؛ CHAID بر اساس آزمون χ² تقسیم میکند و تقسیم غیردودویی را ممکن میسازد)، Neural Net، Random Forest و XGBoost Tree (جنگل و بوستینگ – گرههای Python، که به افزونه نیاز دارند)، و Auto Classifier، که چند الگوریتم را اجرا و رتبهبندی میکند – راحت است، به شرط آنکه آنچه بر پایهاش رتبهبندی میکند معیار گام 1 باشد. گره جنگل "بهینهسازی ابرپارامتر دارد، که بهطور خودکار بهترین ترکیب پارامترها را برای کمینه کردن نرخ خطا روی نمونهها جستوجو میکند" (ص. 499) – این گام 5 است، اما توجه کنید روی کدام نمونهها: اگر روی مجموعه "آزمون" Modeler باشد، آن مجموعه به مجموعه اعتبارسنجی بدل شده است، و این اشکالی ندارد – تا زمانی که سنجش نهایی روی "اعتبارسنجی" باشد. کتاب درسی دانشگاهی Modeler توصیه میکند "70-80% دادهها برای مجموعه آموزش و بقیه برای مجموعه آزمون" و بذر را در گره Partition ثابت کنید "تا در هر اجرا همان مدل به دست آید" (Wendler & Gröttrup, 2021, p. 826) – و درباره انتخاب مدل، همان چیزی که این صفحه در بخش 5 میگوید: "هیچ روشی وجود ندارد که برای هر نوع داده و مسئله طبقهبندی از هر مدل دیگری برتر باشد… اکیداً توصیه میکنیم رویکردها و روشهای گوناگون را روی هر مجموعهداده بیازمایید" (ص. 760). هر گره مدل یک "ناگت" (nugget) – مدل آموزشدیده – تولید میکند که به دادهها وصل میشود. Analysis (از گروه Output) – "امکان ارزیابی توانایی یک مدل در تولید پیشبینیهای دقیق را فراهم میکند" با مقایسه "میان مقادیر پیشبینیشده و مقادیر واقعی" (IBM Corporation, 2016b, p. 276)، و نزد ترونگ "عملکرد مدل را میان نمونه آموزش و نمونه آزمون مقایسه میکند" (ص. 231): Coincidence matrices (ماتریس درهمریختگی)، Performance evaluation، Evaluation metric (AUC and Gini) و Separate by partition علامت زده میشوند (ص. 377)، و از آن صحت، نرخ طبقهبندی نادرست، Gini و AUC برای هر مجموعه برداشته میشود؛ "حساسیت، ویژگی و F1 را میتوان از ماتریس درهمریختگی محاسبه کرد" (ص. 300) – خودتان، در ماشینحساب. و Evaluation (از گروه Graphs) – "منحنیهای ROC و منحنیهای Lift برای همه مدلها" روی هم (ص. 502). وقتی همه ناگتها بهصورت زنجیرهای به همان دادهها وصل شوند، یک گره Analysis همه آنها را مقایسه میکند – این جدول گام 4 بخش 8 است.
و آنچه منو برای شما انجام نمیدهد. آستانه: پیشفرض ناگت 0.5 است، و آنچه بخش 9 با یک خط pROC انجام داد اینجا با گره Derive روی فیلد احتمالی که ناگت در کنار پیشبینی میافزاید انجام میشود – یا با ماتریس هزینه در تنظیمات گره مدل، که همان یادگیری حساس به هزینه ترونگ است (ص. 203-204). رده نادر: گره SMOTE هست و Balance هست، و هر دو پس از Partition میآیند، نه پیش از آن – و بهتر است بدون آنها باشد (معیارهای عملکرد و اعتبارسنجی، بخش 1). وابستگی میان آزمودنیها: Partition تقسیم بر اساس گروه ندارد؛ در اندازهگیریهای مکرر یا در مدرسهها خودتان تقسیم کنید (گره Derive روی شناسه گروه، و سپس Select)، یا به بخش 9 بروید. و گزارش: گره Analysis اعداد را میدهد؛ چه گزارش شود و چه نشود – آنجا، بخش 7، از جمله جدول پیکربندیهای فصل 11 نزد ترونگ، که راه مستندسازی جریانی است که کد ندارد.
اشتباهات رایج
اشتباهات اعتبارسنجی – صحت کلی روی رده نادر، آمادهسازی روی همه دادهها پیش از تقسیم، تقسیم بر اساس سطر به جای آزمودنی، تنظیم روی مجموعه آزمون، عدد بدون پراکندگی و بدون خط مرجع – در معیارهای عملکرد و اعتبارسنجی. اینجا – اشتباهات خود مدلها.
خواندن اهمیت ویژگیها بهعنوان ضرایب. "درآمد مهمترین پیشبین است" – آری؛ "درآمد شانس را بالا میبرد" – جنگل چنین نگفت. اهمیت نه جهت است و نه علت؛ و ضریب مهارشده در رگرسیون لاسو برآورد نااریب یک اثر نیست.
گزارش یک درخت بهعنوان یافته. آموزش مجدد روی همان دادهها میتواند درختی دیگر بدهد (فصل 6). درخت تصویری از مدل است، نه از واقعیت؛ آنچه پایدار است جنگل است – و آن را نمیتوان کشید.
انتخاب k بر اساس لختی. در خوشهبندی، لختی با افزودن خوشهها همیشه کاهش مییابد؛ k با "آرنج"، با نمره سیلوئت، با آماره شکاف (یادگیری بدون نظارت، بخش 5) – و با خواندن خود خوشهها انتخاب میشود. و بدون استانداردسازی پیشین، خوشهها "کشیده" میشوند و k-میانگین بد عمل میکند (فصل 9).
چکلیست – پیش از گزارش نتیجه یک پیشبینی
| سؤال | چرا این مهم است |
|---|---|
| پرسش تبیین است یا پیشبینی – و معیار بر همین اساس انتخاب شده است؟ | دو بُعد، دو اعتبارسنجی (بخش 1). مدل تبیینی با ضرایب سنجیده میشود؛ مدل پیشبینانه – روی دادههایی که ندیده است. |
| خط مرجعی هست – طبقهبند ساختگی و رگرسیون روی متغیرهای شناختهشده؟ | عددی که گزارش میشود تفاوت با خط مرجع است، نه خود معیار. |
| آیا چکلیست اعتبارسنجی را گذراندهام – معیار، تقسیم، اعتبارسنجی متقابل، نشت، واحد تقسیم، زیرگروهها؟ | یازده پرسش در معیارهای عملکرد و اعتبارسنجی؛ بدون آنها عدد یافته نیست. |
| بذر، نسخهها، ابرپارامترها و زنجیره مستند شدهاند – و دفترچه پیوست شده است؟ | بازتولیدپذیری. نتیجه محاسباتی مستندنشده یافته نیست – همان قاعده همه ماشینحسابهای سایت. |
| دادهها روی رایانه ماندند؟ | دفترچه ابری یعنی بارگذاری فایل آزمودنیها در سروری بیگانه (بخش 8). |
منابع
Bishop, C. M. (2006). Pattern recognition and machine learning. Springer.
Breiman, L. (2001a). Statistical modeling: The two cultures (with comments and a rejoinder by the author). Statistical Science, 16(3), 199-231. https://doi.org/10.1214/ss/1009213726
Breiman, L. (2001b). Random forests. Machine Learning, 45(1), 5-32. https://doi.org/10.1023/A:1010933404324
Géron, A. (2022). Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts, tools, and techniques to build intelligent systems (3rd ed.). O'Reilly Media.
Gutierrez, D. D. (2015). Machine learning and data science: An introduction to statistical learning methods with R. Technics Publications.
Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: Data mining, inference, and prediction (2nd ed.). Springer. https://doi.org/10.1007/978-0-387-84858-7
Hofman, J. M., Watts, D. J., Athey, S., Garip, F., Griffiths, T. L., Kleinberg, J., Margetts, H., Mullainathan, S., Salganik, M. J., Vazire, S., Vespignani, A., & Yarkoni, T. (2021). Integrating explanation and prediction in computational social science. Nature, 595(7866), 181-188. https://doi.org/10.1038/s41586-021-03659-0
IBM Corporation. (2016a). IBM SPSS Modeler 18.0 modeling nodes. IBM. https://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.0/en/ModelerModelingNodes.pdf
IBM Corporation. (2016b). IBM SPSS Modeler 18.0 source, process, and output nodes. IBM. https://public.dhe.ibm.com/software/analytics/spss/documentation/modeler/18.0/en/ModelerSPOnodes.pdf
IBM Corporation. (2025). IBM SPSS Modeler 19.0 user's guide. IBM.
Ishii, K., Ueda, N., Maeda, E., & Murase, H. (2026). Pattern recognition and machine learning for self-study I: Supervised learning. Springer. https://doi.org/10.1007/978-981-95-1478-6
Kapoor, S., & Narayanan, A. (2023). Leakage and the reproducibility crisis in machine-learning-based science. Patterns, 4(9), Article 100804. https://doi.org/10.1016/j.patter.2023.100804
Kuhn, M. (2008). Building predictive models in R using the caret package. Journal of Statistical Software, 28(5), 1-26. https://doi.org/10.18637/jss.v028.i05
Molina, M., & Garip, F. (2019). Machine learning for sociology. Annual Review of Sociology, 45, 27-45. https://doi.org/10.1146/annurev-soc-073117-041106
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, É. (2011). Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, 12, 2825-2830.
Rudin, C. (2019). Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature Machine Intelligence, 1(5), 206-215. https://doi.org/10.1038/s42256-019-0048-x
Salganik, M. J., Lundberg, I., Kindel, A. T., Ahearn, C. E., Al-Ghoneim, K., Almaatouq, A., Altschul, D. M., Brand, J. E., Carnegie, N. B., Compton, R. J., Datta, D., Davidson, T., Filippova, A., Gilroy, C., Goode, B. J., Jahani, E., Kashyap, R., Kirchner, A., McKay, S., . . . McLanahan, S. (2020). Measuring the predictability of life outcomes with a scientific mass collaboration. Proceedings of the National Academy of Sciences, 117(15), 8398-8403. https://doi.org/10.1073/pnas.1915006117
Shmueli, G. (2010). To explain or to predict? Statistical Science, 25(3), 289-310. https://doi.org/10.1214/10-STS330
Truong, D. (2026). Demystifying AI: Data science and machine learning using IBM SPSS Modeler. Chapman and Hall/CRC. https://doi.org/10.1201/9781003468196
Wendler, T., & Gröttrup, S. (2021). Data mining with SPSS Modeler: Theory, exercises and solutions (2nd ed.). Springer. https://doi.org/10.1007/978-3-030-54338-9
Wolpert, D. H. (1996). The lack of a priori distinctions between learning algorithms. Neural Computation, 8(7), 1341-1390. https://doi.org/10.1162/neco.1996.8.7.1341
Yarkoni, T., & Westfall, J. (2017). Choosing prediction over explanation in psychology: Lessons from machine learning. Perspectives on Psychological Science, 12(6), 1100-1122. https://doi.org/10.1177/1745691617693393