在校課程老師布置的作業(yè)
點(diǎn)個(gè)贊
, 點(diǎn)個(gè)收藏
之類的Let's do it !!!
已知某系統(tǒng)模型可由 y = 2 x + 3 y = 2x + 3 y=2x+3 表示
對(duì)該系統(tǒng)實(shí)際采樣得到 4
個(gè)樣本:(0,3.1)
、(1,4.9)
、(2,7.2)
、(3,8.9)
根據(jù)采樣數(shù)據(jù)使用一維線性回歸算法估計(jì)該模型: f ( x ) = w x + b f(x) = w x + b f(x)=wx+b
選取損失函數(shù): 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
基于 梯度下降算法 估計(jì)參數(shù) 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
是樣本數(shù),( x i x_i xi?, y i y_i yi?)是樣本點(diǎn), f ( x i ) = ? b + w x i f(x_i)=/ b+wx^i f(xi?)=?b+wxi 是模型估計(jì)值。問題:
w = 0
,b = 0
,學(xué)習(xí)率 η= 0.01
,根據(jù)已采集的 4
個(gè)樣本,基于 梯度下降算法 估計(jì) w
和 b
,請(qǐng)計(jì)算 第1次 至 第3次 迭代的結(jié)果,要求 給出計(jì)算過程 及 每次迭代后的平均誤差 。w = 0
,b = 0
,請(qǐng)用 python
編程計(jì)算學(xué)習(xí)率為 η= 0.01
和 η= 0.001
時(shí)迭代 100
次的結(jié)果。這道題就是簡(jiǎn)單的 梯度下降 ,公式已經(jīng)給出來了,我們就直接按照公式實(shí)現(xiàn)即可。
第一題要求手寫,有了初始條件 w = 0 , b = 0 , η = 0.01 w=0, b=0, /eta=0.01 w=0,b=0,η=0.01 ,很容易寫出來梯度下降的過程。
我寫了個(gè)程序輸出,代碼如下:
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
:文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/122203.html
摘要:簡(jiǎn)介是目前最流行的深度學(xué)習(xí)框架。代表一個(gè)數(shù)學(xué)運(yùn)算,簡(jiǎn)稱,這里面包括了深度學(xué)習(xí)模型經(jīng)常需要使用的。這也是名字的由來,表示多維數(shù)組在中流動(dòng)。這一步指定求解器,并設(shè)定求解器的最小化目標(biāo)為損失。 簡(jiǎn)介 TensorFlow是目前最流行的深度學(xué)習(xí)框架。我們先引用一段官網(wǎng)對(duì)于TensorFlow的介紹,來看一下Google對(duì)于它這個(gè)產(chǎn)品的定位。 TensorFlow? is an open sou...
本文關(guān)鍵闡述了Python完成1個(gè)全連接層的神經(jīng)元網(wǎng)絡(luò),文章內(nèi)容緊扣主題進(jìn)行詳盡的基本介紹,具有很強(qiáng)的實(shí)用價(jià)值,必須的朋友可以學(xué)習(xí)一下 序言 在本文中,提前準(zhǔn)備用Python重新開始完成1個(gè)全連接層的神經(jīng)元網(wǎng)絡(luò)。你可能會(huì)說,為何需要自己去完成,有許多庫(kù)和架構(gòu)能夠給我們做這些事,例如Tensorflow、Pytorch等。這兒只想說僅有自己親自完成了,就是自己的。 想起今日他從接觸到了從事...
摘要:在這堂課中,學(xué)生將可以學(xué)習(xí)到深度學(xué)習(xí)的基礎(chǔ),學(xué)會(huì)構(gòu)建神經(jīng)網(wǎng)絡(luò),包括和等。課程中也會(huì)有很多實(shí)操項(xiàng)目,幫助學(xué)生更好地應(yīng)用自己學(xué)到的深度學(xué)習(xí)技術(shù),解決真實(shí)世界問題。 深度學(xué)習(xí)入門首推課程就是吳恩達(dá)的深度學(xué)習(xí)專項(xiàng)課程系列的 5 門課。該專項(xiàng)課程最大的特色就是內(nèi)容全面、通俗易懂并配備了豐富的實(shí)戰(zhàn)項(xiàng)目。今天,給大家推薦一份關(guān)于該專項(xiàng)課程的核心筆記!這份筆記只能用兩個(gè)字形容:全面! showImg(...
閱讀 769·2023-04-25 19:43
閱讀 4022·2021-11-30 14:52
閱讀 3855·2021-11-30 14:52
閱讀 3909·2021-11-29 11:00
閱讀 3838·2021-11-29 11:00
閱讀 3949·2021-11-29 11:00
閱讀 3613·2021-11-29 11:00
閱讀 6310·2021-11-29 11:00