رفتن به محتوای اصلی
بازگشت به وبلاگ

داده و اتصال فنی

فرافکنی اقلیدسی روی سیمپلکس؛ آستانه را چطور پیدا کنیم؟

با مثال عددی، نزدیک‌ترین بردار نامنفی با مجموع یک را به دست آورید و نتیجهٔ فرافکنی را با بریدن و نرمال‌سازی ساده مقایسه کنید.

نامنفی‌کردنِ یک بردار و تقسیم برمجموعِ آن، الزاماً نزدیک‌ترینِ بردارِ جمع‌یک را نمی‌دهد. فرافکنیِ اقلیدسی رویِ سیمپلکس، یک مسئلهٔ کمینه‌سازیِ مشخص است:فاصلهٔ مربعی را با قیدِ نامنفی‌بودن و مجموعِ ۱ کم کنیم. در یک مثالِ کسری، آستانهٔ فعال و شرطِ بهینگی را با مرجعِ مستقل کنترل می‌کنیم.

هدف را با Softmax یکی نگیریم

ورودیِ اصیل y=[۱/۵، −۳/۱۰، ۱۷/۱۰] است. x باید نامنفی و مجموعش ۱ باشد و هدف نصفِ مجموعِ( x−y )²است. Softmax نیز خروجیِ جمع‌یک می‌سازد، اما این هدفِ فاصله را در این صفحه حل نمی‌کند؛ نامِ مشابهِ خروجی، پرسشِ بهینه‌سازی را یکسان نمی‌کند.

در منبع، جواب به‌شکلِ max(y+λ، ۰) نوشته می‌شود. در کدِ ما θ=−λ است و max(y−θ، ۰) می‌سازیم. علامتِ متفاوتِ نماد نباید باعث شود آستانه را در جهتِ غلط اضافه کنیم. جرمِ هدف در تمامِ این تمرین دقیقاً ۱ است؛ جرمِ دلخواه رابطِ ورودیِ دیگری می‌خواست.

مرتب‌سازی، تعدادِ مؤلفه‌هایِ فعال را مشخص می‌کند

بردارِ نزولی u=[۱۷/۱۰، ۱/۵، −۳/۱۰] است. برای هر j، θj=(مجموعِ j مؤلفهٔ نخست−۱)/j را حساب و u_j−θj>۰ را می‌سنجیم. بزرگ‌ترینِ j که این شرط را دارد، تعدادِ مؤلفه‌هایِ مثبتِ پاسخ است؛ تساویِ صفر، فعالِ مثبت محسوب نمی‌شود.

در این مثال، θ هایِ کاندید ۷/۱۰، ۹/۲۰ و ۱/۵ هستند. فقط نخستین شرط مثبت است؛ پس ρ=۱ و θ=۷/۱۰ داریم. پاسخ در ترتیبِ اصلی [۰، ۰، ۱] است. ترتیبِ داده به‌طورِ دائمی عوض نشده؛ مرتب‌سازی فقط برای یافتنِ آستانه است.

مقایسهٔ دو بردارِ جمع‌یک

نصفِ فاصلهٔ مربعیِ پاسخ به y برابر ۳۱/۱۰۰ است. مسیرِ عمداً غلط ابتدا جزءِ منفی را صفر ودو مقدارِ مثبت را بر مجموعشان تقسیم می‌کند؛ [۲/۱۹، ۰، ۱۷/۱۹] می‌سازد. این بردار هم نامنفی و مجموعش ۱ است، اما هدفِ آن ۱۳۴۹۱/۳۶۱۰۰ و بزرگ‌تر از ۳۱/۱۰۰ می‌شود.

روشِ همین مسئلهخروجینصفِ فاصلهٔ مربعی
آستانهٔ بهینه۰، ۰، ۱۳۱/۱۰۰
clip سپس normalize۲/۱۹، ۰، ۱۷/۱۹۱۳۴۹۱/۳۶۱۰۰

برابرشدنِ مجموع، تنها امکان‌پذیری را نشان می‌دهد؛ نزدیک‌ترین‌بودن شاهدِ جدا می‌خواهد. این جدول برتریِ همیشگیِ فرافکنی بر هر تبدیلِ احتمالی را نمی‌گوید؛ دو روش را برای همین هدف مقایسه می‌کند.

شرطِ بهینگی را به هر خانه وصل کنیم

برای خانهٔ مثبت، x_i=y_i−θ است. برای خانهٔ صفر، y_i≤θ می‌ماند. کد همراه با جمعِ ۱ این شرط‌ها را دقیق بررسی می‌کند. در هدفِ اکیداً محدبِ این مسئله، شرط‌هایِ KKT پاسخِ یکتا را مشخص می‌کنند؛ فقط نگاه‌کردن به یک شبکهٔ محدود دلیلِ کمینهٔ پیوسته نیست.

مرجعِ مستقل تمامِ support هایِ غیرتهیِ ابعادِ حداکثر ۴ را می‌شمارد. برای هر فرضِ support، قیدِ جمع را حل و شرط‌هایِ مثبت/صفر را کنترل می‌کند؛ از مرتب‌سازیِ روشِ اصلی استفاده نمی‌کند. تمام ۱۲۵ بردارِ سه‌بعدی از شبکهٔ {−۱، −۱/۲، ۰، ۱/۲، ۱} با این مرجع برابرند و افزودنِ ثابتِ ۲ به همهٔ خانه‌ها پاسخ را حفظ می‌کند.

اگر همهٔ ورودی‌ها منفی باشند چه؟

برای [−۱، −۲، −۳] پاسخ [۱، ۰، ۰] است؛ قیدِ مجموعِ ۱ با وجودِ منفی‌بودنِ همهٔ ورودی‌ها هنوز جواب دارد. برای [۰، ۰، ۰] پاسخ سه مقدارِ ۱/۳ است. clip سپس normalize در حالتِ همه‌منفی مخرجِ صفر می‌سازد، ولی مسئلهٔ فرافکنی بی‌جواب نیست.

شش ورودیِ نامعتبر، از فهرستِ خالی و bool یا float تا بیش از ۴ مؤلفه، قدرِ بیش از ۱۰ و مخرجِ کسرِ بزرگ‌تر از ۱۰۰۰۰ رد می‌شوند. این پوشش عمداً فقط صحیح و Fraction محدود می‌پذیرد؛ حل‌کنندهٔ عمومیِ عددی یا optimizer کتابخانه‌ای نیست.

Softmax تبدیلِ نماییِ امتیاز و L1 و L2 زیان و جریمهٔ وزن را می‌سنجد؛ این صفحه قیدِ جمع و کمترینِ فاصله را می‌خواهد. ادامه در مبانی هوش مصنوعی؛ خروجیِ جمع‌یک، احتمالِ کالیبره، سهمِ منصفانه یا کیفیتِ مدلِ اپرا را ثابت نمی‌کند.

فایل تمرین و منبع

کد کاملِ تمرینِ مستقل و کنترل‌ها؛ Python · ورودی و تمامِ خروجیِ اجرای واقعی؛ JSON

منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثال‌ها و فایل‌های این راهنما آموزشی و ساختهٔ تحریریه‌اند.

برای این نیاز، کدام خدمت مناسب‌تر است؟

تماس و منشی، چت سایت و تحلیل مکالمه سه مسیر متفاوت‌اند. ابتدا خدمت متناسب نیازتان را انتخاب کنید.

انتخاب میان سه خدمتراهنمای شروع با تیم اپرا

برآورد هزینه