۴ کیو· سختپیشرفتهPYTHON۴ ثانیه · ۲۵۶ مگابایت
آموزش با کاهش گرادیان تصادفی و کاهش وزن
شبکهی تکلایهی ReLU درسهای قبل را با کاهش گرادیان دستهای (minibatch) و منظمسازی ریج (کاهش وزن) آموزش دهید. زیان روی هر دستهی نمونهای:
عرض از مبدأها ( و ) جریمه نمیشوند. تابع train(X, y, W, beta, lr, epochs, batch, lam) دقیقاً این کار را میکند:
- برای هر دور (epoch) از ۱ تا
epochs: نمونهها را به همان ترتیب و بدون بههمریختن به دستههای پشتسرهم به اندازهیbatchتقسیم کنید (range(0, n, batch)؛ دستهی آخر ممکن است کوچکتر باشد). - برای هر دسته: گرادیان را مثل تمرین پسانتشار حساب کنید (روی همان دسته، با بهجای )، جملهی را به گرادیان وزنهای غیر عرض از مبدأ اضافه کنید، و همهی پارامترها را همزمان بهروز کنید: .
- در پایان، میانگین مربع خطا روی همهی داده (بدون جریمه)، ، را برگردانید.
نمونهها
ورودی نمونه ۱
[[[1.83, -3.08], [0.96, 0.07], [1.32, 0.39], [1.83, 0.03], [-0.52, 0.58], [0.43, -0.36], [-0.25, 0.72], [0.7, -0.49]], [-0.54, 0.96, 1.18, 0.95, -0.28, 0.21, 0.22, 0.49], [[-0.26, -1.26, 1.18], [-0.16, 0.94, 0.29], [1.36, 1.08, 0.22]], [1.04, -0.67, 0.88, -1.04], 0.1, 1, 4, 0.0]
خروجی نمونه ۱
0.4652
ورودی نمونه ۲
[[[1.83, -3.08], [0.96, 0.07], [1.32, 0.39], [1.83, 0.03], [-0.52, 0.58], [0.43, -0.36], [-0.25, 0.72], [0.7, -0.49]], [-0.54, 0.96, 1.18, 0.95, -0.28, 0.21, 0.22, 0.49], [[-0.26, -1.26, 1.18], [-0.16, 0.94, 0.29], [1.36, 1.08, 0.22]], [1.04, -0.67, 0.88, -1.04], 0.1, 50, 4, 0.0]
خروجی نمونه ۲
0.012
برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.
ورود