最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python進(jìn)階TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)

 更新時(shí)間:2021年10月16日 11:58:47   作者:_睿智_  
這篇文章是python進(jìn)階學(xué)習(xí)主要介紹了TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)原理及示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助

一、擬合線性函數(shù)

學(xué)習(xí)率0.03,訓(xùn)練1000次:

學(xué)習(xí)率0.05,訓(xùn)練1000次:

學(xué)習(xí)率0.1,訓(xùn)練1000次:

可以發(fā)現(xiàn),學(xué)習(xí)率為0.05時(shí)的訓(xùn)練效果是最好的。

生成隨機(jī)坐標(biāo)

1、生成x坐標(biāo)

2、生成隨機(jī)干擾

3、計(jì)算得到y(tǒng)坐標(biāo)

4、畫點(diǎn)

# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
    global x_data, y_data
    # 生成x坐標(biāo)
    x_data = np.random.rand(100)
     # 生成隨機(jī)干擾
    noise = np.random.normal(0, 0.01, x_data.shape)
    #                       均值 標(biāo)準(zhǔn)差 輸出的形狀
     # 計(jì)算y坐標(biāo)
    y_data = 0.2 * x_data + 0.3 + noise
     # 畫點(diǎn)
    plt.scatter(x_data, y_data)

神經(jīng)網(wǎng)絡(luò)擬合

1、創(chuàng)建神經(jīng)網(wǎng)絡(luò)

2、設(shè)置優(yōu)化器與損失函數(shù)

3、訓(xùn)練(根據(jù)已有數(shù)據(jù))

4、預(yù)測(cè)(給定橫坐標(biāo),預(yù)測(cè)縱坐標(biāo))

# 創(chuàng)建神經(jīng)網(wǎng)絡(luò)(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
    # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
    model = tf.keras.Sequential()
    # 為神經(jīng)網(wǎng)絡(luò)添加層
    model.add(tf.keras.layers.Dense(units=1, input_dim=1))
#                             隱藏層 神經(jīng)元個(gè)數(shù) 輸入神經(jīng)元個(gè)數(shù)
    # 2 設(shè)置優(yōu)化器與損失函數(shù)
    model.compile(optimizer=SGD(0.05), loss='mse')
#                 優(yōu)化器     學(xué)習(xí)率0.05  損失函數(shù)
# SGD:隨機(jī)梯度下降法
# mse:均方誤差
    # 3 訓(xùn)練
    for i in range(1000):
        # 訓(xùn)練數(shù)據(jù)并返回?fù)p失
        loss = model.train_on_batch(x_data, y_data)
        # print(loss)
     # 4 預(yù)測(cè)
    y_pred = model.predict(x_data)
     # 5 顯示預(yù)測(cè)結(jié)果(擬合線)
    plt.plot(x_data, y_pred, 'r-', lw=3)    #lw:線條粗細(xì)

代碼

# 擬合線性函數(shù)
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras.optimizers import SGD 
# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
    global x_data, y_data
    # 生成x坐標(biāo)
    x_data = np.random.rand(100) 
    # 生成隨機(jī)干擾
    noise = np.random.normal(0, 0.01, x_data.shape)
    #                       均值 標(biāo)準(zhǔn)差 輸出的形狀
     # 計(jì)算y坐標(biāo)
    y_data = 0.2 * x_data + 0.3 + noise 
    # 畫點(diǎn)
    plt.scatter(x_data, y_data)
  
# 創(chuàng)建神經(jīng)網(wǎng)絡(luò)(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
    # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
    model = tf.keras.Sequential()
    # 為神經(jīng)網(wǎng)絡(luò)添加層
    model.add(tf.keras.layers.Dense(units=1, input_dim=1))
#                             隱藏層 神經(jīng)元個(gè)數(shù) 輸入神經(jīng)元個(gè)數(shù)
    # 2 設(shè)置優(yōu)化器與損失函數(shù)
    model.compile(optimizer=SGD(0.05), loss='mse')
#                 優(yōu)化器     學(xué)習(xí)率0.05  損失函數(shù)
# SGD:隨機(jī)梯度下降法
# mse:均方誤差
     # 3 訓(xùn)練
    for i in range(1000):
        # 訓(xùn)練數(shù)據(jù)并返回?fù)p失
        loss = model.train_on_batch(x_data, y_data)
        # print(loss)
     # 4 預(yù)測(cè)
    y_pred = model.predict(x_data)
 
    # 5 顯示預(yù)測(cè)結(jié)果(擬合線)
    plt.plot(x_data, y_pred, 'r-', lw=3)    #lw:線條粗細(xì) 
# 1、生成隨機(jī)點(diǎn)
Produce_Random_Data()
 
# 2、神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測(cè)
Neural_Network()
 
plt.show()

二、擬合非線性函數(shù)

第一層10個(gè)神經(jīng)元:

第一層5個(gè)神經(jīng)元:

我感覺第一層5個(gè)神經(jīng)元反而訓(xùn)練效果比10個(gè)的好。。。

生成二次隨機(jī)點(diǎn)

步驟:

1、生成x坐標(biāo)

2、生成隨機(jī)干擾

3、計(jì)算y坐標(biāo)

4、畫散點(diǎn)圖

# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
    global x_data, y_data
    # 生成x坐標(biāo)
    x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]
    #                                       增加一個(gè)維度
     # 生成噪聲
    noise = np.random.normal(0, 0.02, x_data.shape)
    #                       均值 方差 
    # 計(jì)算y坐標(biāo)
    y_data = np.square(x_data) + noise 
    # 畫散點(diǎn)圖
    plt.scatter(x_data, y_data)

神經(jīng)網(wǎng)絡(luò)擬合

步驟:

1、創(chuàng)建神經(jīng)網(wǎng)絡(luò)

2、設(shè)置優(yōu)化器及損失函數(shù)

3、訓(xùn)練(根據(jù)已有數(shù)據(jù))

4、預(yù)測(cè)(給定橫坐標(biāo),預(yù)測(cè)縱坐標(biāo))

5、畫圖

# 神經(jīng)網(wǎng)絡(luò)擬合(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
    # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
    model = tf.keras.Sequential()
    # 添加層
    # 注:input_dim(輸入神經(jīng)元個(gè)數(shù))只需要在輸入層重視設(shè)置,后面的網(wǎng)絡(luò)可以自動(dòng)推斷出該層的對(duì)應(yīng)輸入
    model.add(tf.keras.layers.Dense(units=5,  input_dim=1, activation='tanh'))
#                                   神經(jīng)元個(gè)數(shù) 輸入神經(jīng)元個(gè)數(shù) 激活函數(shù)
    model.add(tf.keras.layers.Dense(units=1, activation='tanh')) 
    # 2 設(shè)置優(yōu)化器和損失函數(shù)
    model.compile(optimizer=SGD(0.3), loss='mse')
#                 優(yōu)化器     學(xué)習(xí)率     損失函數(shù)(均方誤差) 
    # 3 訓(xùn)練
    for i in range(3000):
        # 訓(xùn)練一次數(shù)據(jù),返回loss
        loss = model.train_on_batch(x_data, y_data) 
    # 4 預(yù)測(cè)
    y_pred = model.predict(x_data) 
    # 5 畫圖
    plt.plot(x_data, y_pred, 'r-', lw=5)

代碼

# 擬合非線性函數(shù)
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras.optimizers import SGD 
# 生成隨機(jī)點(diǎn)
def Produce_Random_Data():
    global x_data, y_data
    # 生成x坐標(biāo)
    x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]
    #                                       增加一個(gè)維度 
    # 生成噪聲
    noise = np.random.normal(0, 0.02, x_data.shape)
    #                       均值 方差 
    # 計(jì)算y坐標(biāo)
    y_data = np.square(x_data) + noise 
    # 畫散點(diǎn)圖
    plt.scatter(x_data, y_data) 
# 神經(jīng)網(wǎng)絡(luò)擬合(訓(xùn)練及預(yù)測(cè))
def Neural_Network():
    # 1 創(chuàng)建神經(jīng)網(wǎng)絡(luò)
    model = tf.keras.Sequential() 
    # 添加層
    # 注:input_dim(輸入神經(jīng)元個(gè)數(shù))只需要在輸入層重視設(shè)置,后面的網(wǎng)絡(luò)可以自動(dòng)推斷出該層的對(duì)應(yīng)輸入
    model.add(tf.keras.layers.Dense(units=5, input_dim=1, activation='tanh'))
#                                   神經(jīng)元個(gè)數(shù)  輸入神經(jīng)元個(gè)數(shù) 激活函數(shù)
    model.add(tf.keras.layers.Dense(units=1, activation='tanh'))
    #                               輸出神經(jīng)元個(gè)數(shù) 
    # 2 設(shè)置優(yōu)化器和損失函數(shù)
    model.compile(optimizer=SGD(0.3), loss='mse')
#                 優(yōu)化器     學(xué)習(xí)率     損失函數(shù)(均方誤差) 
    # 3 訓(xùn)練
    for i in range(3000):
        # 訓(xùn)練一次數(shù)據(jù),返回loss
        loss = model.train_on_batch(x_data, y_data) 
    # 4 預(yù)測(cè)
    y_pred = model.predict(x_data)
    # 5 畫圖
    plt.plot(x_data, y_pred, 'r-', lw=5)
# 1、生成隨機(jī)點(diǎn)
Produce_Random_Data()
 
# 2、神經(jīng)網(wǎng)絡(luò)訓(xùn)練與預(yù)測(cè)
Neural_Network()
 
plt.show()

以上就是python進(jìn)階TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于TensorFlow神經(jīng)網(wǎng)絡(luò)擬合線性及非線性函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python獲取當(dāng)前日期和時(shí)間的方法

    python獲取當(dāng)前日期和時(shí)間的方法

    這篇文章主要介紹了python獲取當(dāng)前日期和時(shí)間的方法,涉及Python操作日期與時(shí)間的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Python系統(tǒng)公網(wǎng)私網(wǎng)流量監(jiān)控實(shí)現(xiàn)流程

    Python系統(tǒng)公網(wǎng)私網(wǎng)流量監(jiān)控實(shí)現(xiàn)流程

    這篇文章主要介紹了Python系統(tǒng)公網(wǎng)私網(wǎng)流量監(jiān)控實(shí)現(xiàn)流程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python 瀑布線指標(biāo)編寫實(shí)例

    python 瀑布線指標(biāo)編寫實(shí)例

    這篇文章主要介紹了python 瀑布線指標(biāo)編寫實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 教你使用Python寫一個(gè)簡(jiǎn)單的JSONParser

    教你使用Python寫一個(gè)簡(jiǎn)單的JSONParser

    這篇文章主要介紹了教你使用Python寫一個(gè)簡(jiǎn)單的JSONParser,它的整個(gè)效果,有點(diǎn)類似于 python 標(biāo)準(zhǔn)庫 json 的 json.load() 方法,需要的朋友可以參考下
    2023-04-04
  • python離散建模之感知器學(xué)習(xí)算法

    python離散建模之感知器學(xué)習(xí)算法

    這篇文章主要介紹了python離散建模之感知器學(xué)習(xí)算法,感知機(jī)學(xué)習(xí)算法是支持向量機(jī)的基礎(chǔ),支持向量機(jī)通過核函數(shù)進(jìn)行非線性分類,支持向量機(jī)也是感知機(jī)算法的延伸,下面就來介紹感知算法的相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • Python實(shí)現(xiàn)調(diào)用另一個(gè)路徑下py文件中的函數(shù)方法總結(jié)

    Python實(shí)現(xiàn)調(diào)用另一個(gè)路徑下py文件中的函數(shù)方法總結(jié)

    這篇文章主要介紹了Python實(shí)現(xiàn)調(diào)用另一個(gè)路徑下py文件中的函數(shù)方法,結(jié)合實(shí)例形式總結(jié)分析了Python針對(duì)不同文件夾中py文件調(diào)用操作的處理技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • 四個(gè)Python操作Excel的常用腳本分享

    四個(gè)Python操作Excel的常用腳本分享

    在數(shù)字化時(shí)代,很多人工作中經(jīng)常和excel打交道。本文和大家分享四個(gè)Python操作excel的腳本,讓你工作效率更高,需要的小伙伴可以參考一下
    2022-11-11
  • python面向?qū)ο骭詳談?lì)惖睦^承與方法的重載

    python面向?qū)ο骭詳談?lì)惖睦^承與方法的重載

    下面小編就為大家?guī)硪黄猵ython面向?qū)ο骭詳談?lì)惖睦^承與方法的重載。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • matplotlib階梯圖的實(shí)現(xiàn)(step())

    matplotlib階梯圖的實(shí)現(xiàn)(step())

    這篇文章主要介紹了matplotlib階梯圖的實(shí)現(xiàn)(step()),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python算法應(yīng)用實(shí)戰(zhàn)之隊(duì)列詳解

    Python算法應(yīng)用實(shí)戰(zhàn)之隊(duì)列詳解

    隊(duì)列是一種先進(jìn)先出(First-In-First-Out,F(xiàn)IFO)的數(shù)據(jù)結(jié)構(gòu)。隊(duì)列被用在很多地方,比如提交操作系統(tǒng)執(zhí)行的一系列進(jìn)程、打印任務(wù)池等,一些仿真系統(tǒng)用隊(duì)列來模擬銀行或雜貨店里排隊(duì)的顧客。下面就介紹了Python中隊(duì)列的應(yīng)用實(shí)戰(zhàn),需要的可以參考。
    2017-02-02

最新評(píng)論

梨树县| 崇仁县| 巴彦县| 镇沅| 鸡西市| 桦南县| 响水县| 项城市| 彰化县| 霍山县| 清苑县| 岳普湖县| 含山县| 玉环县| 清水河县| 津南区| 察隅县| 武冈市| 孝昌县| 呼和浩特市| 玉屏| 鄂尔多斯市| 苏尼特右旗| 房山区| 民勤县| 湘潭市| 屯门区| 巴南区| 开鲁县| 合江县| 陈巴尔虎旗| 呈贡县| 建始县| 临清市| 肃南| 平邑县| 鄂伦春自治旗| 和平区| 青田县| 桂林市| 平罗县|