راه
۵ کیو· متوسط رو به بالامتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

رگرسیون خطی با گرادیان کاهشی

تابع gd_linear(X, y, lr, steps) را بنویسید که ضرایب رگرسیون خطی را با گرادیان کاهشی پیدا کند.

  1. یک ستون یک به اول XX اضافه کنید تا ماتریس AA با شکل n×(p+1)n \times (p+1) بسازید.
  2. از w=0w = 0 (برداری از صفر به طول p+1p+1) شروع کنید.
  3. دقیقاً steps بار این به‌روزرسانی را انجام دهید:
w←w−η⋅2nA⊤(Aw−y)w \leftarrow w - \eta \cdot \frac{2}{n} A^\top (A w - y)

که η\eta همان lr است. این گرادیانِ میانگین مربع خطاست.

  1. ww را برگردانید: اول عرض از مبدأ، بعد ضریب هر ستون.

lr عدد اعشاری و steps عدد صحیح است. در آزمون‌ها lr آن‌قدر کوچک است که الگوریتم واگرا نشود.

نمونه‌ها

ورودی نمونه ۱
[[[1], [2], [3]], [2, 4, 6], 0.1, 1]
خروجی نمونه ۱
[0.8, 1.8667]
ورودی نمونه ۲
[[[1], [2], [3]], [2, 4, 6], 0.05, 2000]
خروجی نمونه ۲
[0.0, 2.0]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود