成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 練習(xí)題 --- 梯度下降

番茄西紅柿 / 3254人閱讀

  • 題目來源:在校課程老師布置的作業(yè)
  • 偷偷說一句:如果對(duì)我的答案和解析滿意的話可不可以給我 點(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=1n?(yi?(b+wxi))2

基于 梯度下降算法 估計(jì)參數(shù) wb。

提示:
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=1n?(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=1n?(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ì)值。

問題:

  1. 假設(shè)初始值 w = 0b = 0,學(xué)習(xí)率 η= 0.01,根據(jù)已采集的 4 個(gè)樣本,基于 梯度下降算法 估計(jì) wb,請(qǐng)計(jì)算 第1次第3次 迭代的結(jié)果,要求 給出計(jì)算過程每次迭代后的平均誤差 。
  • 假設(shè)初始值 w = 0b = 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
    l o s s = ( 9.61 + 24.01 + 51.84 + 79.21 ) / 8 = 20.5838 g r a d w = ( ( ? 0.0 ) + ( ? 4.9 ) + ( ? 14.4 ) + ( ? 26.7 ) ) / 4 = ? 11.5 w = 0.115 g r a d b = ( ( ? 3.1 ) + ( ? 4.9 ) + ( ? 7.2 ) + ( ? 8.9 ) ) / 4 = ? 6.025 b = 0.06025 loss = (9.61+24.01+51.84+79.21)/8 = 20.5838 // grad_w = ((-0.0)+(-4.9)+(-14.4)+(-26.7))/4 = -11.5 // w = 0.115 // grad_b = ((-3.1)+(-4.9)+(-7.2)+(-8.9))/4 = -6.025 // b = 0.06025 loss=(9.61+24.01+51.84+79.21)/8=20.5838gradw?=((?0.0)+(?4.9)+(?14.4)+(?26.7))/4=?11.5w=0.115gradb?=((?3.1)+(?4.9)+(?7.2)+(?8.9))/4=?6.025b=0.06025
  • Epoch 2
    l o s s = ( 9.2401 + 22.3233 + 47.7446 + 72.1608 ) / 8 = 18.9336 g r a d w = ( ( ? 0.0 ) + ( ? 4.7248 ) + ( ? 13.8195 ) + ( ? 25.4842 ) ) / 4 = ? 11.0071 w = 0.2251 g r a d b = ( ( ? 3.0398 ) + ( ? 4.7248 ) + ( ? 6.9098 ) + ( ? 8.4948 ) ) / 4 = ? 5.7922 b = 0.1182 loss = (9.2401+22.3233+47.7446+72.1608)/8 = 18.9336 // grad_w=((-0.0)+(-4.7248)+(-13.8195)+(-25.4842))/4 = -11.0071 // w = 0.2251 // grad_b=((-3.0398)+(-4.7248)+(-6.9098)+(-8.4948))/4 = -5.7922 // b = 0.1182 // loss=(9.2401+22.3233+47.7446+72.1608)/8=18.9336gradw?=((?0.0)+(?4.7248)+(?13.8195)

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/122203.html

相關(guān)文章

  • TensorFlow入門教程

    摘要:簡(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...

    XUI 評(píng)論0 收藏0
  • Python完成1個(gè)全連接層的神經(jīng)元網(wǎng)絡(luò)

      本文關(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等。這兒只想說僅有自己親自完成了,就是自己的。  想起今日他從接觸到了從事...

    89542767 評(píng)論0 收藏0
  • 《DeepLearning.ai 深度學(xué)習(xí)筆記》發(fā)布,黃海廣博士整理

    摘要:在這堂課中,學(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(...

    wenhai.he 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<