在校課程老師布置的作業
點個贊
, 點個收藏
之類的Let's do it !!!
已知某系統模型可由 y = 2 x + 3 y = 2x + 3 y=2x+3 表示
對該系統實際采樣得到 4
個樣本:(0,3.1)
、(1,4.9)
、(2,7.2)
、(3,8.9)
根據采樣數據使用一維線性回歸算法估計該模型: f ( x ) = w x + b f(x) = w x + b f(x)=wx+b
選取損失函數: L = 1 2 n ∑ i = 1 n ( y i ? ( b + w x i ) ) 2 L=/frac{1}{2n} /displaystyle /sum_{i=1}^{n}{(y^i-(b+wx^i))}^2 L=2n1?i=1∑n?(yi?(b+wxi))2
基于 梯度下降算法 估計參數 w
和 b
。
提示:
g r a d w = ? L ? w = 1 n ∑ i = 1 n ( f ( x i ) ? y i ) x i grad_w = /frac{/partial L}{/partial w}=/frac{1}{n} /displaystyle /sum_{i=1}^{n}{(f/left(x^i/right)-y^i)x^i} gradw?=?w?L?=n1?i=1∑n?(f(xi)?yi)xi
g r a d b = ? L ? b = 1 n ∑ i = 1 n ( f ( x i ) ? y i ) grad_b = /frac{/partial L}{/partial b}=/frac{1}{n} /displaystyle /sum_{i=1}^{n}{(f/left(x^i/right)-y^i)} gradb?=?b?L?=n1?i=1∑n?(f(xi)?yi)
其中:
n
是樣本數,( x i x_i xi?, y i y_i yi?)是樣本點, f ( x i ) = ? b + w x i f(x_i)=/ b+wx^i f(xi?)=?b+wxi 是模型估計值。問題:
w = 0
,b = 0
,學習率 η= 0.01
,根據已采集的 4
個樣本,基于 梯度下降算法 估計 w
和 b
,請計算 第1次 至 第3次 迭代的結果,要求 給出計算過程 及 每次迭代后的平均誤差 。w = 0
,b = 0
,請用 python
編程計算學習率為 η= 0.01
和 η= 0.001
時迭代 100
次的結果。這道題就是簡單的 梯度下降 ,公式已經給出來了,我們就直接按照公式實現即可。
第一題要求手寫,有了初始條件 w = 0 , b = 0 , η = 0.01 w=0, b=0, /eta=0.01 w=0,b=0,η=0.01 ,很容易寫出來梯度下降的過程。
我寫了個程序輸出,代碼如下:
w = 0b = 0eta = 0.01def process(): global w, b x = x_train.reshape(1, -1)[0] y_hat = x * w + b y = y_train.reshape(1, -1)[0] diff = y - y_hat print('(' + '+'.join(map(lambda x:str(round(x, 4)), diff**2)) + f')/{2*x.shape[0]} =', round((diff**2 / (2*x.shape[0])).sum(), 4)) grad_w = -diff * x print('(' + '+'.join(map(lambda x:f'({round(x, 4)})', grad_w)) + f')/{x.shape[0]} =', round(grad_w.sum() / x.shape[0], 4)) w -= eta * grad_w.sum() / x.shape[0] print('w =', w) grad_b = -diff print('(' + '+'.join(map(lambda x:f'({round(x, 4)})', grad_b)) + f')/{x.shape[0]} =', round(grad_b.sum() / x.shape[0], 4)) b -= eta * grad_b.sum() / x.shape[0] print('b =', b)for i in range(1, 4): print('Epoch', i) process() print()
Epoch 1
:Epoch 2
:文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/122203.html
摘要:簡介是目前最流行的深度學習框架。代表一個數學運算,簡稱,這里面包括了深度學習模型經常需要使用的。這也是名字的由來,表示多維數組在中流動。這一步指定求解器,并設定求解器的最小化目標為損失。 簡介 TensorFlow是目前最流行的深度學習框架。我們先引用一段官網對于TensorFlow的介紹,來看一下Google對于它這個產品的定位。 TensorFlow? is an open sou...
本文關鍵闡述了Python完成1個全連接層的神經元網絡,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,必須的朋友可以學習一下 序言 在本文中,提前準備用Python重新開始完成1個全連接層的神經元網絡。你可能會說,為何需要自己去完成,有許多庫和架構能夠給我們做這些事,例如Tensorflow、Pytorch等。這兒只想說僅有自己親自完成了,就是自己的。 想起今日他從接觸到了從事...
摘要:在這堂課中,學生將可以學習到深度學習的基礎,學會構建神經網絡,包括和等。課程中也會有很多實操項目,幫助學生更好地應用自己學到的深度學習技術,解決真實世界問題。 深度學習入門首推課程就是吳恩達的深度學習專項課程系列的 5 門課。該專項課程最大的特色就是內容全面、通俗易懂并配備了豐富的實戰項目。今天,給大家推薦一份關于該專項課程的核心筆記!這份筆記只能用兩個字形容:全面! showImg(...
閱讀 739·2023-04-25 19:43
閱讀 3983·2021-11-30 14:52
閱讀 3811·2021-11-30 14:52
閱讀 3872·2021-11-29 11:00
閱讀 3806·2021-11-29 11:00
閱讀 3905·2021-11-29 11:00
閱讀 3584·2021-11-29 11:00
閱讀 6192·2021-11-29 11:00