人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python深度學(xué)習(xí)pyTorch權(quán)重衰減與L2范數(shù)正則化解析

發(fā)布日期:2021-12-29 05:47 | 文章來(lái)源:腳本之家

下面進(jìn)行一個(gè)高維線性實(shí)驗(yàn)

假設(shè)我們的真實(shí)方程是:

假設(shè)feature數(shù)200,訓(xùn)練樣本和測(cè)試樣本各20個(gè)

模擬數(shù)據(jù)集

num_train,num_test = 10,10
num_features = 200
true_w = torch.ones((num_features,1),dtype=torch.float32) * 0.01
true_b = torch.tensor(0.5)
samples = torch.normal(0,1,(num_train+num_test,num_features))
noise = torch.normal(0,0.01,(num_train+num_test,1))
labels = samples.matmul(true_w) + true_b + noise
train_samples, train_labels= samples[:num_train],labels[:num_train]
test_samples, test_labels = samples[num_train:],labels[num_train:]

定義帶正則項(xiàng)的loss function

def loss_function(predict,label,w,lambd):
 loss = (predict - label) ** 2
 loss = loss.mean() + lambd * (w**2).mean()
 return loss

畫圖的方法

def semilogy(x_val,y_val,x_label,y_label,x2_val,y2_val,legend):
 plt.figure(figsize=(3,3))
 plt.xlabel(x_label)
 plt.ylabel(y_label)
 plt.semilogy(x_val,y_val)
 if x2_val and y2_val:
  plt.semilogy(x2_val,y2_val)
  plt.legend(legend)
 plt.show()

擬合和畫圖

def fit_and_plot(train_samples,train_labels,test_samples,test_labels,num_epoch,lambd):
 w = torch.normal(0,1,(train_samples.shape[-1],1),requires_grad=True)
 b = torch.tensor(0.,requires_grad=True)
 optimizer = torch.optim.Adam([w,b],lr=0.05)
 train_loss = []
 test_loss = []
 for epoch in range(num_epoch):
  predict = train_samples.matmul(w) + b
  epoch_train_loss = loss_function(predict,train_labels,w,lambd)
  optimizer.zero_grad()
  epoch_train_loss.backward()
  optimizer.step()
  test_predict = test_sapmles.matmul(w) + b
  epoch_test_loss = loss_function(test_predict,test_labels,w,lambd)
  train_loss.append(epoch_train_loss.item())
  test_loss.append(epoch_test_loss.item())
 semilogy(range(1,num_epoch+1),train_loss,'epoch','loss',range(1,num_epoch+1),test_loss,['train','test'])


可以發(fā)現(xiàn)加了正則項(xiàng)的模型,在測(cè)試集上的loss確實(shí)下降了

以上就是Python深度學(xué)習(xí)pyTorch權(quán)重衰減與L2范數(shù)正則化解析的詳細(xì)內(nèi)容,更多關(guān)于Python pyTorch權(quán)重與L2范數(shù)正則化的資料請(qǐng)關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部