中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

企業(yè)網(wǎng)站最下面的那欄叫啥成都本地推廣平臺

企業(yè)網(wǎng)站最下面的那欄叫啥,成都本地推廣平臺,wordpress網(wǎng)頁寬度,羅湖中心區(qū)做網(wǎng)站筆記為自我總結整理的學習筆記,若有錯誤歡迎指出喲~ 深度學習專欄鏈接: http://t.csdnimg.cn/dscW7 pytorch——線性回歸 線性回歸簡介公式說明完整代碼代碼解釋 線性回歸簡介 線性回歸是一種用于建立特征和目標變量之間線性關系的統(tǒng)計學習方法。它假設…

筆記為自我總結整理的學習筆記,若有錯誤歡迎指出喲~

深度學習專欄鏈接:
http://t.csdnimg.cn/dscW7

pytorch——線性回歸

  • 線性回歸簡介
  • 公式說明
  • 完整代碼
  • 代碼解釋

線性回歸簡介

線性回歸是一種用于建立特征和目標變量之間線性關系的統(tǒng)計學習方法。它假設特征和目標變量之間存在一個線性的關系,并試圖通過擬合最佳的線性函數(shù)來預測目標變量。

線性回歸模型的一般形式可以表示為:

y = w 0 + w 1 x 1 + w 2 x 2 + … + w n x n y = w_0 + w_1x_1 + w_2x_2 + \ldots + w_nx_n y=w0?+w1?x1?+w2?x2?++wn?xn?

其中, y y y 是目標變量(或因變量), x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1?,x2?,,xn? 是特征變量(或自變量), w 0 , w 1 , w 2 , … , w n w_0, w_1, w_2, \ldots, w_n w0?,w1?,w2?,,wn? 是模型的參數(shù),分別對應截距和各個特征的權重。

線性回歸模型的訓練過程就是尋找最優(yōu)的參數(shù) w 0 , w 1 , w 2 , … , w n w_0, w_1, w_2, \ldots, w_n w0?,w1?,w2?,,wn? 來使得模型的預測值與實際值之間的差異最小化。

公式說明

以下是代碼涉及到的數(shù)學公式

  1. 線性回歸模型

線性回歸模型用于建立特征 x x x 和目標變量 y y y 之間的線性關系。在本代碼中,線性回歸模型被表示為:

y = w x + b y = wx + b y=wx+b

其中, w w w 是權重(即斜率), b b b 是偏置(即截距), x x x 是輸入特征, y y y 是預測值。

  1. 損失函數(shù)

損失函數(shù)用于衡量模型預測值與實際標簽之間的差異。在本代碼中,使用的損失函數(shù)是均方誤差(Mean Squared Error,MSE):

l o s s = 1 2 n ∑ i = 1 n ( y p r e d ( i ) ? y ( i ) ) 2 loss = \frac{1}{2n} \sum_{i=1}^{n} (y_{pred}^{(i)} - y^{(i)})^2 loss=2n1?i=1n?(ypred(i)??y(i))2

其中, y p r e d ( i ) y_{pred}^{(i)} ypred(i)? 是模型的第 i i i 個樣本的預測值, y ( i ) y^{(i)} y(i) 是實際標簽, n n n 是樣本數(shù)量。

  1. 其他運算

代碼中還涉及到了矩陣乘法、矩陣轉置、元素級別的操作等。例如, x . m m ( w ) x.mm(w) x.mm(w) 表示將輸入特征 x x x 與權重 w w w 進行矩陣乘法; x T . m m ( d y _ p r e d ) x^T.mm(dy\_pred) xT.mm(dy_pred) 表示將輸入特征 x x x 的轉置與梯度 d y _ p r e d dy\_pred dy_pred 進行矩陣乘法。

完整代碼

import torch as t
%matplotlib inline
from matplotlib import pyplot as plt
from IPython import displaydevice = t.device('cpu') #如果你想用gpu,改成t.device('cuda:0')# 設置隨機數(shù)種子,保證在不同電腦上運行時下面的輸出一致
t.manual_seed(1000) def get_fake_data(batch_size=8):''' 產(chǎn)生隨機數(shù)據(jù):y=x*2+3,加上了一些噪聲'''x = t.rand(batch_size, 1, device=device) * 5y = x * 2 + 3 +  t.randn(batch_size, 1, device=device)return x, y'''
# 產(chǎn)生的x-y分布
x, y = get_fake_data(batch_size=100)
plt.scatter(x.squeeze().cpu().numpy(), y.squeeze().cpu().numpy())
'''# 隨機初始化參數(shù)
w = t.rand(1, 1).to(device)
b = t.zeros(1, 1).to(device)lr =0.02 # 學習率for ii in range(500):x, y = get_fake_data(batch_size=4)# forward:計算lossy_pred = x.mm(w) + b.expand_as(y) loss = 0.5 * (y_pred - y) ** 2 # 均方誤差loss = loss.mean()# backward:手動計算梯度dloss = 1dy_pred = dloss * (y_pred - y)dw = x.t().mm(dy_pred)db = dy_pred.sum()# 更新參數(shù)w.sub_(lr * dw)b.sub_(lr * db)if ii%50 ==0:# 畫圖display.clear_output(wait=True)x = t.arange(0, 6).view(-1, 1)y = x.float().mm(w) + b.expand_as(x)plt.plot(x.cpu().numpy(), y.cpu().numpy(),color='b') # predictedx2, y2 = get_fake_data(batch_size=100) plt.scatter(x2.numpy(), y2.numpy(),color='r') # true dataplt.xlim(0, 5)plt.ylim(0, 15)plt.show()plt.pause(0.5)print('w: ', w.item(), 'b: ', b.item())

輸出結果為:
在這里插入圖片描述
w: 1.9709817171096802 b: 3.1699466705322266

代碼解釋

  1. 導入需要的庫:
import torch as t
%matplotlib inline
from matplotlib import pyplot as plt
from IPython import display

導入PyTorch庫以及繪圖相關的庫,%matplotlib inline是Jupyter Notebook中的魔法命令,用于在Notebook中顯示繪圖。

  1. 設置隨機數(shù)種子:
t.manual_seed(1000)

這行代碼設置隨機數(shù)種子,保證每次運行結果的隨機數(shù)生成過程一致。

  1. 定義生成隨機數(shù)據(jù)的函數(shù):
def get_fake_data(batch_size=8):''' 產(chǎn)生隨機數(shù)據(jù):y=x*2+3,加上了一些噪聲'''x = t.rand(batch_size, 1, device=device) * 5y = x * 2 + 3 +  t.randn(batch_size, 1, device=device)return x, y

該函數(shù)用于產(chǎn)生隨機的輸入特征x和對應的標簽y,其中y滿足線性關系y = x * 2 + 3,并添加了一些隨機噪聲。

  1. 初始化模型參數(shù):
w = t.rand(1, 1).to(device)
b = t.zeros(1, 1).to(device)

這里使用隨機數(shù)初始化模型參數(shù)wb,并指定在CPU上進行計算。

  1. 設置學習率:
lr = 0.02

學習率lr控制每次參數(shù)更新的步長。

  1. 進行模型訓練:
for ii in range(500):# 生成隨機數(shù)據(jù)x, y = get_fake_data(batch_size=4)# forward:計算損失y_pred = x.mm(w) + b.expand_as(y)loss = 0.5 * (y_pred - y) ** 2loss = loss.mean()# backward:手動計算梯度dloss = 1dy_pred = dloss * (y_pred - y)dw = x.t().mm(dy_pred)db = dy_pred.sum()# 更新參數(shù)w.sub_(lr * dw)b.sub_(lr * db)

這里使用一個循環(huán)進行模型的訓練,每次迭代都包含以下步驟:

  • 生成隨機數(shù)據(jù);
  • 前向傳播:計算預測值y_pred和損失函數(shù)loss
  • 反向傳播:手動計算梯度dwdb
  • 更新參數(shù):根據(jù)梯度和學習率更新參數(shù)wb
  1. 可視化模型訓練過程:
if ii % 50 == 0:display.clear_output(wait=True)x = t.arange(0, 6).view(-1, 1)y = x.float().mm(w) + b.expand_as(x)plt.plot(x.cpu().numpy(), y.cpu().numpy(), color='b') # predicted linex2, y2 = get_fake_data(batch_size=100)plt.scatter(x2.numpy(), y2.numpy(), color='r') # true dataplt.xlim(0, 5)plt.ylim(0, 15)plt.show()plt.pause(0.5)

這部分代碼用于可視化模型訓練的過程,每50次迭代將當前參數(shù)下的預測結果以藍色線條的形式繪制出來,并將隨機生成的100個樣本以紅色散點圖顯示出來。

  1. 輸出最終訓練得到的參數(shù):
print('w: ', w.item(), 'b: ', b.item())

輸出訓練得到的參數(shù)wb的值。

http://m.risenshineclean.com/news/61207.html

相關文章:

  • ps網(wǎng)頁設計步驟淮安網(wǎng)站seo
  • 企業(yè)建設網(wǎng)站目的是什么推廣廣告
  • 網(wǎng)站建設成功案例宣傳色盲能治好嗎
  • 網(wǎng)站建設都需要什么技術人員網(wǎng)站優(yōu)化網(wǎng)絡推廣seo
  • 南昌微網(wǎng)站建設廈門人才網(wǎng)官網(wǎng)招聘
  • 學做網(wǎng)站培訓 上海網(wǎng)站分析
  • 手機前端開發(fā)軟件工具如何軟件網(wǎng)站優(yōu)化公司
  • 上海裝修公司網(wǎng)站建設app推廣方案
  • 自己動手做導航網(wǎng)站競價推廣思路
  • ??趯I(yè)的網(wǎng)站開發(fā)seo排名怎么樣
  • 中煤第三建設集團投標網(wǎng)站南寧seo怎么做優(yōu)化團隊
  • 網(wǎng)站開發(fā) java 入門惠州搜索引擎優(yōu)化
  • 網(wǎng)站ui設計標準網(wǎng)絡設計
  • 微信支付 網(wǎng)站建設蘇州網(wǎng)站seo優(yōu)化
  • 威海網(wǎng)站制作廈門網(wǎng)站到首頁排名
  • 做網(wǎng)站需要有b站推廣軟件
  • 長沙有哪些app開發(fā)公司aso優(yōu)化工具
  • 沒有有知道釣魚網(wǎng)站在哪兒做搭建網(wǎng)站流程
  • 做網(wǎng)站要不要花錢做店長徐州seo公司
  • c 做游戲的網(wǎng)站教學網(wǎng)推平臺
  • 企業(yè)申請網(wǎng)站建設請示站長素材免費下載
  • 網(wǎng)站建設賺錢嗎微信推廣怎么做
  • 東莞寮步做網(wǎng)站的有嗎網(wǎng)絡推廣的公司更可靠
  • wordpress發(fā)不了博文秦潔婷seo博客
  • 電商網(wǎng)站設計的原則網(wǎng)絡營銷模式
  • 網(wǎng)絡規(guī)劃設計師教程第二版電子版下載青島神馬排名優(yōu)化
  • 幫人做兼職的網(wǎng)站進一步優(yōu)化
  • 用wampserver搭建網(wǎng)站seo排名軟件有用嗎
  • 個人主頁網(wǎng)站制作怎么自己找外貿訂單
  • 平面設計和電商設計五種關鍵詞優(yōu)化工具