Tensorflow2.0中的回歸問(wèn)題怎么分析

這篇文章將為大家詳細(xì)講解有關(guān)Tensorflow2.0中的回歸問(wèn)題怎么分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、??hssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的??h網(wǎng)站制作公司

簡(jiǎn)介

在現(xiàn)實(shí)生活中,連續(xù)值預(yù)測(cè)問(wèn)題是非常常見(jiàn)的,比如股價(jià)的走勢(shì)預(yù)測(cè)、天氣預(yù)報(bào)中溫
度和濕度等的預(yù)測(cè)、年齡的預(yù)測(cè)、交通流量的預(yù)測(cè)等。對(duì)于預(yù)測(cè)值是連續(xù)的實(shí)數(shù)范圍,或
者屬于某一段連續(xù)的實(shí)數(shù)區(qū)間,我們把這種問(wèn)題稱為回歸(Regression)問(wèn)題。特別地,如果使用線性模型去逼近真實(shí)模型,那么我們把這一類方法叫做線性回歸(Linear Regression,簡(jiǎn)稱 LR)
下面舉例一個(gè)簡(jiǎn)單的線性回歸問(wèn)題

問(wèn)題

從指定的w=1.477, b=0.089的真實(shí)模型y=1.477*x+0.0889中直接采樣數(shù)據(jù)。Tensorflow2.0中的回歸問(wèn)題怎么分析

程序清單

import tensorflow as tfimport numpy as np# 1.采集數(shù)據(jù)data = []  # 保存樣本集的列表for i in range(100):  # 循環(huán)采樣100個(gè)點(diǎn)x = np.random.uniform(-10., 10.)  # 從[-10,10]的均勻分布中隨機(jī)采樣一個(gè)數(shù)eps = np.random.normal(0., 0.1)  # 從均值為0.1,方差為0.1^2的高斯分布中隨機(jī)采樣噪聲y = 1.477*x+0.089+eps  # 得到模擬的輸出data.append([x, y])  # 保存樣本點(diǎn)data = np.array(data)  # 轉(zhuǎn)換為2D Numpy數(shù)組# 2.計(jì)算誤差def mse(b, w, points):  # 根據(jù)當(dāng)前輪的w,b參數(shù),計(jì)算均方差損失totalError = 0for i in range(0, len(points)):  # 循環(huán)迭代所有點(diǎn)x = points[i, 0]  # 獲得第i個(gè)點(diǎn)的橫坐標(biāo)xy = points[i, 1]  # 獲得第i個(gè)點(diǎn)的縱坐標(biāo)ytotalError += (y-(w*x+b))**2  # 計(jì)算累計(jì)誤差return totalError/float(len(points))  # 得到均方差# 3.計(jì)算梯度def step_gradient(b_current, w_current, points, learning_rate):b_gradient = 0w_gradient = 0M = float(len(points))  # 總樣本數(shù)for i in range(0, len(points)):x = points[i, 0]y = points[i, 1]b_gradient += (2/M) * ((w_current * x + b_current) - y)  # 誤差函數(shù)對(duì)b的導(dǎo)數(shù)w_gradient += (2/M) * x * ((w_current * x + b_current) - y)  # 誤差函數(shù)對(duì)w的導(dǎo)數(shù)# 根據(jù)梯度下降法算法更新w,bnew_b = b_current - (learning_rate * b_gradient)new_w = w_current - (learning_rate * w_gradient)return [new_b, new_w]# 4.梯度更新def gradient_descent(points, starting_b, starting_w, learning_rate, epos):b = starting_b  # 初始化bw = starting_wfor step in range(epos):b, w = step_gradient(b, w, np.array(points), learning_rate)loss = mse(b, w, points)if step % 50 == 0:print('epos', step, ':loss', loss, '; w', w, '; b', b)  # 每50epos打印一遍return {
   
   
   b, w}def main():lr = 0.01init_b = 0init_w = 0epos = 10000[b, w] = gradient_descent(data, init_b, init_w, lr, epos)loss = mse(b, w, data)print('Final loss:', loss, ' w:', w, ' b:', b)return 0if __name__ == "__main__":main()

訓(xùn)練結(jié)果:
Tensorflow2.0中的回歸問(wèn)題怎么分析
從訓(xùn)練結(jié)果可以發(fā)現(xiàn),通過(guò)建立的線性模型訓(xùn)練出來(lái)的w,b已經(jīng)很接近真實(shí)模型了

關(guān)于Tensorflow2.0中的回歸問(wèn)題怎么分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)頁(yè)題目:Tensorflow2.0中的回歸問(wèn)題怎么分析
瀏覽路徑:http://bm7419.com/article12/jdeidc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站制作靜態(tài)網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)